gst/base/gstbasesrc.c: Fix wrong percentage query.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-24  Wim Taymans  <wim@fluendo.com>
2
3         * gst/base/gstbasesrc.c: (gst_base_src_query):
4         Fix wrong percentage query.
5
6         * gst/gstutils.c: (gst_util_uint64_scale),
7         (gst_util_uint64_scale_int):
8         Add some more common cases that can be handled 
9         efficiently to _scale.
10
11 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12
13         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
14         (gst_mini_object_suite):
15           don't use check calls from threads; check probably isn't
16           threadsafe and using a lock to make it threadsafe would
17           defeat the purpose of this check
18         * gst/check/gstcheck.c:
19         * gst/check/gstcheck.h:
20           use GST_DEBUG some more
21
22 2005-11-24  Wim Taymans  <wim@fluendo.com>
23
24         * gst/gstutils.c: (gst_util_uint64_scale),
25         (gst_util_uint64_scale_int):
26         Chain trivial case to _scale_int.
27
28 2005-11-24  Wim Taymans  <wim@fluendo.com>
29
30         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
31         Added test for scaling.
32
33         * gst/gstclock.h:
34         Small doc fix.
35
36         * gst/gstutils.c: (gst_util_uint64_scale_int):
37         Implemented high precision scaling code.
38
39 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
40
41         * gst/gstinfo.h:
42           do not crash on pad==NULL
43
44 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         Patch by: Stefan Kost
47
48         * common/gtk-doc.mak:
49         * docs/gst/Makefile.am:
50         * docs/libs/Makefile.am:
51           Fix distcheck issues for the libraries docs build
52           Closes #319599.
53
54 2005-11-24  Michael Smith <msmith@fluendo.com>
55
56         * docs/manual/basics-helloworld.xml:
57           Fix bug #315027: memory leak in example code in docs.
58
59 2005-11-24  Michael Smith <msmith@fluendo.com>
60
61         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
62           Unlock the PREROLL_LOCK in a failure case.
63
64 2005-11-24  Wim Taymans  <wim@fluendo.com>
65
66         * docs/gst/gstreamer-sections.txt:
67         * gst/base/gstadapter.h:
68         * gst/base/gstbasesink.h:
69         * gst/base/gstbasesrc.h:
70         * gst/base/gstbasetransform.h:
71         * gst/base/gstpushsrc.h:
72         * gst/elements/gstfakesink.h:
73         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
74         * gst/elements/gstfakesrc.h:
75         * gst/elements/gstfilesink.h:
76         * gst/elements/gstfilesrc.h:
77         * gst/gst.c:
78         * gst/gstbin.c:
79         * gst/gstbuffer.c: (_gst_buffer_copy):
80         * gst/gstbus.h:
81         * gst/gstcaps.c:
82         * gst/gstchildproxy.c:
83         * gst/gstclock.c:
84         * gst/gstelement.c:
85         * gst/gstelementfactory.c:
86         * gst/gstelementfactory.h:
87         * gst/gstevent.c:
88         * gst/gstghostpad.h:
89         * gst/gstindex.h:
90         * gst/gstinterface.h:
91         * gst/gstminiobject.c:
92         * gst/gstminiobject.h:
93         * gst/gstpad.c:
94         * gst/gstpad.h:
95         * gst/gstpadtemplate.h:
96         * gst/gstpipeline.h:
97         * gst/gstpluginfeature.h:
98         * gst/gstquery.h:
99         * gst/gstqueue.h:
100         * gst/gsttaglist.c:
101         * gst/gsttaglist.h:
102         * gst/gsttagsetter.c:
103         * gst/gsttagsetter.h:
104         * gst/gsttrace.c:
105         * gst/gsttrace.h:
106         * gst/gsttypefind.h:
107         * gst/gsturi.h:
108         * gst/gstvalue.c:
109         * gst/net/gstnetclientclock.c:
110         * gst/net/gstnetclientclock.h:
111         * gst/net/gstnettimepacket.c:
112         * gst/net/gstnettimeprovider.c:
113         * gst/net/gstnettimeprovider.h:
114         Doc fixes.
115
116 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
117
118         * configure.ac: back to HEAD
119
120 === release 0.9.6 ===
121
122 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
123
124         * configure.ac:
125           releasing 0.9.6, "Always On Time"
126
127 2005-11-23  Wim Taymans  <wim@fluendo.com>
128
129         * docs/gst/gstreamer-sections.txt:
130         * gst/glib-compat.c:
131         * gst/gsttagsetter.c:
132         * gst/gstvalue.c:
133         * gst/net/gstnetclientclock.c:
134         * gst/net/gstnettimepacket.h:
135         Doc updates.
136
137 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
138
139         * docs/faq/using.xml:
140         * docs/libs/tmpl/gstcontrol.sgml:
141         * docs/manual/advanced-dparams.xml:
142         * docs/manual/appendix-checklist.xml:
143         * docs/manual/basics-elements.xml:
144         * docs/pwg/other-source.xml:
145         * docs/random/moving-plugins:
146         * gst/gstpad.c:
147         * tools/gst-launch.1.in:
148           remove mentions of sinesrc
149
150 2005-11-23  Michael Smith <msmith@fluendo.com>
151
152         * docs/gst/gstreamer-sections.txt:
153           Update for new API and API changes.
154         * gst/gstobject.h:
155           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
156         * gst/gstvalue.c:
157           Documentation typo fix.
158         * gst/net/gstnettimepacket.c:
159           Documentation fixes for arguments.
160
161 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
162
163         * gst/gststructure.c: (gst_structure_get_fraction),
164         (gst_structure_parse_value),
165         (gst_structure_fixate_field_nearest_fraction):
166         * gst/gststructure.h:
167         * gst/gstutils.c: (gst_util_uint64_scale_int):
168         * gst/gstutils.h:
169         * scripts/update-funcnames:
170         API Changes. 
171         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
172         Make gst_structure_fixate_field_nearest_fraction take a numerator
173         and denominator argument instead of a GValue
174         add gst_structure_get_fraction helper function.
175
176 2005-11-23  Wim Taymans  <wim@fluendo.com>
177
178         * docs/design/part-TODO.txt:
179         Update TODO.
180
181         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
182         * gst/net/gstnetclientclock.h:
183         Use parent fields for timeout and window_size.
184
185 2005-11-23  Andy Wingo  <wingo@pobox.com>
186
187         * check/net/gstnetclientclock.c (test_functioning): Adjust to
188         rate_num/rate_denom change.
189
190         * gst/net/gstnetclientclock.c
191         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
192         OBJECT_LOCK. Don't call add_observation with the lock.
193
194         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
195         fraction.
196         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
197         rate fraction.
198         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
199         deal with rate as a fraction whose numerator and denominator are
200         GstClockTime values.
201         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
202         master; the other fields are protected by the SLAVE_LOCK.
203         (do_linear_regression): Note that this must be called with the
204         SLAVE_LOCK.
205         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
206         OBJECT_LOCK. Call set_calibration instead of touching the
207         variables directly.
208         (gst_clock_set_property, gst_clock_get_property): Protect
209         master/slave parameters with the SLAVE_LOCK.
210
211         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
212         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
213         note that all of the instance variables that add_observation and
214         the set_master functions use are protected by that lock and not
215         the OBJECT_LOCK.
216         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
217
218         * gst/gstclock.c (gst_clock_add_observation): No longer requires
219         the caller to take the object lock.
220
221 2005-11-23  Wim Taymans  <wim@fluendo.com>
222
223         * gst/gsterror.c: (_gst_core_errors_init):
224         * gst/gsterror.h:
225         Add error for clock stuff.
226
227         * gst/gstpipeline.c: (gst_pipeline_change_state),
228         (gst_pipeline_set_clock):
229         Post clock error when clock cannot be used in a pipeline.
230
231 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
232
233         * docs/gst/gstreamer-sections.txt:
234           make two symbols from gstinfo private for the docs
235         * gst/base/gstcollectpads.h:
236         * gst/gstutils.c:
237           fix doc typos, update docs
238
239 2005-11-22  Wim Taymans  <wim@fluendo.com>
240
241         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
242         (gst_base_sink_wait), (gst_base_sink_do_sync),
243         (gst_base_sink_handle_event):
244         * gst/base/gstbasesink.h:
245         No need to store the clock, the parent element class already
246         has it.
247
248         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
249         Updates for clock_set returning a gboolean
250
251         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
252         (gst_clock_id_wait_async), (gst_clock_class_init),
253         (gst_clock_init), (gst_clock_finalize),
254         (gst_clock_get_internal_time), (gst_clock_get_time),
255         (gst_clock_slave_callback), (gst_clock_set_master),
256         (gst_clock_get_master), (do_linear_regression),
257         (gst_clock_add_observation), (gst_clock_set_property),
258         (gst_clock_get_property):
259         * gst/gstclock.h:
260         Implement master/slave. When setting a clock as a slave, a
261         periodic timeout is scheduled to sample master and slave times.
262         Then the slave clock is recalibrated to match offset and rate
263         of the master clock.
264         Update logging a bit.
265         Add flag so that a clock can state that is cannot be slaved to
266         another clock.
267
268         * gst/gstelement.c: (gst_element_set_clock):
269         * gst/gstelement.h:
270         The set clock returns a gboolean for when an element cannot
271         deal with the selected clock in the pipeline. 
272
273         * gst/gstpipeline.c: (gst_pipeline_change_state),
274         (gst_pipeline_set_clock):
275         * gst/gstpipeline.h:
276         Handle the case where the selected clock cannot be set on
277         the pipeline.
278
279         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
280         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
281         (gst_net_client_clock_set_property),
282         (gst_net_client_clock_get_property),
283         (gst_net_client_clock_observe_times):
284         * gst/net/gstnetclientclock.h:
285         Use regression code in GstClock parent, remove duplicated
286         functionality.
287
288 2005-11-22  Michael Smith <msmith@fluendo.com>
289
290         * gst/gstutils.c: (gst_util_clock_time_scale):
291         * gst/gstutils.h:
292         * docs/gst/gstreamer-sections.txt:
293           Rename method to have extra underscore.
294
295 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
296
297         * gst/elements/Makefile.am:
298         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
299         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
300         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
301         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
302         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
303         * gst/elements/gstfakesrc.h:
304         * gst/gstqueue.c: (queue_leaky_get_type):
305           correctly fix GEnumValues so that nick is the short lowercase
306           dashed tag
307         * tools/gst-inspect.c: (print_element_properties_info):
308           also show the nick, since it's useful to use from parse_launch
309           syntax
310           Fixes #322139
311
312 2005-11-22  Michael Smith <msmith@fluendo.com>
313
314         * gst/gstutils.c: (gst_util_clocktime_scale):
315         * gst/gstutils.h:
316         * docs/gst/gstreamer-sections.txt:
317           Add util method for scaling a clocktime by a fraction. Useful 
318           implementation is left as an exercise for the reader.
319
320 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
321
322         * gst/gstvalue.c: (gst_value_collect_fraction_range):
323         If needed, allocate storage in the destination value during
324         collection.
325
326 2005-11-22  Edward Hervey  <edward@fluendo.com>
327
328         * docs/gst/gstreamer-sections.txt:
329         * gst/Makefile.am:
330         * gst/gst.h:
331         * gst/gsturitype.c:
332         * gst/gsturitype.h:
333         * gst/gstutils.c: (gst_util_set_object_arg):
334         * tools/gst-compprep.c: (main):
335         * tools/gst-inspect.c: (print_element_properties_info):
336         Removed GstURI, closes bug #321061
337
338 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
339
340         * check/gst/gststructure.c: (GST_START_TEST):
341         * gst/gststructure.c: (gst_structure_parse_value):
342           Oops, broke automatic string type parsing.
343           Add a test to catch it in future.
344
345 2005-11-22  Andy Wingo  <wingo@pobox.com>
346
347         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
348         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
349         Actually rename the function implementations. Grr.
350
351 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
352
353         * check/gst/capslist.h:
354           Comment test cases
355         * check/gst/gststructure.c: (GST_START_TEST),
356         (gst_structure_suite):
357           Test automatic value type detection in gst_structure_from_string.
358         * gst/gststructure.c: (gst_structure_parse_value):
359           Add fraction as a type we try and guess automatically in
360           caps/structure strings.
361
362 2005-11-22  Andy Wingo  <wingo@pobox.com>
363
364         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
365
366         * gst/gsttagsetter.h:
367         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
368         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
369         (gst_tag_setter_add_tag_valist)
370         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
371         _add_values, _add_valist, and _add_valist_values. Since this is an
372         interface the function suffixes should be more explicit so
373         language binding don't end up with element.add_valist ->
374         gst_tag_setter_add_valist, for example. Fixes #322069.
375
376 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
377
378         * check/gst/gstcaps.c: (GST_START_TEST):
379           Extend caps string tests to check that a caps to string
380           conversion is reversible and produces the same caps.
381
382         * gst/gststructure.c: (gst_structure_value_get_generic_type):
383           Output "fraction" as the generic type fraction range, so caps
384           serialisation and deserialisation works.
385         * check/gst/capslist.h:
386         * gst/gstvalue.c: (gst_value_deserialize_fraction):
387           Support 'MIN' and 'MAX' for deserialising fractions.
388
389 2005-11-22  Andy Wingo  <wingo@pobox.com>
390
391         * gst/gstevent.h (gst_event_new_new_segment)
392         (gst_event_parse_new_segment, gst_event_new_buffer_size)
393         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
394         Renamed from *_newsegment, *_buffersize, *_notarget.
395
396         * scripts/update-funcnames: New script, performs the changes
397         listed above.
398
399 2005-11-22  Wim Taymans  <wim@fluendo.com>
400
401         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
402         Make sure the GstFlowReturn is returned.
403
404         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
405         (gst_bus_add_signal_watch):
406         * gst/gstbus.h:
407         add gst_bus_add_signal_watch_full.
408
409         * gst/gstplugin.c: (gst_plugin_load_file):
410         Small style cleanup.
411
412 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
413
414         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
415           Block the fakesrc srcpad when we send an event, to avoid
416           contention on the stream_lock causing random test failures.
417
418 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
419
420         * check/gst/gstvalue.c: (GST_START_TEST):
421         * gst/gstvalue.c: (gst_value_fraction_subtract):
422           Fix subtraction.
423
424 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
425
426         * gst/gst.h:
427           include "gstchildproxy.h"
428         * gst/gstchildproxy.h:
429         * libs/gst/controller/gstcontroller.h:
430           use G_GNUC_NULL_TERMINATED
431
432 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
433
434         * check/gst/capslist.h:
435         * check/gst/gstcaps.c: (GST_START_TEST):
436         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
437         * gst/gststructure.c: (gst_structure_parse_range),
438         (gst_structure_fixate_field_nearest_fraction):
439         * gst/gststructure.h:
440         * gst/gstvalue.c: (gst_value_init_fraction_range),
441         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
442         (gst_value_collect_fraction_range),
443         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
444         (gst_value_set_fraction_range_full),
445         (gst_value_get_fraction_range_min),
446         (gst_value_get_fraction_range_max),
447         (gst_value_serialize_fraction_range),
448         (gst_value_transform_fraction_range_string),
449         (gst_value_compare_fraction_range),
450         (gst_value_deserialize_fraction_range),
451         (gst_value_intersect_fraction_fraction_range),
452         (gst_value_intersect_fraction_range_fraction_range),
453         (gst_value_subtract_fraction_fraction_range),
454         (gst_value_subtract_fraction_range_fraction),
455         (gst_value_subtract_fraction_range_fraction_range),
456         (gst_value_collect_fraction), (gst_value_fraction_multiply),
457         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
458         (gst_value_transform_string_fraction), (_gst_value_initialize):
459         * gst/gstvalue.h:
460           Implement fraction ranges and extend GstFraction to support
461           arithmetic subtraction, as well as deserialization from integer
462           strings such as "100"
463           Add a testsuite as for int and double range set operations
464
465 2005-11-21  Andy Wingo  <wingo@pobox.com>
466
467         * gst/gsttaglist.h: 
468         * gst/gstcaps.h: 
469         * gst/gststructure.h: Add glib-compat.h.
470
471 2005-11-21  Wim Taymans  <wim@fluendo.com>
472
473         * gst/gstbin.c: (gst_bin_change_state_func):
474         Fix for #321595
475
476 2005-11-21  Wim Taymans  <wim@fluendo.com>
477
478         * gst/gstsegment.h:
479         And add a nice define too.
480
481 2005-11-21  Wim Taymans  <wim@fluendo.com>
482
483         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
484         (gst_segment_new), (gst_segment_free), (gst_segment_init),
485         (gst_segment_set_duration), (gst_segment_set_last_stop),
486         (gst_segment_set_seek), (gst_segment_set_newsegment),
487         (gst_segment_to_stream_time), (gst_segment_to_running_time),
488         (gst_segment_clip):
489         * gst/gstsegment.h:
490         Make binding friendly.
491
492 2005-11-21  Andy Wingo  <wingo@pobox.com>
493
494         * gst/gsttagsetter.h: 
495         * gst/gsttaglist.h: 
496         * gst/gststructure.h: 
497         * gst/gstcaps.h: 
498         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
499         #319940.
500
501         * gst/gsterror.c (_gst_core_errors_init):
502         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
503         category.
504
505         * gst/Makefile.am (gst_headers): Add glib-compat.h.
506         (noinst_HEADERS): noinst the -private.
507
508 2005-11-21  Michael Smith <msmith@fluendo.com>
509
510         * gst/gstplugin.h:
511         * gst/gstregistry.h:
512           Remove unimplemented declarations for which we can see no sensible
513           use.
514
515 2005-11-21  Andy Wingo  <wingo@pobox.com>
516
517         * gst/gst.h: Include glib-compat.h.
518
519         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
520
521         * gst/glib-compat.c: Include the public and the private header.
522
523         * gst/glib-compat-private.h: Copied here from glib-compat.h.
524
525         * gst/gstvalue.c: 
526         * gst/gstpad.c: 
527         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
528
529         * check/gst/gstevent.c (create_custom_events): Check that
530         FLUSH_STOP is serialized.
531
532         * check/elements/identity.c (event_func): 
533         * check/elements/fakesrc.c (event_func): No stream lock, the core
534         takes it.
535
536         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
537         stream lock taking, yay.
538
539         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
540         ensure that core takes the stream lock.
541
542         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
543         lock name change.
544
545         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
546         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
547         it already. For the flush start we do take it though so we get the
548         right preroll state change messages.
549
550         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
551         the stream lock here, the core does it for us.
552
553         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
554         GST_STREAM_GET_LOCK.
555         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
556         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
557         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
558         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
559         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
560         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
561
562         * gst/gstpad.c: Update for stream lock name change.
563
564         * gst/base/gstbasesink.c: Update for preroll lock name change.
565
566 2005-11-21  Wim Taymans  <wim@fluendo.com>
567
568         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
569         (gst_clock_get_master):
570         * gst/gstclock.h:
571         * gst/gstsystemclock.c: (gst_system_clock_init):
572         Convert Clock flags to object flags.
573         Added methods to manage master/slave clocks.
574
575 2005-11-21  Wim Taymans  <wim@fluendo.com>
576
577         * check/gst/gstsegment.c: (GST_START_TEST):
578         * docs/design/part-TODO.txt:
579         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
580         (gst_base_sink_event), (gst_base_sink_do_sync),
581         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
582         (gst_base_sink_query), (gst_base_sink_change_state):
583         * gst/base/gstbasesink.h:
584         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
585         (gst_base_src_default_newsegment),
586         (gst_base_src_configure_segment), (gst_base_src_do_seek),
587         (gst_base_src_get_range), (gst_base_src_loop),
588         (gst_base_src_change_state):
589         * gst/base/gstbasesrc.h:
590         * gst/base/gstbasetransform.c:
591         (gst_base_transform_prepare_output_buf),
592         (gst_base_transform_event), (gst_base_transform_change_state):
593         * gst/base/gstbasetransform.h:
594         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
595         (gst_collect_pads_event):
596         * gst/base/gstcollectpads.h:
597         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
598         (gst_fake_src_create):
599         * gst/elements/gstfakesrc.h:
600         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
601         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
602         (gst_segment_set_last_stop), (gst_segment_set_seek),
603         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
604         (gst_segment_to_running_time), (gst_segment_clip):
605         * gst/gstsegment.h:
606         More segment updates, replace code in plugins with segment
607         helper functions.
608
609 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
610
611         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
612         Don't ignore sscanf results
613
614 2005-11-21  Andy Wingo  <wingo@pobox.com>
615
616         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
617
618         * *.h:
619         * *.c: Ran scripts/update-macros. Oh yes.
620
621         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
622         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
623         GST_GET_LOCK, etc.
624
625         * scripts/update-macros: New script. Run it on your files to
626         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
627         well.
628
629 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
630
631         * docs/gst/Makefile.am:
632         * docs/gst/gstreamer-docs.sgml:
633         * docs/gst/gstreamer-sections.txt:
634         * docs/gst/gstreamer.types:
635         * gst/gstinfo.h:
636           more docs fixes, add new api to the docs
637
638 2005-11-21  Andy Wingo  <wingo@pobox.com>
639
640         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
641         state_broadcast call.
642
643         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
644
645 2005-11-21  Julien MOUTTE  <julien@moutte.net>
646
647         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
648         function calls for arrays.
649
650 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
651
652         * docs/random/ensonic/media-device-daemon.txt:
653           wild idea, can this be done?
654         * docs/gst/gstreamer-sections.txt:
655         * gst/gsterror.h:
656         * gst/gstfilter.c:
657         * gst/gstfilter.h:
658         * gst/gstplugin.h:
659         * gst/gstpluginfeature.c:
660         * gst/gsttrace.c:
661         * gst/gstvalue.c:
662         * gst/gstvalue.h:
663           doc fixes and additions
664
665 2005-11-21  Andy Wingo  <wingo@pobox.com>
666
667         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
668         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
669         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
670         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
671         private to the basesrc implementation.
672
673         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
674         behalf of event function if necessary. It should no longer be
675         necessary to take the stream lock in pad's event functions. Fixes
676         #320299.
677
678 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
679         * docs/gst/gstreamer-sections.txt:
680         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
681         (gst_structure_fixate_field_nearest_double),
682         (gst_structure_fixate_field_boolean):
683         * gst/gststructure.h:
684         * win32/common/libgstreamer.def:
685         * win32/gstreamer.def:
686
687         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
688         (#322027)
689
690 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
691
692         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
693         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
694         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
695         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
696         (gst_fdsrc_uri_handler_init):
697         * gst/elements/gstfdsrc.h:
698           Port fd:// URI handler from 0.8 to fdsrc
699
700 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
701
702         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
703         (gst_value_serialize_fourcc):
704         * gst/gstvalue.h:
705           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
706           consistent with our other format defines (#320324).
707
708 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
709
710         * gst/gstvalue.c: (gst_value_is_fixed):
711           Revert previous commit. Value lists are by definition
712           not fixed, as they are a list of possible values.
713
714 2005-11-21  Andy Wingo  <wingo@pobox.com>
715
716         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
717         during the stable series if we need it. Fixes #319178.
718
719         * gst/gstevent.c (gst_event_new_filler): Removed.
720
721         * check/gst/gstevent.c: Update comment about filler events.
722
723 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
724
725         * gst/gstvalue.c: (gst_value_is_fixed):
726           Should handle both value arrays and value lists.
727
728 2005-11-21  Andy Wingo  <wingo@pobox.com>
729
730         patch by: Alessandro Dessina <alessandro nnva org>
731
732         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
733         functions to access arrays. Fixes #321962.
734
735 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
736
737         * docs/gst/gstreamer.types:
738           gst_collectpads_get_type => gst_collect_pads_get_type.
739           
740         * gst/base/gstbasetransform.c:
741           Remove unused SIGNAL_HANDOFF enum.
742
743 2005-11-21  Andy Wingo  <wingo@pobox.com>
744
745         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
746         the event type (upstream, downstream, serialized). Renamed
747         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
748         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
749         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
750
751         * gst/gstevent.c: Update for new CUSTOM event names.
752
753         * check/gst/gstevent.c: Update check for new CUSTOM event names.
754
755         * gst/gstevent.h:
756         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
757         bug #319392.
758
759 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
760
761         * docs/gst/gstreamer-sections.txt:
762         * win32/common/libgstbase.def:
763         * win32/libgstbase.def:
764         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
765         (gst_collect_pads_class_init), (gst_collect_pads_init),
766         (gst_collect_pads_finalize), (gst_collect_pads_new),
767         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
768         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
769         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
770         (gst_collect_pads_start), (gst_collect_pads_stop),
771         (gst_collect_pads_peek), (gst_collect_pads_pop),
772         (gst_collect_pads_available), (gst_collect_pads_read),
773         (gst_collect_pads_flush), (gst_collect_pads_event),
774         (gst_collect_pads_chain):
775         * gst/base/gstcollectpads.h:
776           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
777           unimplemented functions as unimplemented. Add padding to
778           GstCollectData. (#320766, #320423)
779
780 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
781
782         * gst/gstmessage.c:
783           Improve docs for DURATION message (usage of duration parameter)
784           (#320113)
785
786 2005-11-20  Wim Taymans  <wim@fluendo.com>
787
788         * check/Makefile.am:
789         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
790         (main):
791         * gst/Makefile.am:
792         * gst/gst.h:
793         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
794         (gst_segment_set_seek), (gst_segment_set_newsegment),
795         (gst_segment_to_stream_time), (gst_segment_to_running_time),
796         (gst_segment_clip):
797         * gst/gstsegment.h:
798         Added segment helper structure and methods. Not fully implemented
799         yet.
800         Added segment check.
801
802 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
803
804         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
805           Add a deserialisation test for fractions
806         * examples/metadata/read-metadata.c: (message_loop),
807         (make_pipeline), (main):
808           Fix up metadata reading sample.
809         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
810           Debug format fix
811         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
812           Don't try and fixate empty caps
813         * gst/gst_private.h:
814           Wrap in G_BEGIN_DECLS/G_END_DECLS
815         * gst/gstvalue.c: (gst_value_collect_fraction),
816         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
817         (gst_value_transform_string_fraction),
818         (gst_value_compare_fraction):
819           Add some extra guards to ensure that we don't end up 
820           with an invalid denominator of 0 in a gstfraction and
821           that fractions always get reduced.
822
823 2005-11-20  Wim Taymans  <wim@fluendo.com>
824
825         * docs/gst/gstreamer-sections.txt:
826         * gst/gstbuffer.h:
827         * gst/gstelement.c:
828         * gst/gstformat.c:
829         * gst/gstformat.h:
830         * gst/gstindex.h:
831         * gst/gstquery.c:
832         * gst/gstquery.h:
833         * gst/gstvalue.c:
834         Doc fixes.
835
836 2005-11-20  Wim Taymans  <wim@fluendo.com>
837
838         * docs/design/part-TODO.txt:
839         * gst/gstcaps.h:
840         Make a proper enum of the flag.
841
842 2005-11-19  Wim Taymans  <wim@fluendo.com>
843
844         * docs/design/part-TODO.txt:
845         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
846         (gst_format_to_quark), (gst_format_register):
847         * gst/gstformat.h:
848         * gst/gstquery.c: (_gst_query_initialize),
849         (gst_query_type_get_name), (gst_query_type_to_quark),
850         (gst_query_type_register):
851         * gst/gstquery.h:
852         Add type to quark and type to string conversions.
853
854 2005-11-19  Andy Wingo  <wingo@pobox.com>
855
856         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
857         #320097.
858
859 2005-11-19  Wim Taymans  <wim@fluendo.com>
860
861         * docs/design/part-TODO.txt:
862         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
863         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
864         (gst_bin_handle_message_func):
865         * gst/gstbin.h:
866         Make message handling overridable.
867
868 2005-11-19  Andy Wingo  <wingo@pobox.com>
869
870         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
871
872         * gst/gstclock.h:
873         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
874         be a GstClockTime.
875         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
876         is a GstClockTime. Fixes #321710.
877
878         * gst/gstclock.h (GstClock): Remove offset property. Add
879         internal_calibration and external_calibration. Fix padding. Pad
880         also by GstClockTime so we don't run into problems.
881
882         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
883         (gst_clock_get_rate_offset): Remove.
884         (gst_clock_set_time_adjust): Remove. Fixes #321712.
885
886         * gst/gstutils.h:
887         * gst/gstutils.c (g_static_rec_cond_wait)
888         (g_static_rec_cond_timed_wait): Removed, no longer needed.
889
890         * gst/gstbin.c: Remove terrible continue_state prototype.
891
892         * gst/gstelement.h (gst_element_continue_state): Make public.
893
894         * gst/gstelement.h:
895         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
896         by continue_state. Fixes #319389.
897
898         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
899         Really fixes #168438. However I don't see anywhere where the
900         filter function is called... stupid GStreamer...
901         
902         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
903         don't have a dispose function, so it won't get called when the
904         object is unreffed, but oh well!
905
906         * gst/gstindex.c (gst_index_set_filter_full): New API function,
907         allows a destroy function to be set so user_data can be freed.
908         Fixes #168438.
909         (gst_index_set_filter): Call gst_index_set_filter_full.
910
911         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
912
913         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
914         string should produce an error, given the lack of a way to
915         represent NULL strings. Fixes #165650.
916         
917         * gst/gstvalue.h: 
918         * gst/gstvalue.c (gst_value_array_append_value) 
919         (gst_value_array_prepend_value, gst_value_array_get_size) 
920         (gst_value_array_get_value): New API, copied from
921         gst_value_list_*, only operates on arrays.
922         (gst_value_list_append_value, gst_value_list_prepend_value) 
923         (gst_value_list_concat, gst_value_list_get_size) 
924         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
925
926         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
927         init_list, because it works on both.
928         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
929         (gst_value_copy_list_or_array): Renamed from copy_list.
930         (gst_value_free_list_or_array): Renamed from free_list.
931         (gst_value_collect_list_or_array): Renamed from collect_list.
932         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
933         (gst_value_list_or_array_peek_pointer): Renamed from
934         list_peek_pointer.
935         (_gst_value_array_value_table, _gst_value_list_value_table):
936         Update value table functions.
937         (gst_value_compare_list_or_array): Renamed from compare_list.
938
939         * gsttaglist.h: Whoops, foreach function returns void. Also fix
940         some constness.
941
942         * gst/gsttaglist.c:
943         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
944         GstTagList*. Fixes #143472.
945
946         * gst/gststructure.h: Clarify what the foreach/map functions can
947         or can't do to their arguments.
948
949 2005-11-18  Wim Taymans  <wim@fluendo.com>
950
951         * gst/gstclock.c: (gst_clock_set_calibration),
952         (gst_clock_get_calibration):
953         Doc and API fixes.
954         Calibration can be set with internal time equal to current
955         internal time too.
956
957 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
958
959         * gst/gsterror.c:
960         * gst/gsterror.h:
961           document
962
963 2005-11-18  Andy Wingo  <wingo@pobox.com>
964
965         * configure.ac: 
966         * pkgconfig/gstreamer-net.pc.in:
967         * pkgconfig/gstreamer-net-uninstalled.pc.in:
968         * pkgconfig/Makefile.am: Add net pkgconfig files.
969
970 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
971
972         * gst/gstcaps.c:
973         * gst/gstghostpad.c:
974         * gst/gsttrace.c:
975         * gst/gstvalue.c:
976         * gst/gstvalue.h:
977           docs fixes
978
979 2005-11-18  Andy Wingo  <wingo@pobox.com>
980
981         * gst/net/gstnetclientclock.c: Turn off debugging.
982
983         * check/net/gstnetclientclock.c (test_functioning): Assert that the
984         times connverge somewhat. Can't make a real test.
985
986         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
987         integer arithmetic. Return the minimum of the domain, which can be
988         set as "internal" for gst_clock_set_calibration.
989         (gst_net_client_clock_observe_times): Call _set_calibration.
990         (gst_net_client_clock_new): Call _set_calibration instead of
991         rate_offset.
992
993         * check/net/gstnetclientclock.c (test_functioning): Use the right
994         adjustment api.
995
996         * gst/gstclock.h:
997         * gst/gstclock.c (gst_clock_get_calibration) 
998         (gst_clock_set_calibration): New functions, obsolete the ones I
999         added yesterday. Doh. Precision issues mean we have to extrapolate
1000         from a point in the more recent past than 1970.
1001         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1002         obsolete.
1003         (gst_clock_adjust_unlocked): Use the right calibration data.
1004
1005 2005-11-18  Edward Hervey  <edward@fluendo.com>
1006
1007         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1008         Also reset the ->current_* values in READY->PAUSED
1009
1010 2005-11-18  Andy Wingo  <wingo@pobox.com>
1011
1012         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1013         Whoops, check the right fd. Also add some debugging.
1014         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1015         (do_linear_regression): Add a crapload of debugging. Subtract off
1016         the minimum values from the input series to discard unneeded bits.
1017         Use only int arithmetic. There is still double arithmetic when
1018         calculating the intercept that needs fixing. Return boolean to
1019         indicate success; FALSE would mean the domain or range is too
1020         great. Still needs fixes.
1021
1022 2005-11-18  Wim Taymans  <wim@fluendo.com>
1023
1024         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1025         For the current position in stream time, we need to subtract
1026         accumulated time.
1027         
1028         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1029         Release lock before calling the callback function of async
1030         entries.
1031
1032 2005-11-18  Andy Wingo  <wingo@pobox.com>
1033
1034         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1035         Port goes all the way to MAXUINT16.
1036
1037         * gst/net/gstnettimeprovider.c: Make the port range the same as
1038         for the kernel: 0 assigns, otherwise ports are less than
1039         MAXUINT16.
1040
1041         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1042         port change.
1043
1044         * check/net/gstnetclientclock.c (test_functioning): Add the start
1045         of another test. 
1046
1047 2005-11-18  Wim Taymans  <wim@fluendo.com>
1048
1049         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1050         (gst_bin_remove_func), (bin_bus_handler):
1051         * gst/gstbin.h:
1052         Removing a clock provider from a bin, triggers a clock lost message
1053         so that a new clock will be selected.
1054         Adding a clock to a bin triggers a clock provider message.
1055         Make sure we reselect a clock when we received a clock lost message.
1056         Keep a reference to the element that provided the clock.
1057
1058 2005-11-18  Andy Wingo  <wingo@pobox.com>
1059
1060         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1061         the clock initially so it produces values around the base time.
1062         (gst_net_client_clock_class_init): Typo fix.
1063         (gst_net_client_clock_thread): Add note on when the socket gets
1064         closed.
1065
1066 2005-11-17  Wim Taymans  <wim@fluendo.com>
1067
1068         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1069         Free remote and local time arrays.
1070
1071 2005-11-17  Wim Taymans  <wim@fluendo.com>
1072
1073         * gst/net/gstnetclientclock.c: (do_linear_regression),
1074         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1075         Fix compilation, uninitialized vars and a forgotten continue.
1076
1077 2005-11-17  Andy Wingo  <wingo@pobox.com>
1078
1079         * check/Makefile.am (check_PROGRAMS): 
1080         * check/net/gstnetclientclock.c: Add a most minimal test for the
1081         net client clock. More to come later.
1082
1083         * gst/net/gstnet.h: 
1084         * gst/net/Makefile.am: Add netclientclock.
1085
1086         * gst/net/gstnetclientclock.h:
1087         * gst/net/gstnetclientclock.c: New files, implement an untested
1088         GstClock that takes its time from a network time provider.
1089         Implements the algorithm in network-clock.scm.
1090
1091         * tests/network-clock.scm (*window-size*): Rename from
1092         *queue-length*.
1093         * tests/network-clock.scm (network-time): 
1094         * tests/network-clock-utils.scm (q-push): Update callers.
1095
1096 2005-11-17  Wim Taymans  <wim@fluendo.com>
1097
1098         * gst/gstbin.c: (gst_bin_provide_clock_func),
1099         (gst_bin_sort_iterator_new):
1100         And unref the child too..
1101
1102 2005-11-17  Wim Taymans  <wim@fluendo.com>
1103
1104         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1105         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1106         Refactor the sort iterator so it can be used while holding the
1107         LOCK too.
1108         Make clock selection select a clock closest to the source.
1109
1110 2005-11-17  Michael Smith <msmith@fluendo.com>
1111
1112         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1113         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1114         * gst/gstclock.h:
1115           Anonymous structs are a gcc (and some other compilers) extension, so
1116           don't use them. Since this is only for ABI-compatibility, and our
1117           API/ABI freeze is over in a few days, this whole thing will only
1118           last a few days, so don't bother trying to think up a meaningful
1119           name for the struct.
1120
1121 2005-11-17  Andy Wingo  <wingo@pobox.com>
1122
1123         * gst/gstclock.h (GstClock): Add rate and offset properties,
1124         preserving ABI stability. Add rate/offset accessors. Will file bug
1125         for the freeze break.
1126
1127         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1128         and offset, trying to keep precision and avoiding
1129         underflow/overflow.
1130         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1131         functions. Make gst_clock_set_time_adjust obsolete.
1132         (gst_clock_set_time_adjust): Note that this function is obsolete.
1133         Will file bug soon.
1134
1135         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1136         greppable by using GST_PADDING-1+1.
1137
1138 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1139
1140         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1141
1142         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1143           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1144
1145         * gst/gstpadtemplate.h:
1146         * gst/gstpluginfeature.h:
1147           Don't use c++ style comments in headers (#321638).
1148
1149 2005-11-16  Andy Wingo  <wingo@pobox.com>
1150
1151         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1152         buffer.
1153
1154         * check/net/gstnettimeprovider.c: Check to see that the time
1155         provider actually provides times. Works, yo!
1156
1157 2005-11-16  Wim Taymans  <wim@fluendo.com>
1158
1159         * check/Makefile.am:
1160         Enable more tests.
1161
1162         * check/elements/fakesrc.c: (GST_START_TEST):
1163         Set element to NULL before disposing it.
1164
1165 2005-11-16  Andy Wingo  <wingo@pobox.com>
1166
1167         * gst/net/Makefile.am:
1168         * gst/net/gstnet.h:
1169         * gst/net/gstnettimeprovider.c: 
1170         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1171         provider, include it from gstnet.h, and add it to the build.
1172
1173         * gst/net/gstnettimepacket.h: 
1174         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1175         sending and receiving.
1176
1177 2005-11-16  Wim Taymans  <wim@fluendo.com>
1178
1179         * check/Makefile.am:
1180         Enable valgrind check.
1181
1182         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1183         (gst_fake_src_alloc_buffer):
1184         Fix memleak.
1185
1186 2005-11-16  Wim Taymans  <wim@fluendo.com>
1187
1188         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1189         Call parent finalize too.
1190
1191 2005-11-16  Wim Taymans  <wim@fluendo.com>
1192
1193         * check/Makefile.am:
1194         Enable valgrind check that should work fine now.
1195
1196         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1197         * gst/gstqueue.c: (gst_queue_init):
1198         Fix memleaks in pad allocation.
1199
1200 2005-11-16  Andy Wingo  <wingo@pobox.com>
1201
1202         * gst/net/Makefile.am:
1203         * gst/net/gstnet.h: New part of core to hold network elements and
1204         objects. Put in core because it exposes API that applications want
1205         to use. The library is named libgstnet-tempname right now because
1206         of the existing libgstnet in gst-plugins-base. Solution is
1207         probably to rename the one in plugins-base; will file a bug for
1208         the freeze break.
1209
1210         * gst/net/gstnettimeprovider.c: 
1211         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1212         get_time call over the network.
1213
1214         * configure.ac: 
1215         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1216
1217         * check/Makefile.am:
1218         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1219         get additions shortly.
1220
1221 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1222
1223         * gst/gstpad.c: (gst_pad_new_from_static_template):
1224         * gst/gstpad.h:
1225           add gst_pad_new_from_static_template functions
1226         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1227         (gst_check_setup_sink_pad):
1228         * gst/elements/gsttee.c: (gst_tee_init):
1229           and use them
1230
1231 2005-11-16  Wim Taymans  <wim@fluendo.com>
1232
1233         * gst/gstpad.c: (gst_pad_pause_task):
1234         Removed warning, it's not really an error either.
1235
1236 2005-11-16  Wim Taymans  <wim@fluendo.com>
1237
1238         * gst/base/gstbasetransform.c:
1239         (gst_base_transform_prepare_output_buf),
1240         (gst_base_transform_event):
1241         Check if the caps are NULL, this can happen if the element
1242         is shutting down and the pad caps are set to NULL.
1243
1244 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * gst/elements/gsttee.c: (gst_tee_init):
1247           fix pad template leak in tee
1248
1249 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1250
1251         * gst/glib-compat.c: (g_value_dup_gst_object):
1252         * gst/glib-compat.h:
1253         * gst/gstpad.c: (gst_pad_set_property):
1254           use gst_object_ref when setting the pad template; this will
1255           trigger the pad template leaks on GLib 2.6 and the slaves
1256
1257 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1258
1259         * gst/glib-compat.c: (gst_flags_get_first_value):
1260         * gst/glib-compat.h:
1261         * gst/gstregistryxml.c:
1262           remove functions copied from GLib 2.6
1263
1264 2005-11-16  Michael Smith <msmith@fluendo.com>
1265
1266         * gst/Makefile.am:
1267           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1268           do, but only breaks with newer valgrind versions. We're not a
1269           valgrind tool, we have no link-time dependencies on libcoregrind.
1270
1271 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1272
1273         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1274           some debug changes
1275         * gst/gstmessage.h:
1276           typo fixes
1277
1278 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1279
1280         * gst/base/gstbasesrc.c: (gst_base_src_init):
1281         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1282         * gst/gstqueue.c: (gst_queue_init):
1283         * gst/gstregistryxml.c: (load_feature):
1284           Revert all these unrefs, they don't even pass make check !
1285
1286 2005-11-15  Johan Dahlin  <johan@gnome.org>
1287
1288         * gst/base/gstbasesrc.c: (gst_base_src_init):
1289         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1290         * gst/gstqueue.c: (gst_queue_init): 
1291         Free pad templates, fixes a couple of leaks.
1292
1293 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1294
1295         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1296
1297         * gst/gstpad.c: (gst_pad_get_property):
1298           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1299           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1300           (#321452)
1301
1302 2005-11-15  Wim Taymans  <wim@fluendo.com>
1303
1304         * gst/gstevent.c:
1305         Small doc update.
1306
1307 2005-11-15  Andy Wingo  <wingo@pobox.com>
1308
1309         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1310
1311         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1312         using GST_CLOCK_TIME_NONE to disable base time management.
1313         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1314         time if it was NONE before.
1315         (gst_pipeline_change_state): Only munge the base time if
1316         stream_time != GST_CLOCK_TIME_NONE.
1317
1318         * check/gst/gstpipeline.c (test_base_time): Punt around the
1319         problem of the probe not being called, because that's not the
1320         issue I'm looking at. Add a check that setting stream_time to NONE
1321         disables base time management.
1322         
1323 2005-11-15  Wim Taymans  <wim@fluendo.com>
1324
1325         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1326         segment_stop == -1 at startup.
1327
1328         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1329         (gst_base_transform_change_state):
1330         Init segment values at start.
1331
1332 2005-11-15  Wim Taymans  <wim@fluendo.com>
1333
1334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1335         0 segment values are 0 in any format.
1336
1337         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1338         * gst/base/gstbasetransform.h:
1339         Parse newsegment correctly in basetransform
1340
1341         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1342         Sync to clock using updated segment values.
1343
1344 2005-11-15  Andy Wingo  <wingo@pobox.com>
1345
1346         * check/gst/gstpipeline.c (test_base_time): Add check that the
1347         base time and stream time are reset correctly.
1348
1349 2005-11-15  Wim Taymans  <wim@fluendo.com>
1350
1351         * docs/design/part-TODO.txt:
1352         Some more TODO items.
1353
1354 2005-11-15  Andy Wingo  <wingo@pobox.com>
1355
1356         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1357         error if the user selected "no clock" as the clocking method.
1358
1359         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1360         timestamps with live capture.
1361
1362         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1363         is 0 but we are a live source, timestamp the buffers using the
1364         element's clock.
1365
1366 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1367
1368         * docs/gst/gstreamer-sections.txt:
1369         * gst/gsterror.c:
1370         * gst/gstghostpad.c:
1371         * gst/gstobject.h:
1372         * gst/gstxml.c:
1373           more section docs
1374
1375 2005-11-14  Wim Taymans  <wim@fluendo.com>
1376
1377         * common/gst.supp:
1378           add suppressions from Wim's Debian machine
1379
1380 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1381
1382         * common/gst.supp:
1383           add suppressions from Andy's AMD64 Ubuntu machine
1384
1385 2005-11-14  Andy Wingo  <wingo@pobox.com>
1386
1387         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1388         STATE_LOCK not necessary. Fixes #311489.
1389
1390         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1391         #305291.
1392
1393         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1394         this function is not implemented.
1395
1396 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1397
1398         * gst/base/gstbasetransform.c:
1399         (gst_base_transform_prepare_output_buf):
1400         Ref the source pad caps while we need them.
1401         Fixes (#321386)
1402
1403 2005-11-11  Wim Taymans  <wim@fluendo.com>
1404
1405         * docs/gst/gstreamer-sections.txt:
1406         Added some docs for GstCollectData.
1407
1408         * gst/base/gstadapter.c:
1409         Some small code example fix.
1410
1411         * gst/base/gstcollectpads.c:
1412         * gst/base/gstcollectpads.h:
1413         Document some more.
1414
1415 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * configure.ac: back to HEAD
1418
1419 === release 0.9.5 ===
1420
1421 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1422
1423         * configure.ac:
1424           releasing 0.9.5, "Bike Lunch Day"
1425
1426 2005-11-11  Wim Taymans  <wim@fluendo.com>
1427
1428         * gst/gstbuffer.c: (_gst_buffer_copy):
1429         Copy more flags.
1430
1431         * gst/gstcaps.c: (gst_caps_is_equal):
1432         Fix some docs.
1433         Make _is_equal fast in the trivial cases.
1434
1435         * gst/gstminiobject.c:
1436         * gst/gstminiobject.h:
1437         More docs. Spifify .h file.
1438
1439         * gst/gstutils.c:
1440         Small doc update.
1441
1442 2005-11-11  Wim Taymans  <wim@fluendo.com>
1443
1444         * gst/base/gstbasetransform.c:
1445         (gst_base_transform_prepare_output_buf),
1446         (gst_base_transform_handle_buffer):
1447         Small cleanups.
1448         If we're processing a buffer and need to allocate an output
1449         buffer, we cannot accept a format change. If we did get a 
1450         format change, we have to alloc a buffer ourselves of the 
1451         right size.
1452
1453 2005-11-11  Wim Taymans  <wim@fluendo.com>
1454
1455         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1456         While checking the flag for reentrancy in the gstcaps function
1457         is nice to detect recursive invocations, it also makes it 
1458         impossible to call getcaps from multiple threads, which must be
1459         possible. So, checking for recursive calls has to go.
1460
1461 2005-11-11  Michael Smith <msmith@fluendo.com>
1462
1463         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1464           Don't sync on buffers that fall partially outside our current
1465           segment. Prevents an assertion failure/abort playing some files.
1466
1467 2005-11-10  Andy Wingo  <wingo@pobox.com>
1468
1469         * check/gst/gstbin.c (test_message_state_changed_children): Style
1470         fix..
1471
1472         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1473         gst_bus_poll with the signal watch. Ensures that poll and a signal
1474         watch see the same messages.
1475
1476         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1477         a poll and a watch at the same time get the same messages.
1478
1479 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1480
1481         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1482         * gst/gstcaps.c: (gst_caps_intersect):
1483           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1484           and it's not needed.
1485
1486 2005-11-10  Wim Taymans  <wim@fluendo.com>
1487
1488         * docs/design/part-TODO.txt:
1489         Updated todo.
1490
1491 2005-11-10  Wim Taymans  <wim@fluendo.com>
1492
1493         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1494         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1495         (gst_base_src_do_sync), (gst_base_src_get_range):
1496         Implement clock sync in base class.
1497
1498 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1499
1500         patch by: Tim-Philipp Müller <tim at centricular dot net>
1501
1502         * gst/gststructure.c: (gst_structure_parse_field),
1503         (gst_structure_from_string):
1504           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1505           so that gst_parse_launch() can deal with spaces in filtered link
1506           caps (fixes #164479)
1507         * check/gst/capslist.h:
1508         * check/gst/gststructure.c: (GST_START_TEST):
1509           add unit tests for this change
1510
1511 2005-11-10  Wim Taymans  <wim@fluendo.com>
1512
1513         * docs/gst/gstreamer-sections.txt:
1514         * gst/gstelement.c:
1515         * gst/gstelement.h:
1516         Fix docs, move some STATE macros to private.
1517
1518 2005-11-10  Wim Taymans  <wim@fluendo.com>
1519
1520         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1521         Added check for bug #317341
1522
1523         * gst/gstbuffer.c:
1524         * gst/gstbuffer.h:
1525         Some more spiffifying.
1526
1527         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1528         Call peer linkfunction if we are a source pad. Totally fixes
1529         #317341
1530
1531         * gst/gstpad.c:
1532         Update docs, source pads should call the peer linkfunction
1533         so they can atomically perform the pad link.
1534
1535 2005-11-09  Wim Taymans  <wim@fluendo.com>
1536
1537         * gst/gstbuffer.c:
1538         * gst/gstbuffer.h:
1539         Uber-spiffy-spiffify some more.
1540
1541 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1542
1543         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1544         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1545         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1546         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1547         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1548         * gst/gstpad.c: (gst_pad_init):
1549           Use GST_DEBUG_FUNCPTR() more extensively.
1550
1551 2005-11-09  Wim Taymans  <wim@fluendo.com>
1552
1553         * gst/gstobject.c: (gst_object_class_init):
1554         * gst/gstobject.h:
1555         Documentation fixes.
1556
1557 2005-11-09  Edward Hervey  <edward@fluendo.com>
1558
1559         * gst/gsttypefindfactory.c:
1560         Fix docs.
1561         
1562 2005-11-09  Edward Hervey  <edward@fluendo.com>
1563
1564         * gst/base/gsttypefindhelper.c:
1565         * gst/gsttypefind.c:
1566         * gst/gsttypefind.h:
1567         Fix docs.
1568
1569 2005-11-09  Wim Taymans  <wim@fluendo.com>
1570
1571         * gst/gstiterator.c:
1572         Fix revision data.
1573
1574         * gst/gsttask.c:
1575         * gst/gsttask.h:
1576         Fix docs.
1577
1578 2005-11-09  Wim Taymans  <wim@fluendo.com>
1579
1580         * gst/gstevent.h:
1581         * gst/gsturi.h:
1582         Fix docs.
1583
1584 2005-11-09  Wim Taymans  <wim@fluendo.com>
1585
1586         * docs/gst/gstreamer-sections.txt:
1587         Moved the message async delivery private lock and cond
1588         to the private section.
1589
1590         * gst/gstmessage.c:
1591         * gst/gstmessage.h:
1592         Fixed docs.
1593
1594 2005-11-09  Edward Hervey  <edward@fluendo.com>
1595
1596         * docs/gst/gstreamer-sections.txt:
1597         * gst/gsturi.c:
1598         * gst/gsturi.h:
1599         Document GstURIHandler
1600
1601 2005-11-09  Wim Taymans  <wim@fluendo.com>
1602
1603         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1604         (gst_iterator_find_custom):
1605         * gst/gstiterator.h:
1606         Fix iterator docs.
1607
1608 2005-11-09  Wim Taymans  <wim@fluendo.com>
1609
1610         * gst/gstbin.h:
1611         Document another field.
1612
1613         * gst/gststructure.c:
1614         * gst/gststructure.h:
1615         Document.
1616
1617 2005-11-09  Wim Taymans  <wim@fluendo.com>
1618
1619         * gst/gstbin.h:
1620         Documented structs.
1621
1622 2005-11-09  Wim Taymans  <wim@fluendo.com>
1623
1624         * docs/gst/gstreamer-sections.txt:
1625         Added some new macros.
1626
1627         * gst/gstclock.c:
1628         * gst/gstclock.h:
1629         * gst/gstobject.h:
1630         Docs updates.
1631
1632 2005-11-09  Wim Taymans  <wim@fluendo.com>
1633
1634         * docs/design/part-TODO.txt:
1635         Some more items for the TODO
1636
1637         * gst/gstcaps.c:
1638         * gst/gstcaps.h:
1639         Document GstCaps.
1640
1641 2005-11-09  Andy Wingo  <wingo@pobox.com>
1642
1643         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1644         to work on something else now tho...
1645
1646         * gst/base/gstadapter.c: More adapter docs.
1647
1648         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1649         (gst_file_sink_stop): New functions, replace the state change
1650         handler.
1651         (gst_file_sink_class_init): Hook up the start and stop functions.
1652         (gst_file_sink_base_init): Don't set the state change handler any
1653         more. It was a bit ugly too, being set from here...
1654         (gst_file_sink_get_property, gst_file_sink_set_property):
1655         Cleanups...
1656         (gst_file_sink_set_location): More robust check that doesn't call
1657         GST_STATE. Ugggggg.
1658
1659 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1660
1661         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1662           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1663
1664 2005-11-08  Wim Taymans  <wim@fluendo.com>
1665
1666         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1667         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1668         (gst_base_sink_chain), (gst_base_sink_change_state):
1669         * gst/base/gstbasesink.h:
1670         * gst/base/gstbasesrc.h:
1671         * gst/gstelement.h:
1672         * gst/gstevent.h:
1673         Avoid excessive typechecking in macros.
1674
1675         * gst/gstminiobject.c: (gst_mini_object_get_type),
1676         (gst_mini_object_init), (gst_mini_object_new),
1677         (gst_mini_object_free):
1678         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1679         (gst_object_finalize):
1680         Remove cruft code, optimize alloc_trace.
1681
1682 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1683
1684         * docs/faq/gst-uninstalled:
1685           fix up PS1 for systems that try to reset it
1686
1687 2005-11-07  Wim Taymans  <wim@fluendo.com>
1688
1689         * gst/base/gstbasesrc.c: (gst_base_src_init),
1690         (gst_base_src_get_range):
1691         Set the segment_end to -1 initially. Fixed typefind.
1692
1693 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1694
1695         * gst/base/gstadapter.c:
1696           Debug category should be 'adapter', not 'GstAdapter'.
1697           
1698         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1699         (gst_collectpads_class_init), (gst_collectpads_init),
1700         (gst_collectpads_peek), (gst_collectpads_pop),
1701         (gst_collectpads_event), (gst_collectpads_chain):
1702           Add debug category and some debugging output. Use boilerplate
1703           macros. Remove some extraneous words from docs.
1704
1705 2005-11-05  Andy Wingo  <wingo@pobox.com>
1706
1707         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1708         macro.
1709
1710 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1711
1712         * docs/gst/gstreamer-sections.txt:
1713         * gst/gstcaps.h:
1714         * gst/gstinfo.c:
1715         * gst/gstminiobject.h:
1716         * gst/gstobject.h:
1717         * gst/gstutils.h:
1718           more docs added
1719
1720 2005-11-04  Wim Taymans  <wim@fluendo.com>
1721
1722         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1723         Small update to stop at the configured segment_end
1724         position.
1725
1726 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1727
1728         * gst/gstregistry.c:
1729         * gst/gstregistry.h:
1730           added missing docs
1731
1732 2005-11-04  Edward Hervey  <edward@fluendo.com>
1733
1734         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1735         Check if we are doing a segment seek and have arrived at the
1736         end of that segment.
1737
1738 2005-11-04  Wim Taymans  <wim@fluendo.com>
1739
1740         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1741         Don't leak a mutex unlock in case of an error.
1742
1743         * gst/gstbus.h:
1744         Doc fixes.
1745
1746 2005-11-04  Wim Taymans  <wim@fluendo.com>
1747
1748         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1749         (gst_bus_post):
1750         Get the context to wake up only once.
1751
1752 2005-11-03  Wim Taymans  <wim@fluendo.com>
1753
1754         * check/states/sinks.c: (GST_START_TEST):
1755         Uncomment fixed check.
1756
1757         * docs/design/part-TODO.txt:
1758         Updated TODO.
1759
1760         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1761         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1762         (gst_base_sink_get_position):
1763         If we are going to PLAYING, post the right pending state
1764         when we post the intermediate paused message.
1765
1766         * gst/gstelement.c: (gst_element_continue_state),
1767         (gst_element_set_state_func), (gst_element_change_state):
1768         Don't post state changes that were between the same state
1769         and were not ASYNC.
1770
1771 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1772
1773         * docs/gst/gstreamer-sections.txt:
1774         * gst/gstcaps.h:
1775         * gst/gstinfo.c:
1776         * gst/gstminiobject.h:
1777         * gst/gstobject.h:
1778         * gst/gstutils.h:
1779           more docs and doc style fixes
1780
1781 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1782
1783         * docs/gst/gstreamer-sections.txt:
1784         * gst/gstelement.c:
1785         * gst/gstminiobject.c:
1786         doc fixes
1787
1788 2005-11-03  Andy Wingo  <wingo@pobox.com>
1789
1790         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1791         state-changed messages actually have the right order and the right
1792         values.
1793
1794 2005-11-03  Wim Taymans  <wim@fluendo.com>
1795
1796         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1797         Added some more checks. Specifically the case where NO_PREROLL
1798         elements are in the pipeline.
1799
1800         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1801         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1802         (gst_base_sink_get_position):
1803         Post READY->PAUSED state change messages too.
1804         Fix bug where VOID was posted as pending state...
1805
1806         * gst/gstbin.c: (gst_bin_recalc_state):
1807         use _element_continue_state() to continue the state change.
1808
1809         * gst/gstelement.c: (gst_element_continue_state),
1810         (gst_element_commit_state), (gst_element_set_state_func),
1811         (gst_element_change_state), (gst_element_change_state_func):
1812         Lots of state change cleanups, assign the STATE_RETURN in
1813         a new continue_state() function that also propagates the
1814         last return value from a state change to the app.
1815         Update some debug statements with proper category.
1816
1817 2005-11-03  Wim Taymans  <wim@fluendo.com>
1818
1819         * docs/design/part-events.txt:
1820         * docs/design/part-gstpipeline.txt:
1821         * docs/design/part-messages.txt:
1822         * docs/design/part-overview.txt:
1823         * docs/design/part-seeking.txt:
1824         * docs/design/part-states.txt:
1825         * docs/design/part-trickmodes.txt:
1826         * docs/manual/advanced-position.xml:
1827         Small docs updates.
1828
1829         * gst/gstobject.h:
1830         People think !! is ugly, this looks better.
1831
1832         * gst/gstpad.c: (gst_pad_set_blocked_async):
1833         Remove !! since it's fixed elsewhere now.
1834
1835 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1836
1837         * gst/gstminiobject.h:
1838         * gst/gstobject.h:
1839           Add !! to _FLAG_IS_SET macros to make the result boolean.
1840
1841 2005-11-03  Edward Hervey  <edward@fluendo.com>
1842
1843         * gst/gstpad.c: (gst_pad_set_blocked_async):
1844         comparing a flag and a gboolean rarely returns coherent results...
1845         Added two characters (!!) to make that work correctly.
1846         
1847 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1848
1849         * gst/gstbus.c: (gst_bus_class_init):
1850           Fix some typos.
1851           
1852         * gst/gstqueue.c: (gst_queue_loop):
1853           Don't assume a miniobject that isn't a buffer is an
1854           event (it could be that there is a refcounting
1855           problem somewhere and the pointer is stale and
1856           refers to an already destroyed miniobject).
1857
1858 2005-11-03  Julien MOUTTE  <julien@moutte.net>
1859
1860         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1861
1862 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1863
1864         * docs/manual/advanced-position.xml:
1865           Update seek example and explanations to current 0.9 API.
1866
1867         * gst/elements/gsttypefindelement.c:
1868         (gst_type_find_element_activate):
1869           Remove FIXME comment now that the found caps
1870           are unreffed.
1871
1872 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1873
1874         * gst/gstregistryxml.c: (load_feature):
1875           Add another GST_STR_NULL instance
1876
1877 2005-11-02  Edward Hervey  <edward@fluendo.com>
1878
1879         * gst/gstpad.c: (handle_pad_block):
1880         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
1881         
1882 2005-11-02  Wim Taymans  <wim@fluendo.com>
1883
1884         * gst/gstbin.c:
1885         Fix typo in docs.
1886
1887         * gst/gstelement.c: (gst_element_commit_state):
1888         Remove unused value.
1889
1890         * gst/gstiterator.c:
1891         Mention that the returned element is reffed in the docs.
1892
1893 2005-11-02  Wim Taymans  <wim@fluendo.com>
1894
1895         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
1896         (gst_pad_push), (gst_pad_push_event):
1897         Unlock blocked pads when they are flushed.
1898
1899 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1900
1901         * docs/README:
1902         * docs/gst/gstreamer-sections.txt:
1903         * gst/gstbin.c:
1904           doc updates
1905         * gst/gstregistry.c: (gst_registry_scan_path_level):
1906           fix for a nasty little missed situation where an installed plug-in
1907           which was in the cache did not get overridden by an uninstalled one
1908           which was earlier in the plugin path because the newly created plugin
1909           for the uninstalled one (not in the registry) didn't get its
1910           ->registered set to TRUE
1911
1912 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1913
1914         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
1915         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
1916         (gst_collectpads_is_active), (gst_collectpads_collect),
1917         (gst_collectpads_collect_range), (gst_collectpads_start),
1918         (gst_collectpads_stop), (gst_collectpads_peek),
1919         (gst_collectpads_pop), (gst_collectpads_available),
1920         (gst_collectpads_read), (gst_collectpads_flush):
1921           Guard public API with assertions.
1922         
1923         * gst/gstpad.c:
1924           Fix docs for gst_pad_set_link_function().
1925
1926 2005-11-02  Johan Dahlin  <johan@gnome.org>
1927
1928         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
1929         Unref found_caps after we used it.
1930
1931 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1932
1933         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
1934           Don't try to ref NULL.
1935
1936 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1937
1938         * win32/common/config.h.in:
1939           provide a GST_FUNCTION that just gives a string for now
1940
1941 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1942
1943         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1944         (gst_object_flags_get_type), (register_gst_bin_flags),
1945         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1946         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1947         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1948         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
1949         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1950         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1951         (gst_clock_flags_get_type), (register_gst_state),
1952         (gst_state_get_type), (register_gst_state_change_return),
1953         (gst_state_change_return_get_type), (register_gst_state_change),
1954         (gst_state_change_get_type), (register_gst_element_flags),
1955         (gst_element_flags_get_type), (register_gst_core_error),
1956         (gst_core_error_get_type), (register_gst_library_error),
1957         (gst_library_error_get_type), (register_gst_resource_error),
1958         (gst_resource_error_get_type), (register_gst_stream_error),
1959         (gst_stream_error_get_type), (register_gst_event_type),
1960         (gst_event_type_get_type), (register_gst_seek_type),
1961         (gst_seek_type_get_type), (register_gst_seek_flags),
1962         (gst_seek_flags_get_type), (register_gst_format),
1963         (gst_format_get_type), (register_gst_index_certainty),
1964         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1965         (gst_index_entry_type_get_type),
1966         (register_gst_index_lookup_method),
1967         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1968         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1969         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1970         (gst_index_flags_get_type), (register_gst_debug_level),
1971         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1972         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1973         (gst_iterator_result_get_type), (register_gst_iterator_item),
1974         (gst_iterator_item_get_type), (register_gst_message_type),
1975         (gst_message_type_get_type), (register_gst_mini_object_flags),
1976         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1977         (gst_pad_link_return_get_type), (register_gst_flow_return),
1978         (gst_flow_return_get_type), (register_gst_activate_mode),
1979         (gst_activate_mode_get_type), (register_gst_pad_direction),
1980         (gst_pad_direction_get_type), (register_gst_pad_flags),
1981         (gst_pad_flags_get_type), (register_gst_pad_presence),
1982         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1983         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1984         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1985         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1986         (gst_plugin_flags_get_type), (register_gst_rank),
1987         (gst_rank_get_type), (register_gst_query_type),
1988         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1989         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1990         (gst_tag_flag_get_type), (register_gst_task_state),
1991         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1992         (gst_alloc_trace_flags_get_type),
1993         (register_gst_type_find_probability),
1994         (gst_type_find_probability_get_type), (register_gst_uri_type),
1995         (gst_uri_type_get_type), (register_gst_parse_error),
1996         (gst_parse_error_get_type):
1997         * win32/common/gstversion.h:
1998           update win32 copies
1999
2000 2005-11-01  Luca Ognibene  <luogni@tin.it>
2001
2002         * gst/gst.c:
2003           fix docs. popt is dead, long live GOption.
2004
2005 2005-10-31  Wim Taymans  <wim@fluendo.com>
2006
2007         * gst/gstbuffer.h:
2008         Small doc fix.
2009
2010 2005-10-31  Andy Wingo  <wingo@pobox.com>
2011
2012         * Boo!
2013
2014         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2015
2016         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2017         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2018         the possibility of deadlocks here if code calling notify() or
2019         set() has a lock that can be taken in another notify handler (ABBA
2020         with class lock and e.g. python GIL state lock).
2021
2022 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2023
2024         * gst/gstbus.c: Doc updates.
2025
2026 2005-10-28  Wim Taymans  <wim@fluendo.com>
2027
2028         * docs/design/part-TODO.txt:
2029         * gst/gstiterator.c:
2030         * gst/gstsystemclock.c:
2031         * gst/gstsystemclock.h:
2032         Doc updates.
2033
2034 2005-10-28  Edward Hervey  <edward@fluendo.com>
2035
2036         * docs/gst/gstreamer-docs.sgml:
2037         * docs/gst/gstreamer-sections.txt:
2038         the GstURIType documentation page is private, it only defines GstURIType
2039         which should be defined in the GstURIHandler page
2040         
2041 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2042
2043         * gst/gstbin.c: (gst_bin_class_init):
2044         * gst/gstbin.h:
2045         * gst/gstutils.c:
2046         Documentation updates.
2047
2048 2005-10-28  Wim Taymans  <wim@fluendo.com>
2049
2050         * docs/gst/gstreamer-sections.txt:
2051         * gst/gstclock.c:
2052         * gst/gstclock.h:
2053         Documented the clocks.
2054
2055 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2056
2057         * docs/gst/gstreamer-sections.txt:
2058           move some macros to private sections
2059         * gst/gstminiobject.c:
2060         * gst/gstminiobject.h:
2061           add descriptions provided by ds and some more
2062         * gst/gstpad.h:
2063           mark macro as to be removed
2064
2065 2005-10-28  Wim Taymans  <wim@fluendo.com>
2066
2067         * docs/design/part-TODO.txt:
2068         Add an item to TODO.
2069
2070         * gst/gstiterator.c: (gst_iterator_fold),
2071         (gst_iterator_find_custom):
2072         * gst/gstiterator.h:
2073         Add iterator docs.
2074
2075 2005-10-28  Wim Taymans  <wim@fluendo.com>
2076
2077         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2078         (gst_base_transform_init):
2079         Don't leak class.
2080
2081         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2082         An EOS event marks the queue as completely filled.
2083
2084 2005-10-27  Wim Taymans  <wim@fluendo.com>
2085
2086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2087         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2088         Some more debugging.
2089
2090         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2091         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2092         (gst_base_transform_event), (gst_base_transform_getrange),
2093         (gst_base_transform_chain):
2094         * gst/base/gstbasetransform.h:
2095         Fix debugging,
2096         Protect transform and concurrent buffer alloc with a new lock.
2097         Try not to break ABI/API.
2098
2099 2005-10-27  Wim Taymans  <wim@fluendo.com>
2100
2101         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2102         (gst_base_src_init), (gst_base_src_query),
2103         (gst_base_src_default_newsegment),
2104         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2105         (gst_base_src_send_event), (gst_base_src_event_handler),
2106         (gst_base_src_pad_get_range), (gst_base_src_loop),
2107         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2108         (gst_base_src_start), (gst_base_src_deactivate),
2109         (gst_base_src_activate_push), (gst_base_src_change_state):
2110         Move some stuff around and cleanup things.
2111
2112 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2113
2114         * gst/base/gstbasesrc.c: (gst_base_src_query):
2115           Add missing break statements.
2116
2117 2005-10-27  Wim Taymans  <wim@fluendo.com>
2118
2119         * check/gst/gstbin.c: (GST_START_TEST):
2120         An extra refcount is taken in basesrc.
2121
2122         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2123         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2124         (gst_base_src_loop):
2125         Small cleanups, check for flushing after being unlocked from the 
2126         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2127         Don't send out EOS when going to READY.
2128
2129 2005-10-27  Wim Taymans  <wim@fluendo.com>
2130
2131         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2132         (gst_base_sink_get_position):
2133         Some more debug.
2134
2135         * gst/gstbin.c: (message_check), (bin_replace_message),
2136         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2137         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2138         (bin_query_duration_init), (bin_query_duration_fold),
2139         (bin_query_duration_done), (bin_query_generic_fold),
2140         (gst_bin_query):
2141         * tools/gst-launch.c: (main):
2142         Remove old option.
2143
2144 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2145
2146         * examples/controller/audio-example.c: (main):
2147         * examples/queue/queue.c: (event_loop):
2148         * gst/base/gstbasetransform.h:
2149         * gst/gstelement.c: (gst_element_send_event):
2150         * gst/gstevent.h:
2151         * gst/gstpad.c: (gst_pad_send_event):
2152           fixing examples
2153           fixing docs typos
2154           changing log priority in error situations
2155
2156 2005-10-25  Wim Taymans  <wim@fluendo.com>
2157
2158         * gst/gstbin.c: (message_check), (bin_replace_message),
2159         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2160         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2161         (bin_query_duration_init), (bin_query_duration_fold),
2162         (bin_query_duration_done), (bin_query_generic_fold),
2163         (gst_bin_query):
2164         Some doc and debug updates.
2165         Cache previously requested query DURATION for speed. invalidate
2166         cached duration if element posts a DURATION message.
2167
2168 2005-10-25  Wim Taymans  <wim@fluendo.com>
2169
2170         * docs/design/part-TODO.txt:
2171         Update TODO.
2172
2173         * gst/gstbin.c: (message_check), (bin_replace_message),
2174         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2175         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2176         (bin_query_duration_init), (bin_query_duration_fold),
2177         (bin_query_duration_done), (bin_query_generic_fold),
2178         (gst_bin_query):
2179         Handle SEGMENT_START/DONE messages correctly.
2180         More evolved query algorithm that handles duration queries
2181         correctly.
2182
2183         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2184         (gst_element_get_state_func), (gst_element_abort_state),
2185         (gst_element_commit_state), (gst_element_lost_state):
2186         Some more debugging.
2187
2188         * gst/gstmessage.h:
2189         Added doc.
2190
2191 2005-10-25  Wim Taymans  <wim@fluendo.com>
2192
2193         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2194         Don't use invalid stream_time.
2195
2196         * gst/gstevent.c: (gst_event_new_newsegment):
2197         stream_time in newsegment cannot be undefined.
2198
2199 2005-10-24  Wim Taymans  <wim@fluendo.com>
2200
2201         * gst/gstbus.c:
2202         Doc fix.
2203
2204         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2205         (gst_queue_loop):
2206         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2207
2208 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2209
2210         * docs/libs/tmpl/gstdparam.sgml:
2211         * docs/libs/tmpl/gstdplinint.sgml:
2212         * docs/libs/tmpl/gstdpman.sgml:
2213         * docs/libs/tmpl/gstdpsmooth.sgml:
2214         * docs/libs/tmpl/gstunitconvert.sgml:
2215           these are obsolete
2216
2217 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2218
2219         * configure.ac:
2220           back to HEAD
2221
2222 === release 0.9.4 ===
2223
2224 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2225
2226         * configure.ac:
2227           releasing 0.9.4, "Tyrannosaurus Rex"
2228
2229 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2230
2231         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2232         (gst_file_sink_get_current_offset):
2233           Use fseeko() and ftello() if available. When falling back on
2234           lseek() to get the current offset, fflush() first to make sure
2235           everything is up-to-date and we get the right offset.
2236
2237 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2238
2239         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2240         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2241         * gst/gsterror.c: (_gst_stream_errors_init):
2242         * gst/gsterror.h:
2243         * gst/gstqueue.c: (gst_queue_loop):
2244         * po/POTFILES.in:
2245           remove prematurely added error category and clean up the instances
2246
2247 2005-10-21  Wim Taymans  <wim@fluendo.com>
2248
2249         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2250         (gst_base_sink_get_position), (gst_base_sink_query),
2251         (gst_base_sink_change_state):
2252         Simply set the right flag when going to playing, that's all
2253         we need to do instead of calling a function inside the object
2254         lock (that could take the lock as well and deadlock)
2255
2256 2005-10-21  Wim Taymans  <wim@fluendo.com>
2257
2258         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2259         (gst_base_src_loop):
2260         Don't warn, the peer element knows what to do best when
2261         the seek failed, it might try something else.
2262
2263 2005-10-21  Wim Taymans  <wim@fluendo.com>
2264
2265         * gst/base/gstbasesrc.c: (gst_base_src_init),
2266         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2267         Fix seeking.
2268
2269 2005-10-21  Wim Taymans  <wim@fluendo.com>
2270
2271         * docs/design/part-segments.txt:
2272         More docs.
2273
2274         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2275         Correctly set caps, even on the subbufer.
2276
2277 2005-10-21  Wim Taymans  <wim@fluendo.com>
2278
2279         * docs/gst/gstreamer-docs.sgml:
2280         * docs/gst/gstreamer-sections.txt:
2281         * gst/gstelement.h:
2282         * gst/gstevent.c:
2283         * gst/gstevent.h:
2284         * gst/gstmessage.h:
2285         * gst/gstpad.h:
2286         * gst/gstparse.h:
2287         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2288         * gst/gsttask.h:
2289         * gst/gstutils.c:
2290         * gst/gstutils.h:
2291         And 2% more doc coverage.
2292
2293 2005-10-21  Andy Wingo  <wingo@pobox.com>
2294
2295         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2296         position reporting.
2297
2298 2005-10-20  Wim Taymans  <wim@fluendo.com>
2299
2300         * gst/gsterror.c: (gst_error_get_message):
2301         * gst/gstparse.h:
2302         * gst/gstquery.h:
2303         * gst/gststructure.c:
2304         * gst/gsttrace.c:
2305         * gst/gstutils.c:
2306         More docs.
2307
2308 2005-10-20  Wim Taymans  <wim@fluendo.com>
2309
2310         * gst/gstbuffer.h:
2311         * gst/gstpad.c:
2312         * gst/gstparse.c:
2313         Another 1% more coverage.
2314
2315 2005-10-20  Wim Taymans  <wim@fluendo.com>
2316
2317         * docs/gst/gstreamer-sections.txt:
2318         * gst/gstelement.c: (gst_element_get_state_func),
2319         (gst_element_abort_state), (gst_element_commit_state),
2320         (gst_element_lost_state):
2321         * gst/gstevent.h:
2322         * gst/gstquery.c: (gst_query_set_position),
2323         (gst_query_parse_position), (gst_query_set_duration),
2324         (gst_query_parse_duration), (gst_query_new_convert):
2325         * gst/gstutils.c:
2326         Yay! 1% more docs coverage.
2327
2328 2005-10-20  Wim Taymans  <wim@fluendo.com>
2329
2330         * gst/gstpad.h:
2331         * gst/gstquery.c: (gst_query_set_position),
2332         (gst_query_parse_position), (gst_query_set_duration),
2333         (gst_query_parse_duration), (gst_query_new_convert):
2334         * gst/gstquery.h:
2335         * gst/gstutils.c: (gst_element_query_convert):
2336         * gst/gstutils.h:
2337         Docs and consistency fixes.
2338
2339 2005-10-20  Wim Taymans  <wim@fluendo.com>
2340
2341         * gst/gsttask.c:
2342         * gst/gsttask.h:
2343         More docs.
2344
2345 2005-10-20  Wim Taymans  <wim@fluendo.com>
2346
2347         * gst/gstbin.c: (message_check), (bin_replace_message),
2348         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2349         (update_degree), (gst_bin_sort_iterator_next),
2350         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2351         Reworked the message handling a bit, cache the messages instead of
2352         only the senders. alows us to do more in the future.
2353
2354 2005-10-20  Wim Taymans  <wim@fluendo.com>
2355
2356         * docs/design/part-TODO.txt:
2357         Update TODO
2358
2359         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2360         (gst_base_sink_query):
2361         Don't use clock time to report position when in EOS.
2362
2363 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2364
2365         * tools/gst-inspect.c: (print_interfaces),
2366         (print_element_properties_info), (print_element_info):
2367           Fix interface output with gst-inspect -a; don't print
2368           newlines after double/float properties.
2369
2370 2005-10-20  Wim Taymans  <wim@fluendo.com>
2371
2372         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2373         (gst_base_sink_query):
2374         Speed up current position calculation.
2375
2376         * gst/base/gstbasesrc.c: (gst_base_src_query),
2377         (gst_base_src_default_newsegment):
2378         Correctly set stream position in newsegment.
2379
2380         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2381         (update_degree), (gst_bin_sort_iterator_next),
2382         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2383         * gst/gstmessage.c: (gst_message_new_custom):
2384         Clean up debugging info
2385
2386         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2387         (gst_queue_loop), (gst_queue_handle_src_query):
2388         Pause task faster.
2389
2390 2005-10-19  Wim Taymans  <wim@fluendo.com>
2391
2392         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2393         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2394         Fix query handling again.
2395
2396 2005-10-19  Wim Taymans  <wim@fluendo.com>
2397
2398         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2399         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2400         * gst/base/gstbasesrc.c: (gst_base_src_query):
2401         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2402         * gst/elements/gsttypefindelement.c:
2403         (gst_type_find_handle_src_query), (find_element_get_length),
2404         (gst_type_find_element_activate):
2405         API change fix.
2406
2407         * gst/gstquery.c: (gst_query_new_position),
2408         (gst_query_set_position), (gst_query_parse_position),
2409         (gst_query_new_duration), (gst_query_set_duration),
2410         (gst_query_parse_duration), (gst_query_set_segment),
2411         (gst_query_parse_segment):
2412         * gst/gstquery.h:
2413         Bundling query position/duration is not a good idea since duration
2414         does not change much and we don't want to recalculate it for every
2415         position query, so they are separated again..
2416         Base value in segment query is not needed.
2417
2418         * gst/gstqueue.c: (gst_queue_handle_src_query):
2419         * gst/gstutils.c: (gst_element_query_position),
2420         (gst_element_query_duration), (gst_pad_query_position),
2421         (gst_pad_query_duration):
2422         * gst/gstutils.h:
2423         Updates for query API change.
2424         Added some docs here and there.
2425
2426 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2427
2428         * check/gst/gstbin.c: (GST_START_TEST):
2429         * check/gst/gstghostpad.c: (GST_START_TEST):
2430         * check/pipelines/cleanup.c: (GST_START_TEST):
2431           wait on thread to die so we can check refcount correctly
2432
2433 2005-10-18  Wim Taymans  <wim@fluendo.com>
2434
2435         * check/pipelines/stress.c: (GST_START_TEST):
2436         Make check a little more time consuming.
2437
2438 2005-10-18  Wim Taymans  <wim@fluendo.com>
2439
2440         * check/Makefile.am:
2441         * check/pipelines/stress.c: (GST_START_TEST),
2442         (simple_launch_lines_suite), (main):
2443         Small state change torture test.
2444
2445         * docs/design/part-states.txt:
2446         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2447         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2448         (gst_base_sink_change_state):
2449         Never take state lock from streaming thread, clean up ugly
2450         hacks. Unfortunatly core does not yet support nice ways to
2451         async commit state.
2452         
2453         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2454         (bin_bus_handler):
2455         Start state recalc if a STATE_DIRTY message is posted, but only
2456         on the toplevel bin.
2457
2458         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2459         (gst_element_get_state_func), (gst_element_abort_state),
2460         (gst_element_commit_state), (gst_element_lost_state),
2461         (gst_element_set_state_func), (gst_element_change_state):
2462         * gst/gstelement.h:
2463         State variables are now protected with the LOCK, the state
2464         lock is only used to serialize _set_state().
2465
2466 2005-10-18  Wim Taymans  <wim@fluendo.com>
2467
2468         * check/gst/gstbin.c: (GST_START_TEST):
2469         * check/gst/gstmessage.c: (GST_START_TEST):
2470         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2471         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2472         (bin_bus_handler):
2473         * gst/gstelement.c: (gst_element_abort_state),
2474         (gst_element_commit_state), (gst_element_lost_state):
2475         * gst/gstmessage.c: (gst_message_new_state_changed),
2476         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2477         (gst_message_new_segment_done), (gst_message_new_duration),
2478         (gst_message_parse_state_changed),
2479         (gst_message_parse_segment_start),
2480         (gst_message_parse_segment_done), (gst_message_parse_duration):
2481         * gst/gstmessage.h:
2482         * tools/gst-launch.c: (event_loop):
2483         Seriously, this is better than a previous commit as we only need
2484         to notify the fact that an element changed state in a streaming
2485         thread, marking the state of the parents dirty, hence the 
2486         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2487         message.
2488
2489 2005-10-18  Wim Taymans  <wim@fluendo.com>
2490
2491         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2492         (gst_bin_recalc_func):
2493         * gst/gstelement.c: (gst_element_set_clock),
2494         (gst_element_abort_state), (gst_element_lost_state):
2495         Cleanups, prepare for state change fixes.
2496
2497 2005-10-18  Wim Taymans  <wim@fluendo.com>
2498
2499         * gst/gstbin.h:
2500         * gst/gstelement.c: (gst_element_class_init),
2501         (gst_element_set_state), (gst_element_set_state_func):
2502         * gst/gstelement.h:
2503         Pending ABI changes.
2504         GThreadPool in GstBinClass to monitor async state changes.
2505         state_cookie in GstElement to detect concurrent gst/set state.
2506         set_state is now virtual too in case a very complicated element
2507         has to be constructed.
2508
2509 2005-10-18  Wim Taymans  <wim@fluendo.com>
2510
2511         * check/gst/gstbin.c: (GST_START_TEST):
2512         * check/gst/gstmessage.c: (GST_START_TEST):
2513         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2514         * gst/gstbin.c: (bin_bus_handler):
2515         * gst/gstelement.c: (gst_element_commit_state),
2516         (gst_element_lost_state):
2517         * gst/gstmessage.c: (gst_message_new_state_changed),
2518         (gst_message_new_segment_start), (gst_message_new_segment_done),
2519         (gst_message_new_duration), (gst_message_parse_state_changed),
2520         (gst_message_parse_segment_start),
2521         (gst_message_parse_segment_done), (gst_message_parse_duration):
2522         * gst/gstmessage.h:
2523         * tools/gst-launch.c: (event_loop):
2524         Make messages future proof.
2525         state-change gets a flag if it was a message comming from the
2526         streaming thread.
2527         segment-start/stop can also be specified in other formats.
2528         A message to notify an app that a pipeline changed playback 
2529         duration.
2530         Also fix a GstMessage leak in -launch
2531
2532 2005-10-18  Andy Wingo  <wingo@pobox.com>
2533
2534         * gst/gstelement.c (gst_element_dispose): More helpful message.
2535
2536 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2537
2538         reviewed by: <delete if not using a buddy>
2539
2540         * common/gtk-doc.mak:
2541
2542 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2543
2544         * gst/gstregistry.c: (gst_registry_scan_path_level):
2545           unref a plug-in we get that was already initialized
2546
2547 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2548
2549         * docs/gst/gstreamer-sections.txt:
2550         * docs/libs/gstreamer-libs-sections.txt:
2551         * gst/gstelement.h:
2552           add new api entries
2553           hide internal macro
2554
2555 2005-10-17  Andy Wingo  <wingo@pobox.com>
2556
2557         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2558         cleanup.
2559
2560         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2561
2562         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2563
2564         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2565         (gst_element_get_state_func): Better debug message.
2566         (gst_element_commit_state): s/INFO/DEBUG/.
2567         (gst_element_lost_state, gst_element_change_state): 
2568
2569         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2570         (gst_message_new_custom): s/INFO/LOG/.
2571
2572 2005-10-17  Michael Smith <msmith@fluendo.com>
2573
2574         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2575           Check if end time is valid using end time, not start time.
2576
2577 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2578
2579         * check/gst-libs/controller.c: (GST_START_TEST),
2580         (gst_controller_suite):
2581         * libs/gst/controller/gstcontroller.c:
2582         (gst_controlled_property_set_interpolation_mode):
2583         * libs/gst/controller/gstcontroller.h:
2584         * libs/gst/controller/gstinterpolation.c:
2585         * testsuite/controller/.cvsignore:
2586         * testsuite/controller/Makefile.am:
2587         * testsuite/controller/interpolator.c:
2588           merge controller testsuites
2589           fix broken tests
2590           remove mem-chunk from docs
2591
2592 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2593
2594         * gst/gstmemchunk.c:
2595         * gst/gstmemchunk.h:
2596         * gst/gsttrashstack.c:
2597         * gst/gsttrashstack.h:
2598           out.  get out.  you're fired.  to the Attic !
2599
2600 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2601
2602         * gst/gstcaps.c: (gst_caps_intersect):
2603           fix signedness issues in a (hopefully) correct way
2604         * gst/gstelement.c: (gst_element_pads_activate):
2605           some debugging
2606         * gst/gstobject.c: (gst_object_set_parent):
2607           some debugging
2608
2609 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2610
2611         * gst/gstvalue.h: Fix prototypes.
2612
2613 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2614
2615         * docs/gst/gstreamer-sections.txt:
2616         * gst/gst.c: (gst_version_string):
2617         * gst/gst.h:
2618         * gst/gstversion.h.in:
2619         * win32/common/libgstreamer.def:
2620           add gst_version_string ()
2621
2622 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2623
2624         * configure.ac:
2625           clean up further
2626         * gst/gst.c: (init_post):
2627         * win32/common/config.h.in:
2628           it's PLUGINDIR now
2629         * gst/gstcaps.c: (gst_caps_intersect):
2630           use gint64, the range could be bigger than a guint
2631
2632 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2633
2634         * gst/gstclock.h:
2635           document potential problem in 2038
2636
2637 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2638
2639         * gst/gstcaps.c: (gst_caps_intersect):
2640           Fix guint j diving under 0
2641
2642 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2643
2644         * configure.ac:
2645         * win32/common/config.h:
2646         * win32/common/config.h.in:
2647           check for process.h, declares getpid() on Windows
2648         * gst/gstinfo.c:
2649           include process.h if we have it
2650         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2651         * gst/gstmemchunk.h:
2652           fix signedness issues
2653         * win32/common/libgstreamer.def:
2654           fix get_type's
2655
2656 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2657
2658         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2659         fix. Because of unsigned ints, caps intersection was going nuts and
2660         trying to access structures with G_MAXUINT index. That fixes
2661         videotestsrc ! ffmpegcolorspace ! fakesink
2662         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2663         consistency.
2664
2665 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * configure.ac:
2668           use the gettext macro
2669         * gst/elements/gstelements.c:
2670         * gst/gst.c:
2671         * gst/indexers/gstindexers.c:
2672           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2673         * win32/common/config.h:
2674           updated config.h
2675         * win32/common/config.h.in:
2676           add the template to generate config.h
2677         * win32/common/gstenumtypes.c:
2678         * win32/common/gstversion.h:
2679           updated copies
2680
2681 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2682
2683         * gst/gst.c: (gst_version):
2684         * gst/gstversion.h.in:
2685           add the nano
2686
2687 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2688
2689         * gst/gstevent.h:
2690           Oops, add missing closing bracket.
2691
2692 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2693
2694         * configure.ac:
2695           use common m4's for argument checking
2696
2697 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2698
2699         * docs/gst/gstreamer-sections.txt:
2700         * gst/gstevent.h:
2701           Add GST_EVENT_TYPE_NAME() macro.
2702
2703 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2704
2705         * gst/gstinfo.c:
2706         * gst/gstpluginfeature.c:
2707         * gst/gsttask.c:
2708           privatize more symbols
2709
2710 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2711
2712         * configure.ac:
2713           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2714           everything that uses GStreamer API should have the includes
2715
2716 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2717
2718         * docs/gst/gstreamer-sections.txt:
2719         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2720         * gst/gstvalue.h:
2721           give each value a _get_type, removes the DATA exports
2722
2723 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2724
2725         * gst/gst.c:
2726         * gst/gst.h:
2727           remove _gst_registry_auto_load, not used anymore
2728         * gst/gstbin.c: (gst_bin_get_type):
2729         * gst/gstbin.h:
2730         * gst/gstelement.c: (gst_element_get_type):
2731         * gst/gstelement.h:
2732         * gst/gstobject.c: (gst_object_get_type):
2733         * gst/gstobject.h:
2734         * gst/gstpad.c: (gst_pad_get_type):
2735         * gst/gstpad.h:
2736           make _get_type functions similar, fixes data export from library
2737
2738 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2739
2740         * configure.ac:
2741           correctly make conditionals
2742         * gst/elements/Makefile.am:
2743         * gst/elements/gstelements.c:
2744           fix typo causing fdsrc not to build
2745
2746 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2747
2748         * testsuite/Makefile.am:
2749         * testsuite/bytestream/.cvsignore:
2750         * testsuite/bytestream/Makefile.am:
2751         * testsuite/bytestream/filepadsink.c:
2752         * testsuite/bytestream/gstbstest.c:
2753         * testsuite/bytestream/test1.c:
2754         * testsuite/bytestream/testfile1:
2755         * testsuite/caps/normalisation.c:
2756         * testsuite/caps/random.c: (main):
2757         * testsuite/cleanup/.cvsignore:
2758         * testsuite/cleanup/Makefile.am:
2759         * testsuite/cleanup/cleanup1.c:
2760         * testsuite/cleanup/cleanup2.c:
2761         * testsuite/cleanup/cleanup3.c:
2762         * testsuite/cleanup/cleanup4.c:
2763         * testsuite/cleanup/cleanup5.c:
2764         * testsuite/controller/interpolator.c:
2765         * testsuite/debug/printf_extension.c: (main):
2766         * testsuite/elements/tee.c:
2767         * testsuite/negotiation/.cvsignore:
2768         * testsuite/negotiation/Makefile.am:
2769         * testsuite/negotiation/pad_link.c:
2770         * testsuite/pad/Makefile.am:
2771         * testsuite/pad/chainnopull.c:
2772         * testsuite/pad/getnopush.c:
2773         * testsuite/pad/link.c:
2774         * testsuite/refcounting/sched.c: (create_pipeline):
2775         * testsuite/registry/Makefile.am:
2776         * testsuite/registry/gst-print-formats.c:
2777         * testsuite/schedulers/.cvsignore:
2778         * testsuite/schedulers/142183-2.c:
2779         * testsuite/schedulers/142183.c:
2780         * testsuite/schedulers/143777-2.c:
2781         * testsuite/schedulers/143777.c:
2782         * testsuite/schedulers/147713.c:
2783         * testsuite/schedulers/147819.c:
2784         * testsuite/schedulers/147894-2.c:
2785         * testsuite/schedulers/147894.c:
2786         * testsuite/schedulers/Makefile.am:
2787         * testsuite/schedulers/group_link.c:
2788         * testsuite/schedulers/queue_link.c:
2789         * testsuite/schedulers/relink.c:
2790         * testsuite/schedulers/unlink.c:
2791         * testsuite/schedulers/unref.c:
2792         * testsuite/schedulers/useless_iteration.c:
2793         * testsuite/states/bin.c:
2794           clean out/remove some stuff from the testsuite directories
2795
2796 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2797
2798         * configure.ac:
2799           check for some headers
2800         * gst/elements/Makefile.am:
2801         * gst/elements/gstelements.c:
2802           don't compile fdsrc without sys/socket.h
2803         * gst/indexers/Makefile.am:
2804         * gst/indexers/gstindexers.c: (plugin_init):
2805           don't compile fileindex without mmap
2806
2807 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2808
2809         * configure.ac:
2810           reorganize
2811           clean up
2812           document more
2813           remove cruft
2814         * check/Makefile.am:
2815         * docs/gst/Makefile.am:
2816         * examples/helloworld/Makefile.am:
2817         * gst/Makefile.am:
2818         * gst/base/Makefile.am:
2819         * gst/check/Makefile.am:
2820         * gst/elements/Makefile.am:
2821         * gst/indexers/Makefile.am:
2822         * gst/parse/Makefile.am:
2823         * libs/gst/controller/Makefile.am:
2824         * libs/gst/dataprotocol/Makefile.am:
2825         * examples/helloworld/helloworld.c: (event_loop):
2826           compile fixes, though it's not being compiled currently
2827
2828 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2829
2830         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2831           Add some simple tests for the new taglist date API.
2832
2833 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2834
2835         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2836         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2837           Beautify 'last-message' output: print 'none' for buffer timestamps
2838           and durations if none is set; improve alignment with next messages.
2839
2840 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2841
2842         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2843         * gst/gstpluginfeature.h:
2844         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2845         * gst/gstregistry.h:
2846         * docs/gst/gstreamer-sections.txt:
2847           Add new API to check plugin feature version requirements.
2848
2849         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2850           Some basic tests for the above.         
2851
2852 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2853
2854         * gst/gststructure.c: (gst_structure_to_string):
2855           guard against NULL printf - happens when for example
2856           a message structure with GstClock gets serialized
2857
2858 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2859
2860         * gst/base/gstcollectpads.c: (gst_collectpads_event):
2861           Fix presumable copy'n'pasto.
2862
2863 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2864
2865         * gst/elements/gstfakesrc.h:
2866         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
2867         * gst/elements/gsttypefindelement.c:
2868           fix some signedness
2869         * gst/elements/gstfilesink.c: (gst_file_sink_render):
2870           I wonder if this could actually write +2GB files before
2871
2872 2005-10-13  Andy Wingo  <wingo@pobox.com>
2873
2874         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
2875         Fix Timmeke Waymans bug.
2876         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
2877         string of the proper length to gst_caps_from_string. There's a
2878         potential for, before this fix, that this could cause someone
2879         connecting over the network to cause a segfault if the payload is
2880         not NUL-terminated.
2881
2882 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2883
2884         * docs/design/draft-push-pull.txt:
2885         * docs/design/part-overview.txt:
2886         * docs/random/TODO-pre-0.9:
2887         * docs/random/old/ChangeLog.gstreamer:
2888         * gst/base/gstpushsrc.c:
2889         * gst/gstclock.c:
2890           fixed typos
2891
2892 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2893
2894         * gst/glib-compat.c: (gst_flags_get_first_value):
2895         * gst/glib-compat.h:
2896         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
2897         (gst_value_compare_double), (gst_value_serialize_flags):
2898           GLib 2.6 g_flags_get_first_value has a bug that triggers an
2899           infinite loop
2900
2901 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2902
2903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2904         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2905           fix up debugging
2906         * tools/gst-launch.c: (event_loop):
2907           print out clock nicely
2908
2909 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2910
2911         * docs/gst/gstreamer-sections.txt:
2912         * gst/gsttaglist.h:
2913         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2914         (gst_tag_list_get_date_index):
2915           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
2916           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2917
2918 2005-10-13  Julien MOUTTE  <julien@moutte.net>
2919
2920         * gst/base/gstcollectpads.c: (gst_collectpads_event),
2921         (gst_collectpads_chain):
2922         * gst/base/gstcollectpads.h: Handle newsegment and store informations
2923         in CollectData.
2924
2925 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2926
2927         * docs/gst/gstreamer-sections.txt:
2928         * gst/gst.c:
2929         * gst/gsterror.h:
2930         * tools/gst-inspect.c: (main):
2931         * tools/gst-launch.c: (main):
2932         * tools/gst-run.c: (main):
2933         * tools/gst-xmlinspect.c: (main):
2934           fix GOption context leaks
2935           doc fixes
2936
2937 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2938
2939         * gst/gstbus.c:
2940           use HAVE_UNISTD_H
2941         * win32/common/config.h:
2942           update config
2943         * win32/vs6/grammar.dsp:
2944         * win32/vs6/libgstelements.dsp:
2945         * win32/vs6/libgstreamer.dsp:
2946           update vs6 files
2947
2948 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2949
2950         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2951         * gst/base/gstbasesrc.c: (gst_base_src_query):
2952           fix more guint64<->gdouble conversions
2953
2954 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2955
2956         * Makefile.am:
2957           add win32-update target
2958         * win32/common/gstconfig.h:
2959         * win32/common/gstenumtypes.c:
2960         * win32/common/gstenumtypes.h:
2961         * win32/common/gstversion.h:
2962           add files that visual studio can't generate
2963
2964 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2965
2966         * Makefile.am:
2967           add a win32-update target
2968         * configure.ac:
2969
2970 2005-10-12  Wim Taymans  <wim@fluendo.com>
2971
2972         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2973         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
2974         * gst/gstelement.c: (gst_element_commit_state),
2975         (gst_element_set_state):
2976         Protect flags with proper lock.
2977         unref provided cached clock in dispose.
2978
2979 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2980
2981         * gst/gst.c:
2982         * gst/gstminiobject.h:
2983         * gst/gstpad.h:
2984         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
2985           removed unused flags from miniobject
2986           doc fixes
2987
2988 2005-10-12  Wim Taymans  <wim@fluendo.com>
2989
2990         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2991         (gst_file_sink_event), (gst_file_sink_render):
2992         Flush before seeking.
2993
2994 2005-10-12  Andy Wingo  <wingo@pobox.com>
2995
2996         * gst/gst.c (gst_init_check): Ignore unknown options, as has
2997         always been the case.
2998
2999 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3000
3001         * check/gst/gstbin.c: (GST_START_TEST):
3002         * docs/gst/gstreamer-sections.txt:
3003         * gst/base/gstbasesink.c: (gst_base_sink_init):
3004         * gst/base/gstbasesrc.c: (gst_base_src_init),
3005         (gst_base_src_get_range), (gst_base_src_check_get_range),
3006         (gst_base_src_start), (gst_base_src_stop):
3007         * gst/base/gstbasesrc.h:
3008         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3009         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3010         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3011         (bin_bus_handler):
3012         * gst/gstbin.h:
3013         * gst/gstbuffer.h:
3014         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3015         * gst/gstbus.h:
3016         * gst/gstelement.c: (gst_element_is_locked_state),
3017         (gst_element_set_locked_state), (gst_element_commit_state),
3018         (gst_element_set_state):
3019         * gst/gstelement.h:
3020         * gst/gstindex.c: (gst_index_init):
3021         * gst/gstindex.h:
3022         * gst/gstminiobject.h:
3023         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3024         (gst_object_set_parent):
3025         * gst/gstobject.h:
3026         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3027         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3028         * gst/gstpad.h:
3029         * gst/gstpadtemplate.h:
3030         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3031         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3032         * gst/gstpipeline.h:
3033         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3034         (gst_file_index_commit):
3035         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3036         * testsuite/pad/link.c: (gst_test_src_init),
3037         (gst_test_filter_init), (gst_test_sink_init):
3038         * testsuite/states/locked.c: (main):
3039           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3040           moved bitshift from macro to enum definition
3041
3042 2005-10-12  Wim Taymans  <wim@fluendo.com>
3043
3044         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3045         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3046         (gst_file_sink_render):
3047         Some more debugging info.
3048
3049 2005-10-12  Wim Taymans  <wim@fluendo.com>
3050
3051         * docs/design/part-states.txt:
3052         * tools/gst-launch.c: (main):
3053         Some doc updates.
3054         Revert non-intentional change.
3055
3056 2005-10-12  Wim Taymans  <wim@fluendo.com>
3057
3058         * check/gst/gstbin.c: (GST_START_TEST):
3059         * check/gst/gstelement.c: (GST_START_TEST):
3060         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3061         * check/gst/gstghostpad.c: (GST_START_TEST):
3062         * check/gst/gstpipeline.c: (GST_START_TEST):
3063         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3064         * check/states/sinks.c: (GST_START_TEST):
3065         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3066         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3067         (gst_bin_remove_func), (gst_bin_get_state_func),
3068         (gst_bin_recalc_state), (gst_bin_change_state_func),
3069         (bin_bus_handler):
3070         * gst/gstelement.c: (gst_element_get_state_func),
3071         (gst_element_get_state), (gst_element_abort_state),
3072         (gst_element_commit_state), (gst_element_set_state),
3073         (gst_element_change_state), (gst_element_change_state_func):
3074         * gst/gstelement.h:
3075         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3076         (gst_pipeline_provide_clock_func):
3077         * gst/gstutils.c: (gst_element_link_pads_filtered):
3078         * tools/gst-launch.c: (main):
3079         * tools/gst-typefind.c: (main):
3080         Use GstClockTime in _get_state() instead of GTimeVal.
3081         Remove old code in gstutils.c
3082
3083 2005-10-12  Andy Wingo  <wingo@pobox.com>
3084
3085         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3086         removed.
3087
3088         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3089         there is no task. Shouldn't affect any code, as nothing in our
3090         plugins checks this return value.
3091         (gst_pad_stop_task): Also take the stream lock if the pad has no
3092         task. Docs updated.
3093
3094 2005-10-12  Wim Taymans  <wim@fluendo.com>
3095
3096         * gst/gstpad.c: (pre_activate), (post_activate),
3097         (gst_pad_activate_pull), (gst_pad_activate_push):
3098         Cleanup activation code. Reset old state if
3099         activation failed.
3100
3101 2005-10-12  Wim Taymans  <wim@fluendo.com>
3102
3103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3104         (gst_base_sink_change_state):
3105         No need to prerol after receiving EOS.
3106
3107         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3108         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3109         * gst/elements/gstidentity.c: (gst_identity_event):
3110         Print events more verbosely.
3111
3112 2005-10-12  Wim Taymans  <wim@fluendo.com>
3113
3114         * check/Makefile.am:
3115         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3116         * check/states/sinks2.c:
3117         Moved sinks2 testcode in sinks check.
3118
3119         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3120         (gst_bin_remove_func), (gst_bin_recalc_state),
3121         (gst_bin_change_state_func), (bin_bus_handler):
3122         Fix potential race condition when _get_state() iterated over an
3123         ASYNC element right before it posted a state completion.
3124
3125         * gst/gstclock.h:
3126         Do proper cast here.
3127
3128         * gst/gstevent.c: (gst_event_new_newsegment),
3129         (gst_event_parse_newsegment):
3130         A playback rate of 0.0 is not allowed.
3131
3132 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3133
3134         * win32/common/config.h:
3135         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3136         (_trewinddir), (_ttelldir), (_tseekdir):
3137         * win32/common/dirent.h:
3138         * win32/common/gtchar.h:
3139         * win32/common/libgstbase.def:
3140         * win32/common/libgstreamer.def:
3141         * win32/vs6/grammar.dsp:
3142         * win32/vs6/gst_inspect.dsp:
3143         * win32/vs6/gst_launch.dsp:
3144         * win32/vs6/gstreamer.dsw:
3145         * win32/vs6/libgstbase.dsp:
3146         * win32/vs6/libgstelements.dsp:
3147         * win32/vs6/libgstreamer.dsp:
3148           Visual Studio 6 project files, and a new common directory.
3149           Phear.
3150
3151 2005-10-11  Wim Taymans  <wim@fluendo.com>
3152
3153         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3154         (gst_base_sink_do_sync), (gst_base_sink_query),
3155         (gst_base_sink_change_state):
3156         * gst/base/gstbasesink.h:
3157         Correctly parse newsegment info.
3158
3159 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3160
3161         * gst/gst.c: (init_post):
3162           split plugin paths correctly
3163
3164 2005-10-11  Wim Taymans  <wim@fluendo.com>
3165
3166         * check/gst/gstevent.c: (GST_START_TEST):
3167         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3168         (gst_base_sink_change_state):
3169         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3170         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3171         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3172         * gst/gstevent.c: (gst_event_new_newsegment),
3173         (gst_event_parse_newsegment):
3174         * gst/gstevent.h:
3175         Added extra flag to newsegment for future API freeze.
3176         Updated check and base elements.
3177
3178 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3179
3180         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3181         (gst_collectpads_add_pad), (gst_collectpads_pop),
3182         (gst_collectpads_event), (gst_collectpads_chain):
3183         * gst/base/gstcollectpads.h: Handle EOS correctly.
3184
3185 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3186
3187         * tools/gst-launch.c: (main):
3188           more null protecting
3189
3190 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3191
3192         * gst/gst-i18n-lib.h:
3193           check for ENABLE_NLS, not GETTEXT_PACKAGE
3194         * gst/gstregistry.c: (gst_registry_add_plugin),
3195         (gst_registry_scan_path_level),
3196         (_gst_registry_remove_cache_plugins):
3197           protect possibly NULL strings
3198         * gst/parse/types.h:
3199           config.h already included before
3200         * tools/gst-inspect.c: (main):
3201           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3202           check for ENABLE_NLS, not GETTEXT_PACKAGE
3203         * tools/gst-launch.c: (main):
3204           check for ENABLE_NLS, not GETTEXT_PACKAGE
3205
3206 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3207
3208         * configure.ac:
3209           if we don't have glib, fail before testing 2.8
3210         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3211           fix a leak, should fix plugins-base testsuite
3212
3213 2005-10-11  Andy Wingo  <wingo@pobox.com>
3214
3215         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3216         take the mode we're going to as an arg. Go head and set the mode
3217         and flushing flags now, so that if the activate function starts a
3218         thread all the flags will be in the right state.
3219         (post_activate): Renamed also. Just handle making sure streaming
3220         finishes for the deactivation case, and setting the deactivated
3221         mode.
3222         (gst_pad_set_active): Complain loudly if deactivation fails.
3223         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3224         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3225         remove the terrible hack.
3226
3227 2005-10-11  Wim Taymans  <wim@fluendo.com>
3228
3229         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3230         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3231         (gst_bin_recalc_state), (gst_bin_change_state_func),
3232         (gst_bin_dispose), (bin_bus_handler):
3233         * gst/gstbin.h:
3234         Prepare to make current EOS message queue more generic.
3235         Fix some typos.
3236
3237         * gst/gstevent.c: (gst_event_new_newsegment),
3238         (gst_event_parse_newsegment):
3239         * gst/gstevent.h:
3240         Rename base to stream_time.
3241
3242         * gst/gstmessage.h:
3243         Fix typo in docs.
3244
3245 2005-10-11  Wim Taymans  <wim@fluendo.com>
3246
3247         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3248         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3249         (gst_bin_change_state_func), (bin_bus_handler):
3250         * gst/gstbin.h:
3251         Work on proper clock selection.
3252
3253 2005-10-11  Edward Hervey  <edward@fluendo.com>
3254
3255         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3256         * libs/gst/controller/gstcontroller.h:
3257         Added GList* version of _remove_properties() in order to be able to wrap
3258         it in bindings.
3259
3260 2005-10-11  Wim Taymans  <wim@fluendo.com>
3261
3262         * docs/design/part-states.txt:
3263         Some more docs.
3264
3265         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3266         (gst_bin_change_state_func), (bin_bus_handler):
3267         Doc updates. Don't distribute the same clock over and over again.
3268
3269         * gst/gstclock.c:
3270         * gst/gstclock.h:
3271         Doc updates.
3272
3273         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3274         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3275         (gst_pad_send_event):
3276         * gst/gstpad.h:
3277         Make probe emission threadsafe again.
3278         Register quarks and move _get_name() from utils.
3279         Doc updates.
3280
3281         * gst/gstpipeline.c: (gst_pipeline_class_init),
3282         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3283         Only redistribute the clock of it changed.
3284
3285         * gst/gstsystemclock.h:
3286         Doc updates. 
3287
3288         * gst/gstutils.c:
3289         * gst/gstutils.h:
3290         Moved the _flow_get_name() to GstPad.
3291
3292 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3293
3294         * check/gst-libs/gdp.c: (GST_START_TEST):
3295         * check/gst/gstcaps.c: (GST_START_TEST):
3296         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3297         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3298         (gst_dp_packet_from_caps):
3299           fix more valgrind warnings before turning up the heat
3300
3301 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3302
3303         * gst/parse/grammar.y:
3304           some cleanup before the hacking
3305
3306 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3307
3308         * gst/base/gstbasesrc.c: (gst_base_src_query):
3309           use conversions
3310         * gst/gstutils.c: (gst_guint64_to_gdouble),
3311         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3312         * gst/gstutils.h:
3313           externalize, basesrc uses it
3314           obviously the implementation needs testing
3315
3316 2005-10-10  Wim Taymans  <wim@fluendo.com>
3317
3318         * tests/sched/Makefile.am:
3319         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3320         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3321
3322 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3323
3324         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3325           apparently converting from guint64 to double is not implemented
3326           on MSVC
3327
3328 2005-10-10  Wim Taymans  <wim@fluendo.com>
3329
3330         * check/Makefile.am:
3331         * check/generic/states.c: (GST_START_TEST):
3332         * check/gst/gstbin.c: (GST_START_TEST):
3333         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3334         * check/states/sinks.c: (GST_START_TEST):
3335         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3336         (main):
3337         Check fixes, use API as stated in design docs, remove hacks.
3338
3339         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3340         (gst_base_sink_change_state):
3341         Catch stopping our task while we're shutting down.
3342
3343         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3344         (gst_bin_remove_func), (gst_bin_get_state_func),
3345         (gst_bin_recalc_state), (gst_bin_change_state_func),
3346         (bin_bus_handler):
3347         * gst/gstbin.h:
3348         * gst/gstelement.c: (gst_element_init),
3349         (gst_element_get_state_func), (gst_element_abort_state),
3350         (gst_element_commit_state), (gst_element_lost_state),
3351         (gst_element_set_state), (gst_element_change_state),
3352         (gst_element_change_state_func):
3353         * gst/gstelement.h:
3354         New state change algorithm (see #318116)
3355
3356         * gst/gstpipeline.c: (gst_pipeline_class_init),
3357         (gst_pipeline_init), (gst_pipeline_set_property),
3358         (gst_pipeline_get_property), (do_pipeline_seek),
3359         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3360         * gst/gstpipeline.h:
3361         Remove crude state change hacks.
3362
3363         * gst/gstutils.h:
3364         Remove crude hacks.
3365
3366         * tools/gst-launch.c: (main):
3367         Fixes for state change. Needs some more work to fully use the
3368         new stuff.
3369
3370 2005-10-10  Andy Wingo  <wingo@pobox.com>
3371
3372         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3373
3374         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3375         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3376         issue.
3377
3378 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3379
3380         * gst/gstiterator.c: (gst_iterator_new):
3381           Fix my previous commit: GTypes passed to gst_iterator_new()
3382           can be fundamental types.
3383
3384 2005-10-10  Wim Taymans  <wim@fluendo.com>
3385
3386         * gst/gstelement.c: (gst_element_iterate_pad_list),
3387         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3388         (gst_element_iterate_sink_pads):
3389         Use src/sink pads lists for the respective iterators instead
3390         of filtering.
3391
3392 2005-10-10  Andy Wingo  <wingo@pobox.com>
3393
3394         Merged in popt removal + GOption addition patch from Ronald, bug
3395         #169772.
3396
3397         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3398         GstElement macros around, remove popt-related symbols, add goption
3399         stuff.
3400
3401         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3402         
3403         * docs/gst/Makefile.am:
3404         * docs/libs/Makefile.am: No POPT_CFLAGS.
3405         
3406         * examples/manual/Makefile.am:
3407         * docs/manual/basics-init.xml: Doc updates with an example.
3408         
3409         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3410         (gst_init), (parse_one_option), (parse_goption_arg):
3411         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3412         bit of hand merging and debugging to get the GOption stuff working
3413         tho.
3414         
3415         * tests/Makefile.am:
3416         * tools/Makefile.am:
3417         * tools/gst-inspect.c: (main):
3418         * tools/gst-launch.c: (main):
3419         * tools/gst-run.c: (main):
3420         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3421
3422 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3423
3424         * gst/gstiterator.c: (gst_iterator_new):
3425           Add assertions to make sure passed GType is likely to really
3426           be a GType (as the compiler won't catch it if the size and
3427           GType arguments get mixed up, see #318447).
3428
3429 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3430
3431         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3432
3433         * gst/gstbin.c: (gst_bin_iterate_sorted):
3434           Pass GType and size arguments to gst_iterator_new() in the right
3435           order (maybe we should make _new() take the GType as first argument
3436           just like _new_list()?) (#318447).
3437           
3438
3439 2005-10-10  Wim Taymans  <wim@fluendo.com>
3440
3441         * gst/gstelement.c: (gst_element_finalize):
3442         And free the GStaticRecMutex too
3443
3444 2005-10-10  Andy Wingo  <wingo@pobox.com>
3445
3446         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3447         Allocate and free the mutex properly.
3448
3449         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3450         New macros.
3451         (GstElement): The state_lock is now recursive. Rebuild your
3452         plugins, suckers. Old macros adapted.
3453
3454         * docs/gst/gstreamer-sections.txt: Doc updates.
3455
3456         * gst/gstutils.h:
3457         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3458         (g_static_rec_cond_wait): Ported from state changes patch, while
3459         we wait on bug #317802 to be solved in a well-distributed GLib.
3460
3461         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3462         gst_element_change_state, variable name changes.
3463         (gst_element_change_state): Split out of gst_element_set_state in
3464         preparation for the state change merge. Doesn't pay attention to
3465         the 'transition' argument.
3466         (gst_element_set_state): Updates, hopefully purely cosmetic.
3467         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3468         state change patch.
3469         (gst_element_get_state_func): Renamed from get_state, cosmetic
3470         changes.
3471
3472 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3473
3474         * gst/elements/gstelements.c:
3475         * win32/GStreamer.vcproj:
3476         * win32/config.h:
3477         * win32/dirent.c: (_tseekdir):
3478         * win32/gst-inspect.vcproj:
3479         * win32/gst-launch.vcproj:
3480         * win32/gstconfig.h:
3481         * win32/gstelements.vcproj:
3482         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3483         * win32/gstreamer.def:
3484         * win32/msvc71.sln:
3485           updates for the win32 build (patch from Sebastien Moutte)
3486
3487 2005-10-10  Andy Wingo  <wingo@pobox.com>
3488
3489         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3490         gst_bin_get_state, cleaned up (but no logic changes).
3491         (bin_element_is_sink): Comment updates.
3492         (sink_iterator_filter): Remove needless cast.
3493         (gst_bin_iterate_sinks): Doc update.
3494         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3495         cleaned up (but no logic changes).
3496
3497         * check/states/sinks.c (test_src_sink): Cleanups from the state
3498         change patch.
3499         (test_livesrc_sink): Sync on the state.
3500
3501         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3502         the state change patch.
3503
3504         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3505         change patch.
3506
3507         * check/gst/gstbin.c: Merge in some style fixes and additional
3508         checks from Wim's state change patch.
3509
3510 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3511
3512         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3513         (gst_type_find_helper):
3514           Check whether we have the requested data already in our list of
3515           cached buffers before pulling a new buffer; also make the buffer
3516           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3517
3518 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3519
3520         * gst/gstcaps.c:
3521         * gst/gstevent.c:
3522           doc updates
3523         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3524           don't use long long, it's not portable.  Replacing with
3525           gint64 seems to work; let's hope no skeletons fall out of the closet.
3526
3527 2005-10-10  Andy Wingo  <wingo@pobox.com>
3528
3529         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3530
3531 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3532
3533         * docs/gst/gstreamer-sections.txt:
3534         * gst/gstevent.c:
3535         * gst/gstevent.h:
3536         * gst/gstinfo.c:
3537         * gst/gstinfo.h:
3538         * gst/gstmessage.c: (gst_message_parse_state_changed):
3539         * gst/gstpad.c:
3540         * gst/gstpad.h:
3541           more docs, fix compilation
3542
3543 2005-10-09  Philippe Khalaf <burger@speedy.org>
3544         * gst/gstmessage.c:
3545           Fixed a few forgotten variables on previous commit
3546
3547 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3548
3549         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3550           Fix evil typefind crasher: getrange() might return a short
3551           buffer at the end of a file, but gst_type_find_peek() must
3552           either return the full data as requested or NULL, but
3553           never a short buffer.
3554
3555 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3556
3557         * gst/gstmessage.c: (gst_message_new_state_changed),
3558         (gst_message_parse_state_changed):
3559         * gst/gstmessage.h:
3560           don't use "new", it's a C++ keyword
3561
3562 2005-10-08  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3565         * gst/gstelement.c: (gst_element_post_message):
3566         * gst/gstpipeline.c: (gst_pipeline_change_state):
3567         Small docs and debug updates.
3568
3569 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3570
3571         * docs/gst/gstreamer-sections.txt:
3572         * gst/gstelementfactory.c:
3573         * gst/gstevent.c:
3574         * gst/gsttaglist.c:
3575           more docs
3576
3577 2005-10-08  Wim Taymans  <wim@fluendo.com>
3578
3579         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3580         (gst_bin_dispose), (bin_bus_handler):
3581         Fix typos, add comments.
3582         Clear EOS list when going to PAUSED from any direction and do it
3583         in a threadsafe way.
3584         Get base time in a threadsafe way too.
3585         Fix confusing debug in the change_state function.
3586         Various other small cleanups.
3587         
3588         * gst/gstelement.c: (gst_element_post_message):
3589         Fix very verbose bus posting code.
3590
3591         * gst/gstpipeline.c: (gst_pipeline_class_init),
3592         (gst_pipeline_set_property), (gst_pipeline_get_property),
3593         (gst_pipeline_change_state):
3594         Small ARG_ -> PROP_ cleanup
3595
3596 2005-10-08  Wim Taymans  <wim@fluendo.com>
3597
3598         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3599         Do a less CPU demanding EOS check because we can.
3600
3601 2005-10-08  Wim Taymans  <wim@fluendo.com>
3602
3603         * libs/gst/dataprotocol/dataprotocol.c:
3604         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3605         (gst_dp_packet_from_event):
3606         * libs/gst/dataprotocol/dataprotocol.h:
3607         * libs/gst/dataprotocol/dp-private.h:
3608         It's about time we bump the version number.
3609         Since event types don't fit in the guint8 anymore describing
3610         the payload type, make payload type 16 bits wide.
3611
3612 2005-10-08  Wim Taymans  <wim@fluendo.com>
3613
3614         * docs/design/part-TODO.txt:
3615         * docs/design/part-clocks.txt:
3616         * docs/design/part-events.txt:
3617         * docs/design/part-gstbin.txt:
3618         * docs/design/part-gstelement.txt:
3619         * docs/design/part-gstpipeline.txt:
3620         * docs/design/part-live-source.txt:
3621         * docs/design/part-messages.txt:
3622         * docs/design/part-overview.txt:
3623         * docs/design/part-states.txt:
3624         Many doc updates.
3625
3626 2005-10-08  Wim Taymans  <wim@fluendo.com>
3627
3628         * gst/gstevent.c:
3629         * gst/gstevent.h:
3630         Fix event quark registration.
3631         Add some space between events so we can insert them in the
3632         right groups.
3633
3634 2005-10-08  Wim Taymans  <wim@fluendo.com>
3635
3636         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3637         (gst_base_sink_handle_buffer):
3638         Better log message.
3639
3640         * gst/gstbus.h:
3641         * gst/gstelement.h:
3642         More docs.
3643
3644         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3645         (gst_queue_set_property), (gst_queue_get_property):
3646         * gst/gstqueue.h:
3647         Remove old unused properties.
3648
3649 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3650         * docs/gst/gstreamer-sections.txt:
3651         * gst/gstmessage.c:
3652         * gst/gstmessage.h:
3653         * gst/gstminiobject.c:
3654         * gst/gstminiobject.h:
3655         * gst/gstobject.h:
3656         * gst/gstpad.h:
3657         * gst/gstutils.h:
3658           lots of new docs and doc fixes
3659
3660 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3661
3662         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3663         * gst/gstplugin.h:
3664         * gst/gstregistry.c: (gst_registry_lookup_locked),
3665         (gst_registry_scan_path_level):
3666         * gst/gstregistryxml.c: (load_plugin):
3667           Only ever load one plugin for a given plugin basename.
3668           This ensures correct overriding of GST_PLUGIN_PATH over
3669           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3670           system installed plugins.
3671
3672 2005-10-08  Wim Taymans  <wim@fluendo.com>
3673
3674         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3675         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3676         Prepare for doing QOS.
3677
3678 2005-10-08  Wim Taymans  <wim@fluendo.com>
3679
3680         * check/gst/gstbin.c: (GST_START_TEST):
3681         * check/pipelines/cleanup.c: (GST_START_TEST):
3682         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3683         Allow new clock message too.
3684
3685 2005-10-08  Wim Taymans  <wim@fluendo.com>
3686
3687         * gst/gstmessage.c: (gst_message_new_error),
3688         (gst_message_new_warning), (gst_message_new_tag),
3689         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3690         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3691         (gst_message_new_segment_start), (gst_message_new_segment_done),
3692         (gst_message_parse_state_changed),
3693         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3694         (gst_message_parse_new_clock):
3695         * gst/gstmessage.h:
3696         Also carry the clock in question.
3697
3698 2005-10-08  Wim Taymans  <wim@fluendo.com>
3699
3700         * gst/gstmessage.c: (gst_message_new_custom),
3701         (gst_message_new_eos), (gst_message_new_error),
3702         (gst_message_new_warning), (gst_message_new_tag),
3703         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3704         (gst_message_new_new_clock), (gst_message_new_segment_start),
3705         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3706         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3707         * gst/gstmessage.h:
3708         Clean up.
3709         Added clock related messages.
3710
3711         * gst/gstpipeline.c: (gst_pipeline_change_state):
3712         Post message when the clock changed.
3713
3714         * tools/gst-launch.c: (event_loop):
3715         Print new clock.
3716
3717 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * tools/gst-inspect.c: (print_element_properties_info):
3720           Can't pass NULL strings to g_print() on windows.
3721
3722 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * docs/Makefile.am:
3725         * docs/gst/Makefile.am:
3726         * docs/gst/gstreamer-docs.sgml:
3727         * docs/gst/running.xml:
3728         * docs/version.entities.in:
3729           add a chapter on running GStreamer.
3730           document GST_DEBUG and GST_PLUGIN* env vars
3731
3732 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3733
3734         * Makefile.am:
3735           remove include dir
3736         * configure.ac:
3737           remove PLUGINS_BUILDDIR stuff
3738         * gst/gst.c: (init_post):
3739           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3740         * idiottest.mak:
3741           remove, it was condescending and not needed
3742
3743 2005-10-08  Wim Taymans  <wim@fluendo.com>
3744
3745         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3746         (gst_base_sink_handle_object), (gst_base_sink_event),
3747         (gst_base_sink_wait), (gst_base_sink_handle_event),
3748         (gst_base_sink_change_state):
3749         * gst/base/gstbasesink.h:
3750         Repost EOS message while going to PLAYING if still EOS.
3751         Make sure that when receiving a FLUSH_START we don't attempt
3752         to sync on the clock anymore.
3753
3754 2005-10-08  Wim Taymans  <wim@fluendo.com>
3755
3756         * tools/gst-launch.c: (event_loop):
3757         Better message printout.
3758
3759 2005-10-08  Wim Taymans  <wim@fluendo.com>
3760
3761         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3762         (gst_bin_child_proxy_get_children_count):
3763         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3764         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3765         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3766         (gst_child_proxy_set_valist):
3767         * gst/parse/grammar.y:
3768         Make ChildProxy threadsafe and fix mem leaks.
3769
3770 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3771
3772         * gst/gst.c: (init_post):
3773           debug the GST_PLUGIN_ env vars
3774
3775 2005-10-08  Wim Taymans  <wim@fluendo.com>
3776
3777         * check/gst/gstbin.c: (GST_START_TEST):
3778         * check/gst/gstmessage.c: (GST_START_TEST):
3779         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3780         * gst/gstelement.c: (gst_element_commit_state),
3781         (gst_element_lost_state):
3782         * gst/gstmessage.c: (gst_message_new_state_changed),
3783         (gst_message_parse_state_changed):
3784         * gst/gstmessage.h:
3785         * tools/gst-launch.c: (event_loop):
3786         Added extra field to STATE_CHANGE message with the pending
3787         state, which will be different from the new state soon.
3788
3789 2005-10-08  Wim Taymans  <wim@fluendo.com>
3790
3791         * gst/gstbus.c: (gst_bus_pop):
3792         * gst/gstclock.c:
3793         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3794         Small cleanups and doc updates.
3795
3796 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3797
3798         * gst/gst.c: (init_pre):
3799         * gst/gstbin.c: (gst_bin_add_func):
3800           log distributing clocks and base time
3801         * gst/gstregistry.c: (gst_registry_add_plugin),
3802         (gst_registry_scan_path_level), (gst_registry_scan_path):
3803           clean up the debugging output a little
3804         * gst/gstutils.c: (gst_element_state_get_name):
3805           warn about a memleak (I've actually seen this be used, though
3806           it was probably a bug)
3807
3808 2005-10-07  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3811         (gst_base_src_init), (gst_base_src_default_newsegment),
3812         (gst_base_src_newsegment), (gst_base_src_do_seek),
3813         (gst_base_src_loop), (gst_base_src_start):
3814         * gst/base/gstbasesrc.h:
3815         Make the newsegment event customizable by subclasses.
3816
3817 2005-10-07  Wim Taymans  <wim@fluendo.com>
3818
3819         * gst/gstevent.c: (gst_event_new_buffersize),
3820         (gst_event_parse_buffersize):
3821         * gst/gstevent.h:
3822         New event for future idea.
3823
3824 2005-10-07  Andy Wingo  <wingo@pobox.com>
3825
3826         * gst/gstelement.c (gst_element_post_message): Doc update.
3827
3828         * docs/gst/gstreamer-sections.txt: Update.
3829
3830         * gst/gstmessage.c (gst_message_new_application): Made into a
3831         function like honest API calls.
3832         (gst_message_new_element): New message type.
3833
3834         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3835
3836         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3837         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3838         times.
3839
3840         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3841         NO_PREROLL from gst_element_change_state to fall through.
3842
3843 2005-10-07  Wim Taymans  <wim@fluendo.com>
3844
3845         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3846         (gst_ghost_pad_do_activate_push):
3847         Activating a ghostpad with no internal pad in push mode
3848         is ok.
3849
3850 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3851
3852         * gst/gstobject.h:
3853           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3854           Fixes compilation on Windows.
3855
3856 2005-10-07  Michael Smith <msmith@fluendo.com>
3857
3858         * tools/gst-inspect.c:
3859           Print out feature and plugin count at the end when printing out
3860           all features.
3861
3862 2005-10-04  Michael Smith <msmith@fluendo.com>
3863
3864         * gst/gsterror.c: (_gst_stream_errors_init):
3865           Add another error string used in a few existing plugins.
3866
3867         * gst/gstplugin.c:
3868         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3869         * tools/gst-inspect.c: (print_element_info):
3870           When a feature disappears from a plugin (and the feature exists in
3871           the cached registry file), things went horribly wrong. This isn't a
3872           complete fix, we should actually be removing the 'missing' features
3873           from the features list when we load the actual plugin. That's not
3874           yet implemented. 
3875
3876 2005-10-04  Johan Dahlin  <johan@gnome.org>
3877
3878         * check/gst/gstiterator.c: (GST_START_TEST):
3879         * gst/gstbin.c: (gst_bin_iterate_elements),
3880         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
3881         * gst/gstelement.c: (gst_element_iterate_pads):
3882         * gst/gstformat.c: (gst_format_iterate_definitions):
3883         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3884         (gst_iterator_new_list), (gst_iterator_filter):
3885         * gst/gstiterator.h:
3886         * gst/gstquery.c: (gst_query_type_iterate_definitions):
3887         Add a GType to GstIterator, update callsites and tests.
3888
3889 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3890
3891         * gst/gstpad.c: (gst_pad_event_default_dispatch):
3892           give events a chance to be handled by event probes when the pad
3893           is not linked
3894
3895 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3896
3897         * gst/gstevent.c: (gst_event_type_get_name),
3898         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
3899         * gst/gstevent.h:
3900           add string representations for event types
3901
3902 2005-10-06  Wim Taymans  <wim@fluendo.com>
3903
3904         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
3905         Don't use NULL pointers.
3906
3907 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3908
3909         * gst/gst_private.h:
3910         * gst/gstbus.c:
3911         * gst/gstelement.c:
3912         * gst/gstinfo.c:
3913         * gst/gstpluginfeature.c:
3914           widen the debug category in output to fit the biggest one we have
3915           add a bus category and use it
3916           play with the colors
3917           fix up some categories
3918
3919 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3920
3921         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
3922           add push activation of sink ghost pads.
3923           Andye, please verify
3924
3925 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3926
3927         * gst/gstutils.c: (gst_element_link_pads):
3928           fix a bug in the case where neither element has a pad
3929         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3930           add a test for that case
3931
3932 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3933
3934         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
3935           emit have-data before checking for peers.  This allows
3936           for probe handlers to connect elements.  This helps autopluggers.
3937         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
3938         (gst_pad_suite):
3939           add six checks, linked/unlinked with no/true/false probe
3940
3941 2005-10-04  Wim Taymans  <wim@fluendo.com>
3942
3943         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
3944         (gst_fake_sink_event), (gst_fake_sink_preroll),
3945         (gst_fake_sink_render), (gst_fake_sink_change_state):
3946         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
3947         (gst_fake_src_get_property), (gst_fake_src_create),
3948         (gst_fake_src_stop):
3949         * gst/elements/gstidentity.c: (gst_identity_stop):
3950         Protect last_message with lock.
3951
3952 2005-10-04  Edward Hervey  <edward@fluendo.com>
3953
3954         * gst/gstformat.h: 
3955         Added precision in the comments for GST_FORMAT_DEFAULT
3956
3957 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
3958
3959         * tools/gst-launch.c: (main):
3960           Don't try to run erroneous pipelines.
3961
3962 2005-10-04  Julien MOUTTE  <julien@moutte.net>
3963
3964         * gst/gstbus.c: We don't need this header.
3965
3966 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3967
3968         * configure.ac:
3969           back to development
3970
3971 === release 0.9.3 ===
3972
3973 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3974
3975         * README:
3976         * configure.ac:
3977           Releasing 0.9.3, "Unregistered"
3978
3979 2005-10-03  Andy Wingo  <wingo@pobox.com>
3980
3981         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
3982         whereby calling a pad's activatepush() function can start a thread
3983         that starts to push or pull before the pad gets the FLUSHING flag
3984         unset. Hack around it by holding the stream lock until the flag is
3985         set. Need to replace this with a proper solution. Together with
3986         the ghost pad fixes, this fixes mp3 playing/tagreading.
3987
3988         * docs/design/part-gstghostpad.txt: Add a note about activation of
3989         proxy pads outside of ghost pads.
3990
3991         * gst/gstghostpad.c: Implement the ghost pad activation design.
3992
3993 2005-10-02  Andy Wingo  <wingo@pobox.com>
3994
3995         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
3996         It is volatile, after all.
3997
3998         * docs/design/part-gstghostpad.txt: Flesh out activation with
3999         ghost pads.
4000
4001         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4002         GST_DEBUG_FUNCPTR.
4003
4004 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4005
4006         * configure.ac:
4007           Fix (unused) AM_CONDITIONAL tests.
4008
4009 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4010
4011         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4012
4013         * gst/gstutils.c: (gst_pad_query_convert):
4014           Add assertion that makes sure src_val is >=0, just like
4015           gst_query_new_convert() has. (#315895)
4016
4017 2005-09-30  Edward Hervey  <edward@fluendo.com>
4018
4019         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4020         Let's not iterate pads we're not interested in, it avoids getting 
4021         sky-high refcounts on sinkpad.
4022
4023 2005-09-30  Wim Taymans  <wim@fluendo.com>
4024
4025         * gst/gstelement.c: (gst_element_set_state),
4026         (gst_element_change_state):
4027         Small tweak, element in ASYNC remains ASYNC.
4028
4029 2005-09-30  Wim Taymans  <wim@fluendo.com>
4030
4031         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4032         Only error is an error.
4033
4034         * gst/gstbin.c: (gst_bin_change_state):
4035         Better debugging.
4036
4037         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4038         Also call pad_block in pad alloc.
4039
4040         * gst/gstutils.c: (gst_flow_get_name):
4041         Better debugging.
4042
4043 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4044
4045         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4046         (gst_base_src_get_range):
4047           Fix documentation typos. Add some more debug info.
4048
4049 2005-09-29  David Schleef  <ds@schleef.org>
4050
4051         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4052           more end-user friendly.
4053         * tools/gst-inspect.c: (main): Check if command-line argument is
4054           a file and attempt to load that file as a plugin.
4055
4056 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4057
4058         * check/gst/gstbin.c:
4059         * check/states/sinks.c:
4060           fix tests for the new warning
4061         * check/gst/gstpipeline.c:
4062           add a test for pipeline and bus interaction
4063         * gst/gstelement.c:
4064           elements should be NULL if they get disposed; add a warning if not
4065
4066 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         * gst/gstobject.c:
4069           for 2.6 refcounting, make debug log more correct by printing
4070           the actual refcounts at the time of swap (Wim)
4071
4072 2005-09-29  Andy Wingo  <wingo@pobox.com>
4073
4074         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4075         removes signal watches previously added via
4076         gst_bus_add_signal_watch.
4077         (gst_bus_add_signal_watch): Don't return the source id, just store
4078         it on the bus if there wasn't an id already.
4079
4080         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4081         add_signal_watch and remove_signal_watch.
4082
4083 2005-09-29  Edward Hervey  <edward@fluendo.com>
4084
4085         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4086         Better if we actually iterate the list :)
4087
4088 2005-09-29  Wim Taymans  <wim@fluendo.com>
4089
4090         * check/gst/gstbin.c: (GST_START_TEST):
4091         Change for new bus API.
4092
4093         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4094         (send_messages), (GST_START_TEST), (gstbus_suite):
4095         Change for new bus signal API.
4096
4097         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4098         (gst_bus_source_prepare), (gst_bus_source_check),
4099         (gst_bus_create_watch), (gst_bus_add_watch_full),
4100         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4101         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4102         * gst/gstbus.h:
4103         Remove support for multiple GSources operating on different
4104         message types as it is too complex and unneeded when using
4105         signals.
4106         Added support for receiving signals from the bus.
4107
4108 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4109
4110         * docs/libs/tmpl/gstdataprotocol.sgml:
4111         * docs/manual/advanced-dataaccess.xml:
4112         * gst/elements/gstcapsfilter.c:
4113         * gst/gstutils.c:
4114           rename filter-caps to caps property
4115
4116 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4117
4118         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4119           More robust fraction string parsing.
4120
4121         * docs/pwg/appendix-porting.xml:
4122           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4123
4124 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4125
4126         * gst/gstcaps.c: (gst_caps_do_simplify):
4127           Thou shalt not free a structure and then continue using it
4128           in the next loop iteration.
4129
4130         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4131         (gst_caps_suite):
4132           Add test case for caps simplification.
4133
4134 2005-09-29  Wim Taymans  <wim@fluendo.com>
4135
4136         * check/gst/gstbin.c: (GST_START_TEST):
4137         Oops.
4138
4139 2005-09-29  Wim Taymans  <wim@fluendo.com>
4140
4141         * check/gst/gstbin.c: (GST_START_TEST):
4142         Add bus to bin.
4143
4144         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4145         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4146         (find_element), (gst_bin_sort_iterator_next),
4147         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4148         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4149         (gst_bin_change_state), (gst_bin_dispose):
4150         A bin does not have a bus, it gets the bus from the parent.
4151
4152         * gst/gstelement.c: (gst_element_requires_clock),
4153         (gst_element_provides_clock), (gst_element_is_indexable),
4154         (gst_element_is_locked_state), (gst_element_change_state),
4155         (gst_element_set_bus_func):
4156         Small cleanups.
4157
4158         * gst/gstpipeline.c: (gst_pipeline_class_init),
4159         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4160         The pipeline provides a bus.
4161
4162 2005-09-28  Johan Dahlin  <johan@gnome.org>
4163
4164         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4165         gst_structure_get_enum instead of gst_structure_get_int
4166
4167         * gst/gststructure.c (gst_structure_get_enum): Impl.
4168
4169         * gst/gststructure.h (gst_structure_get_enum): Add
4170
4171         * docs/gst/gstreamer-sections.txt: Ditto
4172
4173         * gst/gstmessage.c (gst_message_new_state_changed): Use
4174         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4175         which does introspection.
4176         Reviewed by Christian Schaller
4177
4178 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4179
4180         * gst/gstinfo.c: (gst_debug_log_default):
4181           don't do dummy g_strdup()s
4182         * libs/gst/controller/gstcontroller.c:
4183         (on_object_controlled_property_changed),
4184         (gst_controlled_property_new), (gst_controller_new_valist),
4185         (gst_controller_new_list),
4186         (gst_controller_remove_properties_valist), (gst_controller_set),
4187         (gst_controller_get), (gst_controller_sync_values),
4188         (gst_controller_get_value_array), (_gst_controller_class_init),
4189         (gst_controller_get_type):
4190         * libs/gst/controller/gstcontroller.h:
4191         * libs/gst/controller/gstinterpolation.c:
4192         (gst_controlled_property_find_timed_value_node):
4193           convert // to /**/ comments
4194
4195 2005-09-28  Wim Taymans  <wim@fluendo.com>
4196
4197         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4198         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4199         (gst_bus_sync_signal_handler):
4200         * gst/gstbus.h:
4201         Added async-message and sync-message signals to the bus.
4202         Added helper BusFunc to emit signals for all posted messages.
4203
4204         * gst/gstmessage.c: (gst_message_type_get_name),
4205         (gst_message_type_to_quark), (gst_message_get_type):
4206         * gst/gstmessage.h:
4207         Register quarks for message names.
4208
4209 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4210
4211         * docs/libs/gstreamer-libs-sections.txt:
4212         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4213         (gst_controller_new_list):
4214         * libs/gst/controller/gstcontroller.h:
4215           added another constructor for language bindings
4216
4217 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4218
4219         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4220           add another check
4221         * gst/gstbus.c:
4222           add some doc
4223         * gst/gstinfo.c: (_gst_debug_init):
4224           slightly more readable color for refcount debugging
4225
4226 2005-09-28  Wim Taymans  <wim@fluendo.com>
4227
4228         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4229         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4230         (find_element), (gst_bin_sort_iterator_next),
4231         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4232         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4233         (gst_bin_change_state), (gst_bin_dispose):
4234         Small doc fixes. get_clock -> provide_clock.
4235
4236         * gst/gstelement.c: (gst_element_class_init),
4237         (gst_element_provides_clock), (gst_element_provide_clock),
4238         (gst_element_get_clock), (gst_element_commit_state),
4239         (gst_element_lost_state):
4240         * gst/gstelement.h:
4241         Make get/set_clock() symetric. Add provide_clock vmethod since
4242         that is actually what this function does.
4243
4244         * gst/gstpipeline.c: (gst_pipeline_class_init),
4245         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4246         (gst_pipeline_get_clock):
4247         get_clock -> provide_clock.
4248
4249 2005-09-28  Andy Wingo  <wingo@pobox.com>
4250
4251         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4252         lieu of real docs...
4253
4254         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4255
4256 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4257
4258         * gst/elements/gstcapsfilter.c:
4259         * gst/elements/gstfakesink.c:
4260         * gst/elements/gstfakesrc.c:
4261         * gst/elements/gstfdsink.c:
4262         * gst/elements/gstfdsrc.c:
4263         * gst/elements/gstfilesink.c:
4264         * gst/elements/gstfilesrc.c:
4265         * gst/elements/gstidentity.c:
4266         * gst/elements/gsttee.c:
4267         * gst/elements/gsttypefindelement.c:
4268           Make element details static.
4269
4270 2005-09-28  Wim Taymans  <wim@fluendo.com>
4271
4272         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4273         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4274         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4275         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4276         (gst_bin_change_state), (gst_bin_dispose):
4277         Some documentation updates.
4278         Clean up dispose handlers.
4279
4280         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4281         * gst/gstpad.c: (gst_pad_dispose):
4282         Clean up dispose handler.
4283
4284         * gst/gstpipeline.c: (gst_pipeline_change_state):
4285         Removed spurious UNLOCK.
4286
4287 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4288
4289         * docs/gst/gstreamer-sections.txt:
4290         * gst/base/gstbasesrc.h:
4291         * gst/gstelement.h:
4292         * gst/gstevent.h:
4293         * gst/gstobject.h:
4294         * gst/gstpad.h:
4295         * gst/gstpipeline.c:
4296         * gst/gstpipeline.h:
4297         * gst/gstutils.h:
4298         * gst/gstxml.h:
4299           added two new functions to the docs
4300                 documents all undocumented GstXXXFlags
4301                 completed some incomplete docs 
4302
4303 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4304
4305         * gst/gstbin.c: (gst_bin_dispose):
4306         * gst/gstelement.c: (gst_element_dispose):
4307           remove now useless and leaky resurrection code in dispose
4308         * gst/base/gstbasesrc.c: (gst_base_src_init):
4309         * gst/gstelementfactory.c: (gst_element_factory_create):
4310         * gst/gstobject.c: (gst_object_set_parent):
4311           add some debugging
4312
4313 2005-09-27  Wim Taymans  <wim@fluendo.com>
4314
4315         * docs/design/part-TODO.txt:
4316         Update TODO.
4317
4318         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4319         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4320         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4321         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4322         (gst_bin_change_state):
4323         * gst/gstelement.h:
4324         Remove element variable, we keep element info in the iterator now.
4325
4326 2005-09-27  Andy Wingo  <wingo@pobox.com>
4327
4328         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4329         values.
4330
4331 2005-09-27  Wim Taymans  <wim@fluendo.com>
4332
4333         * check/gst/gstbin.c: (GST_START_TEST):
4334         Enable check that works now.
4335
4336         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4337         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4338         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4339         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4340         (gst_bin_change_state):
4341         * gst/gstbin.h:
4342         Redid the state change algorithm using a topological sort algo.
4343         Handles all cases correctly.
4344         Exposed iterator for state change order.
4345
4346         * gst/gstelement.h:
4347         Temp storage for state changes. Need to get rid of this soon.
4348
4349 2005-09-27  Wim Taymans  <wim@fluendo.com>
4350
4351         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4352         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4353         (link_fold_func), (gst_pad_proxy_setcaps):
4354         Leak fixes, the fold functions need to unref the passed object and
4355         _get_parent_*() returns ref to parent.
4356
4357 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4358
4359         * check/gst/gstbuffer.c: (test_make_writable):
4360           Plug leak in test case and fix 'make check-valgrind'
4361
4362 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4363
4364         * gst/gstbuffer.c: (gst_subbuffer_init):
4365           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4366           works correctly in all circumstances (we could have just copied
4367           the parent buffer's readonly flag, but conceptually it seems
4368           cleaner to mark all subbuffers as read-only). (based on patch
4369           by Alessandro Decina, #314710).
4370         
4371         * check/gst/gstbuffer.c: (create_read_only_buffer),
4372         (test_make_writable), (test_subbuffer_make_writable),
4373         (gst_test_suite):
4374           Add some tests for gst_buffer_make_writable().
4375
4376 2005-09-27  Wim Taymans  <wim@fluendo.com>
4377
4378         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4379         use gst_object_has_ancestor().
4380
4381         * gst/gstobject.c: (gst_object_has_ancestor):
4382         * gst/gstobject.h:
4383         gst_object_has_ancestor() copied from gstbin.c as it is a
4384         usefull function.
4385
4386         * tests/instantiate/create.c: (create_all_elements):
4387         * tests/lat.c: (handoff_src), (handoff_sink):
4388         * tests/sched/runxml.c: (main):
4389         * tests/seeking/seeking1.c: (main):
4390         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4391         (main):
4392         Fix compilation of some tests.
4393
4394 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4395
4396         * gst/gsterror.h:
4397           Remove comment. GST_TYPE_G_ERROR is here to stay,
4398           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4399           (#316961, #300610).
4400
4401 2005-09-26  Wim Taymans  <wim@fluendo.com>
4402
4403         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4404         Added check that shows error in state change order.
4405
4406 2005-09-26  Wim Taymans  <wim@fluendo.com>
4407
4408         * gst/gstbin.c: (gst_bin_change_state):
4409         Make state change function use 3 queues again, we were
4410         adding elements in the wrong order.
4411
4412         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4413         Some debug info,
4414
4415         * gst/gstpad.c: (gst_pad_dispose):
4416         Added some debug info first.
4417
4418 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4419
4420         * docs/design/draft-push-pull.txt:
4421         * docs/design/part-events.txt:
4422         * docs/design/part-overview.txt:
4423         * docs/design/part-scheduling.txt:
4424           Replace all _pull_region() with _pull_range()
4425           
4426 2005-09-26  Andy Wingo  <wingo@pobox.com>
4427
4428         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4429
4430         * check/gst-libs/controller.c: Update for controller api change.
4431
4432         * configure.ac: 
4433         * tests/Makefile.am:
4434         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4435         over by GLib bug 118439.
4436         
4437         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4438         routines to a function.
4439
4440         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4441
4442         * libs/gst/controller/gsthelper.c:
4443         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4444         (gst_object_sync_values): Renamed from sink_values. Ugh.
4445
4446         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4447
4448         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4449         Renamed from controller_key, as it is exported.
4450
4451         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4452
4453 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4454
4455         * gst/Makefile.am:
4456         * gst/gst.h:
4457         * gst/gstpad.h:
4458         * gst/gstpadtemplate.h:
4459         * gst/gstquery.c:
4460         * gst/gstquery.h:
4461         * gst/gstqueryutils.c:
4462         * gst/gstqueryutils.h:
4463           remove queryutils headers after moving the two used functions
4464           to gstquery.  also fixes build problem for gstsiddec
4465
4466 2005-09-26  Michael Smith <msmith@fluendo.com>
4467
4468         * tools/gst-launch.1.in:
4469         Correct documentation in manpage of debug syntax
4470
4471 2005-09-26  Wim Taymans  <wim@fluendo.com>
4472
4473         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4474         (gst_base_src_is_seekable), (gst_base_src_change_state):
4475         Some more debugging info.
4476
4477 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4478
4479         * docs/gst/gstreamer-sections.txt:
4480         * gst/base/gstbasetransform.h:
4481         * gst/gstindex.h:
4482           added more docs
4483
4484 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4485
4486         * docs/gst/.cvsignore:
4487         * docs/gst/tmpl/.cvsignore:
4488         * docs/gst/tmpl/gstpipeline.sgml:
4489         * docs/gst/tmpl/gstplugin.sgml:
4490         * gst/gstpipeline.c:
4491         * gst/gstplugin.c:
4492         * gst/gstplugin.h:
4493           inlined the last two docs files
4494           removed the tmpl directory from cvs (no more conflicts here!)
4495
4496 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4497
4498         * docs/gst/gstreamer-sections.txt:
4499         * docs/gst/tmpl/.cvsignore:
4500         * docs/gst/tmpl/gstpad.sgml:
4501         * docs/gst/tmpl/gstpadtemplate.sgml:
4502         * gst/Makefile.am:
4503         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4504         (gst_pad_finalize), (gst_pad_set_pad_template):
4505         * gst/gstpad.h:
4506         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4507         (gst_pad_template_class_init), (gst_pad_template_init),
4508         (gst_pad_template_dispose), (name_is_valid),
4509         (gst_static_pad_template_get), (gst_pad_template_new),
4510         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4511         (gst_pad_template_pad_created):
4512         * gst/gstpadtemplate.h:
4513           inlined two more docs
4514           factored gstpadtemplate out of gstpad
4515
4516 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4519         (test_children_state_change_order_semi_sink):
4520           Fix test case: we can't rely on a fixed state change order when
4521           going from READY => PAUSED because the sink might commit its 
4522           new state first when the first buffer created by the source 
4523           reaches the sink before the source has finished its change state.
4524           (Test case still fails at times, see #316856, comment 5 onwards)
4525
4526 2005-09-24  Wim Taymans  <wim@fluendo.com>
4527
4528         * docs/design/part-events.txt:
4529         * docs/design/part-gstbus.txt:
4530         * docs/design/part-gstpipeline.txt:
4531         * docs/design/part-messages.txt:
4532         * docs/design/part-overview.txt:
4533         * docs/design/part-segments.txt:
4534         * gst/gstbin.c:
4535         * gst/gstbuffer.c:
4536         * gst/gstclock.c:
4537         * gst/gstelement.c:
4538         * gst/gstevent.c:
4539         * gst/gstfilter.c:
4540         * gst/gstiterator.c:
4541         Various documentation updates.
4542
4543 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4544
4545         * gst/gstclock.h:
4546           Well, that's embarassing.  Luckily we weren't using
4547           GST_CLOCK_DIFF anywhere.
4548
4549 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4550
4551         * common/gtk-doc.mak:
4552           don't fail on building XML, FC4 slave shows a bunch of doc
4553           missing bits that I don't get
4554         * gst/gstpad.c:
4555         * gst/gstpipeline.c:
4556         * gst/gststructure.c:
4557           some doc updates
4558
4559 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4560
4561         * docs/design/part-gstbin.txt:
4562         * docs/design/part-gstbus.txt:
4563         * gst/gstbus.c:
4564           Add blurb about how the bus goes into flushing mode and
4565           drops all messages when its bin goes from READY into NULL 
4566           state.
4567
4568 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4569
4570         * docs/gst/gstreamer-sections.txt:
4571         * gst/gststructure.c: (gst_structure_get_clock_time):
4572         * gst/gststructure.h:
4573           add a method to get a GstClockTime out of a structure
4574
4575 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4576
4577         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4578         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4579           Added test to check state change order in bins (can still be made
4580           to fail here under heavy disk load; bails out with 'Push on pad
4581           fakesink:sink0, but it was not activated in push mode').
4582
4583         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4584           Fix state change order when there is only a semi sink (#316856)
4585
4586         * gst/gstbus.c: (gst_bus_class_init):
4587           Use _class_peek_parent(), not _class_ref(); fix docs to say
4588           'default main context' instead of 'mainloop' where that is
4589           what's meant.
4590
4591         * gst/gstelement.c: (gst_element_commit_state),
4592         (gst_element_set_state):
4593           Fix typos in debug messages
4594
4595 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4596
4597         * docs/README:
4598         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4599         * gst/gstpluginfeature.c:
4600         * gst/gstutils.c:
4601           various doc updates
4602         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4603           change an assert into an error until it gets fixed properly
4604
4605 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4606
4607         * docs/gst/gstreamer-sections.txt:
4608         * docs/gst/tmpl/.cvsignore:
4609         * docs/gst/tmpl/gstelement.sgml:
4610         * docs/gst/tmpl/gstinfo.sgml:
4611         * docs/gst/tmpl/gstobject.sgml:
4612         * gst/gstelement.c:
4613         * gst/gstelement.h:
4614         * gst/gstinfo.c:
4615         * gst/gstinfo.h:
4616         * gst/gstobject.c: (gst_object_class_init):
4617         * gst/gstobject.h:
4618           inlined 3 more biiiig doc files and added some missing docs on the fly
4619
4620 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4621
4622         * check/gst/.cvsignore:
4623         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4624         * gst/gstregistryxml.c: (load_plugin),
4625         (gst_registry_xml_save_plugin):
4626           put back source in registry.  add checks for find_plugin.
4627         * testsuite/states/bin.c: (assert_state), (empty_bin),
4628         (test_adding_one_element), (main):
4629         * testsuite/states/locked.c: (main):
4630           some compile/run fixes
4631
4632 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4633
4634         * check/gst/gstvalue.c: (GST_START_TEST):
4635           fix leaks in the test itself
4636
4637 2005-09-22  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4640         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4641         (gst_base_sink_query):
4642         Prepare for more accurate position reporting and query
4643         handling.
4644
4645         * gst/gstelement.c: (gst_element_send_event),
4646         (gst_element_set_state):
4647         Add some comment.
4648
4649 2005-09-22  Wim Taymans  <wim@fluendo.com>
4650
4651         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4652         (gst_query_parse_segment):
4653         * gst/gstquery.h:
4654         More documentation.
4655         Add segment query for future use.
4656
4657 2005-09-22  Wim Taymans  <wim@fluendo.com>
4658
4659         * gst/gstbin.c: (gst_bin_add_func):
4660         Some more debug info.
4661
4662         * gst/gstelement.c: (gst_element_send_event):
4663         Simplify send_event
4664
4665         * gst/gstelement.h:
4666         Don't know how flags got broken.
4667
4668         * gst/gstquery.h:
4669         Added new query.
4670
4671 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4672
4673         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4674           Add simplistic test suite for GST_TYPE_DATE serialisation and
4675           deserialisation.
4676
4677 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4678
4679         * docs/gst/gstreamer-sections.txt:
4680         * gst/gststructure.c: (gst_structure_set_valist),
4681         (gst_structure_get_date):
4682         * gst/gststructure.h:
4683         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4684         (gst_date_copy), (gst_value_compare_date),
4685         (gst_value_serialize_date), (gst_value_deserialize_date),
4686         (gst_value_transform_date_string),
4687         (gst_value_transform_string_date), (_gst_value_initialize):
4688         * gst/gstvalue.h:
4689           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4690           bunch of utility functions along with a hack that checks that
4691           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4692           is required. Part of the grand scheme in #170777.
4693
4694 2005-09-22  Andy Wingo  <wingo@pobox.com>
4695
4696         * gst/gstconfig.h.in: Psych out gtk-doc.
4697
4698         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4699
4700         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4701
4702         * tools/gst-inspect.c (print_element_list): Plug some
4703         inconsequential leaks.
4704
4705         * gst/gstregistry.c (gst_registry_get_default): Doc.
4706
4707         * check/gst/gstplugin.c: 
4708         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4709         * gst/gstelementfactory.c (gst_element_factory_create): 
4710         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4711         refcount changes.
4712
4713         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4714         (gst_plugin_feature_load): Doc, don't eat refs.
4715
4716         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4717         (gst_plugin_list_free): Doc.
4718         (gst_plugin_load_file): Doc updates.
4719
4720         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4721         accessors returning refcounted objects, return a ref.
4722
4723         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4724         accessor for caps. IDEMPOTENCE. Oh yes.
4725
4726 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4727
4728         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4729
4730         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4731         (_gst_debug_register_funcptr):
4732           Add mutex to serialise access to the hash table with
4733           the function pointer => function name string mapping;
4734           make that hash table static scope (#316809).
4735
4736         * gst/registries/.cvsignore:
4737           Remove left-over file.
4738
4739 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4740
4741         * docs/pwg/appendix-porting.xml:
4742           And something about newsegment events and caps-on-buffers to
4743           the porting guide (feel free to improve).
4744
4745 2005-09-21  Andy Wingo  <wingo@pobox.com>
4746
4747         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4748         data and event probes on the same pad.
4749         (test_buffer_probe_once): Test that removing probes from within
4750         the probe functions works.
4751
4752 2005-09-21  Andy Wingo  <wingo@pobox.com>
4753
4754         * check/gst/gstutils.c: New file.
4755         (test_buffer_probe_n_times): A simple buffer probe test. More to
4756         come, foolios.
4757
4758         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4759         have-data::buffer, not have-data.
4760         (gst_pad_add_event_probe): Likewise for have-data::event.
4761         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4762         peer' isn't quite right yet though.
4763         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4764         (gst_pad_remove_data_probe): Change to take the guint handler_id
4765         as their arg, not the function+data, which is more glib-like.
4766
4767         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4768         the signal emission to indicate if the data is a buffer or an
4769         event.
4770         (gst_pad_get_type): Initialize buffer and event quarks.
4771         (gst_pad_class_init): have-data is now a detailed signal, yes it
4772         is.
4773
4774 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4775
4776         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4777         * gst/gstutils.c: (gst_util_set_value_from_string),
4778         (gst_util_set_object_arg):
4779           Don't put functional code in g_return_if_fail() or
4780           g_return_val_if_fail() statements, otherwise things will 
4781           break when G_DISABLE_CHECKS is defined during compilation.
4782
4783 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4784
4785         * docs/gst/tmpl/.cvsignore:
4786         * docs/gst/tmpl/gstvalue.sgml:
4787         * gst/gstvalue.c:
4788         * gst/gstvalue.h:
4789           inlied another one and added  some obvious docs
4790
4791 2005-09-21  Wim Taymans  <wim@fluendo.com>
4792
4793         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4794         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4795         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4796         (gst_fdsrc_get_property), (gst_fdsrc_create):
4797         * gst/elements/gstfdsrc.h:
4798         Properly implement fdsrc. Removed signal and timeout,
4799         better implemented somewhere else.
4800
4801 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4802
4803         * docs/gst/tmpl/.cvsignore:
4804         * docs/gst/tmpl/gstimplementsinterface.sgml:
4805         * gst/gstinterface.c:
4806           inlined more docs
4807
4808 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4809
4810         * docs/gst/gstreamer-sections.txt:
4811         * docs/gst/tmpl/.cvsignore:
4812         * docs/gst/tmpl/gstenumtypes.sgml:
4813           remove obsolete doc file
4814
4815 2005-09-21  David Schleef  <ds@schleef.org>
4816
4817         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4818         little beer, fix a little leak.
4819
4820 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4821
4822         * docs/gst/gstreamer-docs.sgml:
4823         * docs/gst/gstreamer-sections.txt:
4824         * docs/gst/tmpl/.cvsignore:
4825         * gst/Makefile.am:
4826         * gst/gst.h:
4827         * gst/gstbin.c:
4828         * gst/gstelement.h:
4829         * gst/gstindex.c: (gst_index_class_init):
4830         * gst/gstindex.h:
4831         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4832         (gst_index_factory_class_init), (gst_index_factory_init),
4833         (gst_index_factory_finalize), (gst_index_factory_new),
4834         (gst_index_factory_destroy), (gst_index_factory_find),
4835         (gst_index_factory_create), (gst_index_factory_make):
4836         * gst/gstindexfactory.h:
4837         * gst/gstpluginfeature.c:
4838         * gst/gstpluginfeature.h:
4839         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4840           more docs inlined, splitted gstindex.{c,h}
4841
4842 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4843
4844         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4845           fix a leak
4846
4847 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4848
4849         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4850           Set sync to FALSE by default.
4851
4852 2005-09-20  Wim Taymans  <wim@fluendo.com>
4853
4854         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4855         (gst_base_sink_init):
4856         Make sync property settable from subclass.
4857
4858         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4859         (gst_fake_sink_change_state):
4860         Set sync to FALSE by default.
4861
4862 2005-09-20  Wim Taymans  <wim@fluendo.com>
4863
4864         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
4865         * tools/gst-launch.c: (main):
4866         The timeout handler should have lower priority than the source
4867         so we don't timeout before popping a message with 0 timeout.
4868         Dump error messages after failed state change.
4869
4870 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4871
4872         * tools/gst-inspect.c: (print_element_properties_info):
4873           Fix two typos.
4874
4875 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4876
4877         * check/gst/gstevent.c:
4878         * gst/elements/gstfakesink.c:
4879         * gst/elements/gstfakesink.h:
4880           remove the sync property from fakesink.
4881           has the side effect of setting sync TRUE
4882           for fakesink, which is a change.  Anyone who knows how
4883           to fix this nicely in a GObject-y way, feel free.
4884
4885 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4886
4887         * docs/gst/gstreamer-docs.sgml:
4888           remove probe refsection
4889
4890 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4891
4892         * check/Makefile.am:
4893           disable valgrinding the controller test again
4894         * docs/gst/gstreamer-sections.txt:
4895           update for api-changes
4896
4897 2005-09-20  Wim Taymans  <wim@fluendo.com>
4898
4899         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4900         (gst_base_sink_set_property), (gst_base_sink_get_property),
4901         (gst_base_sink_do_sync):
4902         * gst/base/gstbasesink.h:
4903         Added sync property to basesink to disable clock sync.
4904
4905 2005-09-20  Andy Wingo  <wingo@pobox.com>
4906
4907         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
4908         eating the caller's refcount.
4909
4910         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
4911         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4912         refcount.
4913
4914         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
4915         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
4916         of GLib 2.8 public, so we can know which refcount to check in
4917         tests.
4918
4919         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
4920         (gst_object_init): Only set the gst refcount if we're going ahead
4921         with the refcount hack.
4922
4923 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4924
4925         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4926         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4927           more leaks plumbed, added more debug-logging
4928         * gst/gstmacros.h:
4929           whitespace fix
4930
4931 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4932
4933         * gst/gstmessage.c:
4934           remove include of gstmemchunk.h
4935
4936 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4937
4938         * gst/gstclock.c: (_gst_clock_id_free):
4939           Commit from the Political Party For More Atomic CVS Commits,
4940           so that people don't waste too much of their day fishing
4941           out obvious leaks out of massive commits.
4942           Oh, and fix a pretty damn obvious leak in the memchunk
4943           removal code.
4944
4945 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4946
4947         * check/Makefile.am:
4948         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4949           plug mem-leak, re-add to valgrindable tests
4950
4951 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * gst/gstplugin.h:
4954           unbreak the build for those who have chronic arthritis
4955           and typing "make check" is just too taxing on the hands
4956
4957 2005-09-20  Andy Wingo  <wingo@pobox.com>
4958
4959         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
4960         really want it out, you should fix plugins at the same time.
4961
4962 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
4963
4964         * configure.ac:
4965         * docs/gst/gstreamer-sections.txt:
4966         * gst/gstobject.c:
4967           added missing symbols to api docs
4968           disable ref-count hack if we have glib >= 2.8
4969
4970 2005-09-19  David Schleef  <ds@schleef.org>
4971
4972         * docs/gst/Makefile.am: Ignore a few more internal headers
4973         * docs/gst/gstreamer-docs.sgml: Remove old sections
4974         * docs/gst/gstreamer-sections.txt: Remove old sections
4975         * docs/gst/tmpl/gstobject.sgml: update
4976         * docs/gst/tmpl/gstplugin.sgml: update
4977         * docs/gst/tmpl/gstpluginfeature.sgml: update
4978         * docs/random/ds/0.9-suggested-changes: update.
4979         * gst/Makefile.am: remove memchunk and trashstack, since they're
4980           not used.
4981         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
4982         * gst/gst.h: don't include some headers
4983         * gst/gstchildproxy.c: add gstmarshal.h
4984         * gst/gstclock.c: Don't use memchunks
4985         * gst/gstminiobject.c: Add some docs
4986         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
4987         * gst/gstobject.h: same
4988         * gst/gstplugin.c: include gstmacros.h
4989         * gst/gstplugin.h: don't include gstmacros.h, since it's private
4990         * gst/gstquery.c: don't use memchunks
4991         * gst/gstregistry.c: rename gst_registry_deinit()
4992         * gst/gstregistry.h: same
4993
4994 2005-09-19  David Schleef  <ds@schleef.org>
4995
4996         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
4997         * docs/libs/gstreamer-libs-sections.txt:
4998         * docs/libs/tmpl/gstgetbits.sgml:
4999         * docs/libs/tmpl/gstputbits.sgml:
5000
5001 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5002
5003         * win32/gstenumtypes.c:
5004         * win32/gstenumtypes.h:
5005           Update.
5006
5007 2005-09-19  Wim Taymans  <wim@fluendo.com>
5008
5009         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5010         Automatically PAUSE and RESUME a pipeline when a flushing seek
5011         is performed.
5012
5013 2005-09-19  Andy Wingo  <wingo@pobox.com>
5014
5015         * gst/gstregistry.h: Spacing fixen.
5016
5017 2005-09-19  Wim Taymans  <wim@fluendo.com>
5018
5019         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5020         Handle state change failure more correctly.
5021
5022 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5023
5024         * check/Makefile.am:
5025         * check/pipelines/cleanup.c: (run_pipeline):
5026         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5027         (GST_START_TEST):
5028           enable cleanup again after fixing the leak
5029         * docs/README:
5030           some more info on docs
5031
5032 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5033
5034         * check/Makefile.am:
5035           re-enable tests now that leaks are plugged
5036         * check/gst/gst.c:
5037         * check/gst/gstbin.c:
5038         * check/gst/gstpipeline.c:
5039           add some more tests while fixing leaks
5040         * common/check.mak:
5041           make sure binaries are uptodate when valgrinding/gdbing
5042         * gst/gst.c:
5043         * gst/gstelementfactory.c:
5044           remove a ref too many, and add a FIXME for when we get
5045           round to disposing of classes
5046         * gst/gstplugin.c:
5047           fix the refcounting when loading a plugin from a file and
5048           the code pretends that the pointer is the same even though
5049           of course it can change
5050         * gst/gstpluginfeature.c:
5051           unref plugins marked cached (a bit confusing as a name)
5052           as the docs state should be done
5053           various doc additions to explain refcounting
5054         * gst/gstregistry.c:
5055         * gst/gstregistryxml.c:
5056           debugging
5057
5058 2005-09-19  Wim Taymans  <wim@fluendo.com>
5059
5060         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5061         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5062         (send_messages), (GST_START_TEST), (gstbus_suite):
5063         * check/gst/gstpipeline.c: (GST_START_TEST):
5064         * check/pipelines/cleanup.c: (run_pipeline):
5065         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5066         (GST_START_TEST):
5067         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5068         (gst_bus_source_check), (gst_bus_source_dispatch),
5069         (gst_bus_create_watch), (gst_bus_add_watch_full),
5070         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5071         * gst/gstbus.h:
5072         * tools/gst-launch.c: (event_loop):
5073         * tools/gst-md5sum.c: (event_loop):
5074         GstBusHandler -> GstBusFunc, return value has the same meaning as
5075         any other GSource (FALSE == remove source).
5076         _add_watch() and _add_watch_full() now take a MessageType mask to
5077         only handle specific types of messages.
5078         _poll() returns the GstMessage instead of the message type to avoid
5079         race conditions.
5080         _have_pending() takes a MessageType mask now too.
5081         Added testsuite for multiple bus watches.
5082         Fix testsuites and applications for new bus API.
5083
5084 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5085
5086         * check/Makefile.am:
5087           mark a bunch of the tests as to fix until we fix them
5088
5089 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * common/check.mak:
5092           use GST_PLUGIN settings for valgrind tests as well, so we're
5093           valgrinding the correct thing
5094         * gst/gst.c: (init_post):
5095           plug another leak
5096
5097 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5098
5099         * gst/gst.c: (init_post), (gst_deinit):
5100         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5101         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5102         * gst/gstindex.c: (gst_index_factory_class_init),
5103         (gst_index_factory_finalize):
5104         * gst/gstobject.c: (gst_object_dispose):
5105         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5106         (gst_plugin_load_file), (gst_plugin_desc_free):
5107         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5108         (gst_plugin_feature_finalize):
5109         * gst/gstregistry.c: (gst_registry_class_init),
5110         (gst_registry_init), (gst_registry_finalize),
5111         (gst_registry_get_default), (gst_registry_deinit):
5112         * gst/gstregistry.h:
5113         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5114           various cleanups and memleak plugging.  make valgrind is happy now.
5115
5116 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         * common/check.mak:
5119           add a check-valgrind target
5120
5121 2005-09-18  David Schleef  <ds@schleef.org>
5122
5123         * tools/gst-inspect.c: Revert the GOption code.
5124
5125 2005-09-17  David Schleef  <ds@schleef.org>
5126
5127         * check/Makefile.am: Fix environment variables.
5128         * check/gst/gstplugin.c: Fix for API changes.
5129         * tools/gst-inspect.c: Fix for API changes.
5130         * tools/gst-xmlinspect.c: Fix for API changes.
5131         * gst/gstelementfactory.c:
5132         * gst/gstplugin.c:
5133         * gst/gstplugin.h:
5134         * gst/gstpluginfeature.c:
5135         * gst/gstpluginfeature.h:
5136         * gst/gstregistry.c:
5137         * gst/gstregistry.h:
5138         * gst/gstregistryxml.c:
5139         * gst/gsttypefind.c:
5140         * gst/gsttypefindfactory.c:
5141         * gst/indexers/gstfileindex.c:
5142         * gst/indexers/gstmemindex.c:
5143         * gst/schedulers/Makefile.am:
5144           Change registry to keep track of both plugins and features,
5145           removing the feature tracking from plugins themselves.
5146
5147 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5148
5149         * check/Makefile.am:
5150         * tools/gst-register.1.in:
5151           remove gst-register
5152
5153 2005-09-15  David Schleef  <ds@schleef.org>
5154
5155         * check/gst/gstplugin.c:
5156         * gst/gstelementfactory.c:
5157         * gst/gstplugin.c:
5158         * gst/gstpluginfeature.c:
5159         * gst/gstregistry.c:
5160           Getting tired of debugging.  Disabled all the unreffing of
5161           plugins and features, which fixes the segfaults, but of
5162           course leaks like crazy.  At least playbin works.
5163
5164 2005-09-15  David Schleef  <ds@schleef.org>
5165
5166         * check/gst/gstplugin.c: (register_check_elements),
5167         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5168         More testing
5169         * gst/elements/gsttypefindelement.c: Fix refcounting.
5170         * gst/gsttypefind.c:
5171         * gst/gsttypefindfactory.c:
5172         * gst/gsttypefindfactory.h:
5173
5174 2005-09-15  David Schleef  <ds@schleef.org>
5175
5176         * gst/gstindex.c: get refcounting correct.
5177         * gst/gstregistry.c: Handle the case where a feature/plugin is
5178           not found.
5179
5180 2005-09-15  David Schleef  <ds@schleef.org>
5181
5182         * check/Makefile.am:
5183         * check/gst/gstplugin.c: Add test
5184         * gst/gstplugin.c: Fix problems noticed by testsuite
5185         * gst/gstplugin.h:
5186         * gst/gstregistry.c: 
5187         * gst/gstregistry.h:
5188
5189 2005-09-15  David Schleef  <ds@schleef.org>
5190
5191         * gst/gstplugin.c: Implement semi-decent recounting and locking
5192           in plugins and plugin features.
5193         * gst/gstplugin.h:
5194         * gst/gstpluginfeature.c:
5195         * gst/gstpluginfeature.h:
5196         * gst/gstregistry.c:
5197
5198 2005-09-15  Michael Smith <msmith@fluendo.com>
5199
5200         * gst/gstregistry.c: (gst_registry_get_feature_list):
5201           Implement this. Makes oggdemux work; decodebin still broken.
5202
5203 2005-09-14  David Schleef  <ds@schleef.org>
5204
5205         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5206           #316076)
5207         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5208         * gst/check/Makefile.am:
5209         * libs/gst/controller/Makefile.am:
5210         * libs/gst/dataprotocol/Makefile.am:
5211
5212 2005-09-14  David Schleef  <ds@schleef.org>
5213
5214         * configure.ac: Remove getbits library.  Nothing uses it, and
5215           it should be in something like liboil if someone did want
5216           to use it.
5217         * libs/gst/Makefile.am:
5218         * libs/gst/getbits/Makefile.am:
5219         * libs/gst/getbits/gbtest.c:
5220         * libs/gst/getbits/getbits.c:
5221         * libs/gst/getbits/getbits.h:
5222         * libs/gst/getbits/gstgetbits_generic.c:
5223         * libs/gst/getbits/gstgetbits_i386.s:
5224         * libs/gst/getbits/gstgetbits_inl.h:
5225
5226 2005-09-14  David Schleef  <ds@schleef.org>
5227
5228         * gst/Makefile.am: Dist glib-compat.h
5229
5230 2005-09-14  David Schleef  <ds@schleef.org>
5231
5232         * configure.ac: Remove gst/registries, since it's no longer used.
5233         * gst/registries/Makefile.am:
5234         * gst/registries/gstlibxmlregistry.c:
5235         * gst/registries/gstlibxmlregistry.h:
5236         * gst/registries/gstxmlregistry.c:
5237         * gst/registries/gstxmlregistry.h:
5238         * gst/registries/registrytest.c:
5239
5240 2005-09-14  David Schleef  <ds@schleef.org>
5241
5242         * gst/glib-compat.h:
5243         * gst/gstregistryxml.c:
5244           Convergence is near.  Seriously.
5245
5246 2005-09-14  David Schleef  <ds@schleef.org>
5247
5248         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5249         * gst/glib-compat.h:
5250           Attempt #4 to appease the buildbots.
5251
5252 2005-09-14  David Schleef  <ds@schleef.org>
5253
5254         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5255           Attempt #3.
5256
5257 2005-09-14  David Schleef  <ds@schleef.org>
5258
5259         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5260         Attempt #2.
5261
5262 2005-09-14  David Schleef  <ds@schleef.org>
5263
5264         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5265           the new functions.
5266
5267 2005-09-14  David Schleef  <ds@schleef.org>
5268
5269         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5270         * gst/glib-compat.h: Add some functions that are in newer versions
5271           of glib than we care to require.
5272         * gst/gstregistryxml.c: Use them.
5273
5274 2005-09-14  David Schleef  <ds@schleef.org>
5275
5276         * po/POTFILES.in: remove gst-register.c
5277
5278 2005-09-14  David Schleef  <ds@schleef.org>
5279
5280         * docs/gst/gstreamer-docs.sgml:
5281         * docs/gst/gstreamer-sections.txt:
5282         * docs/gst/gstreamer.types:
5283         * docs/gst/tmpl/gstelement.sgml:
5284         * docs/gst/tmpl/gstplugin.sgml:
5285         * docs/gst/tmpl/gstpluginfeature.sgml:
5286           Documentation updates for registry changes.
5287
5288 2005-09-14  David Schleef  <ds@schleef.org>
5289
5290         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5291           because we don't require glib-2.8.
5292
5293 2005-09-14  David Schleef  <ds@schleef.org>
5294
5295         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5296           registries directory.
5297
5298 2005-09-14  David Schleef  <ds@schleef.org>
5299
5300         * check/Makefile.am:
5301         * check/generic/states.c:
5302         * gst/Makefile.am:
5303         * gst/gst.c:
5304         * gst/gst.h:
5305         * gst/gst_private.h:
5306         * gst/gstelementfactory.c:
5307         * gst/gstindex.c:
5308         * gst/gstinfo.c:
5309         * gst/gstplugin.c:
5310         * gst/gstplugin.h:
5311         * gst/gstpluginfeature.c:
5312         * gst/gstpluginfeature.h:
5313         * gst/gstregistry.c:
5314         * gst/gstregistry.h:
5315         * gst/gstregistrypool.c: remove
5316         * gst/gstregistrypool.h: remove
5317         * gst/gsttypefind.c:
5318         * gst/gsttypefindfactory.c:
5319         * gst/gsturi.c:
5320         * tools/Makefile.am:
5321         * tools/gst-compprep.c:
5322         * tools/gst-inspect.c:
5323         * tools/gst-register.c: remove
5324         * tools/gst-xmlinspect.c:
5325           Registry rewrite.  Changes registry from being a file created
5326           by a tool into a simple cache file created automatically by 
5327           libgstreamer.  Removed gst-register (because it's no longer
5328           needed).  Remove registry pools, because we only have one
5329           registry implementation (XML).  Fix up other subsystems as
5330           necessary.
5331
5332 2005-09-13  Michael Smith <msmith@fluendo.com>
5333
5334         * gst/gstconfig.h.in:
5335           Don't Use windows linking attributes for MinGW. Fixes #316157
5336
5337 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5338
5339         * gst/gstutils.c: (set_state_async_thread_func),
5340         (gst_element_set_state_async):
5341           Apparently people think it's better if this function doesn't
5342           try to set the state to whatever state was asked for on the first
5343           call to this function for any object.  Seriously.
5344
5345 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5346
5347         * check/gst/gstpipeline.c: (GST_START_TEST):
5348         * docs/gst/gstreamer-sections.txt:
5349         * gst/gstutils.c: (set_state_async_thread_func),
5350         (gst_element_set_state_async):
5351         * gst/gstutils.h:
5352           add a "gst_element_set_state_async" method that
5353           sets the state and starts a thread to make sure the state
5354           change completes as best as it can
5355
5356 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5357
5358         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5359           codify design+behaviour in testsuite after discussion
5360
5361 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5362
5363         * docs/gst/tmpl/gstelement.sgml:
5364         * docs/manual/appendix-quotes.xml:
5365           add a quote
5366         * gst/gstelement.c: (gst_element_set_state):
5367           add some debug
5368
5369 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5370
5371         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5372         (gst_base_transform_prepare_output_buf),
5373         (gst_base_transform_handle_buffer):
5374         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5375         (gst_capsfilter_prepare_buf):
5376           Remove the requirement for sub-classes to call the parent
5377           implementation of prepare_output_buffer with a wrapper function.
5378           
5379         * gst/gsttaglist.h:
5380         * gst/gsttagsetter.h:
5381           Fix #define wrapper
5382
5383 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5384
5385         * docs/gst/gstreamer-sections.txt:
5386           more doc cleanups
5387
5388 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5389
5390         * docs/gst/gstreamer-sections.txt:
5391         * docs/gst/tmpl/gstelement.sgml:
5392         * docs/gst/tmpl/gstplugin.sgml:
5393         * gst/gstminiobject.c:
5394         * gst/gstvalue.h:
5395           docs now stop throwing warnings
5396
5397 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5398
5399         * docs/gst/gstreamer-sections.txt:
5400         * docs/gst/gstreamer.types:
5401         * docs/gst/tmpl/gstpad.sgml:
5402         * docs/gst/tmpl/gsttypes.sgml:
5403         * gst/base/gstadapter.h:
5404         * gst/base/gstbasesink.h:
5405         * gst/base/gstbasesrc.h:
5406         * gst/gstbin.h:
5407         * gst/gstbuffer.h:
5408         * gst/gstbus.h:
5409         * gst/gstcaps.h:
5410         * gst/gstclock.h:
5411         * gst/gstelement.h:
5412         * gst/gstevent.h:
5413         * gst/gstmessage.h:
5414         * gst/gstpad.h:
5415         * gst/gststructure.c:
5416         * gst/registries/gstlibxmlregistry.h:
5417           various documentation fixes
5418
5419 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5420
5421         * docs/gst/gstreamer-sections.txt:
5422         * docs/gst/tmpl/gstvalue.sgml:
5423           rearrange gstvalue section
5424         * gst/gstutils.c: (gst_element_state_get_name):
5425           NONE -> VOID
5426         * gst/gstvalue.c: (_gst_value_initialize):
5427         * gst/gstvalue.h:
5428           doc updates
5429
5430 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5431
5432         * check/gst-libs/controller.c:
5433           Header include fix.
5434         * gst/base/gstbasetransform.c:
5435         (gst_base_transform_default_prepare_buf),
5436         (gst_base_transform_handle_buffer):
5437         * gst/base/gstbasetransform.h:
5438           Some more basetransform changes and fixes to enable sub-classes
5439           that modify buffer metadata only.
5440         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5441         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5442         (gst_capsfilter_prepare_buf):
5443           If the output pad has fixed allowed caps and input buffers 
5444           don't have any, set the fixed caps on outgoing buffers.
5445
5446 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5447         * check/elements/identity.c: (GST_START_TEST):
5448           Make the error a little clearer when the test fails because
5449           identity made a copy of the buffer.
5450         * docs/gst/gstreamer-sections.txt:
5451           New symbols in gstbasetransform.h
5452         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5453         (gst_base_transform_init), (gst_base_transform_transform_size),
5454         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5455         (gst_base_transform_default_prepare_buf),
5456         (gst_base_transform_get_unit_size),
5457         (gst_base_transform_buffer_alloc),
5458         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5459         (gst_base_transform_change_state),
5460         (gst_base_transform_set_passthrough),
5461         (gst_base_transform_set_in_place),
5462         (gst_base_transform_is_in_place):
5463         * gst/base/gstbasetransform.h:
5464           Change BaseTransform to separate in_place operate from same_caps
5465           output. in_place implies that the element can perform the transform
5466           on incoming buffers in-place, even if the caps on the output are
5467           different.
5468           Sub-class elements can now implement special buffer allocation
5469           methods for outgoing buffers if they wish to.
5470           Big documentation addition.
5471         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5472         * gst/elements/gstelements.c:
5473           Changes for basetransform modifications.
5474         * gst/elements/Makefile.am:
5475         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5476           Compile fix. Extra debug output.
5477
5478 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5479
5480         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5481         (gst_pad_suite):
5482           add tests for valid pad naming
5483         * gst/check/gstcheck.c: (gst_check_log_message_func),
5484         (gst_check_log_critical_func):
5485           add ASSERT_WARNING
5486           remove printing of code, it is fragile when the code contains
5487           % and the line number is enough info
5488         * gst/check/gstcheck.h:
5489         * gst/gstpad.c: (gst_pad_template_new):
5490           fix memleaks
5491
5492 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5493
5494         * configure.ac:
5495           say what CHECK flags we use
5496         * docs/libs/gstreamer-libs.types:
5497         * libs/gst/controller/Makefile.am:
5498         * libs/gst/controller/gst-controller.c:
5499         * libs/gst/controller/gst-controller.h:
5500         * libs/gst/controller/gst-helper.c:
5501         * libs/gst/controller/gst-interpolation.c:
5502         * libs/gst/controller/gstcontroller.c:
5503         * libs/gst/controller/gsthelper.c:
5504         * libs/gst/controller/gstinterpolation.c:
5505         * tools/gst-inspect.c: (print_plugin_info):
5506           we don't use dashes in header names
5507
5508 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5509
5510         * check/Makefile.am:
5511         * check/gst/.cvsignore:
5512         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5513         (gst_pipeline_suite), (main):
5514           adding a test for pipelines and state changes
5515         * gst/gstutils.c: (get_state_func):
5516           add some debugging
5517         * gstreamer.spec.in:
5518           fix up spec file
5519
5520 2005-09-08  Michael Smith <msmith@fluendo.com>
5521
5522         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5523         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5524         (gst_file_src_is_seekable), (gst_file_src_get_size),
5525         (gst_file_src_start):
5526         * gst/elements/gstfilesrc.h:
5527           Various fixes for unseekable, unmmapable, and non-normal files, so
5528           that fallback to read() rather than mmap() works.
5529         * gst/gstevent.c: (gst_event_new_newsegment):
5530           Allow newsegment events with segment_start == segment_end, as will
5531           correctly happen if you use filesrc on a zero-size file, for
5532           example.
5533
5534 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5535
5536         * gst/gstplugin.c: (gst_plugin_load_file):
5537           Call g_module_close when we don't load the module
5538
5539         * gst/registries/gstlibxmlregistry.c:
5540         (gst_xml_registry_get_property):
5541           Port leak fix from 0.8
5542
5543 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5544
5545         * docs/gst/gstreamer-docs.sgml:
5546         * docs/gst/tmpl/.cvsignore:
5547         * docs/gst/tmpl/gsttrace.sgml:
5548         * docs/gst/tmpl/gsttrashstack.sgml:
5549         * gst/Makefile.am:
5550         * gst/gst.h:
5551         * gst/gstelement.h:
5552         * gst/gstevent.h:
5553         * gst/gstmessage.c:
5554         * gst/gstmessage.h:
5555         * gst/gsttag.c:
5556         * gst/gsttag.h:
5557         * gst/gsttaginterface.c:
5558         * gst/gsttaginterface.h:
5559         * gst/gsttaglist.c:
5560         * gst/gsttaglist.h:
5561         * gst/gsttagsetter.c:
5562         * gst/gsttagsetter.h:
5563         * gst/gsttrace.c:
5564         * gst/gsttrace.h:
5565         * gst/gsttrashstack.c:
5566           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5567           inlined docs for gsttrace, gsttrashstack
5568
5569 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5570
5571         * gst/Makefile.am:
5572         * gst/elements/gstbufferstore.h:
5573         * gst/elements/gsttypefindelement.c:
5574         * gst/elements/gsttypefindelement.h:
5575         * gst/gst.h:
5576         * gst/gsttypefind.c:
5577         * gst/gsttypefind.h:
5578         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5579         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5580         (gst_type_find_factory_dispose),
5581         (gst_type_find_factory_unload_thyself),
5582         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5583         (gst_type_find_factory_get_caps),
5584         (gst_type_find_factory_get_extensions),
5585         (gst_type_find_factory_call_function):
5586         * gst/gsttypefindfactory.h:
5587         * gst/registries/gstlibxmlregistry.c:
5588         * gst/registries/gstxmlregistry.c:
5589           splitted gsttypefind into gsttypefind, gsttypefindfactory
5590
5591 2005-09-07  Andy Wingo  <wingo@pobox.com>
5592
5593         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5594         condition whereby the pad's task function is entered before the
5595         pad_mode variable was set.
5596
5597 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5598
5599         * gst/gstpad.c: (gst_pad_alloc_buffer):
5600           Catch misbehaving pad_alloc functions that don't
5601           set up caps and do it for them.
5602
5603 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5604
5605         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5606           test for pipe!=NULL
5607         * docs/gst/tmpl/.cvsignore:
5608         * docs/gst/tmpl/gstmemchunk.sgml:
5609         * docs/gst/tmpl/gstparse.sgml:
5610         * docs/gst/tmpl/gsttaglist.sgml:
5611         * docs/gst/tmpl/gsttagsetter.sgml:
5612         * docs/gst/tmpl/gsttypefind.sgml:
5613         * docs/gst/tmpl/gsttypefindfactory.sgml:
5614         * gst/gstmemchunk.c:
5615         * gst/gstparse.c:
5616         * gst/gsttag.c:
5617         * gst/gsttaginterface.c:
5618         * gst/gsttypefind.c:
5619         * gst/gsttypefind.h:
5620           inlined more docs
5621
5622 === release 0.9.2 ===
5623
5624 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5625
5626         * NEWS:
5627         * RELEASE:
5628         * configure.ac:
5629           releasing 0.9.2, "South"
5630
5631 2005-09-05  Andy Wingo  <wingo@pobox.com>
5632
5633         * gst/registries/gstxmlregistry.h:
5634         * gst/registries/gstxmlregistry.c: Um... resurrect...
5635         
5636         * gst/registries/gstxmlregistry.h:
5637         * gst/registries/gstxmlregistry.c: and update to newer API.
5638         Incidentally they should be a bit faster now that they don't have
5639         to parse the caps.
5640         
5641 2005-09-05  Andy Wingo  <wingo@pobox.com>
5642
5643         * gst/registries/gstxmlregistry.h:
5644         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5645         replaced by the libxml registry a while back
5646
5647 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5648
5649         * docs/gst/tmpl/gstplugin.sgml:
5650         * gst/elements/gstelements.c:
5651         * gst/gst.c:
5652         * gst/gstplugin.c: (gst_plugin_register_func),
5653         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5654         (gst_plugin_get_source):
5655         * gst/gstplugin.h:
5656         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5657         (gst_xml_registry_save_plugin):
5658         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5659         (gst_xml_registry_save_plugin):
5660         * tools/gst-inspect.c: (print_plugin_info):
5661           add a "source" plugin description field, to represent the source
5662           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5663           will set it to PACKAGE, which is automake's idea of the name of
5664           the source project.
5665
5666 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5667
5668         * Makefile.am:
5669         * autogen.sh:
5670         * configure.ac:
5671         * docs/Makefile.am:
5672         * docs/faq/Makefile.am:
5673         * docs/gst/tmpl/gstelement.sgml:
5674         * docs/gst/tmpl/gsttypes.sgml:
5675         * docs/htmlinstall.mak:
5676         * docs/manual/Makefile.am:
5677         * docs/pwg/Makefile.am:
5678           reorganize doc build a little
5679           split out docbook and gtk-doc stuff
5680           have two separate --enable's and enable them through autogen
5681           but disable by default in configure (to be similar to other
5682           projects)
5683         * gstreamer.spec.in:
5684           clean up docs install
5685         * po/af.po:
5686         * po/az.po:
5687         * po/ca.po:
5688         * po/cs.po:
5689         * po/de.po:
5690         * po/en_GB.po:
5691         * po/fr.po:
5692         * po/it.po:
5693         * po/nb.po:
5694         * po/nl.po:
5695         * po/ru.po:
5696         * po/sq.po:
5697         * po/sr.po:
5698         * po/sv.po:
5699         * po/tr.po:
5700         * po/uk.po:
5701         * po/vi.po:
5702           translation updates
5703
5704 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5705
5706         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5707           Add comment.
5708           
5709         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5710         (gst_fake_sink_change_state):
5711           Make state change function thread-safe.
5712           
5713         * gst/gstpad.c: (gst_pad_alloc_buffer):
5714           Set offset on generic buffer allocated by fallback.
5715
5716 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5717
5718         * docs/gst/gstreamer-sections.txt:
5719         * docs/gst/tmpl/gstelement.sgml:
5720         * gst/gstpad.c:
5721         * libs/gst/controller/gst-controller.c:
5722         (gst_controlled_property_set_interpolation_mode),
5723         (gst_controlled_property_new),
5724         (gst_controller_find_controlled_property):
5725          run the wingo-magic script against the docs
5726
5727 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5728
5729         * docs/gst/gstreamer-docs.sgml:
5730         * docs/gst/gstreamer-sections.txt:
5731         * docs/gst/tmpl/.cvsignore:
5732         * docs/gst/tmpl/gstelementdetails.sgml:
5733         * docs/gst/tmpl/gstelementfactory.sgml:
5734         * gst/gst.c:
5735         * gst/gstbus.c:
5736         * gst/gstelementfactory.c:
5737         * gst/gstelementfactory.h:
5738           merged elementdetails docs into elementfactory docs
5739           inlined both
5740
5741 2005-09-02  Andy Wingo  <wingo@pobox.com>
5742
5743         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5744         consider this enum an enum and not a flags.
5745
5746 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5747
5748         * docs/gst/gstreamer-docs.sgml:
5749         * docs/gst/tmpl/.cvsignore:
5750         * docs/gst/tmpl/gstghostpad.sgml:
5751         * docs/gst/tmpl/gstiterator.sgml:
5752         * docs/gst/tmpl/gstmacros.sgml:
5753         * docs/gst/tmpl/gstrealpad.sgml:
5754         * docs/gst/tmpl/gstregistry.sgml:
5755         * docs/gst/tmpl/gstregistrypool.sgml:
5756         * docs/gst/tmpl/gststructure.sgml:
5757         * docs/gst/tmpl/gstsystemclock.sgml:
5758         * docs/gst/tmpl/gsttrace.sgml:
5759         * gst/gstghostpad.c:
5760         * gst/gstmacros.h:
5761         * gst/gstmemchunk.c:
5762         * gst/gstmemchunk.h:
5763         * gst/gstqueue.c:
5764         * gst/gstregistry.c:
5765         * gst/gstregistrypool.c:
5766         * gst/gststructure.c:
5767         * gst/gstsystemclock.c:
5768           more docs inlined
5769
5770 2005-09-02  Andy Wingo  <wingo@pobox.com>
5771
5772         * gst/gstelement.h (GstState): Renamed from GstElementState,
5773         changed to be a normal enum instead of flags.
5774         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5775         munged to be GST_STATE_CHANGE_*.
5776         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5777         work with the new state representation.
5778         (GstStateChange): New enumeration of possible state transitions.
5779         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5780         (GstElementClass::change_state): Pass the GstStateChange along as
5781         an argument. Helps language bindings, so they don't have to use
5782         tricky lock-needing macros like GST_STATE_CHANGE ().
5783
5784         * scripts/update-states (file): New script. Run it on a file to
5785         update it for state naming and API changes. Updates files in
5786         place.
5787
5788         * All files updated for the new API.
5789
5790 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5791
5792         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5793         * gst/gstutils.c: (gst_util_set_value_from_string),
5794         (gst_util_set_object_arg):
5795           fix a bunch of unchecked return values
5796         * tools/gst-complete.c: (main):
5797         * gstreamer.spec.in:
5798           clean up a little
5799
5800 2005-09-01  Wim Taymans  <wim@fluendo.com>
5801
5802         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5803         (gst_base_sink_event), (gst_base_sink_do_sync),
5804         (gst_base_sink_handle_event):
5805         * gst/base/gstbasesink.h:
5806         Handle newsegments more correctly.
5807
5808         * gst/gstbus.c:
5809         Fix docs.
5810
5811         * gst/gstevent.c: (gst_event_new_newsegment):
5812         A newsegment cannot have a start_time of -1
5813
5814 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5815
5816         * win32/gstenumtypes.c:
5817         * win32/gstenumtypes.h:
5818           Update
5819
5820 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5821
5822         * libs/gst/controller/gst-controller.c:
5823         (gst_controlled_property_set_interpolation_mode),
5824         (gst_controlled_property_new):
5825          fixed boolean again
5826
5827 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5828
5829         * docs/faq/gst-uninstalled:
5830           add -good
5831         * gst/gstevent.c:
5832         * gst/gstevent.h:
5833           remove wrong docs
5834         * gst/gstutils.c: (gst_element_link_filtered):
5835         * gst/gstutils.h:
5836           add gst_element_link_filtered
5837
5838 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5839
5840         * docs/gst/gstreamer-docs.sgml:
5841         * docs/gst/gstreamer-sections.txt:
5842         * docs/gst/tmpl/.cvsignore:
5843         * docs/gst/tmpl/gsterror.sgml:
5844         * docs/gst/tmpl/gstfilter.sgml:
5845         * docs/gst/tmpl/gsturihandler.sgml:
5846         * docs/gst/tmpl/gsturitype.sgml:
5847         * docs/gst/tmpl/gstutils.sgml:
5848         * docs/gst/tmpl/gstxml.sgml:
5849         * gst/gsterror.c:
5850         * gst/gsterror.h:
5851         * gst/gstfilter.c:
5852         * gst/gsturi.c:
5853         * gst/gsturitype.c:
5854         * gst/gstutils.c:
5855         * gst/gstxml.c:
5856           inlined more docs, fixed double id-ref
5857
5858 2005-08-31  Wim Taymans  <wim@fluendo.com>
5859
5860         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5861         (gst_base_transform_handle_buffer):
5862         Passthrough elements don't need the caps as they don't care.
5863
5864 2005-08-31  Wim Taymans  <wim@fluendo.com>
5865
5866         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5867         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
5868         Don't leak refcounts on buffers.
5869
5870 2005-08-31  Wim Taymans  <wim@fluendo.com>
5871
5872         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
5873         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5874         (gst_base_transform_chain), (gst_base_transform_change_state):
5875         * gst/base/gstbasetransform.h:
5876         Handle the case where we are not negotiated more gracefully.
5877
5878 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
5879
5880         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
5881         (gst_file_src_map_region):
5882           Set READONLY flag on mmap'ed buffers, otherwise
5883           gst_buffer_make_writable() won't work properly (#314708).
5884
5885 2005-08-31  Wim Taymans  <wim@fluendo.com>
5886
5887         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
5888         passthrough elements can even do inplace on non writable
5889         buffers (as they don't touch them).
5890
5891 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5892
5893         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5894         (gst_test_mono_source_set_property),
5895         (gst_test_mono_source_class_init), (GST_START_TEST),
5896         (gst_controller_suite):
5897           more tests (hehe I have the most)
5898         * gst/gstbus.c:
5899           describe popping messages whenusing mulltiple sources
5900         * libs/gst/controller/gst-controller.c:
5901         (gst_controlled_property_set_interpolation_mode),
5902         (gst_controlled_property_new):
5903         * libs/gst/controller/gst-controller.h:
5904         * libs/gst/controller/gst-interpolation.c:
5905           implement boolean properties
5906
5907 2005-08-31  Wim Taymans  <wim@fluendo.com>
5908
5909         * gst/gstminiobject.c: (gst_mini_object_ref):
5910         Cannot assert that the refcount has to be positive
5911         since a disposed object can be resurrected.
5912
5913 2005-08-31  Wim Taymans  <wim@fluendo.com>
5914
5915         * gst/gstpad.c: (gst_pad_init):
5916         Revert change, need to first fix badly behaving 
5917         apps.
5918
5919 2005-08-30  Wim Taymans  <wim@fluendo.com>
5920
5921         * check/elements/fakesrc.c: (setup_fakesrc):
5922         * check/elements/identity.c: (setup_identity):
5923         Activate pads before using them.
5924
5925 2005-08-30  Wim Taymans  <wim@fluendo.com>
5926
5927         * gst/base/gstadapter.c: (gst_adapter_flush):
5928         Flushing out 0 bytes is ok for this function.
5929
5930         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5931         no newsegment gives a warning and sets the start/stop to 
5932         invalid.
5933
5934         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
5935         (gst_base_transform_set_passthrough):
5936         Some debug info.
5937
5938         * gst/gstminiobject.c: (gst_mini_object_ref):
5939         Check refcount here too.
5940
5941         * gst/gstpad.c: (gst_pad_init):
5942         Pads are initially flushing and refusing data.
5943
5944         * gst/gstutils.c: (gst_element_link_pads_filtered):
5945         When adding a capsfilter element make sure it has the
5946         same state as the parent bin.
5947
5948 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5949
5950         * docs/gst/tmpl/.cvsignore:
5951         * docs/gst/tmpl/gstformat.sgml:
5952         * docs/gst/tmpl/gstversion.sgml:
5953         * gst/gstbus.h:
5954         * gst/gstformat.c:
5955         * gst/gstformat.h:
5956         * gst/gstversion.h.in:
5957           more docs and two more inlined
5958
5959 2005-08-30  Wim Taymans  <wim@fluendo.com>
5960
5961         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
5962         Don't sync to clock.
5963
5964 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5965
5966         * docs/gst/gstreamer-sections.txt:
5967           ultral33t func10ns deserve to appear in the docs actually
5968         * docs/gst/tmpl/.cvsignore:
5969         * docs/gst/tmpl/gstcompat.sgml:
5970         * docs/gst/tmpl/gstconfig.sgml:
5971         * gst/check/gstcheck.c:
5972         * gst/gstcompat.h:
5973         * gst/gstconfig.h.in:
5974           inlined more docs
5975
5976 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5977
5978         * docs/gst/tmpl/.cvsignore:
5979         * docs/gst/tmpl/gstquery.sgml:
5980         * docs/gst/tmpl/gstutils.sgml:
5981         * gst/gstquery.c:
5982         * gst/gstquery.h:
5983           inlined and extended docs
5984
5985 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5986
5987         * check/gst-libs/controller.c: (GST_START_TEST),
5988         (gst_controller_suite):
5989           more tests
5990         * docs/gst/tmpl/gstutils.sgml:
5991         * docs/libs/gstreamer-libs-sections.txt:
5992         * docs/libs/tmpl/gstdataprotocol.sgml:
5993           include path fixes
5994         * examples/controller/audio-example.c: (main):
5995           controller example works now
5996         * gst/gstclock.h:
5997           doc fixes
5998         * tools/gst-inspect.c: (print_element_properties_info):
5999           show param spec flags
6000
6001 2005-08-29  Andy Wingo  <wingo@pobox.com>
6002
6003         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6004
6005 2005-08-28  Andy Wingo  <wingo@pobox.com>
6006
6007         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6008         as having two arguments instead of just one. Allows superclasses
6009         to access information on subclasses -- see the terrible for() loop
6010         in gtype.c:g_type_create_instance for the reason why. All callers
6011         changed.
6012
6013 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6014
6015         * docs/design/part-messages.txt:
6016           update info
6017         * docs/gst/tmpl/.cvsignore:
6018         * docs/gst/tmpl/gstcaps.sgml:
6019         * docs/gst/tmpl/gstclock.sgml:
6020         * gst/gstbus.c:
6021         * gst/gstcaps.c:
6022         * gst/gstcaps.h:
6023         * gst/gstclock.c:
6024         * gst/gstclock.h:
6025         * gst/gstmessage.c:
6026           added descriptions for bus and message
6027           inline caps and clock docs
6028
6029 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6030
6031         * gst/gstmessage.c:
6032         * gst/gstmessage.h:
6033           doc fixes
6034
6035 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6036
6037         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6038           fix div-by-zero
6039
6040 2005-08-26  Andy Wingo  <wingo@pobox.com>
6041
6042         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6043         element_set_state's return val.
6044         (test_2_elements): Add test that's been disabled for months.
6045
6046         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6047         can-activate-pull properties.
6048
6049         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6050         can-activate-pull properties. Implement is_seekable so fakesrc can
6051         operate in pull mode.
6052
6053         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6054         properties.
6055         (gst_base_sink_activate, gst_base_sink_activate_pull)
6056         (gst_base_sink_activate_push): Make activation mode choosing work.
6057         Cleanups.
6058         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6059         is right. Make pull mode work. Post an eos before pausing in pull
6060         mode.
6061         (gst_base_sink_change_state): Pay attention to the core's
6062         change_state() return val.
6063         
6064         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6065         has-getrange properties. Cleanups.
6066         
6067         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6068         has_getrange and replace with can_activate_pull and
6069         can_activate_push.
6070
6071         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6072         locking comments. Remove has_loop, has_chain and replace with
6073         can_activate_pull and can_activate_push.
6074
6075 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6076
6077         * configure.ac:
6078         * examples/Makefile.am:
6079         * examples/metadata/Makefile.am:
6080         * examples/metadata/read-metadata.c: (message_loop),
6081         (have_pad_handler), (make_pipeline), (print_tag), (main):
6082           Add metadata reading example that loops over a list of filenames,
6083           dumping any tags found.
6084
6085         * gst/gstbus.c: (gst_bus_dispose):
6086         * gst/gstelement.c: (gst_element_dispose):
6087           Release a few potentially-held references in dispose.
6088
6089 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6090
6091         * docs/gst/tmpl/gstminiobject.sgml:
6092           do *not* add tmpl/*.sgml files to CVS!
6093
6094 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6095
6096         * libs/gst/bytestream/.cvsignore:
6097         * libs/gst/bytestream/Makefile.am:
6098         * libs/gst/bytestream/adapter.c:
6099         * libs/gst/bytestream/adapter.h:
6100         * libs/gst/bytestream/bytestream.c:
6101         * libs/gst/bytestream/bytestream.h:
6102         * libs/gst/bytestream/filepad.c:
6103         * libs/gst/bytestream/filepad.h:
6104           removing obsolete files
6105
6106 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6107
6108         * docs/gst/gstreamer-docs.sgml:
6109         * docs/libs/gstreamer-libs-docs.sgml:
6110           disabed additional index entries again, as this makes docs-gen just
6111           slow and they aren't useful yet
6112         * docs/libs/gstreamer-libs-sections.txt:
6113           little -section.txt cleanup for libs
6114
6115 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6116
6117         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6118         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6119           fix up some debugging
6120         (gst_base_transform_get_unit_size),
6121         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6122         (gst_base_transform_handle_buffer):
6123         * gst/base/gstbasetransform.h:
6124           handle and store timed NEWSEGMENT events so that subclasses that
6125           calculate time by counting samples have a segment_start time they
6126           need to add to their timestamps - see audioresample
6127
6128 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6129
6130         * gst/gstbin.h:
6131           removed ';' from the end of macro defs
6132         * docs/gst/gstreamer-docs.sgml:
6133         * docs/gst/gstreamer-sections.txt:
6134         * docs/gst/tmpl/.cvsignore:
6135         * gst/gstbus.h:
6136         * gst/gstelement.c: (gst_element_class_init),
6137         (gst_element_set_state), (activate_pads),
6138         (gst_element_save_thyself):
6139         * gst/gstevent.c: (gst_event_new_newsegment):
6140         * gst/gstevent.h:
6141         * gst/gstiterator.c:
6142         * gst/gstiterator.h:
6143         * gst/gstpad.c:
6144         * gst/gstprobe.h:
6145         * gst/gstutils.c: (gst_pad_query_convert):
6146         * gst/gstutils.h:
6147           fixed parameter name mismatches between source, header and docs
6148           added some more docs, resolved the last batch of unused elements in
6149           docs (now someone needs to doc them)
6150
6151 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6152
6153         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6154         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6155           don't walk through the plugins backwards.  Where is all this
6156           reversed logic coming from ?
6157
6158 2005-08-25  Wim Taymans  <wim@fluendo.com>
6159
6160         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6161         (gst_base_transform_transform_size),
6162         (gst_base_transform_configure_caps),
6163         (gst_base_transform_get_unit_size),
6164         (gst_base_transform_buffer_alloc),
6165         (gst_base_transform_change_state):
6166         * gst/base/gstbasetransform.h:
6167         Cache caps unit_size.
6168         Make sure we cannot negotiate up and downstream at the
6169         same time.
6170
6171 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6172
6173         * gst/gst.c: (init_pre), (init_post):
6174           register the installed plugin path after the env var
6175         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6176         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6177           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6178           directories, so the tests can prefer uninstalled over installed
6179
6180 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6181
6182         * gst/base/gstbasetransform.h:
6183           comment
6184         * gst/gstpad.c:
6185           add to docs
6186
6187 2005-08-25  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/gstbin.c: (bin_bus_handler):
6190         Be a bit more conservative about the posted message.
6191         
6192         * gst/gstbus.c: (gst_bus_post):
6193         Some cleanups, warn wrong return values.
6194
6195 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6196
6197         * check/gst/gstbin.c: (GST_START_TEST):
6198         * gst/gstbin.c: (bin_bus_handler):
6199         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6200         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6201         (gst_message_new_warning), (gst_message_new_tag),
6202         (gst_message_new_state_changed), (gst_message_new_segment_start),
6203         (gst_message_new_segment_done), (gst_message_new_custom):
6204         * gst/gstmessage.h:
6205         * tools/gst-launch.c: (event_loop):
6206         * tools/gst-md5sum.c: (event_loop):
6207           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6208
6209 2005-08-25  Wim Taymans  <wim@fluendo.com>
6210
6211         * check/generic/states.c: (GST_START_TEST):
6212         Cleanup can be done at the end.
6213
6214         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6215         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6216         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6217         Oh boy.. Thanks for finding this, Thomas. 
6218
6219 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6220
6221         * docs/gst/gstreamer.types:
6222           added missing types
6223
6224 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6225
6226         * docs/gst/gstreamer-docs.sgml:
6227         * docs/gst/gstreamer-sections.txt:
6228         * docs/gst/tmpl/.cvsignore:
6229         * gst/gstbin.c:
6230         * gst/gstiterator.c:
6231         * gst/gstutils.c:
6232         * gst/registries/gstxmlregistry.h:
6233           added missing classes and symbols (123 more to go)
6234           removed removed symbols from section file
6235           fixed many doc-comments
6236
6237 2005-08-24  Wim Taymans  <wim@fluendo.com>
6238
6239         * check/generic/states.c: (GST_START_TEST):
6240         Make sure all tasks are stopped.
6241
6242         * check/gst/gstbin.c: (GST_START_TEST):
6243         Unref after usage for proper valgrinding.
6244
6245         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6246         Really wait for the task to stop before destroying the
6247         mutex.
6248
6249         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6250         (gst_queue_src_activate_push):
6251         Small cleanups. Don't stop the task when we did not start
6252         it.
6253
6254         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6255         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6256         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6257         (gst_task_join):
6258         * gst/gsttask.h:
6259         Protect the stream lock with the object lock.
6260         Disallow setting the stream lock when running.
6261         Add cleanup_all to wait for the threadpool to finish.
6262         Remove code to autoallocate a mutex if none was provided.
6263         Add _join() to wait for a task to stop.
6264         Protect the thread pool with a global lock.
6265
6266 2005-08-24  Wim Taymans  <wim@fluendo.com>
6267
6268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6269         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6270         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6271         * gst/base/gstbasesink.h:
6272         Handle newsegment events correctly.
6273         Drop buffers out of the segment range.
6274
6275 2005-08-22  Andy Wingo  <wingo@pobox.com>
6276
6277         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6278         macro, implements an interface and gstimplementsinterface for a
6279         new type.
6280
6281 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6282
6283         * check/Makefile.am:
6284         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6285           add a test that does a bunch of state changes on elements
6286           needs some fixing for valgrind
6287         * check/states/sinks.c: (gst_object_suite):
6288           whitespace
6289         * gst/gstcaps.h:
6290           add prototype for gst_caps_is_equal_fixed
6291         * gst/gstplugin.c:
6292         * gst/gstregistrypool.c:
6293           doc fixes
6294
6295 2005-08-24  Andy Wingo  <wingo@pobox.com>
6296
6297         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6298         convert a negative value. Doesn't make much sense. Mostly this is
6299         here to force callers to ensure -1 maps to -1.
6300
6301 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6302
6303         * docs/pwg/advanced-types.xml:
6304           Well done to Michael for catching my deliberate introduction
6305           of this spelling mistake. 
6306         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6307         * gst/gstelement.h:
6308           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6309           unlink pads before removing the element from the bin.
6310
6311 2005-08-24  Andy Wingo  <wingo@pobox.com>
6312
6313         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6314         the same thing as GST_DEBUG=*:4.
6315         (parse_debug_level, parse_debug_category): New helper parsers.
6316
6317 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6318
6319         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6320         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6321         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6322         (gst_base_transform_buffer_alloc),
6323         (gst_base_transform_handle_buffer):
6324           use gboolean return values and pointers to size so we can use the
6325           full GST_BUFFER_SIZE range (guint) for buffer sizes
6326           use GstPadDirection for transform_caps
6327         * gst/base/gstbasetransform.h:
6328           rename get_size to get_unit_size since that's what it is
6329         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6330           use GstPadDirection for transform_caps
6331         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6332         * gst/gstutils.h:
6333           cleanup and debugging
6334
6335 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6336
6337         * gst/gstelement.c: (gst_element_class_init),
6338         (gst_element_set_state), (activate_pads),
6339         (gst_element_save_thyself):
6340         * tools/gst-compprep.c: (main):
6341         * tools/gst-inspect.c: (print_element_properties_info):
6342         * tools/gst-xmlinspect.c: (print_element_properties):
6343           Fixed long standing mem-leak
6344
6345 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6346
6347         * check/gst/gstbin.c: (GST_START_TEST):
6348         * gst/gstbin.c: (bin_bus_handler):
6349         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6350         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6351         (gst_message_new_warning), (gst_message_new_tag),
6352         (gst_message_new_state_changed), (gst_message_new_segment_start),
6353         (gst_message_new_segment_done), (gst_message_new_custom):
6354         * gst/gstmessage.h:
6355         * tools/gst-launch.c: (event_loop):
6356         * tools/gst-md5sum.c: (event_loop):
6357           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6358           that applications can sensibly post custom messages with references
6359           to their own objects.
6360
6361 2005-08-24  Andy Wingo  <wingo@pobox.com>
6362
6363         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6364         already.
6365
6366 2005-08-24  Wim Taymans  <wim@fluendo.com>
6367
6368         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6369         (gst_base_transform_transform_caps),
6370         (gst_base_transform_transform_size),
6371         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6372         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6373         (gst_base_transform_handle_buffer):
6374         * gst/base/gstbasetransform.h:
6375         Many fixes and new features added by Thomas. Can now also do
6376         transforms with variable sizes and a custom fixate_caps function.
6377
6378 2005-08-24  Wim Taymans  <wim@fluendo.com>
6379
6380         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6381         Some debugging.
6382
6383         * gst/gstclock.h:
6384         Cast to ClockTime before formatting to time.
6385
6386         * gst/gstutils.h:
6387         Cleanups.
6388
6389 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6390
6391         * check/gst-libs/controller.c: (GST_START_TEST),
6392         (gst_controller_suite):
6393         * docs/gst/tmpl/gstcaps.sgml:
6394         * docs/gst/tmpl/gstghostpad.sgml:
6395         * docs/gst/tmpl/gstquery.sgml:
6396         * docs/gst/tmpl/gstutils.sgml:
6397         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6398         (gst_object_sink_values), (gst_object_get_value_arrays),
6399         (gst_object_get_value_array):
6400           gracefully handle helper method calls to objects that are not beeing
6401           controlled, added test case for that          
6402
6403 2005-08-23  Wim Taymans  <wim@fluendo.com>
6404
6405         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6406         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6407         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6408         (gst_event_parse_qos), (gst_event_new_seek),
6409         (gst_event_parse_seek):
6410         * gst/gstevent.h:
6411         Some more debugging output and doc cleanups.
6412
6413         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6414         Fix possible deadlock.
6415
6416 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6417
6418         * docs/gst/gstreamer-docs.sgml:
6419         * docs/gst/gstreamer-sections.txt:
6420         * docs/gst/gstreamer.types:
6421         * docs/gst/tmpl/.cvsignore:
6422         * gst/gstbin.h:
6423         * gst/gstbus.c:
6424         * gst/gstelement.c:
6425         * gst/gstevent.h:
6426           added 100 symbols from gstreamer-unused.txt to the right sections
6427           fixed more broken comments
6428           added GstBus to docs
6429
6430 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6431
6432         * docs/gst/gstreamer-sections.txt:
6433         * docs/gst/tmpl/.cvsignore:
6434         * docs/gst/tmpl/gstbin.sgml:
6435         * docs/gst/tmpl/gstbuffer.sgml:
6436         * gst/base/gstbasesrc.c:
6437         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6438         * gst/gstbuffer.c:
6439         * gst/gstbuffer.h:
6440         * tools/gst-launch.1.in:
6441           inlined more doc comments, added missing comments and fixed comments
6442           fixed typos
6443
6444 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6445
6446         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6447           some debugging
6448         * gst/gstcaps.h:
6449           whitespace fixes
6450         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6451           more debugging
6452         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6453         * gst/gststructure.h:
6454           add a fixate function for booleans; add a FIXME that these func
6455           names should probably be gst_structure_fixate_*
6456
6457 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6458
6459         * docs/gst/gstreamer-docs.sgml:
6460         * docs/gst/gstreamer-sections.txt:
6461         * gst/Makefile.am:
6462         * gst/gstbin.c: (gst_bin_get_type),
6463         (gst_bin_child_proxy_get_child_by_index),
6464         (gst_bin_child_proxy_get_children_count),
6465         (gst_bin_child_proxy_init):
6466         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6467         (gst_child_proxy_get_child_by_index),
6468         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6469         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6470         (gst_child_proxy_get), (gst_child_proxy_set_property),
6471         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6472         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6473         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6474         * gst/gstchildproxy.h:
6475         * gst/parse/grammar.y:
6476         * tools/gst-inspect.c: (print_interfaces),
6477         (print_element_properties_info), (print_element_info):
6478           ported gstchildproxy over from 0.8
6479           ported gst-inspect fixes and enhancements over from 0.8
6480
6481 2005-08-22  Wim Taymans  <wim@fluendo.com>
6482
6483         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6484         (gst_base_transform_handle_buffer):
6485         Also call the transform function if we have ANY caps.
6486
6487         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6488         Fix debug info.
6489
6490 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6491
6492         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6493           Don't pretend to handle seek events if the source is not seekable
6494
6495 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6496
6497         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6498           Remove extra parameter to debug output
6499
6500         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6501         (gst_base_src_do_seek), (gst_base_src_activate_push):
6502           Fix seek event handling.
6503
6504         * gst/gstpipeline.c: (gst_pipeline_change_state):
6505         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6506         (gst_queue_src_activate_push):
6507           Don't start the src pad task on FLUSH_STOP if the pad
6508           isn't linked.
6509           Debug changes.
6510
6511 2005-08-22  Wim Taymans  <wim@fluendo.com>
6512
6513         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6514         Added check for gst_static_caps_get() refcounting.
6515
6516 2005-08-22  Wim Taymans  <wim@fluendo.com>
6517
6518         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6519         Make _static_caps_get() refcounting sane.
6520         
6521         * gst/gstelement.c: (gst_element_set_state):
6522         Add g_return_val_if_fail() to protect against segfaults.
6523
6524 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6525
6526         * docs/gst/tmpl/gstevent.sgml:
6527         * gst/gstevent.c:
6528         * gst/gstevent.h:
6529           inlined remaining docs, added missing doc comments
6530
6531 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6532
6533         * check/gst/gstbin.c: (GST_START_TEST):
6534           since we don't know when preroll is done, use refcount range
6535           check for the sink
6536         * gst/check/gstcheck.h:
6537           add macro for checking refcount range
6538
6539 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6540
6541         * check/Makefile.am:
6542           clean up environment for when registry gets built versus
6543           when actual tests are run; valgrind seems to not report
6544           leaks if GST_PLUGIN_PATH is set to some specific values
6545         * check/gst/gstbin.c: (GST_START_TEST):
6546           add more refcounting checks; maybe this exposes a
6547           preroll lock bug ?
6548         * common/check.mak:
6549         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6550         * gst/check/gstcheck.h:
6551         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6552         (gst_bin_change_state):
6553         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6554           add/fix debugging/whitespace
6555
6556 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6557
6558         * check/gst/gstevent.c: (event_probe), (test_event),
6559         (GST_START_TEST):
6560          Er, don't call gst_bin_watch_for_state_change you idiot.
6561
6562 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6563
6564         * check/Makefile.am:
6565           Use CHECK_CFLAGS and CHECK_LIBS
6566         * check/gst/gstevent.c: (event_probe), (test_event),
6567         (GST_START_TEST):
6568           Don't leak events.
6569         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6570         (gst_base_src_start), (gst_base_src_stop),
6571         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6572         (gst_base_src_change_state):
6573           Sprinkle gst_base_src_stop liberally around error paths to fix
6574           problems reusing a source after failed state changes.
6575         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6576         (helper_find_suggest), (gst_type_find_helper):
6577           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6578         * gst/gstevent.h:
6579         * docs/gst/tmpl/gstevent.sgml:
6580           Migrate part of the docs from the SGML file. Wait for ensonic to
6581           tell me how I did it wrong ;)
6582         * tools/gst-typefind.c: (main):
6583           Extra robustness to state changes between files.
6584
6585 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6586
6587         * check/Makefile.am:
6588           don't valgrind the controller test - it's leaking - Stefan, HELP
6589         * gst/check/gstcheck.c: (gst_check_message_error),
6590         (gst_check_chain_func), (gst_check_setup_element),
6591         (gst_check_teardown_element), (gst_check_setup_src_pad),
6592         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6593         (gst_check_teardown_sink_pad):
6594         * gst/check/gstcheck.h:
6595           add a bunch of methods to set up elements, and src and sink pads
6596         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6597         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6598         (GST_START_TEST):
6599           use them
6600         * gst/gstmessage.c:
6601         * gst/gsttag.h:
6602           whitespace/doc fixes
6603
6604 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6605
6606         * gst/gstelement.h:
6607           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6608           be handled by the application and not always printed as well
6609
6610 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6611
6612         * check/Makefile.am:
6613           set GST_TOOLS_DIR
6614         * gst/check/gstcheck.c: (gst_check_message_error):
6615         * gst/check/gstcheck.h:
6616           add a fail_unless_equals_int
6617           add fail_unless for error messages
6618
6619 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6620
6621         * check/Makefile.am:
6622         * check/gst.supp:
6623         * common/Makefile.am:
6624         * common/check.mak:
6625         * common/gst.supp:
6626           factor out some of the common stuff so we can use it
6627
6628 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6629
6630         * check/Makefile.am:
6631         * check/gst/gstiterator.c: (GST_START_TEST):
6632         * check/gst/gstsystemclock.c: (GST_START_TEST),
6633         (gst_systemclock_suite):
6634         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6635         * gst/gstclock.c:
6636           valgrind more tests
6637
6638 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6639
6640         * check/elements/.cvsignore:
6641         * check/elements/gstfakesrc.c:
6642           rename to name of element
6643         * check/elements/identity.c: (chain_func), (event_func),
6644         (setup_identity), (cleanup_identity), (GST_START_TEST),
6645         (identity_suite), (main):
6646           add a test for identity
6647         * check/Makefile.am:
6648         * pkgconfig/Makefile.am:
6649         * pkgconfig/gstreamer-check.pc.in:
6650         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6651         * gst/check:
6652         * gst/Makefile.am:
6653         * configure.ac:
6654           move the check stuff to a library that gets installed
6655         * check/gst-libs/controller.c: (GST_START_TEST):
6656         * check/gst-libs/gdp.c:
6657         * check/gst/gst.c: (GST_START_TEST):
6658         * check/gst/gstbin.c:
6659         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6660         * check/gst/gstbus.c:
6661         * check/gst/gstcaps.c: (GST_START_TEST):
6662         * check/gst/gstelement.c:
6663         * check/gst/gstghostpad.c:
6664         * check/gst/gstiterator.c:
6665         * check/gst/gstmessage.c:
6666         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6667         * check/gst/gstobject.c:
6668         * check/gst/gstpad.c: (GST_START_TEST):
6669         * check/gst/gststructure.c: (GST_START_TEST):
6670         * check/gst/gstsystemclock.c: (GST_START_TEST),
6671         (gst_systemclock_suite):
6672         * check/gst/gsttag.c: (gst_tag_suite):
6673         * check/gst/gstvalue.c:
6674         * check/pipelines/cleanup.c:
6675         * check/pipelines/simple_launch_lines.c:
6676         * check/states/sinks.c:
6677           change include statement
6678
6679         * docs/gst/gstreamer-sections.txt:
6680         * docs/gst/tmpl/gstpad.sgml:
6681           document more pad stuff
6682         * gst/gstminiobject.c: (gst_mini_object_ref),
6683         (gst_mini_object_unref):
6684           debug refcounting
6685
6686 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6687
6688         * docs/gst/tmpl/gst.sgml:
6689         * gst/gst.c:
6690           eliminate another tmpl file, fix spelling in the long-description
6691
6692 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6693
6694         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6695         (test_event), (timediff), (gstevents_suite):
6696           Should fix build on 64-bit arch's
6697
6698 2005-08-18  Andy Wingo  <wingo@pobox.com>
6699
6700         Make sure that when a pipeline goes to PLAYING, that data has
6701         actually hit the sink.
6702
6703         * check/states/sinks.c (test_sink): A sink that doesn't get any
6704         data shouldn't return SUCCESS for going to either PLAYING or
6705         PAUSED. Test also the return values on the way back down.
6706
6707         * gst/gstelement.c (gst_element_set_state): When changing the
6708         state of an element currently changing state asynchronously, go to
6709         lost-state after commiting the pending state. Makes future calls
6710         to get_state continue to return ASYNC.
6711
6712         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6713         ASYNC when going to PLAYING if we still don't have preroll, as can
6714         happen with live sources.
6715
6716 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6717
6718         * docs/pwg/advanced-types.xml:
6719           Hack long paragraph into 2 chunks as a workaround for buggy
6720           jadetex version in sid and breezy that loops infinitely and
6721           eats all RAM.
6722
6723 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6724
6725         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6726         (test_event), (timediff), (gstevents_suite):
6727           Provide more error margin in clock measurements to allow for 
6728           g_get_current_time inaccuracies.
6729
6730 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6731
6732         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6733         (test_event), (timediff), (gstevents_suite):
6734            Fix error message output so I might be able to tell why the
6735            test works here but fails on the build farm.
6736
6737 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6738
6739         * check/Makefile.am:
6740         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6741         (test_event), (timediff), (gstevents_suite), (main):
6742           I wrote a test!
6743
6744         * docs/design/part-seeking.txt:
6745           Spelling correction
6746
6747         * docs/gst/tmpl/gstevent.sgml:
6748         * docs/gst/tmpl/gstfakesrc.sgml:
6749           Docs updates.
6750
6751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6752           Treat a buffer-without-newsegment the same as a receiving 
6753           a newsegment not in time format, and disable syncing to the clock
6754           with a warning.
6755
6756         * gst/gstbus.c: (gst_bus_set_sync_handler):
6757           Assert if anyone tries to replace the existing sync_handler for bus, 
6758           as only the owner should be setting it.
6759
6760         * gst/gstevent.h:
6761           Have a fixed set of custom event enums with events identified by
6762           their structure name (as in 0.8), rather than a free-for-all
6763           allowing collisions between enum values from different plugins.
6764
6765         * gst/gstpad.c: (gst_pad_class_init):
6766           Docs change.
6767           
6768         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6769           Handle out-of-band downstream events from the sending thread.
6770
6771 2005-08-17  Andy Wingo  <wingo@pobox.com>
6772
6773         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6774         play-timeout==0 to mean no timeout at all. In that case, don't
6775         bother with a get_state or a warning, just return directly, even
6776         if it's ASYNC.
6777
6778         * gst/base/gstbasetransform.c: Debug changes.
6779
6780         * gst/gstutils.h:
6781         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6782         ensure bins post state change messages. A bit of a hack but I can't
6783         think of a way to avoid it.
6784
6785         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6786
6787 2005-08-16  Andy Wingo  <wingo@pobox.com>
6788
6789         * gst/base/gstadapter.h:
6790         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6791         peek() but you own the data. Not terribly efficient atm.
6792
6793 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6794
6795         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6796         (gst_element_found_tags):
6797         * gst/gstutils.h:
6798           Add two utility functions for tag handling.
6799
6800 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6801
6802         * docs/manual/advanced-dataaccess.xml:
6803         * docs/manual/basics-helloworld.xml:
6804           Fix docs to use _bin_add() before _link(), which fixes the examples
6805           with recent core versions (reported by Madhan Raj M
6806           <raj_madan@rediffmail.com>, #313199).
6807
6808 2005-08-16  Wim Taymans  <wim@fluendo.com>
6809
6810         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6811         Added subtract checks.
6812
6813         * docs/design/part-events.txt:
6814         Some more docs about newsegment
6815
6816         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6817         Fix FIXME
6818
6819         * gst/gstcaps.c: (gst_caps_to_string):
6820         Add comments, cleanups.
6821         
6822         * gst/gstelement.c: (gst_element_save_thyself):
6823         cleanups
6824         
6825         * gst/gstvalue.c: (gst_value_collect_int_range),
6826         (gst_string_unwrap), (gst_value_union_int_int_range),
6827         (gst_value_union_int_range_int_range),
6828         (gst_value_intersect_int_int_range),
6829         (gst_value_intersect_int_range_int_range),
6830         (gst_value_intersect_double_double_range),
6831         (gst_value_intersect_double_range_double_range),
6832         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6833         (gst_value_subtract_int_range_int),
6834         (gst_value_subtract_double_range_double),
6835         (gst_value_subtract_double_range_double_range),
6836         (gst_value_subtract_from_list), (gst_value_subtract_list),
6837         (gst_value_can_compare), (gst_value_compare_fraction):
6838         Cleanups, add comments, remove unneeded asserts.
6839
6840 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6841
6842         * tools/gst-launch.c: (event_loop):
6843           don't convert NULL structures to strings
6844
6845 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6846
6847         * docs/gst/gstreamer-sections.txt:
6848           made some defines private
6849         * docs/gst/tmpl/gstconfig.sgml:
6850         * docs/gst/tmpl/gstqueue.sgml:
6851         * docs/gst/tmpl/gsttaglist.sgml:
6852         * docs/gst/tmpl/gsttypes.sgml:
6853         * docs/gst/tmpl/gstutils.sgml:
6854         * docs/pwg/appendix-porting.xml:
6855         * gst/base/gstbasesink.h:
6856         * gst/base/gstbasesrc.c:
6857         * gst/base/gstbasesrc.h:
6858         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6859         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6860         * gst/gstelement.c: (gst_element_class_init):
6861         * gst/gstpad.c: (gst_pad_class_init):
6862         * gst/gstqueue.c: (gst_queue_class_init):
6863         * gst/gstxml.c: (gst_xml_class_init):
6864           documented all undocumented signal inline
6865         * libs/gst/controller/gst-controller.h:
6866           added padding
6867
6868 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6869
6870         * docs/pwg/appendix-porting.xml:
6871           Document _set_link_function -> _set_setcaps_function.
6872
6873 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6874
6875         * check/Makefile.am:
6876           add a .check target for running the check
6877         * check/gst-libs/controller.c: (GST_START_TEST):
6878           cosmetic fixups
6879         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6880           complete checks for gstbuffer; would be nice if I could get the
6881           gcov stuff to work so I can see if I actually completed gstbuffer.c
6882         * check/gstcheck.h:
6883           add ASSERT_BUFFER_REFCOUNT
6884
6885 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
6886
6887         * docs/gst/gstreamer-sections.txt:
6888         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
6889         * gst/gsttag.h:
6890           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
6891           spew out a warning if a tag that is already registered
6892           is re-registered, unless it is re-registered with a 
6893           different type (#308438).
6894
6895 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
6896
6897         * docs/pwg/appendix-porting.xml:
6898         * docs/pwg/building-state.xml:
6899           Add some paragraphs about state changes in 0.9 to the PWG
6900           and the porting guide, in particular about the new meaning
6901           of GST_STATE_PAUSED and how to write state change functions
6902           with concurrent access by multiple threads in mind.
6903
6904 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
6905
6906         * docs/gst/gstreamer-docs.sgml:
6907         * docs/libs/gstreamer-libs-docs.sgml:
6908           added deprecation and since indexes
6909         * libs/gst/controller/gst-controller.c:
6910         * libs/gst/controller/gst-helper.c:
6911           added since tags
6912
6913
6914 2005-08-11  Wim Taymans  <wim@fluendo.com>
6915
6916         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
6917         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
6918         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
6919         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
6920         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
6921         (gst_ghost_pad_set_target):
6922         Actually implement (re)setting the target on a ghostpad
6923         as described in the docs.
6924
6925 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6926
6927         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
6928           Check whether GST_DEBUG_NO_COLOR environment variable is
6929           set and disable coloured debug output if that is the case.
6930
6931 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6932
6933         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6934         (gst_type_find_helper):
6935           The memory returned by gst_type_find_peek() needs to
6936           stay valid until the end of a typefind function, and
6937           typefind functions may keep results from different 
6938           offsets around, so we can't just unref the buffer from
6939           the previous _peek(), but have to save all buffers 
6940           returned by _peek() until typefinding is done and only
6941           free them then.
6942
6943 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6944
6945         * docs/gst/gstreamer-sections.txt:
6946         * gst/gstutils.h:
6947           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
6948
6949 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6950
6951         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6952           Fix a pretty good memleak.
6953
6954 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6955
6956         * gst/gstiterator.h:
6957           Fix wrong include and 'make distcheck'.
6958
6959 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6960
6961         * gst/gstbin.c: (bin_bus_handler):
6962           Use gst_element_post_message() instead.
6963
6964 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6965
6966         * gst/base/gstadapter.h:
6967         * gst/base/gstbasesink.h:
6968         * gst/base/gstbasesrc.h:
6969         * gst/base/gstbasetransform.h:
6970         * gst/base/gstcollectpads.h:
6971         * gst/base/gstpushsrc.h:
6972         * gst/gstiterator.h:
6973           Add padding to our base elements' class and instance structs and
6974           to GstIterator (you will need to rebuild all plugins and apps!)
6975
6976 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6977
6978         * gst/gstbin.c: (bin_bus_handler):
6979           Make default message forwarding from child->bus to bin->bus
6980           threadsafe and make it not emit warnings if the parent has no bus.
6981
6982 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6983
6984         * gst/gstelement.c: (activate_pads):
6985           On paused->ready, set pad->caps to NULL, as is the documented
6986           behaviour in this state change. Fixes playback of series of
6987           media files when visualization is enabled in Totem.
6988
6989 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6990
6991         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6992           Allow NULL as filter-caps (which means "any").
6993
6994 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6995
6996         * docs/libs/gstreamer-libs-sections.txt:
6997         * libs/gst/controller/gst-controller.c:
6998         * libs/gst/controller/gst-controller.h:
6999         * libs/gst/controller/gst-helper.c:
7000           adding more entries to the docs and fix small doc-bugs
7001
7002 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7003
7004         * docs/gst/gstreamer-docs.sgml:
7005         * docs/gst/gstreamer-sections.txt:
7006         * docs/gst/gstreamer.types:
7007         * docs/gst/tmpl/gstbasesink.sgml:
7008         * docs/gst/tmpl/gstbasesrc.sgml:
7009         * docs/gst/tmpl/gstbasetransform.sgml:
7010         * docs/gst/tmpl/gstfakesrc.sgml:
7011         * gst/base/gstcollectpads.c:
7012         * gst/base/gstcollectpads.h:
7013         * libs/gst/controller/gst-controller.c:
7014         * libs/gst/controller/gst-controller.h:
7015         * libs/gst/controller/gst-helper.c:
7016         * libs/gst/controller/gst-interpolation.c:
7017         * libs/gst/controller/lib.c:
7018           added long/short desc for controller docs
7019           added collectpads base class docs
7020           added correct includes to base-class docs
7021
7022 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7023
7024         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7025         (gst_test_mono_source_set_property),
7026         (gst_test_mono_source_class_init), (GST_START_TEST),
7027         (gst_controller_suite):
7028         * docs/gst/gstreamer-docs.sgml:
7029         * docs/gst/gstreamer-sections.txt:
7030         * docs/gst/gstreamer.types:
7031         * docs/libs/gstreamer-libs-docs.sgml:
7032         * docs/libs/gstreamer-libs-sections.txt:
7033         * gst/base/gstadapter.c:
7034         * libs/gst/controller/gst-controller.c:
7035         (gst_controlled_property_new), (gst_controlled_property_free),
7036         (gst_controller_new_valist),
7037         (gst_controller_remove_properties_valist),
7038         (gst_controller_sink_values), (_gst_controller_finalize):
7039         * libs/gst/controller/gst-controller.h:
7040         * libs/gst/controller/gst-helper.c:
7041         (gst_object_control_properties), (gst_object_uncontrol_properties),
7042         (gst_object_get_controller), (gst_object_set_controller),
7043         (gst_object_sink_values), (gst_object_get_value_arrays),
7044         (gst_object_get_value_array):
7045           more tests (and fixes) for the controller
7046           more docs for the controller
7047           integrated companies docs for the adapter 
7048
7049 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7050
7051         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7052         (GST_START_TEST), (fakesrc_suite):
7053           add tests for sizetype
7054
7055 2005-08-04  Andy Wingo  <wingo@pobox.com>
7056
7057         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7058         fixes buffer_alloc proxying among other things.
7059
7060         * gst/base/gstbasetransform.c:
7061         * gst/base/gstbasetransform.h:
7062         Revert patch to gstbasetransform from 7-28 removing
7063         delay_configure.
7064
7065         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7066         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7067         Semantics changed, should return not the size of the output buffer
7068         but the byte size of a buffer with a given caps.
7069
7070         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7071         debug object.
7072         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7073         out) are not the pad caps until setcaps finishes.
7074         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7075         not-in-place case as well. Deal with changing from in-place to
7076         not-in-place within calling pad_alloc_buffer. Still a bit
7077         concerned about the overhead here...
7078
7079 2005-08-03  Andy Wingo  <wingo@pobox.com>
7080
7081         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7082         fixating is an error.
7083
7084 2005-08-04  Edward Hervey  <edward@fluendo.com>
7085
7086         * gst/base/gstadapter.h: 
7087         Added gst_adapter_get_type() to the header
7088
7089 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7090
7091         * check/Makefile.am:
7092         * check/gst-libs/controller.c:
7093         * libs/gst/controller/gst-controller.c:
7094         (gst_controller_new_valist):
7095           added check test suite for the controller
7096         * gst/base/gstpushsrc.c:
7097           fixed a doc typo
7098
7099 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7100
7101         * docs/gst/Makefile.am:
7102         * docs/gst/gstreamer-docs.sgml:
7103         * docs/gst/gstreamer-sections.txt:
7104         * docs/gst/gstreamer.types:
7105         * docs/gst/tmpl/gstfakesrc.sgml:
7106         * gst/base/README:
7107         * gst/base/gstbasesink.c:
7108         * gst/base/gstbasesink.h:
7109         * gst/base/gstbasesrc.c:
7110         * gst/base/gstbasesrc.h:
7111         * gst/base/gstbasetransform.c:
7112         * gst/base/gstpushsrc.c:
7113         * gst/base/gstpushsrc.h:
7114           add short/long description docs to base classes
7115           add pushsrc to the docs
7116           remove consolidated doc fragments
7117
7118 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7119
7120         * configure.ac:
7121         * docs/libs/Makefile.am:
7122         * docs/libs/gstreamer-libs-docs.sgml:
7123         * docs/libs/gstreamer-libs-sections.txt:
7124         * docs/libs/gstreamer-libs.types:
7125         * examples/Makefile.am:
7126         * examples/controller/.cvsignore:
7127         * examples/controller/Makefile.am:
7128         * examples/controller/audio-example.c: (main):
7129         * libs/gst/Makefile.am:
7130         * libs/gst/controller/.cvsignore:
7131         * libs/gst/controller/Makefile.am:
7132         * libs/gst/controller/gst-controller.c:
7133         (on_object_controlled_property_changed), (gst_timed_value_compare),
7134         (gst_timed_value_find),
7135         (gst_controlled_property_set_interpolation_mode),
7136         (gst_controlled_property_new), (gst_controlled_property_free),
7137         (gst_controller_find_controlled_property),
7138         (gst_controller_new_valist), (gst_controller_new),
7139         (gst_controller_remove_properties_valist),
7140         (gst_controller_remove_properties), (gst_controller_set),
7141         (gst_controller_set_from_list), (gst_controller_unset),
7142         (gst_controller_get), (gst_controller_get_all),
7143         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7144         (gst_controller_get_value_array),
7145         (gst_controller_set_interpolation_mode),
7146         (_gst_controller_finalize), (_gst_controller_init),
7147         (_gst_controller_class_init), (gst_controller_get_type):
7148         * libs/gst/controller/gst-controller.h:
7149         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7150         (g_object_uncontrol_properties), (g_object_get_controller),
7151         (g_object_set_controller), (g_object_sink_values),
7152         (g_object_get_value_arrays), (g_object_get_value_array):
7153         * libs/gst/controller/gst-interpolation.c:
7154         (gst_controlled_property_find_timed_value_node),
7155         (interpolate_none_get), (interpolate_trigger_get),
7156         (interpolate_trigger_get_value_array):
7157         * libs/gst/controller/lib.c: (gst_controller_init):
7158         * pkgconfig/Makefile.am:
7159         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7160         * pkgconfig/gstreamer-control.pc.in:
7161         * testsuite/Makefile.am:
7162         * testsuite/controller/.cvsignore:
7163         * testsuite/controller/Makefile.am:
7164         * testsuite/controller/interpolator.c: (main):
7165           added controller code
7166           removed dparam pc files
7167
7168 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7169         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7170         (gst_collectpads_stop):
7171           Broadcast the condition when shutting down, to make sure we wake all
7172           threads up. Shut down pads on finalize, for safety.
7173
7174 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7175         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7176         (gst_base_transform_handle_buffer),
7177         (gst_base_transform_change_state):
7178           Handle PAUSED->READY->PAUSED transition after negotiation
7179           occurred already.
7180         * gst/gstmessage.c: (gst_message_init):
7181           Extra piece of debug for new messages.
7182
7183 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7184
7185         * configure.ac:
7186         * docs/gst/tmpl/gstbasesrc.sgml:
7187         * docs/gst/tmpl/gstelement.sgml:
7188         * docs/gst/tmpl/gstevent.sgml:
7189         * docs/gst/tmpl/gstfakesrc.sgml:
7190         * docs/gst/tmpl/gstformat.sgml:
7191         * docs/gst/tmpl/gstghostpad.sgml:
7192         * docs/gst/tmpl/gstpad.sgml:
7193         * docs/gst/tmpl/gstquery.sgml:
7194         * docs/gst/tmpl/gststructure.sgml:
7195         * docs/gst/tmpl/gsttaglist.sgml:
7196         * docs/gst/tmpl/gstvalue.sgml:
7197         * docs/libs/gstreamer-libs-docs.sgml:
7198         * docs/libs/gstreamer-libs-sections.txt:
7199         * docs/libs/gstreamer-libs.types:
7200         * libs/gst/Makefile.am:
7201         * libs/gst/control/.cvsignore:
7202         * libs/gst/control/Makefile.am:
7203         * libs/gst/control/control.c:
7204         * libs/gst/control/control.h:
7205         * libs/gst/control/dparam.c:
7206         * libs/gst/control/dparam.h:
7207         * libs/gst/control/dparam_smooth.c:
7208         * libs/gst/control/dparam_smooth.h:
7209         * libs/gst/control/dparamcommon.h:
7210         * libs/gst/control/dparammanager.c:
7211         * libs/gst/control/dparammanager.h:
7212         * libs/gst/control/dplinearinterp.c:
7213         * libs/gst/control/dplinearinterp.h:
7214         * libs/gst/control/unitconvert.c:
7215         * libs/gst/control/unitconvert.h:
7216         * testsuite/Makefile.am:
7217         * testsuite/dynparams/.cvsignore:
7218         * testsuite/dynparams/Makefile.am:
7219         * testsuite/dynparams/dparamstest.c:
7220         * tools/Makefile.am:
7221         * tools/gst-inspect.c: (print_element_info), (main):
7222         * tools/gst-xmlinspect.c: (print_element_info), (main):
7223           deactivate and remove dparams (libgstcontrol)
7224
7225 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7226
7227         * gst/elements/gsttypefindelement.c:
7228         (gst_type_find_element_have_type), (gst_type_find_element_init),
7229         (stop_typefinding), (gst_type_find_element_handle_event),
7230         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7231         * gst/elements/gsttypefindelement.h:
7232           Set caps on all outgoing buffers, not just the first one.
7233
7234 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7235
7236         * gst/elements/gsttypefindelement.c:
7237         (gst_type_find_element_have_type),
7238         (gst_type_find_element_check_set_buffer_caps),
7239         (gst_type_find_element_init), (stop_typefinding),
7240         (gst_type_find_element_handle_event),
7241         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7242         * gst/elements/gsttypefindelement.h:
7243           Set caps on first outgoing buffer when we've found the type.
7244
7245 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7246
7247         * docs/gst/gstreamer-docs.sgml:
7248         * docs/gst/gstreamer-sections.txt:
7249         * docs/gst/tmpl/gstscheduler.sgml:
7250         * docs/gst/tmpl/gstschedulerfactory.sgml:
7251           Remove some old cruft from docs.
7252
7253 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7254
7255         * gst/gstpad.h:
7256           Fix inline docs for GstPadLinkReturn.
7257           
7258         * gst/gststructure.c: (gst_structure_has_name):
7259         * gst/gststructure.h:
7260         * docs/gst/gstreamer-sections.txt:
7261           New API: gst_structure_has_name().
7262
7263 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7264
7265         * configure.ac:
7266           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7267           and _LARGEFILE_SOURCE in config.h as required. Do not 
7268           export those flags in our .pc files any longer (#142209).
7269
7270           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7271
7272         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7273         (gst_file_sink_do_seek), (gst_file_sink_event),
7274         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7275           Redo seek/tell calls with large file support in mind; add some
7276           debugging messages; add log message that tells us when large
7277           file support is unavailable or not enabled for some reason.
7278
7279         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7280           Add log message that tells us when large file support 
7281           is unavailable or not enabled for some reason.
7282
7283 2005-07-29  Wim Taymans  <wim@fluendo.com>
7284
7285         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7286         Added test for removing an element with ghostpad from a bin.
7287         Fixed test as current implementation does the right thing.
7288
7289         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7290         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7291         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7292         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7293         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7294         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7295         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7296         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7297         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7298         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7299         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7300         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7301         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7302         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7303         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7304         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7305         * gst/gstghostpad.h:
7306         Clean up ghostpads, remove properties for internal stuff.
7307         Make threadsafe.
7308         Fix refcounting.
7309         Prepare for switching targets, not all use cases work yet.
7310
7311 2005-07-29  Wim Taymans  <wim@fluendo.com>
7312
7313         * docs/design/part-gstghostpad.txt:
7314         Small update.
7315
7316         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7317         (gst_bin_remove_func):
7318         Unlinking pads while holding the bin LOCK is not a good
7319         idea.
7320
7321         * gst/gstpad.c: (gst_pad_class_init),
7322         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7323         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7324         No prob setting template after creating the pad.
7325
7326 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7327
7328         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7329         (gst_bus_peek), (gst_bus_source_dispatch),
7330         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7331         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7332           gst_bus_poll may be called from other threads. Handle
7333           this nicely by not making poll_data disappear off the
7334           stack once gst_bus_poll returns.
7335           gst_bus_peek now increments the refcount on the returned
7336           message.
7337
7338 2005-07-29  Wim Taymans  <wim@fluendo.com>
7339
7340         * docs/design/part-gstghostpad.txt:
7341         Overview of current GhostPad datastructures and use
7342         cases for changing the target.
7343
7344 2005-07-28  Wim Taymans  <wim@fluendo.com>
7345
7346         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7347         Added checks for hierarchy consistency whan adding linked
7348         elements to bins.
7349
7350         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7351         Added check to test element scheduling without bin/pipeline.
7352
7353         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7354         First add elements to bin, then link.
7355         
7356         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7357         (gst_bin_remove_func):
7358         Unlink pads from elements added/removed from bin to maintain
7359         hierarchy consistency.
7360
7361 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7362
7363         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7364         (gst_base_transform_handle_buffer):
7365         * gst/base/gstbasetransform.h:
7366           Remove broken delay_configure (fixes renegotiation of software
7367           scaling pipelines); remove some leftover printf()s.
7368
7369 2005-07-28  Wim Taymans  <wim@fluendo.com>
7370
7371         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7372         Added some more tests for wrong hierarchy
7373
7374         * docs/design/part-overview.txt:
7375         Some updates.
7376
7377         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7378         Cleanups.
7379
7380         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7381         (gst_element_dispose):
7382         Some more cleanups.
7383
7384         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7385         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7386         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7387         (gst_pad_set_caps), (gst_pad_send_event):
7388         Check for correct hierarchy when linking pads. Moving to
7389         strict requirement for ghostpads when linking elements in
7390         different bins.
7391
7392         * gst/gstpad.h:
7393         Clean ups. Added WRONG_HIERARCHY return value.
7394
7395 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7396
7397         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7398           Better debug if no transform is possible.
7399
7400 2005-07-27  Wim Taymans  <wim@fluendo.com>
7401
7402         * docs/random/wtay/network-transp:
7403         Some old doc I had.
7404
7405 2005-07-27  Wim Taymans  <wim@fluendo.com>
7406
7407         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7408         (gst_dp_event_from_packet):
7409         Fix serialization of seek events.
7410
7411 2005-07-27  Wim Taymans  <wim@fluendo.com>
7412
7413         * check/gst-libs/gdp.c: (GST_START_TEST):
7414         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7415         Fix compilation and fix event serialization.
7416
7417 2005-07-27  Wim Taymans  <wim@fluendo.com>
7418
7419         * CHANGES-0.9:
7420         * docs/design/part-TODO.txt:
7421         * docs/design/part-events.txt:
7422         Some docs updates
7423
7424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7425         (gst_base_sink_event), (gst_base_sink_do_sync),
7426         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7427         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7428         (gst_base_src_do_seek), (gst_base_src_event_handler),
7429         (gst_base_src_loop):
7430         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7431         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7432         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7433         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7434         (gst_base_transform_set_passthrough),
7435         (gst_base_transform_is_passthrough):
7436         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7437         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7438         Event updates.
7439
7440         * gst/gstbuffer.h:
7441         Use faster casts.
7442
7443         * gst/gstelement.c: (gst_element_seek):
7444         * gst/gstelement.h:
7445         Update gst_element_seek.
7446
7447         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7448         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7449         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7450         (gst_event_new_eos), (gst_event_new_newsegment),
7451         (gst_event_parse_newsegment), (gst_event_new_tag),
7452         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7453         (gst_event_parse_qos), (gst_event_new_seek),
7454         (gst_event_parse_seek), (gst_event_new_navigation):
7455         * gst/gstevent.h:
7456         Make GstEvent use GstStructure. Add parsing code, make sure the
7457         API is sufficiently generic.
7458         Mark possible directions of events and serialization.
7459
7460         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7461         (_gst_message_copy), (gst_message_new_segment_start),
7462         (gst_message_new_segment_done), (gst_message_new_custom),
7463         (gst_message_parse_segment_start),
7464         (gst_message_parse_segment_done):
7465         Small cleanups.
7466
7467         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7468         (gst_pad_set_caps), (gst_pad_send_event):
7469         Update for new events. 
7470         Catch events sent in wrong directions.
7471
7472         * gst/gstqueue.c: (gst_queue_link_src),
7473         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7474         (gst_queue_handle_src_query):
7475         Event updates.
7476
7477         * gst/gsttag.c:
7478         * gst/gsttag.h:
7479         Remove event code from this file.
7480
7481         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7482         (gst_dp_event_from_packet):
7483         Event updates.
7484
7485 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7486
7487         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7488         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7489         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7490           Make debugging actually useful.
7491
7492 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7493
7494         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7495         (gst_pad_fixate_caps):
7496           Implement default fixation once again, so that gst_pad_fixate()
7497           actually does anything at all. This probably needs to be some
7498           sort of a last resort, and use profile-based fixation first, but
7499           since that doesn't exist yet, this is the best we have. Fixes
7500           visualization in Totem.
7501
7502 2005-07-22  Wim Taymans  <wim@fluendo.com>
7503
7504         * docs/design/part-events.txt:
7505         Small update.
7506
7507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7508         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7509         (gst_base_sink_activate_pull):
7510         Some more comments.
7511
7512         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7513         (gst_fake_src_create):
7514         Fix handoff marshall.
7515
7516         * gst/elements/gstidentity.c: (gst_identity_class_init),
7517         (gst_identity_transform_ip):
7518         We're a real inplace element.
7519
7520         * gst/gstbus.c: (gst_bus_post):
7521         Added some comments.
7522
7523         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7524         * tests/muxing/case1.c: (main):
7525         * tests/sched/dynamic-pipeline.c: (main):
7526         * tests/sched/interrupt1.c: (main):
7527         * tests/sched/interrupt2.c: (main):
7528         * tests/sched/interrupt3.c: (main):
7529         * tests/sched/runxml.c: (main):
7530         * tests/sched/sched-stress.c: (main):
7531         * tests/seeking/seeking1.c: (event_received), (main):
7532         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7533         (main):
7534         * tests/threadstate/threadstate3.c: (main):
7535         * tests/threadstate/threadstate4.c: (main):
7536         * tests/threadstate/threadstate5.c: (main):
7537         Fix the tests.
7538
7539 2005-07-21  Wim Taymans  <wim@fluendo.com>
7540
7541         * docs/design/part-seeking.txt:
7542         Some small additions.
7543
7544         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7545         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7546         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7547         * gst/base/gstbasesink.h:
7548         discont values are gint64, handle the math correctly.
7549
7550         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7551         Make the basesrc report error if the source pad is not linked.
7552
7553         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7554         (gst_queue_loop), (gst_queue_handle_src_query),
7555         (gst_queue_src_activate_push):
7556         Make queue collect data even if the srcpad is not linked.
7557         Start pushing out data as soon as it is linked.
7558
7559         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7560         * gst/gstutils.h:
7561         Added gst_flow_get_name() to ease error reporting.
7562
7563 2005-07-20  Wim Taymans  <wim@fluendo.com>
7564
7565         * gst/gstmessage.c: (gst_message_new_segment_start),
7566         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7567         (gst_message_parse_segment_done):
7568         * gst/gstmessage.h:
7569         Added a bunch of messages for advanced seeking.
7570
7571         * gst/parse/grammar.y:
7572         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7573         (gst_dpman_state_changed):
7574         Fix some new-pad -> pad-added signals
7575
7576 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7577
7578         * docs/manual/appendix-porting.xml:
7579         * docs/pwg/appendix-porting.xml:
7580           Document new-pad/state-change signal renames and the FixedList
7581           type rename.
7582
7583 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7584
7585         * docs/manual/advanced-autoplugging.xml:
7586         * docs/manual/basics-helloworld.xml:
7587         * docs/manual/basics-pads.xml:
7588         * docs/random/ds/0.9-suggested-changes:
7589         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7590         * gst/gstelement.h:
7591         * gst/gstevent.h:
7592         * gst/gstformat.h:
7593         * gst/gstquery.h:
7594         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7595         (gst_structure_parse_array), (gst_structure_parse_value):
7596         * gst/gstvalue.c: (gst_type_is_fixed),
7597         (gst_value_list_prepend_value), (gst_value_list_append_value),
7598         (gst_value_list_get_size), (gst_value_list_get_value),
7599         (gst_value_transform_array_string), (gst_value_serialize_array),
7600         (gst_value_deserialize_array), (gst_value_intersect_array),
7601         (gst_value_is_fixed), (_gst_value_initialize):
7602         * gst/gstvalue.h:
7603           GstElement::new-pad -> pad-added, GstElement::state-change ->
7604           state-changed, GstValueFixedList -> GstValueArray, add format and
7605           flags as their own arguments in gst_element_seek() (should improve
7606           "bindeability"), remove function generators since they don't work
7607           under a whole bunch of compilers (they were deprecated already
7608           anyway).
7609
7610 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7611
7612         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7613         (_gst_debug_register_funcptr):
7614         * gst/gstinfo.h:
7615           Fix illegal cast on some platforms (#309253).
7616
7617 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7618
7619         * gst/gstmessage.c: (gst_message_new_custom):
7620         * gst/gstmessage.h:
7621           Add _new_custom, make _new_application a macro to _new_custom.
7622
7623 2005-07-20  Wim Taymans  <wim@fluendo.com>
7624
7625         * gst/base/gstbasesrc.c: (gst_base_src_init),
7626         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7627         * gst/base/gstbasesrc.h:
7628         Add a gboolean to decide when to push out a discont.
7629
7630         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7631         (gst_queue_loop), (gst_queue_handle_src_query),
7632         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7633         (gst_queue_set_property), (gst_queue_get_property):
7634         Some cleanups.
7635
7636         * tests/threadstate/threadstate1.c: (main):
7637         Make a thread test compile and run... very silly..
7638
7639
7640 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7641
7642         * docs/manual/appendix-porting.xml:
7643           Mention removal of libgstgconf-0.9.la and existence of gconf
7644           elements.
7645
7646 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7647
7648         * docs/pwg/advanced-clock.xml:
7649         * docs/pwg/appendix-porting.xml:
7650         * docs/pwg/intro-preface.xml:
7651         * docs/pwg/other-base.xml:
7652         * docs/pwg/other-manager.xml:
7653         * docs/pwg/other-nton.xml:
7654         * docs/pwg/other-ntoone.xml:
7655         * docs/pwg/other-oneton.xml:
7656         * docs/pwg/pwg.xml:
7657           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7658           demuxer), remove n-to-n (was never written), fix some code examples
7659           and links and update the porting section to include all this.
7660
7661 2005-07-19  Wim Taymans  <wim@fluendo.com>
7662
7663         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7664         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7665         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7666         (gst_queue_src_activate_push), (gst_queue_change_state),
7667         (gst_queue_get_property):
7668         * gst/gstqueue.h:
7669         Propagate GstFlowReturn more intelligently upstream and output
7670         an ERROR/EOS when streaming stopped due to fatal error.
7671
7672 2005-07-19  Wim Taymans  <wim@fluendo.com>
7673
7674         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7675         Don't block forever for the state change to complete, the
7676         pipeline already did with a sensible timeout.
7677
7678 2005-07-19  Wim Taymans  <wim@fluendo.com>
7679
7680         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7681         Make sure we never call the create function is we
7682         got deactivated.
7683
7684 2005-07-19  Andy Wingo  <wingo@pobox.com>
7685
7686         * gst/parse/parse.l: Attempt to solve bug #172815.
7687
7688 2005-07-19  Wim Taymans  <wim@fluendo.com>
7689
7690         * docs/design/part-clocks.txt:
7691         * docs/design/part-events.txt:
7692         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7693         Small docs updates.
7694         Only update the seeking values when we are not
7695         busy streaming.
7696
7697 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7698
7699         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7700           Oops, ignore the result of gst_pad_push_event here.
7701
7702 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7703
7704         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7705         (gst_base_src_activate_push):
7706           Send discont event from the loop function, as pads
7707           aren't activated yet in the activate_push handler.
7708
7709         * gst/gstbin.c: (bin_bus_handler):
7710           Don't leak element name.
7711
7712 2005-07-18  Andy Wingo  <wingo@pobox.com>
7713
7714         * configure.ac: Use AS_LIBTOOL_TAGS.
7715
7716 2005-07-18  Wim Taymans  <wim@fluendo.com>
7717
7718         * docs/gst/gstreamer.types:
7719         Remove deleted types.
7720
7721 2005-07-18  Wim Taymans  <wim@fluendo.com>
7722
7723         * check/elements/gstfakesrc.c: (GST_START_TEST):
7724         * configure.ac:
7725         * gst/Makefile.am:
7726         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7727         (init_popt_callback):
7728         * gst/gst.h:
7729         * gst/gst_private.h:
7730         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7731         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7732         * gst/gstbin.h:
7733         * gst/gstbus.h:
7734         * gst/gstconfig.h.in:
7735         * gst/gstelement.c: (gst_element_class_init),
7736         (gst_element_set_base_time), (gst_element_get_base_time),
7737         (iterator_fold_with_resync), (gst_element_change_state),
7738         (gst_element_dispose), (gst_element_get_bus):
7739         * gst/gstelement.h:
7740         * gst/gstelementfactory.h:
7741         * gst/gsterror.c: (_gst_core_errors_init):
7742         * gst/gsterror.h:
7743         * gst/gstevent.h:
7744         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7745         * gst/gstindex.c:
7746         * gst/gstinfo.c: (_gst_debug_init):
7747         * gst/gstmessage.c: (_gst_message_copy):
7748         * gst/gstmessage.h:
7749         * gst/gstminiobject.h:
7750         * gst/gstobject.c:
7751         * gst/gstobject.h:
7752         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7753         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7754         * gst/gstpad.h:
7755         * gst/gstparse.h:
7756         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7757         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7758         (gst_pipeline_get_last_stream_time):
7759         * gst/gstpipeline.h:
7760         * gst/gstpluginfeature.h:
7761         * gst/gstquery.h:
7762         * gst/gstscheduler.c:
7763         * gst/gstscheduler.h:
7764         * gst/gststructure.h:
7765         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7766         (gst_task_finalize), (gst_task_func), (gst_task_create),
7767         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7768         (gst_task_stop), (gst_task_pause):
7769         * gst/gsttask.h:
7770         * gst/gsttypefind.h:
7771         * gst/gsttypes.h:
7772         * gst/registries/gstlibxmlregistry.c: (load_feature),
7773         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7774         * gst/registries/gstxmlregistry.c:
7775         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7776         * gst/schedulers/threadscheduler.c:
7777         * libs/gst/control/dparammanager.h:
7778         * tools/gst-inspect.c: (print_element_list),
7779         (print_plugin_features), (print_element_features):
7780         * tools/gst-xmlinspect.c: (print_element_list),
7781         (print_plugin_info), (main):
7782         Removed plugable schedulers.
7783         Removed Scheduler/Manager from elements.
7784         Removed gsttypes.h, rearranged includes.
7785         Removed dependency pad<->element, element<>pipeline, and
7786         various others,  fix includes.
7787         implement gst_pad_get_parent() with gst_object_get_parent()
7788         Make GstTask sefcontained.
7789         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7790         timeout.
7791         Fix endless loop in iterator_fold_with_resync.
7792
7793
7794 2005-07-18  Wim Taymans  <wim@fluendo.com>
7795
7796         * gst/Makefile.am:
7797         * gst/gstarch.h:
7798         Remove old file.
7799
7800 2005-07-18  Wim Taymans  <wim@fluendo.com>
7801
7802         * gst/Makefile.am:
7803         No more cothreads.h
7804
7805 2005-07-18  Wim Taymans  <wim@fluendo.com>
7806
7807         * gst/cothreads.c:
7808         * gst/cothreads.h:
7809         Let's remove these.
7810
7811 2005-07-18  Wim Taymans  <wim@fluendo.com>
7812
7813         * docs/design/part-dynamic.txt:
7814         * docs/design/part-events.txt:
7815         * docs/design/part-seeking.txt:
7816         Some more docs in the works.
7817
7818         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7819         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7820         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7821         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7822         (gst_base_transform_handle_buffer),
7823         (gst_base_transform_sink_activate_push),
7824         (gst_base_transform_src_activate_pull),
7825         (gst_base_transform_set_passthrough),
7826         (gst_base_transform_is_passthrough):
7827         Refcounting fixes.
7828
7829         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7830         Cleanups.
7831
7832         * gst/gstevent.c: (gst_event_finalize):
7833         Set SRC to NULL.
7834
7835         * gst/gstutils.c: (gst_element_unlink),
7836         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7837         (gst_pad_proxy_setcaps):
7838         * gst/gstutils.h:
7839         Add _get_parent_element() to get a pads parent as an element.
7840
7841 2005-07-18  Wim Taymans  <wim@fluendo.com>
7842
7843         * check/gst/gstbin.c: (GST_START_TEST):
7844         Remove bogus test.
7845
7846 2005-07-18  Wim Taymans  <wim@fluendo.com>
7847
7848         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7849         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7850         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7851         (gst_base_sink_event), (gst_base_sink_do_sync),
7852         (gst_base_sink_chain), (gst_base_sink_loop),
7853         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7854         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7855         Refcounting fixes.
7856         Fix logic for returning ASYNC when not prerolled.
7857
7858 2005-07-18  Wim Taymans  <wim@fluendo.com>
7859
7860         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7861         Fix nasty refcount bug.
7862
7863 2005-07-16 Philippe Khalaf <burger@speedy.org>
7864
7865         * gst/elements/gstfdsrc.c:
7866         * gst/elements/gstfdsrc.h:
7867         * gst/elements/gstelements.c:
7868         * gst/elements/Makefile.am:
7869         Ported fdsrc to 0.9.
7870
7871 2005-07-16  Wim Taymans  <wim@fluendo.com>
7872
7873         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7874         (gst_base_sink_do_sync):
7875         Fix compile error.
7876
7877 2005-07-16  Wim Taymans  <wim@fluendo.com>
7878
7879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7880         (gst_base_sink_event), (gst_base_sink_get_times),
7881         (gst_base_sink_do_sync), (gst_base_sink_change_state):
7882         * gst/base/gstbasesink.h:
7883         Store and use discont values when syncing buffers as described
7884         in design docs.
7885         
7886         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7887         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
7888         (gst_base_src_activate_push):
7889         Push discont event when starting.
7890
7891         * gst/elements/gstidentity.c: (gst_identity_transform):
7892         Small cleanups.
7893
7894         * gst/gstbin.c: (gst_bin_change_state):
7895         Small cleanups in base_time  distribution.
7896
7897         * gst/gstelement.c: (gst_element_set_base_time),
7898         (gst_element_get_base_time), (gst_element_change_state):
7899         * gst/gstelement.h:
7900         Added methods for the base_time of the element.
7901         Some MT fixes.
7902
7903         * gst/gstpipeline.c: (gst_pipeline_send_event),
7904         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7905         (gst_pipeline_get_last_stream_time):
7906         * gst/gstpipeline.h:
7907         MT fixes.
7908         Handle seeking as described in design doc, remove stream_time
7909         hack.
7910         Cleanups clock and stream_time selection code. Added accessors
7911         for the stream_time.
7912         
7913
7914 2005-07-16  Andy Wingo  <wingo@pobox.com>
7915
7916         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
7917         (#305291).
7918
7919 2005-07-16  Wim Taymans  <wim@fluendo.com>
7920
7921         * check/gst/gstbin.c: (GST_START_TEST):
7922         Make elements silent as the deep_notify refs the
7923         parent, which might make the test fail.
7924
7925         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7926         Don't hold the lock for too long.
7927
7928 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
7929
7930         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7931           Don't unref the caps we passed to gst_caps_make_writable() after
7932           passing them. gst_caps_make_writable() will do that for us.
7933
7934 2005-07-15  Andy Wingo  <wingo@pobox.com>
7935
7936         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
7937         (#157311).
7938
7939         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
7940         own marshalling function for the handoff signal. Properly type the
7941         buffer as a buffer. Fixes some warnings. Should do a more general
7942         solution.
7943         (gst_identity_class_init): Plug into the right marshaller.
7944
7945 2005-07-15  Wim Taymans  <wim@fluendo.com>
7946
7947         * docs/design/part-TODO.txt:
7948         * docs/design/part-clocks.txt:
7949         * docs/design/part-element-sink.txt:
7950         * docs/design/part-events.txt:
7951         * docs/design/part-gstpipeline.txt:
7952         Updated docs, mostly DISCONT related.
7953
7954 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
7955
7956         * docs/pwg/building-pads.xml:
7957           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
7958
7959 2005-07-15  Andy Wingo  <wingo@pobox.com>
7960
7961         * tools/gst-typefind.c: Update, add copyright block.
7962
7963         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
7964         Normalize and truncate caps before fixation.
7965
7966         * gst/gstcaps.h:
7967         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
7968         discards all but the first structure from its argument.
7969
7970 2005-07-15  Wim Taymans  <wim@fluendo.com>
7971
7972         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7973         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
7974         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7975         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7976         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
7977         (gst_base_transform_chain), (gst_base_transform_change_state),
7978         (gst_base_transform_set_passthrough),
7979         (gst_base_transform_is_passthrough):
7980         * gst/base/gstbasetransform.h:
7981         Make passthrough work using the bufferpools.
7982         Changed API a bit, subclasses have to write into a buffer
7983         provided by the base class.
7984         More debug info in nego functions.
7985         
7986         * gst/elements/gstidentity.c: (gst_identity_init),
7987         (gst_identity_transform):
7988         Port to new base class.
7989
7990 2005-07-15  Wim Taymans  <wim@fluendo.com>
7991
7992         * gst/gstmessage.c: (gst_message_new_state_changed):
7993         * tools/gst-launch.c: (event_loop), (main):
7994         Totally dump messages in -launch with the -m option.
7995         Fix message name for State messages,
7996
7997 2005-07-14  Wim Taymans  <wim@fluendo.com>
7998
7999         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8000         Post error messages on errors.
8001
8002 2005-07-14  Wim Taymans  <wim@fluendo.com>
8003
8004         * gst/gstcaps.c: (gst_caps_do_simplify):
8005         Remove debug info.
8006
8007         * gst/gsterror.h:
8008         Define error for stream stopped.
8009
8010         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8011         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8012         Do proper return values.
8013
8014         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8015         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8016         (gst_pad_get_range):
8017         Better return values.
8018
8019         * gst/gstpad.h:
8020         Reorganise return values, add macro to check for fatal errors.
8021
8022         * gst/gstqueue.c: (gst_queue_chain):
8023         Return proper GstFlowReturn values,
8024
8025 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8026
8027         * docs/gst/gstreamer-sections.txt:
8028         * docs/gst/gstreamer.types:
8029         * docs/gst/tmpl/gst.sgml:
8030         * docs/gst/tmpl/gstbasesink.sgml:
8031         * docs/gst/tmpl/gstbasesrc.sgml:
8032         * docs/gst/tmpl/gstbasetransform.sgml:
8033         * docs/gst/tmpl/gstbin.sgml:
8034         * docs/gst/tmpl/gstbuffer.sgml:
8035         * docs/gst/tmpl/gstcaps.sgml:
8036         * docs/gst/tmpl/gstclock.sgml:
8037         * docs/gst/tmpl/gstcompat.sgml:
8038         * docs/gst/tmpl/gstconfig.sgml:
8039         * docs/gst/tmpl/gstelement.sgml:
8040         * docs/gst/tmpl/gstelementdetails.sgml:
8041         * docs/gst/tmpl/gstelementfactory.sgml:
8042         * docs/gst/tmpl/gstenumtypes.sgml:
8043         * docs/gst/tmpl/gsterror.sgml:
8044         * docs/gst/tmpl/gstevent.sgml:
8045         * docs/gst/tmpl/gstfakesink.sgml:
8046         * docs/gst/tmpl/gstfakesrc.sgml:
8047         * docs/gst/tmpl/gstfilesink.sgml:
8048         * docs/gst/tmpl/gstfilesrc.sgml:
8049         * docs/gst/tmpl/gstfilter.sgml:
8050         * docs/gst/tmpl/gstformat.sgml:
8051         * docs/gst/tmpl/gstghostpad.sgml:
8052         * docs/gst/tmpl/gstimplementsinterface.sgml:
8053         * docs/gst/tmpl/gstindex.sgml:
8054         * docs/gst/tmpl/gstindexfactory.sgml:
8055         * docs/gst/tmpl/gstinfo.sgml:
8056         * docs/gst/tmpl/gstiterator.sgml:
8057         * docs/gst/tmpl/gstmacros.sgml:
8058         * docs/gst/tmpl/gstmemchunk.sgml:
8059         * docs/gst/tmpl/gstminiobject.sgml:
8060         * docs/gst/tmpl/gstobject.sgml:
8061         * docs/gst/tmpl/gstpad.sgml:
8062         * docs/gst/tmpl/gstpadtemplate.sgml:
8063         * docs/gst/tmpl/gstparse.sgml:
8064         * docs/gst/tmpl/gstpipeline.sgml:
8065         * docs/gst/tmpl/gstplugin.sgml:
8066         * docs/gst/tmpl/gstpluginfeature.sgml:
8067         * docs/gst/tmpl/gstquery.sgml:
8068         * docs/gst/tmpl/gstqueue.sgml:
8069         * docs/gst/tmpl/gstregistry.sgml:
8070         * docs/gst/tmpl/gstregistrypool.sgml:
8071         * docs/gst/tmpl/gstscheduler.sgml:
8072         * docs/gst/tmpl/gstschedulerfactory.sgml:
8073         * docs/gst/tmpl/gststructure.sgml:
8074         * docs/gst/tmpl/gstsystemclock.sgml:
8075         * docs/gst/tmpl/gsttaglist.sgml:
8076         * docs/gst/tmpl/gsttagsetter.sgml:
8077         * docs/gst/tmpl/gsttrace.sgml:
8078         * docs/gst/tmpl/gsttrashstack.sgml:
8079         * docs/gst/tmpl/gsttypefind.sgml:
8080         * docs/gst/tmpl/gsttypefindfactory.sgml:
8081         * docs/gst/tmpl/gsttypes.sgml:
8082         * docs/gst/tmpl/gsturihandler.sgml:
8083         * docs/gst/tmpl/gsturitype.sgml:
8084         * docs/gst/tmpl/gstutils.sgml:
8085         * docs/gst/tmpl/gstvalue.sgml:
8086         * docs/gst/tmpl/gstversion.sgml:
8087         * docs/gst/tmpl/gstxml.sgml:
8088         * docs/libs/tmpl/gstcontrol.sgml:
8089         * docs/libs/tmpl/gstdataprotocol.sgml:
8090         * docs/libs/tmpl/gstdparam.sgml:
8091         * docs/libs/tmpl/gstdplinint.sgml:
8092         * docs/libs/tmpl/gstdpman.sgml:
8093         * docs/libs/tmpl/gstdpsmooth.sgml:
8094         * docs/libs/tmpl/gstgetbits.sgml:
8095         * docs/libs/tmpl/gstunitconvert.sgml:
8096         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8097         (gst_push_src_base_init), (gst_push_src_class_init),
8098         (gst_push_src_init), (gst_push_src_create):
8099         * gst/base/gstpushsrc.h:
8100         * gst/elements/gstelements.c:
8101         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8102         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8103         (gst_fake_sink_init), (gst_fake_sink_set_property),
8104         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8105         (gst_fake_sink_event), (gst_fake_sink_preroll),
8106         (gst_fake_sink_render), (gst_fake_sink_change_state):
8107         * gst/elements/gstfakesink.h:
8108         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8109         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8110         (gst_fake_src_base_init), (gst_fake_src_class_init),
8111         (gst_fake_src_init), (gst_fake_src_event_handler),
8112         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8113         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8114         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8115         (gst_fake_src_create_buffer), (gst_fake_src_create),
8116         (gst_fake_src_start), (gst_fake_src_stop):
8117         * gst/elements/gstfakesrc.h:
8118         * gst/elements/gstfilesink.c: (_do_init),
8119         (gst_file_sink_base_init), (gst_file_sink_class_init),
8120         (gst_file_sink_init), (gst_file_sink_dispose),
8121         (gst_file_sink_set_location), (gst_file_sink_set_property),
8122         (gst_file_sink_get_property), (gst_file_sink_open_file),
8123         (gst_file_sink_close_file), (gst_file_sink_query),
8124         (gst_file_sink_event), (gst_file_sink_render),
8125         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8126         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8127         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8128         * gst/elements/gstfilesink.h:
8129         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8130         (gst_file_src_class_init), (gst_file_src_init),
8131         (gst_file_src_finalize), (gst_file_src_set_location),
8132         (gst_file_src_set_property), (gst_file_src_get_property),
8133         (gst_file_src_map_region), (gst_file_src_map_small_region),
8134         (gst_file_src_create_mmap), (gst_file_src_create_read),
8135         (gst_file_src_create), (gst_file_src_is_seekable),
8136         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8137         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8138         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8139         (gst_file_src_uri_handler_init):
8140         * gst/elements/gstfilesrc.h:
8141           more autistic cleanliness in functions/names/defines
8142
8143 2005-07-13  Andy Wingo  <wingo@pobox.com>
8144
8145         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8146         source couldn't negotiate.
8147
8148         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8149         connections again.
8150
8151         * gst/gstutils.h:
8152         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8153         function. I am channeling Hades. Put your boots on suckers!!!
8154
8155 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8156
8157         * testsuite/caps/Makefile.am:
8158         * testsuite/caps/value_compare.c:
8159         * testsuite/caps/value_intersect.c:
8160         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8161           move two testsuite apps over to the check dir
8162
8163 2005-07-12  Wim Taymans  <wim@fluendo.com>
8164
8165         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8166         Added more debug info in the negotiate process.
8167
8168         * gst/gstmessage.h:
8169         Prepare for segment playback.
8170
8171         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8172         Better debugging.
8173
8174         * gst/gstutils.c:
8175         Some more docs.
8176
8177         * tools/gst-launch.c: (main):
8178         NULL pipeline on errors.
8179
8180 2005-07-12  Andy Wingo  <wingo@pobox.com>
8181
8182         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8183         not it comes from a malloc region. Make sure our copy gets freed.
8184
8185 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8186
8187         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8188         * check/gst/gstmessage.c: (GST_START_TEST):
8189         * check/gst/gststructure.c: (GST_START_TEST),
8190         (gst_structure_suite), (main):
8191           more testing
8192         * gst/gstelement.c: (gst_element_message_full):
8193           clean up GError and debug string now that they get copied
8194         * gst/gstmessage.c: (gst_message_new_error),
8195         (gst_message_new_warning), (gst_message_parse_error),
8196         (gst_message_parse_warning):
8197           use GST_TYPE_G_ERROR for structure_new, and take copies of
8198           arguments, so that we don't mess up refcounting
8199
8200 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8201
8202         * check/Makefile.am:
8203           add per-test valgrind targets
8204         * check/gst-libs/gdp.c: (GST_START_TEST),
8205         (gst_data_protocol_suite), (main):
8206           clean up
8207
8208 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8209
8210         * check/Makefile.am:
8211           instate more valgrindable tests
8212         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8213         (GST_START_TEST), (fakesrc_suite):
8214         * check/gst/gstpad.c: (GST_START_TEST):
8215         * check/gst/gststructure.c: (GST_START_TEST):
8216           fix test leaks
8217         * docs/gst/tmpl/gstminiobject.sgml:
8218         * gst/gstpad.c: (gst_pad_finalize):
8219           fix the static mutex leak
8220
8221 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8222
8223         * check/Makefile.am:
8224           add two more tests for valgrinding
8225         * check/gst/gstvalue.c: (GST_START_TEST):
8226           test refcount of deserialized buffer, found a leak
8227         * docs/gst/gstreamer-docs.sgml:
8228         * docs/gst/gstreamer-sections.txt:
8229         * docs/gst/gstreamer.types:
8230         * docs/gst/tmpl/gstminiobject.sgml:
8231           add miniobject to docs
8232         * gst/gstminiobject.c:
8233           add some docs
8234         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8235         (gst_string_unwrap):
8236           fix a hard-to-find invalid write for one of the tests
8237           fix a leak for deserialized buffers
8238
8239 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8240
8241         * docs/pwg/advanced-events.xml:
8242         * docs/pwg/advanced-request.xml:
8243         * docs/pwg/advanced-scheduling.xml:
8244         * docs/pwg/appendix-porting.xml:
8245         * docs/pwg/building-boiler.xml:
8246         * docs/pwg/intro-preface.xml:
8247         * docs/pwg/other-ntoone.xml:
8248           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8249           of example code and explanation for pad activation, loop() and
8250           getrange() functions and a bit more. Remove old comments pointing
8251           to loop-functions.
8252         * examples/pwg/Makefile.am:
8253           Add loop/getrange examples.
8254
8255 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8256
8257         * configure.ac:
8258           check for valgrind binary + some fixes
8259         * check/gst.supp:
8260           valgrind suppressions for the tests
8261         * check/Makefile.am:
8262           add a valgrind: target that valgrinds the unit tests
8263         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8264         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8265         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8266         * check/gst/gstghostpad.c:
8267           added some cleanup
8268         * check/gst/gstdata.c:
8269           removed
8270         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8271         (thread_unref), (gst_mini_object_suite), (main):
8272           added
8273         * gst/gst.c: (gst_deinit):
8274         * gst/gst.h:
8275           add a method to clean up.
8276         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8277         (gst_system_clock_obtain):
8278           allow for disposing the system clock.
8279         * tools/gst-launch.c: (main):
8280           deinit
8281
8282 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8283
8284         * docs/gst/tmpl/gstbasesrc.sgml:
8285         * docs/gst/tmpl/gstfakesrc.sgml:
8286         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8287         (gst_base_src_init), (gst_base_src_set_property),
8288         (gst_base_src_get_property), (gst_base_src_get_range),
8289         (gst_base_src_start):
8290         * gst/base/gstbasesrc.h:
8291           add num-buffers property
8292         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8293         (gst_fakesrc_init), (gst_fakesrc_set_property),
8294         (gst_fakesrc_get_property), (gst_fakesrc_create),
8295         (gst_fakesrc_start):
8296           remove num-buffers property
8297
8298 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8299
8300         * docs/gst/gstreamer-sections.txt:
8301         * docs/gst/tmpl/gstbasesink.sgml:
8302         * docs/gst/tmpl/gstbasesrc.sgml:
8303         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8304         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8305         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8306         (gst_base_sink_set_property), (gst_base_sink_get_property),
8307         (gst_base_sink_handle_object), (gst_base_sink_event),
8308         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8309         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8310         (gst_base_sink_loop), (gst_base_sink_deactivate),
8311         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8312         (gst_base_sink_change_state):
8313         * gst/base/gstbasesink.h:
8314         * gst/base/gstbasesrc.h:
8315         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8316         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8317         (gst_filesink_init):
8318           more macro splitting
8319
8320 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8321
8322         * gst/gstelement.c: (gst_element_get_bus):
8323           add debug
8324         * tools/gst-launch.c: (check_intr), (event_loop):
8325           fix bus leaks
8326
8327 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8328
8329         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8330           fix a caps leak
8331
8332 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8333
8334         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8335         (gst_base_src_finalize):
8336           add finalize method and clean up properly
8337         * gst/gstpipeline.c: (gst_pipeline_dispose):
8338           add debug
8339
8340 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8341
8342         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8343         (gst_bin_suite):
8344           add more things to check
8345         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8346         * gst/gstelement.c:
8347           more debug
8348
8349 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8352         (GST_START_TEST), (fakesrc_suite):
8353         * check/gst-libs/gdp.c: (GST_START_TEST):
8354         * check/gst/gst.c: (GST_START_TEST):
8355         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8356         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8357         * check/gst/gstbus.c: (GST_START_TEST):
8358         * check/gst/gstcaps.c: (GST_START_TEST):
8359         * check/gst/gstdata.c: (GST_START_TEST):
8360         * check/gst/gstelement.c: (GST_START_TEST):
8361         * check/gst/gstghostpad.c: (GST_START_TEST):
8362         * check/gst/gstiterator.c: (GST_START_TEST):
8363         * check/gst/gstmessage.c: (GST_START_TEST):
8364         * check/gst/gstobject.c: (GST_START_TEST):
8365         * check/gst/gstpad.c: (GST_START_TEST):
8366         * check/gst/gststructure.c: (GST_START_TEST):
8367         * check/gst/gstsystemclock.c: (GST_START_TEST),
8368         (gst_systemclock_suite):
8369         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8370         * check/gst/gstvalue.c: (GST_START_TEST):
8371         * check/pipelines/cleanup.c: (GST_START_TEST):
8372         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8373         * check/states/sinks.c: (GST_START_TEST):
8374         * check/gstcheck.c: (gst_check_init):
8375         * check/gstcheck.h:
8376           add debugging category
8377           use GST_START_TEST now, so we add a debug line
8378
8379 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8380
8381         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8382           add test for state change message on a bin
8383         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8384           add another test
8385         * gst/gstbin.c: (gst_bin_init):
8386         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8387         * gst/gstelement.c: (gst_element_post_message),
8388         (gst_element_set_state):
8389         * gst/gstelementfactory.c: (gst_element_factory_create):
8390         * gst/gstmessage.c: (gst_message_new):
8391         * gst/gstscheduler.c:
8392           various debugging additions and cleanups
8393
8394 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8395
8396         * check/Makefile.am:
8397         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8398         (main):
8399           adding tests for elements
8400         * gst/gstelement.c: (gst_element_dispose):
8401
8402 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8403
8404         * gst/registries/gstlibxmlregistry.c: (load_feature):
8405           plug more leaks.  A simple gst_init() now is leakfree, yay.
8406
8407 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8408
8409         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8410         (gst_xml_registry_load):
8411           plug another memleak
8412
8413 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * configure.ac:
8416           use GST_SET_ERROR_CFLAGS
8417         * docs/faq/cvs.xml:
8418           change to ERROR_CFLAGS
8419
8420 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8421
8422         * configure.ac:
8423           make GST_ERROR_CFLAGS overridable and re-enable Werror
8424         * docs/faq/cvs.xml:
8425           add a note about error CFLAGS
8426         * docs/gst/tmpl/gstfakesrc.sgml:
8427         * gst/elements/gstfakesrc.c:
8428           comment out some unused code
8429         * gst/gst.c: (split_and_iterate):
8430         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8431         (load_feature):
8432           plug some memleaks
8433
8434 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8435
8436         * common/Makefile.am:
8437         * common/gtk-doc.mak:
8438         * docs/gst/Makefile.am:
8439           factor out gtk-doc.mak
8440
8441 2005-07-07  Wim Taymans  <wim@fluendo.com>
8442
8443         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8444         (gst_thread_scheduler_dispose):
8445         Unlock the STREAM_LOCK completely.
8446
8447 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8448
8449         * check/Makefile.am:
8450         * check/elements/.cvsignore:
8451         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8452         (START_TEST), (fakesrc_suite), (main):
8453         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8454         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8455         (gst_fakesrc_create), (gst_fakesrc_start):
8456         * gst/elements/gstfakesrc.h:
8457           adding a first element test
8458
8459 2005-07-07  Andy Wingo  <wingo@pobox.com>
8460
8461         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8462         debug message.
8463
8464 2005-07-07  Wim Taymans  <wim@fluendo.com>
8465
8466         * gst/gstquery.c:
8467         * gst/gstquery.h:
8468         Remove old types
8469
8470 2005-07-07  Wim Taymans  <wim@fluendo.com>
8471
8472         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8473         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8474         Allow subclasses to implement their own negotiation.
8475
8476 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8477
8478         * docs/design/part-gstbin.txt:
8479         * docs/design/part-gstpipeline.txt:
8480           Update design notes to reflect the movement of
8481           responsibility for bus handling from GstPipeline to
8482           GstBin
8483
8484 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8485
8486         * configure.ac:
8487           Remove unnecessary queue2/3/4 examples.
8488
8489 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8490
8491         * examples/Makefile.am:
8492         * examples/helloworld/helloworld.c: (event_loop), (main):
8493         * examples/queue/queue.c: (event_loop), (main):
8494         * examples/queue2/queue2.c: (main):
8495           Update a couple of the examples to work again.
8496
8497         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8498         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8499          Spelling corrections and extra debug.
8500         
8501         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8502         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8503         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8504         * gst/gstbin.h:
8505         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8506         (gst_pipeline_change_state):
8507         * gst/gstpipeline.h:
8508           Move the bus handler for children to the GstBin, and create a
8509           separate bus for receiving messages from children to the one the
8510           bus sends 'upwards' on.
8511
8512 2005-07-06  Wim Taymans  <wim@fluendo.com>
8513
8514         * gst/base/README:
8515         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8516         (gst_base_sink_handle_object), (gst_base_sink_loop),
8517         (gst_base_sink_change_state):
8518         * gst/base/gstbasesink.h:
8519         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8520         (gst_base_src_init), (gst_base_src_setcaps),
8521         (gst_base_src_getcaps), (gst_base_src_loop),
8522         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8523         (gst_base_src_start), (gst_base_src_change_state):
8524         * gst/base/gstbasesrc.h:
8525         Make basesrc negotiate.
8526         Handle the case where preroll fails in basesink.
8527         Update README.
8528
8529 2005-07-06  Wim Taymans  <wim@fluendo.com>
8530
8531         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8532         Implement the fixate function.
8533         Clean up acceptcaps.
8534
8535 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8536
8537         * docs/pwg/building-filterfactory.xml:
8538         * docs/pwg/pwg.xml:
8539           Remove never-written filter-factory chapter; I'll add the various
8540           base classes to part 4 ("other element types") later on.
8541
8542 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8543
8544         * docs/pwg/advanced-negotiation.xml:
8545         * docs/pwg/building-boiler.xml:
8546         * docs/pwg/building-pads.xml:
8547         * docs/pwg/pwg.xml:
8548         * examples/pwg/Makefile.am:
8549           Add a chapter on caps negotiation, simplify the original code
8550           samples a bit w.r.t. caps negotiation, add link to the advanced
8551           section. Add a bunch of examples showing different use cases of
8552           different types of caps negotiation. Upstream renegotiation isn't
8553           fully documented yet since nobody knows how that works.
8554
8555 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8556
8557         * check/gst/gstpad.c:
8558         * check/gstcheck.c:
8559         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8560           if pad has no parent, return NULL as list of internal links
8561
8562 2005-07-05  Andy Wingo  <wingo@pobox.com>
8563
8564         * gst/elements/gstfilesrc.c:
8565         * gst/elements/gstfakesrc.c: 
8566         * gst/base/gstpushsrc.c:
8567         * gst/base/gstbasesrc.h: 
8568         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8569         
8570 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8571
8572         * Makefile.am:
8573           better report generation target (lcov needs a patch)
8574
8575 2005-07-05  Andy Wingo  <wingo@pobox.com>
8576
8577         * gst/elements, testsuite: Null if we got it...
8578
8579 2005-07-05  Wim Taymans  <wim@fluendo.com>
8580
8581         * configure.ac:
8582         * libs/gst/dataprotocol/Makefile.am:
8583         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8584         * libs/gst/dataprotocol/dataprotocol.h:
8585         * pkgconfig/Makefile.am:
8586         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8587         * pkgconfig/gstreamer-dataprotocol.pc.in:
8588         Ported dataprotol to 0.9. 
8589         Added pkgconfig files.
8590
8591 2005-07-05  Andy Wingo  <wingo@pobox.com>
8592
8593         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8594         Default to returning TRUE for the case when tranform_caps returns
8595         a fixed caps, like for identity or volume.
8596
8597         * check/gst/gstbus.c (pound_bus_with_messages): 
8598         * check/gst/gstmessage.c (START_TEST): 
8599         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8600         message API change.
8601
8602         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8603         logic weaks here: always run transform_caps, trying passthrough
8604         operation only if the original caps intersects with the transform.
8605
8606         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8607         source and sink caps.
8608
8609         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8610         Intersect the peer caps with the pad template before going into
8611         transform_caps.
8612         (gst_base_transform_transform_caps): More debugging.
8613
8614         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8615         src argument.
8616
8617 2005-07-04  Edward Hervey  <edward@fluendo.com>
8618
8619         * gst/gstutils.c:
8620         * gst/gstutils.h:
8621         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8622         in bindings.
8623
8624 2005-07-04  Andy Wingo  <wingo@pobox.com>
8625
8626         * check/gst/gstpad.c: Only set explicit caps on pads.
8627
8628 2005-07-01  Andy Wingo  <wingo@pobox.com>
8629
8630         * tests/network-clock.scm: Commentary update.
8631
8632         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8633         Didn't really make sense, not implementable with basetransform,
8634         etc.
8635         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8636         attempt at implementing the sync property, needs an unlock method.
8637
8638         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8639         New func, by default returns the same caps (the identity
8640         transformation).
8641         (gst_base_transform_getcaps): Uses transform_caps to return
8642         something sensible.
8643         (gst_base_transform_setcaps): Complicated logic to get caps on
8644         both pads, even if they are different, and to call set_caps once
8645         for every time both pads get their caps set.
8646         (gst_base_transform_handle_buffer): Give the ref to the transform
8647         function. Allows in-place modification of the buffer.
8648
8649         * gst/base/gstbasetransform.h (transform_caps): New class method.
8650         Given caps on one side, what can I do on the other.
8651         (set_caps): Take two caps, one for each side of the element.
8652
8653         * gst/gstpad.h:
8654         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8655         caps in place. This is safe because we can check the mutability of
8656         the caps, and a good idea because fixate functions are just called
8657         as a matter of last resort. (Not actually implemented.)
8658         (gst_pad_set_caps): If the caps we're setting is actually the same
8659         as the existing pad caps, just update the pointer without calling
8660         setcaps. Assert that caps is either NULL or fixed, as per the
8661         docs.
8662
8663         * gst/gstghostpad.c: Update for fixate changes.
8664
8665 2005-07-02  Andy Wingo  <wingo@pobox.com>
8666
8667         * gst/gstcaps.c:
8668         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8669         two refcounts makes it immutable, which is enough. Doc more.
8670
8671 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8672
8673         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8674           Put the mini_object into GValue as a mini_object,
8675           not a gpointer, since that's how we declared
8676           the signal.
8677
8678 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8679
8680         * examples/pwg/Makefile.am:
8681           Fix buildbot again.
8682
8683 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8684
8685         * docs/pwg/building-testapp.xml:
8686           Add extra check.
8687         * examples/pwg/Makefile.am:
8688           Fix buildbot.
8689
8690 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8691
8692         * configure.ac:
8693         * examples/Makefile.am:
8694         * examples/pwg/Makefile.am:
8695         * examples/pwg/extract.pl:
8696           Enable building the PWG examples.
8697         * docs/pwg/advanced-interfaces.xml:
8698           Add URI interface stub.
8699         * docs/pwg/advanced-types.xml:
8700         * docs/pwg/other-autoplugger.xml:
8701         * docs/pwg/appendix-porting.xml:
8702         * docs/pwg/pwg.xml:
8703           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8704         * docs/pwg/building-boiler.xml:
8705         * docs/pwg/building-chainfn.xml:
8706         * docs/pwg/building-pads.xml:
8707         * docs/pwg/building-props.xml:
8708         * docs/pwg/building-state.xml:
8709         * docs/pwg/building-testapp.xml:
8710           Update the building-*.xml parts for 0.9 changes. All examples
8711           code blocks compile in examples/pwg/*.
8712
8713 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8714
8715         * docs/manual/advanced-autoplugging.xml:
8716         * docs/manual/appendix-checklist.xml:
8717         * docs/manual/appendix-integration.xml:
8718         * docs/manual/highlevel-components.xml:
8719           Fix playbin/decodebin examples, update docs a bit, mention bus
8720           instead of signals in various places, mention kmplayer and
8721           kaffeine since they have a working GStreamer backend in the KDE
8722           section.
8723
8724 2005-06-30  Wim Taymans  <wim@fluendo.com>
8725
8726         * CHANGES-0.9:
8727         * docs/design/draft-ghostpads.txt:
8728         * docs/design/draft-push-pull.txt:
8729         * docs/design/draft-query.txt:
8730         * docs/design/part-TODO.txt:
8731         * docs/design/part-query.txt:
8732         Added CHANGES-0.9 doc, updated status of other docs.
8733         
8734         * gst/gstquery.h:
8735         Remove "hmm" macro
8736
8737 2005-06-30  Wim Taymans  <wim@fluendo.com>
8738
8739         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8740         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8741         (gst_base_sink_change_state):
8742         * gst/base/gstbasesink.h:
8743         Some tweaks, only EOS and a buffer complete a preroll.
8744
8745 2005-06-30  Andy Wingo  <wingo@pobox.com>
8746
8747         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8748         activate_push down to the internal pad as well.
8749
8750 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8751
8752         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8753
8754         * gst/gsttaginterface.c:
8755           Some documentation fixes (#307394 and #307397).
8756
8757 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8758
8759         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8760
8761         * gst/gstvalue.c: (gst_value_intersect_list):
8762           Fix memleak (#309125).
8763
8764 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8765
8766         * docs/manual/advanced-dataaccess.xml:
8767           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8768         * docs/manual/basics-pads.xml:
8769           Add reference for filtered caps to above chapter.
8770
8771 2005-06-30  Wim Taymans  <wim@fluendo.com>
8772
8773         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8774         (gst_bin_change_state):
8775         Probes are gone.
8776         Lame attempt at making the state change function a bit
8777         more readable.
8778
8779 2005-06-30  Wim Taymans  <wim@fluendo.com>
8780
8781         * docs/design/part-clocks.txt:
8782         * docs/design/part-element-sink.txt:
8783         * docs/design/part-events.txt:
8784         * docs/design/part-preroll.txt:
8785         * docs/design/part-states.txt:
8786         Some more tweeks and additions to the docs.
8787
8788 2005-06-30  Wim Taymans  <wim@fluendo.com>
8789
8790         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8791         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8792         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8793         (gst_pad_check_pull_range), (gst_pad_get_range),
8794         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8795         * gst/gstpad.h:
8796         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8797         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8798         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8799         (gst_pad_remove_buffer_probe):
8800         Removed atomic operations, use existing LOCK.
8801         Move exception handling out of main code path.
8802
8803 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8804
8805         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8806         (silly_return_true_function), (gst_pad_class_init),
8807         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8808         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8809         (gst_pad_send_event):
8810           Fix accumulator, add default value by using _emitv() instead
8811           of _emit() for signal emission.
8812
8813 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8814
8815         * docs/manual/advanced-dataaccess.xml:
8816         * examples/manual/Makefile.am:
8817           Add probe example.
8818         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8819           Make work (??).
8820
8821 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8822
8823         * gst/elements/gstfilesink.c: (gst_filesink_render):
8824           Simplify code so that we don't have to handle short
8825           writes and return GST_FLOW_ERROR if an error occured.
8826
8827 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8828
8829         * docs/gst/gstreamer-docs.sgml:
8830           Remove probes more.
8831
8832 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8833
8834         * docs/gst/gstreamer-sections.txt:
8835         * docs/gst/tmpl/gstpad.sgml:
8836         * docs/gst/tmpl/gstprobe.sgml:
8837         * gst/Makefile.am:
8838         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8839         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8840         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8841         (gst_pad_push_event), (gst_pad_send_event):
8842         * gst/gstpad.h:
8843         * gst/gstutils.c: (gst_pad_add_data_probe),
8844         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8845         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8846         (gst_pad_remove_buffer_probe):
8847         * gst/gstutils.h:
8848           Remove old probes, add new g-signal-based probes and some utility
8849           functions.
8850
8851 2005-06-29  Edward Hervey  <edward@fluendo.com>
8852
8853         * gst/gstelementfactory.c:
8854         * gst/gstutils.h:
8855         * gst/gstutils.c:
8856         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8857         the definition to the header file.
8858
8859 2005-06-29  Andy Wingo  <wingo@pobox.com>
8860
8861         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8862         plugins from the source directory.
8863
8864 2005-06-29  Wim Taymans  <wim@fluendo.com>
8865
8866         * docs/gst/tmpl/gstbuffer.sgml:
8867         * docs/gst/tmpl/gstclock.sgml:
8868         Some fixings for blantently wrong text.
8869
8870 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8871
8872         * check/Makefile.am:
8873         * gst/gst.c: (add_path_func), (init_pre):
8874         * gst/gstregistry.c: (gst_registry_add_path):
8875           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
8876           only scan the GST_PLUGIN_PATH locations, and not add
8877           system locations
8878
8879 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8880
8881         * docs/gst/gstreamer-sections.txt:
8882         * docs/gst/tmpl/gstbasesrc.sgml:
8883         * gst/gstelement.c:
8884         * gst/gstelement.h:
8885         * gst/gstevent.c:
8886         * gst/gstutils.c:
8887           doc fixes
8888
8889 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8890
8891         * docs/manual/advanced-autoplugging.xml:
8892           Fix autoplugging example.
8893
8894 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8895
8896         * docs/manual/advanced-autoplugging.xml:
8897         * docs/manual/mime-world.fig:
8898           Try to get autoplugging working, fix type detection. Fix text
8899           in hello-world image.
8900
8901 2005-06-29  Wim Taymans  <wim@fluendo.com>
8902
8903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8904         (gst_base_sink_change_state):
8905         Small debug line.
8906
8907         * gst/gstclock.h:
8908         map SIGNAL and BROADCAST to the right function.
8909
8910         * gst/gstobject.h:
8911         Remove redundant braces.
8912
8913         * gst/gstpad.c: (gst_pad_set_caps):
8914         Don't call setcaps function when reseting caps to NULL.
8915
8916         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8917         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
8918         (gst_system_clock_id_unschedule):
8919         Use BROADCAST as this is what we do.
8920
8921 2005-06-29  Wim Taymans  <wim@fluendo.com>
8922
8923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8924         We are actually prerolling before commiting the state
8925         change. 
8926
8927 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8928
8929         * docs/manual/advanced-clocks.xml:
8930         * docs/manual/advanced-interfaces.xml:
8931         * docs/manual/advanced-metadata.xml:
8932         * docs/manual/advanced-position.xml:
8933         * docs/manual/advanced-schedulers.xml:
8934         * docs/manual/advanced-threads.xml:
8935         * docs/manual/appendix-porting.xml:
8936         * docs/manual/basics-bins.xml:
8937         * docs/manual/basics-bus.xml:
8938         * docs/manual/basics-elements.xml:
8939         * docs/manual/basics-helloworld.xml:
8940         * docs/manual/basics-pads.xml:
8941         * docs/manual/highlevel-components.xml:
8942         * docs/manual/manual.xml:
8943         * docs/manual/thread.fig:
8944           Update (until threads/scheduling) Application Development Manual;
8945           remove GstThread, add GstBus, add simple porting checklist, add
8946           documentation for tag writing, clocks, make all examples until this
8947           part compile and run.
8948         * examples/manual/Makefile.am:
8949           Update from changes to Application Development Manual; add bus
8950           example, remove thread example.
8951
8952 2005-06-28  Wim Taymans  <wim@fluendo.com>
8953
8954         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
8955         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
8956         (gst_bus_source_dispatch):
8957         Add debugging messages.
8958         Make internal methods static.
8959         Handle the case where the bus is flushed in the handler.
8960         
8961         * gst/gstelement.c: (gst_element_get_bus):
8962         Fix refcount in _get_bus();
8963
8964         * gst/gstpipeline.c: (gst_pipeline_change_state),
8965         (gst_pipeline_get_clock_func):
8966         Clock refcounting fixes.
8967         Handle the case where preroll timed out more gracefully.
8968         
8969         * gst/gstsystemclock.c: (gst_system_clock_dispose):
8970         Clean up the internal thread in dispose. This is needed
8971         for subclasses that actually get disposed.
8972         
8973         * gst/schedulers/threadscheduler.c:
8974         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8975         (gst_thread_scheduler_dispose):
8976         Free thread pool in dispose.
8977
8978 2005-06-28  Andy Wingo  <wingo@pobox.com>
8979
8980         * tests/network-clock-utils.scm (debug, print-event): New utils.
8981
8982         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
8983         (*packet-loss*): Unified loss probability.
8984         (network-time): Report out-of-band events.
8985
8986         * tests/plot-data: Add support for out-of-band events. Hack it
8987         into this script instead of passing it down the pipe; should fix
8988         this later.
8989
8990 2005-06-28  Wim Taymans  <wim@fluendo.com>
8991
8992         * docs/gst/gstreamer.types:
8993         * docs/gst/tmpl/gstbasesrc.sgml:
8994         * docs/gst/tmpl/gstpad.sgml:
8995         Docs fixes.
8996
8997 2005-06-28  Wim Taymans  <wim@fluendo.com>
8998
8999         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9000         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9001         (gst_proxy_pad_do_fixatecaps):
9002         Correctly proxy the check_pull_range function.
9003
9004 2005-06-28  Andy Wingo  <wingo@pobox.com>
9005
9006         * tests/network-clock.scm: Removed need for slib.
9007         
9008 2005-06-28  Wim Taymans  <wim@fluendo.com>
9009
9010         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9011         (gst_basesink_preroll_queue_flush):
9012         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9013         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9014         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9015         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9016         (gst_proxy_pad_set_property):
9017         * gst/gstpad.c:
9018         * gst/gstpad.h:
9019         * gst/gstqueue.c: (gst_queue_init):
9020         The deprecated pad loop function is removed now.
9021
9022 2005-06-28  Andy Wingo  <wingo@pobox.com>
9023
9024         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9025         New parameters, simulate network packet loss.
9026
9027         * tests/network-clock-utils.scm: Initialize the RNG.
9028
9029 2005-06-28  Wim Taymans  <wim@fluendo.com>
9030
9031         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9032         (gst_basesink_event), (gst_basesink_deactivate):
9033         Flushing the preroll queue always needs to unlock the waiters.
9034
9035 2005-06-28  Edward Hervey  <edward@fluendo.com>
9036
9037         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9038         Wheen a seek was successful on a pipeline, set the stream_time to the
9039         seek offset in order to have a synchronized stream_time.
9040
9041 2005-06-28  Wim Taymans  <wim@fluendo.com>
9042
9043         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9044         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9045         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9046         (gst_proxy_pad_do_fixatecaps):
9047         Call wrapper function instead of just calling the function
9048         pointers. This takes care of any locking and whatmore.
9049
9050 2005-06-28  Wim Taymans  <wim@fluendo.com>
9051
9052         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9053         (gst_pad_pull_range):
9054         * gst/gstpad.h:
9055         CONNECTED -> LINKED.
9056
9057 2005-06-28  Andy Wingo  <wingo@pobox.com>
9058
9059         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9060         source-munging commit!!!
9061
9062         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9063         (gst_object_sink): Take gpointer arguments, not GstObject --
9064         avoids casts. Like GLib.
9065
9066         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9067         activate.
9068
9069 2005-06-27  Andy Wingo  <wingo@pobox.com>
9070
9071         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9072         remaining buffer.
9073
9074         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9075         returns a sorted copy of the trace list.
9076         (gst_alloc_trace_print_live): New API, only prints traces with
9077         live objects. Sort the list.
9078         (gst_alloc_trace_print_all): Sort the list.
9079         (gst_alloc_trace_print): Align columns.
9080
9081         * gst/elements/gstttypefindelement.c:
9082         * gst/elements/gsttee.c:
9083         * gst/base/gstbasesrc.c:
9084         * gst/base/gstbasesink.c:
9085         * gst/base/gstbasetransform.c:
9086         * gst/gstqueue.c: Adapt for pad activation changes.
9087
9088         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9089         sched.
9090         (gst_pipeline_dispose): Drop ref on sched.
9091
9092         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9093         (gst_pad_activate_default): Push mode by default.
9094         (pre_activate_switch, post_activate_switch): New stubs, things to
9095         do before and after switching activation modes on pads.
9096         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9097         the pad's activate function to choose which mode to activate.
9098         Shortcut on deactivation and call the right function directly.
9099         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9100         mode.
9101         (gst_pad_activate_push): New API, same for push mode.
9102         (gst_pad_set_activate_function) 
9103         (gst_pad_set_activatepull_function) 
9104         (gst_pad_set_activatepush_function): Setters for new API.
9105
9106         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9107         Trace all miniobjects.
9108         (gst_mini_object_make_writable): Unref the arg if we copy, like
9109         gst_caps_make_writable.
9110
9111         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9112
9113         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9114         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9115         Adapt for new pad API.
9116
9117         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9118
9119         * gst/gstelement.h:
9120         * gst/gstelement.c (gst_element_iterate_src_pads) 
9121         (gst_element_iterate_sink_pads): New API functions.
9122         
9123         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9124         should fold into gstiterator.c in some form.
9125         (gst_element_pads_activate): Simplified via use of fold and
9126         delegation of decisions to gstpad->activate.
9127
9128         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9129         help in debugging.
9130
9131         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9132         class once in init, like gstmessage. Didn't run into this issue
9133         but it seems correct. Don't initialize a trace, gstminiobject does
9134         that.
9135
9136         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9137         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9138         to the bus.
9139         (assert_live_count): New util function, uses alloc traces to check
9140         cleanup.
9141
9142         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9143         To be modified when unlink drops the internal pad.
9144
9145 2005-06-27  Wim Taymans  <wim@fluendo.com>
9146
9147         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9148         (gst_bin_change_state):
9149         Cleanup the get_state() function a little, make sure it
9150         iterates the same set of elements.
9151         Added stub iterate_state_order().
9152
9153 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9154
9155         * docs/gst/gstreamer-docs.sgml:
9156         * docs/gst/gstreamer-sections.txt:
9157         * docs/gst/gstreamer.types:
9158         * docs/gst/tmpl/gstbasesink.sgml:
9159         * docs/gst/tmpl/gstbasesrc.sgml:
9160         * docs/gst/tmpl/gstbasetransform.sgml:
9161         * docs/gst/tmpl/gstelement.sgml:
9162         * docs/gst/tmpl/gstiterator.sgml:
9163         * gst/base/gstbasesrc.c:
9164         * gst/base/gstbasesrc.h:
9165         * gst/base/gstbasetransform.h:
9166         * gst/gstelement.c:
9167         * gst/gstiterator.h:
9168           adding basetransform and iterator docs
9169
9170 2005-06-27  Andy Wingo  <wingo@pobox.com>
9171
9172         * docs/design/part-activation.txt: Notes on how activation should
9173         work -- not quite implemented yet.
9174
9175 2005-06-25  Wim Taymans  <wim@fluendo.com>
9176
9177         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9178         At least get the chain function correct, needs more
9179         fixing.
9180
9181 2005-06-25  Wim Taymans  <wim@fluendo.com>
9182
9183         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9184         (gst_basesink_handle_object), (gst_basesink_event),
9185         (gst_basesink_do_sync), (gst_basesink_handle_event),
9186         (gst_basesink_change_state):
9187         * gst/gsttask.h:
9188         Right, two problems here: ghostpads don't take locks and
9189         glib _rec_mutex_lock_full() with depth==0 still locks.
9190         Catch illegal locking and g_warn them.
9191
9192 2005-06-25  Wim Taymans  <wim@fluendo.com>
9193
9194         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9195         Have to check for completion now...
9196
9197 2005-06-25  Wim Taymans  <wim@fluendo.com>
9198
9199         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9200         (gst_basesink_handle_object), (gst_basesink_event),
9201         (gst_basesink_do_sync), (gst_basesink_handle_event),
9202         (gst_basesink_change_state):
9203         * gst/gstpad.h:
9204         Unlock STREAM_LOCK whatever the recursion was.
9205
9206 2005-06-25  Wim Taymans  <wim@fluendo.com>
9207
9208         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9209         (gst_basesink_preroll_queue_empty),
9210         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9211         (gst_basesink_event), (gst_basesink_do_sync),
9212         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9213         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9214         (gst_basesink_change_state):
9215         Reworked the base sink, handle event and buffer serialisation
9216         correctly and removed possible deadlock.
9217         Handle EOS correctly.
9218
9219 2005-06-25  Wim Taymans  <wim@fluendo.com>
9220
9221         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9222         (gst_pipeline_change_state):
9223         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9224         Allow elements to post EOS in the state change function.
9225         Fix up -launch, make it exit the poll loop when the
9226         pipeline actually changed state.
9227         Fix up warning parsing in -launch.
9228
9229 2005-06-25  Wim Taymans  <wim@fluendo.com>
9230
9231         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9232         (gst_tee_sink_activate):
9233         Core takes STREAM_LOCK for us now.
9234
9235 2005-06-25  Wim Taymans  <wim@fluendo.com>
9236
9237         * gst/gstelement.c: (gst_element_get_state_func),
9238         (gst_element_set_state):
9239         * gst/gstelement.h:
9240         * gst/gstmessage.c: (gst_message_parse_error),
9241         (gst_message_parse_warning):
9242         Keep track of current target state while performing a state
9243         change so that subclasses can do something interesting.
9244         Fix parsing of warning/error messages when GError is NULL.
9245
9246 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9247
9248         * docs/gst/Makefile.am:
9249         * docs/gst/gstreamer-docs.sgml:
9250         * docs/gst/gstreamer-sections.txt:
9251         * docs/gst/gstreamer.types:
9252         * docs/gst/tmpl/gstbasesink.sgml:
9253         * docs/gst/tmpl/gstbasesrc.sgml:
9254         * docs/gst/tmpl/gstbin.sgml:
9255         * docs/gst/tmpl/gstcompat.sgml:
9256         * docs/gst/tmpl/gstfakesink.sgml:
9257         * docs/gst/tmpl/gstfakesrc.sgml:
9258         * docs/gst/tmpl/gstfilesink.sgml:
9259         * docs/gst/tmpl/gstfilesrc.sgml:
9260         * docs/gst/tmpl/gstindex.sgml:
9261         * docs/manual/appendix-quotes.xml:
9262         * gst/base/gstbasesrc.h:
9263         * gst/elements/gstfakesrc.h:
9264         * gst/gstmessage.h:
9265           start pulling in base classes and elements in our docs
9266
9267 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9268
9269         * docs/gst/Makefile.am:
9270         * docs/libs/Makefile.am:
9271           fixed make distcheck with gtk-doc 1.3
9272
9273 2005-06-23  Wim Taymans  <wim@fluendo.com>
9274
9275         * gst/gstelement.c: (gst_element_get_state_func),
9276         (gst_element_set_state), (gst_element_change_state):
9277         When the state did not change, also report NO_PREROLL
9278         when it matters.
9279
9280 2005-06-23  Wim Taymans  <wim@fluendo.com>
9281
9282         * gst/gstpad.c: (gst_pad_event_default):
9283         * gst/gstqueue.c: (gst_queue_loop):
9284         No unsafe task pausing please.
9285
9286 2005-06-23  Wim Taymans  <wim@fluendo.com>
9287
9288         * gst/schedulers/threadscheduler.c:
9289         (gst_thread_scheduler_task_start),
9290         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9291         Ref the task before pushing it on the threadpool. This
9292         makes sure that we have a ref when the threadfunction is
9293         actually called.
9294
9295 2005-06-23  Andy Wingo  <wingo@pobox.com>
9296
9297         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9298         offset is greater than the file's size.
9299
9300         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9301         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9302         * gst/gstobject.c (gst_object_class_init): Make the class lock
9303         recursive. Wim won't let me drop deep_notify. Decodebin works
9304         again, whoopdy doo.
9305
9306         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9307         internal pad, and hacks accordingly. Doesn't do it on the target
9308         pad because we change its caps. Probably catches all cases of
9309         interest tho.
9310         (gst_ghost_pad_set_property): Connect to notify::caps as
9311         appropritate.
9312
9313         * tests/network-clock.scm (plot-simulation): Pipe data to the
9314         elite python skript.
9315
9316         * tests/network-clock-utils.scm (define-parameter): New macro,
9317         defines a parameter that can be set via the command line.
9318         (set-parameter!, parse-parameter-arguments): Command line args
9319         parser.
9320
9321         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9322         stdin.
9323
9324 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9325
9326         * gst/elements/gsttypefindelement.c:
9327         (gst_type_find_element_handle_event):
9328           Don't restart typefinding on a discont.
9329         * gst/gstelement.c: (gst_element_set_state):
9330           Debug spelling fix.
9331         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9332           Allow changing mode of an active pad.
9333           Debug output fixes.
9334         * gst/registries/gstlibxmlregistry.c: (load_feature):
9335           Don't cast a static pad template to a normal pad template.
9336
9337 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9338
9339         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9340         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9341           remove gst_strtoll completely, since it didn't actually do
9342           anything more than what g_ascii_strtoull already does.
9343           check for range errors when deserializing
9344           do a cast for the unsigned cases; but further fixing needs
9345           a decision on what the interpretation of "(int)" and
9346           deserialization should be for values that fall outside the
9347           type's boundaries (ie, refuse, or interpret as casting)
9348
9349 2005-06-23  Wim Taymans  <wim@fluendo.com>
9350
9351         * check/Makefile.am:
9352         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9353         * docs/design/part-live-source.txt:
9354         * docs/design/part-states.txt:
9355         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9356         (gst_basesrc_set_live), (gst_basesrc_is_live),
9357         (gst_basesrc_get_range), (gst_basesrc_activate),
9358         (gst_basesrc_change_state):
9359         * gst/base/gstbasesrc.h:
9360         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9361         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9362         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9363         * gst/gstelement.c: (gst_element_get_state_func),
9364         (gst_element_set_state):
9365         * gst/gstelement.h:
9366         * gst/gsttypes.h:
9367         * tools/gst-launch.c: (event_loop), (main):
9368         Added support for live sources and other elements that
9369         cannot do preroll.
9370         Updated design docs, added live-source design doc.
9371         Implemented live source functionality in basesrc
9372         Fix error condition in _bin_get_state()
9373         Implement live source handling in -launch.
9374         Added check for live sources.
9375         Fixed case in GstBin where elements were changed state
9376         multiple times.
9377
9378
9379 2005-06-23  Andy Wingo  <wingo@pobox.com>
9380
9381         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9382         borken refcounting.
9383
9384         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9385         gst_caps_replace takes care of this for us.
9386
9387         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9388         gst_pad_set_caps on the target, not just its setcaps() function.
9389
9390         * tests/network-clock.scm: 
9391         * tests/network-clock-utils.scm: A network clock simulator.
9392         Something of an algorithmic testbed before doing something in C.
9393
9394 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9395
9396         * check/Makefile.am:
9397         * check/gst/capslist.h:
9398           copy over from 0.8, and add two with bitmasks specified with
9399           (int) 0xFF...
9400         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9401           add test to parse everything from capslist.h
9402         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9403         (main):
9404           add test for structure deserialization
9405         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9406           add tests for deserialization of strings to int types
9407         * gst/gststructure.c: (gst_structure_nth_field_name):
9408         * gst/gststructure.h:
9409           add a way to get the name of a field referenced by index
9410         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9411           instead of checking if the resulting long long lies between
9412           min and max, we check if the long long would fit into
9413           a number of bytes for the final type.
9414           This fixes cases where a string represents 2^32 - 1, which
9415           when cast to int would be the (valid) -1, but is bigger than
9416           G_MAXINT
9417
9418 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9419
9420         * gst/parse/grammar.y:
9421           add a log line for type deserialization
9422
9423 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9424
9425         * check/gst/gstvalue.c: (START_TEST):
9426         * gst/gstvalue.c: (gst_value_deserialize):
9427           return long long, not int, so gint64 deserialization actually
9428           works.  Is there any flag that makes the compiler check this ?
9429           Fixes #308559
9430
9431 2005-06-22  Wim Taymans  <wim@fluendo.com>
9432
9433         * gst/gstbuffer.h:
9434         Added convenience macros for setting buffers in GValue.
9435
9436 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9437
9438         * check/gst/.cvsignore:
9439         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9440           add a test deserializing int64, and comment part out because
9441           it fails, yay !
9442
9443 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9444
9445         * check/Makefile.am:
9446         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9447         * testsuite/Makefile.am:
9448         * testsuite/caps/Makefile.am:
9449         * testsuite/caps/value_serialize.c:
9450         * testsuite/test_gst_init.c:
9451           move a value_serialize test over
9452
9453 2005-06-20  Wim Taymans  <wim@fluendo.com>
9454
9455         * gst/gstpad.c:
9456         Small doc updates.
9457         
9458         * gst/gstvalue.c: (gst_value_compare_buffer),
9459         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9460         (gst_value_compare_flags), (gst_value_serialize_flags),
9461         (gst_value_deserialize_flags), (_gst_value_initialize):
9462         Fix serialisation of buffers, they are not boxed types anymore
9463
9464 2005-06-20  Wim Taymans  <wim@fluendo.com>
9465
9466         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9467         Testcase to show error in buffer-on-caps serialisation.
9468
9469 2005-06-20  Andy Wingo  <wingo@pobox.com>
9470
9471         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9472         will be adding to later.
9473
9474         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9475         if its socks fill with rocks.
9476         (gst_system_clock_obtain): Set the name on object construction.
9477         Avoid double-checked locking.
9478
9479 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9480
9481         * gst/gsturi.c: (gst_element_make_from_uri):
9482           Fix potential endless loop.
9483
9484 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9485
9486         * check/Makefile.am:
9487           add gsttag
9488         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9489         (main):
9490           move over from testsuite dir and clean up
9491         * configure.ac:
9492         * gst/gsttag.c:
9493         * testsuite/Makefile.am:
9494         * testsuite/tags/.cvsignore:
9495         * testsuite/tags/Makefile.am:
9496         * testsuite/tags/merge.c:
9497           remove testsuite/tags
9498
9499 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * docs/gst/gstreamer-sections.txt:
9502         * docs/gst/tmpl/gstenumtypes.sgml:
9503         * win32/gstenumtypes.c:
9504           clean up documentation build a little
9505
9506 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9507
9508         * check/gstcheck.h:
9509           add macros for checking refcounts on objects and caps
9510         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9511           add some more unit tests
9512         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9513         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9514           fix leaked refcounts (I hope :)) so unittest works
9515         * gst/gstpad.h:
9516           whitespace removal
9517
9518 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9519
9520         * configure.ac: back to HEAD
9521
9522 === release 0.9.1 ===
9523
9524 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9525
9526         * NEWS:
9527         * RELEASE:
9528           updated
9529
9530 2005-06-17  Andy Wingo  <wingo@pobox.com>
9531
9532         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9533         assert; it's always possible that the pad gets deactivated in
9534         between the checks in gstpad.c and the implementation. Rely on
9535         finish_preroll() to return a FLUSHING or similar instead of on the
9536         assert.
9537         
9538         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9539         clock and post an EOS message if we come out of finish_preroll in
9540         the playing state.
9541
9542 2005-06-16  David Schleef  <ds@schleef.org>
9543
9544         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9545         (gst_capsfilter_set_property): Allow NULL as possible value
9546         for filter_caps property, indicating GST_CAPS_ANY.
9547
9548 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9549
9550         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9551           fix debug output
9552         * gst/schedulers/Makefile.am:
9553           use libgst prefix
9554         * gstreamer.spec.in:
9555           fix spec for it
9556
9557 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9558
9559         * gstreamer.spec.in:
9560           clean up
9561
9562 2005-06-08  Andy Wingo  <wingo@pobox.com>
9563
9564         * gst/gstutils.c: RPAD fixes all around.
9565         (gst_element_link_pads): Refcounting fixes.
9566
9567         * tools/gst-inspect.c:
9568         * tools/gst-xmlinspect.c:
9569         * parse/grammar.y:
9570         * gst/base/gsttypefindhelper.c:
9571         * gst/base/gstbasesink.c:
9572         * gst/gstqueue.c: RPAD fixes.
9573
9574         * gst/gstghostpad.h:
9575         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9576         pads. The tricky thing is they provide both source and sink
9577         interfaces, since they proxy the internal pad for the external
9578         pad, and vice versa. Implement with lower-level ProxyPad objects,
9579         with the interior proxy pad as a child of the exterior ghost pad.
9580         Should write a doc on this.
9581         
9582         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9583         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9584         gst_object API.
9585         
9586         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9587         pads are real pads. No ghost pads in this file. Not documenting
9588         the myriad s/RPAD/PAD/ and REALIZE fixes.
9589         (gst_pad_class_init): Add properties for "direction" and
9590         "template". Both are construct-only, so they can't change during
9591         the life of the pad. Fixes properly deriving from GstPad.
9592         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9593         derived objects, just set properties when creating the objects via
9594         g_object_new.
9595         (gst_pad_get_parent): Implement as a function, return NULL if the
9596         parent is not an element.
9597         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9598         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9599         
9600         * gst/gstobject.c (gst_object_class_init): Make name a construct
9601         property. Don't set it in the object init.
9602
9603         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9604         with UNKNOWN direction.
9605         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9606         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9607         (gst_element_remove_pad): Remove ghost-pad special cases.
9608         (gst_element_pads_activate): Remove rpad cruft.
9609
9610         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9611         catch the pad's-parent-not-an-element case.
9612
9613         * gst/gst.h: Include gstghostpad.h.
9614
9615         * gst/gst.c (init_post): No more real, ghost pads.
9616
9617         * gst/Makefile.am: Add gstghostpad.[ch].
9618
9619         * check/Makefile.am:
9620         * check/gst/gstbin.c:
9621         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9622         into a bin creates ghost pads, and that the refcounts are right.
9623         Partly moved from gstbin.c.
9624
9625 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9626
9627         * check/gst-libs/.cvsignore:
9628         * check/gst/.cvsignore:
9629         * check/pipelines/.cvsignore:
9630           ignore more
9631         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9632         (START_TEST), (cleanup_suite), (main):
9633           add some tests related to cleanup after running pipelines
9634
9635 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9636
9637         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9638           add a testsuite for GstBuffer
9639
9640 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9641
9642         * gst/gstminiobject.h:
9643           add defines for accessing the refcount
9644
9645 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9646
9647         * Makefile.am: added support for html unit test coverage reports
9648
9649 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9650
9651         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9652           Free existing caps if the capsfilter changes. Add a FIXME about
9653           setting those caps on the pads.
9654
9655         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9656           Before adding a ghost pad to a parent bin, check that there isn't
9657           already one for the element on the bin. Prevents infinite recursion
9658           when using decodebin in parse pipelines. Andy says he'll rewrite the
9659           way this works anyway, so ignore the hack.
9660
9661 2005-06-02  Andy Wingo  <wingo@pobox.com>
9662
9663         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9664         file size, pass it on to the type find helper.
9665
9666         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9667         segment_start and segment_end properly according to the seek
9668         method. Segment_end is still a bit flaky because offset can be
9669         negative for CUR and END cases, but it takes -1 as an "unset"
9670         value.
9671
9672 2005-06-02  Wim Taymans  <wim@fluendo.com>
9673
9674         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9675         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9676         (gst_basesink_activate):
9677         * gst/base/gstbasesink.h:
9678         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9679         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9680         (gst_pad_query), (gst_pad_start_task):
9681         * gst/gstpad.h:
9682         * gst/gstqueue.c: (gst_queue_bufferalloc),
9683         (gst_queue_handle_sink_event), (gst_queue_chain):
9684         Bufferalloc: return GstFlowReturn to more accuratly report
9685         why allocation failed.
9686
9687 2005-06-02  Wim Taymans  <wim@fluendo.com>
9688
9689         * gst/gstpipeline.c: (gst_pipeline_send_event):
9690         Take snapshot of state without blocking.
9691
9692 2005-06-02  Wim Taymans  <wim@fluendo.com>
9693
9694         * docs/design/part-TODO.txt:
9695         * docs/design/part-caps.txt:
9696         * docs/design/part-clocks.txt:
9697         * docs/design/part-negotiation.txt:
9698         * docs/design/part-preroll.txt:
9699         Small doc updates 
9700
9701 2005-05-30  Wim Taymans  <wim@fluendo.com>
9702
9703         * gst/elements/gstidentity.c: (gst_identity_event),
9704         (gst_identity_transform), (gst_identity_get_property):
9705         Protect last_message property as it is accessed from
9706         multiple threads.
9707
9708 2005-05-30  Wim Taymans  <wim@fluendo.com>
9709
9710         * gst/gstelement.c: (gst_element_init),
9711         (gst_element_pads_activate), (gst_element_change_state):
9712         Slicker pad activation code.
9713
9714 2005-05-30  Wim Taymans  <wim@fluendo.com>
9715
9716         * gst/Makefile.am:
9717         * gst/gstelement.h:
9718         * gst/gstelementfactory.h:
9719         * gst/gsttypes.h:
9720         Move elementfactory methods to separate .h file.
9721
9722 2005-05-30  Wim Taymans  <wim@fluendo.com>
9723
9724         * docs/design/part-overview.txt:
9725         * gst/gstsystemclock.h:
9726         Small typo fixes, doc updates.
9727
9728 2005-05-30  Wim Taymans  <wim@fluendo.com>
9729
9730         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9731         (init_popt_callback):
9732         Remove cpu-opt flag.
9733
9734 2005-05-30  Wim Taymans  <wim@fluendo.com>
9735
9736         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9737         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9738         * gst/gstbuffer.h:
9739         Avoid typechecking in places where not needed.
9740         Added accessor for malloc_data.
9741
9742 2005-05-30  Wim Taymans  <wim@fluendo.com>
9743
9744         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9745         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9746         (gst_pad_configure_sink), (gst_pad_configure_src),
9747         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9748         (gst_pad_start_task):
9749         Propagate errors from _set_caps() in configure_src/sink
9750         functions instead of returning TRUE.
9751         FLUSH events can travel up and downstream
9752
9753
9754 2005-05-30  Wim Taymans  <wim@fluendo.com>
9755
9756         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9757         (gst_basesink_activate):
9758         Handle EOS in preroll.
9759
9760 2005-05-30  Wim Taymans  <wim@fluendo.com>
9761
9762         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9763         (gst_queue_loop), (gst_queue_handle_src_event):
9764         Remove old pieces of code
9765         Flushing the queue in an upstream event is a very bad idea.
9766
9767 2005-05-26  Andy Wingo  <wingo@pobox.com>
9768
9769         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9770         gst_value_set_mini_object so as to add a ref on the object (which
9771         will be removed when the value is unset).
9772
9773         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9774         arg type in ::handoff.
9775
9776         * gst/gstelement.c (gst_element_change_state): Also deactivate
9777         pads in READY->NULL, just in case the element didn't make it to
9778         PAUSED. Wingo tested, Wim approved.
9779
9780 2005-05-26  Wim Taymans  <wim@fluendo.com>
9781
9782         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9783         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9784         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9785         A flushing pad cannot be used to alloc_buffer from.
9786
9787 2005-05-26  Wim Taymans  <wim@fluendo.com>
9788
9789         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9790         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9791         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9792         (gst_bus_create_watch), (gst_bus_add_watch_full):
9793         * gst/gstbus.h:
9794         Implement a real GSource and use g_main_context_wakeup() to
9795         signal new messages instead of the socketpair.
9796
9797 2005-05-25  Wim Taymans  <wim@fluendo.com>
9798
9799         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9800         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9801         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9802         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9803         (gst_pad_send_event), (gst_pad_start_task):
9804         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9805         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9806         (gst_queue_sink_activate), (gst_queue_src_activate),
9807         (gst_queue_change_state):
9808         * gst/gstqueue.h:
9809         Fix state changes for non sinks. We now change sinks, then elements
9810         with unconnected srcpads, then the rest.
9811         More efficient queue unlocking in flush and state changes.
9812         Set the pad activate mode even if it does not have an activate
9813         function.
9814
9815 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9816
9817         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9818           Don't go in pull mode for non-seekable sources.
9819         * gst/elements/gsttypefindelement.h:
9820         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9821         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9822         (free_entry), (stop_typefinding),
9823         (gst_type_find_element_handle_event), (find_peek),
9824         (gst_type_find_element_chain), (do_pull_typefind),
9825         (gst_type_find_element_change_state):
9826           Allow typefinding (w/o seeking) in push-mode, simplified version
9827           of what was in 0.8.
9828         * gst/gstutils.c: (gst_buffer_join):
9829         * gst/gstutils.h:
9830           gst_buffer_join() from 0.8.
9831
9832 2005-05-25  Wim Taymans  <wim@fluendo.com>
9833
9834         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9835         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9836         (gst_pad_send_event), (gst_pad_start_task):
9837         Disable attempt at mode switching until it is figured out.
9838
9839 2005-05-25  Wim Taymans  <wim@fluendo.com>
9840
9841         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9842         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9843         (gst_basesink_finish_preroll), (gst_basesink_chain),
9844         (gst_basesink_loop), (gst_basesink_activate),
9845         (gst_basesink_change_state):
9846         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9847         (gst_basesrc_get_range), (gst_basesrc_loop),
9848         (gst_basesrc_activate):
9849         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9850         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9851         (gst_real_pad_init), (gst_real_pad_set_property),
9852         (gst_real_pad_get_property), (gst_pad_set_active),
9853         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9854         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9855         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9856         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9857         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9858         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9859         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9860         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9861         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9862         (gst_pad_stop_task):
9863         * gst/gstpad.h:
9864         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9865         (gst_queue_loop), (gst_queue_src_activate):
9866         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
9867         (gst_task_get_state):
9868         * gst/gsttask.h:
9869         * gst/schedulers/threadscheduler.c:
9870         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
9871         Implement gst_pad_pause/start/stop_task(), take STREAM lock
9872         in task function.
9873         Remove ACTIVE pad flag, use FLUSHING everywhere
9874         Added _pad_chain(), _pad_get_range() to call chain/getrange 
9875         functions.
9876         Add locks around IS_FLUSHING when reading.
9877         Take STREAM lock in chain(), get_range() functions so plugins
9878         don't need to take it anymore.
9879         
9880
9881
9882 2005-05-25  Wim Taymans  <wim@fluendo.com>
9883
9884         * tools/gst-launch.c: (event_loop):
9885         Unref message after using its contents instead of
9886         before.
9887
9888 2005-05-24  Wim Taymans  <wim@fluendo.com>
9889
9890         * docs/design/draft-ghostpads.txt:
9891         * docs/design/draft-push-pull.txt:
9892         * docs/design/draft-query.txt:
9893         * docs/design/part-overview.txt:
9894         Docs updates, added general overview doc.
9895
9896 2005-05-21  David Schleef  <ds@schleef.org>
9897
9898         * docs/gst/tmpl/old/GstBin.sgml:
9899         * docs/gst/tmpl/old/GstBuffer.sgml:
9900         * docs/gst/tmpl/old/GstCaps.sgml:
9901         * docs/gst/tmpl/old/GstClock.sgml:
9902         * docs/gst/tmpl/old/GstCompat.sgml:
9903         * docs/gst/tmpl/old/GstData.sgml:
9904         * docs/gst/tmpl/old/GstElement.sgml:
9905         * docs/gst/tmpl/old/GstEvent.sgml:
9906         * docs/gst/tmpl/old/GstIndex.sgml:
9907         * docs/gst/tmpl/old/GstStructure.sgml:
9908         * docs/gst/tmpl/old/GstTag.sgml:
9909         * docs/gst/tmpl/old/cothreads.sgml:
9910         * docs/gst/tmpl/old/cothreads_compat.sgml:
9911         * docs/gst/tmpl/old/gettext.sgml:
9912         * docs/gst/tmpl/old/gobject2gtk.sgml:
9913         * docs/gst/tmpl/old/grammar.tab.sgml:
9914         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9915         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9916         * docs/gst/tmpl/old/gst_private.sgml:
9917         * docs/gst/tmpl/old/gstaggregator.sgml:
9918         * docs/gst/tmpl/old/gstarch.sgml:
9919         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9920         * docs/gst/tmpl/old/gstbufferstore.sgml:
9921         * docs/gst/tmpl/old/gstdata_private.sgml:
9922         * docs/gst/tmpl/old/gstdisksink.sgml:
9923         * docs/gst/tmpl/old/gstdisksrc.sgml:
9924         * docs/gst/tmpl/old/gstelementfactory.sgml:
9925         * docs/gst/tmpl/old/gstextratypes.sgml:
9926         * docs/gst/tmpl/old/gstfakesink.sgml:
9927         * docs/gst/tmpl/old/gstfakesrc.sgml:
9928         * docs/gst/tmpl/old/gstfdsink.sgml:
9929         * docs/gst/tmpl/old/gstfdsrc.sgml:
9930         * docs/gst/tmpl/old/gstfilesink.sgml:
9931         * docs/gst/tmpl/old/gstfilesrc.sgml:
9932         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9933         * docs/gst/tmpl/old/gstidentity.sgml:
9934         * docs/gst/tmpl/old/gstindexfactory.sgml:
9935         * docs/gst/tmpl/old/gstmarshal.sgml:
9936         * docs/gst/tmpl/old/gstmd5sink.sgml:
9937         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9938         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9939         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9940         * docs/gst/tmpl/old/gstpipefilter.sgml:
9941         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9942         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9943         * docs/gst/tmpl/old/gstshaper.sgml:
9944         * docs/gst/tmpl/old/gstspider.sgml:
9945         * docs/gst/tmpl/old/gstspideridentity.sgml:
9946         * docs/gst/tmpl/old/gststatistics.sgml:
9947         * docs/gst/tmpl/old/gsttee.sgml:
9948         * docs/gst/tmpl/old/gsttimecache.sgml:
9949         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9950         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9951         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9952         * docs/gst/tmpl/old/types.sgml:
9953           I didn't intend to add these or check them in.
9954
9955 2005-05-19  David Schleef  <ds@schleef.org>
9956
9957         * configure.ac: Use -no-common everywhere.  In a sane world, it
9958           would be the default in libtool, because without it, you can't
9959           build DLLs on Windows.
9960         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
9961         * docs/gst/gstreamer-sections.txt:
9962         * docs/gst/tmpl/gstcpu.sgml:
9963         * docs/gst/tmpl/gstdata.sgml:
9964         * docs/gst/tmpl/gstthread.sgml:
9965
9966 2005-05-19  David Schleef  <ds@schleef.org>
9967
9968         * gst/gstminiobject.c: (gst_value_set_mini_object),
9969         (gst_value_take_mini_object), (gst_value_get_mini_object):
9970         * gst/gstminiobject.h: Add GValue set/get functions.
9971
9972 2005-05-19  Wim Taymans  <wim@fluendo.com>
9973
9974         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
9975         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
9976         (gst_subbuffer_init), (gst_buffer_is_span_fast):
9977         * gst/gstbuffer.h:
9978         * gst/gstbus.c: (gst_bus_post):
9979         * gst/gstelement.c: (gst_element_get_random_pad):
9980         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
9981         Make subbufer unref the parent in finalize.
9982         some more debugging info.
9983
9984
9985 2005-05-19  Wim Taymans  <wim@fluendo.com>
9986
9987         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9988         (gst_basesink_init), (gst_basesink_finalize),
9989         (gst_basesink_activate), (gst_basesink_change_state):
9990         Don't free preroll queue too early.
9991
9992 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9993
9994         * gst/Makefile.am:
9995         * gst/ROADMAP:
9996           Hi, I'm outdated. Please shoot me.
9997
9998 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9999
10000         * gst/gstpipeline.c: (gst_pipeline_send_event):
10001           Do not access variables after they have been deleted.
10002
10003 2005-05-19  Wim Taymans  <wim@fluendo.com>
10004
10005         * tools/gst-inspect.c: (print_plugin_features):
10006         A plugin feature does unfortunatly not use the
10007         object name yet...
10008
10009 2005-05-18  Wim Taymans  <wim@fluendo.com>
10010
10011         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10012         Port _span() functions to new subbuffers.
10013
10014 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10015
10016         * gst/gstbin.c: (gst_bin_add_func):
10017           Fix clock settery in bins when adding kids after the clock has
10018           been selected.
10019
10020 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10021
10022         * gst/elements/gstidentity.c: (gst_identity_class_init):
10023           Workaround until signals support GstMiniObject.
10024
10025 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10026
10027         * gst/gstbuffer.c:
10028         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10029
10030 2005-05-18  Wim Taymans  <wim@fluendo.com>
10031
10032         * gst/base/Makefile.am:
10033         * gst/base/gstadapter.c: (gst_adapter_base_init),
10034         (gst_adapter_class_init), (gst_adapter_init),
10035         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10036         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10037         (gst_adapter_flush), (gst_adapter_available),
10038         (gst_adapter_available_fast):
10039         * gst/base/gstadapter.h:
10040         Ported and added adapter to the base classes.
10041
10042 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10043
10044         * gst/gst.c:
10045         * gst/gstmessage.c:
10046           Make sure the class is reffed/unreffed once before threads can be
10047           used.  Fixes #304551.
10048
10049 2005-05-17  Wim Taymans  <wim@fluendo.com>
10050
10051         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10052         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10053         * gst/gstminiobject.c: (gst_mini_object_get_type),
10054         (gst_mini_object_free):
10055         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10056         (gst_pad_push), (gst_pad_push_event):
10057         * gst/gstqueue.c: (gst_queue_change_state):
10058         Don't queue buffers in basesink when we are flushing.
10059         Unref buffer when flushing in basesink.
10060         Flush queue when going to READY
10061         Unref buffer when _push() returns an error.
10062         Don't free MiniObject instance when refcount is incremented
10063         in _finalize() so that we can recover objects.
10064
10065 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10066
10067         * docs/manual/advanced-schedulers.xml:
10068         * docs/manual/appendix-checklist.xml:
10069         * docs/pwg/advanced-clock.xml:
10070         * docs/pwg/advanced-interfaces.xml:
10071         * docs/pwg/advanced-request.xml:
10072         * docs/pwg/advanced-types.xml:
10073         * docs/pwg/intro-preface.xml:
10074         * examples/plugins/example.c: (gst_example_get_type),
10075         (gst_example_class_init), (gst_example_chain),
10076         (gst_example_set_property), (gst_example_get_property),
10077         (gst_example_change_state), (plugin_init):
10078         * examples/plugins/example.h:
10079           small doc fixes
10080
10081 2005-05-17  Wim Taymans  <wim@fluendo.com>
10082
10083         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10084         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10085         * gst/gstqueue.c: (gst_queue_change_state):
10086         Clear queue when going to READY.
10087         Remove IN_SETCAPS flag too.
10088
10089 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10090
10091         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10092           Remove implicit cast from gboolean to GstElementStateReturn;
10093           make sure we still return failure in paused => ready case if
10094           the parent class fails to change state and our own stop 
10095           vfunc succeeds.
10096
10097 2005-05-17  Wim Taymans  <wim@fluendo.com>
10098
10099         * tools/gst-launch.c: (event_loop):
10100         Message was unreffed too soon.
10101
10102 2005-05-16  Andy Wingo  <wingo@pobox.com>
10103
10104         * gst/gstbin.c (sink_iterator_filter): Err... um...
10105
10106         * check/gst/gstbin.c (test_ghost_pads): New test for the
10107         ghosting-if-elements-not-in-same-bin behavior.
10108
10109 2005-05-16  David Schleef  <ds@schleef.org>
10110
10111         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10112         accessing refcount directly.
10113
10114 2005-05-15  David Schleef  <ds@schleef.org>
10115
10116         * check/Makefile.am: remove GstData checks
10117         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10118         * gst/Makefile.am: add miniobject, remove data
10119         * gst/gst.h: add miniobject, remove data
10120         * gst/gstdata.c: remove
10121         * gst/gstdata.h: remove
10122         * gst/gstdata_private.h: remove
10123         * gst/gsttypes.h: remove GstEvent and GstMessage
10124         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10125         * gst/gstmarshal.list: change BOXED -> OBJECT
10126
10127         Implement GstMiniObject.
10128         * gst/gstminiobject.c:
10129         * gst/gstminiobject.h:
10130
10131         Modify to be subclasses of GstMiniObject.
10132         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10133         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10134         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10135         (gst_subbuffer_get_type), (gst_subbuffer_init),
10136         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10137         (gst_buffer_span):
10138         * gst/gstbuffer.h:
10139         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10140         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10141         (_gst_event_copy), (gst_event_new):
10142         * gst/gstevent.h:
10143         * gst/gstmessage.c: (_gst_message_initialize),
10144         (gst_message_get_type), (gst_message_class_init),
10145         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10146         (gst_message_new), (gst_message_new_error),
10147         (gst_message_new_warning), (gst_message_new_tag),
10148         (gst_message_new_state_changed), (gst_message_new_application):
10149         * gst/gstmessage.h:
10150         * gst/gstprobe.c: (gst_probe_perform),
10151         (gst_probe_dispatcher_dispatch):
10152         * gst/gstprobe.h:
10153         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10154         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10155         (_gst_query_copy), (gst_query_new):
10156
10157         Update elements for GstData -> GstMiniObject changes
10158         * gst/gstquery.h:
10159         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10160         (gst_queue_chain), (gst_queue_loop):
10161         * gst/elements/gstbufferstore.c:
10162         (gst_buffer_store_add_buffer_func),
10163         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10164         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10165         (gst_fakesink_render):
10166         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10167         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10168         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10169         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10170         (gst_filesrc_create_read):
10171         * gst/elements/gstidentity.c: (gst_identity_class_init):
10172         * gst/elements/gsttypefindelement.c:
10173         (gst_type_find_element_src_event), (free_entry_buffers),
10174         (gst_type_find_element_handle_event):
10175         * libs/gst/dataprotocol/dataprotocol.c:
10176         (gst_dp_header_from_buffer):
10177         * libs/gst/dataprotocol/dataprotocol.h:
10178         * libs/gst/dataprotocol/dp-private.h:
10179
10180 2005-05-15  David Schleef  <ds@schleef.org>
10181
10182         * gst/elements/gstelements.c: Don't include headers that were
10183         just removed.
10184
10185 2005-05-15  David Schleef  <ds@schleef.org>
10186
10187         * gst/elements/Makefile.am: Remove some elements that don't
10188         need to be in the core (or even exist at all).
10189         * gst/elements/gstaggregator.c:
10190         * gst/elements/gstaggregator.h:
10191         * gst/elements/gstmd5sink.c:
10192         * gst/elements/gstmd5sink.h:
10193         * gst/elements/gstmultifilesrc.c:
10194         * gst/elements/gstmultifilesrc.h:
10195         * gst/elements/gstpipefilter.c:
10196         * gst/elements/gstpipefilter.h:
10197         * gst/elements/gstshaper.c:
10198         * gst/elements/gstshaper.h:
10199         * gst/elements/gststatistics.c:
10200         * gst/elements/gststatistics.h:
10201         * po/POTFILES.in: Remove above files.
10202
10203 2005-05-14  Andy Wingo  <wingo@pobox.com>
10204
10205         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10206         so as to get the refs right.
10207         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10208         unreffing objects that don't pass the filter.
10209
10210         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10211         gst_element_set_bus.
10212         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10213         normal cases, this will destroy the bus.
10214
10215         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10216         object.
10217
10218         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10219         has no sinks.
10220
10221 2005-05-13  Andy Wingo  <wingo@pobox.com>
10222
10223         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10224         gst_pad_link, call pad_link_maybe_ghosting,
10225         (pad_link_maybe_ghosting): Links pads, making sure that the
10226         elements being linked are in the same bin.
10227         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10228         Helpers for pad_link_maybe_ghosting.
10229
10230 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10231
10232         * configure.ac:
10233           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10234
10235 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10236
10237         * docs/design/part-element-source.txt:
10238           Mention GstPushSrc
10239
10240 2005-05-12  Wim Taymans  <wim@fluendo.com>
10241
10242         * gst/base/gstbasesink.c: (gst_basesink_init),
10243         (gst_basesink_activate):
10244         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10245         (gst_basesrc_is_seekable):
10246         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10247         (bin_element_is_sink), (gst_bin_change_state):
10248         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10249         * gst/gstelement.h:
10250         Identify sinks by their flag to avoid overly complicated
10251         checks (fow now).
10252         Do state changes even for elements not reachable from the
10253         sinks.
10254         BaseSink is a sink now :)
10255         Some more debugging info in the basesrc.
10256
10257
10258 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10259
10260         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10261           Implement _query on a bin, similar to _send_event.
10262
10263 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10264
10265         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10266           Discont event offset format should be GST_FORMAT_BYTES,
10267           not GST_FORMAT_TIME.
10268
10269 2005-05-12  Wim Taymans  <wim@fluendo.com>
10270
10271         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10272         Same fix as Ronald's but without the signal. 
10273
10274 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10275
10276         * gst/gstutils.c: (gst_element_query_position):
10277           No, an element is not a pad.
10278
10279 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10280
10281         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10282         (gst_bin_get_state):
10283           If a child is removed from a bin while we remove the child from
10284           the bin and while we're retrieving its state, signal this to the
10285           get_state function so we abort the wait (instead of waiting for
10286           a timeout) and can immediately re-iterate over all other elements.
10287
10288 2005-05-12  Wim Taymans  <wim@fluendo.com>
10289
10290         * gst/base/Makefile.am:
10291         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10292         (gst_basesrc_start):
10293         * gst/base/gstbasesrc.h:
10294         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10295         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10296         (gst_pushsrc_init), (gst_pushsrc_create):
10297         * gst/base/gstpushsrc.h:
10298         Added is_seekable to BaseSrc
10299         Added simple PushSrc.
10300
10301 2005-05-11  Wim Taymans  <wim@fluendo.com>
10302
10303         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10304         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10305         (gst_element_link_pads), (gst_element_query_position),
10306         (gst_element_query_convert), (intersect_caps_func),
10307         (gst_pad_query_position), (gst_pad_query_convert):
10308         Fix refcounting in utils function.
10309         No point in trying to activate a pad when it's added, it could
10310         be added from the state change function and then we deadlock, the
10311         element has to decide what to do.
10312
10313 2005-05-10  Andy Wingo  <wingo@pobox.com>
10314
10315         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10316         *all* the arguments.
10317
10318         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10319         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10320         lock (according to the docs -- if this is wrong change the docs).
10321
10322         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10323         flush messages in the NULL state.
10324
10325         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10326         message immediately and return.
10327         (gst_bus_set_flushing): New function. If a bus is flushing, it
10328         flushes out any queued messages and immediately unrefs new
10329         messages. This is so when an element goes to NULL, all of the
10330         unhandled messages coming from it can be freed, and their
10331         references to the element dropped. In other words: message source
10332         ref considered harmful :P
10333
10334         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10335         we're finished with it.
10336
10337         * gst/gstmessage.c (gst_message_new_state_changed): 
10338
10339 2005-05-10  Wim Taymans  <wim@fluendo.com>
10340
10341         * gst/gstvalue.c: (gst_value_compare_flags),
10342         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10343         (_gst_value_initialize):
10344         Added flags serialize/deserialize/compare code.
10345
10346 2005-05-09  Andy Wingo  <wingo@pobox.com>
10347
10348         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10349         Intersect the peer's caps with our caps.
10350
10351 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10352
10353         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10354         * gst/elements/gsttypefindelement.c: (find_peek):
10355           Handle negative offsets better. Fixes decodebin.
10356
10357 2005-05-09  Wim Taymans  <wim@fluendo.com>
10358
10359         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10360         (gst_base_transform_event):
10361         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10362         Implement accept_caps.
10363         Fix silly lock/unlock mismatch in base class.
10364
10365 2005-05-09  Wim Taymans  <wim@fluendo.com>
10366
10367         * docs/design/draft-push-pull.txt:
10368         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10369         * gst/elements/gstfilesink.c: (gst_filesink_init),
10370         (gst_filesink_query):
10371         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10372         (gst_type_find_handle_src_query), (find_element_get_length):
10373         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10374         * gst/gstelement.h:
10375         * gst/gstmessage.c:
10376         * gst/gstmessage.h:
10377         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10378         (gst_real_pad_get_caps_unlocked),
10379         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10380         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10381         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10382         (gst_real_pad_dispose), (gst_real_pad_finalize),
10383         (gst_pad_load_and_link), (gst_pad_save_thyself),
10384         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10385         (gst_pad_check_pull_range), (gst_pad_pull_range),
10386         (gst_pad_template_get_type), (gst_pad_template_class_init),
10387         (gst_pad_template_init), (gst_pad_template_dispose),
10388         (name_is_valid), (gst_static_pad_template_get),
10389         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10390         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10391         (gst_pad_get_element_private), (gst_pad_start_task),
10392         (gst_pad_pause_task), (gst_pad_stop_task),
10393         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10394         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10395         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10396         (gst_ghost_pad_new):
10397         * gst/gstpad.h:
10398         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10399         (gst_query_new_position), (gst_query_set_position),
10400         (gst_query_parse_position), (gst_query_new_convert),
10401         (gst_query_set_convert), (gst_query_parse_convert):
10402         * gst/gstquery.h:
10403         * gst/gstqueryutils.c:
10404         * gst/gstqueryutils.h:
10405         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10406         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10407         (gst_queue_handle_src_query):
10408         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10409         (gst_element_query_position), (gst_element_query_convert),
10410         (intersect_caps_func), (gst_pad_query_position),
10411         (gst_pad_query_convert):
10412         * gst/gstutils.h:
10413         * tools/gst-inspect.c: (print_pad_info):
10414         * tools/gst-xmlinspect.c: (print_element_info):
10415         Remove old query functions. Ported old code.
10416         Added position/convert helper functions to gstutils.
10417         Reordered gstpad.c code, grouping relevant things.
10418         Remove gst_message_new(), always need to speficy a specific
10419         message.
10420
10421
10422 2005-05-09  Andy Wingo  <wingo@pobox.com>
10423
10424         * gst/gstiterator.h: Add some includes.
10425
10426         * gst/gstqueryutils.h: Include more headers.
10427
10428         * gst/gstpad.h:
10429         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10430         some uses of gst_pad_query.
10431
10432         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10433         NULL out parameters.
10434         (gst_query_new_position): New proc, allocates a new position
10435         query.
10436
10437         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10438         gstqueryutils.c to the build.
10439
10440         * gst/gststructure.c (gst_structure_set_valist): Implement with
10441         the generic G_VALUE_COLLECT.
10442         
10443 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10444
10445         * gst/Makefile.am: (gst_headers):
10446         Added gstqueryutils.h to the list of headers to install, that was
10447         a 'nachty' move wingo :)
10448
10449 2005-05-06  Andy Wingo  <wingo@pobox.com>
10450
10451         * gst/gstquery.h
10452         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10453         GstData, init a memchunk.
10454         (standard_definitions): Add a few query types, deprecate a few.
10455         (gst_query_get_type): New proc.
10456         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10457         implementation.
10458         (gst_query_new_application, gst_query_get_structure): New public
10459         procs.
10460
10461         * docs/design/draft-query.txt: Removed LINKS from the query types,
10462         because all the rest can be dispatched to other pads -- seemed
10463         ugly to have a query that couldn't be dispatched. internal_links
10464         is fine as a pad method.
10465
10466         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10467         in gstpad.c, but maintain binary compatibility for the moment.
10468         Will fix before 0.9 is out.
10469
10470         * gst/gstqueryutils.c: 
10471         * gst/gstqueryutils.h: New files, implement 3 methods for each
10472         query type: parse_query, parse_response, and set. Probably need an
10473         allocator as well.
10474
10475         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10476
10477         * gst/elements/gstfilesink.c (gst_filesink_query2):
10478         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10479         query_types, and formats methods.
10480
10481         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10482         (gst_pad_set_query2_function): New functions.
10483         (gst_real_pad_init): Set query2_default as the default query2
10484         function. Basically just dispatches to internally linked pads.
10485
10486         Needs review!
10487         
10488         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10489         without using the atomic operations. Only one thread can possibly
10490         be accessing the data at this point. Changed so as to avoid
10491         gst_atomic operations.
10492
10493 2005-05-06  Wim Taymans  <wim@fluendo.com>
10494
10495         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10496         Also set caps if we use the fallback buffer alloc.
10497
10498 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10499
10500         * docs/gst/Makefile.am:
10501         * docs/gst/gstreamer-docs.sgml:
10502         * docs/gst/gstreamer-sections.txt:
10503         * docs/gst/tmpl/gstatomic.sgml:
10504         * docs/gst/tmpl/gstmemchunk.sgml:
10505         * testsuite/elements/struct_i386.h:
10506         * win32/GStreamer.vcproj:
10507         * win32/Makefile:
10508           Purge GstAtomic stuff from docs and win32 makefiles as well
10509
10510 2005-05-06  Wim Taymans  <wim@fluendo.com>
10511
10512         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10513         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10514         * gst/gstpad.c: (gst_pad_peer_get_caps):
10515         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10516         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10517         (gst_queue_src_activate), (gst_queue_change_state):
10518         * gst/gstqueue.h:
10519         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10520         (intersect_caps_func):
10521         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10522         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10523         Some fixes for the peer_get_caps() change.
10524
10525 2005-05-06  Wim Taymans  <wim@fluendo.com>
10526
10527         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10528         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10529         (gst_basesink_activate):
10530         Actually do something with error codes returned from the push
10531         functions.
10532
10533 2005-05-06  Wim Taymans  <wim@fluendo.com>
10534
10535         * docs/design/part-element-sink.txt:
10536         * docs/design/part-element-source.txt:
10537         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10538         (gst_basesink_event), (gst_basesink_activate):
10539         * gst/base/gstbasesink.h:
10540         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10541         (gst_basesrc_activate):
10542         * gst/base/gstbasesrc.h:
10543         * gst/gstelement.c: (gst_element_pads_activate):
10544         Some more documentation.
10545         Fixed scheduling decision in _pads_activate().
10546
10547 2005-05-05  Andy Wingo  <wingo@pobox.com>
10548
10549         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10550         the test suite.
10551
10552 2005-05-05  Wim Taymans  <wim@fluendo.com>
10553
10554         * gst/base/Makefile.am:
10555         * gst/base/gstbasesink.h:
10556         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10557         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10558         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10559         (gst_collectpads_class_init), (gst_collectpads_init),
10560         (gst_collectpads_finalize), (gst_collectpads_new),
10561         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10562         (find_pad), (gst_collectpads_remove_pad),
10563         (gst_collectpads_is_active), (gst_collectpads_collect),
10564         (gst_collectpads_collect_range), (gst_collectpads_start),
10565         (gst_collectpads_stop), (gst_collectpads_peek),
10566         (gst_collectpads_pop), (gst_collectpads_available),
10567         (gst_collectpads_read), (gst_collectpads_flush),
10568         (gst_collectpads_chain):
10569         * gst/base/gstcollectpads.h:
10570         * gst/elements/Makefile.am:
10571         * gst/elements/gstelements.c:
10572         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10573         (gst_fakesink_get_times), (gst_fakesink_event),
10574         (gst_fakesink_preroll), (gst_fakesink_render):
10575         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10576         (gst_filesink_init), (gst_filesink_set_location),
10577         (gst_filesink_open_file), (gst_filesink_close_file),
10578         (gst_filesink_pad_query), (gst_filesink_event),
10579         (gst_filesink_render), (gst_filesink_change_state):
10580         * gst/elements/gstfilesink.h:
10581         Added object to help in making collect pad based elements.
10582         Ported filesink.
10583         Make event function in sink baseclass return gboolean.
10584
10585 2005-05-05  Wim Taymans  <wim@fluendo.com>
10586
10587         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10588         (gst_bin_get_by_name):
10589         * gst/gstbuffer.h:
10590         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10591         (gst_clock_finalize):
10592         * gst/gstdata.c: (gst_data_replace):
10593         * gst/gstdata.h:
10594         * gst/gstelement.c: (gst_element_request_pad),
10595         (gst_element_pads_activate):
10596         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10597         (gst_object_unref):
10598         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10599         (gst_pad_set_checkgetrange_function),
10600         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10601         (gst_pad_check_pull_range), (gst_pad_pull_range),
10602         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10603         (gst_pad_pause_task), (gst_pad_stop_task):
10604         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10605         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10606         Fix name lookup in GstBin.
10607         Added _data_replace() function and _buffer_replace()
10608         Use finalize method to clean up clock.
10609         Fix refcounting on request pads.
10610         Fix pad schedule mode error.
10611         Some more object refcounting debug info,
10612
10613
10614 2005-05-04  Andy Wingo <wingo@pobox.com>
10615
10616         * check/Makefile.am:
10617         * docs/gst/tmpl/gstatomic.sgml:
10618         * docs/gst/tmpl/gstplugin.sgml:
10619         * gst/base/gstbasesink.c: (gst_basesink_activate):
10620         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10621         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10622         (gst_basesrc_query), (gst_basesrc_set_property),
10623         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10624         (gst_basesrc_activate):
10625         * gst/base/gstbasesrc.h:
10626         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10627         (gst_base_transform_src_activate):
10628         * gst/elements/gstelements.c:
10629         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10630         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10631         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10632         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10633         (gst_type_find_element_checkgetrange),
10634         (gst_type_find_element_activate):
10635         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10636         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10637         (gst_caps_load_thyself):
10638         * gst/gstelement.c: (gst_element_pads_activate),
10639         (gst_element_save_thyself), (gst_element_restore_thyself):
10640         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10641         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10642         * gst/gstpad.h:
10643         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10644         (gst_xml_parse_file), (gst_xml_parse_memory),
10645         (gst_xml_get_element), (gst_xml_make_element):
10646         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10647         (_file_index_id_save_xml), (gst_file_index_commit):
10648         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10649         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10650         (load_paths):
10651         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10652         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10653         * tools/gst-complete.c: (main):
10654         * tools/gst-compprep.c: (main):
10655         * tools/gst-inspect.c: (print_element_properties_info):
10656         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10657         * tools/gst-xmlinspect.c: (print_element_properties):
10658         GCC 4 fixen.
10659         
10660 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10661
10662         * gst/gstplugin.c: (gst_plugin_check_module),
10663         (gst_plugin_check_file), (gst_plugin_load_file):
10664             apply patch from #172526 to make register work on MacOSX
10665
10666 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10667
10668         * docs/gst/tmpl/gstconfig.sgml:
10669         * gst/gstconfig.h.in:
10670           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10671         * testsuite/debug/printf_extension.c: (main):
10672           Do not use GST_PTR_FORMAT on pointers to types with
10673           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10674         * testsuite/elements/property.h:
10675           use correct printf format
10676
10677 2005-05-02  Wim Taymans  <wim@fluendo.com>
10678
10679         * docs/design/draft-push-pull.txt:
10680         * docs/design/draft-query.txt:
10681         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10682         (gst_basesrc_start):
10683         Added draft for new query API.
10684         Added draft for better selecting scheduling methods.
10685         Make basesrc ignore length if the subclass does not support
10686         it.
10687
10688 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10689
10690         * gst/Makefile.am:
10691           possible fixes for automake-1.5 - _LIBADD is reserved
10692
10693 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10694
10695         * docs/faq/Makefile.am:
10696         * docs/manual/Makefile.am:
10697         * docs/manuals.mak:
10698         * docs/pwg/Makefile.am:
10699         * gst/Makefile.am:
10700           possible fixes for automake-1.5
10701
10702 2005-04-28  Wim Taymans  <wim@fluendo.com>
10703
10704         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10705         (gst_basesink_pad_getcaps), (gst_basesink_init),
10706         (gst_basesink_do_sync):
10707         * gst/gstclock.c: (gst_clock_entry_new):
10708         * gst/gstevent.c: (gst_event_discont_get_value):
10709         * gst/gstpipeline.c: (pipeline_bus_handler),
10710         (gst_pipeline_change_state):
10711         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10712         Better debugging of clocking info.
10713         Allow NULL values when getting discont values.
10714
10715 2005-04-27  Wim Taymans  <wim@fluendo.com>
10716
10717         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10718         * check/gst/gstpad.c: (gst_pad_suite):
10719         Increase timeout for checks.
10720
10721 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10722
10723         * check/Makefile.am:
10724           fix the broken rule for cleanup.  Apparently this rule is
10725           only needed on FC2, so maybe this warrants further autotool
10726           inspection.
10727
10728 2005-04-26  Wim Taymans  <wim@fluendo.com>
10729
10730         * gst/gsttrashstack.h:
10731         Ooohh. a nasty one! After having a failed pop() from the stack,
10732         it's possible that the stack is empty. In that case, don't
10733         follow the NULL pointer.
10734
10735 2005-04-25  Wim Taymans  <wim@fluendo.com>
10736
10737         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10738         (gst_pad_set_checkgetrange_function),
10739         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10740         (gst_pad_check_pull_range), (gst_pad_pull_range),
10741         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10742         (gst_pad_pause_task), (gst_pad_stop_task):
10743         * gst/gstplugin.c: (gst_plugin_load):
10744         * gst/gstplugin.h:
10745         Remove gst_library_load as it does more harm than good with
10746         the new g_module flags.
10747         Revert bogus caps template check in pad linking, pad caps
10748         are important when linking not the template, which is more
10749         general than the current caps.
10750
10751 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10752
10753         * gst/autoplug/.cvsignore:
10754         * gst/autoplug/Makefile.am:
10755         * gst/autoplug/gstsearchfuncs.c:
10756         * gst/autoplug/gstsearchfuncs.h:
10757         * gst/autoplug/gstspider.c:
10758         * gst/autoplug/gstspider.h:
10759         * gst/autoplug/gstspideridentity.c:
10760         * gst/autoplug/gstspideridentity.h:
10761         * gst/autoplug/spidertest.c:
10762           Die, spider, die.
10763
10764 2005-04-25  Wim Taymans  <wim@fluendo.com>
10765
10766         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10767         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10768         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10769         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10770         * gst/gstpad.h:
10771         Added stubs for unimplemented functions. 
10772
10773 2005-04-24  David Schleef  <ds@schleef.org>
10774
10775         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10776         please fix.
10777
10778 2005-04-24  David Schleef  <ds@schleef.org>
10779
10780         Convert everything from GstAtomicInt to g_atomic_int_*, and
10781         remove gstatomic.
10782         * gst/Makefile.am:
10783         * gst/gstatomic.c:
10784         * gst/gstatomic.h:
10785         * gst/gstatomic_impl.h:
10786         * gst/gstbuffer.c:
10787         * gst/gstcaps.c:
10788         * gst/gstcaps.h:
10789         * gst/gstclock.c:
10790         * gst/gstclock.h:
10791         * gst/gstdata.c:
10792         * gst/gstdata.h:
10793         * gst/gstdata_private.h:
10794         * gst/gstevent.c:
10795         * gst/gstinfo.c:
10796         * gst/gstinfo.h:
10797         * gst/gstmessage.c:
10798         * gst/gstobject.c:
10799         * gst/gstobject.h:
10800         * gst/gststructure.c:
10801         * gst/gststructure.h:
10802         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10803         * gst/gstutils.h:
10804
10805 2005-04-24  David Schleef  <ds@schleef.org>
10806
10807         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10808         make the regressions tests work.  Remove some code that is no
10809         longer true.
10810         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10811         Disable warning for pads without templates.
10812
10813 2005-04-24  David Schleef  <ds@schleef.org>
10814
10815         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10816         functions that handle filtered links.
10817         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10818         removed functions.
10819         * gst/gstutils.c: Fix/remove utility functions that handle
10820         filtered caps.
10821         * gst/gstutils.h:
10822         * gst/gstvalue.c: Add serialization/deserialization of caps
10823         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10824         requires fixing so that the filter caps notation creates
10825         a capsfilter element and sets the filter_caps property.  I
10826         think everyone probably wants to keep the shorthand notation.
10827         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10828         * docs/gst/tmpl/gstpad.sgml:
10829
10830         * gst/elements/gstelements.c: Register capsfilter element.
10831         * gst/Makefile.am: fix spacing
10832         * docs/random/ds/0.9-suggested-changes: random
10833
10834 2005-04-23  David Schleef  <ds@schleef.org>
10835
10836         * gst/elements/Makefile.am:
10837         * gst/elements/gstcapsfilter.c: New element that acts like an
10838         identity, but filters caps.  Will eventually replace filtered
10839         caps in pad linking.
10840         * gst/gstutils.c: (gst_element_create_all_pads): New function
10841         to create all the ALWAYS pads that are registered with an
10842         element class.  This functionality should eventually be
10843         merged in with GstElement initialization.
10844         * gst/gstutils.h:
10845         * testsuite/trigger/README: part of trigger test code that should
10846         have been checked in a long time ago.
10847
10848 2005-04-23  David Schleef  <ds@schleef.org>
10849
10850         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10851         needed with new versions of libtool (nobody will confirm this),
10852         and hard to carry around.
10853         * gst/autoplug/Makefile.am:
10854         * gst/base/Makefile.am:
10855         * gst/elements/Makefile.am:
10856         * gst/indexers/Makefile.am:
10857         * gst/schedulers/Makefile.am:
10858         * libs/gst/bytestream/Makefile.am:
10859         * libs/gst/control/Makefile.am:
10860         * libs/gst/dataprotocol/Makefile.am:
10861         * libs/gst/getbits/Makefile.am:
10862
10863 2005-04-21  Wim Taymans  <wim@fluendo.com>
10864
10865         * docs/design/draft-push-pull.txt:
10866         * docs/design/part-MT-refcounting.txt:
10867         * docs/design/part-TODO.txt:
10868         * docs/design/part-caps.txt:
10869         * docs/design/part-events.txt:
10870         * docs/design/part-gstbus.txt:
10871         * docs/design/part-gstpipeline.txt:
10872         * docs/design/part-messages.txt:
10873         * docs/design/part-push-pull.txt:
10874         * docs/design/part-query.txt:
10875         Some more docs.
10876
10877 2005-04-21  Wim Taymans  <wim@fluendo.com>
10878
10879         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
10880         (gst_message_new), (gst_message_new_error),
10881         (gst_message_new_warning), (gst_message_new_tag),
10882         (gst_message_new_state_changed), (gst_message_new_application),
10883         (gst_message_get_structure):
10884         * gst/gstmessage.h:
10885         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10886         (gst_structure_copy_conditional):
10887         Use parent refcount in GstMessage to ensure GstStructure
10888         consistency.
10889         Cleaned up headers a bit.
10890         
10891
10892 2005-04-20  Wim Taymans  <wim@fluendo.com>
10893
10894         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10895         (gst_basesink_pad_getcaps), (gst_basesink_init),
10896         (gst_basesink_chain_unlocked):
10897         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
10898         (gst_type_find_helper):
10899         * gst/elements/gsttypefindelement.c:
10900         (gst_type_find_element_have_type), (gst_type_find_element_init),
10901         (stop_typefinding), (gst_type_find_element_handle_event),
10902         (find_suggest), (gst_type_find_element_chain),
10903         (gst_type_find_element_checkgetrange),
10904         (gst_type_find_element_getrange), (do_typefind),
10905         (gst_type_find_element_activate):
10906         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10907         (gst_buffer_default_free), (gst_buffer_default_copy),
10908         (gst_buffer_set_caps):
10909         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
10910         (gst_caps_replace):
10911         * gst/gstmessage.c: (gst_message_new),
10912         (gst_message_new_state_changed):
10913         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10914         (gst_pad_set_checkgetrange_function),
10915         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
10916         (gst_pad_set_caps), (gst_pad_check_pull_range),
10917         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
10918         * gst/gstpad.h:
10919         * gst/gsttypefind.c: (gst_type_find_register):
10920         Make gst_caps_replace() work like other _replace() functions.
10921         Use _caps_replace() where possible.
10922         Make sure _message_new() initialises its field.
10923         Add gst_static_pad_template_get_caps()
10924
10925
10926 2005-04-18  Andy Wingo  <wingo@pobox.com>
10927
10928         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
10929         on the peer, not the pad. I think that was a typo. Pass an extra
10930         arg to see if random access is possible. Activate the pads as
10931         PULL_RANGE if possible.
10932
10933         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
10934
10935         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
10936         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
10937         to PROP_....
10938
10939 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10940
10941         * docs/faq/using.xml:
10942           Add note on gstreamer-properties (#154996).
10943
10944 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10945
10946         * docs/random/bbb/optional-properties:
10947           Some analysis on optional properties.
10948
10949 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10950
10951         * docs/gst/tmpl/gstelementfactory.sgml:
10952         * gst/gstelement.h:
10953         * gst/gstelementfactory.c: (gst_element_factory_init),
10954         (gst_element_factory_cleanup), (gst_element_register),
10955         (__gst_element_factory_add_static_pad_template),
10956         (gst_element_factory_get_static_pad_templates),
10957         (gst_element_factory_can_src_caps),
10958         (gst_element_factory_can_sink_caps):
10959         * gst/registries/Makefile.am:
10960         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
10961         (gst_xml_registry_class_init), (gst_xml_registry_init),
10962         (gst_xml_registry_new), (gst_xml_registry_set_property),
10963         (gst_xml_registry_get_property), (get_time), (make_dir),
10964         (gst_xml_registry_get_perms_func),
10965         (plugin_times_older_than_recurse), (plugin_times_older_than),
10966         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
10967         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
10968         (add_to_char_array), (read_string), (read_uint), (read_enum),
10969         (load_pad_template), (load_feature), (load_plugin), (load_paths),
10970         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
10971         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
10972         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
10973         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
10974         (gst_xml_registry_rebuild):
10975         * gst/registries/gstlibxmlregistry.h:
10976         * tools/gst-compprep.c: (main):
10977         * tools/gst-inspect.c: (print_pad_templates_info):
10978         * tools/gst-xmlinspect.c: (print_element_info):
10979           Use libxml2 for registry parsing, use staticpadtemplates in
10980           elementfactories. Makes gst_init() +/- 10x faster.
10981
10982 2005-04-12  Wim Taymans  <wim@fluendo.com>
10983
10984         * gst/base/Makefile.am:
10985         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10986         (gst_basesink_pad_getcaps), (gst_basesink_init),
10987         (gst_basesink_event), (gst_basesink_change_state):
10988         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10989         (gst_basesrc_init), (gst_basesrc_query),
10990         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10991         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10992         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10993         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10994         (gst_basesrc_stop), (gst_basesrc_activate),
10995         (gst_basesrc_change_state):
10996         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10997         (helper_find_suggest), (gst_type_find_helper):
10998         * gst/base/gsttypefindhelper.h:
10999         * gst/elements/Makefile.am:
11000         * gst/elements/gstelements.c:
11001         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11002         (gst_fakesink_get_times), (gst_fakesink_event),
11003         (gst_fakesink_preroll), (gst_fakesink_render):
11004         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11005         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11006         (gst_fakesrc_get_property), (gst_fakesrc_create),
11007         (gst_fakesrc_start), (gst_fakesrc_stop):
11008         * gst/elements/gstfakesrc.h:
11009         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11010         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11011         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11012         (gst_filesrc_create_read), (gst_filesrc_create),
11013         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11014         (gst_filesrc_start):
11015         * gst/elements/gsttypefindelement.c:
11016         (gst_type_find_element_have_type), (gst_type_find_element_init),
11017         (start_typefinding), (stop_typefinding), (push_buffer_store),
11018         (gst_type_find_element_handle_event),
11019         (gst_type_find_element_chain),
11020         (gst_type_find_element_checkgetrange),
11021         (gst_type_find_element_getrange), (do_typefind),
11022         (gst_type_find_element_activate),
11023         (gst_type_find_element_change_state):
11024         * gst/elements/gsttypefindelement.h:
11025         * gst/gstpipeline.c: (pipeline_bus_handler):
11026         Added typefind helper.
11027         Small preroll fix in the base sink.
11028         Disable typefind code in basesrc.
11029         Crude port of typefindelement.
11030         Fakesrc cleanups.
11031
11032
11033 2005-04-11  Wim Taymans  <wim@fluendo.com>
11034
11035         * check/gst/gstbus.c: (gstbus_suite):
11036         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11037         * check/gstcheck.h:
11038           Fix up the timeout so that the test does not fail.
11039
11040 2005-04-06  Wim Taymans  <wim@fluendo.com>
11041
11042         * gst/base/README:
11043         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11044         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11045         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11046         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11047         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11048         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11049         (gst_basesrc_stop), (gst_basesrc_activate),
11050         (gst_basesrc_change_state), (basesrc_find_peek),
11051         (basesrc_find_suggest), (gst_basesrc_type_find):
11052         * gst/base/gstbasesrc.h:
11053         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11054         (gst_filesrc_class_init), (gst_filesrc_init),
11055         (gst_filesrc_finalize), (gst_filesrc_set_location),
11056         (gst_filesrc_set_property), (gst_filesrc_get_property),
11057         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11058         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11059         (gst_filesrc_create_read), (gst_filesrc_create),
11060         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11061         * gst/elements/gstfilesrc.h:
11062         * gst/gstelement.c: (gst_element_get_state_func),
11063         (gst_element_lost_state), (gst_element_pads_activate):
11064         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11065         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11066         (gst_pad_pull_range):
11067         * gst/gstpad.h:
11068         More work on the generic source base class, implement seeking,
11069         query.
11070         Make filesrc extend the base source class.
11071         Added gst_pad_set_checkgetrange_function to GstPad.
11072
11073 2005-04-06  Andy Wingo  <wingo@pobox.com>
11074
11075         * pkgconfig/gstreamer-base.pc.in:
11076         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11077
11078         * pkgconfig/Makefile.am:
11079         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11080
11081 2005-04-04  Wim Taymans  <wim@fluendo.com>
11082
11083         * gst/base/Makefile.am:
11084         * gst/base/README:
11085         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11086         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11087         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11088         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11089         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11090         (gst_basesrc_base_init), (gst_basesrc_class_init),
11091         (gst_basesrc_init), (gst_basesrc_get_formats),
11092         (gst_basesrc_get_query_types), (gst_basesrc_query),
11093         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11094         (gst_basesrc_set_property), (gst_basesrc_get_property),
11095         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11096         (gst_basesrc_loop), (gst_basesrc_activate),
11097         (gst_basesrc_change_state):
11098         * gst/base/gstbasesrc.h:
11099         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11100         (gst_fakesrc_class_init), (gst_fakesrc_init),
11101         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11102         (gst_fakesrc_get_property), (gst_fakesrc_create):
11103         * gst/elements/gstfakesrc.h:
11104         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11105         (gst_filesrc_open_file), (gst_filesrc_loop),
11106         (gst_filesrc_activate), (filesrc_find_peek),
11107         (gst_filesrc_type_find):
11108         Made base source class, make fakesrc extend it.
11109         Add comments to basesink class.
11110         Some filesrc cleanup.
11111
11112 2005-03-31  David Schleef  <ds@schleef.org>
11113
11114         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11115         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11116         expected to link against libgstreamer.
11117         * gst/base/Makefile.am: link against libgstreamer
11118         * gst/elements/Makefile.am: same
11119
11120 2005-03-31  Andy Wingo  <wingo@pobox.com>
11121
11122         * tests/instantiate/Makefile.am:
11123         * tests/instantiate/caps.c: Add test to test speed of caps copy
11124         and free.
11125
11126         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11127         GMemChunk to be fair.
11128
11129         * gst/gsttrashstack.h: Remove warning about using the fallback
11130         trash stack implementation, it's still faster than malloc.
11131
11132 2005-03-30  Andy Wingo  <wingo@pobox.com>
11133
11134         * tests/complexity.c: Add a copyright.
11135
11136 2005-03-31  Wim Taymans  <wim@fluendo.com>
11137
11138         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11139         (gst_base_transform_class_init), (gst_base_transform_init),
11140         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11141         (gst_base_transform_get_property),
11142         (gst_base_transform_sink_activate),
11143         (gst_base_transform_src_activate),
11144         (gst_base_transform_change_state):
11145         * gst/base/gstbasetransform.h:
11146         * gst/elements/gstidentity.c: (gst_identity_class_init),
11147         (gst_identity_event), (gst_identity_check_perfect),
11148         (gst_identity_transform), (gst_identity_start),
11149         (gst_identity_stop):
11150         Added start/stop methods to transform base class so subclasses 
11151         don't need to deal with state changes even.
11152
11153 2005-03-31  Wim Taymans  <wim@fluendo.com>
11154
11155         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11156         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11157         * gst/gstevent.h:
11158         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11159         (gst_pad_pull_range):
11160         Added rate to the discont event to prepare for variable speed
11161         and reverse playback.
11162
11163 2005-03-29  David Schleef  <ds@schleef.org>
11164
11165         * configure.ac:
11166         * testsuite/trigger/Makefile.am:
11167         * testsuite/trigger/trigger.c: A little example program to show
11168         how trigger-based elements can work.
11169
11170 2005-03-29  Wim Taymans  <wim@fluendo.com>
11171
11172         * gst/base/Makefile.am:
11173         * gst/base/README:
11174         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11175         (gst_basesink_base_init), (gst_basesink_class_init),
11176         (gst_basesink_pad_getcaps), (gst_basesink_init),
11177         (gst_basesink_activate), (gst_basesink_change_state):
11178         * gst/base/gstbasesink.h:
11179         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11180         (gst_base_transform_base_init), (gst_base_transform_finalize),
11181         (gst_base_transform_class_init), (gst_base_transform_init),
11182         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11183         (gst_base_transform_event), (gst_base_transform_getrange),
11184         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11185         (gst_base_transform_set_property),
11186         (gst_base_transform_get_property),
11187         (gst_base_transform_sink_activate),
11188         (gst_base_transform_src_activate),
11189         (gst_base_transform_change_state):
11190         * gst/base/gstbasetransform.h:
11191         * gst/elements/gstidentity.c: (gst_identity_finalize),
11192         (gst_identity_class_init), (gst_identity_init),
11193         (gst_identity_event), (gst_identity_check_perfect),
11194         (gst_identity_transform), (gst_identity_set_property),
11195         (gst_identity_get_property), (gst_identity_change_state):
11196         * gst/elements/gstidentity.h:
11197         * gst/gstelement.c: (gst_element_get_state_func),
11198         (gst_element_lost_state), (gst_element_pads_activate):
11199         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11200         (gst_pad_check_pull_range), (gst_pad_pull_range):
11201         * gst/gstpad.h:
11202         Simplify pad activation.
11203         Added function to check if pull_range can be performed.
11204         Error out when pulling inactive or flushing pads.
11205         Removed const from refcounted types as it does not make sense.
11206         Simplify pad templates in basesink
11207         Added base class for simple 1-to-1 transforms.
11208         Make identity subclass the base transform.
11209
11210 2005-03-29  Andy Wingo  <wingo@pobox.com>
11211
11212         * docs/libs/gstreamer-libs-overrides.txt: 
11213         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11214         really don't understand what's going on, but like whatever. I want
11215         green buildbot!
11216
11217         * docs/gst/Makefile.am:
11218         * docs/libs/Makefile.am: Dist the overrides files.
11219
11220         * check/Makefile.am (clean-local): Remove .libs directories.
11221
11222         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11223         elements to EXTRA_DIST, so po/ files are happy.
11224
11225         * po/POTFILES.in: Er, remove it here.
11226
11227         * po/POTFILES: Remove gstspider.c.
11228
11229         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11230
11231         * docs/libs/gstreamer-libs-docs.sgml: 
11232         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11233         bytestream.
11234
11235         * tests/complexity.c (main): Set the length of the preroll queue
11236         on the sinks to prevent a lockup.
11237
11238         * libs/gst/dataprotocol/Makefile.am: 
11239         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11240         the same as the one in check/gst-libs/gdp.c.
11241
11242         * po/, docs/gst/: Commit automatic changes to docs and po files.
11243
11244         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11245         the versioned libgstbase.
11246
11247         * check/Makefile.am: Depend on an unversioned gst-register, seems
11248         to make autoconf happier.
11249
11250         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11251
11252 2005-03-28  Wim Taymans  <wim@fluendo.com>
11253
11254         * configure.ac:
11255         * docs/design/part-gstelement.txt:
11256         * docs/design/part-negotiation.txt:
11257         * docs/design/part-preroll.txt:
11258         * docs/design/part-scheduling.txt:
11259         * docs/design/part-states.txt:
11260         * gst/Makefile.am:
11261         * gst/base/Makefile.am:
11262         * gst/base/README:
11263         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11264         (gst_basesink_base_init), (gst_basesink_class_init),
11265         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11266         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11267         (gst_basesink_set_pad_functions),
11268         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11269         (gst_basesink_set_property), (gst_basesink_get_property),
11270         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11271         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11272         (gst_basesink_preroll_queue_push),
11273         (gst_basesink_preroll_queue_empty),
11274         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11275         (gst_basesink_event), (gst_basesink_get_times),
11276         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11277         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11278         (gst_basesink_loop), (gst_basesink_activate),
11279         (gst_basesink_change_state):
11280         * gst/base/gstbasesink.h:
11281         * gst/elements/Makefile.am:
11282         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11283         (gst_fakesink_class_init), (gst_fakesink_init),
11284         (gst_fakesink_set_property), (gst_fakesink_get_property),
11285         (gst_fakesink_get_times), (gst_fakesink_event),
11286         (gst_fakesink_preroll), (gst_fakesink_render),
11287         (gst_fakesink_change_state):
11288         * gst/elements/gstfakesink.h:
11289         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11290         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11291         * gst/gstelement.c: (gst_element_add_pad),
11292         (gst_element_get_state_func), (gst_element_abort_state),
11293         (gst_element_commit_state), (gst_element_lost_state),
11294         (gst_element_set_state), (gst_element_pads_activate):
11295         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11296         * gst/gstpipeline.c: (gst_pipeline_send_event),
11297         (gst_pipeline_change_state):
11298         Added state change code.
11299         Added/updated docs.
11300         Added sink base class, make fakesink extend the base class.
11301         Small cleanups in GstPipeline.
11302
11303 2005-03-26  David Schleef  <ds@schleef.org>
11304
11305         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11306         is broken and should be implemented in a different library.
11307         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11308         * gst/gst.h: remove gstcpu.h
11309         * gst/gstcpu.c: remove
11310         * gst/gstcpu.h: remove
11311         * gst/Makefile.am.future: Remove this file.  It's ancient.
11312
11313 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11314
11315         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11316         (gst_bin_send_event):
11317           Add default event/set_manager handlers. The set_manager handler
11318           takes care that the manager is distributed over kids that were
11319           already in the bin before the manager was set. The event handler
11320           is a utility virtual function that sends the event over all sinks,
11321           so that gst_element_send_event (bin, event); has the expected
11322           behaviour.
11323         * gst/gstpad.c: (gst_pad_event_default):
11324           Re-install default event handling for discontinuities, so that
11325           seeking works without requiring hacks in applications or extra
11326           code in sinks.
11327         * gst/gstpipeline.c: (gst_pipeline_class_init),
11328         (gst_pipeline_send_event):
11329           Half hack, half utility: set a pipeline to PAUSED for seek events,
11330           since that is the only way we can guarantee a/v sync. Means that
11331           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11332           and it "just works".
11333
11334 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11335
11336         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11337           Lock/unlock mismatch.
11338
11339 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11340
11341         * docs/faq/gst-uninstalled:
11342           add gst-plugins-base
11343         * docs/gst/Makefile.am:
11344           don't error out until docs are fixed
11345         * docs/gst/gstreamer.types:
11346           remove thread
11347
11348 2005-03-22  Wim Taymans  <wim@fluendo.com>
11349
11350         * check/Makefile.am:
11351         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11352         * gst/gststructure.c: (gst_structure_set_valist),
11353         (gst_structure_copy_conditional):
11354         Activated more tests.
11355         Added message test.
11356         Added G_TYPE_POINTER to GstStructure.
11357         
11358
11359 2005-03-22  Wim Taymans  <wim@fluendo.com>
11360
11361         * docs/design/part-TODO.txt:
11362         * docs/design/part-events.txt:
11363         * docs/design/part-gstbin.txt:
11364         * docs/design/part-gstbus.txt:
11365         * docs/design/part-gstpipeline.txt:
11366         * docs/design/part-messages.txt:
11367         * gst/gstbus.c:
11368         * gst/gstmessage.c:
11369         Docs updates
11370
11371 2005-03-21  Wim Taymans  <wim@fluendo.com>
11372
11373         * gst/gstbus.c: (gst_bus_post):
11374         Fix copy-and-paste error.
11375
11376 2005-03-21  Wim Taymans  <wim@fluendo.com>
11377
11378         * check/Makefile.am:
11379         * gst/Makefile.am:
11380         * gst/elements/Makefile.am:
11381         * gst/elements/gstelements.c:
11382         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11383         (gst_fakesink_event), (gst_fakesink_chain):
11384         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11385         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11386         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11387         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11388         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11389         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11390         (gst_fakesrc_loop), (gst_fakesrc_activate),
11391         (gst_fakesrc_change_state):
11392         * gst/elements/gstfakesrc.h:
11393         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11394         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11395         (gst_filesrc_open_file), (gst_filesrc_loop),
11396         (gst_filesrc_activate), (gst_filesrc_change_state),
11397         (filesrc_find_peek), (filesrc_find_suggest),
11398         (gst_filesrc_type_find):
11399         * gst/elements/gstidentity.c: (gst_identity_finalize),
11400         (gst_identity_class_init), (gst_identity_init),
11401         (gst_identity_proxy_getcaps), (identity_queue_push),
11402         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11403         (gst_identity_getrange), (gst_identity_chain),
11404         (gst_identity_sink_loop), (gst_identity_src_loop),
11405         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11406         (gst_identity_set_property), (gst_identity_get_property),
11407         (gst_identity_change_state):
11408         * gst/elements/gstidentity.h:
11409         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11410         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11411         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11412         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11413         (gst_tee_sink_activate):
11414         * gst/elements/gsttee.h:
11415         * gst/gst.c: (gst_register_core_elements), (init_post):
11416         * gst/gst.h:
11417         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11418         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11419         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11420         (gst_bin_change_state):
11421         * gst/gstbin.h:
11422         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11423         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11424         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11425         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11426         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11427         (bus_watch_callback), (bus_watch_destroy),
11428         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11429         (poll_timeout), (gst_bus_poll):
11430         * gst/gstbus.h:
11431         * gst/gstcaps.h:
11432         * gst/gstdata.h:
11433         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11434         (gst_element_post_message), (gst_element_message_full),
11435         (gst_element_get_state_func), (gst_element_get_state),
11436         (gst_element_abort_state), (gst_element_commit_state),
11437         (gst_element_lost_state), (gst_element_set_state),
11438         (gst_element_pads_activate), (gst_element_change_state),
11439         (gst_element_dispose), (gst_element_set_manager_func),
11440         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11441         (gst_element_set_manager), (gst_element_get_manager),
11442         (gst_element_set_bus), (gst_element_get_bus),
11443         (gst_element_set_scheduler), (gst_element_get_scheduler):
11444         * gst/gstelement.h:
11445         * gst/gstevent.c: (gst_event_new_segment_seek),
11446         (gst_event_new_flush):
11447         * gst/gstevent.h:
11448         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11449         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11450         (gst_message_new_eos), (gst_message_new_error),
11451         (gst_message_new_warning), (gst_message_new_tag),
11452         (gst_message_new_state_changed), (gst_message_new_application),
11453         (gst_message_get_structure), (gst_message_parse_tag),
11454         (gst_message_parse_state_changed), (gst_message_parse_error),
11455         (gst_message_parse_warning):
11456         * gst/gstmessage.h:
11457         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11458         (gst_real_pad_set_property), (gst_pad_set_active),
11459         (gst_pad_is_active), (gst_pad_set_blocked_async),
11460         (gst_pad_set_blocked), (gst_pad_is_blocked),
11461         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11462         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11463         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11464         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11465         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11466         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11467         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11468         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11469         (gst_pad_set_caps), (gst_pad_configure_sink),
11470         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11471         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11472         (gst_real_pad_dispose), (gst_real_pad_finalize),
11473         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11474         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11475         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11476         * gst/gstpad.h:
11477         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11478         (pipeline_bus_handler), (gst_pipeline_change_state),
11479         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11480         * gst/gstpipeline.h:
11481         * gst/gstprobe.h:
11482         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11483         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11484         (gst_queue_link_src), (gst_queue_bufferalloc),
11485         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11486         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11487         (gst_queue_loop), (gst_queue_handle_src_event),
11488         (gst_queue_handle_src_query), (gst_queue_src_activate),
11489         (gst_queue_change_state):
11490         * gst/gstqueue.h:
11491         * gst/gstscheduler.c: (gst_scheduler_init),
11492         (gst_scheduler_dispose), (gst_scheduler_create_task),
11493         (gst_scheduler_factory_create):
11494         * gst/gstscheduler.h:
11495         * gst/gststructure.c: (gst_structure_get_type),
11496         (gst_structure_copy_conditional):
11497         * gst/gststructure.h:
11498         * gst/gsttaginterface.h:
11499         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11500         (gst_task_init), (gst_task_dispose), (gst_task_create),
11501         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11502         (gst_task_pause):
11503         * gst/gsttask.h:
11504         * gst/gstthread.c:
11505         * gst/gstthread.h:
11506         * gst/gsttypes.h:
11507         * gst/schedulers/Makefile.am:
11508         * gst/schedulers/cothreads_compat.h:
11509         * gst/schedulers/entryscheduler.c:
11510         * gst/schedulers/faircothreads.c:
11511         * gst/schedulers/faircothreads.h:
11512         * gst/schedulers/fairscheduler.c:
11513         * gst/schedulers/gstbasicscheduler.c:
11514         * gst/schedulers/gstoptimalscheduler.c:
11515         * gst/schedulers/gthread-cothreads.h:
11516         * gst/schedulers/threadscheduler.c:
11517         (gst_thread_scheduler_task_get_type),
11518         (gst_thread_scheduler_task_class_init),
11519         (gst_thread_scheduler_task_init),
11520         (gst_thread_scheduler_task_start),
11521         (gst_thread_scheduler_task_stop),
11522         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11523         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11524         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11525         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11526         (plugin_init):
11527         * libs/gst/Makefile.am:
11528         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11529         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11530         (gst_file_pad_parent_set):
11531         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11532         (gst_dp_event_from_packet):
11533         * tests/complexity.c: (main):
11534         * tests/mass_elements.c: (main):
11535         * testsuite/states/locked.c: (message_received), (main):
11536         * testsuite/states/parent.c: (main):
11537         * tools/gst-inspect.c: (print_element_flag_info),
11538         (print_implementation_info), (print_pad_info):
11539         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11540         (main):
11541         * tools/gst-md5sum.c: (event_loop), (main):
11542         * tools/gst-typefind.c: (main):
11543         * tools/gst-xmlinspect.c: (print_element_info):
11544         Next big merge.
11545         Added GstBus for mainloop integration.
11546         Added GstMessage for sending notifications on the bus.
11547         Added GstTask as an abstraction for pipeline entry points.
11548         Removed GstThread.
11549         Removed Schedulers.
11550         Simplified GstQueue for multithreaded core.
11551         Made _link threadsafe, removed old capsnego.
11552         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11553         Added pad blocking functions.
11554         Reworked scheduling functions in GstPad to prepare for
11555         scheduling updates soon.
11556         Moved events out of data stream.
11557         Simplified GstEvent types.
11558         Added return values to push/pull.
11559         Removed clocking from GstElement.
11560         Added prototypes for state change function for next merge.
11561         Removed iterate from bins and state change management.
11562         Fixed some elements, disabled others for now.
11563         Fixed -inspect and -launch.
11564         Added check for GstBus.
11565
11566 2005-03-10  Wim Taymans  <wim@fluendo.com>
11567
11568         * docs/design/part-MT-refcounting.txt:
11569         * docs/design/part-clocks.txt:
11570         * docs/design/part-gstelement.txt:
11571         * docs/design/part-gstobject.txt:
11572         * docs/design/part-standards.txt:
11573         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11574         (gst_bin_remove_func), (gst_bin_remove):
11575         * gst/gstbin.h:
11576         * gst/gstbuffer.c:
11577         * gst/gstcaps.h:
11578         * testsuite/clock/clock1.c: (main):
11579         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11580         (main):
11581         * testsuite/dlopen/loadgst.c: (do_test):
11582         * testsuite/refcounting/bin.c: (add_remove_test1),
11583         (add_remove_test2), (main):
11584         * testsuite/refcounting/element.c: (main):
11585         * testsuite/refcounting/element_pad.c: (main):
11586         * testsuite/refcounting/pad.c: (main):
11587         * tools/gst-launch.c: (sigint_handler_sighandler):
11588         * tools/gst-typefind.c: (main):
11589         Doc updates.
11590         Added doc about clock.
11591         removed gst_bin_iterate_recurse_up(), marked methods
11592         for removal.
11593         Fix more testsuites.
11594
11595 2005-03-09  Wim Taymans  <wim@fluendo.com>
11596
11597         * gst/gstpad.c: (gst_pad_get_direction),
11598         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11599         (gst_pad_collect_valist):
11600         * testsuite/bins/interface.c: (main):
11601         * testsuite/caps/audioscale.c: (test_caps):
11602         * testsuite/caps/caps.c: (test1), (test2), (test3):
11603         * testsuite/caps/deserialize.c: (main):
11604         * testsuite/caps/enumcaps.c: (main):
11605         * testsuite/caps/filtercaps.c: (main):
11606         * testsuite/caps/intersect2.c: (main):
11607         * testsuite/caps/random.c: (main):
11608         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11609         * testsuite/caps/sets.c: (check_caps):
11610         * testsuite/caps/simplify.c: (check_caps), (main):
11611         * testsuite/caps/subtract.c: (check_caps):
11612         Fix _pad_get_direction wrt ghostpads.
11613         Fix caps testsuite.
11614
11615 2005-03-09  Wim Taymans  <wim@fluendo.com>
11616
11617         * check/Makefile.am:
11618         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11619         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11620         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11621         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11622         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11623         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11624         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11625         (bin_element_is_sink), (gst_bin_iterate_sinks),
11626         (gst_bin_iterate_all_by_interface):
11627         * gst/gstbin.h:
11628         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11629         (gst_element_change_state), (gst_element_dispose),
11630         (gst_element_finalize), (gst_element_set_loop_function):
11631         * gst/gstelement.h:
11632         * gst/gstiterator.c: (find_custom_fold_func):
11633         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11634         (gst_pad_collectv), (gst_pad_collect_valist),
11635         (gst_pad_template_new):
11636         * gst/gstpipeline.c: (gst_pipeline_class_init),
11637         (gst_pipeline_dispose), (gst_pipeline_set_property),
11638         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11639         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11640         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11641         * gst/gstutils.h:
11642         * gst/schedulers/entryscheduler.c:
11643         * gst/schedulers/gstbasicscheduler.c:
11644         (gst_basic_scheduler_cothreaded_chain),
11645         (gst_basic_scheduler_chain_add_element):
11646         * testsuite/bins/interface.c: (main):
11647         Added GstBin test.
11648         Added GstSystemClock test.
11649         Implemented clock distribution code in GstBin.
11650         Implemented iterate sinks method for future use.
11651         Rearranged gstelement.h
11652         Fix GstIterator comparison bug.
11653         Moved some code to GstPipeline, mostly clocking related.
11654
11655 2005-03-09  Wim Taymans  <wim@fluendo.com>
11656
11657         * configure.ac:
11658         * gst/gst_private.h:
11659         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11660         (gst_bin_remove_func), (gst_bin_remove),
11661         (gst_bin_get_by_name_recurse_up):
11662         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11663         (gst_clock_id_compare_func), (gst_clock_id_wait),
11664         (gst_clock_id_wait_async), (gst_clock_init),
11665         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11666         * gst/gstelement.h:
11667         * gst/gstinfo.c: (_gst_debug_init):
11668         * gst/gstobject.h:
11669         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11670         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11671         * gst/gstpad.h:
11672         Bump version number, we're now 0.9.0
11673         Add future debugging category.
11674         Fix NULL _unref() in _get_by_name_recurse_up
11675         Rearrange gstpad.h.
11676         Update some docs.
11677
11678 2005-03-08  Wim Taymans  <wim@fluendo.com>
11679
11680         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11681         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11682         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11683         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11684         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11685         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11686         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11687         * gst/elements/gstidentity.c: (gst_identity_class_init):
11688         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11689         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11690         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11691         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11692         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11693         (gst_tee_link):
11694         * gst/gstelement.c: (gst_element_class_init),
11695         (gst_element_base_class_init), (gst_element_init),
11696         (gst_element_get_random_pad), (gst_element_wait_state_change),
11697         (gst_element_change_state), (gst_element_dispose),
11698         (gst_element_finalize), (gst_element_set_loop_function):
11699         * gst/gstelement.h:
11700         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11701         * gst/gstthread.c: (gst_thread_class_init),
11702         (gst_thread_release_children_locks), (gst_thread_change_state):
11703         * gst/schedulers/gstbasicscheduler.c:
11704         (gst_basic_scheduler_loopfunc_wrapper),
11705         (gst_basic_scheduler_chain_wrapper),
11706         (gst_basic_scheduler_src_wrapper),
11707         (gst_basic_scheduler_remove_element):
11708         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11709         Remove threadsafe properties. Fix elements because GObject
11710         complains when installing a property before declaring a
11711         set/get_property handler.
11712         Rearrange gstelement.h file, use STATE macros for state locks.
11713         Free mutexes in the finalize method instead of dispose.
11714
11715 2005-03-08  Wim Taymans  <wim@fluendo.com>
11716
11717         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11718         * gst/gstthread.c: (gst_thread_release_children_locks):
11719         Added parentage check.
11720         Fix build og GstThread again.
11721
11722 2005-03-08  Wim Taymans  <wim@fluendo.com>
11723
11724         * docs/design/part-MT-refcounting.txt:
11725         * docs/design/part-conventions.txt:
11726         * docs/design/part-gstobject.txt:
11727         * docs/design/part-relations.txt:
11728         * docs/design/part-standards.txt:
11729         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11730         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11731         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11732         (gst_bin_iterate_all_by_interface):
11733         * gst/gstbuffer.h:
11734         * gst/gstclock.h:
11735         * gst/gstelement.c: (gst_element_class_init),
11736         (gst_element_change_state), (gst_element_set_loop_function):
11737         * gst/gstelement.h:
11738         * gst/gstiterator.c:
11739         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11740         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11741         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11742         (gst_object_set_parent), (gst_object_unparent),
11743         (gst_object_check_uniqueness):
11744         * gst/gstobject.h:
11745         Docs updates, clean up some headers.
11746
11747 2005-03-07  Wim Taymans  <wim@fluendo.com>
11748
11749         * check/.cvsignore:
11750         * check/Makefile.am:
11751         * check/gst-libs/.cvsignore:
11752         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11753         * check/gst/.cvsignore:
11754         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11755         (START_TEST), (gstbus_suite), (main):
11756         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11757         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11758         (gst_data_suite), (main):
11759         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11760         (add_fold_func), (gstiterator_suite), (main):
11761         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11762         (thread_name_object), (thread_name_object_default),
11763         (gst_object_name_compare), (gst_object_suite), (main):
11764         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11765         (gst_pad_suite), (main):
11766         * check/gstcheck.c: (gst_check_log_message_func),
11767         (gst_check_log_critical_func), (gst_check_init):
11768         * check/gstcheck.h:
11769         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11770         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11771         Added checks.
11772
11773 2005-03-07  Wim Taymans  <wim@fluendo.com>
11774
11775         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11776         (gst_list_iterator_next), (gst_list_iterator_resync),
11777         (gst_list_iterator_free), (gst_iterator_new_list),
11778         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11779         (gst_iterator_free), (gst_iterator_push), (filter_next),
11780         (filter_resync), (filter_uninit), (filter_free),
11781         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11782         (gst_iterator_foreach), (find_custom_fold_func),
11783         (gst_iterator_find_custom):
11784         * gst/gstiterator.h:
11785         Added missing files.
11786
11787 2005-03-07  Wim Taymans  <wim@fluendo.com>
11788
11789         * Makefile.am:
11790         * configure.ac:
11791         * docs/design/part-MT-refcounting.txt:
11792         * docs/design/part-conventions.txt:
11793         * docs/design/part-gstobject.txt:
11794         * docs/design/part-relations.txt:
11795         * examples/mixer/mixer.c: (main):
11796         * examples/thread/thread.c: (eos), (main):
11797         * gst/Makefile.am:
11798         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11799         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11800         (gst_spider_plug_from_srcpad):
11801         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11802         (gst_spider_identity_change_state),
11803         (gst_spider_identity_sink_loop_type_finding):
11804         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11805         * gst/elements/gstidentity.c: (gst_identity_init):
11806         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11807         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11808         * gst/elements/gsttypefindelement.c: (free_entry):
11809         * gst/gst.c:
11810         * gst/gst.h:
11811         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11812         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11813         (gst_bin_set_index), (gst_bin_set_element_sched),
11814         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11815         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11816         (gst_bin_iterate_elements), (iterate_child_recurse),
11817         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11818         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11819         (compare_interface), (gst_bin_get_by_interface),
11820         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11821         * gst/gstbin.h:
11822         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11823         (gst_buffer_default_free), (gst_buffer_default_copy),
11824         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11825         (gst_buffer_create_sub):
11826         * gst/gstbuffer.h:
11827         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11828         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11829         (gst_caps_unref), (gst_static_caps_get),
11830         (gst_caps_remove_and_get_structure), (gst_caps_append),
11831         (gst_caps_append_structure), (gst_caps_remove_structure),
11832         (gst_caps_copy_nth), (gst_caps_set_simple),
11833         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11834         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11835         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11836         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11837         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11838         (gst_caps_structure_figure_out_union),
11839         (gst_caps_switch_structures), (gst_caps_do_simplify),
11840         (gst_caps_replace), (gst_caps_from_string),
11841         (gst_caps_copy_conditional):
11842         * gst/gstcaps.h:
11843         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11844         (_gst_clock_id_free), (gst_clock_id_unref),
11845         (gst_clock_id_compare_func), (gst_clock_id_wait),
11846         (gst_clock_id_wait_async), (gst_clock_class_init),
11847         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11848         (gst_clock_get_time), (gst_clock_set_time_adjust),
11849         (gst_clock_set_property), (gst_clock_get_property):
11850         * gst/gstclock.h:
11851         * gst/gstcompat.h:
11852         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11853         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11854         * gst/gstdata.h:
11855         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11856         (gst_element_requires_clock), (gst_element_provides_clock),
11857         (gst_element_set_clock), (gst_element_clock_wait),
11858         (gst_element_wait), (gst_element_set_time_delay),
11859         (gst_element_is_indexable), (gst_element_add_pad),
11860         (gst_element_add_ghost_pad), (gst_element_remove_pad),
11861         (pad_compare_name), (gst_element_get_static_pad),
11862         (gst_element_request_pad), (gst_element_get_request_pad),
11863         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
11864         (gst_element_class_get_pad_template_list),
11865         (gst_element_class_get_pad_template), (gst_element_error_func),
11866         (gst_element_get_random_pad), (gst_element_get_event_masks),
11867         (gst_element_send_event), (gst_element_seek),
11868         (gst_element_get_query_types), (gst_element_query),
11869         (gst_element_get_formats), (gst_element_convert),
11870         (gst_element_is_locked_state), (gst_element_set_locked_state),
11871         (gst_element_sync_state_with_parent), (gst_element_change_state),
11872         (gst_element_finalize), (gst_element_yield),
11873         (gst_element_interrupt), (gst_element_set_scheduler),
11874         (gst_element_get_scheduler), (gst_element_set_loop_function):
11875         * gst/gstelement.h:
11876         * gst/gstevent.h:
11877         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
11878         (gst_format_get_by_nick), (gst_format_get_details),
11879         (gst_format_iterate_definitions):
11880         * gst/gstformat.h:
11881         * gst/gstindex.c: (gst_index_gtype_resolver):
11882         * gst/gstinfo.c:
11883         * gst/gstinfo.h:
11884         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
11885         (gst_mem_chunk_free):
11886         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
11887         (gst_object_ref), (gst_object_unref), (gst_object_sink),
11888         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
11889         (gst_object_dispatch_properties_changed),
11890         (gst_object_set_name_default), (gst_object_set_name),
11891         (gst_object_get_name), (gst_object_set_name_prefix),
11892         (gst_object_get_name_prefix), (gst_object_set_parent),
11893         (gst_object_get_parent), (gst_object_unparent),
11894         (gst_object_check_uniqueness), (gst_object_save_thyself),
11895         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
11896         (gst_object_set_property), (gst_object_get_property),
11897         (gst_object_get_path_string):
11898         * gst/gstobject.h:
11899         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11900         (gst_real_pad_init), (gst_real_pad_get_property),
11901         (gst_pad_custom_new), (gst_pad_get_direction),
11902         (gst_pad_set_active), (gst_pad_is_active),
11903         (gst_pad_set_event_function), (gst_pad_is_linked),
11904         (gst_pad_link_free), (gst_pad_link_intersect),
11905         (gst_pad_link_fixate), (gst_pad_set_caps),
11906         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
11907         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
11908         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
11909         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
11910         (gst_pad_get_caps), (gst_pad_peer_get_caps),
11911         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
11912         (gst_pad_realize), (gst_pad_get_allowed_caps),
11913         (gst_real_pad_dispose), (gst_real_pad_finalize),
11914         (gst_pad_collectv), (gst_pad_collect_valist),
11915         (gst_pad_template_dispose), (gst_pad_template_new),
11916         (gst_pad_get_internal_links):
11917         * gst/gstpad.h:
11918         * gst/gstpipeline.c: (gst_pipeline_dispose),
11919         (gst_pipeline_change_state):
11920         * gst/gstpipeline.h:
11921         * gst/gstplugin.c:
11922         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
11923         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
11924         * gst/gstpluginfeature.h:
11925         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
11926         * gst/gstquery.c: (_gst_query_type_initialize),
11927         (gst_query_type_register), (gst_query_type_get_by_nick),
11928         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
11929         * gst/gstquery.h:
11930         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
11931         * gst/gstscheduler.c: (gst_scheduler_add_element),
11932         (gst_scheduler_factory_create):
11933         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11934         (gst_structure_free), (gst_structure_set_name),
11935         (gst_structure_id_set_value), (gst_structure_set_value),
11936         (gst_structure_set_valist), (gst_structure_remove_field),
11937         (gst_structure_remove_fields),
11938         (gst_structure_remove_fields_valist),
11939         (gst_structure_remove_all_fields), (gst_structure_foreach),
11940         (gst_structure_map_in_place),
11941         (gst_caps_structure_fixate_field_nearest_int),
11942         (gst_caps_structure_fixate_field_nearest_double):
11943         * gst/gststructure.h:
11944         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11945         (gst_system_clock_init), (gst_system_clock_dispose),
11946         (gst_system_clock_async_thread),
11947         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
11948         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
11949         * gst/gstsystemclock.h:
11950         * gst/gsttag.c: (gst_tag_list_add_value_internal),
11951         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
11952         * gst/gsttaginterface.c:
11953         * gst/gstthread.c: (gst_thread_dispose),
11954         (gst_thread_release_children_locks), (gst_thread_change_state),
11955         (gst_thread_main_loop):
11956         * gst/gsttrashstack.h:
11957         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
11958         * gst/gsttypes.h:
11959         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11960         (gst_element_request_pad), (gst_element_get_pad_from_template),
11961         (gst_element_request_compatible_pad),
11962         (gst_element_get_compatible_pad_filtered),
11963         (gst_element_get_compatible_pad), (gst_element_state_get_name),
11964         (gst_element_link_pads_filtered), (gst_element_link_filtered),
11965         (gst_element_link_many), (gst_element_link),
11966         (gst_element_link_pads), (gst_element_unlink_pads),
11967         (gst_element_unlink_many), (gst_element_unlink),
11968         (gst_pad_can_link_filtered), (gst_pad_can_link),
11969         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
11970         (gst_object_default_error), (gst_bin_add_many),
11971         (gst_bin_remove_many), (gst_element_populate_std_props),
11972         (gst_element_class_install_std_props), (gst_buffer_merge),
11973         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
11974         (link_fold_func), (gst_pad_proxy_setcaps):
11975         * gst/gstutils.h:
11976         * gst/gstvalue.c: (gst_value_deserialize_string):
11977         * gst/parse/grammar.y:
11978         * gst/schedulers/gstbasicscheduler.c:
11979         (gst_basic_scheduler_cothreaded_chain),
11980         (gst_basic_scheduler_chain_recursive_add),
11981         (gst_basic_scheduler_pad_link):
11982         * gst/schedulers/gstoptimalscheduler.c:
11983         (get_group_schedule_function),
11984         (gst_opt_scheduler_state_transition),
11985         (gst_opt_scheduler_add_element), (element_get_reachables_func):
11986         * libs/gst/bytestream/bytestream.c:
11987         * libs/gst/dataprotocol/dataprotocol.c:
11988         (gst_dp_header_from_buffer):
11989         * po/nb.po:
11990         * po/ru.po:
11991         * tests/threadstate/threadstate2.c: (eos):
11992         * tools/gst-compprep.c: (main):
11993         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
11994         (print_pad_info), (print_children_info):
11995         * tools/gst-launch.c: (idle_func), (main):
11996         * tools/gst-md5sum.c: (idle_func), (main):
11997         * tools/gst-xmlinspect.c: (print_element_info):
11998         First THREADED backport attempt, focusing on adding locks and
11999         making sure the API is threadsafe. Needs more work. More docs
12000         follow this week.
12001
12002 2005-02-24  Andy Wingo  <wingo@pobox.com>
12003
12004         * tests/bench-complexity.scm:
12005         * tests/complexity.gnuplot: New files, good for running complexity
12006         benchmarks.
12007
12008         * tests/Makefile.am:
12009         * tests/complexity.c: New test, sets up N elements, at each level
12010         teeing into M streams per element. Eeeenteresting.
12011
12012         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12013         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12014         running bench-mass_elements.scm.
12015
12016         * tests/bench-mass_elements.scm: New script, runs mass_elements
12017         for various numbers of identities, outputting the results to a
12018         file. Requires guile 1.6. Just for testing.
12019
12020 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12021
12022         * gst/schedulers/fairscheduler.c:
12023           compile with debug disabled
12024
12025 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12026
12027         * configure.ac:
12028           hunting season on 0.9 is now OPEN