check/gst/gstutils.c: Added test for scaling.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-24  Wim Taymans  <wim@fluendo.com>
2
3         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4         Added test for scaling.
5
6         * gst/gstclock.h:
7         Small doc fix.
8
9         * gst/gstutils.c: (gst_util_uint64_scale_int):
10         Implemented high precision scaling code.
11
12 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
13
14         * gst/gstinfo.h:
15           do not crash on pad==NULL
16
17 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18
19         Patch by: Stefan Kost
20
21         * common/gtk-doc.mak:
22         * docs/gst/Makefile.am:
23         * docs/libs/Makefile.am:
24           Fix distcheck issues for the libraries docs build
25           Closes #319599.
26
27 2005-11-24  Michael Smith <msmith@fluendo.com>
28
29         * docs/manual/basics-helloworld.xml:
30           Fix bug #315027: memory leak in example code in docs.
31
32 2005-11-24  Michael Smith <msmith@fluendo.com>
33
34         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
35           Unlock the PREROLL_LOCK in a failure case.
36
37 2005-11-24  Wim Taymans  <wim@fluendo.com>
38
39         * docs/gst/gstreamer-sections.txt:
40         * gst/base/gstadapter.h:
41         * gst/base/gstbasesink.h:
42         * gst/base/gstbasesrc.h:
43         * gst/base/gstbasetransform.h:
44         * gst/base/gstpushsrc.h:
45         * gst/elements/gstfakesink.h:
46         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
47         * gst/elements/gstfakesrc.h:
48         * gst/elements/gstfilesink.h:
49         * gst/elements/gstfilesrc.h:
50         * gst/gst.c:
51         * gst/gstbin.c:
52         * gst/gstbuffer.c: (_gst_buffer_copy):
53         * gst/gstbus.h:
54         * gst/gstcaps.c:
55         * gst/gstchildproxy.c:
56         * gst/gstclock.c:
57         * gst/gstelement.c:
58         * gst/gstelementfactory.c:
59         * gst/gstelementfactory.h:
60         * gst/gstevent.c:
61         * gst/gstghostpad.h:
62         * gst/gstindex.h:
63         * gst/gstinterface.h:
64         * gst/gstminiobject.c:
65         * gst/gstminiobject.h:
66         * gst/gstpad.c:
67         * gst/gstpad.h:
68         * gst/gstpadtemplate.h:
69         * gst/gstpipeline.h:
70         * gst/gstpluginfeature.h:
71         * gst/gstquery.h:
72         * gst/gstqueue.h:
73         * gst/gsttaglist.c:
74         * gst/gsttaglist.h:
75         * gst/gsttagsetter.c:
76         * gst/gsttagsetter.h:
77         * gst/gsttrace.c:
78         * gst/gsttrace.h:
79         * gst/gsttypefind.h:
80         * gst/gsturi.h:
81         * gst/gstvalue.c:
82         * gst/net/gstnetclientclock.c:
83         * gst/net/gstnetclientclock.h:
84         * gst/net/gstnettimepacket.c:
85         * gst/net/gstnettimeprovider.c:
86         * gst/net/gstnettimeprovider.h:
87         Doc fixes.
88
89 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
90
91         * configure.ac: back to HEAD
92
93 === release 0.9.6 ===
94
95 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
96
97         * configure.ac:
98           releasing 0.9.6, "Always On Time"
99
100 2005-11-23  Wim Taymans  <wim@fluendo.com>
101
102         * docs/gst/gstreamer-sections.txt:
103         * gst/glib-compat.c:
104         * gst/gsttagsetter.c:
105         * gst/gstvalue.c:
106         * gst/net/gstnetclientclock.c:
107         * gst/net/gstnettimepacket.h:
108         Doc updates.
109
110 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
111
112         * docs/faq/using.xml:
113         * docs/libs/tmpl/gstcontrol.sgml:
114         * docs/manual/advanced-dparams.xml:
115         * docs/manual/appendix-checklist.xml:
116         * docs/manual/basics-elements.xml:
117         * docs/pwg/other-source.xml:
118         * docs/random/moving-plugins:
119         * gst/gstpad.c:
120         * tools/gst-launch.1.in:
121           remove mentions of sinesrc
122
123 2005-11-23  Michael Smith <msmith@fluendo.com>
124
125         * docs/gst/gstreamer-sections.txt:
126           Update for new API and API changes.
127         * gst/gstobject.h:
128           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
129         * gst/gstvalue.c:
130           Documentation typo fix.
131         * gst/net/gstnettimepacket.c:
132           Documentation fixes for arguments.
133
134 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
135
136         * gst/gststructure.c: (gst_structure_get_fraction),
137         (gst_structure_parse_value),
138         (gst_structure_fixate_field_nearest_fraction):
139         * gst/gststructure.h:
140         * gst/gstutils.c: (gst_util_uint64_scale_int):
141         * gst/gstutils.h:
142         * scripts/update-funcnames:
143         API Changes. 
144         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
145         Make gst_structure_fixate_field_nearest_fraction take a numerator
146         and denominator argument instead of a GValue
147         add gst_structure_get_fraction helper function.
148
149 2005-11-23  Wim Taymans  <wim@fluendo.com>
150
151         * docs/design/part-TODO.txt:
152         Update TODO.
153
154         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
155         * gst/net/gstnetclientclock.h:
156         Use parent fields for timeout and window_size.
157
158 2005-11-23  Andy Wingo  <wingo@pobox.com>
159
160         * check/net/gstnetclientclock.c (test_functioning): Adjust to
161         rate_num/rate_denom change.
162
163         * gst/net/gstnetclientclock.c
164         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
165         OBJECT_LOCK. Don't call add_observation with the lock.
166
167         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
168         fraction.
169         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
170         rate fraction.
171         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
172         deal with rate as a fraction whose numerator and denominator are
173         GstClockTime values.
174         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
175         master; the other fields are protected by the SLAVE_LOCK.
176         (do_linear_regression): Note that this must be called with the
177         SLAVE_LOCK.
178         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
179         OBJECT_LOCK. Call set_calibration instead of touching the
180         variables directly.
181         (gst_clock_set_property, gst_clock_get_property): Protect
182         master/slave parameters with the SLAVE_LOCK.
183
184         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
185         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
186         note that all of the instance variables that add_observation and
187         the set_master functions use are protected by that lock and not
188         the OBJECT_LOCK.
189         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
190
191         * gst/gstclock.c (gst_clock_add_observation): No longer requires
192         the caller to take the object lock.
193
194 2005-11-23  Wim Taymans  <wim@fluendo.com>
195
196         * gst/gsterror.c: (_gst_core_errors_init):
197         * gst/gsterror.h:
198         Add error for clock stuff.
199
200         * gst/gstpipeline.c: (gst_pipeline_change_state),
201         (gst_pipeline_set_clock):
202         Post clock error when clock cannot be used in a pipeline.
203
204 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
205
206         * docs/gst/gstreamer-sections.txt:
207           make two symbols from gstinfo private for the docs
208         * gst/base/gstcollectpads.h:
209         * gst/gstutils.c:
210           fix doc typos, update docs
211
212 2005-11-22  Wim Taymans  <wim@fluendo.com>
213
214         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
215         (gst_base_sink_wait), (gst_base_sink_do_sync),
216         (gst_base_sink_handle_event):
217         * gst/base/gstbasesink.h:
218         No need to store the clock, the parent element class already
219         has it.
220
221         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
222         Updates for clock_set returning a gboolean
223
224         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
225         (gst_clock_id_wait_async), (gst_clock_class_init),
226         (gst_clock_init), (gst_clock_finalize),
227         (gst_clock_get_internal_time), (gst_clock_get_time),
228         (gst_clock_slave_callback), (gst_clock_set_master),
229         (gst_clock_get_master), (do_linear_regression),
230         (gst_clock_add_observation), (gst_clock_set_property),
231         (gst_clock_get_property):
232         * gst/gstclock.h:
233         Implement master/slave. When setting a clock as a slave, a
234         periodic timeout is scheduled to sample master and slave times.
235         Then the slave clock is recalibrated to match offset and rate
236         of the master clock.
237         Update logging a bit.
238         Add flag so that a clock can state that is cannot be slaved to
239         another clock.
240
241         * gst/gstelement.c: (gst_element_set_clock):
242         * gst/gstelement.h:
243         The set clock returns a gboolean for when an element cannot
244         deal with the selected clock in the pipeline. 
245
246         * gst/gstpipeline.c: (gst_pipeline_change_state),
247         (gst_pipeline_set_clock):
248         * gst/gstpipeline.h:
249         Handle the case where the selected clock cannot be set on
250         the pipeline.
251
252         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
253         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
254         (gst_net_client_clock_set_property),
255         (gst_net_client_clock_get_property),
256         (gst_net_client_clock_observe_times):
257         * gst/net/gstnetclientclock.h:
258         Use regression code in GstClock parent, remove duplicated
259         functionality.
260
261 2005-11-22  Michael Smith <msmith@fluendo.com>
262
263         * gst/gstutils.c: (gst_util_clock_time_scale):
264         * gst/gstutils.h:
265         * docs/gst/gstreamer-sections.txt:
266           Rename method to have extra underscore.
267
268 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
269
270         * gst/elements/Makefile.am:
271         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
272         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
273         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
274         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
275         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
276         * gst/elements/gstfakesrc.h:
277         * gst/gstqueue.c: (queue_leaky_get_type):
278           correctly fix GEnumValues so that nick is the short lowercase
279           dashed tag
280         * tools/gst-inspect.c: (print_element_properties_info):
281           also show the nick, since it's useful to use from parse_launch
282           syntax
283           Fixes #322139
284
285 2005-11-22  Michael Smith <msmith@fluendo.com>
286
287         * gst/gstutils.c: (gst_util_clocktime_scale):
288         * gst/gstutils.h:
289         * docs/gst/gstreamer-sections.txt:
290           Add util method for scaling a clocktime by a fraction. Useful 
291           implementation is left as an exercise for the reader.
292
293 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
294
295         * gst/gstvalue.c: (gst_value_collect_fraction_range):
296         If needed, allocate storage in the destination value during
297         collection.
298
299 2005-11-22  Edward Hervey  <edward@fluendo.com>
300
301         * docs/gst/gstreamer-sections.txt:
302         * gst/Makefile.am:
303         * gst/gst.h:
304         * gst/gsturitype.c:
305         * gst/gsturitype.h:
306         * gst/gstutils.c: (gst_util_set_object_arg):
307         * tools/gst-compprep.c: (main):
308         * tools/gst-inspect.c: (print_element_properties_info):
309         Removed GstURI, closes bug #321061
310
311 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
312
313         * check/gst/gststructure.c: (GST_START_TEST):
314         * gst/gststructure.c: (gst_structure_parse_value):
315           Oops, broke automatic string type parsing.
316           Add a test to catch it in future.
317
318 2005-11-22  Andy Wingo  <wingo@pobox.com>
319
320         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
321         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
322         Actually rename the function implementations. Grr.
323
324 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
325
326         * check/gst/capslist.h:
327           Comment test cases
328         * check/gst/gststructure.c: (GST_START_TEST),
329         (gst_structure_suite):
330           Test automatic value type detection in gst_structure_from_string.
331         * gst/gststructure.c: (gst_structure_parse_value):
332           Add fraction as a type we try and guess automatically in
333           caps/structure strings.
334
335 2005-11-22  Andy Wingo  <wingo@pobox.com>
336
337         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
338
339         * gst/gsttagsetter.h:
340         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
341         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
342         (gst_tag_setter_add_tag_valist)
343         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
344         _add_values, _add_valist, and _add_valist_values. Since this is an
345         interface the function suffixes should be more explicit so
346         language binding don't end up with element.add_valist ->
347         gst_tag_setter_add_valist, for example. Fixes #322069.
348
349 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
350
351         * check/gst/gstcaps.c: (GST_START_TEST):
352           Extend caps string tests to check that a caps to string
353           conversion is reversible and produces the same caps.
354
355         * gst/gststructure.c: (gst_structure_value_get_generic_type):
356           Output "fraction" as the generic type fraction range, so caps
357           serialisation and deserialisation works.
358         * check/gst/capslist.h:
359         * gst/gstvalue.c: (gst_value_deserialize_fraction):
360           Support 'MIN' and 'MAX' for deserialising fractions.
361
362 2005-11-22  Andy Wingo  <wingo@pobox.com>
363
364         * gst/gstevent.h (gst_event_new_new_segment)
365         (gst_event_parse_new_segment, gst_event_new_buffer_size)
366         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
367         Renamed from *_newsegment, *_buffersize, *_notarget.
368
369         * scripts/update-funcnames: New script, performs the changes
370         listed above.
371
372 2005-11-22  Wim Taymans  <wim@fluendo.com>
373
374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
375         Make sure the GstFlowReturn is returned.
376
377         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
378         (gst_bus_add_signal_watch):
379         * gst/gstbus.h:
380         add gst_bus_add_signal_watch_full.
381
382         * gst/gstplugin.c: (gst_plugin_load_file):
383         Small style cleanup.
384
385 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
386
387         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
388           Block the fakesrc srcpad when we send an event, to avoid
389           contention on the stream_lock causing random test failures.
390
391 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
392
393         * check/gst/gstvalue.c: (GST_START_TEST):
394         * gst/gstvalue.c: (gst_value_fraction_subtract):
395           Fix subtraction.
396
397 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
398
399         * gst/gst.h:
400           include "gstchildproxy.h"
401         * gst/gstchildproxy.h:
402         * libs/gst/controller/gstcontroller.h:
403           use G_GNUC_NULL_TERMINATED
404
405 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
406
407         * check/gst/capslist.h:
408         * check/gst/gstcaps.c: (GST_START_TEST):
409         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
410         * gst/gststructure.c: (gst_structure_parse_range),
411         (gst_structure_fixate_field_nearest_fraction):
412         * gst/gststructure.h:
413         * gst/gstvalue.c: (gst_value_init_fraction_range),
414         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
415         (gst_value_collect_fraction_range),
416         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
417         (gst_value_set_fraction_range_full),
418         (gst_value_get_fraction_range_min),
419         (gst_value_get_fraction_range_max),
420         (gst_value_serialize_fraction_range),
421         (gst_value_transform_fraction_range_string),
422         (gst_value_compare_fraction_range),
423         (gst_value_deserialize_fraction_range),
424         (gst_value_intersect_fraction_fraction_range),
425         (gst_value_intersect_fraction_range_fraction_range),
426         (gst_value_subtract_fraction_fraction_range),
427         (gst_value_subtract_fraction_range_fraction),
428         (gst_value_subtract_fraction_range_fraction_range),
429         (gst_value_collect_fraction), (gst_value_fraction_multiply),
430         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
431         (gst_value_transform_string_fraction), (_gst_value_initialize):
432         * gst/gstvalue.h:
433           Implement fraction ranges and extend GstFraction to support
434           arithmetic subtraction, as well as deserialization from integer
435           strings such as "100"
436           Add a testsuite as for int and double range set operations
437
438 2005-11-21  Andy Wingo  <wingo@pobox.com>
439
440         * gst/gsttaglist.h: 
441         * gst/gstcaps.h: 
442         * gst/gststructure.h: Add glib-compat.h.
443
444 2005-11-21  Wim Taymans  <wim@fluendo.com>
445
446         * gst/gstbin.c: (gst_bin_change_state_func):
447         Fix for #321595
448
449 2005-11-21  Wim Taymans  <wim@fluendo.com>
450
451         * gst/gstsegment.h:
452         And add a nice define too.
453
454 2005-11-21  Wim Taymans  <wim@fluendo.com>
455
456         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
457         (gst_segment_new), (gst_segment_free), (gst_segment_init),
458         (gst_segment_set_duration), (gst_segment_set_last_stop),
459         (gst_segment_set_seek), (gst_segment_set_newsegment),
460         (gst_segment_to_stream_time), (gst_segment_to_running_time),
461         (gst_segment_clip):
462         * gst/gstsegment.h:
463         Make binding friendly.
464
465 2005-11-21  Andy Wingo  <wingo@pobox.com>
466
467         * gst/gsttagsetter.h: 
468         * gst/gsttaglist.h: 
469         * gst/gststructure.h: 
470         * gst/gstcaps.h: 
471         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
472         #319940.
473
474         * gst/gsterror.c (_gst_core_errors_init):
475         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
476         category.
477
478         * gst/Makefile.am (gst_headers): Add glib-compat.h.
479         (noinst_HEADERS): noinst the -private.
480
481 2005-11-21  Michael Smith <msmith@fluendo.com>
482
483         * gst/gstplugin.h:
484         * gst/gstregistry.h:
485           Remove unimplemented declarations for which we can see no sensible
486           use.
487
488 2005-11-21  Andy Wingo  <wingo@pobox.com>
489
490         * gst/gst.h: Include glib-compat.h.
491
492         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
493
494         * gst/glib-compat.c: Include the public and the private header.
495
496         * gst/glib-compat-private.h: Copied here from glib-compat.h.
497
498         * gst/gstvalue.c: 
499         * gst/gstpad.c: 
500         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
501
502         * check/gst/gstevent.c (create_custom_events): Check that
503         FLUSH_STOP is serialized.
504
505         * check/elements/identity.c (event_func): 
506         * check/elements/fakesrc.c (event_func): No stream lock, the core
507         takes it.
508
509         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
510         stream lock taking, yay.
511
512         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
513         ensure that core takes the stream lock.
514
515         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
516         lock name change.
517
518         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
519         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
520         it already. For the flush start we do take it though so we get the
521         right preroll state change messages.
522
523         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
524         the stream lock here, the core does it for us.
525
526         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
527         GST_STREAM_GET_LOCK.
528         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
529         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
530         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
531         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
532         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
533         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
534
535         * gst/gstpad.c: Update for stream lock name change.
536
537         * gst/base/gstbasesink.c: Update for preroll lock name change.
538
539 2005-11-21  Wim Taymans  <wim@fluendo.com>
540
541         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
542         (gst_clock_get_master):
543         * gst/gstclock.h:
544         * gst/gstsystemclock.c: (gst_system_clock_init):
545         Convert Clock flags to object flags.
546         Added methods to manage master/slave clocks.
547
548 2005-11-21  Wim Taymans  <wim@fluendo.com>
549
550         * check/gst/gstsegment.c: (GST_START_TEST):
551         * docs/design/part-TODO.txt:
552         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
553         (gst_base_sink_event), (gst_base_sink_do_sync),
554         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
555         (gst_base_sink_query), (gst_base_sink_change_state):
556         * gst/base/gstbasesink.h:
557         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
558         (gst_base_src_default_newsegment),
559         (gst_base_src_configure_segment), (gst_base_src_do_seek),
560         (gst_base_src_get_range), (gst_base_src_loop),
561         (gst_base_src_change_state):
562         * gst/base/gstbasesrc.h:
563         * gst/base/gstbasetransform.c:
564         (gst_base_transform_prepare_output_buf),
565         (gst_base_transform_event), (gst_base_transform_change_state):
566         * gst/base/gstbasetransform.h:
567         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
568         (gst_collect_pads_event):
569         * gst/base/gstcollectpads.h:
570         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
571         (gst_fake_src_create):
572         * gst/elements/gstfakesrc.h:
573         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
574         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
575         (gst_segment_set_last_stop), (gst_segment_set_seek),
576         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
577         (gst_segment_to_running_time), (gst_segment_clip):
578         * gst/gstsegment.h:
579         More segment updates, replace code in plugins with segment
580         helper functions.
581
582 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
583
584         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
585         Don't ignore sscanf results
586
587 2005-11-21  Andy Wingo  <wingo@pobox.com>
588
589         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
590
591         * *.h:
592         * *.c: Ran scripts/update-macros. Oh yes.
593
594         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
595         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
596         GST_GET_LOCK, etc.
597
598         * scripts/update-macros: New script. Run it on your files to
599         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
600         well.
601
602 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
603
604         * docs/gst/Makefile.am:
605         * docs/gst/gstreamer-docs.sgml:
606         * docs/gst/gstreamer-sections.txt:
607         * docs/gst/gstreamer.types:
608         * gst/gstinfo.h:
609           more docs fixes, add new api to the docs
610
611 2005-11-21  Andy Wingo  <wingo@pobox.com>
612
613         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
614         state_broadcast call.
615
616         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
617
618 2005-11-21  Julien MOUTTE  <julien@moutte.net>
619
620         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
621         function calls for arrays.
622
623 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
624
625         * docs/random/ensonic/media-device-daemon.txt:
626           wild idea, can this be done?
627         * docs/gst/gstreamer-sections.txt:
628         * gst/gsterror.h:
629         * gst/gstfilter.c:
630         * gst/gstfilter.h:
631         * gst/gstplugin.h:
632         * gst/gstpluginfeature.c:
633         * gst/gsttrace.c:
634         * gst/gstvalue.c:
635         * gst/gstvalue.h:
636           doc fixes and additions
637
638 2005-11-21  Andy Wingo  <wingo@pobox.com>
639
640         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
641         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
642         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
643         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
644         private to the basesrc implementation.
645
646         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
647         behalf of event function if necessary. It should no longer be
648         necessary to take the stream lock in pad's event functions. Fixes
649         #320299.
650
651 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
652         * docs/gst/gstreamer-sections.txt:
653         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
654         (gst_structure_fixate_field_nearest_double),
655         (gst_structure_fixate_field_boolean):
656         * gst/gststructure.h:
657         * win32/common/libgstreamer.def:
658         * win32/gstreamer.def:
659
660         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
661         (#322027)
662
663 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
664
665         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
666         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
667         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
668         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
669         (gst_fdsrc_uri_handler_init):
670         * gst/elements/gstfdsrc.h:
671           Port fd:// URI handler from 0.8 to fdsrc
672
673 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
674
675         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
676         (gst_value_serialize_fourcc):
677         * gst/gstvalue.h:
678           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
679           consistent with our other format defines (#320324).
680
681 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
682
683         * gst/gstvalue.c: (gst_value_is_fixed):
684           Revert previous commit. Value lists are by definition
685           not fixed, as they are a list of possible values.
686
687 2005-11-21  Andy Wingo  <wingo@pobox.com>
688
689         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
690         during the stable series if we need it. Fixes #319178.
691
692         * gst/gstevent.c (gst_event_new_filler): Removed.
693
694         * check/gst/gstevent.c: Update comment about filler events.
695
696 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
697
698         * gst/gstvalue.c: (gst_value_is_fixed):
699           Should handle both value arrays and value lists.
700
701 2005-11-21  Andy Wingo  <wingo@pobox.com>
702
703         patch by: Alessandro Dessina <alessandro nnva org>
704
705         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
706         functions to access arrays. Fixes #321962.
707
708 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
709
710         * docs/gst/gstreamer.types:
711           gst_collectpads_get_type => gst_collect_pads_get_type.
712           
713         * gst/base/gstbasetransform.c:
714           Remove unused SIGNAL_HANDOFF enum.
715
716 2005-11-21  Andy Wingo  <wingo@pobox.com>
717
718         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
719         the event type (upstream, downstream, serialized). Renamed
720         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
721         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
722         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
723
724         * gst/gstevent.c: Update for new CUSTOM event names.
725
726         * check/gst/gstevent.c: Update check for new CUSTOM event names.
727
728         * gst/gstevent.h:
729         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
730         bug #319392.
731
732 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
733
734         * docs/gst/gstreamer-sections.txt:
735         * win32/common/libgstbase.def:
736         * win32/libgstbase.def:
737         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
738         (gst_collect_pads_class_init), (gst_collect_pads_init),
739         (gst_collect_pads_finalize), (gst_collect_pads_new),
740         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
741         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
742         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
743         (gst_collect_pads_start), (gst_collect_pads_stop),
744         (gst_collect_pads_peek), (gst_collect_pads_pop),
745         (gst_collect_pads_available), (gst_collect_pads_read),
746         (gst_collect_pads_flush), (gst_collect_pads_event),
747         (gst_collect_pads_chain):
748         * gst/base/gstcollectpads.h:
749           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
750           unimplemented functions as unimplemented. Add padding to
751           GstCollectData. (#320766, #320423)
752
753 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
754
755         * gst/gstmessage.c:
756           Improve docs for DURATION message (usage of duration parameter)
757           (#320113)
758
759 2005-11-20  Wim Taymans  <wim@fluendo.com>
760
761         * check/Makefile.am:
762         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
763         (main):
764         * gst/Makefile.am:
765         * gst/gst.h:
766         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
767         (gst_segment_set_seek), (gst_segment_set_newsegment),
768         (gst_segment_to_stream_time), (gst_segment_to_running_time),
769         (gst_segment_clip):
770         * gst/gstsegment.h:
771         Added segment helper structure and methods. Not fully implemented
772         yet.
773         Added segment check.
774
775 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
776
777         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
778           Add a deserialisation test for fractions
779         * examples/metadata/read-metadata.c: (message_loop),
780         (make_pipeline), (main):
781           Fix up metadata reading sample.
782         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
783           Debug format fix
784         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
785           Don't try and fixate empty caps
786         * gst/gst_private.h:
787           Wrap in G_BEGIN_DECLS/G_END_DECLS
788         * gst/gstvalue.c: (gst_value_collect_fraction),
789         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
790         (gst_value_transform_string_fraction),
791         (gst_value_compare_fraction):
792           Add some extra guards to ensure that we don't end up 
793           with an invalid denominator of 0 in a gstfraction and
794           that fractions always get reduced.
795
796 2005-11-20  Wim Taymans  <wim@fluendo.com>
797
798         * docs/gst/gstreamer-sections.txt:
799         * gst/gstbuffer.h:
800         * gst/gstelement.c:
801         * gst/gstformat.c:
802         * gst/gstformat.h:
803         * gst/gstindex.h:
804         * gst/gstquery.c:
805         * gst/gstquery.h:
806         * gst/gstvalue.c:
807         Doc fixes.
808
809 2005-11-20  Wim Taymans  <wim@fluendo.com>
810
811         * docs/design/part-TODO.txt:
812         * gst/gstcaps.h:
813         Make a proper enum of the flag.
814
815 2005-11-19  Wim Taymans  <wim@fluendo.com>
816
817         * docs/design/part-TODO.txt:
818         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
819         (gst_format_to_quark), (gst_format_register):
820         * gst/gstformat.h:
821         * gst/gstquery.c: (_gst_query_initialize),
822         (gst_query_type_get_name), (gst_query_type_to_quark),
823         (gst_query_type_register):
824         * gst/gstquery.h:
825         Add type to quark and type to string conversions.
826
827 2005-11-19  Andy Wingo  <wingo@pobox.com>
828
829         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
830         #320097.
831
832 2005-11-19  Wim Taymans  <wim@fluendo.com>
833
834         * docs/design/part-TODO.txt:
835         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
836         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
837         (gst_bin_handle_message_func):
838         * gst/gstbin.h:
839         Make message handling overridable.
840
841 2005-11-19  Andy Wingo  <wingo@pobox.com>
842
843         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
844
845         * gst/gstclock.h:
846         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
847         be a GstClockTime.
848         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
849         is a GstClockTime. Fixes #321710.
850
851         * gst/gstclock.h (GstClock): Remove offset property. Add
852         internal_calibration and external_calibration. Fix padding. Pad
853         also by GstClockTime so we don't run into problems.
854
855         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
856         (gst_clock_get_rate_offset): Remove.
857         (gst_clock_set_time_adjust): Remove. Fixes #321712.
858
859         * gst/gstutils.h:
860         * gst/gstutils.c (g_static_rec_cond_wait)
861         (g_static_rec_cond_timed_wait): Removed, no longer needed.
862
863         * gst/gstbin.c: Remove terrible continue_state prototype.
864
865         * gst/gstelement.h (gst_element_continue_state): Make public.
866
867         * gst/gstelement.h:
868         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
869         by continue_state. Fixes #319389.
870
871         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
872         Really fixes #168438. However I don't see anywhere where the
873         filter function is called... stupid GStreamer...
874         
875         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
876         don't have a dispose function, so it won't get called when the
877         object is unreffed, but oh well!
878
879         * gst/gstindex.c (gst_index_set_filter_full): New API function,
880         allows a destroy function to be set so user_data can be freed.
881         Fixes #168438.
882         (gst_index_set_filter): Call gst_index_set_filter_full.
883
884         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
885
886         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
887         string should produce an error, given the lack of a way to
888         represent NULL strings. Fixes #165650.
889         
890         * gst/gstvalue.h: 
891         * gst/gstvalue.c (gst_value_array_append_value) 
892         (gst_value_array_prepend_value, gst_value_array_get_size) 
893         (gst_value_array_get_value): New API, copied from
894         gst_value_list_*, only operates on arrays.
895         (gst_value_list_append_value, gst_value_list_prepend_value) 
896         (gst_value_list_concat, gst_value_list_get_size) 
897         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
898
899         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
900         init_list, because it works on both.
901         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
902         (gst_value_copy_list_or_array): Renamed from copy_list.
903         (gst_value_free_list_or_array): Renamed from free_list.
904         (gst_value_collect_list_or_array): Renamed from collect_list.
905         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
906         (gst_value_list_or_array_peek_pointer): Renamed from
907         list_peek_pointer.
908         (_gst_value_array_value_table, _gst_value_list_value_table):
909         Update value table functions.
910         (gst_value_compare_list_or_array): Renamed from compare_list.
911
912         * gsttaglist.h: Whoops, foreach function returns void. Also fix
913         some constness.
914
915         * gst/gsttaglist.c:
916         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
917         GstTagList*. Fixes #143472.
918
919         * gst/gststructure.h: Clarify what the foreach/map functions can
920         or can't do to their arguments.
921
922 2005-11-18  Wim Taymans  <wim@fluendo.com>
923
924         * gst/gstclock.c: (gst_clock_set_calibration),
925         (gst_clock_get_calibration):
926         Doc and API fixes.
927         Calibration can be set with internal time equal to current
928         internal time too.
929
930 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
931
932         * gst/gsterror.c:
933         * gst/gsterror.h:
934           document
935
936 2005-11-18  Andy Wingo  <wingo@pobox.com>
937
938         * configure.ac: 
939         * pkgconfig/gstreamer-net.pc.in:
940         * pkgconfig/gstreamer-net-uninstalled.pc.in:
941         * pkgconfig/Makefile.am: Add net pkgconfig files.
942
943 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
944
945         * gst/gstcaps.c:
946         * gst/gstghostpad.c:
947         * gst/gsttrace.c:
948         * gst/gstvalue.c:
949         * gst/gstvalue.h:
950           docs fixes
951
952 2005-11-18  Andy Wingo  <wingo@pobox.com>
953
954         * gst/net/gstnetclientclock.c: Turn off debugging.
955
956         * check/net/gstnetclientclock.c (test_functioning): Assert that the
957         times connverge somewhat. Can't make a real test.
958
959         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
960         integer arithmetic. Return the minimum of the domain, which can be
961         set as "internal" for gst_clock_set_calibration.
962         (gst_net_client_clock_observe_times): Call _set_calibration.
963         (gst_net_client_clock_new): Call _set_calibration instead of
964         rate_offset.
965
966         * check/net/gstnetclientclock.c (test_functioning): Use the right
967         adjustment api.
968
969         * gst/gstclock.h:
970         * gst/gstclock.c (gst_clock_get_calibration) 
971         (gst_clock_set_calibration): New functions, obsolete the ones I
972         added yesterday. Doh. Precision issues mean we have to extrapolate
973         from a point in the more recent past than 1970.
974         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
975         obsolete.
976         (gst_clock_adjust_unlocked): Use the right calibration data.
977
978 2005-11-18  Edward Hervey  <edward@fluendo.com>
979
980         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
981         Also reset the ->current_* values in READY->PAUSED
982
983 2005-11-18  Andy Wingo  <wingo@pobox.com>
984
985         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
986         Whoops, check the right fd. Also add some debugging.
987         (gst_net_client_clock_observe_times): Adjust for int64 offset.
988         (do_linear_regression): Add a crapload of debugging. Subtract off
989         the minimum values from the input series to discard unneeded bits.
990         Use only int arithmetic. There is still double arithmetic when
991         calculating the intercept that needs fixing. Return boolean to
992         indicate success; FALSE would mean the domain or range is too
993         great. Still needs fixes.
994
995 2005-11-18  Wim Taymans  <wim@fluendo.com>
996
997         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
998         For the current position in stream time, we need to subtract
999         accumulated time.
1000         
1001         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1002         Release lock before calling the callback function of async
1003         entries.
1004
1005 2005-11-18  Andy Wingo  <wingo@pobox.com>
1006
1007         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1008         Port goes all the way to MAXUINT16.
1009
1010         * gst/net/gstnettimeprovider.c: Make the port range the same as
1011         for the kernel: 0 assigns, otherwise ports are less than
1012         MAXUINT16.
1013
1014         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1015         port change.
1016
1017         * check/net/gstnetclientclock.c (test_functioning): Add the start
1018         of another test. 
1019
1020 2005-11-18  Wim Taymans  <wim@fluendo.com>
1021
1022         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1023         (gst_bin_remove_func), (bin_bus_handler):
1024         * gst/gstbin.h:
1025         Removing a clock provider from a bin, triggers a clock lost message
1026         so that a new clock will be selected.
1027         Adding a clock to a bin triggers a clock provider message.
1028         Make sure we reselect a clock when we received a clock lost message.
1029         Keep a reference to the element that provided the clock.
1030
1031 2005-11-18  Andy Wingo  <wingo@pobox.com>
1032
1033         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1034         the clock initially so it produces values around the base time.
1035         (gst_net_client_clock_class_init): Typo fix.
1036         (gst_net_client_clock_thread): Add note on when the socket gets
1037         closed.
1038
1039 2005-11-17  Wim Taymans  <wim@fluendo.com>
1040
1041         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1042         Free remote and local time arrays.
1043
1044 2005-11-17  Wim Taymans  <wim@fluendo.com>
1045
1046         * gst/net/gstnetclientclock.c: (do_linear_regression),
1047         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1048         Fix compilation, uninitialized vars and a forgotten continue.
1049
1050 2005-11-17  Andy Wingo  <wingo@pobox.com>
1051
1052         * check/Makefile.am (check_PROGRAMS): 
1053         * check/net/gstnetclientclock.c: Add a most minimal test for the
1054         net client clock. More to come later.
1055
1056         * gst/net/gstnet.h: 
1057         * gst/net/Makefile.am: Add netclientclock.
1058
1059         * gst/net/gstnetclientclock.h:
1060         * gst/net/gstnetclientclock.c: New files, implement an untested
1061         GstClock that takes its time from a network time provider.
1062         Implements the algorithm in network-clock.scm.
1063
1064         * tests/network-clock.scm (*window-size*): Rename from
1065         *queue-length*.
1066         * tests/network-clock.scm (network-time): 
1067         * tests/network-clock-utils.scm (q-push): Update callers.
1068
1069 2005-11-17  Wim Taymans  <wim@fluendo.com>
1070
1071         * gst/gstbin.c: (gst_bin_provide_clock_func),
1072         (gst_bin_sort_iterator_new):
1073         And unref the child too..
1074
1075 2005-11-17  Wim Taymans  <wim@fluendo.com>
1076
1077         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1078         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1079         Refactor the sort iterator so it can be used while holding the
1080         LOCK too.
1081         Make clock selection select a clock closest to the source.
1082
1083 2005-11-17  Michael Smith <msmith@fluendo.com>
1084
1085         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1086         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1087         * gst/gstclock.h:
1088           Anonymous structs are a gcc (and some other compilers) extension, so
1089           don't use them. Since this is only for ABI-compatibility, and our
1090           API/ABI freeze is over in a few days, this whole thing will only
1091           last a few days, so don't bother trying to think up a meaningful
1092           name for the struct.
1093
1094 2005-11-17  Andy Wingo  <wingo@pobox.com>
1095
1096         * gst/gstclock.h (GstClock): Add rate and offset properties,
1097         preserving ABI stability. Add rate/offset accessors. Will file bug
1098         for the freeze break.
1099
1100         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1101         and offset, trying to keep precision and avoiding
1102         underflow/overflow.
1103         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1104         functions. Make gst_clock_set_time_adjust obsolete.
1105         (gst_clock_set_time_adjust): Note that this function is obsolete.
1106         Will file bug soon.
1107
1108         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1109         greppable by using GST_PADDING-1+1.
1110
1111 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1112
1113         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1114
1115         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1116           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1117
1118         * gst/gstpadtemplate.h:
1119         * gst/gstpluginfeature.h:
1120           Don't use c++ style comments in headers (#321638).
1121
1122 2005-11-16  Andy Wingo  <wingo@pobox.com>
1123
1124         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1125         buffer.
1126
1127         * check/net/gstnettimeprovider.c: Check to see that the time
1128         provider actually provides times. Works, yo!
1129
1130 2005-11-16  Wim Taymans  <wim@fluendo.com>
1131
1132         * check/Makefile.am:
1133         Enable more tests.
1134
1135         * check/elements/fakesrc.c: (GST_START_TEST):
1136         Set element to NULL before disposing it.
1137
1138 2005-11-16  Andy Wingo  <wingo@pobox.com>
1139
1140         * gst/net/Makefile.am:
1141         * gst/net/gstnet.h:
1142         * gst/net/gstnettimeprovider.c: 
1143         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1144         provider, include it from gstnet.h, and add it to the build.
1145
1146         * gst/net/gstnettimepacket.h: 
1147         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1148         sending and receiving.
1149
1150 2005-11-16  Wim Taymans  <wim@fluendo.com>
1151
1152         * check/Makefile.am:
1153         Enable valgrind check.
1154
1155         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1156         (gst_fake_src_alloc_buffer):
1157         Fix memleak.
1158
1159 2005-11-16  Wim Taymans  <wim@fluendo.com>
1160
1161         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1162         Call parent finalize too.
1163
1164 2005-11-16  Wim Taymans  <wim@fluendo.com>
1165
1166         * check/Makefile.am:
1167         Enable valgrind check that should work fine now.
1168
1169         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1170         * gst/gstqueue.c: (gst_queue_init):
1171         Fix memleaks in pad allocation.
1172
1173 2005-11-16  Andy Wingo  <wingo@pobox.com>
1174
1175         * gst/net/Makefile.am:
1176         * gst/net/gstnet.h: New part of core to hold network elements and
1177         objects. Put in core because it exposes API that applications want
1178         to use. The library is named libgstnet-tempname right now because
1179         of the existing libgstnet in gst-plugins-base. Solution is
1180         probably to rename the one in plugins-base; will file a bug for
1181         the freeze break.
1182
1183         * gst/net/gstnettimeprovider.c: 
1184         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1185         get_time call over the network.
1186
1187         * configure.ac: 
1188         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1189
1190         * check/Makefile.am:
1191         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1192         get additions shortly.
1193
1194 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1195
1196         * gst/gstpad.c: (gst_pad_new_from_static_template):
1197         * gst/gstpad.h:
1198           add gst_pad_new_from_static_template functions
1199         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1200         (gst_check_setup_sink_pad):
1201         * gst/elements/gsttee.c: (gst_tee_init):
1202           and use them
1203
1204 2005-11-16  Wim Taymans  <wim@fluendo.com>
1205
1206         * gst/gstpad.c: (gst_pad_pause_task):
1207         Removed warning, it's not really an error either.
1208
1209 2005-11-16  Wim Taymans  <wim@fluendo.com>
1210
1211         * gst/base/gstbasetransform.c:
1212         (gst_base_transform_prepare_output_buf),
1213         (gst_base_transform_event):
1214         Check if the caps are NULL, this can happen if the element
1215         is shutting down and the pad caps are set to NULL.
1216
1217 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1218
1219         * gst/elements/gsttee.c: (gst_tee_init):
1220           fix pad template leak in tee
1221
1222 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1223
1224         * gst/glib-compat.c: (g_value_dup_gst_object):
1225         * gst/glib-compat.h:
1226         * gst/gstpad.c: (gst_pad_set_property):
1227           use gst_object_ref when setting the pad template; this will
1228           trigger the pad template leaks on GLib 2.6 and the slaves
1229
1230 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1231
1232         * gst/glib-compat.c: (gst_flags_get_first_value):
1233         * gst/glib-compat.h:
1234         * gst/gstregistryxml.c:
1235           remove functions copied from GLib 2.6
1236
1237 2005-11-16  Michael Smith <msmith@fluendo.com>
1238
1239         * gst/Makefile.am:
1240           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1241           do, but only breaks with newer valgrind versions. We're not a
1242           valgrind tool, we have no link-time dependencies on libcoregrind.
1243
1244 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1247           some debug changes
1248         * gst/gstmessage.h:
1249           typo fixes
1250
1251 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1252
1253         * gst/base/gstbasesrc.c: (gst_base_src_init):
1254         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1255         * gst/gstqueue.c: (gst_queue_init):
1256         * gst/gstregistryxml.c: (load_feature):
1257           Revert all these unrefs, they don't even pass make check !
1258
1259 2005-11-15  Johan Dahlin  <johan@gnome.org>
1260
1261         * gst/base/gstbasesrc.c: (gst_base_src_init):
1262         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1263         * gst/gstqueue.c: (gst_queue_init): 
1264         Free pad templates, fixes a couple of leaks.
1265
1266 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1267
1268         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1269
1270         * gst/gstpad.c: (gst_pad_get_property):
1271           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1272           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1273           (#321452)
1274
1275 2005-11-15  Wim Taymans  <wim@fluendo.com>
1276
1277         * gst/gstevent.c:
1278         Small doc update.
1279
1280 2005-11-15  Andy Wingo  <wingo@pobox.com>
1281
1282         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1283
1284         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1285         using GST_CLOCK_TIME_NONE to disable base time management.
1286         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1287         time if it was NONE before.
1288         (gst_pipeline_change_state): Only munge the base time if
1289         stream_time != GST_CLOCK_TIME_NONE.
1290
1291         * check/gst/gstpipeline.c (test_base_time): Punt around the
1292         problem of the probe not being called, because that's not the
1293         issue I'm looking at. Add a check that setting stream_time to NONE
1294         disables base time management.
1295         
1296 2005-11-15  Wim Taymans  <wim@fluendo.com>
1297
1298         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1299         segment_stop == -1 at startup.
1300
1301         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1302         (gst_base_transform_change_state):
1303         Init segment values at start.
1304
1305 2005-11-15  Wim Taymans  <wim@fluendo.com>
1306
1307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1308         0 segment values are 0 in any format.
1309
1310         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1311         * gst/base/gstbasetransform.h:
1312         Parse newsegment correctly in basetransform
1313
1314         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1315         Sync to clock using updated segment values.
1316
1317 2005-11-15  Andy Wingo  <wingo@pobox.com>
1318
1319         * check/gst/gstpipeline.c (test_base_time): Add check that the
1320         base time and stream time are reset correctly.
1321
1322 2005-11-15  Wim Taymans  <wim@fluendo.com>
1323
1324         * docs/design/part-TODO.txt:
1325         Some more TODO items.
1326
1327 2005-11-15  Andy Wingo  <wingo@pobox.com>
1328
1329         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1330         error if the user selected "no clock" as the clocking method.
1331
1332         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1333         timestamps with live capture.
1334
1335         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1336         is 0 but we are a live source, timestamp the buffers using the
1337         element's clock.
1338
1339 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1340
1341         * docs/gst/gstreamer-sections.txt:
1342         * gst/gsterror.c:
1343         * gst/gstghostpad.c:
1344         * gst/gstobject.h:
1345         * gst/gstxml.c:
1346           more section docs
1347
1348 2005-11-14  Wim Taymans  <wim@fluendo.com>
1349
1350         * common/gst.supp:
1351           add suppressions from Wim's Debian machine
1352
1353 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1354
1355         * common/gst.supp:
1356           add suppressions from Andy's AMD64 Ubuntu machine
1357
1358 2005-11-14  Andy Wingo  <wingo@pobox.com>
1359
1360         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1361         STATE_LOCK not necessary. Fixes #311489.
1362
1363         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1364         #305291.
1365
1366         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1367         this function is not implemented.
1368
1369 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1370
1371         * gst/base/gstbasetransform.c:
1372         (gst_base_transform_prepare_output_buf):
1373         Ref the source pad caps while we need them.
1374         Fixes (#321386)
1375
1376 2005-11-11  Wim Taymans  <wim@fluendo.com>
1377
1378         * docs/gst/gstreamer-sections.txt:
1379         Added some docs for GstCollectData.
1380
1381         * gst/base/gstadapter.c:
1382         Some small code example fix.
1383
1384         * gst/base/gstcollectpads.c:
1385         * gst/base/gstcollectpads.h:
1386         Document some more.
1387
1388 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1389
1390         * configure.ac: back to HEAD
1391
1392 === release 0.9.5 ===
1393
1394 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1395
1396         * configure.ac:
1397           releasing 0.9.5, "Bike Lunch Day"
1398
1399 2005-11-11  Wim Taymans  <wim@fluendo.com>
1400
1401         * gst/gstbuffer.c: (_gst_buffer_copy):
1402         Copy more flags.
1403
1404         * gst/gstcaps.c: (gst_caps_is_equal):
1405         Fix some docs.
1406         Make _is_equal fast in the trivial cases.
1407
1408         * gst/gstminiobject.c:
1409         * gst/gstminiobject.h:
1410         More docs. Spifify .h file.
1411
1412         * gst/gstutils.c:
1413         Small doc update.
1414
1415 2005-11-11  Wim Taymans  <wim@fluendo.com>
1416
1417         * gst/base/gstbasetransform.c:
1418         (gst_base_transform_prepare_output_buf),
1419         (gst_base_transform_handle_buffer):
1420         Small cleanups.
1421         If we're processing a buffer and need to allocate an output
1422         buffer, we cannot accept a format change. If we did get a 
1423         format change, we have to alloc a buffer ourselves of the 
1424         right size.
1425
1426 2005-11-11  Wim Taymans  <wim@fluendo.com>
1427
1428         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1429         While checking the flag for reentrancy in the gstcaps function
1430         is nice to detect recursive invocations, it also makes it 
1431         impossible to call getcaps from multiple threads, which must be
1432         possible. So, checking for recursive calls has to go.
1433
1434 2005-11-11  Michael Smith <msmith@fluendo.com>
1435
1436         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1437           Don't sync on buffers that fall partially outside our current
1438           segment. Prevents an assertion failure/abort playing some files.
1439
1440 2005-11-10  Andy Wingo  <wingo@pobox.com>
1441
1442         * check/gst/gstbin.c (test_message_state_changed_children): Style
1443         fix..
1444
1445         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1446         gst_bus_poll with the signal watch. Ensures that poll and a signal
1447         watch see the same messages.
1448
1449         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1450         a poll and a watch at the same time get the same messages.
1451
1452 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1453
1454         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1455         * gst/gstcaps.c: (gst_caps_intersect):
1456           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1457           and it's not needed.
1458
1459 2005-11-10  Wim Taymans  <wim@fluendo.com>
1460
1461         * docs/design/part-TODO.txt:
1462         Updated todo.
1463
1464 2005-11-10  Wim Taymans  <wim@fluendo.com>
1465
1466         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1467         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1468         (gst_base_src_do_sync), (gst_base_src_get_range):
1469         Implement clock sync in base class.
1470
1471 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1472
1473         patch by: Tim-Philipp Müller <tim at centricular dot net>
1474
1475         * gst/gststructure.c: (gst_structure_parse_field),
1476         (gst_structure_from_string):
1477           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1478           so that gst_parse_launch() can deal with spaces in filtered link
1479           caps (fixes #164479)
1480         * check/gst/capslist.h:
1481         * check/gst/gststructure.c: (GST_START_TEST):
1482           add unit tests for this change
1483
1484 2005-11-10  Wim Taymans  <wim@fluendo.com>
1485
1486         * docs/gst/gstreamer-sections.txt:
1487         * gst/gstelement.c:
1488         * gst/gstelement.h:
1489         Fix docs, move some STATE macros to private.
1490
1491 2005-11-10  Wim Taymans  <wim@fluendo.com>
1492
1493         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1494         Added check for bug #317341
1495
1496         * gst/gstbuffer.c:
1497         * gst/gstbuffer.h:
1498         Some more spiffifying.
1499
1500         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1501         Call peer linkfunction if we are a source pad. Totally fixes
1502         #317341
1503
1504         * gst/gstpad.c:
1505         Update docs, source pads should call the peer linkfunction
1506         so they can atomically perform the pad link.
1507
1508 2005-11-09  Wim Taymans  <wim@fluendo.com>
1509
1510         * gst/gstbuffer.c:
1511         * gst/gstbuffer.h:
1512         Uber-spiffy-spiffify some more.
1513
1514 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1515
1516         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1517         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1518         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1519         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1520         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1521         * gst/gstpad.c: (gst_pad_init):
1522           Use GST_DEBUG_FUNCPTR() more extensively.
1523
1524 2005-11-09  Wim Taymans  <wim@fluendo.com>
1525
1526         * gst/gstobject.c: (gst_object_class_init):
1527         * gst/gstobject.h:
1528         Documentation fixes.
1529
1530 2005-11-09  Edward Hervey  <edward@fluendo.com>
1531
1532         * gst/gsttypefindfactory.c:
1533         Fix docs.
1534         
1535 2005-11-09  Edward Hervey  <edward@fluendo.com>
1536
1537         * gst/base/gsttypefindhelper.c:
1538         * gst/gsttypefind.c:
1539         * gst/gsttypefind.h:
1540         Fix docs.
1541
1542 2005-11-09  Wim Taymans  <wim@fluendo.com>
1543
1544         * gst/gstiterator.c:
1545         Fix revision data.
1546
1547         * gst/gsttask.c:
1548         * gst/gsttask.h:
1549         Fix docs.
1550
1551 2005-11-09  Wim Taymans  <wim@fluendo.com>
1552
1553         * gst/gstevent.h:
1554         * gst/gsturi.h:
1555         Fix docs.
1556
1557 2005-11-09  Wim Taymans  <wim@fluendo.com>
1558
1559         * docs/gst/gstreamer-sections.txt:
1560         Moved the message async delivery private lock and cond
1561         to the private section.
1562
1563         * gst/gstmessage.c:
1564         * gst/gstmessage.h:
1565         Fixed docs.
1566
1567 2005-11-09  Edward Hervey  <edward@fluendo.com>
1568
1569         * docs/gst/gstreamer-sections.txt:
1570         * gst/gsturi.c:
1571         * gst/gsturi.h:
1572         Document GstURIHandler
1573
1574 2005-11-09  Wim Taymans  <wim@fluendo.com>
1575
1576         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1577         (gst_iterator_find_custom):
1578         * gst/gstiterator.h:
1579         Fix iterator docs.
1580
1581 2005-11-09  Wim Taymans  <wim@fluendo.com>
1582
1583         * gst/gstbin.h:
1584         Document another field.
1585
1586         * gst/gststructure.c:
1587         * gst/gststructure.h:
1588         Document.
1589
1590 2005-11-09  Wim Taymans  <wim@fluendo.com>
1591
1592         * gst/gstbin.h:
1593         Documented structs.
1594
1595 2005-11-09  Wim Taymans  <wim@fluendo.com>
1596
1597         * docs/gst/gstreamer-sections.txt:
1598         Added some new macros.
1599
1600         * gst/gstclock.c:
1601         * gst/gstclock.h:
1602         * gst/gstobject.h:
1603         Docs updates.
1604
1605 2005-11-09  Wim Taymans  <wim@fluendo.com>
1606
1607         * docs/design/part-TODO.txt:
1608         Some more items for the TODO
1609
1610         * gst/gstcaps.c:
1611         * gst/gstcaps.h:
1612         Document GstCaps.
1613
1614 2005-11-09  Andy Wingo  <wingo@pobox.com>
1615
1616         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1617         to work on something else now tho...
1618
1619         * gst/base/gstadapter.c: More adapter docs.
1620
1621         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1622         (gst_file_sink_stop): New functions, replace the state change
1623         handler.
1624         (gst_file_sink_class_init): Hook up the start and stop functions.
1625         (gst_file_sink_base_init): Don't set the state change handler any
1626         more. It was a bit ugly too, being set from here...
1627         (gst_file_sink_get_property, gst_file_sink_set_property):
1628         Cleanups...
1629         (gst_file_sink_set_location): More robust check that doesn't call
1630         GST_STATE. Ugggggg.
1631
1632 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1633
1634         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1635           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1636
1637 2005-11-08  Wim Taymans  <wim@fluendo.com>
1638
1639         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1640         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1641         (gst_base_sink_chain), (gst_base_sink_change_state):
1642         * gst/base/gstbasesink.h:
1643         * gst/base/gstbasesrc.h:
1644         * gst/gstelement.h:
1645         * gst/gstevent.h:
1646         Avoid excessive typechecking in macros.
1647
1648         * gst/gstminiobject.c: (gst_mini_object_get_type),
1649         (gst_mini_object_init), (gst_mini_object_new),
1650         (gst_mini_object_free):
1651         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1652         (gst_object_finalize):
1653         Remove cruft code, optimize alloc_trace.
1654
1655 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1656
1657         * docs/faq/gst-uninstalled:
1658           fix up PS1 for systems that try to reset it
1659
1660 2005-11-07  Wim Taymans  <wim@fluendo.com>
1661
1662         * gst/base/gstbasesrc.c: (gst_base_src_init),
1663         (gst_base_src_get_range):
1664         Set the segment_end to -1 initially. Fixed typefind.
1665
1666 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1667
1668         * gst/base/gstadapter.c:
1669           Debug category should be 'adapter', not 'GstAdapter'.
1670           
1671         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1672         (gst_collectpads_class_init), (gst_collectpads_init),
1673         (gst_collectpads_peek), (gst_collectpads_pop),
1674         (gst_collectpads_event), (gst_collectpads_chain):
1675           Add debug category and some debugging output. Use boilerplate
1676           macros. Remove some extraneous words from docs.
1677
1678 2005-11-05  Andy Wingo  <wingo@pobox.com>
1679
1680         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1681         macro.
1682
1683 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1684
1685         * docs/gst/gstreamer-sections.txt:
1686         * gst/gstcaps.h:
1687         * gst/gstinfo.c:
1688         * gst/gstminiobject.h:
1689         * gst/gstobject.h:
1690         * gst/gstutils.h:
1691           more docs added
1692
1693 2005-11-04  Wim Taymans  <wim@fluendo.com>
1694
1695         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1696         Small update to stop at the configured segment_end
1697         position.
1698
1699 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1700
1701         * gst/gstregistry.c:
1702         * gst/gstregistry.h:
1703           added missing docs
1704
1705 2005-11-04  Edward Hervey  <edward@fluendo.com>
1706
1707         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1708         Check if we are doing a segment seek and have arrived at the
1709         end of that segment.
1710
1711 2005-11-04  Wim Taymans  <wim@fluendo.com>
1712
1713         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1714         Don't leak a mutex unlock in case of an error.
1715
1716         * gst/gstbus.h:
1717         Doc fixes.
1718
1719 2005-11-04  Wim Taymans  <wim@fluendo.com>
1720
1721         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1722         (gst_bus_post):
1723         Get the context to wake up only once.
1724
1725 2005-11-03  Wim Taymans  <wim@fluendo.com>
1726
1727         * check/states/sinks.c: (GST_START_TEST):
1728         Uncomment fixed check.
1729
1730         * docs/design/part-TODO.txt:
1731         Updated TODO.
1732
1733         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1734         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1735         (gst_base_sink_get_position):
1736         If we are going to PLAYING, post the right pending state
1737         when we post the intermediate paused message.
1738
1739         * gst/gstelement.c: (gst_element_continue_state),
1740         (gst_element_set_state_func), (gst_element_change_state):
1741         Don't post state changes that were between the same state
1742         and were not ASYNC.
1743
1744 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1745
1746         * docs/gst/gstreamer-sections.txt:
1747         * gst/gstcaps.h:
1748         * gst/gstinfo.c:
1749         * gst/gstminiobject.h:
1750         * gst/gstobject.h:
1751         * gst/gstutils.h:
1752           more docs and doc style fixes
1753
1754 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1755
1756         * docs/gst/gstreamer-sections.txt:
1757         * gst/gstelement.c:
1758         * gst/gstminiobject.c:
1759         doc fixes
1760
1761 2005-11-03  Andy Wingo  <wingo@pobox.com>
1762
1763         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1764         state-changed messages actually have the right order and the right
1765         values.
1766
1767 2005-11-03  Wim Taymans  <wim@fluendo.com>
1768
1769         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1770         Added some more checks. Specifically the case where NO_PREROLL
1771         elements are in the pipeline.
1772
1773         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1774         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1775         (gst_base_sink_get_position):
1776         Post READY->PAUSED state change messages too.
1777         Fix bug where VOID was posted as pending state...
1778
1779         * gst/gstbin.c: (gst_bin_recalc_state):
1780         use _element_continue_state() to continue the state change.
1781
1782         * gst/gstelement.c: (gst_element_continue_state),
1783         (gst_element_commit_state), (gst_element_set_state_func),
1784         (gst_element_change_state), (gst_element_change_state_func):
1785         Lots of state change cleanups, assign the STATE_RETURN in
1786         a new continue_state() function that also propagates the
1787         last return value from a state change to the app.
1788         Update some debug statements with proper category.
1789
1790 2005-11-03  Wim Taymans  <wim@fluendo.com>
1791
1792         * docs/design/part-events.txt:
1793         * docs/design/part-gstpipeline.txt:
1794         * docs/design/part-messages.txt:
1795         * docs/design/part-overview.txt:
1796         * docs/design/part-seeking.txt:
1797         * docs/design/part-states.txt:
1798         * docs/design/part-trickmodes.txt:
1799         * docs/manual/advanced-position.xml:
1800         Small docs updates.
1801
1802         * gst/gstobject.h:
1803         People think !! is ugly, this looks better.
1804
1805         * gst/gstpad.c: (gst_pad_set_blocked_async):
1806         Remove !! since it's fixed elsewhere now.
1807
1808 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1809
1810         * gst/gstminiobject.h:
1811         * gst/gstobject.h:
1812           Add !! to _FLAG_IS_SET macros to make the result boolean.
1813
1814 2005-11-03  Edward Hervey  <edward@fluendo.com>
1815
1816         * gst/gstpad.c: (gst_pad_set_blocked_async):
1817         comparing a flag and a gboolean rarely returns coherent results...
1818         Added two characters (!!) to make that work correctly.
1819         
1820 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1821
1822         * gst/gstbus.c: (gst_bus_class_init):
1823           Fix some typos.
1824           
1825         * gst/gstqueue.c: (gst_queue_loop):
1826           Don't assume a miniobject that isn't a buffer is an
1827           event (it could be that there is a refcounting
1828           problem somewhere and the pointer is stale and
1829           refers to an already destroyed miniobject).
1830
1831 2005-11-03  Julien MOUTTE  <julien@moutte.net>
1832
1833         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1834
1835 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1836
1837         * docs/manual/advanced-position.xml:
1838           Update seek example and explanations to current 0.9 API.
1839
1840         * gst/elements/gsttypefindelement.c:
1841         (gst_type_find_element_activate):
1842           Remove FIXME comment now that the found caps
1843           are unreffed.
1844
1845 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1846
1847         * gst/gstregistryxml.c: (load_feature):
1848           Add another GST_STR_NULL instance
1849
1850 2005-11-02  Edward Hervey  <edward@fluendo.com>
1851
1852         * gst/gstpad.c: (handle_pad_block):
1853         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
1854         
1855 2005-11-02  Wim Taymans  <wim@fluendo.com>
1856
1857         * gst/gstbin.c:
1858         Fix typo in docs.
1859
1860         * gst/gstelement.c: (gst_element_commit_state):
1861         Remove unused value.
1862
1863         * gst/gstiterator.c:
1864         Mention that the returned element is reffed in the docs.
1865
1866 2005-11-02  Wim Taymans  <wim@fluendo.com>
1867
1868         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
1869         (gst_pad_push), (gst_pad_push_event):
1870         Unlock blocked pads when they are flushed.
1871
1872 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1873
1874         * docs/README:
1875         * docs/gst/gstreamer-sections.txt:
1876         * gst/gstbin.c:
1877           doc updates
1878         * gst/gstregistry.c: (gst_registry_scan_path_level):
1879           fix for a nasty little missed situation where an installed plug-in
1880           which was in the cache did not get overridden by an uninstalled one
1881           which was earlier in the plugin path because the newly created plugin
1882           for the uninstalled one (not in the registry) didn't get its
1883           ->registered set to TRUE
1884
1885 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1886
1887         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
1888         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
1889         (gst_collectpads_is_active), (gst_collectpads_collect),
1890         (gst_collectpads_collect_range), (gst_collectpads_start),
1891         (gst_collectpads_stop), (gst_collectpads_peek),
1892         (gst_collectpads_pop), (gst_collectpads_available),
1893         (gst_collectpads_read), (gst_collectpads_flush):
1894           Guard public API with assertions.
1895         
1896         * gst/gstpad.c:
1897           Fix docs for gst_pad_set_link_function().
1898
1899 2005-11-02  Johan Dahlin  <johan@gnome.org>
1900
1901         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
1902         Unref found_caps after we used it.
1903
1904 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1905
1906         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
1907           Don't try to ref NULL.
1908
1909 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         * win32/common/config.h.in:
1912           provide a GST_FUNCTION that just gives a string for now
1913
1914 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1915
1916         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1917         (gst_object_flags_get_type), (register_gst_bin_flags),
1918         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1919         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1920         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1921         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
1922         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1923         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1924         (gst_clock_flags_get_type), (register_gst_state),
1925         (gst_state_get_type), (register_gst_state_change_return),
1926         (gst_state_change_return_get_type), (register_gst_state_change),
1927         (gst_state_change_get_type), (register_gst_element_flags),
1928         (gst_element_flags_get_type), (register_gst_core_error),
1929         (gst_core_error_get_type), (register_gst_library_error),
1930         (gst_library_error_get_type), (register_gst_resource_error),
1931         (gst_resource_error_get_type), (register_gst_stream_error),
1932         (gst_stream_error_get_type), (register_gst_event_type),
1933         (gst_event_type_get_type), (register_gst_seek_type),
1934         (gst_seek_type_get_type), (register_gst_seek_flags),
1935         (gst_seek_flags_get_type), (register_gst_format),
1936         (gst_format_get_type), (register_gst_index_certainty),
1937         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1938         (gst_index_entry_type_get_type),
1939         (register_gst_index_lookup_method),
1940         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1941         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1942         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1943         (gst_index_flags_get_type), (register_gst_debug_level),
1944         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1945         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1946         (gst_iterator_result_get_type), (register_gst_iterator_item),
1947         (gst_iterator_item_get_type), (register_gst_message_type),
1948         (gst_message_type_get_type), (register_gst_mini_object_flags),
1949         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1950         (gst_pad_link_return_get_type), (register_gst_flow_return),
1951         (gst_flow_return_get_type), (register_gst_activate_mode),
1952         (gst_activate_mode_get_type), (register_gst_pad_direction),
1953         (gst_pad_direction_get_type), (register_gst_pad_flags),
1954         (gst_pad_flags_get_type), (register_gst_pad_presence),
1955         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1956         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1957         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1958         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1959         (gst_plugin_flags_get_type), (register_gst_rank),
1960         (gst_rank_get_type), (register_gst_query_type),
1961         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1962         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1963         (gst_tag_flag_get_type), (register_gst_task_state),
1964         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1965         (gst_alloc_trace_flags_get_type),
1966         (register_gst_type_find_probability),
1967         (gst_type_find_probability_get_type), (register_gst_uri_type),
1968         (gst_uri_type_get_type), (register_gst_parse_error),
1969         (gst_parse_error_get_type):
1970         * win32/common/gstversion.h:
1971           update win32 copies
1972
1973 2005-11-01  Luca Ognibene  <luogni@tin.it>
1974
1975         * gst/gst.c:
1976           fix docs. popt is dead, long live GOption.
1977
1978 2005-10-31  Wim Taymans  <wim@fluendo.com>
1979
1980         * gst/gstbuffer.h:
1981         Small doc fix.
1982
1983 2005-10-31  Andy Wingo  <wingo@pobox.com>
1984
1985         * Boo!
1986
1987         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
1988
1989         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
1990         need to serialize property notifications on GLib 2.8. GLib 2.6 has
1991         the possibility of deadlocks here if code calling notify() or
1992         set() has a lock that can be taken in another notify handler (ABBA
1993         with class lock and e.g. python GIL state lock).
1994
1995 2005-10-28  Julien MOUTTE  <julien@moutte.net>
1996
1997         * gst/gstbus.c: Doc updates.
1998
1999 2005-10-28  Wim Taymans  <wim@fluendo.com>
2000
2001         * docs/design/part-TODO.txt:
2002         * gst/gstiterator.c:
2003         * gst/gstsystemclock.c:
2004         * gst/gstsystemclock.h:
2005         Doc updates.
2006
2007 2005-10-28  Edward Hervey  <edward@fluendo.com>
2008
2009         * docs/gst/gstreamer-docs.sgml:
2010         * docs/gst/gstreamer-sections.txt:
2011         the GstURIType documentation page is private, it only defines GstURIType
2012         which should be defined in the GstURIHandler page
2013         
2014 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2015
2016         * gst/gstbin.c: (gst_bin_class_init):
2017         * gst/gstbin.h:
2018         * gst/gstutils.c:
2019         Documentation updates.
2020
2021 2005-10-28  Wim Taymans  <wim@fluendo.com>
2022
2023         * docs/gst/gstreamer-sections.txt:
2024         * gst/gstclock.c:
2025         * gst/gstclock.h:
2026         Documented the clocks.
2027
2028 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2029
2030         * docs/gst/gstreamer-sections.txt:
2031           move some macros to private sections
2032         * gst/gstminiobject.c:
2033         * gst/gstminiobject.h:
2034           add descriptions provided by ds and some more
2035         * gst/gstpad.h:
2036           mark macro as to be removed
2037
2038 2005-10-28  Wim Taymans  <wim@fluendo.com>
2039
2040         * docs/design/part-TODO.txt:
2041         Add an item to TODO.
2042
2043         * gst/gstiterator.c: (gst_iterator_fold),
2044         (gst_iterator_find_custom):
2045         * gst/gstiterator.h:
2046         Add iterator docs.
2047
2048 2005-10-28  Wim Taymans  <wim@fluendo.com>
2049
2050         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2051         (gst_base_transform_init):
2052         Don't leak class.
2053
2054         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2055         An EOS event marks the queue as completely filled.
2056
2057 2005-10-27  Wim Taymans  <wim@fluendo.com>
2058
2059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2060         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2061         Some more debugging.
2062
2063         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2064         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2065         (gst_base_transform_event), (gst_base_transform_getrange),
2066         (gst_base_transform_chain):
2067         * gst/base/gstbasetransform.h:
2068         Fix debugging,
2069         Protect transform and concurrent buffer alloc with a new lock.
2070         Try not to break ABI/API.
2071
2072 2005-10-27  Wim Taymans  <wim@fluendo.com>
2073
2074         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2075         (gst_base_src_init), (gst_base_src_query),
2076         (gst_base_src_default_newsegment),
2077         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2078         (gst_base_src_send_event), (gst_base_src_event_handler),
2079         (gst_base_src_pad_get_range), (gst_base_src_loop),
2080         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2081         (gst_base_src_start), (gst_base_src_deactivate),
2082         (gst_base_src_activate_push), (gst_base_src_change_state):
2083         Move some stuff around and cleanup things.
2084
2085 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2086
2087         * gst/base/gstbasesrc.c: (gst_base_src_query):
2088           Add missing break statements.
2089
2090 2005-10-27  Wim Taymans  <wim@fluendo.com>
2091
2092         * check/gst/gstbin.c: (GST_START_TEST):
2093         An extra refcount is taken in basesrc.
2094
2095         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2096         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2097         (gst_base_src_loop):
2098         Small cleanups, check for flushing after being unlocked from the 
2099         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2100         Don't send out EOS when going to READY.
2101
2102 2005-10-27  Wim Taymans  <wim@fluendo.com>
2103
2104         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2105         (gst_base_sink_get_position):
2106         Some more debug.
2107
2108         * gst/gstbin.c: (message_check), (bin_replace_message),
2109         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2110         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2111         (bin_query_duration_init), (bin_query_duration_fold),
2112         (bin_query_duration_done), (bin_query_generic_fold),
2113         (gst_bin_query):
2114         * tools/gst-launch.c: (main):
2115         Remove old option.
2116
2117 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2118
2119         * examples/controller/audio-example.c: (main):
2120         * examples/queue/queue.c: (event_loop):
2121         * gst/base/gstbasetransform.h:
2122         * gst/gstelement.c: (gst_element_send_event):
2123         * gst/gstevent.h:
2124         * gst/gstpad.c: (gst_pad_send_event):
2125           fixing examples
2126           fixing docs typos
2127           changing log priority in error situations
2128
2129 2005-10-25  Wim Taymans  <wim@fluendo.com>
2130
2131         * gst/gstbin.c: (message_check), (bin_replace_message),
2132         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2133         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2134         (bin_query_duration_init), (bin_query_duration_fold),
2135         (bin_query_duration_done), (bin_query_generic_fold),
2136         (gst_bin_query):
2137         Some doc and debug updates.
2138         Cache previously requested query DURATION for speed. invalidate
2139         cached duration if element posts a DURATION message.
2140
2141 2005-10-25  Wim Taymans  <wim@fluendo.com>
2142
2143         * docs/design/part-TODO.txt:
2144         Update TODO.
2145
2146         * gst/gstbin.c: (message_check), (bin_replace_message),
2147         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2148         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2149         (bin_query_duration_init), (bin_query_duration_fold),
2150         (bin_query_duration_done), (bin_query_generic_fold),
2151         (gst_bin_query):
2152         Handle SEGMENT_START/DONE messages correctly.
2153         More evolved query algorithm that handles duration queries
2154         correctly.
2155
2156         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2157         (gst_element_get_state_func), (gst_element_abort_state),
2158         (gst_element_commit_state), (gst_element_lost_state):
2159         Some more debugging.
2160
2161         * gst/gstmessage.h:
2162         Added doc.
2163
2164 2005-10-25  Wim Taymans  <wim@fluendo.com>
2165
2166         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2167         Don't use invalid stream_time.
2168
2169         * gst/gstevent.c: (gst_event_new_newsegment):
2170         stream_time in newsegment cannot be undefined.
2171
2172 2005-10-24  Wim Taymans  <wim@fluendo.com>
2173
2174         * gst/gstbus.c:
2175         Doc fix.
2176
2177         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2178         (gst_queue_loop):
2179         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2180
2181 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2182
2183         * docs/libs/tmpl/gstdparam.sgml:
2184         * docs/libs/tmpl/gstdplinint.sgml:
2185         * docs/libs/tmpl/gstdpman.sgml:
2186         * docs/libs/tmpl/gstdpsmooth.sgml:
2187         * docs/libs/tmpl/gstunitconvert.sgml:
2188           these are obsolete
2189
2190 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2191
2192         * configure.ac:
2193           back to HEAD
2194
2195 === release 0.9.4 ===
2196
2197 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2198
2199         * configure.ac:
2200           releasing 0.9.4, "Tyrannosaurus Rex"
2201
2202 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2203
2204         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2205         (gst_file_sink_get_current_offset):
2206           Use fseeko() and ftello() if available. When falling back on
2207           lseek() to get the current offset, fflush() first to make sure
2208           everything is up-to-date and we get the right offset.
2209
2210 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2211
2212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2213         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2214         * gst/gsterror.c: (_gst_stream_errors_init):
2215         * gst/gsterror.h:
2216         * gst/gstqueue.c: (gst_queue_loop):
2217         * po/POTFILES.in:
2218           remove prematurely added error category and clean up the instances
2219
2220 2005-10-21  Wim Taymans  <wim@fluendo.com>
2221
2222         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2223         (gst_base_sink_get_position), (gst_base_sink_query),
2224         (gst_base_sink_change_state):
2225         Simply set the right flag when going to playing, that's all
2226         we need to do instead of calling a function inside the object
2227         lock (that could take the lock as well and deadlock)
2228
2229 2005-10-21  Wim Taymans  <wim@fluendo.com>
2230
2231         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2232         (gst_base_src_loop):
2233         Don't warn, the peer element knows what to do best when
2234         the seek failed, it might try something else.
2235
2236 2005-10-21  Wim Taymans  <wim@fluendo.com>
2237
2238         * gst/base/gstbasesrc.c: (gst_base_src_init),
2239         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2240         Fix seeking.
2241
2242 2005-10-21  Wim Taymans  <wim@fluendo.com>
2243
2244         * docs/design/part-segments.txt:
2245         More docs.
2246
2247         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2248         Correctly set caps, even on the subbufer.
2249
2250 2005-10-21  Wim Taymans  <wim@fluendo.com>
2251
2252         * docs/gst/gstreamer-docs.sgml:
2253         * docs/gst/gstreamer-sections.txt:
2254         * gst/gstelement.h:
2255         * gst/gstevent.c:
2256         * gst/gstevent.h:
2257         * gst/gstmessage.h:
2258         * gst/gstpad.h:
2259         * gst/gstparse.h:
2260         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2261         * gst/gsttask.h:
2262         * gst/gstutils.c:
2263         * gst/gstutils.h:
2264         And 2% more doc coverage.
2265
2266 2005-10-21  Andy Wingo  <wingo@pobox.com>
2267
2268         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2269         position reporting.
2270
2271 2005-10-20  Wim Taymans  <wim@fluendo.com>
2272
2273         * gst/gsterror.c: (gst_error_get_message):
2274         * gst/gstparse.h:
2275         * gst/gstquery.h:
2276         * gst/gststructure.c:
2277         * gst/gsttrace.c:
2278         * gst/gstutils.c:
2279         More docs.
2280
2281 2005-10-20  Wim Taymans  <wim@fluendo.com>
2282
2283         * gst/gstbuffer.h:
2284         * gst/gstpad.c:
2285         * gst/gstparse.c:
2286         Another 1% more coverage.
2287
2288 2005-10-20  Wim Taymans  <wim@fluendo.com>
2289
2290         * docs/gst/gstreamer-sections.txt:
2291         * gst/gstelement.c: (gst_element_get_state_func),
2292         (gst_element_abort_state), (gst_element_commit_state),
2293         (gst_element_lost_state):
2294         * gst/gstevent.h:
2295         * gst/gstquery.c: (gst_query_set_position),
2296         (gst_query_parse_position), (gst_query_set_duration),
2297         (gst_query_parse_duration), (gst_query_new_convert):
2298         * gst/gstutils.c:
2299         Yay! 1% more docs coverage.
2300
2301 2005-10-20  Wim Taymans  <wim@fluendo.com>
2302
2303         * gst/gstpad.h:
2304         * gst/gstquery.c: (gst_query_set_position),
2305         (gst_query_parse_position), (gst_query_set_duration),
2306         (gst_query_parse_duration), (gst_query_new_convert):
2307         * gst/gstquery.h:
2308         * gst/gstutils.c: (gst_element_query_convert):
2309         * gst/gstutils.h:
2310         Docs and consistency fixes.
2311
2312 2005-10-20  Wim Taymans  <wim@fluendo.com>
2313
2314         * gst/gsttask.c:
2315         * gst/gsttask.h:
2316         More docs.
2317
2318 2005-10-20  Wim Taymans  <wim@fluendo.com>
2319
2320         * gst/gstbin.c: (message_check), (bin_replace_message),
2321         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2322         (update_degree), (gst_bin_sort_iterator_next),
2323         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2324         Reworked the message handling a bit, cache the messages instead of
2325         only the senders. alows us to do more in the future.
2326
2327 2005-10-20  Wim Taymans  <wim@fluendo.com>
2328
2329         * docs/design/part-TODO.txt:
2330         Update TODO
2331
2332         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2333         (gst_base_sink_query):
2334         Don't use clock time to report position when in EOS.
2335
2336 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2337
2338         * tools/gst-inspect.c: (print_interfaces),
2339         (print_element_properties_info), (print_element_info):
2340           Fix interface output with gst-inspect -a; don't print
2341           newlines after double/float properties.
2342
2343 2005-10-20  Wim Taymans  <wim@fluendo.com>
2344
2345         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2346         (gst_base_sink_query):
2347         Speed up current position calculation.
2348
2349         * gst/base/gstbasesrc.c: (gst_base_src_query),
2350         (gst_base_src_default_newsegment):
2351         Correctly set stream position in newsegment.
2352
2353         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2354         (update_degree), (gst_bin_sort_iterator_next),
2355         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2356         * gst/gstmessage.c: (gst_message_new_custom):
2357         Clean up debugging info
2358
2359         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2360         (gst_queue_loop), (gst_queue_handle_src_query):
2361         Pause task faster.
2362
2363 2005-10-19  Wim Taymans  <wim@fluendo.com>
2364
2365         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2366         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2367         Fix query handling again.
2368
2369 2005-10-19  Wim Taymans  <wim@fluendo.com>
2370
2371         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2372         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2373         * gst/base/gstbasesrc.c: (gst_base_src_query):
2374         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2375         * gst/elements/gsttypefindelement.c:
2376         (gst_type_find_handle_src_query), (find_element_get_length),
2377         (gst_type_find_element_activate):
2378         API change fix.
2379
2380         * gst/gstquery.c: (gst_query_new_position),
2381         (gst_query_set_position), (gst_query_parse_position),
2382         (gst_query_new_duration), (gst_query_set_duration),
2383         (gst_query_parse_duration), (gst_query_set_segment),
2384         (gst_query_parse_segment):
2385         * gst/gstquery.h:
2386         Bundling query position/duration is not a good idea since duration
2387         does not change much and we don't want to recalculate it for every
2388         position query, so they are separated again..
2389         Base value in segment query is not needed.
2390
2391         * gst/gstqueue.c: (gst_queue_handle_src_query):
2392         * gst/gstutils.c: (gst_element_query_position),
2393         (gst_element_query_duration), (gst_pad_query_position),
2394         (gst_pad_query_duration):
2395         * gst/gstutils.h:
2396         Updates for query API change.
2397         Added some docs here and there.
2398
2399 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2400
2401         * check/gst/gstbin.c: (GST_START_TEST):
2402         * check/gst/gstghostpad.c: (GST_START_TEST):
2403         * check/pipelines/cleanup.c: (GST_START_TEST):
2404           wait on thread to die so we can check refcount correctly
2405
2406 2005-10-18  Wim Taymans  <wim@fluendo.com>
2407
2408         * check/pipelines/stress.c: (GST_START_TEST):
2409         Make check a little more time consuming.
2410
2411 2005-10-18  Wim Taymans  <wim@fluendo.com>
2412
2413         * check/Makefile.am:
2414         * check/pipelines/stress.c: (GST_START_TEST),
2415         (simple_launch_lines_suite), (main):
2416         Small state change torture test.
2417
2418         * docs/design/part-states.txt:
2419         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2420         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2421         (gst_base_sink_change_state):
2422         Never take state lock from streaming thread, clean up ugly
2423         hacks. Unfortunatly core does not yet support nice ways to
2424         async commit state.
2425         
2426         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2427         (bin_bus_handler):
2428         Start state recalc if a STATE_DIRTY message is posted, but only
2429         on the toplevel bin.
2430
2431         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2432         (gst_element_get_state_func), (gst_element_abort_state),
2433         (gst_element_commit_state), (gst_element_lost_state),
2434         (gst_element_set_state_func), (gst_element_change_state):
2435         * gst/gstelement.h:
2436         State variables are now protected with the LOCK, the state
2437         lock is only used to serialize _set_state().
2438
2439 2005-10-18  Wim Taymans  <wim@fluendo.com>
2440
2441         * check/gst/gstbin.c: (GST_START_TEST):
2442         * check/gst/gstmessage.c: (GST_START_TEST):
2443         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2444         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2445         (bin_bus_handler):
2446         * gst/gstelement.c: (gst_element_abort_state),
2447         (gst_element_commit_state), (gst_element_lost_state):
2448         * gst/gstmessage.c: (gst_message_new_state_changed),
2449         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2450         (gst_message_new_segment_done), (gst_message_new_duration),
2451         (gst_message_parse_state_changed),
2452         (gst_message_parse_segment_start),
2453         (gst_message_parse_segment_done), (gst_message_parse_duration):
2454         * gst/gstmessage.h:
2455         * tools/gst-launch.c: (event_loop):
2456         Seriously, this is better than a previous commit as we only need
2457         to notify the fact that an element changed state in a streaming
2458         thread, marking the state of the parents dirty, hence the 
2459         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2460         message.
2461
2462 2005-10-18  Wim Taymans  <wim@fluendo.com>
2463
2464         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2465         (gst_bin_recalc_func):
2466         * gst/gstelement.c: (gst_element_set_clock),
2467         (gst_element_abort_state), (gst_element_lost_state):
2468         Cleanups, prepare for state change fixes.
2469
2470 2005-10-18  Wim Taymans  <wim@fluendo.com>
2471
2472         * gst/gstbin.h:
2473         * gst/gstelement.c: (gst_element_class_init),
2474         (gst_element_set_state), (gst_element_set_state_func):
2475         * gst/gstelement.h:
2476         Pending ABI changes.
2477         GThreadPool in GstBinClass to monitor async state changes.
2478         state_cookie in GstElement to detect concurrent gst/set state.
2479         set_state is now virtual too in case a very complicated element
2480         has to be constructed.
2481
2482 2005-10-18  Wim Taymans  <wim@fluendo.com>
2483
2484         * check/gst/gstbin.c: (GST_START_TEST):
2485         * check/gst/gstmessage.c: (GST_START_TEST):
2486         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2487         * gst/gstbin.c: (bin_bus_handler):
2488         * gst/gstelement.c: (gst_element_commit_state),
2489         (gst_element_lost_state):
2490         * gst/gstmessage.c: (gst_message_new_state_changed),
2491         (gst_message_new_segment_start), (gst_message_new_segment_done),
2492         (gst_message_new_duration), (gst_message_parse_state_changed),
2493         (gst_message_parse_segment_start),
2494         (gst_message_parse_segment_done), (gst_message_parse_duration):
2495         * gst/gstmessage.h:
2496         * tools/gst-launch.c: (event_loop):
2497         Make messages future proof.
2498         state-change gets a flag if it was a message comming from the
2499         streaming thread.
2500         segment-start/stop can also be specified in other formats.
2501         A message to notify an app that a pipeline changed playback 
2502         duration.
2503         Also fix a GstMessage leak in -launch
2504
2505 2005-10-18  Andy Wingo  <wingo@pobox.com>
2506
2507         * gst/gstelement.c (gst_element_dispose): More helpful message.
2508
2509 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2510
2511         reviewed by: <delete if not using a buddy>
2512
2513         * common/gtk-doc.mak:
2514
2515 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2516
2517         * gst/gstregistry.c: (gst_registry_scan_path_level):
2518           unref a plug-in we get that was already initialized
2519
2520 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2521
2522         * docs/gst/gstreamer-sections.txt:
2523         * docs/libs/gstreamer-libs-sections.txt:
2524         * gst/gstelement.h:
2525           add new api entries
2526           hide internal macro
2527
2528 2005-10-17  Andy Wingo  <wingo@pobox.com>
2529
2530         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2531         cleanup.
2532
2533         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2534
2535         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2536
2537         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2538         (gst_element_get_state_func): Better debug message.
2539         (gst_element_commit_state): s/INFO/DEBUG/.
2540         (gst_element_lost_state, gst_element_change_state): 
2541
2542         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2543         (gst_message_new_custom): s/INFO/LOG/.
2544
2545 2005-10-17  Michael Smith <msmith@fluendo.com>
2546
2547         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2548           Check if end time is valid using end time, not start time.
2549
2550 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2551
2552         * check/gst-libs/controller.c: (GST_START_TEST),
2553         (gst_controller_suite):
2554         * libs/gst/controller/gstcontroller.c:
2555         (gst_controlled_property_set_interpolation_mode):
2556         * libs/gst/controller/gstcontroller.h:
2557         * libs/gst/controller/gstinterpolation.c:
2558         * testsuite/controller/.cvsignore:
2559         * testsuite/controller/Makefile.am:
2560         * testsuite/controller/interpolator.c:
2561           merge controller testsuites
2562           fix broken tests
2563           remove mem-chunk from docs
2564
2565 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2566
2567         * gst/gstmemchunk.c:
2568         * gst/gstmemchunk.h:
2569         * gst/gsttrashstack.c:
2570         * gst/gsttrashstack.h:
2571           out.  get out.  you're fired.  to the Attic !
2572
2573 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2574
2575         * gst/gstcaps.c: (gst_caps_intersect):
2576           fix signedness issues in a (hopefully) correct way
2577         * gst/gstelement.c: (gst_element_pads_activate):
2578           some debugging
2579         * gst/gstobject.c: (gst_object_set_parent):
2580           some debugging
2581
2582 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2583
2584         * gst/gstvalue.h: Fix prototypes.
2585
2586 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2587
2588         * docs/gst/gstreamer-sections.txt:
2589         * gst/gst.c: (gst_version_string):
2590         * gst/gst.h:
2591         * gst/gstversion.h.in:
2592         * win32/common/libgstreamer.def:
2593           add gst_version_string ()
2594
2595 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2596
2597         * configure.ac:
2598           clean up further
2599         * gst/gst.c: (init_post):
2600         * win32/common/config.h.in:
2601           it's PLUGINDIR now
2602         * gst/gstcaps.c: (gst_caps_intersect):
2603           use gint64, the range could be bigger than a guint
2604
2605 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2606
2607         * gst/gstclock.h:
2608           document potential problem in 2038
2609
2610 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2611
2612         * gst/gstcaps.c: (gst_caps_intersect):
2613           Fix guint j diving under 0
2614
2615 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2616
2617         * configure.ac:
2618         * win32/common/config.h:
2619         * win32/common/config.h.in:
2620           check for process.h, declares getpid() on Windows
2621         * gst/gstinfo.c:
2622           include process.h if we have it
2623         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2624         * gst/gstmemchunk.h:
2625           fix signedness issues
2626         * win32/common/libgstreamer.def:
2627           fix get_type's
2628
2629 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2630
2631         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2632         fix. Because of unsigned ints, caps intersection was going nuts and
2633         trying to access structures with G_MAXUINT index. That fixes
2634         videotestsrc ! ffmpegcolorspace ! fakesink
2635         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2636         consistency.
2637
2638 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2639
2640         * configure.ac:
2641           use the gettext macro
2642         * gst/elements/gstelements.c:
2643         * gst/gst.c:
2644         * gst/indexers/gstindexers.c:
2645           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2646         * win32/common/config.h:
2647           updated config.h
2648         * win32/common/config.h.in:
2649           add the template to generate config.h
2650         * win32/common/gstenumtypes.c:
2651         * win32/common/gstversion.h:
2652           updated copies
2653
2654 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2655
2656         * gst/gst.c: (gst_version):
2657         * gst/gstversion.h.in:
2658           add the nano
2659
2660 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2661
2662         * gst/gstevent.h:
2663           Oops, add missing closing bracket.
2664
2665 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * configure.ac:
2668           use common m4's for argument checking
2669
2670 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * docs/gst/gstreamer-sections.txt:
2673         * gst/gstevent.h:
2674           Add GST_EVENT_TYPE_NAME() macro.
2675
2676 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2677
2678         * gst/gstinfo.c:
2679         * gst/gstpluginfeature.c:
2680         * gst/gsttask.c:
2681           privatize more symbols
2682
2683 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2684
2685         * configure.ac:
2686           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2687           everything that uses GStreamer API should have the includes
2688
2689 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2690
2691         * docs/gst/gstreamer-sections.txt:
2692         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2693         * gst/gstvalue.h:
2694           give each value a _get_type, removes the DATA exports
2695
2696 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2697
2698         * gst/gst.c:
2699         * gst/gst.h:
2700           remove _gst_registry_auto_load, not used anymore
2701         * gst/gstbin.c: (gst_bin_get_type):
2702         * gst/gstbin.h:
2703         * gst/gstelement.c: (gst_element_get_type):
2704         * gst/gstelement.h:
2705         * gst/gstobject.c: (gst_object_get_type):
2706         * gst/gstobject.h:
2707         * gst/gstpad.c: (gst_pad_get_type):
2708         * gst/gstpad.h:
2709           make _get_type functions similar, fixes data export from library
2710
2711 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2712
2713         * configure.ac:
2714           correctly make conditionals
2715         * gst/elements/Makefile.am:
2716         * gst/elements/gstelements.c:
2717           fix typo causing fdsrc not to build
2718
2719 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2720
2721         * testsuite/Makefile.am:
2722         * testsuite/bytestream/.cvsignore:
2723         * testsuite/bytestream/Makefile.am:
2724         * testsuite/bytestream/filepadsink.c:
2725         * testsuite/bytestream/gstbstest.c:
2726         * testsuite/bytestream/test1.c:
2727         * testsuite/bytestream/testfile1:
2728         * testsuite/caps/normalisation.c:
2729         * testsuite/caps/random.c: (main):
2730         * testsuite/cleanup/.cvsignore:
2731         * testsuite/cleanup/Makefile.am:
2732         * testsuite/cleanup/cleanup1.c:
2733         * testsuite/cleanup/cleanup2.c:
2734         * testsuite/cleanup/cleanup3.c:
2735         * testsuite/cleanup/cleanup4.c:
2736         * testsuite/cleanup/cleanup5.c:
2737         * testsuite/controller/interpolator.c:
2738         * testsuite/debug/printf_extension.c: (main):
2739         * testsuite/elements/tee.c:
2740         * testsuite/negotiation/.cvsignore:
2741         * testsuite/negotiation/Makefile.am:
2742         * testsuite/negotiation/pad_link.c:
2743         * testsuite/pad/Makefile.am:
2744         * testsuite/pad/chainnopull.c:
2745         * testsuite/pad/getnopush.c:
2746         * testsuite/pad/link.c:
2747         * testsuite/refcounting/sched.c: (create_pipeline):
2748         * testsuite/registry/Makefile.am:
2749         * testsuite/registry/gst-print-formats.c:
2750         * testsuite/schedulers/.cvsignore:
2751         * testsuite/schedulers/142183-2.c:
2752         * testsuite/schedulers/142183.c:
2753         * testsuite/schedulers/143777-2.c:
2754         * testsuite/schedulers/143777.c:
2755         * testsuite/schedulers/147713.c:
2756         * testsuite/schedulers/147819.c:
2757         * testsuite/schedulers/147894-2.c:
2758         * testsuite/schedulers/147894.c:
2759         * testsuite/schedulers/Makefile.am:
2760         * testsuite/schedulers/group_link.c:
2761         * testsuite/schedulers/queue_link.c:
2762         * testsuite/schedulers/relink.c:
2763         * testsuite/schedulers/unlink.c:
2764         * testsuite/schedulers/unref.c:
2765         * testsuite/schedulers/useless_iteration.c:
2766         * testsuite/states/bin.c:
2767           clean out/remove some stuff from the testsuite directories
2768
2769 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2770
2771         * configure.ac:
2772           check for some headers
2773         * gst/elements/Makefile.am:
2774         * gst/elements/gstelements.c:
2775           don't compile fdsrc without sys/socket.h
2776         * gst/indexers/Makefile.am:
2777         * gst/indexers/gstindexers.c: (plugin_init):
2778           don't compile fileindex without mmap
2779
2780 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2781
2782         * configure.ac:
2783           reorganize
2784           clean up
2785           document more
2786           remove cruft
2787         * check/Makefile.am:
2788         * docs/gst/Makefile.am:
2789         * examples/helloworld/Makefile.am:
2790         * gst/Makefile.am:
2791         * gst/base/Makefile.am:
2792         * gst/check/Makefile.am:
2793         * gst/elements/Makefile.am:
2794         * gst/indexers/Makefile.am:
2795         * gst/parse/Makefile.am:
2796         * libs/gst/controller/Makefile.am:
2797         * libs/gst/dataprotocol/Makefile.am:
2798         * examples/helloworld/helloworld.c: (event_loop):
2799           compile fixes, though it's not being compiled currently
2800
2801 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2802
2803         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2804           Add some simple tests for the new taglist date API.
2805
2806 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2807
2808         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2809         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2810           Beautify 'last-message' output: print 'none' for buffer timestamps
2811           and durations if none is set; improve alignment with next messages.
2812
2813 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2814
2815         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2816         * gst/gstpluginfeature.h:
2817         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2818         * gst/gstregistry.h:
2819         * docs/gst/gstreamer-sections.txt:
2820           Add new API to check plugin feature version requirements.
2821
2822         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2823           Some basic tests for the above.         
2824
2825 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2826
2827         * gst/gststructure.c: (gst_structure_to_string):
2828           guard against NULL printf - happens when for example
2829           a message structure with GstClock gets serialized
2830
2831 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2832
2833         * gst/base/gstcollectpads.c: (gst_collectpads_event):
2834           Fix presumable copy'n'pasto.
2835
2836 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2837
2838         * gst/elements/gstfakesrc.h:
2839         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
2840         * gst/elements/gsttypefindelement.c:
2841           fix some signedness
2842         * gst/elements/gstfilesink.c: (gst_file_sink_render):
2843           I wonder if this could actually write +2GB files before
2844
2845 2005-10-13  Andy Wingo  <wingo@pobox.com>
2846
2847         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
2848         Fix Timmeke Waymans bug.
2849         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
2850         string of the proper length to gst_caps_from_string. There's a
2851         potential for, before this fix, that this could cause someone
2852         connecting over the network to cause a segfault if the payload is
2853         not NUL-terminated.
2854
2855 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2856
2857         * docs/design/draft-push-pull.txt:
2858         * docs/design/part-overview.txt:
2859         * docs/random/TODO-pre-0.9:
2860         * docs/random/old/ChangeLog.gstreamer:
2861         * gst/base/gstpushsrc.c:
2862         * gst/gstclock.c:
2863           fixed typos
2864
2865 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2866
2867         * gst/glib-compat.c: (gst_flags_get_first_value):
2868         * gst/glib-compat.h:
2869         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
2870         (gst_value_compare_double), (gst_value_serialize_flags):
2871           GLib 2.6 g_flags_get_first_value has a bug that triggers an
2872           infinite loop
2873
2874 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2875
2876         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2877         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2878           fix up debugging
2879         * tools/gst-launch.c: (event_loop):
2880           print out clock nicely
2881
2882 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2883
2884         * docs/gst/gstreamer-sections.txt:
2885         * gst/gsttaglist.h:
2886         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2887         (gst_tag_list_get_date_index):
2888           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
2889           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2890
2891 2005-10-13  Julien MOUTTE  <julien@moutte.net>
2892
2893         * gst/base/gstcollectpads.c: (gst_collectpads_event),
2894         (gst_collectpads_chain):
2895         * gst/base/gstcollectpads.h: Handle newsegment and store informations
2896         in CollectData.
2897
2898 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2899
2900         * docs/gst/gstreamer-sections.txt:
2901         * gst/gst.c:
2902         * gst/gsterror.h:
2903         * tools/gst-inspect.c: (main):
2904         * tools/gst-launch.c: (main):
2905         * tools/gst-run.c: (main):
2906         * tools/gst-xmlinspect.c: (main):
2907           fix GOption context leaks
2908           doc fixes
2909
2910 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2911
2912         * gst/gstbus.c:
2913           use HAVE_UNISTD_H
2914         * win32/common/config.h:
2915           update config
2916         * win32/vs6/grammar.dsp:
2917         * win32/vs6/libgstelements.dsp:
2918         * win32/vs6/libgstreamer.dsp:
2919           update vs6 files
2920
2921 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2922
2923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2924         * gst/base/gstbasesrc.c: (gst_base_src_query):
2925           fix more guint64<->gdouble conversions
2926
2927 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2928
2929         * Makefile.am:
2930           add win32-update target
2931         * win32/common/gstconfig.h:
2932         * win32/common/gstenumtypes.c:
2933         * win32/common/gstenumtypes.h:
2934         * win32/common/gstversion.h:
2935           add files that visual studio can't generate
2936
2937 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2938
2939         * Makefile.am:
2940           add a win32-update target
2941         * configure.ac:
2942
2943 2005-10-12  Wim Taymans  <wim@fluendo.com>
2944
2945         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2946         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
2947         * gst/gstelement.c: (gst_element_commit_state),
2948         (gst_element_set_state):
2949         Protect flags with proper lock.
2950         unref provided cached clock in dispose.
2951
2952 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2953
2954         * gst/gst.c:
2955         * gst/gstminiobject.h:
2956         * gst/gstpad.h:
2957         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
2958           removed unused flags from miniobject
2959           doc fixes
2960
2961 2005-10-12  Wim Taymans  <wim@fluendo.com>
2962
2963         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2964         (gst_file_sink_event), (gst_file_sink_render):
2965         Flush before seeking.
2966
2967 2005-10-12  Andy Wingo  <wingo@pobox.com>
2968
2969         * gst/gst.c (gst_init_check): Ignore unknown options, as has
2970         always been the case.
2971
2972 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2973
2974         * check/gst/gstbin.c: (GST_START_TEST):
2975         * docs/gst/gstreamer-sections.txt:
2976         * gst/base/gstbasesink.c: (gst_base_sink_init):
2977         * gst/base/gstbasesrc.c: (gst_base_src_init),
2978         (gst_base_src_get_range), (gst_base_src_check_get_range),
2979         (gst_base_src_start), (gst_base_src_stop):
2980         * gst/base/gstbasesrc.h:
2981         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
2982         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2983         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
2984         (bin_bus_handler):
2985         * gst/gstbin.h:
2986         * gst/gstbuffer.h:
2987         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
2988         * gst/gstbus.h:
2989         * gst/gstelement.c: (gst_element_is_locked_state),
2990         (gst_element_set_locked_state), (gst_element_commit_state),
2991         (gst_element_set_state):
2992         * gst/gstelement.h:
2993         * gst/gstindex.c: (gst_index_init):
2994         * gst/gstindex.h:
2995         * gst/gstminiobject.h:
2996         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
2997         (gst_object_set_parent):
2998         * gst/gstobject.h:
2999         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3000         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3001         * gst/gstpad.h:
3002         * gst/gstpadtemplate.h:
3003         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3004         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3005         * gst/gstpipeline.h:
3006         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3007         (gst_file_index_commit):
3008         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3009         * testsuite/pad/link.c: (gst_test_src_init),
3010         (gst_test_filter_init), (gst_test_sink_init):
3011         * testsuite/states/locked.c: (main):
3012           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3013           moved bitshift from macro to enum definition
3014
3015 2005-10-12  Wim Taymans  <wim@fluendo.com>
3016
3017         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3018         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3019         (gst_file_sink_render):
3020         Some more debugging info.
3021
3022 2005-10-12  Wim Taymans  <wim@fluendo.com>
3023
3024         * docs/design/part-states.txt:
3025         * tools/gst-launch.c: (main):
3026         Some doc updates.
3027         Revert non-intentional change.
3028
3029 2005-10-12  Wim Taymans  <wim@fluendo.com>
3030
3031         * check/gst/gstbin.c: (GST_START_TEST):
3032         * check/gst/gstelement.c: (GST_START_TEST):
3033         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3034         * check/gst/gstghostpad.c: (GST_START_TEST):
3035         * check/gst/gstpipeline.c: (GST_START_TEST):
3036         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3037         * check/states/sinks.c: (GST_START_TEST):
3038         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3039         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3040         (gst_bin_remove_func), (gst_bin_get_state_func),
3041         (gst_bin_recalc_state), (gst_bin_change_state_func),
3042         (bin_bus_handler):
3043         * gst/gstelement.c: (gst_element_get_state_func),
3044         (gst_element_get_state), (gst_element_abort_state),
3045         (gst_element_commit_state), (gst_element_set_state),
3046         (gst_element_change_state), (gst_element_change_state_func):
3047         * gst/gstelement.h:
3048         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3049         (gst_pipeline_provide_clock_func):
3050         * gst/gstutils.c: (gst_element_link_pads_filtered):
3051         * tools/gst-launch.c: (main):
3052         * tools/gst-typefind.c: (main):
3053         Use GstClockTime in _get_state() instead of GTimeVal.
3054         Remove old code in gstutils.c
3055
3056 2005-10-12  Andy Wingo  <wingo@pobox.com>
3057
3058         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3059         removed.
3060
3061         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3062         there is no task. Shouldn't affect any code, as nothing in our
3063         plugins checks this return value.
3064         (gst_pad_stop_task): Also take the stream lock if the pad has no
3065         task. Docs updated.
3066
3067 2005-10-12  Wim Taymans  <wim@fluendo.com>
3068
3069         * gst/gstpad.c: (pre_activate), (post_activate),
3070         (gst_pad_activate_pull), (gst_pad_activate_push):
3071         Cleanup activation code. Reset old state if
3072         activation failed.
3073
3074 2005-10-12  Wim Taymans  <wim@fluendo.com>
3075
3076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3077         (gst_base_sink_change_state):
3078         No need to prerol after receiving EOS.
3079
3080         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3081         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3082         * gst/elements/gstidentity.c: (gst_identity_event):
3083         Print events more verbosely.
3084
3085 2005-10-12  Wim Taymans  <wim@fluendo.com>
3086
3087         * check/Makefile.am:
3088         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3089         * check/states/sinks2.c:
3090         Moved sinks2 testcode in sinks check.
3091
3092         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3093         (gst_bin_remove_func), (gst_bin_recalc_state),
3094         (gst_bin_change_state_func), (bin_bus_handler):
3095         Fix potential race condition when _get_state() iterated over an
3096         ASYNC element right before it posted a state completion.
3097
3098         * gst/gstclock.h:
3099         Do proper cast here.
3100
3101         * gst/gstevent.c: (gst_event_new_newsegment),
3102         (gst_event_parse_newsegment):
3103         A playback rate of 0.0 is not allowed.
3104
3105 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3106
3107         * win32/common/config.h:
3108         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3109         (_trewinddir), (_ttelldir), (_tseekdir):
3110         * win32/common/dirent.h:
3111         * win32/common/gtchar.h:
3112         * win32/common/libgstbase.def:
3113         * win32/common/libgstreamer.def:
3114         * win32/vs6/grammar.dsp:
3115         * win32/vs6/gst_inspect.dsp:
3116         * win32/vs6/gst_launch.dsp:
3117         * win32/vs6/gstreamer.dsw:
3118         * win32/vs6/libgstbase.dsp:
3119         * win32/vs6/libgstelements.dsp:
3120         * win32/vs6/libgstreamer.dsp:
3121           Visual Studio 6 project files, and a new common directory.
3122           Phear.
3123
3124 2005-10-11  Wim Taymans  <wim@fluendo.com>
3125
3126         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3127         (gst_base_sink_do_sync), (gst_base_sink_query),
3128         (gst_base_sink_change_state):
3129         * gst/base/gstbasesink.h:
3130         Correctly parse newsegment info.
3131
3132 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3133
3134         * gst/gst.c: (init_post):
3135           split plugin paths correctly
3136
3137 2005-10-11  Wim Taymans  <wim@fluendo.com>
3138
3139         * check/gst/gstevent.c: (GST_START_TEST):
3140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3141         (gst_base_sink_change_state):
3142         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3143         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3144         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3145         * gst/gstevent.c: (gst_event_new_newsegment),
3146         (gst_event_parse_newsegment):
3147         * gst/gstevent.h:
3148         Added extra flag to newsegment for future API freeze.
3149         Updated check and base elements.
3150
3151 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3152
3153         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3154         (gst_collectpads_add_pad), (gst_collectpads_pop),
3155         (gst_collectpads_event), (gst_collectpads_chain):
3156         * gst/base/gstcollectpads.h: Handle EOS correctly.
3157
3158 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3159
3160         * tools/gst-launch.c: (main):
3161           more null protecting
3162
3163 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3164
3165         * gst/gst-i18n-lib.h:
3166           check for ENABLE_NLS, not GETTEXT_PACKAGE
3167         * gst/gstregistry.c: (gst_registry_add_plugin),
3168         (gst_registry_scan_path_level),
3169         (_gst_registry_remove_cache_plugins):
3170           protect possibly NULL strings
3171         * gst/parse/types.h:
3172           config.h already included before
3173         * tools/gst-inspect.c: (main):
3174           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3175           check for ENABLE_NLS, not GETTEXT_PACKAGE
3176         * tools/gst-launch.c: (main):
3177           check for ENABLE_NLS, not GETTEXT_PACKAGE
3178
3179 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3180
3181         * configure.ac:
3182           if we don't have glib, fail before testing 2.8
3183         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3184           fix a leak, should fix plugins-base testsuite
3185
3186 2005-10-11  Andy Wingo  <wingo@pobox.com>
3187
3188         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3189         take the mode we're going to as an arg. Go head and set the mode
3190         and flushing flags now, so that if the activate function starts a
3191         thread all the flags will be in the right state.
3192         (post_activate): Renamed also. Just handle making sure streaming
3193         finishes for the deactivation case, and setting the deactivated
3194         mode.
3195         (gst_pad_set_active): Complain loudly if deactivation fails.
3196         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3197         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3198         remove the terrible hack.
3199
3200 2005-10-11  Wim Taymans  <wim@fluendo.com>
3201
3202         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3203         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3204         (gst_bin_recalc_state), (gst_bin_change_state_func),
3205         (gst_bin_dispose), (bin_bus_handler):
3206         * gst/gstbin.h:
3207         Prepare to make current EOS message queue more generic.
3208         Fix some typos.
3209
3210         * gst/gstevent.c: (gst_event_new_newsegment),
3211         (gst_event_parse_newsegment):
3212         * gst/gstevent.h:
3213         Rename base to stream_time.
3214
3215         * gst/gstmessage.h:
3216         Fix typo in docs.
3217
3218 2005-10-11  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3221         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3222         (gst_bin_change_state_func), (bin_bus_handler):
3223         * gst/gstbin.h:
3224         Work on proper clock selection.
3225
3226 2005-10-11  Edward Hervey  <edward@fluendo.com>
3227
3228         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3229         * libs/gst/controller/gstcontroller.h:
3230         Added GList* version of _remove_properties() in order to be able to wrap
3231         it in bindings.
3232
3233 2005-10-11  Wim Taymans  <wim@fluendo.com>
3234
3235         * docs/design/part-states.txt:
3236         Some more docs.
3237
3238         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3239         (gst_bin_change_state_func), (bin_bus_handler):
3240         Doc updates. Don't distribute the same clock over and over again.
3241
3242         * gst/gstclock.c:
3243         * gst/gstclock.h:
3244         Doc updates.
3245
3246         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3247         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3248         (gst_pad_send_event):
3249         * gst/gstpad.h:
3250         Make probe emission threadsafe again.
3251         Register quarks and move _get_name() from utils.
3252         Doc updates.
3253
3254         * gst/gstpipeline.c: (gst_pipeline_class_init),
3255         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3256         Only redistribute the clock of it changed.
3257
3258         * gst/gstsystemclock.h:
3259         Doc updates. 
3260
3261         * gst/gstutils.c:
3262         * gst/gstutils.h:
3263         Moved the _flow_get_name() to GstPad.
3264
3265 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3266
3267         * check/gst-libs/gdp.c: (GST_START_TEST):
3268         * check/gst/gstcaps.c: (GST_START_TEST):
3269         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3270         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3271         (gst_dp_packet_from_caps):
3272           fix more valgrind warnings before turning up the heat
3273
3274 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3275
3276         * gst/parse/grammar.y:
3277           some cleanup before the hacking
3278
3279 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3280
3281         * gst/base/gstbasesrc.c: (gst_base_src_query):
3282           use conversions
3283         * gst/gstutils.c: (gst_guint64_to_gdouble),
3284         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3285         * gst/gstutils.h:
3286           externalize, basesrc uses it
3287           obviously the implementation needs testing
3288
3289 2005-10-10  Wim Taymans  <wim@fluendo.com>
3290
3291         * tests/sched/Makefile.am:
3292         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3293         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3294
3295 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3296
3297         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3298           apparently converting from guint64 to double is not implemented
3299           on MSVC
3300
3301 2005-10-10  Wim Taymans  <wim@fluendo.com>
3302
3303         * check/Makefile.am:
3304         * check/generic/states.c: (GST_START_TEST):
3305         * check/gst/gstbin.c: (GST_START_TEST):
3306         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3307         * check/states/sinks.c: (GST_START_TEST):
3308         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3309         (main):
3310         Check fixes, use API as stated in design docs, remove hacks.
3311
3312         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3313         (gst_base_sink_change_state):
3314         Catch stopping our task while we're shutting down.
3315
3316         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3317         (gst_bin_remove_func), (gst_bin_get_state_func),
3318         (gst_bin_recalc_state), (gst_bin_change_state_func),
3319         (bin_bus_handler):
3320         * gst/gstbin.h:
3321         * gst/gstelement.c: (gst_element_init),
3322         (gst_element_get_state_func), (gst_element_abort_state),
3323         (gst_element_commit_state), (gst_element_lost_state),
3324         (gst_element_set_state), (gst_element_change_state),
3325         (gst_element_change_state_func):
3326         * gst/gstelement.h:
3327         New state change algorithm (see #318116)
3328
3329         * gst/gstpipeline.c: (gst_pipeline_class_init),
3330         (gst_pipeline_init), (gst_pipeline_set_property),
3331         (gst_pipeline_get_property), (do_pipeline_seek),
3332         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3333         * gst/gstpipeline.h:
3334         Remove crude state change hacks.
3335
3336         * gst/gstutils.h:
3337         Remove crude hacks.
3338
3339         * tools/gst-launch.c: (main):
3340         Fixes for state change. Needs some more work to fully use the
3341         new stuff.
3342
3343 2005-10-10  Andy Wingo  <wingo@pobox.com>
3344
3345         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3346
3347         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3348         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3349         issue.
3350
3351 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3352
3353         * gst/gstiterator.c: (gst_iterator_new):
3354           Fix my previous commit: GTypes passed to gst_iterator_new()
3355           can be fundamental types.
3356
3357 2005-10-10  Wim Taymans  <wim@fluendo.com>
3358
3359         * gst/gstelement.c: (gst_element_iterate_pad_list),
3360         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3361         (gst_element_iterate_sink_pads):
3362         Use src/sink pads lists for the respective iterators instead
3363         of filtering.
3364
3365 2005-10-10  Andy Wingo  <wingo@pobox.com>
3366
3367         Merged in popt removal + GOption addition patch from Ronald, bug
3368         #169772.
3369
3370         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3371         GstElement macros around, remove popt-related symbols, add goption
3372         stuff.
3373
3374         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3375         
3376         * docs/gst/Makefile.am:
3377         * docs/libs/Makefile.am: No POPT_CFLAGS.
3378         
3379         * examples/manual/Makefile.am:
3380         * docs/manual/basics-init.xml: Doc updates with an example.
3381         
3382         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3383         (gst_init), (parse_one_option), (parse_goption_arg):
3384         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3385         bit of hand merging and debugging to get the GOption stuff working
3386         tho.
3387         
3388         * tests/Makefile.am:
3389         * tools/Makefile.am:
3390         * tools/gst-inspect.c: (main):
3391         * tools/gst-launch.c: (main):
3392         * tools/gst-run.c: (main):
3393         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3394
3395 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3396
3397         * gst/gstiterator.c: (gst_iterator_new):
3398           Add assertions to make sure passed GType is likely to really
3399           be a GType (as the compiler won't catch it if the size and
3400           GType arguments get mixed up, see #318447).
3401
3402 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3403
3404         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3405
3406         * gst/gstbin.c: (gst_bin_iterate_sorted):
3407           Pass GType and size arguments to gst_iterator_new() in the right
3408           order (maybe we should make _new() take the GType as first argument
3409           just like _new_list()?) (#318447).
3410           
3411
3412 2005-10-10  Wim Taymans  <wim@fluendo.com>
3413
3414         * gst/gstelement.c: (gst_element_finalize):
3415         And free the GStaticRecMutex too
3416
3417 2005-10-10  Andy Wingo  <wingo@pobox.com>
3418
3419         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3420         Allocate and free the mutex properly.
3421
3422         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3423         New macros.
3424         (GstElement): The state_lock is now recursive. Rebuild your
3425         plugins, suckers. Old macros adapted.
3426
3427         * docs/gst/gstreamer-sections.txt: Doc updates.
3428
3429         * gst/gstutils.h:
3430         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3431         (g_static_rec_cond_wait): Ported from state changes patch, while
3432         we wait on bug #317802 to be solved in a well-distributed GLib.
3433
3434         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3435         gst_element_change_state, variable name changes.
3436         (gst_element_change_state): Split out of gst_element_set_state in
3437         preparation for the state change merge. Doesn't pay attention to
3438         the 'transition' argument.
3439         (gst_element_set_state): Updates, hopefully purely cosmetic.
3440         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3441         state change patch.
3442         (gst_element_get_state_func): Renamed from get_state, cosmetic
3443         changes.
3444
3445 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3446
3447         * gst/elements/gstelements.c:
3448         * win32/GStreamer.vcproj:
3449         * win32/config.h:
3450         * win32/dirent.c: (_tseekdir):
3451         * win32/gst-inspect.vcproj:
3452         * win32/gst-launch.vcproj:
3453         * win32/gstconfig.h:
3454         * win32/gstelements.vcproj:
3455         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3456         * win32/gstreamer.def:
3457         * win32/msvc71.sln:
3458           updates for the win32 build (patch from Sebastien Moutte)
3459
3460 2005-10-10  Andy Wingo  <wingo@pobox.com>
3461
3462         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3463         gst_bin_get_state, cleaned up (but no logic changes).
3464         (bin_element_is_sink): Comment updates.
3465         (sink_iterator_filter): Remove needless cast.
3466         (gst_bin_iterate_sinks): Doc update.
3467         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3468         cleaned up (but no logic changes).
3469
3470         * check/states/sinks.c (test_src_sink): Cleanups from the state
3471         change patch.
3472         (test_livesrc_sink): Sync on the state.
3473
3474         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3475         the state change patch.
3476
3477         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3478         change patch.
3479
3480         * check/gst/gstbin.c: Merge in some style fixes and additional
3481         checks from Wim's state change patch.
3482
3483 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3484
3485         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3486         (gst_type_find_helper):
3487           Check whether we have the requested data already in our list of
3488           cached buffers before pulling a new buffer; also make the buffer
3489           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3490
3491 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3492
3493         * gst/gstcaps.c:
3494         * gst/gstevent.c:
3495           doc updates
3496         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3497           don't use long long, it's not portable.  Replacing with
3498           gint64 seems to work; let's hope no skeletons fall out of the closet.
3499
3500 2005-10-10  Andy Wingo  <wingo@pobox.com>
3501
3502         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3503
3504 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3505
3506         * docs/gst/gstreamer-sections.txt:
3507         * gst/gstevent.c:
3508         * gst/gstevent.h:
3509         * gst/gstinfo.c:
3510         * gst/gstinfo.h:
3511         * gst/gstmessage.c: (gst_message_parse_state_changed):
3512         * gst/gstpad.c:
3513         * gst/gstpad.h:
3514           more docs, fix compilation
3515
3516 2005-10-09  Philippe Khalaf <burger@speedy.org>
3517         * gst/gstmessage.c:
3518           Fixed a few forgotten variables on previous commit
3519
3520 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3521
3522         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3523           Fix evil typefind crasher: getrange() might return a short
3524           buffer at the end of a file, but gst_type_find_peek() must
3525           either return the full data as requested or NULL, but
3526           never a short buffer.
3527
3528 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3529
3530         * gst/gstmessage.c: (gst_message_new_state_changed),
3531         (gst_message_parse_state_changed):
3532         * gst/gstmessage.h:
3533           don't use "new", it's a C++ keyword
3534
3535 2005-10-08  Wim Taymans  <wim@fluendo.com>
3536
3537         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3538         * gst/gstelement.c: (gst_element_post_message):
3539         * gst/gstpipeline.c: (gst_pipeline_change_state):
3540         Small docs and debug updates.
3541
3542 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3543
3544         * docs/gst/gstreamer-sections.txt:
3545         * gst/gstelementfactory.c:
3546         * gst/gstevent.c:
3547         * gst/gsttaglist.c:
3548           more docs
3549
3550 2005-10-08  Wim Taymans  <wim@fluendo.com>
3551
3552         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3553         (gst_bin_dispose), (bin_bus_handler):
3554         Fix typos, add comments.
3555         Clear EOS list when going to PAUSED from any direction and do it
3556         in a threadsafe way.
3557         Get base time in a threadsafe way too.
3558         Fix confusing debug in the change_state function.
3559         Various other small cleanups.
3560         
3561         * gst/gstelement.c: (gst_element_post_message):
3562         Fix very verbose bus posting code.
3563
3564         * gst/gstpipeline.c: (gst_pipeline_class_init),
3565         (gst_pipeline_set_property), (gst_pipeline_get_property),
3566         (gst_pipeline_change_state):
3567         Small ARG_ -> PROP_ cleanup
3568
3569 2005-10-08  Wim Taymans  <wim@fluendo.com>
3570
3571         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3572         Do a less CPU demanding EOS check because we can.
3573
3574 2005-10-08  Wim Taymans  <wim@fluendo.com>
3575
3576         * libs/gst/dataprotocol/dataprotocol.c:
3577         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3578         (gst_dp_packet_from_event):
3579         * libs/gst/dataprotocol/dataprotocol.h:
3580         * libs/gst/dataprotocol/dp-private.h:
3581         It's about time we bump the version number.
3582         Since event types don't fit in the guint8 anymore describing
3583         the payload type, make payload type 16 bits wide.
3584
3585 2005-10-08  Wim Taymans  <wim@fluendo.com>
3586
3587         * docs/design/part-TODO.txt:
3588         * docs/design/part-clocks.txt:
3589         * docs/design/part-events.txt:
3590         * docs/design/part-gstbin.txt:
3591         * docs/design/part-gstelement.txt:
3592         * docs/design/part-gstpipeline.txt:
3593         * docs/design/part-live-source.txt:
3594         * docs/design/part-messages.txt:
3595         * docs/design/part-overview.txt:
3596         * docs/design/part-states.txt:
3597         Many doc updates.
3598
3599 2005-10-08  Wim Taymans  <wim@fluendo.com>
3600
3601         * gst/gstevent.c:
3602         * gst/gstevent.h:
3603         Fix event quark registration.
3604         Add some space between events so we can insert them in the
3605         right groups.
3606
3607 2005-10-08  Wim Taymans  <wim@fluendo.com>
3608
3609         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3610         (gst_base_sink_handle_buffer):
3611         Better log message.
3612
3613         * gst/gstbus.h:
3614         * gst/gstelement.h:
3615         More docs.
3616
3617         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3618         (gst_queue_set_property), (gst_queue_get_property):
3619         * gst/gstqueue.h:
3620         Remove old unused properties.
3621
3622 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3623         * docs/gst/gstreamer-sections.txt:
3624         * gst/gstmessage.c:
3625         * gst/gstmessage.h:
3626         * gst/gstminiobject.c:
3627         * gst/gstminiobject.h:
3628         * gst/gstobject.h:
3629         * gst/gstpad.h:
3630         * gst/gstutils.h:
3631           lots of new docs and doc fixes
3632
3633 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3634
3635         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3636         * gst/gstplugin.h:
3637         * gst/gstregistry.c: (gst_registry_lookup_locked),
3638         (gst_registry_scan_path_level):
3639         * gst/gstregistryxml.c: (load_plugin):
3640           Only ever load one plugin for a given plugin basename.
3641           This ensures correct overriding of GST_PLUGIN_PATH over
3642           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3643           system installed plugins.
3644
3645 2005-10-08  Wim Taymans  <wim@fluendo.com>
3646
3647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3648         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3649         Prepare for doing QOS.
3650
3651 2005-10-08  Wim Taymans  <wim@fluendo.com>
3652
3653         * check/gst/gstbin.c: (GST_START_TEST):
3654         * check/pipelines/cleanup.c: (GST_START_TEST):
3655         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3656         Allow new clock message too.
3657
3658 2005-10-08  Wim Taymans  <wim@fluendo.com>
3659
3660         * gst/gstmessage.c: (gst_message_new_error),
3661         (gst_message_new_warning), (gst_message_new_tag),
3662         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3663         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3664         (gst_message_new_segment_start), (gst_message_new_segment_done),
3665         (gst_message_parse_state_changed),
3666         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3667         (gst_message_parse_new_clock):
3668         * gst/gstmessage.h:
3669         Also carry the clock in question.
3670
3671 2005-10-08  Wim Taymans  <wim@fluendo.com>
3672
3673         * gst/gstmessage.c: (gst_message_new_custom),
3674         (gst_message_new_eos), (gst_message_new_error),
3675         (gst_message_new_warning), (gst_message_new_tag),
3676         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3677         (gst_message_new_new_clock), (gst_message_new_segment_start),
3678         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3679         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3680         * gst/gstmessage.h:
3681         Clean up.
3682         Added clock related messages.
3683
3684         * gst/gstpipeline.c: (gst_pipeline_change_state):
3685         Post message when the clock changed.
3686
3687         * tools/gst-launch.c: (event_loop):
3688         Print new clock.
3689
3690 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3691
3692         * tools/gst-inspect.c: (print_element_properties_info):
3693           Can't pass NULL strings to g_print() on windows.
3694
3695 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3696
3697         * docs/Makefile.am:
3698         * docs/gst/Makefile.am:
3699         * docs/gst/gstreamer-docs.sgml:
3700         * docs/gst/running.xml:
3701         * docs/version.entities.in:
3702           add a chapter on running GStreamer.
3703           document GST_DEBUG and GST_PLUGIN* env vars
3704
3705 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3706
3707         * Makefile.am:
3708           remove include dir
3709         * configure.ac:
3710           remove PLUGINS_BUILDDIR stuff
3711         * gst/gst.c: (init_post):
3712           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3713         * idiottest.mak:
3714           remove, it was condescending and not needed
3715
3716 2005-10-08  Wim Taymans  <wim@fluendo.com>
3717
3718         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3719         (gst_base_sink_handle_object), (gst_base_sink_event),
3720         (gst_base_sink_wait), (gst_base_sink_handle_event),
3721         (gst_base_sink_change_state):
3722         * gst/base/gstbasesink.h:
3723         Repost EOS message while going to PLAYING if still EOS.
3724         Make sure that when receiving a FLUSH_START we don't attempt
3725         to sync on the clock anymore.
3726
3727 2005-10-08  Wim Taymans  <wim@fluendo.com>
3728
3729         * tools/gst-launch.c: (event_loop):
3730         Better message printout.
3731
3732 2005-10-08  Wim Taymans  <wim@fluendo.com>
3733
3734         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3735         (gst_bin_child_proxy_get_children_count):
3736         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3737         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3738         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3739         (gst_child_proxy_set_valist):
3740         * gst/parse/grammar.y:
3741         Make ChildProxy threadsafe and fix mem leaks.
3742
3743 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3744
3745         * gst/gst.c: (init_post):
3746           debug the GST_PLUGIN_ env vars
3747
3748 2005-10-08  Wim Taymans  <wim@fluendo.com>
3749
3750         * check/gst/gstbin.c: (GST_START_TEST):
3751         * check/gst/gstmessage.c: (GST_START_TEST):
3752         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3753         * gst/gstelement.c: (gst_element_commit_state),
3754         (gst_element_lost_state):
3755         * gst/gstmessage.c: (gst_message_new_state_changed),
3756         (gst_message_parse_state_changed):
3757         * gst/gstmessage.h:
3758         * tools/gst-launch.c: (event_loop):
3759         Added extra field to STATE_CHANGE message with the pending
3760         state, which will be different from the new state soon.
3761
3762 2005-10-08  Wim Taymans  <wim@fluendo.com>
3763
3764         * gst/gstbus.c: (gst_bus_pop):
3765         * gst/gstclock.c:
3766         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3767         Small cleanups and doc updates.
3768
3769 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3770
3771         * gst/gst.c: (init_pre):
3772         * gst/gstbin.c: (gst_bin_add_func):
3773           log distributing clocks and base time
3774         * gst/gstregistry.c: (gst_registry_add_plugin),
3775         (gst_registry_scan_path_level), (gst_registry_scan_path):
3776           clean up the debugging output a little
3777         * gst/gstutils.c: (gst_element_state_get_name):
3778           warn about a memleak (I've actually seen this be used, though
3779           it was probably a bug)
3780
3781 2005-10-07  Wim Taymans  <wim@fluendo.com>
3782
3783         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3784         (gst_base_src_init), (gst_base_src_default_newsegment),
3785         (gst_base_src_newsegment), (gst_base_src_do_seek),
3786         (gst_base_src_loop), (gst_base_src_start):
3787         * gst/base/gstbasesrc.h:
3788         Make the newsegment event customizable by subclasses.
3789
3790 2005-10-07  Wim Taymans  <wim@fluendo.com>
3791
3792         * gst/gstevent.c: (gst_event_new_buffersize),
3793         (gst_event_parse_buffersize):
3794         * gst/gstevent.h:
3795         New event for future idea.
3796
3797 2005-10-07  Andy Wingo  <wingo@pobox.com>
3798
3799         * gst/gstelement.c (gst_element_post_message): Doc update.
3800
3801         * docs/gst/gstreamer-sections.txt: Update.
3802
3803         * gst/gstmessage.c (gst_message_new_application): Made into a
3804         function like honest API calls.
3805         (gst_message_new_element): New message type.
3806
3807         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3808
3809         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3810         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3811         times.
3812
3813         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3814         NO_PREROLL from gst_element_change_state to fall through.
3815
3816 2005-10-07  Wim Taymans  <wim@fluendo.com>
3817
3818         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3819         (gst_ghost_pad_do_activate_push):
3820         Activating a ghostpad with no internal pad in push mode
3821         is ok.
3822
3823 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3824
3825         * gst/gstobject.h:
3826           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3827           Fixes compilation on Windows.
3828
3829 2005-10-07  Michael Smith <msmith@fluendo.com>
3830
3831         * tools/gst-inspect.c:
3832           Print out feature and plugin count at the end when printing out
3833           all features.
3834
3835 2005-10-04  Michael Smith <msmith@fluendo.com>
3836
3837         * gst/gsterror.c: (_gst_stream_errors_init):
3838           Add another error string used in a few existing plugins.
3839
3840         * gst/gstplugin.c:
3841         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3842         * tools/gst-inspect.c: (print_element_info):
3843           When a feature disappears from a plugin (and the feature exists in
3844           the cached registry file), things went horribly wrong. This isn't a
3845           complete fix, we should actually be removing the 'missing' features
3846           from the features list when we load the actual plugin. That's not
3847           yet implemented. 
3848
3849 2005-10-04  Johan Dahlin  <johan@gnome.org>
3850
3851         * check/gst/gstiterator.c: (GST_START_TEST):
3852         * gst/gstbin.c: (gst_bin_iterate_elements),
3853         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
3854         * gst/gstelement.c: (gst_element_iterate_pads):
3855         * gst/gstformat.c: (gst_format_iterate_definitions):
3856         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3857         (gst_iterator_new_list), (gst_iterator_filter):
3858         * gst/gstiterator.h:
3859         * gst/gstquery.c: (gst_query_type_iterate_definitions):
3860         Add a GType to GstIterator, update callsites and tests.
3861
3862 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3863
3864         * gst/gstpad.c: (gst_pad_event_default_dispatch):
3865           give events a chance to be handled by event probes when the pad
3866           is not linked
3867
3868 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3869
3870         * gst/gstevent.c: (gst_event_type_get_name),
3871         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
3872         * gst/gstevent.h:
3873           add string representations for event types
3874
3875 2005-10-06  Wim Taymans  <wim@fluendo.com>
3876
3877         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
3878         Don't use NULL pointers.
3879
3880 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3881
3882         * gst/gst_private.h:
3883         * gst/gstbus.c:
3884         * gst/gstelement.c:
3885         * gst/gstinfo.c:
3886         * gst/gstpluginfeature.c:
3887           widen the debug category in output to fit the biggest one we have
3888           add a bus category and use it
3889           play with the colors
3890           fix up some categories
3891
3892 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3893
3894         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
3895           add push activation of sink ghost pads.
3896           Andye, please verify
3897
3898 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3899
3900         * gst/gstutils.c: (gst_element_link_pads):
3901           fix a bug in the case where neither element has a pad
3902         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3903           add a test for that case
3904
3905 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3906
3907         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
3908           emit have-data before checking for peers.  This allows
3909           for probe handlers to connect elements.  This helps autopluggers.
3910         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
3911         (gst_pad_suite):
3912           add six checks, linked/unlinked with no/true/false probe
3913
3914 2005-10-04  Wim Taymans  <wim@fluendo.com>
3915
3916         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
3917         (gst_fake_sink_event), (gst_fake_sink_preroll),
3918         (gst_fake_sink_render), (gst_fake_sink_change_state):
3919         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
3920         (gst_fake_src_get_property), (gst_fake_src_create),
3921         (gst_fake_src_stop):
3922         * gst/elements/gstidentity.c: (gst_identity_stop):
3923         Protect last_message with lock.
3924
3925 2005-10-04  Edward Hervey  <edward@fluendo.com>
3926
3927         * gst/gstformat.h: 
3928         Added precision in the comments for GST_FORMAT_DEFAULT
3929
3930 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
3931
3932         * tools/gst-launch.c: (main):
3933           Don't try to run erroneous pipelines.
3934
3935 2005-10-04  Julien MOUTTE  <julien@moutte.net>
3936
3937         * gst/gstbus.c: We don't need this header.
3938
3939 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3940
3941         * configure.ac:
3942           back to development
3943
3944 === release 0.9.3 ===
3945
3946 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3947
3948         * README:
3949         * configure.ac:
3950           Releasing 0.9.3, "Unregistered"
3951
3952 2005-10-03  Andy Wingo  <wingo@pobox.com>
3953
3954         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
3955         whereby calling a pad's activatepush() function can start a thread
3956         that starts to push or pull before the pad gets the FLUSHING flag
3957         unset. Hack around it by holding the stream lock until the flag is
3958         set. Need to replace this with a proper solution. Together with
3959         the ghost pad fixes, this fixes mp3 playing/tagreading.
3960
3961         * docs/design/part-gstghostpad.txt: Add a note about activation of
3962         proxy pads outside of ghost pads.
3963
3964         * gst/gstghostpad.c: Implement the ghost pad activation design.
3965
3966 2005-10-02  Andy Wingo  <wingo@pobox.com>
3967
3968         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
3969         It is volatile, after all.
3970
3971         * docs/design/part-gstghostpad.txt: Flesh out activation with
3972         ghost pads.
3973
3974         * gst/base/gstbasesrc.c (gst_base_src_init): Use
3975         GST_DEBUG_FUNCPTR.
3976
3977 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3978
3979         * configure.ac:
3980           Fix (unused) AM_CONDITIONAL tests.
3981
3982 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
3983
3984         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3985
3986         * gst/gstutils.c: (gst_pad_query_convert):
3987           Add assertion that makes sure src_val is >=0, just like
3988           gst_query_new_convert() has. (#315895)
3989
3990 2005-09-30  Edward Hervey  <edward@fluendo.com>
3991
3992         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
3993         Let's not iterate pads we're not interested in, it avoids getting 
3994         sky-high refcounts on sinkpad.
3995
3996 2005-09-30  Wim Taymans  <wim@fluendo.com>
3997
3998         * gst/gstelement.c: (gst_element_set_state),
3999         (gst_element_change_state):
4000         Small tweak, element in ASYNC remains ASYNC.
4001
4002 2005-09-30  Wim Taymans  <wim@fluendo.com>
4003
4004         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4005         Only error is an error.
4006
4007         * gst/gstbin.c: (gst_bin_change_state):
4008         Better debugging.
4009
4010         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4011         Also call pad_block in pad alloc.
4012
4013         * gst/gstutils.c: (gst_flow_get_name):
4014         Better debugging.
4015
4016 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4017
4018         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4019         (gst_base_src_get_range):
4020           Fix documentation typos. Add some more debug info.
4021
4022 2005-09-29  David Schleef  <ds@schleef.org>
4023
4024         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4025           more end-user friendly.
4026         * tools/gst-inspect.c: (main): Check if command-line argument is
4027           a file and attempt to load that file as a plugin.
4028
4029 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4030
4031         * check/gst/gstbin.c:
4032         * check/states/sinks.c:
4033           fix tests for the new warning
4034         * check/gst/gstpipeline.c:
4035           add a test for pipeline and bus interaction
4036         * gst/gstelement.c:
4037           elements should be NULL if they get disposed; add a warning if not
4038
4039 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4040
4041         * gst/gstobject.c:
4042           for 2.6 refcounting, make debug log more correct by printing
4043           the actual refcounts at the time of swap (Wim)
4044
4045 2005-09-29  Andy Wingo  <wingo@pobox.com>
4046
4047         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4048         removes signal watches previously added via
4049         gst_bus_add_signal_watch.
4050         (gst_bus_add_signal_watch): Don't return the source id, just store
4051         it on the bus if there wasn't an id already.
4052
4053         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4054         add_signal_watch and remove_signal_watch.
4055
4056 2005-09-29  Edward Hervey  <edward@fluendo.com>
4057
4058         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4059         Better if we actually iterate the list :)
4060
4061 2005-09-29  Wim Taymans  <wim@fluendo.com>
4062
4063         * check/gst/gstbin.c: (GST_START_TEST):
4064         Change for new bus API.
4065
4066         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4067         (send_messages), (GST_START_TEST), (gstbus_suite):
4068         Change for new bus signal API.
4069
4070         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4071         (gst_bus_source_prepare), (gst_bus_source_check),
4072         (gst_bus_create_watch), (gst_bus_add_watch_full),
4073         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4074         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4075         * gst/gstbus.h:
4076         Remove support for multiple GSources operating on different
4077         message types as it is too complex and unneeded when using
4078         signals.
4079         Added support for receiving signals from the bus.
4080
4081 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4082
4083         * docs/libs/tmpl/gstdataprotocol.sgml:
4084         * docs/manual/advanced-dataaccess.xml:
4085         * gst/elements/gstcapsfilter.c:
4086         * gst/gstutils.c:
4087           rename filter-caps to caps property
4088
4089 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4090
4091         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4092           More robust fraction string parsing.
4093
4094         * docs/pwg/appendix-porting.xml:
4095           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4096
4097 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4098
4099         * gst/gstcaps.c: (gst_caps_do_simplify):
4100           Thou shalt not free a structure and then continue using it
4101           in the next loop iteration.
4102
4103         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4104         (gst_caps_suite):
4105           Add test case for caps simplification.
4106
4107 2005-09-29  Wim Taymans  <wim@fluendo.com>
4108
4109         * check/gst/gstbin.c: (GST_START_TEST):
4110         Oops.
4111
4112 2005-09-29  Wim Taymans  <wim@fluendo.com>
4113
4114         * check/gst/gstbin.c: (GST_START_TEST):
4115         Add bus to bin.
4116
4117         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4118         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4119         (find_element), (gst_bin_sort_iterator_next),
4120         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4121         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4122         (gst_bin_change_state), (gst_bin_dispose):
4123         A bin does not have a bus, it gets the bus from the parent.
4124
4125         * gst/gstelement.c: (gst_element_requires_clock),
4126         (gst_element_provides_clock), (gst_element_is_indexable),
4127         (gst_element_is_locked_state), (gst_element_change_state),
4128         (gst_element_set_bus_func):
4129         Small cleanups.
4130
4131         * gst/gstpipeline.c: (gst_pipeline_class_init),
4132         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4133         The pipeline provides a bus.
4134
4135 2005-09-28  Johan Dahlin  <johan@gnome.org>
4136
4137         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4138         gst_structure_get_enum instead of gst_structure_get_int
4139
4140         * gst/gststructure.c (gst_structure_get_enum): Impl.
4141
4142         * gst/gststructure.h (gst_structure_get_enum): Add
4143
4144         * docs/gst/gstreamer-sections.txt: Ditto
4145
4146         * gst/gstmessage.c (gst_message_new_state_changed): Use
4147         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4148         which does introspection.
4149         Reviewed by Christian Schaller
4150
4151 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4152
4153         * gst/gstinfo.c: (gst_debug_log_default):
4154           don't do dummy g_strdup()s
4155         * libs/gst/controller/gstcontroller.c:
4156         (on_object_controlled_property_changed),
4157         (gst_controlled_property_new), (gst_controller_new_valist),
4158         (gst_controller_new_list),
4159         (gst_controller_remove_properties_valist), (gst_controller_set),
4160         (gst_controller_get), (gst_controller_sync_values),
4161         (gst_controller_get_value_array), (_gst_controller_class_init),
4162         (gst_controller_get_type):
4163         * libs/gst/controller/gstcontroller.h:
4164         * libs/gst/controller/gstinterpolation.c:
4165         (gst_controlled_property_find_timed_value_node):
4166           convert // to /**/ comments
4167
4168 2005-09-28  Wim Taymans  <wim@fluendo.com>
4169
4170         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4171         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4172         (gst_bus_sync_signal_handler):
4173         * gst/gstbus.h:
4174         Added async-message and sync-message signals to the bus.
4175         Added helper BusFunc to emit signals for all posted messages.
4176
4177         * gst/gstmessage.c: (gst_message_type_get_name),
4178         (gst_message_type_to_quark), (gst_message_get_type):
4179         * gst/gstmessage.h:
4180         Register quarks for message names.
4181
4182 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4183
4184         * docs/libs/gstreamer-libs-sections.txt:
4185         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4186         (gst_controller_new_list):
4187         * libs/gst/controller/gstcontroller.h:
4188           added another constructor for language bindings
4189
4190 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4191
4192         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4193           add another check
4194         * gst/gstbus.c:
4195           add some doc
4196         * gst/gstinfo.c: (_gst_debug_init):
4197           slightly more readable color for refcount debugging
4198
4199 2005-09-28  Wim Taymans  <wim@fluendo.com>
4200
4201         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4202         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4203         (find_element), (gst_bin_sort_iterator_next),
4204         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4205         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4206         (gst_bin_change_state), (gst_bin_dispose):
4207         Small doc fixes. get_clock -> provide_clock.
4208
4209         * gst/gstelement.c: (gst_element_class_init),
4210         (gst_element_provides_clock), (gst_element_provide_clock),
4211         (gst_element_get_clock), (gst_element_commit_state),
4212         (gst_element_lost_state):
4213         * gst/gstelement.h:
4214         Make get/set_clock() symetric. Add provide_clock vmethod since
4215         that is actually what this function does.
4216
4217         * gst/gstpipeline.c: (gst_pipeline_class_init),
4218         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4219         (gst_pipeline_get_clock):
4220         get_clock -> provide_clock.
4221
4222 2005-09-28  Andy Wingo  <wingo@pobox.com>
4223
4224         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4225         lieu of real docs...
4226
4227         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4228
4229 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4230
4231         * gst/elements/gstcapsfilter.c:
4232         * gst/elements/gstfakesink.c:
4233         * gst/elements/gstfakesrc.c:
4234         * gst/elements/gstfdsink.c:
4235         * gst/elements/gstfdsrc.c:
4236         * gst/elements/gstfilesink.c:
4237         * gst/elements/gstfilesrc.c:
4238         * gst/elements/gstidentity.c:
4239         * gst/elements/gsttee.c:
4240         * gst/elements/gsttypefindelement.c:
4241           Make element details static.
4242
4243 2005-09-28  Wim Taymans  <wim@fluendo.com>
4244
4245         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4246         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4247         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4248         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4249         (gst_bin_change_state), (gst_bin_dispose):
4250         Some documentation updates.
4251         Clean up dispose handlers.
4252
4253         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4254         * gst/gstpad.c: (gst_pad_dispose):
4255         Clean up dispose handler.
4256
4257         * gst/gstpipeline.c: (gst_pipeline_change_state):
4258         Removed spurious UNLOCK.
4259
4260 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4261
4262         * docs/gst/gstreamer-sections.txt:
4263         * gst/base/gstbasesrc.h:
4264         * gst/gstelement.h:
4265         * gst/gstevent.h:
4266         * gst/gstobject.h:
4267         * gst/gstpad.h:
4268         * gst/gstpipeline.c:
4269         * gst/gstpipeline.h:
4270         * gst/gstutils.h:
4271         * gst/gstxml.h:
4272           added two new functions to the docs
4273                 documents all undocumented GstXXXFlags
4274                 completed some incomplete docs 
4275
4276 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4277
4278         * gst/gstbin.c: (gst_bin_dispose):
4279         * gst/gstelement.c: (gst_element_dispose):
4280           remove now useless and leaky resurrection code in dispose
4281         * gst/base/gstbasesrc.c: (gst_base_src_init):
4282         * gst/gstelementfactory.c: (gst_element_factory_create):
4283         * gst/gstobject.c: (gst_object_set_parent):
4284           add some debugging
4285
4286 2005-09-27  Wim Taymans  <wim@fluendo.com>
4287
4288         * docs/design/part-TODO.txt:
4289         Update TODO.
4290
4291         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4292         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4293         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4294         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4295         (gst_bin_change_state):
4296         * gst/gstelement.h:
4297         Remove element variable, we keep element info in the iterator now.
4298
4299 2005-09-27  Andy Wingo  <wingo@pobox.com>
4300
4301         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4302         values.
4303
4304 2005-09-27  Wim Taymans  <wim@fluendo.com>
4305
4306         * check/gst/gstbin.c: (GST_START_TEST):
4307         Enable check that works now.
4308
4309         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4310         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4311         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4312         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4313         (gst_bin_change_state):
4314         * gst/gstbin.h:
4315         Redid the state change algorithm using a topological sort algo.
4316         Handles all cases correctly.
4317         Exposed iterator for state change order.
4318
4319         * gst/gstelement.h:
4320         Temp storage for state changes. Need to get rid of this soon.
4321
4322 2005-09-27  Wim Taymans  <wim@fluendo.com>
4323
4324         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4325         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4326         (link_fold_func), (gst_pad_proxy_setcaps):
4327         Leak fixes, the fold functions need to unref the passed object and
4328         _get_parent_*() returns ref to parent.
4329
4330 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4331
4332         * check/gst/gstbuffer.c: (test_make_writable):
4333           Plug leak in test case and fix 'make check-valgrind'
4334
4335 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4336
4337         * gst/gstbuffer.c: (gst_subbuffer_init):
4338           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4339           works correctly in all circumstances (we could have just copied
4340           the parent buffer's readonly flag, but conceptually it seems
4341           cleaner to mark all subbuffers as read-only). (based on patch
4342           by Alessandro Decina, #314710).
4343         
4344         * check/gst/gstbuffer.c: (create_read_only_buffer),
4345         (test_make_writable), (test_subbuffer_make_writable),
4346         (gst_test_suite):
4347           Add some tests for gst_buffer_make_writable().
4348
4349 2005-09-27  Wim Taymans  <wim@fluendo.com>
4350
4351         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4352         use gst_object_has_ancestor().
4353
4354         * gst/gstobject.c: (gst_object_has_ancestor):
4355         * gst/gstobject.h:
4356         gst_object_has_ancestor() copied from gstbin.c as it is a
4357         usefull function.
4358
4359         * tests/instantiate/create.c: (create_all_elements):
4360         * tests/lat.c: (handoff_src), (handoff_sink):
4361         * tests/sched/runxml.c: (main):
4362         * tests/seeking/seeking1.c: (main):
4363         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4364         (main):
4365         Fix compilation of some tests.
4366
4367 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4368
4369         * gst/gsterror.h:
4370           Remove comment. GST_TYPE_G_ERROR is here to stay,
4371           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4372           (#316961, #300610).
4373
4374 2005-09-26  Wim Taymans  <wim@fluendo.com>
4375
4376         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4377         Added check that shows error in state change order.
4378
4379 2005-09-26  Wim Taymans  <wim@fluendo.com>
4380
4381         * gst/gstbin.c: (gst_bin_change_state):
4382         Make state change function use 3 queues again, we were
4383         adding elements in the wrong order.
4384
4385         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4386         Some debug info,
4387
4388         * gst/gstpad.c: (gst_pad_dispose):
4389         Added some debug info first.
4390
4391 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4392
4393         * docs/design/draft-push-pull.txt:
4394         * docs/design/part-events.txt:
4395         * docs/design/part-overview.txt:
4396         * docs/design/part-scheduling.txt:
4397           Replace all _pull_region() with _pull_range()
4398           
4399 2005-09-26  Andy Wingo  <wingo@pobox.com>
4400
4401         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4402
4403         * check/gst-libs/controller.c: Update for controller api change.
4404
4405         * configure.ac: 
4406         * tests/Makefile.am:
4407         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4408         over by GLib bug 118439.
4409         
4410         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4411         routines to a function.
4412
4413         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4414
4415         * libs/gst/controller/gsthelper.c:
4416         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4417         (gst_object_sync_values): Renamed from sink_values. Ugh.
4418
4419         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4420
4421         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4422         Renamed from controller_key, as it is exported.
4423
4424         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4425
4426 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4427
4428         * gst/Makefile.am:
4429         * gst/gst.h:
4430         * gst/gstpad.h:
4431         * gst/gstpadtemplate.h:
4432         * gst/gstquery.c:
4433         * gst/gstquery.h:
4434         * gst/gstqueryutils.c:
4435         * gst/gstqueryutils.h:
4436           remove queryutils headers after moving the two used functions
4437           to gstquery.  also fixes build problem for gstsiddec
4438
4439 2005-09-26  Michael Smith <msmith@fluendo.com>
4440
4441         * tools/gst-launch.1.in:
4442         Correct documentation in manpage of debug syntax
4443
4444 2005-09-26  Wim Taymans  <wim@fluendo.com>
4445
4446         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4447         (gst_base_src_is_seekable), (gst_base_src_change_state):
4448         Some more debugging info.
4449
4450 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4451
4452         * docs/gst/gstreamer-sections.txt:
4453         * gst/base/gstbasetransform.h:
4454         * gst/gstindex.h:
4455           added more docs
4456
4457 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4458
4459         * docs/gst/.cvsignore:
4460         * docs/gst/tmpl/.cvsignore:
4461         * docs/gst/tmpl/gstpipeline.sgml:
4462         * docs/gst/tmpl/gstplugin.sgml:
4463         * gst/gstpipeline.c:
4464         * gst/gstplugin.c:
4465         * gst/gstplugin.h:
4466           inlined the last two docs files
4467           removed the tmpl directory from cvs (no more conflicts here!)
4468
4469 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4470
4471         * docs/gst/gstreamer-sections.txt:
4472         * docs/gst/tmpl/.cvsignore:
4473         * docs/gst/tmpl/gstpad.sgml:
4474         * docs/gst/tmpl/gstpadtemplate.sgml:
4475         * gst/Makefile.am:
4476         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4477         (gst_pad_finalize), (gst_pad_set_pad_template):
4478         * gst/gstpad.h:
4479         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4480         (gst_pad_template_class_init), (gst_pad_template_init),
4481         (gst_pad_template_dispose), (name_is_valid),
4482         (gst_static_pad_template_get), (gst_pad_template_new),
4483         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4484         (gst_pad_template_pad_created):
4485         * gst/gstpadtemplate.h:
4486           inlined two more docs
4487           factored gstpadtemplate out of gstpad
4488
4489 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4490
4491         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4492         (test_children_state_change_order_semi_sink):
4493           Fix test case: we can't rely on a fixed state change order when
4494           going from READY => PAUSED because the sink might commit its 
4495           new state first when the first buffer created by the source 
4496           reaches the sink before the source has finished its change state.
4497           (Test case still fails at times, see #316856, comment 5 onwards)
4498
4499 2005-09-24  Wim Taymans  <wim@fluendo.com>
4500
4501         * docs/design/part-events.txt:
4502         * docs/design/part-gstbus.txt:
4503         * docs/design/part-gstpipeline.txt:
4504         * docs/design/part-messages.txt:
4505         * docs/design/part-overview.txt:
4506         * docs/design/part-segments.txt:
4507         * gst/gstbin.c:
4508         * gst/gstbuffer.c:
4509         * gst/gstclock.c:
4510         * gst/gstelement.c:
4511         * gst/gstevent.c:
4512         * gst/gstfilter.c:
4513         * gst/gstiterator.c:
4514         Various documentation updates.
4515
4516 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4517
4518         * gst/gstclock.h:
4519           Well, that's embarassing.  Luckily we weren't using
4520           GST_CLOCK_DIFF anywhere.
4521
4522 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4523
4524         * common/gtk-doc.mak:
4525           don't fail on building XML, FC4 slave shows a bunch of doc
4526           missing bits that I don't get
4527         * gst/gstpad.c:
4528         * gst/gstpipeline.c:
4529         * gst/gststructure.c:
4530           some doc updates
4531
4532 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4533
4534         * docs/design/part-gstbin.txt:
4535         * docs/design/part-gstbus.txt:
4536         * gst/gstbus.c:
4537           Add blurb about how the bus goes into flushing mode and
4538           drops all messages when its bin goes from READY into NULL 
4539           state.
4540
4541 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4542
4543         * docs/gst/gstreamer-sections.txt:
4544         * gst/gststructure.c: (gst_structure_get_clock_time):
4545         * gst/gststructure.h:
4546           add a method to get a GstClockTime out of a structure
4547
4548 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4549
4550         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4551         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4552           Added test to check state change order in bins (can still be made
4553           to fail here under heavy disk load; bails out with 'Push on pad
4554           fakesink:sink0, but it was not activated in push mode').
4555
4556         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4557           Fix state change order when there is only a semi sink (#316856)
4558
4559         * gst/gstbus.c: (gst_bus_class_init):
4560           Use _class_peek_parent(), not _class_ref(); fix docs to say
4561           'default main context' instead of 'mainloop' where that is
4562           what's meant.
4563
4564         * gst/gstelement.c: (gst_element_commit_state),
4565         (gst_element_set_state):
4566           Fix typos in debug messages
4567
4568 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4569
4570         * docs/README:
4571         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4572         * gst/gstpluginfeature.c:
4573         * gst/gstutils.c:
4574           various doc updates
4575         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4576           change an assert into an error until it gets fixed properly
4577
4578 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4579
4580         * docs/gst/gstreamer-sections.txt:
4581         * docs/gst/tmpl/.cvsignore:
4582         * docs/gst/tmpl/gstelement.sgml:
4583         * docs/gst/tmpl/gstinfo.sgml:
4584         * docs/gst/tmpl/gstobject.sgml:
4585         * gst/gstelement.c:
4586         * gst/gstelement.h:
4587         * gst/gstinfo.c:
4588         * gst/gstinfo.h:
4589         * gst/gstobject.c: (gst_object_class_init):
4590         * gst/gstobject.h:
4591           inlined 3 more biiiig doc files and added some missing docs on the fly
4592
4593 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4594
4595         * check/gst/.cvsignore:
4596         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4597         * gst/gstregistryxml.c: (load_plugin),
4598         (gst_registry_xml_save_plugin):
4599           put back source in registry.  add checks for find_plugin.
4600         * testsuite/states/bin.c: (assert_state), (empty_bin),
4601         (test_adding_one_element), (main):
4602         * testsuite/states/locked.c: (main):
4603           some compile/run fixes
4604
4605 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4606
4607         * check/gst/gstvalue.c: (GST_START_TEST):
4608           fix leaks in the test itself
4609
4610 2005-09-22  Wim Taymans  <wim@fluendo.com>
4611
4612         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4613         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4614         (gst_base_sink_query):
4615         Prepare for more accurate position reporting and query
4616         handling.
4617
4618         * gst/gstelement.c: (gst_element_send_event),
4619         (gst_element_set_state):
4620         Add some comment.
4621
4622 2005-09-22  Wim Taymans  <wim@fluendo.com>
4623
4624         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4625         (gst_query_parse_segment):
4626         * gst/gstquery.h:
4627         More documentation.
4628         Add segment query for future use.
4629
4630 2005-09-22  Wim Taymans  <wim@fluendo.com>
4631
4632         * gst/gstbin.c: (gst_bin_add_func):
4633         Some more debug info.
4634
4635         * gst/gstelement.c: (gst_element_send_event):
4636         Simplify send_event
4637
4638         * gst/gstelement.h:
4639         Don't know how flags got broken.
4640
4641         * gst/gstquery.h:
4642         Added new query.
4643
4644 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4645
4646         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4647           Add simplistic test suite for GST_TYPE_DATE serialisation and
4648           deserialisation.
4649
4650 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4651
4652         * docs/gst/gstreamer-sections.txt:
4653         * gst/gststructure.c: (gst_structure_set_valist),
4654         (gst_structure_get_date):
4655         * gst/gststructure.h:
4656         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4657         (gst_date_copy), (gst_value_compare_date),
4658         (gst_value_serialize_date), (gst_value_deserialize_date),
4659         (gst_value_transform_date_string),
4660         (gst_value_transform_string_date), (_gst_value_initialize):
4661         * gst/gstvalue.h:
4662           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4663           bunch of utility functions along with a hack that checks that
4664           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4665           is required. Part of the grand scheme in #170777.
4666
4667 2005-09-22  Andy Wingo  <wingo@pobox.com>
4668
4669         * gst/gstconfig.h.in: Psych out gtk-doc.
4670
4671         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4672
4673         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4674
4675         * tools/gst-inspect.c (print_element_list): Plug some
4676         inconsequential leaks.
4677
4678         * gst/gstregistry.c (gst_registry_get_default): Doc.
4679
4680         * check/gst/gstplugin.c: 
4681         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4682         * gst/gstelementfactory.c (gst_element_factory_create): 
4683         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4684         refcount changes.
4685
4686         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4687         (gst_plugin_feature_load): Doc, don't eat refs.
4688
4689         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4690         (gst_plugin_list_free): Doc.
4691         (gst_plugin_load_file): Doc updates.
4692
4693         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4694         accessors returning refcounted objects, return a ref.
4695
4696         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4697         accessor for caps. IDEMPOTENCE. Oh yes.
4698
4699 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4700
4701         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4702
4703         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4704         (_gst_debug_register_funcptr):
4705           Add mutex to serialise access to the hash table with
4706           the function pointer => function name string mapping;
4707           make that hash table static scope (#316809).
4708
4709         * gst/registries/.cvsignore:
4710           Remove left-over file.
4711
4712 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4713
4714         * docs/pwg/appendix-porting.xml:
4715           And something about newsegment events and caps-on-buffers to
4716           the porting guide (feel free to improve).
4717
4718 2005-09-21  Andy Wingo  <wingo@pobox.com>
4719
4720         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4721         data and event probes on the same pad.
4722         (test_buffer_probe_once): Test that removing probes from within
4723         the probe functions works.
4724
4725 2005-09-21  Andy Wingo  <wingo@pobox.com>
4726
4727         * check/gst/gstutils.c: New file.
4728         (test_buffer_probe_n_times): A simple buffer probe test. More to
4729         come, foolios.
4730
4731         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4732         have-data::buffer, not have-data.
4733         (gst_pad_add_event_probe): Likewise for have-data::event.
4734         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4735         peer' isn't quite right yet though.
4736         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4737         (gst_pad_remove_data_probe): Change to take the guint handler_id
4738         as their arg, not the function+data, which is more glib-like.
4739
4740         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4741         the signal emission to indicate if the data is a buffer or an
4742         event.
4743         (gst_pad_get_type): Initialize buffer and event quarks.
4744         (gst_pad_class_init): have-data is now a detailed signal, yes it
4745         is.
4746
4747 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4748
4749         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4750         * gst/gstutils.c: (gst_util_set_value_from_string),
4751         (gst_util_set_object_arg):
4752           Don't put functional code in g_return_if_fail() or
4753           g_return_val_if_fail() statements, otherwise things will 
4754           break when G_DISABLE_CHECKS is defined during compilation.
4755
4756 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4757
4758         * docs/gst/tmpl/.cvsignore:
4759         * docs/gst/tmpl/gstvalue.sgml:
4760         * gst/gstvalue.c:
4761         * gst/gstvalue.h:
4762           inlied another one and added  some obvious docs
4763
4764 2005-09-21  Wim Taymans  <wim@fluendo.com>
4765
4766         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4767         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4768         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4769         (gst_fdsrc_get_property), (gst_fdsrc_create):
4770         * gst/elements/gstfdsrc.h:
4771         Properly implement fdsrc. Removed signal and timeout,
4772         better implemented somewhere else.
4773
4774 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4775
4776         * docs/gst/tmpl/.cvsignore:
4777         * docs/gst/tmpl/gstimplementsinterface.sgml:
4778         * gst/gstinterface.c:
4779           inlined more docs
4780
4781 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4782
4783         * docs/gst/gstreamer-sections.txt:
4784         * docs/gst/tmpl/.cvsignore:
4785         * docs/gst/tmpl/gstenumtypes.sgml:
4786           remove obsolete doc file
4787
4788 2005-09-21  David Schleef  <ds@schleef.org>
4789
4790         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4791         little beer, fix a little leak.
4792
4793 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4794
4795         * docs/gst/gstreamer-docs.sgml:
4796         * docs/gst/gstreamer-sections.txt:
4797         * docs/gst/tmpl/.cvsignore:
4798         * gst/Makefile.am:
4799         * gst/gst.h:
4800         * gst/gstbin.c:
4801         * gst/gstelement.h:
4802         * gst/gstindex.c: (gst_index_class_init):
4803         * gst/gstindex.h:
4804         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4805         (gst_index_factory_class_init), (gst_index_factory_init),
4806         (gst_index_factory_finalize), (gst_index_factory_new),
4807         (gst_index_factory_destroy), (gst_index_factory_find),
4808         (gst_index_factory_create), (gst_index_factory_make):
4809         * gst/gstindexfactory.h:
4810         * gst/gstpluginfeature.c:
4811         * gst/gstpluginfeature.h:
4812         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4813           more docs inlined, splitted gstindex.{c,h}
4814
4815 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4816
4817         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4818           fix a leak
4819
4820 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4821
4822         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4823           Set sync to FALSE by default.
4824
4825 2005-09-20  Wim Taymans  <wim@fluendo.com>
4826
4827         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4828         (gst_base_sink_init):
4829         Make sync property settable from subclass.
4830
4831         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4832         (gst_fake_sink_change_state):
4833         Set sync to FALSE by default.
4834
4835 2005-09-20  Wim Taymans  <wim@fluendo.com>
4836
4837         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
4838         * tools/gst-launch.c: (main):
4839         The timeout handler should have lower priority than the source
4840         so we don't timeout before popping a message with 0 timeout.
4841         Dump error messages after failed state change.
4842
4843 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4844
4845         * tools/gst-inspect.c: (print_element_properties_info):
4846           Fix two typos.
4847
4848 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4849
4850         * check/gst/gstevent.c:
4851         * gst/elements/gstfakesink.c:
4852         * gst/elements/gstfakesink.h:
4853           remove the sync property from fakesink.
4854           has the side effect of setting sync TRUE
4855           for fakesink, which is a change.  Anyone who knows how
4856           to fix this nicely in a GObject-y way, feel free.
4857
4858 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4859
4860         * docs/gst/gstreamer-docs.sgml:
4861           remove probe refsection
4862
4863 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4864
4865         * check/Makefile.am:
4866           disable valgrinding the controller test again
4867         * docs/gst/gstreamer-sections.txt:
4868           update for api-changes
4869
4870 2005-09-20  Wim Taymans  <wim@fluendo.com>
4871
4872         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4873         (gst_base_sink_set_property), (gst_base_sink_get_property),
4874         (gst_base_sink_do_sync):
4875         * gst/base/gstbasesink.h:
4876         Added sync property to basesink to disable clock sync.
4877
4878 2005-09-20  Andy Wingo  <wingo@pobox.com>
4879
4880         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
4881         eating the caller's refcount.
4882
4883         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
4884         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4885         refcount.
4886
4887         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
4888         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
4889         of GLib 2.8 public, so we can know which refcount to check in
4890         tests.
4891
4892         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
4893         (gst_object_init): Only set the gst refcount if we're going ahead
4894         with the refcount hack.
4895
4896 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4897
4898         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4899         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4900           more leaks plumbed, added more debug-logging
4901         * gst/gstmacros.h:
4902           whitespace fix
4903
4904 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4905
4906         * gst/gstmessage.c:
4907           remove include of gstmemchunk.h
4908
4909 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4910
4911         * gst/gstclock.c: (_gst_clock_id_free):
4912           Commit from the Political Party For More Atomic CVS Commits,
4913           so that people don't waste too much of their day fishing
4914           out obvious leaks out of massive commits.
4915           Oh, and fix a pretty damn obvious leak in the memchunk
4916           removal code.
4917
4918 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4919
4920         * check/Makefile.am:
4921         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4922           plug mem-leak, re-add to valgrindable tests
4923
4924 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4925
4926         * gst/gstplugin.h:
4927           unbreak the build for those who have chronic arthritis
4928           and typing "make check" is just too taxing on the hands
4929
4930 2005-09-20  Andy Wingo  <wingo@pobox.com>
4931
4932         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
4933         really want it out, you should fix plugins at the same time.
4934
4935 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
4936
4937         * configure.ac:
4938         * docs/gst/gstreamer-sections.txt:
4939         * gst/gstobject.c:
4940           added missing symbols to api docs
4941           disable ref-count hack if we have glib >= 2.8
4942
4943 2005-09-19  David Schleef  <ds@schleef.org>
4944
4945         * docs/gst/Makefile.am: Ignore a few more internal headers
4946         * docs/gst/gstreamer-docs.sgml: Remove old sections
4947         * docs/gst/gstreamer-sections.txt: Remove old sections
4948         * docs/gst/tmpl/gstobject.sgml: update
4949         * docs/gst/tmpl/gstplugin.sgml: update
4950         * docs/gst/tmpl/gstpluginfeature.sgml: update
4951         * docs/random/ds/0.9-suggested-changes: update.
4952         * gst/Makefile.am: remove memchunk and trashstack, since they're
4953           not used.
4954         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
4955         * gst/gst.h: don't include some headers
4956         * gst/gstchildproxy.c: add gstmarshal.h
4957         * gst/gstclock.c: Don't use memchunks
4958         * gst/gstminiobject.c: Add some docs
4959         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
4960         * gst/gstobject.h: same
4961         * gst/gstplugin.c: include gstmacros.h
4962         * gst/gstplugin.h: don't include gstmacros.h, since it's private
4963         * gst/gstquery.c: don't use memchunks
4964         * gst/gstregistry.c: rename gst_registry_deinit()
4965         * gst/gstregistry.h: same
4966
4967 2005-09-19  David Schleef  <ds@schleef.org>
4968
4969         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
4970         * docs/libs/gstreamer-libs-sections.txt:
4971         * docs/libs/tmpl/gstgetbits.sgml:
4972         * docs/libs/tmpl/gstputbits.sgml:
4973
4974 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4975
4976         * win32/gstenumtypes.c:
4977         * win32/gstenumtypes.h:
4978           Update.
4979
4980 2005-09-19  Wim Taymans  <wim@fluendo.com>
4981
4982         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
4983         Automatically PAUSE and RESUME a pipeline when a flushing seek
4984         is performed.
4985
4986 2005-09-19  Andy Wingo  <wingo@pobox.com>
4987
4988         * gst/gstregistry.h: Spacing fixen.
4989
4990 2005-09-19  Wim Taymans  <wim@fluendo.com>
4991
4992         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
4993         Handle state change failure more correctly.
4994
4995 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4996
4997         * check/Makefile.am:
4998         * check/pipelines/cleanup.c: (run_pipeline):
4999         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5000         (GST_START_TEST):
5001           enable cleanup again after fixing the leak
5002         * docs/README:
5003           some more info on docs
5004
5005 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5006
5007         * check/Makefile.am:
5008           re-enable tests now that leaks are plugged
5009         * check/gst/gst.c:
5010         * check/gst/gstbin.c:
5011         * check/gst/gstpipeline.c:
5012           add some more tests while fixing leaks
5013         * common/check.mak:
5014           make sure binaries are uptodate when valgrinding/gdbing
5015         * gst/gst.c:
5016         * gst/gstelementfactory.c:
5017           remove a ref too many, and add a FIXME for when we get
5018           round to disposing of classes
5019         * gst/gstplugin.c:
5020           fix the refcounting when loading a plugin from a file and
5021           the code pretends that the pointer is the same even though
5022           of course it can change
5023         * gst/gstpluginfeature.c:
5024           unref plugins marked cached (a bit confusing as a name)
5025           as the docs state should be done
5026           various doc additions to explain refcounting
5027         * gst/gstregistry.c:
5028         * gst/gstregistryxml.c:
5029           debugging
5030
5031 2005-09-19  Wim Taymans  <wim@fluendo.com>
5032
5033         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5034         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5035         (send_messages), (GST_START_TEST), (gstbus_suite):
5036         * check/gst/gstpipeline.c: (GST_START_TEST):
5037         * check/pipelines/cleanup.c: (run_pipeline):
5038         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5039         (GST_START_TEST):
5040         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5041         (gst_bus_source_check), (gst_bus_source_dispatch),
5042         (gst_bus_create_watch), (gst_bus_add_watch_full),
5043         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5044         * gst/gstbus.h:
5045         * tools/gst-launch.c: (event_loop):
5046         * tools/gst-md5sum.c: (event_loop):
5047         GstBusHandler -> GstBusFunc, return value has the same meaning as
5048         any other GSource (FALSE == remove source).
5049         _add_watch() and _add_watch_full() now take a MessageType mask to
5050         only handle specific types of messages.
5051         _poll() returns the GstMessage instead of the message type to avoid
5052         race conditions.
5053         _have_pending() takes a MessageType mask now too.
5054         Added testsuite for multiple bus watches.
5055         Fix testsuites and applications for new bus API.
5056
5057 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5058
5059         * check/Makefile.am:
5060           mark a bunch of the tests as to fix until we fix them
5061
5062 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5063
5064         * common/check.mak:
5065           use GST_PLUGIN settings for valgrind tests as well, so we're
5066           valgrinding the correct thing
5067         * gst/gst.c: (init_post):
5068           plug another leak
5069
5070 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5071
5072         * gst/gst.c: (init_post), (gst_deinit):
5073         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5074         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5075         * gst/gstindex.c: (gst_index_factory_class_init),
5076         (gst_index_factory_finalize):
5077         * gst/gstobject.c: (gst_object_dispose):
5078         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5079         (gst_plugin_load_file), (gst_plugin_desc_free):
5080         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5081         (gst_plugin_feature_finalize):
5082         * gst/gstregistry.c: (gst_registry_class_init),
5083         (gst_registry_init), (gst_registry_finalize),
5084         (gst_registry_get_default), (gst_registry_deinit):
5085         * gst/gstregistry.h:
5086         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5087           various cleanups and memleak plugging.  make valgrind is happy now.
5088
5089 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * common/check.mak:
5092           add a check-valgrind target
5093
5094 2005-09-18  David Schleef  <ds@schleef.org>
5095
5096         * tools/gst-inspect.c: Revert the GOption code.
5097
5098 2005-09-17  David Schleef  <ds@schleef.org>
5099
5100         * check/Makefile.am: Fix environment variables.
5101         * check/gst/gstplugin.c: Fix for API changes.
5102         * tools/gst-inspect.c: Fix for API changes.
5103         * tools/gst-xmlinspect.c: Fix for API changes.
5104         * gst/gstelementfactory.c:
5105         * gst/gstplugin.c:
5106         * gst/gstplugin.h:
5107         * gst/gstpluginfeature.c:
5108         * gst/gstpluginfeature.h:
5109         * gst/gstregistry.c:
5110         * gst/gstregistry.h:
5111         * gst/gstregistryxml.c:
5112         * gst/gsttypefind.c:
5113         * gst/gsttypefindfactory.c:
5114         * gst/indexers/gstfileindex.c:
5115         * gst/indexers/gstmemindex.c:
5116         * gst/schedulers/Makefile.am:
5117           Change registry to keep track of both plugins and features,
5118           removing the feature tracking from plugins themselves.
5119
5120 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5121
5122         * check/Makefile.am:
5123         * tools/gst-register.1.in:
5124           remove gst-register
5125
5126 2005-09-15  David Schleef  <ds@schleef.org>
5127
5128         * check/gst/gstplugin.c:
5129         * gst/gstelementfactory.c:
5130         * gst/gstplugin.c:
5131         * gst/gstpluginfeature.c:
5132         * gst/gstregistry.c:
5133           Getting tired of debugging.  Disabled all the unreffing of
5134           plugins and features, which fixes the segfaults, but of
5135           course leaks like crazy.  At least playbin works.
5136
5137 2005-09-15  David Schleef  <ds@schleef.org>
5138
5139         * check/gst/gstplugin.c: (register_check_elements),
5140         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5141         More testing
5142         * gst/elements/gsttypefindelement.c: Fix refcounting.
5143         * gst/gsttypefind.c:
5144         * gst/gsttypefindfactory.c:
5145         * gst/gsttypefindfactory.h:
5146
5147 2005-09-15  David Schleef  <ds@schleef.org>
5148
5149         * gst/gstindex.c: get refcounting correct.
5150         * gst/gstregistry.c: Handle the case where a feature/plugin is
5151           not found.
5152
5153 2005-09-15  David Schleef  <ds@schleef.org>
5154
5155         * check/Makefile.am:
5156         * check/gst/gstplugin.c: Add test
5157         * gst/gstplugin.c: Fix problems noticed by testsuite
5158         * gst/gstplugin.h:
5159         * gst/gstregistry.c: 
5160         * gst/gstregistry.h:
5161
5162 2005-09-15  David Schleef  <ds@schleef.org>
5163
5164         * gst/gstplugin.c: Implement semi-decent recounting and locking
5165           in plugins and plugin features.
5166         * gst/gstplugin.h:
5167         * gst/gstpluginfeature.c:
5168         * gst/gstpluginfeature.h:
5169         * gst/gstregistry.c:
5170
5171 2005-09-15  Michael Smith <msmith@fluendo.com>
5172
5173         * gst/gstregistry.c: (gst_registry_get_feature_list):
5174           Implement this. Makes oggdemux work; decodebin still broken.
5175
5176 2005-09-14  David Schleef  <ds@schleef.org>
5177
5178         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5179           #316076)
5180         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5181         * gst/check/Makefile.am:
5182         * libs/gst/controller/Makefile.am:
5183         * libs/gst/dataprotocol/Makefile.am:
5184
5185 2005-09-14  David Schleef  <ds@schleef.org>
5186
5187         * configure.ac: Remove getbits library.  Nothing uses it, and
5188           it should be in something like liboil if someone did want
5189           to use it.
5190         * libs/gst/Makefile.am:
5191         * libs/gst/getbits/Makefile.am:
5192         * libs/gst/getbits/gbtest.c:
5193         * libs/gst/getbits/getbits.c:
5194         * libs/gst/getbits/getbits.h:
5195         * libs/gst/getbits/gstgetbits_generic.c:
5196         * libs/gst/getbits/gstgetbits_i386.s:
5197         * libs/gst/getbits/gstgetbits_inl.h:
5198
5199 2005-09-14  David Schleef  <ds@schleef.org>
5200
5201         * gst/Makefile.am: Dist glib-compat.h
5202
5203 2005-09-14  David Schleef  <ds@schleef.org>
5204
5205         * configure.ac: Remove gst/registries, since it's no longer used.
5206         * gst/registries/Makefile.am:
5207         * gst/registries/gstlibxmlregistry.c:
5208         * gst/registries/gstlibxmlregistry.h:
5209         * gst/registries/gstxmlregistry.c:
5210         * gst/registries/gstxmlregistry.h:
5211         * gst/registries/registrytest.c:
5212
5213 2005-09-14  David Schleef  <ds@schleef.org>
5214
5215         * gst/glib-compat.h:
5216         * gst/gstregistryxml.c:
5217           Convergence is near.  Seriously.
5218
5219 2005-09-14  David Schleef  <ds@schleef.org>
5220
5221         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5222         * gst/glib-compat.h:
5223           Attempt #4 to appease the buildbots.
5224
5225 2005-09-14  David Schleef  <ds@schleef.org>
5226
5227         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5228           Attempt #3.
5229
5230 2005-09-14  David Schleef  <ds@schleef.org>
5231
5232         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5233         Attempt #2.
5234
5235 2005-09-14  David Schleef  <ds@schleef.org>
5236
5237         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5238           the new functions.
5239
5240 2005-09-14  David Schleef  <ds@schleef.org>
5241
5242         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5243         * gst/glib-compat.h: Add some functions that are in newer versions
5244           of glib than we care to require.
5245         * gst/gstregistryxml.c: Use them.
5246
5247 2005-09-14  David Schleef  <ds@schleef.org>
5248
5249         * po/POTFILES.in: remove gst-register.c
5250
5251 2005-09-14  David Schleef  <ds@schleef.org>
5252
5253         * docs/gst/gstreamer-docs.sgml:
5254         * docs/gst/gstreamer-sections.txt:
5255         * docs/gst/gstreamer.types:
5256         * docs/gst/tmpl/gstelement.sgml:
5257         * docs/gst/tmpl/gstplugin.sgml:
5258         * docs/gst/tmpl/gstpluginfeature.sgml:
5259           Documentation updates for registry changes.
5260
5261 2005-09-14  David Schleef  <ds@schleef.org>
5262
5263         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5264           because we don't require glib-2.8.
5265
5266 2005-09-14  David Schleef  <ds@schleef.org>
5267
5268         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5269           registries directory.
5270
5271 2005-09-14  David Schleef  <ds@schleef.org>
5272
5273         * check/Makefile.am:
5274         * check/generic/states.c:
5275         * gst/Makefile.am:
5276         * gst/gst.c:
5277         * gst/gst.h:
5278         * gst/gst_private.h:
5279         * gst/gstelementfactory.c:
5280         * gst/gstindex.c:
5281         * gst/gstinfo.c:
5282         * gst/gstplugin.c:
5283         * gst/gstplugin.h:
5284         * gst/gstpluginfeature.c:
5285         * gst/gstpluginfeature.h:
5286         * gst/gstregistry.c:
5287         * gst/gstregistry.h:
5288         * gst/gstregistrypool.c: remove
5289         * gst/gstregistrypool.h: remove
5290         * gst/gsttypefind.c:
5291         * gst/gsttypefindfactory.c:
5292         * gst/gsturi.c:
5293         * tools/Makefile.am:
5294         * tools/gst-compprep.c:
5295         * tools/gst-inspect.c:
5296         * tools/gst-register.c: remove
5297         * tools/gst-xmlinspect.c:
5298           Registry rewrite.  Changes registry from being a file created
5299           by a tool into a simple cache file created automatically by 
5300           libgstreamer.  Removed gst-register (because it's no longer
5301           needed).  Remove registry pools, because we only have one
5302           registry implementation (XML).  Fix up other subsystems as
5303           necessary.
5304
5305 2005-09-13  Michael Smith <msmith@fluendo.com>
5306
5307         * gst/gstconfig.h.in:
5308           Don't Use windows linking attributes for MinGW. Fixes #316157
5309
5310 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5311
5312         * gst/gstutils.c: (set_state_async_thread_func),
5313         (gst_element_set_state_async):
5314           Apparently people think it's better if this function doesn't
5315           try to set the state to whatever state was asked for on the first
5316           call to this function for any object.  Seriously.
5317
5318 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5319
5320         * check/gst/gstpipeline.c: (GST_START_TEST):
5321         * docs/gst/gstreamer-sections.txt:
5322         * gst/gstutils.c: (set_state_async_thread_func),
5323         (gst_element_set_state_async):
5324         * gst/gstutils.h:
5325           add a "gst_element_set_state_async" method that
5326           sets the state and starts a thread to make sure the state
5327           change completes as best as it can
5328
5329 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5330
5331         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5332           codify design+behaviour in testsuite after discussion
5333
5334 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5335
5336         * docs/gst/tmpl/gstelement.sgml:
5337         * docs/manual/appendix-quotes.xml:
5338           add a quote
5339         * gst/gstelement.c: (gst_element_set_state):
5340           add some debug
5341
5342 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5343
5344         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5345         (gst_base_transform_prepare_output_buf),
5346         (gst_base_transform_handle_buffer):
5347         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5348         (gst_capsfilter_prepare_buf):
5349           Remove the requirement for sub-classes to call the parent
5350           implementation of prepare_output_buffer with a wrapper function.
5351           
5352         * gst/gsttaglist.h:
5353         * gst/gsttagsetter.h:
5354           Fix #define wrapper
5355
5356 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5357
5358         * docs/gst/gstreamer-sections.txt:
5359           more doc cleanups
5360
5361 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5362
5363         * docs/gst/gstreamer-sections.txt:
5364         * docs/gst/tmpl/gstelement.sgml:
5365         * docs/gst/tmpl/gstplugin.sgml:
5366         * gst/gstminiobject.c:
5367         * gst/gstvalue.h:
5368           docs now stop throwing warnings
5369
5370 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5371
5372         * docs/gst/gstreamer-sections.txt:
5373         * docs/gst/gstreamer.types:
5374         * docs/gst/tmpl/gstpad.sgml:
5375         * docs/gst/tmpl/gsttypes.sgml:
5376         * gst/base/gstadapter.h:
5377         * gst/base/gstbasesink.h:
5378         * gst/base/gstbasesrc.h:
5379         * gst/gstbin.h:
5380         * gst/gstbuffer.h:
5381         * gst/gstbus.h:
5382         * gst/gstcaps.h:
5383         * gst/gstclock.h:
5384         * gst/gstelement.h:
5385         * gst/gstevent.h:
5386         * gst/gstmessage.h:
5387         * gst/gstpad.h:
5388         * gst/gststructure.c:
5389         * gst/registries/gstlibxmlregistry.h:
5390           various documentation fixes
5391
5392 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5393
5394         * docs/gst/gstreamer-sections.txt:
5395         * docs/gst/tmpl/gstvalue.sgml:
5396           rearrange gstvalue section
5397         * gst/gstutils.c: (gst_element_state_get_name):
5398           NONE -> VOID
5399         * gst/gstvalue.c: (_gst_value_initialize):
5400         * gst/gstvalue.h:
5401           doc updates
5402
5403 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5404
5405         * check/gst-libs/controller.c:
5406           Header include fix.
5407         * gst/base/gstbasetransform.c:
5408         (gst_base_transform_default_prepare_buf),
5409         (gst_base_transform_handle_buffer):
5410         * gst/base/gstbasetransform.h:
5411           Some more basetransform changes and fixes to enable sub-classes
5412           that modify buffer metadata only.
5413         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5414         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5415         (gst_capsfilter_prepare_buf):
5416           If the output pad has fixed allowed caps and input buffers 
5417           don't have any, set the fixed caps on outgoing buffers.
5418
5419 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5420         * check/elements/identity.c: (GST_START_TEST):
5421           Make the error a little clearer when the test fails because
5422           identity made a copy of the buffer.
5423         * docs/gst/gstreamer-sections.txt:
5424           New symbols in gstbasetransform.h
5425         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5426         (gst_base_transform_init), (gst_base_transform_transform_size),
5427         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5428         (gst_base_transform_default_prepare_buf),
5429         (gst_base_transform_get_unit_size),
5430         (gst_base_transform_buffer_alloc),
5431         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5432         (gst_base_transform_change_state),
5433         (gst_base_transform_set_passthrough),
5434         (gst_base_transform_set_in_place),
5435         (gst_base_transform_is_in_place):
5436         * gst/base/gstbasetransform.h:
5437           Change BaseTransform to separate in_place operate from same_caps
5438           output. in_place implies that the element can perform the transform
5439           on incoming buffers in-place, even if the caps on the output are
5440           different.
5441           Sub-class elements can now implement special buffer allocation
5442           methods for outgoing buffers if they wish to.
5443           Big documentation addition.
5444         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5445         * gst/elements/gstelements.c:
5446           Changes for basetransform modifications.
5447         * gst/elements/Makefile.am:
5448         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5449           Compile fix. Extra debug output.
5450
5451 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5452
5453         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5454         (gst_pad_suite):
5455           add tests for valid pad naming
5456         * gst/check/gstcheck.c: (gst_check_log_message_func),
5457         (gst_check_log_critical_func):
5458           add ASSERT_WARNING
5459           remove printing of code, it is fragile when the code contains
5460           % and the line number is enough info
5461         * gst/check/gstcheck.h:
5462         * gst/gstpad.c: (gst_pad_template_new):
5463           fix memleaks
5464
5465 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5466
5467         * configure.ac:
5468           say what CHECK flags we use
5469         * docs/libs/gstreamer-libs.types:
5470         * libs/gst/controller/Makefile.am:
5471         * libs/gst/controller/gst-controller.c:
5472         * libs/gst/controller/gst-controller.h:
5473         * libs/gst/controller/gst-helper.c:
5474         * libs/gst/controller/gst-interpolation.c:
5475         * libs/gst/controller/gstcontroller.c:
5476         * libs/gst/controller/gsthelper.c:
5477         * libs/gst/controller/gstinterpolation.c:
5478         * tools/gst-inspect.c: (print_plugin_info):
5479           we don't use dashes in header names
5480
5481 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * check/Makefile.am:
5484         * check/gst/.cvsignore:
5485         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5486         (gst_pipeline_suite), (main):
5487           adding a test for pipelines and state changes
5488         * gst/gstutils.c: (get_state_func):
5489           add some debugging
5490         * gstreamer.spec.in:
5491           fix up spec file
5492
5493 2005-09-08  Michael Smith <msmith@fluendo.com>
5494
5495         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5496         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5497         (gst_file_src_is_seekable), (gst_file_src_get_size),
5498         (gst_file_src_start):
5499         * gst/elements/gstfilesrc.h:
5500           Various fixes for unseekable, unmmapable, and non-normal files, so
5501           that fallback to read() rather than mmap() works.
5502         * gst/gstevent.c: (gst_event_new_newsegment):
5503           Allow newsegment events with segment_start == segment_end, as will
5504           correctly happen if you use filesrc on a zero-size file, for
5505           example.
5506
5507 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5508
5509         * gst/gstplugin.c: (gst_plugin_load_file):
5510           Call g_module_close when we don't load the module
5511
5512         * gst/registries/gstlibxmlregistry.c:
5513         (gst_xml_registry_get_property):
5514           Port leak fix from 0.8
5515
5516 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5517
5518         * docs/gst/gstreamer-docs.sgml:
5519         * docs/gst/tmpl/.cvsignore:
5520         * docs/gst/tmpl/gsttrace.sgml:
5521         * docs/gst/tmpl/gsttrashstack.sgml:
5522         * gst/Makefile.am:
5523         * gst/gst.h:
5524         * gst/gstelement.h:
5525         * gst/gstevent.h:
5526         * gst/gstmessage.c:
5527         * gst/gstmessage.h:
5528         * gst/gsttag.c:
5529         * gst/gsttag.h:
5530         * gst/gsttaginterface.c:
5531         * gst/gsttaginterface.h:
5532         * gst/gsttaglist.c:
5533         * gst/gsttaglist.h:
5534         * gst/gsttagsetter.c:
5535         * gst/gsttagsetter.h:
5536         * gst/gsttrace.c:
5537         * gst/gsttrace.h:
5538         * gst/gsttrashstack.c:
5539           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5540           inlined docs for gsttrace, gsttrashstack
5541
5542 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5543
5544         * gst/Makefile.am:
5545         * gst/elements/gstbufferstore.h:
5546         * gst/elements/gsttypefindelement.c:
5547         * gst/elements/gsttypefindelement.h:
5548         * gst/gst.h:
5549         * gst/gsttypefind.c:
5550         * gst/gsttypefind.h:
5551         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5552         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5553         (gst_type_find_factory_dispose),
5554         (gst_type_find_factory_unload_thyself),
5555         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5556         (gst_type_find_factory_get_caps),
5557         (gst_type_find_factory_get_extensions),
5558         (gst_type_find_factory_call_function):
5559         * gst/gsttypefindfactory.h:
5560         * gst/registries/gstlibxmlregistry.c:
5561         * gst/registries/gstxmlregistry.c:
5562           splitted gsttypefind into gsttypefind, gsttypefindfactory
5563
5564 2005-09-07  Andy Wingo  <wingo@pobox.com>
5565
5566         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5567         condition whereby the pad's task function is entered before the
5568         pad_mode variable was set.
5569
5570 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5571
5572         * gst/gstpad.c: (gst_pad_alloc_buffer):
5573           Catch misbehaving pad_alloc functions that don't
5574           set up caps and do it for them.
5575
5576 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5577
5578         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5579           test for pipe!=NULL
5580         * docs/gst/tmpl/.cvsignore:
5581         * docs/gst/tmpl/gstmemchunk.sgml:
5582         * docs/gst/tmpl/gstparse.sgml:
5583         * docs/gst/tmpl/gsttaglist.sgml:
5584         * docs/gst/tmpl/gsttagsetter.sgml:
5585         * docs/gst/tmpl/gsttypefind.sgml:
5586         * docs/gst/tmpl/gsttypefindfactory.sgml:
5587         * gst/gstmemchunk.c:
5588         * gst/gstparse.c:
5589         * gst/gsttag.c:
5590         * gst/gsttaginterface.c:
5591         * gst/gsttypefind.c:
5592         * gst/gsttypefind.h:
5593           inlined more docs
5594
5595 === release 0.9.2 ===
5596
5597 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5598
5599         * NEWS:
5600         * RELEASE:
5601         * configure.ac:
5602           releasing 0.9.2, "South"
5603
5604 2005-09-05  Andy Wingo  <wingo@pobox.com>
5605
5606         * gst/registries/gstxmlregistry.h:
5607         * gst/registries/gstxmlregistry.c: Um... resurrect...
5608         
5609         * gst/registries/gstxmlregistry.h:
5610         * gst/registries/gstxmlregistry.c: and update to newer API.
5611         Incidentally they should be a bit faster now that they don't have
5612         to parse the caps.
5613         
5614 2005-09-05  Andy Wingo  <wingo@pobox.com>
5615
5616         * gst/registries/gstxmlregistry.h:
5617         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5618         replaced by the libxml registry a while back
5619
5620 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5621
5622         * docs/gst/tmpl/gstplugin.sgml:
5623         * gst/elements/gstelements.c:
5624         * gst/gst.c:
5625         * gst/gstplugin.c: (gst_plugin_register_func),
5626         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5627         (gst_plugin_get_source):
5628         * gst/gstplugin.h:
5629         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5630         (gst_xml_registry_save_plugin):
5631         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5632         (gst_xml_registry_save_plugin):
5633         * tools/gst-inspect.c: (print_plugin_info):
5634           add a "source" plugin description field, to represent the source
5635           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5636           will set it to PACKAGE, which is automake's idea of the name of
5637           the source project.
5638
5639 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5640
5641         * Makefile.am:
5642         * autogen.sh:
5643         * configure.ac:
5644         * docs/Makefile.am:
5645         * docs/faq/Makefile.am:
5646         * docs/gst/tmpl/gstelement.sgml:
5647         * docs/gst/tmpl/gsttypes.sgml:
5648         * docs/htmlinstall.mak:
5649         * docs/manual/Makefile.am:
5650         * docs/pwg/Makefile.am:
5651           reorganize doc build a little
5652           split out docbook and gtk-doc stuff
5653           have two separate --enable's and enable them through autogen
5654           but disable by default in configure (to be similar to other
5655           projects)
5656         * gstreamer.spec.in:
5657           clean up docs install
5658         * po/af.po:
5659         * po/az.po:
5660         * po/ca.po:
5661         * po/cs.po:
5662         * po/de.po:
5663         * po/en_GB.po:
5664         * po/fr.po:
5665         * po/it.po:
5666         * po/nb.po:
5667         * po/nl.po:
5668         * po/ru.po:
5669         * po/sq.po:
5670         * po/sr.po:
5671         * po/sv.po:
5672         * po/tr.po:
5673         * po/uk.po:
5674         * po/vi.po:
5675           translation updates
5676
5677 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5678
5679         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5680           Add comment.
5681           
5682         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5683         (gst_fake_sink_change_state):
5684           Make state change function thread-safe.
5685           
5686         * gst/gstpad.c: (gst_pad_alloc_buffer):
5687           Set offset on generic buffer allocated by fallback.
5688
5689 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5690
5691         * docs/gst/gstreamer-sections.txt:
5692         * docs/gst/tmpl/gstelement.sgml:
5693         * gst/gstpad.c:
5694         * libs/gst/controller/gst-controller.c:
5695         (gst_controlled_property_set_interpolation_mode),
5696         (gst_controlled_property_new),
5697         (gst_controller_find_controlled_property):
5698          run the wingo-magic script against the docs
5699
5700 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5701
5702         * docs/gst/gstreamer-docs.sgml:
5703         * docs/gst/gstreamer-sections.txt:
5704         * docs/gst/tmpl/.cvsignore:
5705         * docs/gst/tmpl/gstelementdetails.sgml:
5706         * docs/gst/tmpl/gstelementfactory.sgml:
5707         * gst/gst.c:
5708         * gst/gstbus.c:
5709         * gst/gstelementfactory.c:
5710         * gst/gstelementfactory.h:
5711           merged elementdetails docs into elementfactory docs
5712           inlined both
5713
5714 2005-09-02  Andy Wingo  <wingo@pobox.com>
5715
5716         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5717         consider this enum an enum and not a flags.
5718
5719 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5720
5721         * docs/gst/gstreamer-docs.sgml:
5722         * docs/gst/tmpl/.cvsignore:
5723         * docs/gst/tmpl/gstghostpad.sgml:
5724         * docs/gst/tmpl/gstiterator.sgml:
5725         * docs/gst/tmpl/gstmacros.sgml:
5726         * docs/gst/tmpl/gstrealpad.sgml:
5727         * docs/gst/tmpl/gstregistry.sgml:
5728         * docs/gst/tmpl/gstregistrypool.sgml:
5729         * docs/gst/tmpl/gststructure.sgml:
5730         * docs/gst/tmpl/gstsystemclock.sgml:
5731         * docs/gst/tmpl/gsttrace.sgml:
5732         * gst/gstghostpad.c:
5733         * gst/gstmacros.h:
5734         * gst/gstmemchunk.c:
5735         * gst/gstmemchunk.h:
5736         * gst/gstqueue.c:
5737         * gst/gstregistry.c:
5738         * gst/gstregistrypool.c:
5739         * gst/gststructure.c:
5740         * gst/gstsystemclock.c:
5741           more docs inlined
5742
5743 2005-09-02  Andy Wingo  <wingo@pobox.com>
5744
5745         * gst/gstelement.h (GstState): Renamed from GstElementState,
5746         changed to be a normal enum instead of flags.
5747         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5748         munged to be GST_STATE_CHANGE_*.
5749         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5750         work with the new state representation.
5751         (GstStateChange): New enumeration of possible state transitions.
5752         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5753         (GstElementClass::change_state): Pass the GstStateChange along as
5754         an argument. Helps language bindings, so they don't have to use
5755         tricky lock-needing macros like GST_STATE_CHANGE ().
5756
5757         * scripts/update-states (file): New script. Run it on a file to
5758         update it for state naming and API changes. Updates files in
5759         place.
5760
5761         * All files updated for the new API.
5762
5763 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5764
5765         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5766         * gst/gstutils.c: (gst_util_set_value_from_string),
5767         (gst_util_set_object_arg):
5768           fix a bunch of unchecked return values
5769         * tools/gst-complete.c: (main):
5770         * gstreamer.spec.in:
5771           clean up a little
5772
5773 2005-09-01  Wim Taymans  <wim@fluendo.com>
5774
5775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5776         (gst_base_sink_event), (gst_base_sink_do_sync),
5777         (gst_base_sink_handle_event):
5778         * gst/base/gstbasesink.h:
5779         Handle newsegments more correctly.
5780
5781         * gst/gstbus.c:
5782         Fix docs.
5783
5784         * gst/gstevent.c: (gst_event_new_newsegment):
5785         A newsegment cannot have a start_time of -1
5786
5787 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5788
5789         * win32/gstenumtypes.c:
5790         * win32/gstenumtypes.h:
5791           Update
5792
5793 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5794
5795         * libs/gst/controller/gst-controller.c:
5796         (gst_controlled_property_set_interpolation_mode),
5797         (gst_controlled_property_new):
5798          fixed boolean again
5799
5800 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5801
5802         * docs/faq/gst-uninstalled:
5803           add -good
5804         * gst/gstevent.c:
5805         * gst/gstevent.h:
5806           remove wrong docs
5807         * gst/gstutils.c: (gst_element_link_filtered):
5808         * gst/gstutils.h:
5809           add gst_element_link_filtered
5810
5811 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5812
5813         * docs/gst/gstreamer-docs.sgml:
5814         * docs/gst/gstreamer-sections.txt:
5815         * docs/gst/tmpl/.cvsignore:
5816         * docs/gst/tmpl/gsterror.sgml:
5817         * docs/gst/tmpl/gstfilter.sgml:
5818         * docs/gst/tmpl/gsturihandler.sgml:
5819         * docs/gst/tmpl/gsturitype.sgml:
5820         * docs/gst/tmpl/gstutils.sgml:
5821         * docs/gst/tmpl/gstxml.sgml:
5822         * gst/gsterror.c:
5823         * gst/gsterror.h:
5824         * gst/gstfilter.c:
5825         * gst/gsturi.c:
5826         * gst/gsturitype.c:
5827         * gst/gstutils.c:
5828         * gst/gstxml.c:
5829           inlined more docs, fixed double id-ref
5830
5831 2005-08-31  Wim Taymans  <wim@fluendo.com>
5832
5833         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5834         (gst_base_transform_handle_buffer):
5835         Passthrough elements don't need the caps as they don't care.
5836
5837 2005-08-31  Wim Taymans  <wim@fluendo.com>
5838
5839         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5840         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
5841         Don't leak refcounts on buffers.
5842
5843 2005-08-31  Wim Taymans  <wim@fluendo.com>
5844
5845         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
5846         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5847         (gst_base_transform_chain), (gst_base_transform_change_state):
5848         * gst/base/gstbasetransform.h:
5849         Handle the case where we are not negotiated more gracefully.
5850
5851 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
5852
5853         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
5854         (gst_file_src_map_region):
5855           Set READONLY flag on mmap'ed buffers, otherwise
5856           gst_buffer_make_writable() won't work properly (#314708).
5857
5858 2005-08-31  Wim Taymans  <wim@fluendo.com>
5859
5860         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
5861         passthrough elements can even do inplace on non writable
5862         buffers (as they don't touch them).
5863
5864 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5865
5866         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5867         (gst_test_mono_source_set_property),
5868         (gst_test_mono_source_class_init), (GST_START_TEST),
5869         (gst_controller_suite):
5870           more tests (hehe I have the most)
5871         * gst/gstbus.c:
5872           describe popping messages whenusing mulltiple sources
5873         * libs/gst/controller/gst-controller.c:
5874         (gst_controlled_property_set_interpolation_mode),
5875         (gst_controlled_property_new):
5876         * libs/gst/controller/gst-controller.h:
5877         * libs/gst/controller/gst-interpolation.c:
5878           implement boolean properties
5879
5880 2005-08-31  Wim Taymans  <wim@fluendo.com>
5881
5882         * gst/gstminiobject.c: (gst_mini_object_ref):
5883         Cannot assert that the refcount has to be positive
5884         since a disposed object can be resurrected.
5885
5886 2005-08-31  Wim Taymans  <wim@fluendo.com>
5887
5888         * gst/gstpad.c: (gst_pad_init):
5889         Revert change, need to first fix badly behaving 
5890         apps.
5891
5892 2005-08-30  Wim Taymans  <wim@fluendo.com>
5893
5894         * check/elements/fakesrc.c: (setup_fakesrc):
5895         * check/elements/identity.c: (setup_identity):
5896         Activate pads before using them.
5897
5898 2005-08-30  Wim Taymans  <wim@fluendo.com>
5899
5900         * gst/base/gstadapter.c: (gst_adapter_flush):
5901         Flushing out 0 bytes is ok for this function.
5902
5903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5904         no newsegment gives a warning and sets the start/stop to 
5905         invalid.
5906
5907         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
5908         (gst_base_transform_set_passthrough):
5909         Some debug info.
5910
5911         * gst/gstminiobject.c: (gst_mini_object_ref):
5912         Check refcount here too.
5913
5914         * gst/gstpad.c: (gst_pad_init):
5915         Pads are initially flushing and refusing data.
5916
5917         * gst/gstutils.c: (gst_element_link_pads_filtered):
5918         When adding a capsfilter element make sure it has the
5919         same state as the parent bin.
5920
5921 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5922
5923         * docs/gst/tmpl/.cvsignore:
5924         * docs/gst/tmpl/gstformat.sgml:
5925         * docs/gst/tmpl/gstversion.sgml:
5926         * gst/gstbus.h:
5927         * gst/gstformat.c:
5928         * gst/gstformat.h:
5929         * gst/gstversion.h.in:
5930           more docs and two more inlined
5931
5932 2005-08-30  Wim Taymans  <wim@fluendo.com>
5933
5934         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
5935         Don't sync to clock.
5936
5937 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5938
5939         * docs/gst/gstreamer-sections.txt:
5940           ultral33t func10ns deserve to appear in the docs actually
5941         * docs/gst/tmpl/.cvsignore:
5942         * docs/gst/tmpl/gstcompat.sgml:
5943         * docs/gst/tmpl/gstconfig.sgml:
5944         * gst/check/gstcheck.c:
5945         * gst/gstcompat.h:
5946         * gst/gstconfig.h.in:
5947           inlined more docs
5948
5949 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5950
5951         * docs/gst/tmpl/.cvsignore:
5952         * docs/gst/tmpl/gstquery.sgml:
5953         * docs/gst/tmpl/gstutils.sgml:
5954         * gst/gstquery.c:
5955         * gst/gstquery.h:
5956           inlined and extended docs
5957
5958 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5959
5960         * check/gst-libs/controller.c: (GST_START_TEST),
5961         (gst_controller_suite):
5962           more tests
5963         * docs/gst/tmpl/gstutils.sgml:
5964         * docs/libs/gstreamer-libs-sections.txt:
5965         * docs/libs/tmpl/gstdataprotocol.sgml:
5966           include path fixes
5967         * examples/controller/audio-example.c: (main):
5968           controller example works now
5969         * gst/gstclock.h:
5970           doc fixes
5971         * tools/gst-inspect.c: (print_element_properties_info):
5972           show param spec flags
5973
5974 2005-08-29  Andy Wingo  <wingo@pobox.com>
5975
5976         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
5977
5978 2005-08-28  Andy Wingo  <wingo@pobox.com>
5979
5980         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
5981         as having two arguments instead of just one. Allows superclasses
5982         to access information on subclasses -- see the terrible for() loop
5983         in gtype.c:g_type_create_instance for the reason why. All callers
5984         changed.
5985
5986 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5987
5988         * docs/design/part-messages.txt:
5989           update info
5990         * docs/gst/tmpl/.cvsignore:
5991         * docs/gst/tmpl/gstcaps.sgml:
5992         * docs/gst/tmpl/gstclock.sgml:
5993         * gst/gstbus.c:
5994         * gst/gstcaps.c:
5995         * gst/gstcaps.h:
5996         * gst/gstclock.c:
5997         * gst/gstclock.h:
5998         * gst/gstmessage.c:
5999           added descriptions for bus and message
6000           inline caps and clock docs
6001
6002 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6003
6004         * gst/gstmessage.c:
6005         * gst/gstmessage.h:
6006           doc fixes
6007
6008 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6009
6010         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6011           fix div-by-zero
6012
6013 2005-08-26  Andy Wingo  <wingo@pobox.com>
6014
6015         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6016         element_set_state's return val.
6017         (test_2_elements): Add test that's been disabled for months.
6018
6019         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6020         can-activate-pull properties.
6021
6022         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6023         can-activate-pull properties. Implement is_seekable so fakesrc can
6024         operate in pull mode.
6025
6026         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6027         properties.
6028         (gst_base_sink_activate, gst_base_sink_activate_pull)
6029         (gst_base_sink_activate_push): Make activation mode choosing work.
6030         Cleanups.
6031         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6032         is right. Make pull mode work. Post an eos before pausing in pull
6033         mode.
6034         (gst_base_sink_change_state): Pay attention to the core's
6035         change_state() return val.
6036         
6037         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6038         has-getrange properties. Cleanups.
6039         
6040         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6041         has_getrange and replace with can_activate_pull and
6042         can_activate_push.
6043
6044         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6045         locking comments. Remove has_loop, has_chain and replace with
6046         can_activate_pull and can_activate_push.
6047
6048 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6049
6050         * configure.ac:
6051         * examples/Makefile.am:
6052         * examples/metadata/Makefile.am:
6053         * examples/metadata/read-metadata.c: (message_loop),
6054         (have_pad_handler), (make_pipeline), (print_tag), (main):
6055           Add metadata reading example that loops over a list of filenames,
6056           dumping any tags found.
6057
6058         * gst/gstbus.c: (gst_bus_dispose):
6059         * gst/gstelement.c: (gst_element_dispose):
6060           Release a few potentially-held references in dispose.
6061
6062 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6063
6064         * docs/gst/tmpl/gstminiobject.sgml:
6065           do *not* add tmpl/*.sgml files to CVS!
6066
6067 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6068
6069         * libs/gst/bytestream/.cvsignore:
6070         * libs/gst/bytestream/Makefile.am:
6071         * libs/gst/bytestream/adapter.c:
6072         * libs/gst/bytestream/adapter.h:
6073         * libs/gst/bytestream/bytestream.c:
6074         * libs/gst/bytestream/bytestream.h:
6075         * libs/gst/bytestream/filepad.c:
6076         * libs/gst/bytestream/filepad.h:
6077           removing obsolete files
6078
6079 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6080
6081         * docs/gst/gstreamer-docs.sgml:
6082         * docs/libs/gstreamer-libs-docs.sgml:
6083           disabed additional index entries again, as this makes docs-gen just
6084           slow and they aren't useful yet
6085         * docs/libs/gstreamer-libs-sections.txt:
6086           little -section.txt cleanup for libs
6087
6088 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6089
6090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6091         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6092           fix up some debugging
6093         (gst_base_transform_get_unit_size),
6094         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6095         (gst_base_transform_handle_buffer):
6096         * gst/base/gstbasetransform.h:
6097           handle and store timed NEWSEGMENT events so that subclasses that
6098           calculate time by counting samples have a segment_start time they
6099           need to add to their timestamps - see audioresample
6100
6101 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6102
6103         * gst/gstbin.h:
6104           removed ';' from the end of macro defs
6105         * docs/gst/gstreamer-docs.sgml:
6106         * docs/gst/gstreamer-sections.txt:
6107         * docs/gst/tmpl/.cvsignore:
6108         * gst/gstbus.h:
6109         * gst/gstelement.c: (gst_element_class_init),
6110         (gst_element_set_state), (activate_pads),
6111         (gst_element_save_thyself):
6112         * gst/gstevent.c: (gst_event_new_newsegment):
6113         * gst/gstevent.h:
6114         * gst/gstiterator.c:
6115         * gst/gstiterator.h:
6116         * gst/gstpad.c:
6117         * gst/gstprobe.h:
6118         * gst/gstutils.c: (gst_pad_query_convert):
6119         * gst/gstutils.h:
6120           fixed parameter name mismatches between source, header and docs
6121           added some more docs, resolved the last batch of unused elements in
6122           docs (now someone needs to doc them)
6123
6124 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6125
6126         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6127         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6128           don't walk through the plugins backwards.  Where is all this
6129           reversed logic coming from ?
6130
6131 2005-08-25  Wim Taymans  <wim@fluendo.com>
6132
6133         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6134         (gst_base_transform_transform_size),
6135         (gst_base_transform_configure_caps),
6136         (gst_base_transform_get_unit_size),
6137         (gst_base_transform_buffer_alloc),
6138         (gst_base_transform_change_state):
6139         * gst/base/gstbasetransform.h:
6140         Cache caps unit_size.
6141         Make sure we cannot negotiate up and downstream at the
6142         same time.
6143
6144 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6145
6146         * gst/gst.c: (init_pre), (init_post):
6147           register the installed plugin path after the env var
6148         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6149         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6150           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6151           directories, so the tests can prefer uninstalled over installed
6152
6153 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6154
6155         * gst/base/gstbasetransform.h:
6156           comment
6157         * gst/gstpad.c:
6158           add to docs
6159
6160 2005-08-25  Wim Taymans  <wim@fluendo.com>
6161
6162         * gst/gstbin.c: (bin_bus_handler):
6163         Be a bit more conservative about the posted message.
6164         
6165         * gst/gstbus.c: (gst_bus_post):
6166         Some cleanups, warn wrong return values.
6167
6168 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6169
6170         * check/gst/gstbin.c: (GST_START_TEST):
6171         * gst/gstbin.c: (bin_bus_handler):
6172         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6173         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6174         (gst_message_new_warning), (gst_message_new_tag),
6175         (gst_message_new_state_changed), (gst_message_new_segment_start),
6176         (gst_message_new_segment_done), (gst_message_new_custom):
6177         * gst/gstmessage.h:
6178         * tools/gst-launch.c: (event_loop):
6179         * tools/gst-md5sum.c: (event_loop):
6180           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6181
6182 2005-08-25  Wim Taymans  <wim@fluendo.com>
6183
6184         * check/generic/states.c: (GST_START_TEST):
6185         Cleanup can be done at the end.
6186
6187         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6188         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6189         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6190         Oh boy.. Thanks for finding this, Thomas. 
6191
6192 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6193
6194         * docs/gst/gstreamer.types:
6195           added missing types
6196
6197 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6198
6199         * docs/gst/gstreamer-docs.sgml:
6200         * docs/gst/gstreamer-sections.txt:
6201         * docs/gst/tmpl/.cvsignore:
6202         * gst/gstbin.c:
6203         * gst/gstiterator.c:
6204         * gst/gstutils.c:
6205         * gst/registries/gstxmlregistry.h:
6206           added missing classes and symbols (123 more to go)
6207           removed removed symbols from section file
6208           fixed many doc-comments
6209
6210 2005-08-24  Wim Taymans  <wim@fluendo.com>
6211
6212         * check/generic/states.c: (GST_START_TEST):
6213         Make sure all tasks are stopped.
6214
6215         * check/gst/gstbin.c: (GST_START_TEST):
6216         Unref after usage for proper valgrinding.
6217
6218         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6219         Really wait for the task to stop before destroying the
6220         mutex.
6221
6222         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6223         (gst_queue_src_activate_push):
6224         Small cleanups. Don't stop the task when we did not start
6225         it.
6226
6227         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6228         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6229         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6230         (gst_task_join):
6231         * gst/gsttask.h:
6232         Protect the stream lock with the object lock.
6233         Disallow setting the stream lock when running.
6234         Add cleanup_all to wait for the threadpool to finish.
6235         Remove code to autoallocate a mutex if none was provided.
6236         Add _join() to wait for a task to stop.
6237         Protect the thread pool with a global lock.
6238
6239 2005-08-24  Wim Taymans  <wim@fluendo.com>
6240
6241         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6242         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6243         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6244         * gst/base/gstbasesink.h:
6245         Handle newsegment events correctly.
6246         Drop buffers out of the segment range.
6247
6248 2005-08-22  Andy Wingo  <wingo@pobox.com>
6249
6250         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6251         macro, implements an interface and gstimplementsinterface for a
6252         new type.
6253
6254 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6255
6256         * check/Makefile.am:
6257         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6258           add a test that does a bunch of state changes on elements
6259           needs some fixing for valgrind
6260         * check/states/sinks.c: (gst_object_suite):
6261           whitespace
6262         * gst/gstcaps.h:
6263           add prototype for gst_caps_is_equal_fixed
6264         * gst/gstplugin.c:
6265         * gst/gstregistrypool.c:
6266           doc fixes
6267
6268 2005-08-24  Andy Wingo  <wingo@pobox.com>
6269
6270         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6271         convert a negative value. Doesn't make much sense. Mostly this is
6272         here to force callers to ensure -1 maps to -1.
6273
6274 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6275
6276         * docs/pwg/advanced-types.xml:
6277           Well done to Michael for catching my deliberate introduction
6278           of this spelling mistake. 
6279         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6280         * gst/gstelement.h:
6281           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6282           unlink pads before removing the element from the bin.
6283
6284 2005-08-24  Andy Wingo  <wingo@pobox.com>
6285
6286         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6287         the same thing as GST_DEBUG=*:4.
6288         (parse_debug_level, parse_debug_category): New helper parsers.
6289
6290 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6291
6292         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6293         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6294         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6295         (gst_base_transform_buffer_alloc),
6296         (gst_base_transform_handle_buffer):
6297           use gboolean return values and pointers to size so we can use the
6298           full GST_BUFFER_SIZE range (guint) for buffer sizes
6299           use GstPadDirection for transform_caps
6300         * gst/base/gstbasetransform.h:
6301           rename get_size to get_unit_size since that's what it is
6302         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6303           use GstPadDirection for transform_caps
6304         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6305         * gst/gstutils.h:
6306           cleanup and debugging
6307
6308 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6309
6310         * gst/gstelement.c: (gst_element_class_init),
6311         (gst_element_set_state), (activate_pads),
6312         (gst_element_save_thyself):
6313         * tools/gst-compprep.c: (main):
6314         * tools/gst-inspect.c: (print_element_properties_info):
6315         * tools/gst-xmlinspect.c: (print_element_properties):
6316           Fixed long standing mem-leak
6317
6318 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6319
6320         * check/gst/gstbin.c: (GST_START_TEST):
6321         * gst/gstbin.c: (bin_bus_handler):
6322         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6323         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6324         (gst_message_new_warning), (gst_message_new_tag),
6325         (gst_message_new_state_changed), (gst_message_new_segment_start),
6326         (gst_message_new_segment_done), (gst_message_new_custom):
6327         * gst/gstmessage.h:
6328         * tools/gst-launch.c: (event_loop):
6329         * tools/gst-md5sum.c: (event_loop):
6330           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6331           that applications can sensibly post custom messages with references
6332           to their own objects.
6333
6334 2005-08-24  Andy Wingo  <wingo@pobox.com>
6335
6336         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6337         already.
6338
6339 2005-08-24  Wim Taymans  <wim@fluendo.com>
6340
6341         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6342         (gst_base_transform_transform_caps),
6343         (gst_base_transform_transform_size),
6344         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6345         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6346         (gst_base_transform_handle_buffer):
6347         * gst/base/gstbasetransform.h:
6348         Many fixes and new features added by Thomas. Can now also do
6349         transforms with variable sizes and a custom fixate_caps function.
6350
6351 2005-08-24  Wim Taymans  <wim@fluendo.com>
6352
6353         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6354         Some debugging.
6355
6356         * gst/gstclock.h:
6357         Cast to ClockTime before formatting to time.
6358
6359         * gst/gstutils.h:
6360         Cleanups.
6361
6362 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6363
6364         * check/gst-libs/controller.c: (GST_START_TEST),
6365         (gst_controller_suite):
6366         * docs/gst/tmpl/gstcaps.sgml:
6367         * docs/gst/tmpl/gstghostpad.sgml:
6368         * docs/gst/tmpl/gstquery.sgml:
6369         * docs/gst/tmpl/gstutils.sgml:
6370         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6371         (gst_object_sink_values), (gst_object_get_value_arrays),
6372         (gst_object_get_value_array):
6373           gracefully handle helper method calls to objects that are not beeing
6374           controlled, added test case for that          
6375
6376 2005-08-23  Wim Taymans  <wim@fluendo.com>
6377
6378         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6379         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6380         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6381         (gst_event_parse_qos), (gst_event_new_seek),
6382         (gst_event_parse_seek):
6383         * gst/gstevent.h:
6384         Some more debugging output and doc cleanups.
6385
6386         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6387         Fix possible deadlock.
6388
6389 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6390
6391         * docs/gst/gstreamer-docs.sgml:
6392         * docs/gst/gstreamer-sections.txt:
6393         * docs/gst/gstreamer.types:
6394         * docs/gst/tmpl/.cvsignore:
6395         * gst/gstbin.h:
6396         * gst/gstbus.c:
6397         * gst/gstelement.c:
6398         * gst/gstevent.h:
6399           added 100 symbols from gstreamer-unused.txt to the right sections
6400           fixed more broken comments
6401           added GstBus to docs
6402
6403 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6404
6405         * docs/gst/gstreamer-sections.txt:
6406         * docs/gst/tmpl/.cvsignore:
6407         * docs/gst/tmpl/gstbin.sgml:
6408         * docs/gst/tmpl/gstbuffer.sgml:
6409         * gst/base/gstbasesrc.c:
6410         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6411         * gst/gstbuffer.c:
6412         * gst/gstbuffer.h:
6413         * tools/gst-launch.1.in:
6414           inlined more doc comments, added missing comments and fixed comments
6415           fixed typos
6416
6417 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6418
6419         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6420           some debugging
6421         * gst/gstcaps.h:
6422           whitespace fixes
6423         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6424           more debugging
6425         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6426         * gst/gststructure.h:
6427           add a fixate function for booleans; add a FIXME that these func
6428           names should probably be gst_structure_fixate_*
6429
6430 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6431
6432         * docs/gst/gstreamer-docs.sgml:
6433         * docs/gst/gstreamer-sections.txt:
6434         * gst/Makefile.am:
6435         * gst/gstbin.c: (gst_bin_get_type),
6436         (gst_bin_child_proxy_get_child_by_index),
6437         (gst_bin_child_proxy_get_children_count),
6438         (gst_bin_child_proxy_init):
6439         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6440         (gst_child_proxy_get_child_by_index),
6441         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6442         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6443         (gst_child_proxy_get), (gst_child_proxy_set_property),
6444         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6445         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6446         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6447         * gst/gstchildproxy.h:
6448         * gst/parse/grammar.y:
6449         * tools/gst-inspect.c: (print_interfaces),
6450         (print_element_properties_info), (print_element_info):
6451           ported gstchildproxy over from 0.8
6452           ported gst-inspect fixes and enhancements over from 0.8
6453
6454 2005-08-22  Wim Taymans  <wim@fluendo.com>
6455
6456         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6457         (gst_base_transform_handle_buffer):
6458         Also call the transform function if we have ANY caps.
6459
6460         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6461         Fix debug info.
6462
6463 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6464
6465         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6466           Don't pretend to handle seek events if the source is not seekable
6467
6468 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6469
6470         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6471           Remove extra parameter to debug output
6472
6473         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6474         (gst_base_src_do_seek), (gst_base_src_activate_push):
6475           Fix seek event handling.
6476
6477         * gst/gstpipeline.c: (gst_pipeline_change_state):
6478         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6479         (gst_queue_src_activate_push):
6480           Don't start the src pad task on FLUSH_STOP if the pad
6481           isn't linked.
6482           Debug changes.
6483
6484 2005-08-22  Wim Taymans  <wim@fluendo.com>
6485
6486         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6487         Added check for gst_static_caps_get() refcounting.
6488
6489 2005-08-22  Wim Taymans  <wim@fluendo.com>
6490
6491         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6492         Make _static_caps_get() refcounting sane.
6493         
6494         * gst/gstelement.c: (gst_element_set_state):
6495         Add g_return_val_if_fail() to protect against segfaults.
6496
6497 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6498
6499         * docs/gst/tmpl/gstevent.sgml:
6500         * gst/gstevent.c:
6501         * gst/gstevent.h:
6502           inlined remaining docs, added missing doc comments
6503
6504 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6505
6506         * check/gst/gstbin.c: (GST_START_TEST):
6507           since we don't know when preroll is done, use refcount range
6508           check for the sink
6509         * gst/check/gstcheck.h:
6510           add macro for checking refcount range
6511
6512 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6513
6514         * check/Makefile.am:
6515           clean up environment for when registry gets built versus
6516           when actual tests are run; valgrind seems to not report
6517           leaks if GST_PLUGIN_PATH is set to some specific values
6518         * check/gst/gstbin.c: (GST_START_TEST):
6519           add more refcounting checks; maybe this exposes a
6520           preroll lock bug ?
6521         * common/check.mak:
6522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6523         * gst/check/gstcheck.h:
6524         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6525         (gst_bin_change_state):
6526         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6527           add/fix debugging/whitespace
6528
6529 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6530
6531         * check/gst/gstevent.c: (event_probe), (test_event),
6532         (GST_START_TEST):
6533          Er, don't call gst_bin_watch_for_state_change you idiot.
6534
6535 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6536
6537         * check/Makefile.am:
6538           Use CHECK_CFLAGS and CHECK_LIBS
6539         * check/gst/gstevent.c: (event_probe), (test_event),
6540         (GST_START_TEST):
6541           Don't leak events.
6542         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6543         (gst_base_src_start), (gst_base_src_stop),
6544         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6545         (gst_base_src_change_state):
6546           Sprinkle gst_base_src_stop liberally around error paths to fix
6547           problems reusing a source after failed state changes.
6548         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6549         (helper_find_suggest), (gst_type_find_helper):
6550           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6551         * gst/gstevent.h:
6552         * docs/gst/tmpl/gstevent.sgml:
6553           Migrate part of the docs from the SGML file. Wait for ensonic to
6554           tell me how I did it wrong ;)
6555         * tools/gst-typefind.c: (main):
6556           Extra robustness to state changes between files.
6557
6558 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6559
6560         * check/Makefile.am:
6561           don't valgrind the controller test - it's leaking - Stefan, HELP
6562         * gst/check/gstcheck.c: (gst_check_message_error),
6563         (gst_check_chain_func), (gst_check_setup_element),
6564         (gst_check_teardown_element), (gst_check_setup_src_pad),
6565         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6566         (gst_check_teardown_sink_pad):
6567         * gst/check/gstcheck.h:
6568           add a bunch of methods to set up elements, and src and sink pads
6569         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6570         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6571         (GST_START_TEST):
6572           use them
6573         * gst/gstmessage.c:
6574         * gst/gsttag.h:
6575           whitespace/doc fixes
6576
6577 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6578
6579         * gst/gstelement.h:
6580           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6581           be handled by the application and not always printed as well
6582
6583 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6584
6585         * check/Makefile.am:
6586           set GST_TOOLS_DIR
6587         * gst/check/gstcheck.c: (gst_check_message_error):
6588         * gst/check/gstcheck.h:
6589           add a fail_unless_equals_int
6590           add fail_unless for error messages
6591
6592 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6593
6594         * check/Makefile.am:
6595         * check/gst.supp:
6596         * common/Makefile.am:
6597         * common/check.mak:
6598         * common/gst.supp:
6599           factor out some of the common stuff so we can use it
6600
6601 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6602
6603         * check/Makefile.am:
6604         * check/gst/gstiterator.c: (GST_START_TEST):
6605         * check/gst/gstsystemclock.c: (GST_START_TEST),
6606         (gst_systemclock_suite):
6607         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6608         * gst/gstclock.c:
6609           valgrind more tests
6610
6611 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6612
6613         * check/elements/.cvsignore:
6614         * check/elements/gstfakesrc.c:
6615           rename to name of element
6616         * check/elements/identity.c: (chain_func), (event_func),
6617         (setup_identity), (cleanup_identity), (GST_START_TEST),
6618         (identity_suite), (main):
6619           add a test for identity
6620         * check/Makefile.am:
6621         * pkgconfig/Makefile.am:
6622         * pkgconfig/gstreamer-check.pc.in:
6623         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6624         * gst/check:
6625         * gst/Makefile.am:
6626         * configure.ac:
6627           move the check stuff to a library that gets installed
6628         * check/gst-libs/controller.c: (GST_START_TEST):
6629         * check/gst-libs/gdp.c:
6630         * check/gst/gst.c: (GST_START_TEST):
6631         * check/gst/gstbin.c:
6632         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6633         * check/gst/gstbus.c:
6634         * check/gst/gstcaps.c: (GST_START_TEST):
6635         * check/gst/gstelement.c:
6636         * check/gst/gstghostpad.c:
6637         * check/gst/gstiterator.c:
6638         * check/gst/gstmessage.c:
6639         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6640         * check/gst/gstobject.c:
6641         * check/gst/gstpad.c: (GST_START_TEST):
6642         * check/gst/gststructure.c: (GST_START_TEST):
6643         * check/gst/gstsystemclock.c: (GST_START_TEST),
6644         (gst_systemclock_suite):
6645         * check/gst/gsttag.c: (gst_tag_suite):
6646         * check/gst/gstvalue.c:
6647         * check/pipelines/cleanup.c:
6648         * check/pipelines/simple_launch_lines.c:
6649         * check/states/sinks.c:
6650           change include statement
6651
6652         * docs/gst/gstreamer-sections.txt:
6653         * docs/gst/tmpl/gstpad.sgml:
6654           document more pad stuff
6655         * gst/gstminiobject.c: (gst_mini_object_ref),
6656         (gst_mini_object_unref):
6657           debug refcounting
6658
6659 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6660
6661         * docs/gst/tmpl/gst.sgml:
6662         * gst/gst.c:
6663           eliminate another tmpl file, fix spelling in the long-description
6664
6665 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6666
6667         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6668         (test_event), (timediff), (gstevents_suite):
6669           Should fix build on 64-bit arch's
6670
6671 2005-08-18  Andy Wingo  <wingo@pobox.com>
6672
6673         Make sure that when a pipeline goes to PLAYING, that data has
6674         actually hit the sink.
6675
6676         * check/states/sinks.c (test_sink): A sink that doesn't get any
6677         data shouldn't return SUCCESS for going to either PLAYING or
6678         PAUSED. Test also the return values on the way back down.
6679
6680         * gst/gstelement.c (gst_element_set_state): When changing the
6681         state of an element currently changing state asynchronously, go to
6682         lost-state after commiting the pending state. Makes future calls
6683         to get_state continue to return ASYNC.
6684
6685         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6686         ASYNC when going to PLAYING if we still don't have preroll, as can
6687         happen with live sources.
6688
6689 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6690
6691         * docs/pwg/advanced-types.xml:
6692           Hack long paragraph into 2 chunks as a workaround for buggy
6693           jadetex version in sid and breezy that loops infinitely and
6694           eats all RAM.
6695
6696 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6697
6698         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6699         (test_event), (timediff), (gstevents_suite):
6700           Provide more error margin in clock measurements to allow for 
6701           g_get_current_time inaccuracies.
6702
6703 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6704
6705         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6706         (test_event), (timediff), (gstevents_suite):
6707            Fix error message output so I might be able to tell why the
6708            test works here but fails on the build farm.
6709
6710 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6711
6712         * check/Makefile.am:
6713         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6714         (test_event), (timediff), (gstevents_suite), (main):
6715           I wrote a test!
6716
6717         * docs/design/part-seeking.txt:
6718           Spelling correction
6719
6720         * docs/gst/tmpl/gstevent.sgml:
6721         * docs/gst/tmpl/gstfakesrc.sgml:
6722           Docs updates.
6723
6724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6725           Treat a buffer-without-newsegment the same as a receiving 
6726           a newsegment not in time format, and disable syncing to the clock
6727           with a warning.
6728
6729         * gst/gstbus.c: (gst_bus_set_sync_handler):
6730           Assert if anyone tries to replace the existing sync_handler for bus, 
6731           as only the owner should be setting it.
6732
6733         * gst/gstevent.h:
6734           Have a fixed set of custom event enums with events identified by
6735           their structure name (as in 0.8), rather than a free-for-all
6736           allowing collisions between enum values from different plugins.
6737
6738         * gst/gstpad.c: (gst_pad_class_init):
6739           Docs change.
6740           
6741         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6742           Handle out-of-band downstream events from the sending thread.
6743
6744 2005-08-17  Andy Wingo  <wingo@pobox.com>
6745
6746         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6747         play-timeout==0 to mean no timeout at all. In that case, don't
6748         bother with a get_state or a warning, just return directly, even
6749         if it's ASYNC.
6750
6751         * gst/base/gstbasetransform.c: Debug changes.
6752
6753         * gst/gstutils.h:
6754         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6755         ensure bins post state change messages. A bit of a hack but I can't
6756         think of a way to avoid it.
6757
6758         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6759
6760 2005-08-16  Andy Wingo  <wingo@pobox.com>
6761
6762         * gst/base/gstadapter.h:
6763         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6764         peek() but you own the data. Not terribly efficient atm.
6765
6766 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6767
6768         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6769         (gst_element_found_tags):
6770         * gst/gstutils.h:
6771           Add two utility functions for tag handling.
6772
6773 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6774
6775         * docs/manual/advanced-dataaccess.xml:
6776         * docs/manual/basics-helloworld.xml:
6777           Fix docs to use _bin_add() before _link(), which fixes the examples
6778           with recent core versions (reported by Madhan Raj M
6779           <raj_madan@rediffmail.com>, #313199).
6780
6781 2005-08-16  Wim Taymans  <wim@fluendo.com>
6782
6783         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6784         Added subtract checks.
6785
6786         * docs/design/part-events.txt:
6787         Some more docs about newsegment
6788
6789         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6790         Fix FIXME
6791
6792         * gst/gstcaps.c: (gst_caps_to_string):
6793         Add comments, cleanups.
6794         
6795         * gst/gstelement.c: (gst_element_save_thyself):
6796         cleanups
6797         
6798         * gst/gstvalue.c: (gst_value_collect_int_range),
6799         (gst_string_unwrap), (gst_value_union_int_int_range),
6800         (gst_value_union_int_range_int_range),
6801         (gst_value_intersect_int_int_range),
6802         (gst_value_intersect_int_range_int_range),
6803         (gst_value_intersect_double_double_range),
6804         (gst_value_intersect_double_range_double_range),
6805         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6806         (gst_value_subtract_int_range_int),
6807         (gst_value_subtract_double_range_double),
6808         (gst_value_subtract_double_range_double_range),
6809         (gst_value_subtract_from_list), (gst_value_subtract_list),
6810         (gst_value_can_compare), (gst_value_compare_fraction):
6811         Cleanups, add comments, remove unneeded asserts.
6812
6813 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6814
6815         * tools/gst-launch.c: (event_loop):
6816           don't convert NULL structures to strings
6817
6818 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6819
6820         * docs/gst/gstreamer-sections.txt:
6821           made some defines private
6822         * docs/gst/tmpl/gstconfig.sgml:
6823         * docs/gst/tmpl/gstqueue.sgml:
6824         * docs/gst/tmpl/gsttaglist.sgml:
6825         * docs/gst/tmpl/gsttypes.sgml:
6826         * docs/gst/tmpl/gstutils.sgml:
6827         * docs/pwg/appendix-porting.xml:
6828         * gst/base/gstbasesink.h:
6829         * gst/base/gstbasesrc.c:
6830         * gst/base/gstbasesrc.h:
6831         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6832         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6833         * gst/gstelement.c: (gst_element_class_init):
6834         * gst/gstpad.c: (gst_pad_class_init):
6835         * gst/gstqueue.c: (gst_queue_class_init):
6836         * gst/gstxml.c: (gst_xml_class_init):
6837           documented all undocumented signal inline
6838         * libs/gst/controller/gst-controller.h:
6839           added padding
6840
6841 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6842
6843         * docs/pwg/appendix-porting.xml:
6844           Document _set_link_function -> _set_setcaps_function.
6845
6846 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6847
6848         * check/Makefile.am:
6849           add a .check target for running the check
6850         * check/gst-libs/controller.c: (GST_START_TEST):
6851           cosmetic fixups
6852         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6853           complete checks for gstbuffer; would be nice if I could get the
6854           gcov stuff to work so I can see if I actually completed gstbuffer.c
6855         * check/gstcheck.h:
6856           add ASSERT_BUFFER_REFCOUNT
6857
6858 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
6859
6860         * docs/gst/gstreamer-sections.txt:
6861         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
6862         * gst/gsttag.h:
6863           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
6864           spew out a warning if a tag that is already registered
6865           is re-registered, unless it is re-registered with a 
6866           different type (#308438).
6867
6868 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
6869
6870         * docs/pwg/appendix-porting.xml:
6871         * docs/pwg/building-state.xml:
6872           Add some paragraphs about state changes in 0.9 to the PWG
6873           and the porting guide, in particular about the new meaning
6874           of GST_STATE_PAUSED and how to write state change functions
6875           with concurrent access by multiple threads in mind.
6876
6877 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
6878
6879         * docs/gst/gstreamer-docs.sgml:
6880         * docs/libs/gstreamer-libs-docs.sgml:
6881           added deprecation and since indexes
6882         * libs/gst/controller/gst-controller.c:
6883         * libs/gst/controller/gst-helper.c:
6884           added since tags
6885
6886
6887 2005-08-11  Wim Taymans  <wim@fluendo.com>
6888
6889         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
6890         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
6891         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
6892         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
6893         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
6894         (gst_ghost_pad_set_target):
6895         Actually implement (re)setting the target on a ghostpad
6896         as described in the docs.
6897
6898 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6899
6900         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
6901           Check whether GST_DEBUG_NO_COLOR environment variable is
6902           set and disable coloured debug output if that is the case.
6903
6904 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6905
6906         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6907         (gst_type_find_helper):
6908           The memory returned by gst_type_find_peek() needs to
6909           stay valid until the end of a typefind function, and
6910           typefind functions may keep results from different 
6911           offsets around, so we can't just unref the buffer from
6912           the previous _peek(), but have to save all buffers 
6913           returned by _peek() until typefinding is done and only
6914           free them then.
6915
6916 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6917
6918         * docs/gst/gstreamer-sections.txt:
6919         * gst/gstutils.h:
6920           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
6921
6922 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6923
6924         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6925           Fix a pretty good memleak.
6926
6927 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6928
6929         * gst/gstiterator.h:
6930           Fix wrong include and 'make distcheck'.
6931
6932 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6933
6934         * gst/gstbin.c: (bin_bus_handler):
6935           Use gst_element_post_message() instead.
6936
6937 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6938
6939         * gst/base/gstadapter.h:
6940         * gst/base/gstbasesink.h:
6941         * gst/base/gstbasesrc.h:
6942         * gst/base/gstbasetransform.h:
6943         * gst/base/gstcollectpads.h:
6944         * gst/base/gstpushsrc.h:
6945         * gst/gstiterator.h:
6946           Add padding to our base elements' class and instance structs and
6947           to GstIterator (you will need to rebuild all plugins and apps!)
6948
6949 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6950
6951         * gst/gstbin.c: (bin_bus_handler):
6952           Make default message forwarding from child->bus to bin->bus
6953           threadsafe and make it not emit warnings if the parent has no bus.
6954
6955 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6956
6957         * gst/gstelement.c: (activate_pads):
6958           On paused->ready, set pad->caps to NULL, as is the documented
6959           behaviour in this state change. Fixes playback of series of
6960           media files when visualization is enabled in Totem.
6961
6962 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6963
6964         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6965           Allow NULL as filter-caps (which means "any").
6966
6967 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6968
6969         * docs/libs/gstreamer-libs-sections.txt:
6970         * libs/gst/controller/gst-controller.c:
6971         * libs/gst/controller/gst-controller.h:
6972         * libs/gst/controller/gst-helper.c:
6973           adding more entries to the docs and fix small doc-bugs
6974
6975 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6976
6977         * docs/gst/gstreamer-docs.sgml:
6978         * docs/gst/gstreamer-sections.txt:
6979         * docs/gst/gstreamer.types:
6980         * docs/gst/tmpl/gstbasesink.sgml:
6981         * docs/gst/tmpl/gstbasesrc.sgml:
6982         * docs/gst/tmpl/gstbasetransform.sgml:
6983         * docs/gst/tmpl/gstfakesrc.sgml:
6984         * gst/base/gstcollectpads.c:
6985         * gst/base/gstcollectpads.h:
6986         * libs/gst/controller/gst-controller.c:
6987         * libs/gst/controller/gst-controller.h:
6988         * libs/gst/controller/gst-helper.c:
6989         * libs/gst/controller/gst-interpolation.c:
6990         * libs/gst/controller/lib.c:
6991           added long/short desc for controller docs
6992           added collectpads base class docs
6993           added correct includes to base-class docs
6994
6995 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6996
6997         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6998         (gst_test_mono_source_set_property),
6999         (gst_test_mono_source_class_init), (GST_START_TEST),
7000         (gst_controller_suite):
7001         * docs/gst/gstreamer-docs.sgml:
7002         * docs/gst/gstreamer-sections.txt:
7003         * docs/gst/gstreamer.types:
7004         * docs/libs/gstreamer-libs-docs.sgml:
7005         * docs/libs/gstreamer-libs-sections.txt:
7006         * gst/base/gstadapter.c:
7007         * libs/gst/controller/gst-controller.c:
7008         (gst_controlled_property_new), (gst_controlled_property_free),
7009         (gst_controller_new_valist),
7010         (gst_controller_remove_properties_valist),
7011         (gst_controller_sink_values), (_gst_controller_finalize):
7012         * libs/gst/controller/gst-controller.h:
7013         * libs/gst/controller/gst-helper.c:
7014         (gst_object_control_properties), (gst_object_uncontrol_properties),
7015         (gst_object_get_controller), (gst_object_set_controller),
7016         (gst_object_sink_values), (gst_object_get_value_arrays),
7017         (gst_object_get_value_array):
7018           more tests (and fixes) for the controller
7019           more docs for the controller
7020           integrated companies docs for the adapter 
7021
7022 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7023
7024         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7025         (GST_START_TEST), (fakesrc_suite):
7026           add tests for sizetype
7027
7028 2005-08-04  Andy Wingo  <wingo@pobox.com>
7029
7030         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7031         fixes buffer_alloc proxying among other things.
7032
7033         * gst/base/gstbasetransform.c:
7034         * gst/base/gstbasetransform.h:
7035         Revert patch to gstbasetransform from 7-28 removing
7036         delay_configure.
7037
7038         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7039         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7040         Semantics changed, should return not the size of the output buffer
7041         but the byte size of a buffer with a given caps.
7042
7043         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7044         debug object.
7045         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7046         out) are not the pad caps until setcaps finishes.
7047         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7048         not-in-place case as well. Deal with changing from in-place to
7049         not-in-place within calling pad_alloc_buffer. Still a bit
7050         concerned about the overhead here...
7051
7052 2005-08-03  Andy Wingo  <wingo@pobox.com>
7053
7054         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7055         fixating is an error.
7056
7057 2005-08-04  Edward Hervey  <edward@fluendo.com>
7058
7059         * gst/base/gstadapter.h: 
7060         Added gst_adapter_get_type() to the header
7061
7062 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7063
7064         * check/Makefile.am:
7065         * check/gst-libs/controller.c:
7066         * libs/gst/controller/gst-controller.c:
7067         (gst_controller_new_valist):
7068           added check test suite for the controller
7069         * gst/base/gstpushsrc.c:
7070           fixed a doc typo
7071
7072 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7073
7074         * docs/gst/Makefile.am:
7075         * docs/gst/gstreamer-docs.sgml:
7076         * docs/gst/gstreamer-sections.txt:
7077         * docs/gst/gstreamer.types:
7078         * docs/gst/tmpl/gstfakesrc.sgml:
7079         * gst/base/README:
7080         * gst/base/gstbasesink.c:
7081         * gst/base/gstbasesink.h:
7082         * gst/base/gstbasesrc.c:
7083         * gst/base/gstbasesrc.h:
7084         * gst/base/gstbasetransform.c:
7085         * gst/base/gstpushsrc.c:
7086         * gst/base/gstpushsrc.h:
7087           add short/long description docs to base classes
7088           add pushsrc to the docs
7089           remove consolidated doc fragments
7090
7091 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7092
7093         * configure.ac:
7094         * docs/libs/Makefile.am:
7095         * docs/libs/gstreamer-libs-docs.sgml:
7096         * docs/libs/gstreamer-libs-sections.txt:
7097         * docs/libs/gstreamer-libs.types:
7098         * examples/Makefile.am:
7099         * examples/controller/.cvsignore:
7100         * examples/controller/Makefile.am:
7101         * examples/controller/audio-example.c: (main):
7102         * libs/gst/Makefile.am:
7103         * libs/gst/controller/.cvsignore:
7104         * libs/gst/controller/Makefile.am:
7105         * libs/gst/controller/gst-controller.c:
7106         (on_object_controlled_property_changed), (gst_timed_value_compare),
7107         (gst_timed_value_find),
7108         (gst_controlled_property_set_interpolation_mode),
7109         (gst_controlled_property_new), (gst_controlled_property_free),
7110         (gst_controller_find_controlled_property),
7111         (gst_controller_new_valist), (gst_controller_new),
7112         (gst_controller_remove_properties_valist),
7113         (gst_controller_remove_properties), (gst_controller_set),
7114         (gst_controller_set_from_list), (gst_controller_unset),
7115         (gst_controller_get), (gst_controller_get_all),
7116         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7117         (gst_controller_get_value_array),
7118         (gst_controller_set_interpolation_mode),
7119         (_gst_controller_finalize), (_gst_controller_init),
7120         (_gst_controller_class_init), (gst_controller_get_type):
7121         * libs/gst/controller/gst-controller.h:
7122         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7123         (g_object_uncontrol_properties), (g_object_get_controller),
7124         (g_object_set_controller), (g_object_sink_values),
7125         (g_object_get_value_arrays), (g_object_get_value_array):
7126         * libs/gst/controller/gst-interpolation.c:
7127         (gst_controlled_property_find_timed_value_node),
7128         (interpolate_none_get), (interpolate_trigger_get),
7129         (interpolate_trigger_get_value_array):
7130         * libs/gst/controller/lib.c: (gst_controller_init):
7131         * pkgconfig/Makefile.am:
7132         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7133         * pkgconfig/gstreamer-control.pc.in:
7134         * testsuite/Makefile.am:
7135         * testsuite/controller/.cvsignore:
7136         * testsuite/controller/Makefile.am:
7137         * testsuite/controller/interpolator.c: (main):
7138           added controller code
7139           removed dparam pc files
7140
7141 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7142         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7143         (gst_collectpads_stop):
7144           Broadcast the condition when shutting down, to make sure we wake all
7145           threads up. Shut down pads on finalize, for safety.
7146
7147 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7148         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7149         (gst_base_transform_handle_buffer),
7150         (gst_base_transform_change_state):
7151           Handle PAUSED->READY->PAUSED transition after negotiation
7152           occurred already.
7153         * gst/gstmessage.c: (gst_message_init):
7154           Extra piece of debug for new messages.
7155
7156 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7157
7158         * configure.ac:
7159         * docs/gst/tmpl/gstbasesrc.sgml:
7160         * docs/gst/tmpl/gstelement.sgml:
7161         * docs/gst/tmpl/gstevent.sgml:
7162         * docs/gst/tmpl/gstfakesrc.sgml:
7163         * docs/gst/tmpl/gstformat.sgml:
7164         * docs/gst/tmpl/gstghostpad.sgml:
7165         * docs/gst/tmpl/gstpad.sgml:
7166         * docs/gst/tmpl/gstquery.sgml:
7167         * docs/gst/tmpl/gststructure.sgml:
7168         * docs/gst/tmpl/gsttaglist.sgml:
7169         * docs/gst/tmpl/gstvalue.sgml:
7170         * docs/libs/gstreamer-libs-docs.sgml:
7171         * docs/libs/gstreamer-libs-sections.txt:
7172         * docs/libs/gstreamer-libs.types:
7173         * libs/gst/Makefile.am:
7174         * libs/gst/control/.cvsignore:
7175         * libs/gst/control/Makefile.am:
7176         * libs/gst/control/control.c:
7177         * libs/gst/control/control.h:
7178         * libs/gst/control/dparam.c:
7179         * libs/gst/control/dparam.h:
7180         * libs/gst/control/dparam_smooth.c:
7181         * libs/gst/control/dparam_smooth.h:
7182         * libs/gst/control/dparamcommon.h:
7183         * libs/gst/control/dparammanager.c:
7184         * libs/gst/control/dparammanager.h:
7185         * libs/gst/control/dplinearinterp.c:
7186         * libs/gst/control/dplinearinterp.h:
7187         * libs/gst/control/unitconvert.c:
7188         * libs/gst/control/unitconvert.h:
7189         * testsuite/Makefile.am:
7190         * testsuite/dynparams/.cvsignore:
7191         * testsuite/dynparams/Makefile.am:
7192         * testsuite/dynparams/dparamstest.c:
7193         * tools/Makefile.am:
7194         * tools/gst-inspect.c: (print_element_info), (main):
7195         * tools/gst-xmlinspect.c: (print_element_info), (main):
7196           deactivate and remove dparams (libgstcontrol)
7197
7198 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7199
7200         * gst/elements/gsttypefindelement.c:
7201         (gst_type_find_element_have_type), (gst_type_find_element_init),
7202         (stop_typefinding), (gst_type_find_element_handle_event),
7203         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7204         * gst/elements/gsttypefindelement.h:
7205           Set caps on all outgoing buffers, not just the first one.
7206
7207 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7208
7209         * gst/elements/gsttypefindelement.c:
7210         (gst_type_find_element_have_type),
7211         (gst_type_find_element_check_set_buffer_caps),
7212         (gst_type_find_element_init), (stop_typefinding),
7213         (gst_type_find_element_handle_event),
7214         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7215         * gst/elements/gsttypefindelement.h:
7216           Set caps on first outgoing buffer when we've found the type.
7217
7218 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7219
7220         * docs/gst/gstreamer-docs.sgml:
7221         * docs/gst/gstreamer-sections.txt:
7222         * docs/gst/tmpl/gstscheduler.sgml:
7223         * docs/gst/tmpl/gstschedulerfactory.sgml:
7224           Remove some old cruft from docs.
7225
7226 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7227
7228         * gst/gstpad.h:
7229           Fix inline docs for GstPadLinkReturn.
7230           
7231         * gst/gststructure.c: (gst_structure_has_name):
7232         * gst/gststructure.h:
7233         * docs/gst/gstreamer-sections.txt:
7234           New API: gst_structure_has_name().
7235
7236 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7237
7238         * configure.ac:
7239           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7240           and _LARGEFILE_SOURCE in config.h as required. Do not 
7241           export those flags in our .pc files any longer (#142209).
7242
7243           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7244
7245         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7246         (gst_file_sink_do_seek), (gst_file_sink_event),
7247         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7248           Redo seek/tell calls with large file support in mind; add some
7249           debugging messages; add log message that tells us when large
7250           file support is unavailable or not enabled for some reason.
7251
7252         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7253           Add log message that tells us when large file support 
7254           is unavailable or not enabled for some reason.
7255
7256 2005-07-29  Wim Taymans  <wim@fluendo.com>
7257
7258         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7259         Added test for removing an element with ghostpad from a bin.
7260         Fixed test as current implementation does the right thing.
7261
7262         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7263         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7264         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7265         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7266         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7267         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7268         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7269         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7270         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7271         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7272         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7273         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7274         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7275         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7276         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7277         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7278         * gst/gstghostpad.h:
7279         Clean up ghostpads, remove properties for internal stuff.
7280         Make threadsafe.
7281         Fix refcounting.
7282         Prepare for switching targets, not all use cases work yet.
7283
7284 2005-07-29  Wim Taymans  <wim@fluendo.com>
7285
7286         * docs/design/part-gstghostpad.txt:
7287         Small update.
7288
7289         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7290         (gst_bin_remove_func):
7291         Unlinking pads while holding the bin LOCK is not a good
7292         idea.
7293
7294         * gst/gstpad.c: (gst_pad_class_init),
7295         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7296         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7297         No prob setting template after creating the pad.
7298
7299 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7300
7301         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7302         (gst_bus_peek), (gst_bus_source_dispatch),
7303         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7304         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7305           gst_bus_poll may be called from other threads. Handle
7306           this nicely by not making poll_data disappear off the
7307           stack once gst_bus_poll returns.
7308           gst_bus_peek now increments the refcount on the returned
7309           message.
7310
7311 2005-07-29  Wim Taymans  <wim@fluendo.com>
7312
7313         * docs/design/part-gstghostpad.txt:
7314         Overview of current GhostPad datastructures and use
7315         cases for changing the target.
7316
7317 2005-07-28  Wim Taymans  <wim@fluendo.com>
7318
7319         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7320         Added checks for hierarchy consistency whan adding linked
7321         elements to bins.
7322
7323         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7324         Added check to test element scheduling without bin/pipeline.
7325
7326         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7327         First add elements to bin, then link.
7328         
7329         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7330         (gst_bin_remove_func):
7331         Unlink pads from elements added/removed from bin to maintain
7332         hierarchy consistency.
7333
7334 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7335
7336         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7337         (gst_base_transform_handle_buffer):
7338         * gst/base/gstbasetransform.h:
7339           Remove broken delay_configure (fixes renegotiation of software
7340           scaling pipelines); remove some leftover printf()s.
7341
7342 2005-07-28  Wim Taymans  <wim@fluendo.com>
7343
7344         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7345         Added some more tests for wrong hierarchy
7346
7347         * docs/design/part-overview.txt:
7348         Some updates.
7349
7350         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7351         Cleanups.
7352
7353         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7354         (gst_element_dispose):
7355         Some more cleanups.
7356
7357         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7358         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7359         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7360         (gst_pad_set_caps), (gst_pad_send_event):
7361         Check for correct hierarchy when linking pads. Moving to
7362         strict requirement for ghostpads when linking elements in
7363         different bins.
7364
7365         * gst/gstpad.h:
7366         Clean ups. Added WRONG_HIERARCHY return value.
7367
7368 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7369
7370         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7371           Better debug if no transform is possible.
7372
7373 2005-07-27  Wim Taymans  <wim@fluendo.com>
7374
7375         * docs/random/wtay/network-transp:
7376         Some old doc I had.
7377
7378 2005-07-27  Wim Taymans  <wim@fluendo.com>
7379
7380         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7381         (gst_dp_event_from_packet):
7382         Fix serialization of seek events.
7383
7384 2005-07-27  Wim Taymans  <wim@fluendo.com>
7385
7386         * check/gst-libs/gdp.c: (GST_START_TEST):
7387         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7388         Fix compilation and fix event serialization.
7389
7390 2005-07-27  Wim Taymans  <wim@fluendo.com>
7391
7392         * CHANGES-0.9:
7393         * docs/design/part-TODO.txt:
7394         * docs/design/part-events.txt:
7395         Some docs updates
7396
7397         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7398         (gst_base_sink_event), (gst_base_sink_do_sync),
7399         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7400         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7401         (gst_base_src_do_seek), (gst_base_src_event_handler),
7402         (gst_base_src_loop):
7403         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7404         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7405         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7406         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7407         (gst_base_transform_set_passthrough),
7408         (gst_base_transform_is_passthrough):
7409         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7410         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7411         Event updates.
7412
7413         * gst/gstbuffer.h:
7414         Use faster casts.
7415
7416         * gst/gstelement.c: (gst_element_seek):
7417         * gst/gstelement.h:
7418         Update gst_element_seek.
7419
7420         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7421         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7422         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7423         (gst_event_new_eos), (gst_event_new_newsegment),
7424         (gst_event_parse_newsegment), (gst_event_new_tag),
7425         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7426         (gst_event_parse_qos), (gst_event_new_seek),
7427         (gst_event_parse_seek), (gst_event_new_navigation):
7428         * gst/gstevent.h:
7429         Make GstEvent use GstStructure. Add parsing code, make sure the
7430         API is sufficiently generic.
7431         Mark possible directions of events and serialization.
7432
7433         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7434         (_gst_message_copy), (gst_message_new_segment_start),
7435         (gst_message_new_segment_done), (gst_message_new_custom),
7436         (gst_message_parse_segment_start),
7437         (gst_message_parse_segment_done):
7438         Small cleanups.
7439
7440         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7441         (gst_pad_set_caps), (gst_pad_send_event):
7442         Update for new events. 
7443         Catch events sent in wrong directions.
7444
7445         * gst/gstqueue.c: (gst_queue_link_src),
7446         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7447         (gst_queue_handle_src_query):
7448         Event updates.
7449
7450         * gst/gsttag.c:
7451         * gst/gsttag.h:
7452         Remove event code from this file.
7453
7454         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7455         (gst_dp_event_from_packet):
7456         Event updates.
7457
7458 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7459
7460         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7461         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7462         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7463           Make debugging actually useful.
7464
7465 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7466
7467         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7468         (gst_pad_fixate_caps):
7469           Implement default fixation once again, so that gst_pad_fixate()
7470           actually does anything at all. This probably needs to be some
7471           sort of a last resort, and use profile-based fixation first, but
7472           since that doesn't exist yet, this is the best we have. Fixes
7473           visualization in Totem.
7474
7475 2005-07-22  Wim Taymans  <wim@fluendo.com>
7476
7477         * docs/design/part-events.txt:
7478         Small update.
7479
7480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7481         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7482         (gst_base_sink_activate_pull):
7483         Some more comments.
7484
7485         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7486         (gst_fake_src_create):
7487         Fix handoff marshall.
7488
7489         * gst/elements/gstidentity.c: (gst_identity_class_init),
7490         (gst_identity_transform_ip):
7491         We're a real inplace element.
7492
7493         * gst/gstbus.c: (gst_bus_post):
7494         Added some comments.
7495
7496         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7497         * tests/muxing/case1.c: (main):
7498         * tests/sched/dynamic-pipeline.c: (main):
7499         * tests/sched/interrupt1.c: (main):
7500         * tests/sched/interrupt2.c: (main):
7501         * tests/sched/interrupt3.c: (main):
7502         * tests/sched/runxml.c: (main):
7503         * tests/sched/sched-stress.c: (main):
7504         * tests/seeking/seeking1.c: (event_received), (main):
7505         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7506         (main):
7507         * tests/threadstate/threadstate3.c: (main):
7508         * tests/threadstate/threadstate4.c: (main):
7509         * tests/threadstate/threadstate5.c: (main):
7510         Fix the tests.
7511
7512 2005-07-21  Wim Taymans  <wim@fluendo.com>
7513
7514         * docs/design/part-seeking.txt:
7515         Some small additions.
7516
7517         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7518         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7519         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7520         * gst/base/gstbasesink.h:
7521         discont values are gint64, handle the math correctly.
7522
7523         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7524         Make the basesrc report error if the source pad is not linked.
7525
7526         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7527         (gst_queue_loop), (gst_queue_handle_src_query),
7528         (gst_queue_src_activate_push):
7529         Make queue collect data even if the srcpad is not linked.
7530         Start pushing out data as soon as it is linked.
7531
7532         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7533         * gst/gstutils.h:
7534         Added gst_flow_get_name() to ease error reporting.
7535
7536 2005-07-20  Wim Taymans  <wim@fluendo.com>
7537
7538         * gst/gstmessage.c: (gst_message_new_segment_start),
7539         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7540         (gst_message_parse_segment_done):
7541         * gst/gstmessage.h:
7542         Added a bunch of messages for advanced seeking.
7543
7544         * gst/parse/grammar.y:
7545         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7546         (gst_dpman_state_changed):
7547         Fix some new-pad -> pad-added signals
7548
7549 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7550
7551         * docs/manual/appendix-porting.xml:
7552         * docs/pwg/appendix-porting.xml:
7553           Document new-pad/state-change signal renames and the FixedList
7554           type rename.
7555
7556 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7557
7558         * docs/manual/advanced-autoplugging.xml:
7559         * docs/manual/basics-helloworld.xml:
7560         * docs/manual/basics-pads.xml:
7561         * docs/random/ds/0.9-suggested-changes:
7562         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7563         * gst/gstelement.h:
7564         * gst/gstevent.h:
7565         * gst/gstformat.h:
7566         * gst/gstquery.h:
7567         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7568         (gst_structure_parse_array), (gst_structure_parse_value):
7569         * gst/gstvalue.c: (gst_type_is_fixed),
7570         (gst_value_list_prepend_value), (gst_value_list_append_value),
7571         (gst_value_list_get_size), (gst_value_list_get_value),
7572         (gst_value_transform_array_string), (gst_value_serialize_array),
7573         (gst_value_deserialize_array), (gst_value_intersect_array),
7574         (gst_value_is_fixed), (_gst_value_initialize):
7575         * gst/gstvalue.h:
7576           GstElement::new-pad -> pad-added, GstElement::state-change ->
7577           state-changed, GstValueFixedList -> GstValueArray, add format and
7578           flags as their own arguments in gst_element_seek() (should improve
7579           "bindeability"), remove function generators since they don't work
7580           under a whole bunch of compilers (they were deprecated already
7581           anyway).
7582
7583 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7584
7585         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7586         (_gst_debug_register_funcptr):
7587         * gst/gstinfo.h:
7588           Fix illegal cast on some platforms (#309253).
7589
7590 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7591
7592         * gst/gstmessage.c: (gst_message_new_custom):
7593         * gst/gstmessage.h:
7594           Add _new_custom, make _new_application a macro to _new_custom.
7595
7596 2005-07-20  Wim Taymans  <wim@fluendo.com>
7597
7598         * gst/base/gstbasesrc.c: (gst_base_src_init),
7599         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7600         * gst/base/gstbasesrc.h:
7601         Add a gboolean to decide when to push out a discont.
7602
7603         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7604         (gst_queue_loop), (gst_queue_handle_src_query),
7605         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7606         (gst_queue_set_property), (gst_queue_get_property):
7607         Some cleanups.
7608
7609         * tests/threadstate/threadstate1.c: (main):
7610         Make a thread test compile and run... very silly..
7611
7612
7613 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7614
7615         * docs/manual/appendix-porting.xml:
7616           Mention removal of libgstgconf-0.9.la and existence of gconf
7617           elements.
7618
7619 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7620
7621         * docs/pwg/advanced-clock.xml:
7622         * docs/pwg/appendix-porting.xml:
7623         * docs/pwg/intro-preface.xml:
7624         * docs/pwg/other-base.xml:
7625         * docs/pwg/other-manager.xml:
7626         * docs/pwg/other-nton.xml:
7627         * docs/pwg/other-ntoone.xml:
7628         * docs/pwg/other-oneton.xml:
7629         * docs/pwg/pwg.xml:
7630           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7631           demuxer), remove n-to-n (was never written), fix some code examples
7632           and links and update the porting section to include all this.
7633
7634 2005-07-19  Wim Taymans  <wim@fluendo.com>
7635
7636         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7637         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7638         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7639         (gst_queue_src_activate_push), (gst_queue_change_state),
7640         (gst_queue_get_property):
7641         * gst/gstqueue.h:
7642         Propagate GstFlowReturn more intelligently upstream and output
7643         an ERROR/EOS when streaming stopped due to fatal error.
7644
7645 2005-07-19  Wim Taymans  <wim@fluendo.com>
7646
7647         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7648         Don't block forever for the state change to complete, the
7649         pipeline already did with a sensible timeout.
7650
7651 2005-07-19  Wim Taymans  <wim@fluendo.com>
7652
7653         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7654         Make sure we never call the create function is we
7655         got deactivated.
7656
7657 2005-07-19  Andy Wingo  <wingo@pobox.com>
7658
7659         * gst/parse/parse.l: Attempt to solve bug #172815.
7660
7661 2005-07-19  Wim Taymans  <wim@fluendo.com>
7662
7663         * docs/design/part-clocks.txt:
7664         * docs/design/part-events.txt:
7665         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7666         Small docs updates.
7667         Only update the seeking values when we are not
7668         busy streaming.
7669
7670 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7671
7672         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7673           Oops, ignore the result of gst_pad_push_event here.
7674
7675 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7676
7677         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7678         (gst_base_src_activate_push):
7679           Send discont event from the loop function, as pads
7680           aren't activated yet in the activate_push handler.
7681
7682         * gst/gstbin.c: (bin_bus_handler):
7683           Don't leak element name.
7684
7685 2005-07-18  Andy Wingo  <wingo@pobox.com>
7686
7687         * configure.ac: Use AS_LIBTOOL_TAGS.
7688
7689 2005-07-18  Wim Taymans  <wim@fluendo.com>
7690
7691         * docs/gst/gstreamer.types:
7692         Remove deleted types.
7693
7694 2005-07-18  Wim Taymans  <wim@fluendo.com>
7695
7696         * check/elements/gstfakesrc.c: (GST_START_TEST):
7697         * configure.ac:
7698         * gst/Makefile.am:
7699         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7700         (init_popt_callback):
7701         * gst/gst.h:
7702         * gst/gst_private.h:
7703         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7704         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7705         * gst/gstbin.h:
7706         * gst/gstbus.h:
7707         * gst/gstconfig.h.in:
7708         * gst/gstelement.c: (gst_element_class_init),
7709         (gst_element_set_base_time), (gst_element_get_base_time),
7710         (iterator_fold_with_resync), (gst_element_change_state),
7711         (gst_element_dispose), (gst_element_get_bus):
7712         * gst/gstelement.h:
7713         * gst/gstelementfactory.h:
7714         * gst/gsterror.c: (_gst_core_errors_init):
7715         * gst/gsterror.h:
7716         * gst/gstevent.h:
7717         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7718         * gst/gstindex.c:
7719         * gst/gstinfo.c: (_gst_debug_init):
7720         * gst/gstmessage.c: (_gst_message_copy):
7721         * gst/gstmessage.h:
7722         * gst/gstminiobject.h:
7723         * gst/gstobject.c:
7724         * gst/gstobject.h:
7725         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7726         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7727         * gst/gstpad.h:
7728         * gst/gstparse.h:
7729         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7730         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7731         (gst_pipeline_get_last_stream_time):
7732         * gst/gstpipeline.h:
7733         * gst/gstpluginfeature.h:
7734         * gst/gstquery.h:
7735         * gst/gstscheduler.c:
7736         * gst/gstscheduler.h:
7737         * gst/gststructure.h:
7738         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7739         (gst_task_finalize), (gst_task_func), (gst_task_create),
7740         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7741         (gst_task_stop), (gst_task_pause):
7742         * gst/gsttask.h:
7743         * gst/gsttypefind.h:
7744         * gst/gsttypes.h:
7745         * gst/registries/gstlibxmlregistry.c: (load_feature),
7746         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7747         * gst/registries/gstxmlregistry.c:
7748         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7749         * gst/schedulers/threadscheduler.c:
7750         * libs/gst/control/dparammanager.h:
7751         * tools/gst-inspect.c: (print_element_list),
7752         (print_plugin_features), (print_element_features):
7753         * tools/gst-xmlinspect.c: (print_element_list),
7754         (print_plugin_info), (main):
7755         Removed plugable schedulers.
7756         Removed Scheduler/Manager from elements.
7757         Removed gsttypes.h, rearranged includes.
7758         Removed dependency pad<->element, element<>pipeline, and
7759         various others,  fix includes.
7760         implement gst_pad_get_parent() with gst_object_get_parent()
7761         Make GstTask sefcontained.
7762         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7763         timeout.
7764         Fix endless loop in iterator_fold_with_resync.
7765
7766
7767 2005-07-18  Wim Taymans  <wim@fluendo.com>
7768
7769         * gst/Makefile.am:
7770         * gst/gstarch.h:
7771         Remove old file.
7772
7773 2005-07-18  Wim Taymans  <wim@fluendo.com>
7774
7775         * gst/Makefile.am:
7776         No more cothreads.h
7777
7778 2005-07-18  Wim Taymans  <wim@fluendo.com>
7779
7780         * gst/cothreads.c:
7781         * gst/cothreads.h:
7782         Let's remove these.
7783
7784 2005-07-18  Wim Taymans  <wim@fluendo.com>
7785
7786         * docs/design/part-dynamic.txt:
7787         * docs/design/part-events.txt:
7788         * docs/design/part-seeking.txt:
7789         Some more docs in the works.
7790
7791         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7792         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7793         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7794         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7795         (gst_base_transform_handle_buffer),
7796         (gst_base_transform_sink_activate_push),
7797         (gst_base_transform_src_activate_pull),
7798         (gst_base_transform_set_passthrough),
7799         (gst_base_transform_is_passthrough):
7800         Refcounting fixes.
7801
7802         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7803         Cleanups.
7804
7805         * gst/gstevent.c: (gst_event_finalize):
7806         Set SRC to NULL.
7807
7808         * gst/gstutils.c: (gst_element_unlink),
7809         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7810         (gst_pad_proxy_setcaps):
7811         * gst/gstutils.h:
7812         Add _get_parent_element() to get a pads parent as an element.
7813
7814 2005-07-18  Wim Taymans  <wim@fluendo.com>
7815
7816         * check/gst/gstbin.c: (GST_START_TEST):
7817         Remove bogus test.
7818
7819 2005-07-18  Wim Taymans  <wim@fluendo.com>
7820
7821         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7822         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7823         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7824         (gst_base_sink_event), (gst_base_sink_do_sync),
7825         (gst_base_sink_chain), (gst_base_sink_loop),
7826         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7827         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7828         Refcounting fixes.
7829         Fix logic for returning ASYNC when not prerolled.
7830
7831 2005-07-18  Wim Taymans  <wim@fluendo.com>
7832
7833         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7834         Fix nasty refcount bug.
7835
7836 2005-07-16 Philippe Khalaf <burger@speedy.org>
7837
7838         * gst/elements/gstfdsrc.c:
7839         * gst/elements/gstfdsrc.h:
7840         * gst/elements/gstelements.c:
7841         * gst/elements/Makefile.am:
7842         Ported fdsrc to 0.9.
7843
7844 2005-07-16  Wim Taymans  <wim@fluendo.com>
7845
7846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7847         (gst_base_sink_do_sync):
7848         Fix compile error.
7849
7850 2005-07-16  Wim Taymans  <wim@fluendo.com>
7851
7852         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7853         (gst_base_sink_event), (gst_base_sink_get_times),
7854         (gst_base_sink_do_sync), (gst_base_sink_change_state):
7855         * gst/base/gstbasesink.h:
7856         Store and use discont values when syncing buffers as described
7857         in design docs.
7858         
7859         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7860         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
7861         (gst_base_src_activate_push):
7862         Push discont event when starting.
7863
7864         * gst/elements/gstidentity.c: (gst_identity_transform):
7865         Small cleanups.
7866
7867         * gst/gstbin.c: (gst_bin_change_state):
7868         Small cleanups in base_time  distribution.
7869
7870         * gst/gstelement.c: (gst_element_set_base_time),
7871         (gst_element_get_base_time), (gst_element_change_state):
7872         * gst/gstelement.h:
7873         Added methods for the base_time of the element.
7874         Some MT fixes.
7875
7876         * gst/gstpipeline.c: (gst_pipeline_send_event),
7877         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7878         (gst_pipeline_get_last_stream_time):
7879         * gst/gstpipeline.h:
7880         MT fixes.
7881         Handle seeking as described in design doc, remove stream_time
7882         hack.
7883         Cleanups clock and stream_time selection code. Added accessors
7884         for the stream_time.
7885         
7886
7887 2005-07-16  Andy Wingo  <wingo@pobox.com>
7888
7889         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
7890         (#305291).
7891
7892 2005-07-16  Wim Taymans  <wim@fluendo.com>
7893
7894         * check/gst/gstbin.c: (GST_START_TEST):
7895         Make elements silent as the deep_notify refs the
7896         parent, which might make the test fail.
7897
7898         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7899         Don't hold the lock for too long.
7900
7901 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
7902
7903         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7904           Don't unref the caps we passed to gst_caps_make_writable() after
7905           passing them. gst_caps_make_writable() will do that for us.
7906
7907 2005-07-15  Andy Wingo  <wingo@pobox.com>
7908
7909         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
7910         (#157311).
7911
7912         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
7913         own marshalling function for the handoff signal. Properly type the
7914         buffer as a buffer. Fixes some warnings. Should do a more general
7915         solution.
7916         (gst_identity_class_init): Plug into the right marshaller.
7917
7918 2005-07-15  Wim Taymans  <wim@fluendo.com>
7919
7920         * docs/design/part-TODO.txt:
7921         * docs/design/part-clocks.txt:
7922         * docs/design/part-element-sink.txt:
7923         * docs/design/part-events.txt:
7924         * docs/design/part-gstpipeline.txt:
7925         Updated docs, mostly DISCONT related.
7926
7927 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
7928
7929         * docs/pwg/building-pads.xml:
7930           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
7931
7932 2005-07-15  Andy Wingo  <wingo@pobox.com>
7933
7934         * tools/gst-typefind.c: Update, add copyright block.
7935
7936         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
7937         Normalize and truncate caps before fixation.
7938
7939         * gst/gstcaps.h:
7940         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
7941         discards all but the first structure from its argument.
7942
7943 2005-07-15  Wim Taymans  <wim@fluendo.com>
7944
7945         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7946         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
7947         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7948         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7949         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
7950         (gst_base_transform_chain), (gst_base_transform_change_state),
7951         (gst_base_transform_set_passthrough),
7952         (gst_base_transform_is_passthrough):
7953         * gst/base/gstbasetransform.h:
7954         Make passthrough work using the bufferpools.
7955         Changed API a bit, subclasses have to write into a buffer
7956         provided by the base class.
7957         More debug info in nego functions.
7958         
7959         * gst/elements/gstidentity.c: (gst_identity_init),
7960         (gst_identity_transform):
7961         Port to new base class.
7962
7963 2005-07-15  Wim Taymans  <wim@fluendo.com>
7964
7965         * gst/gstmessage.c: (gst_message_new_state_changed):
7966         * tools/gst-launch.c: (event_loop), (main):
7967         Totally dump messages in -launch with the -m option.
7968         Fix message name for State messages,
7969
7970 2005-07-14  Wim Taymans  <wim@fluendo.com>
7971
7972         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7973         Post error messages on errors.
7974
7975 2005-07-14  Wim Taymans  <wim@fluendo.com>
7976
7977         * gst/gstcaps.c: (gst_caps_do_simplify):
7978         Remove debug info.
7979
7980         * gst/gsterror.h:
7981         Define error for stream stopped.
7982
7983         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7984         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
7985         Do proper return values.
7986
7987         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7988         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
7989         (gst_pad_get_range):
7990         Better return values.
7991
7992         * gst/gstpad.h:
7993         Reorganise return values, add macro to check for fatal errors.
7994
7995         * gst/gstqueue.c: (gst_queue_chain):
7996         Return proper GstFlowReturn values,
7997
7998 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7999
8000         * docs/gst/gstreamer-sections.txt:
8001         * docs/gst/gstreamer.types:
8002         * docs/gst/tmpl/gst.sgml:
8003         * docs/gst/tmpl/gstbasesink.sgml:
8004         * docs/gst/tmpl/gstbasesrc.sgml:
8005         * docs/gst/tmpl/gstbasetransform.sgml:
8006         * docs/gst/tmpl/gstbin.sgml:
8007         * docs/gst/tmpl/gstbuffer.sgml:
8008         * docs/gst/tmpl/gstcaps.sgml:
8009         * docs/gst/tmpl/gstclock.sgml:
8010         * docs/gst/tmpl/gstcompat.sgml:
8011         * docs/gst/tmpl/gstconfig.sgml:
8012         * docs/gst/tmpl/gstelement.sgml:
8013         * docs/gst/tmpl/gstelementdetails.sgml:
8014         * docs/gst/tmpl/gstelementfactory.sgml:
8015         * docs/gst/tmpl/gstenumtypes.sgml:
8016         * docs/gst/tmpl/gsterror.sgml:
8017         * docs/gst/tmpl/gstevent.sgml:
8018         * docs/gst/tmpl/gstfakesink.sgml:
8019         * docs/gst/tmpl/gstfakesrc.sgml:
8020         * docs/gst/tmpl/gstfilesink.sgml:
8021         * docs/gst/tmpl/gstfilesrc.sgml:
8022         * docs/gst/tmpl/gstfilter.sgml:
8023         * docs/gst/tmpl/gstformat.sgml:
8024         * docs/gst/tmpl/gstghostpad.sgml:
8025         * docs/gst/tmpl/gstimplementsinterface.sgml:
8026         * docs/gst/tmpl/gstindex.sgml:
8027         * docs/gst/tmpl/gstindexfactory.sgml:
8028         * docs/gst/tmpl/gstinfo.sgml:
8029         * docs/gst/tmpl/gstiterator.sgml:
8030         * docs/gst/tmpl/gstmacros.sgml:
8031         * docs/gst/tmpl/gstmemchunk.sgml:
8032         * docs/gst/tmpl/gstminiobject.sgml:
8033         * docs/gst/tmpl/gstobject.sgml:
8034         * docs/gst/tmpl/gstpad.sgml:
8035         * docs/gst/tmpl/gstpadtemplate.sgml:
8036         * docs/gst/tmpl/gstparse.sgml:
8037         * docs/gst/tmpl/gstpipeline.sgml:
8038         * docs/gst/tmpl/gstplugin.sgml:
8039         * docs/gst/tmpl/gstpluginfeature.sgml:
8040         * docs/gst/tmpl/gstquery.sgml:
8041         * docs/gst/tmpl/gstqueue.sgml:
8042         * docs/gst/tmpl/gstregistry.sgml:
8043         * docs/gst/tmpl/gstregistrypool.sgml:
8044         * docs/gst/tmpl/gstscheduler.sgml:
8045         * docs/gst/tmpl/gstschedulerfactory.sgml:
8046         * docs/gst/tmpl/gststructure.sgml:
8047         * docs/gst/tmpl/gstsystemclock.sgml:
8048         * docs/gst/tmpl/gsttaglist.sgml:
8049         * docs/gst/tmpl/gsttagsetter.sgml:
8050         * docs/gst/tmpl/gsttrace.sgml:
8051         * docs/gst/tmpl/gsttrashstack.sgml:
8052         * docs/gst/tmpl/gsttypefind.sgml:
8053         * docs/gst/tmpl/gsttypefindfactory.sgml:
8054         * docs/gst/tmpl/gsttypes.sgml:
8055         * docs/gst/tmpl/gsturihandler.sgml:
8056         * docs/gst/tmpl/gsturitype.sgml:
8057         * docs/gst/tmpl/gstutils.sgml:
8058         * docs/gst/tmpl/gstvalue.sgml:
8059         * docs/gst/tmpl/gstversion.sgml:
8060         * docs/gst/tmpl/gstxml.sgml:
8061         * docs/libs/tmpl/gstcontrol.sgml:
8062         * docs/libs/tmpl/gstdataprotocol.sgml:
8063         * docs/libs/tmpl/gstdparam.sgml:
8064         * docs/libs/tmpl/gstdplinint.sgml:
8065         * docs/libs/tmpl/gstdpman.sgml:
8066         * docs/libs/tmpl/gstdpsmooth.sgml:
8067         * docs/libs/tmpl/gstgetbits.sgml:
8068         * docs/libs/tmpl/gstunitconvert.sgml:
8069         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8070         (gst_push_src_base_init), (gst_push_src_class_init),
8071         (gst_push_src_init), (gst_push_src_create):
8072         * gst/base/gstpushsrc.h:
8073         * gst/elements/gstelements.c:
8074         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8075         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8076         (gst_fake_sink_init), (gst_fake_sink_set_property),
8077         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8078         (gst_fake_sink_event), (gst_fake_sink_preroll),
8079         (gst_fake_sink_render), (gst_fake_sink_change_state):
8080         * gst/elements/gstfakesink.h:
8081         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8082         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8083         (gst_fake_src_base_init), (gst_fake_src_class_init),
8084         (gst_fake_src_init), (gst_fake_src_event_handler),
8085         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8086         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8087         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8088         (gst_fake_src_create_buffer), (gst_fake_src_create),
8089         (gst_fake_src_start), (gst_fake_src_stop):
8090         * gst/elements/gstfakesrc.h:
8091         * gst/elements/gstfilesink.c: (_do_init),
8092         (gst_file_sink_base_init), (gst_file_sink_class_init),
8093         (gst_file_sink_init), (gst_file_sink_dispose),
8094         (gst_file_sink_set_location), (gst_file_sink_set_property),
8095         (gst_file_sink_get_property), (gst_file_sink_open_file),
8096         (gst_file_sink_close_file), (gst_file_sink_query),
8097         (gst_file_sink_event), (gst_file_sink_render),
8098         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8099         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8100         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8101         * gst/elements/gstfilesink.h:
8102         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8103         (gst_file_src_class_init), (gst_file_src_init),
8104         (gst_file_src_finalize), (gst_file_src_set_location),
8105         (gst_file_src_set_property), (gst_file_src_get_property),
8106         (gst_file_src_map_region), (gst_file_src_map_small_region),
8107         (gst_file_src_create_mmap), (gst_file_src_create_read),
8108         (gst_file_src_create), (gst_file_src_is_seekable),
8109         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8110         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8111         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8112         (gst_file_src_uri_handler_init):
8113         * gst/elements/gstfilesrc.h:
8114           more autistic cleanliness in functions/names/defines
8115
8116 2005-07-13  Andy Wingo  <wingo@pobox.com>
8117
8118         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8119         source couldn't negotiate.
8120
8121         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8122         connections again.
8123
8124         * gst/gstutils.h:
8125         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8126         function. I am channeling Hades. Put your boots on suckers!!!
8127
8128 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8129
8130         * testsuite/caps/Makefile.am:
8131         * testsuite/caps/value_compare.c:
8132         * testsuite/caps/value_intersect.c:
8133         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8134           move two testsuite apps over to the check dir
8135
8136 2005-07-12  Wim Taymans  <wim@fluendo.com>
8137
8138         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8139         Added more debug info in the negotiate process.
8140
8141         * gst/gstmessage.h:
8142         Prepare for segment playback.
8143
8144         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8145         Better debugging.
8146
8147         * gst/gstutils.c:
8148         Some more docs.
8149
8150         * tools/gst-launch.c: (main):
8151         NULL pipeline on errors.
8152
8153 2005-07-12  Andy Wingo  <wingo@pobox.com>
8154
8155         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8156         not it comes from a malloc region. Make sure our copy gets freed.
8157
8158 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8159
8160         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8161         * check/gst/gstmessage.c: (GST_START_TEST):
8162         * check/gst/gststructure.c: (GST_START_TEST),
8163         (gst_structure_suite), (main):
8164           more testing
8165         * gst/gstelement.c: (gst_element_message_full):
8166           clean up GError and debug string now that they get copied
8167         * gst/gstmessage.c: (gst_message_new_error),
8168         (gst_message_new_warning), (gst_message_parse_error),
8169         (gst_message_parse_warning):
8170           use GST_TYPE_G_ERROR for structure_new, and take copies of
8171           arguments, so that we don't mess up refcounting
8172
8173 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8174
8175         * check/Makefile.am:
8176           add per-test valgrind targets
8177         * check/gst-libs/gdp.c: (GST_START_TEST),
8178         (gst_data_protocol_suite), (main):
8179           clean up
8180
8181 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8182
8183         * check/Makefile.am:
8184           instate more valgrindable tests
8185         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8186         (GST_START_TEST), (fakesrc_suite):
8187         * check/gst/gstpad.c: (GST_START_TEST):
8188         * check/gst/gststructure.c: (GST_START_TEST):
8189           fix test leaks
8190         * docs/gst/tmpl/gstminiobject.sgml:
8191         * gst/gstpad.c: (gst_pad_finalize):
8192           fix the static mutex leak
8193
8194 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * check/Makefile.am:
8197           add two more tests for valgrinding
8198         * check/gst/gstvalue.c: (GST_START_TEST):
8199           test refcount of deserialized buffer, found a leak
8200         * docs/gst/gstreamer-docs.sgml:
8201         * docs/gst/gstreamer-sections.txt:
8202         * docs/gst/gstreamer.types:
8203         * docs/gst/tmpl/gstminiobject.sgml:
8204           add miniobject to docs
8205         * gst/gstminiobject.c:
8206           add some docs
8207         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8208         (gst_string_unwrap):
8209           fix a hard-to-find invalid write for one of the tests
8210           fix a leak for deserialized buffers
8211
8212 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8213
8214         * docs/pwg/advanced-events.xml:
8215         * docs/pwg/advanced-request.xml:
8216         * docs/pwg/advanced-scheduling.xml:
8217         * docs/pwg/appendix-porting.xml:
8218         * docs/pwg/building-boiler.xml:
8219         * docs/pwg/intro-preface.xml:
8220         * docs/pwg/other-ntoone.xml:
8221           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8222           of example code and explanation for pad activation, loop() and
8223           getrange() functions and a bit more. Remove old comments pointing
8224           to loop-functions.
8225         * examples/pwg/Makefile.am:
8226           Add loop/getrange examples.
8227
8228 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8229
8230         * configure.ac:
8231           check for valgrind binary + some fixes
8232         * check/gst.supp:
8233           valgrind suppressions for the tests
8234         * check/Makefile.am:
8235           add a valgrind: target that valgrinds the unit tests
8236         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8237         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8238         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8239         * check/gst/gstghostpad.c:
8240           added some cleanup
8241         * check/gst/gstdata.c:
8242           removed
8243         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8244         (thread_unref), (gst_mini_object_suite), (main):
8245           added
8246         * gst/gst.c: (gst_deinit):
8247         * gst/gst.h:
8248           add a method to clean up.
8249         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8250         (gst_system_clock_obtain):
8251           allow for disposing the system clock.
8252         * tools/gst-launch.c: (main):
8253           deinit
8254
8255 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8256
8257         * docs/gst/tmpl/gstbasesrc.sgml:
8258         * docs/gst/tmpl/gstfakesrc.sgml:
8259         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8260         (gst_base_src_init), (gst_base_src_set_property),
8261         (gst_base_src_get_property), (gst_base_src_get_range),
8262         (gst_base_src_start):
8263         * gst/base/gstbasesrc.h:
8264           add num-buffers property
8265         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8266         (gst_fakesrc_init), (gst_fakesrc_set_property),
8267         (gst_fakesrc_get_property), (gst_fakesrc_create),
8268         (gst_fakesrc_start):
8269           remove num-buffers property
8270
8271 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8272
8273         * docs/gst/gstreamer-sections.txt:
8274         * docs/gst/tmpl/gstbasesink.sgml:
8275         * docs/gst/tmpl/gstbasesrc.sgml:
8276         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8277         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8278         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8279         (gst_base_sink_set_property), (gst_base_sink_get_property),
8280         (gst_base_sink_handle_object), (gst_base_sink_event),
8281         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8282         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8283         (gst_base_sink_loop), (gst_base_sink_deactivate),
8284         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8285         (gst_base_sink_change_state):
8286         * gst/base/gstbasesink.h:
8287         * gst/base/gstbasesrc.h:
8288         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8289         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8290         (gst_filesink_init):
8291           more macro splitting
8292
8293 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8294
8295         * gst/gstelement.c: (gst_element_get_bus):
8296           add debug
8297         * tools/gst-launch.c: (check_intr), (event_loop):
8298           fix bus leaks
8299
8300 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8301
8302         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8303           fix a caps leak
8304
8305 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8306
8307         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8308         (gst_base_src_finalize):
8309           add finalize method and clean up properly
8310         * gst/gstpipeline.c: (gst_pipeline_dispose):
8311           add debug
8312
8313 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8314
8315         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8316         (gst_bin_suite):
8317           add more things to check
8318         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8319         * gst/gstelement.c:
8320           more debug
8321
8322 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8323
8324         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8325         (GST_START_TEST), (fakesrc_suite):
8326         * check/gst-libs/gdp.c: (GST_START_TEST):
8327         * check/gst/gst.c: (GST_START_TEST):
8328         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8329         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8330         * check/gst/gstbus.c: (GST_START_TEST):
8331         * check/gst/gstcaps.c: (GST_START_TEST):
8332         * check/gst/gstdata.c: (GST_START_TEST):
8333         * check/gst/gstelement.c: (GST_START_TEST):
8334         * check/gst/gstghostpad.c: (GST_START_TEST):
8335         * check/gst/gstiterator.c: (GST_START_TEST):
8336         * check/gst/gstmessage.c: (GST_START_TEST):
8337         * check/gst/gstobject.c: (GST_START_TEST):
8338         * check/gst/gstpad.c: (GST_START_TEST):
8339         * check/gst/gststructure.c: (GST_START_TEST):
8340         * check/gst/gstsystemclock.c: (GST_START_TEST),
8341         (gst_systemclock_suite):
8342         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8343         * check/gst/gstvalue.c: (GST_START_TEST):
8344         * check/pipelines/cleanup.c: (GST_START_TEST):
8345         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8346         * check/states/sinks.c: (GST_START_TEST):
8347         * check/gstcheck.c: (gst_check_init):
8348         * check/gstcheck.h:
8349           add debugging category
8350           use GST_START_TEST now, so we add a debug line
8351
8352 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8353
8354         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8355           add test for state change message on a bin
8356         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8357           add another test
8358         * gst/gstbin.c: (gst_bin_init):
8359         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8360         * gst/gstelement.c: (gst_element_post_message),
8361         (gst_element_set_state):
8362         * gst/gstelementfactory.c: (gst_element_factory_create):
8363         * gst/gstmessage.c: (gst_message_new):
8364         * gst/gstscheduler.c:
8365           various debugging additions and cleanups
8366
8367 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8368
8369         * check/Makefile.am:
8370         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8371         (main):
8372           adding tests for elements
8373         * gst/gstelement.c: (gst_element_dispose):
8374
8375 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8376
8377         * gst/registries/gstlibxmlregistry.c: (load_feature):
8378           plug more leaks.  A simple gst_init() now is leakfree, yay.
8379
8380 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8381
8382         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8383         (gst_xml_registry_load):
8384           plug another memleak
8385
8386 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8387
8388         * configure.ac:
8389           use GST_SET_ERROR_CFLAGS
8390         * docs/faq/cvs.xml:
8391           change to ERROR_CFLAGS
8392
8393 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8394
8395         * configure.ac:
8396           make GST_ERROR_CFLAGS overridable and re-enable Werror
8397         * docs/faq/cvs.xml:
8398           add a note about error CFLAGS
8399         * docs/gst/tmpl/gstfakesrc.sgml:
8400         * gst/elements/gstfakesrc.c:
8401           comment out some unused code
8402         * gst/gst.c: (split_and_iterate):
8403         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8404         (load_feature):
8405           plug some memleaks
8406
8407 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8408
8409         * common/Makefile.am:
8410         * common/gtk-doc.mak:
8411         * docs/gst/Makefile.am:
8412           factor out gtk-doc.mak
8413
8414 2005-07-07  Wim Taymans  <wim@fluendo.com>
8415
8416         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8417         (gst_thread_scheduler_dispose):
8418         Unlock the STREAM_LOCK completely.
8419
8420 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8421
8422         * check/Makefile.am:
8423         * check/elements/.cvsignore:
8424         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8425         (START_TEST), (fakesrc_suite), (main):
8426         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8427         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8428         (gst_fakesrc_create), (gst_fakesrc_start):
8429         * gst/elements/gstfakesrc.h:
8430           adding a first element test
8431
8432 2005-07-07  Andy Wingo  <wingo@pobox.com>
8433
8434         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8435         debug message.
8436
8437 2005-07-07  Wim Taymans  <wim@fluendo.com>
8438
8439         * gst/gstquery.c:
8440         * gst/gstquery.h:
8441         Remove old types
8442
8443 2005-07-07  Wim Taymans  <wim@fluendo.com>
8444
8445         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8446         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8447         Allow subclasses to implement their own negotiation.
8448
8449 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8450
8451         * docs/design/part-gstbin.txt:
8452         * docs/design/part-gstpipeline.txt:
8453           Update design notes to reflect the movement of
8454           responsibility for bus handling from GstPipeline to
8455           GstBin
8456
8457 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8458
8459         * configure.ac:
8460           Remove unnecessary queue2/3/4 examples.
8461
8462 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8463
8464         * examples/Makefile.am:
8465         * examples/helloworld/helloworld.c: (event_loop), (main):
8466         * examples/queue/queue.c: (event_loop), (main):
8467         * examples/queue2/queue2.c: (main):
8468           Update a couple of the examples to work again.
8469
8470         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8471         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8472          Spelling corrections and extra debug.
8473         
8474         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8475         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8476         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8477         * gst/gstbin.h:
8478         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8479         (gst_pipeline_change_state):
8480         * gst/gstpipeline.h:
8481           Move the bus handler for children to the GstBin, and create a
8482           separate bus for receiving messages from children to the one the
8483           bus sends 'upwards' on.
8484
8485 2005-07-06  Wim Taymans  <wim@fluendo.com>
8486
8487         * gst/base/README:
8488         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8489         (gst_base_sink_handle_object), (gst_base_sink_loop),
8490         (gst_base_sink_change_state):
8491         * gst/base/gstbasesink.h:
8492         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8493         (gst_base_src_init), (gst_base_src_setcaps),
8494         (gst_base_src_getcaps), (gst_base_src_loop),
8495         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8496         (gst_base_src_start), (gst_base_src_change_state):
8497         * gst/base/gstbasesrc.h:
8498         Make basesrc negotiate.
8499         Handle the case where preroll fails in basesink.
8500         Update README.
8501
8502 2005-07-06  Wim Taymans  <wim@fluendo.com>
8503
8504         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8505         Implement the fixate function.
8506         Clean up acceptcaps.
8507
8508 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8509
8510         * docs/pwg/building-filterfactory.xml:
8511         * docs/pwg/pwg.xml:
8512           Remove never-written filter-factory chapter; I'll add the various
8513           base classes to part 4 ("other element types") later on.
8514
8515 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8516
8517         * docs/pwg/advanced-negotiation.xml:
8518         * docs/pwg/building-boiler.xml:
8519         * docs/pwg/building-pads.xml:
8520         * docs/pwg/pwg.xml:
8521         * examples/pwg/Makefile.am:
8522           Add a chapter on caps negotiation, simplify the original code
8523           samples a bit w.r.t. caps negotiation, add link to the advanced
8524           section. Add a bunch of examples showing different use cases of
8525           different types of caps negotiation. Upstream renegotiation isn't
8526           fully documented yet since nobody knows how that works.
8527
8528 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8529
8530         * check/gst/gstpad.c:
8531         * check/gstcheck.c:
8532         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8533           if pad has no parent, return NULL as list of internal links
8534
8535 2005-07-05  Andy Wingo  <wingo@pobox.com>
8536
8537         * gst/elements/gstfilesrc.c:
8538         * gst/elements/gstfakesrc.c: 
8539         * gst/base/gstpushsrc.c:
8540         * gst/base/gstbasesrc.h: 
8541         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8542         
8543 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8544
8545         * Makefile.am:
8546           better report generation target (lcov needs a patch)
8547
8548 2005-07-05  Andy Wingo  <wingo@pobox.com>
8549
8550         * gst/elements, testsuite: Null if we got it...
8551
8552 2005-07-05  Wim Taymans  <wim@fluendo.com>
8553
8554         * configure.ac:
8555         * libs/gst/dataprotocol/Makefile.am:
8556         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8557         * libs/gst/dataprotocol/dataprotocol.h:
8558         * pkgconfig/Makefile.am:
8559         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8560         * pkgconfig/gstreamer-dataprotocol.pc.in:
8561         Ported dataprotol to 0.9. 
8562         Added pkgconfig files.
8563
8564 2005-07-05  Andy Wingo  <wingo@pobox.com>
8565
8566         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8567         Default to returning TRUE for the case when tranform_caps returns
8568         a fixed caps, like for identity or volume.
8569
8570         * check/gst/gstbus.c (pound_bus_with_messages): 
8571         * check/gst/gstmessage.c (START_TEST): 
8572         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8573         message API change.
8574
8575         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8576         logic weaks here: always run transform_caps, trying passthrough
8577         operation only if the original caps intersects with the transform.
8578
8579         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8580         source and sink caps.
8581
8582         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8583         Intersect the peer caps with the pad template before going into
8584         transform_caps.
8585         (gst_base_transform_transform_caps): More debugging.
8586
8587         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8588         src argument.
8589
8590 2005-07-04  Edward Hervey  <edward@fluendo.com>
8591
8592         * gst/gstutils.c:
8593         * gst/gstutils.h:
8594         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8595         in bindings.
8596
8597 2005-07-04  Andy Wingo  <wingo@pobox.com>
8598
8599         * check/gst/gstpad.c: Only set explicit caps on pads.
8600
8601 2005-07-01  Andy Wingo  <wingo@pobox.com>
8602
8603         * tests/network-clock.scm: Commentary update.
8604
8605         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8606         Didn't really make sense, not implementable with basetransform,
8607         etc.
8608         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8609         attempt at implementing the sync property, needs an unlock method.
8610
8611         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8612         New func, by default returns the same caps (the identity
8613         transformation).
8614         (gst_base_transform_getcaps): Uses transform_caps to return
8615         something sensible.
8616         (gst_base_transform_setcaps): Complicated logic to get caps on
8617         both pads, even if they are different, and to call set_caps once
8618         for every time both pads get their caps set.
8619         (gst_base_transform_handle_buffer): Give the ref to the transform
8620         function. Allows in-place modification of the buffer.
8621
8622         * gst/base/gstbasetransform.h (transform_caps): New class method.
8623         Given caps on one side, what can I do on the other.
8624         (set_caps): Take two caps, one for each side of the element.
8625
8626         * gst/gstpad.h:
8627         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8628         caps in place. This is safe because we can check the mutability of
8629         the caps, and a good idea because fixate functions are just called
8630         as a matter of last resort. (Not actually implemented.)
8631         (gst_pad_set_caps): If the caps we're setting is actually the same
8632         as the existing pad caps, just update the pointer without calling
8633         setcaps. Assert that caps is either NULL or fixed, as per the
8634         docs.
8635
8636         * gst/gstghostpad.c: Update for fixate changes.
8637
8638 2005-07-02  Andy Wingo  <wingo@pobox.com>
8639
8640         * gst/gstcaps.c:
8641         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8642         two refcounts makes it immutable, which is enough. Doc more.
8643
8644 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8645
8646         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8647           Put the mini_object into GValue as a mini_object,
8648           not a gpointer, since that's how we declared
8649           the signal.
8650
8651 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8652
8653         * examples/pwg/Makefile.am:
8654           Fix buildbot again.
8655
8656 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8657
8658         * docs/pwg/building-testapp.xml:
8659           Add extra check.
8660         * examples/pwg/Makefile.am:
8661           Fix buildbot.
8662
8663 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8664
8665         * configure.ac:
8666         * examples/Makefile.am:
8667         * examples/pwg/Makefile.am:
8668         * examples/pwg/extract.pl:
8669           Enable building the PWG examples.
8670         * docs/pwg/advanced-interfaces.xml:
8671           Add URI interface stub.
8672         * docs/pwg/advanced-types.xml:
8673         * docs/pwg/other-autoplugger.xml:
8674         * docs/pwg/appendix-porting.xml:
8675         * docs/pwg/pwg.xml:
8676           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8677         * docs/pwg/building-boiler.xml:
8678         * docs/pwg/building-chainfn.xml:
8679         * docs/pwg/building-pads.xml:
8680         * docs/pwg/building-props.xml:
8681         * docs/pwg/building-state.xml:
8682         * docs/pwg/building-testapp.xml:
8683           Update the building-*.xml parts for 0.9 changes. All examples
8684           code blocks compile in examples/pwg/*.
8685
8686 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8687
8688         * docs/manual/advanced-autoplugging.xml:
8689         * docs/manual/appendix-checklist.xml:
8690         * docs/manual/appendix-integration.xml:
8691         * docs/manual/highlevel-components.xml:
8692           Fix playbin/decodebin examples, update docs a bit, mention bus
8693           instead of signals in various places, mention kmplayer and
8694           kaffeine since they have a working GStreamer backend in the KDE
8695           section.
8696
8697 2005-06-30  Wim Taymans  <wim@fluendo.com>
8698
8699         * CHANGES-0.9:
8700         * docs/design/draft-ghostpads.txt:
8701         * docs/design/draft-push-pull.txt:
8702         * docs/design/draft-query.txt:
8703         * docs/design/part-TODO.txt:
8704         * docs/design/part-query.txt:
8705         Added CHANGES-0.9 doc, updated status of other docs.
8706         
8707         * gst/gstquery.h:
8708         Remove "hmm" macro
8709
8710 2005-06-30  Wim Taymans  <wim@fluendo.com>
8711
8712         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8713         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8714         (gst_base_sink_change_state):
8715         * gst/base/gstbasesink.h:
8716         Some tweaks, only EOS and a buffer complete a preroll.
8717
8718 2005-06-30  Andy Wingo  <wingo@pobox.com>
8719
8720         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8721         activate_push down to the internal pad as well.
8722
8723 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8724
8725         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8726
8727         * gst/gsttaginterface.c:
8728           Some documentation fixes (#307394 and #307397).
8729
8730 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8731
8732         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8733
8734         * gst/gstvalue.c: (gst_value_intersect_list):
8735           Fix memleak (#309125).
8736
8737 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8738
8739         * docs/manual/advanced-dataaccess.xml:
8740           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8741         * docs/manual/basics-pads.xml:
8742           Add reference for filtered caps to above chapter.
8743
8744 2005-06-30  Wim Taymans  <wim@fluendo.com>
8745
8746         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8747         (gst_bin_change_state):
8748         Probes are gone.
8749         Lame attempt at making the state change function a bit
8750         more readable.
8751
8752 2005-06-30  Wim Taymans  <wim@fluendo.com>
8753
8754         * docs/design/part-clocks.txt:
8755         * docs/design/part-element-sink.txt:
8756         * docs/design/part-events.txt:
8757         * docs/design/part-preroll.txt:
8758         * docs/design/part-states.txt:
8759         Some more tweeks and additions to the docs.
8760
8761 2005-06-30  Wim Taymans  <wim@fluendo.com>
8762
8763         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8764         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8765         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8766         (gst_pad_check_pull_range), (gst_pad_get_range),
8767         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8768         * gst/gstpad.h:
8769         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8770         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8771         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8772         (gst_pad_remove_buffer_probe):
8773         Removed atomic operations, use existing LOCK.
8774         Move exception handling out of main code path.
8775
8776 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8777
8778         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8779         (silly_return_true_function), (gst_pad_class_init),
8780         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8781         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8782         (gst_pad_send_event):
8783           Fix accumulator, add default value by using _emitv() instead
8784           of _emit() for signal emission.
8785
8786 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8787
8788         * docs/manual/advanced-dataaccess.xml:
8789         * examples/manual/Makefile.am:
8790           Add probe example.
8791         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8792           Make work (??).
8793
8794 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8795
8796         * gst/elements/gstfilesink.c: (gst_filesink_render):
8797           Simplify code so that we don't have to handle short
8798           writes and return GST_FLOW_ERROR if an error occured.
8799
8800 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8801
8802         * docs/gst/gstreamer-docs.sgml:
8803           Remove probes more.
8804
8805 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8806
8807         * docs/gst/gstreamer-sections.txt:
8808         * docs/gst/tmpl/gstpad.sgml:
8809         * docs/gst/tmpl/gstprobe.sgml:
8810         * gst/Makefile.am:
8811         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8812         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8813         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8814         (gst_pad_push_event), (gst_pad_send_event):
8815         * gst/gstpad.h:
8816         * gst/gstutils.c: (gst_pad_add_data_probe),
8817         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8818         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8819         (gst_pad_remove_buffer_probe):
8820         * gst/gstutils.h:
8821           Remove old probes, add new g-signal-based probes and some utility
8822           functions.
8823
8824 2005-06-29  Edward Hervey  <edward@fluendo.com>
8825
8826         * gst/gstelementfactory.c:
8827         * gst/gstutils.h:
8828         * gst/gstutils.c:
8829         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8830         the definition to the header file.
8831
8832 2005-06-29  Andy Wingo  <wingo@pobox.com>
8833
8834         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8835         plugins from the source directory.
8836
8837 2005-06-29  Wim Taymans  <wim@fluendo.com>
8838
8839         * docs/gst/tmpl/gstbuffer.sgml:
8840         * docs/gst/tmpl/gstclock.sgml:
8841         Some fixings for blantently wrong text.
8842
8843 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8844
8845         * check/Makefile.am:
8846         * gst/gst.c: (add_path_func), (init_pre):
8847         * gst/gstregistry.c: (gst_registry_add_path):
8848           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
8849           only scan the GST_PLUGIN_PATH locations, and not add
8850           system locations
8851
8852 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8853
8854         * docs/gst/gstreamer-sections.txt:
8855         * docs/gst/tmpl/gstbasesrc.sgml:
8856         * gst/gstelement.c:
8857         * gst/gstelement.h:
8858         * gst/gstevent.c:
8859         * gst/gstutils.c:
8860           doc fixes
8861
8862 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8863
8864         * docs/manual/advanced-autoplugging.xml:
8865           Fix autoplugging example.
8866
8867 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8868
8869         * docs/manual/advanced-autoplugging.xml:
8870         * docs/manual/mime-world.fig:
8871           Try to get autoplugging working, fix type detection. Fix text
8872           in hello-world image.
8873
8874 2005-06-29  Wim Taymans  <wim@fluendo.com>
8875
8876         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8877         (gst_base_sink_change_state):
8878         Small debug line.
8879
8880         * gst/gstclock.h:
8881         map SIGNAL and BROADCAST to the right function.
8882
8883         * gst/gstobject.h:
8884         Remove redundant braces.
8885
8886         * gst/gstpad.c: (gst_pad_set_caps):
8887         Don't call setcaps function when reseting caps to NULL.
8888
8889         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8890         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
8891         (gst_system_clock_id_unschedule):
8892         Use BROADCAST as this is what we do.
8893
8894 2005-06-29  Wim Taymans  <wim@fluendo.com>
8895
8896         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8897         We are actually prerolling before commiting the state
8898         change. 
8899
8900 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8901
8902         * docs/manual/advanced-clocks.xml:
8903         * docs/manual/advanced-interfaces.xml:
8904         * docs/manual/advanced-metadata.xml:
8905         * docs/manual/advanced-position.xml:
8906         * docs/manual/advanced-schedulers.xml:
8907         * docs/manual/advanced-threads.xml:
8908         * docs/manual/appendix-porting.xml:
8909         * docs/manual/basics-bins.xml:
8910         * docs/manual/basics-bus.xml:
8911         * docs/manual/basics-elements.xml:
8912         * docs/manual/basics-helloworld.xml:
8913         * docs/manual/basics-pads.xml:
8914         * docs/manual/highlevel-components.xml:
8915         * docs/manual/manual.xml:
8916         * docs/manual/thread.fig:
8917           Update (until threads/scheduling) Application Development Manual;
8918           remove GstThread, add GstBus, add simple porting checklist, add
8919           documentation for tag writing, clocks, make all examples until this
8920           part compile and run.
8921         * examples/manual/Makefile.am:
8922           Update from changes to Application Development Manual; add bus
8923           example, remove thread example.
8924
8925 2005-06-28  Wim Taymans  <wim@fluendo.com>
8926
8927         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
8928         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
8929         (gst_bus_source_dispatch):
8930         Add debugging messages.
8931         Make internal methods static.
8932         Handle the case where the bus is flushed in the handler.
8933         
8934         * gst/gstelement.c: (gst_element_get_bus):
8935         Fix refcount in _get_bus();
8936
8937         * gst/gstpipeline.c: (gst_pipeline_change_state),
8938         (gst_pipeline_get_clock_func):
8939         Clock refcounting fixes.
8940         Handle the case where preroll timed out more gracefully.
8941         
8942         * gst/gstsystemclock.c: (gst_system_clock_dispose):
8943         Clean up the internal thread in dispose. This is needed
8944         for subclasses that actually get disposed.
8945         
8946         * gst/schedulers/threadscheduler.c:
8947         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8948         (gst_thread_scheduler_dispose):
8949         Free thread pool in dispose.
8950
8951 2005-06-28  Andy Wingo  <wingo@pobox.com>
8952
8953         * tests/network-clock-utils.scm (debug, print-event): New utils.
8954
8955         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
8956         (*packet-loss*): Unified loss probability.
8957         (network-time): Report out-of-band events.
8958
8959         * tests/plot-data: Add support for out-of-band events. Hack it
8960         into this script instead of passing it down the pipe; should fix
8961         this later.
8962
8963 2005-06-28  Wim Taymans  <wim@fluendo.com>
8964
8965         * docs/gst/gstreamer.types:
8966         * docs/gst/tmpl/gstbasesrc.sgml:
8967         * docs/gst/tmpl/gstpad.sgml:
8968         Docs fixes.
8969
8970 2005-06-28  Wim Taymans  <wim@fluendo.com>
8971
8972         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8973         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
8974         (gst_proxy_pad_do_fixatecaps):
8975         Correctly proxy the check_pull_range function.
8976
8977 2005-06-28  Andy Wingo  <wingo@pobox.com>
8978
8979         * tests/network-clock.scm: Removed need for slib.
8980         
8981 2005-06-28  Wim Taymans  <wim@fluendo.com>
8982
8983         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
8984         (gst_basesink_preroll_queue_flush):
8985         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
8986         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
8987         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8988         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8989         (gst_proxy_pad_set_property):
8990         * gst/gstpad.c:
8991         * gst/gstpad.h:
8992         * gst/gstqueue.c: (gst_queue_init):
8993         The deprecated pad loop function is removed now.
8994
8995 2005-06-28  Andy Wingo  <wingo@pobox.com>
8996
8997         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
8998         New parameters, simulate network packet loss.
8999
9000         * tests/network-clock-utils.scm: Initialize the RNG.
9001
9002 2005-06-28  Wim Taymans  <wim@fluendo.com>
9003
9004         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9005         (gst_basesink_event), (gst_basesink_deactivate):
9006         Flushing the preroll queue always needs to unlock the waiters.
9007
9008 2005-06-28  Edward Hervey  <edward@fluendo.com>
9009
9010         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9011         Wheen a seek was successful on a pipeline, set the stream_time to the
9012         seek offset in order to have a synchronized stream_time.
9013
9014 2005-06-28  Wim Taymans  <wim@fluendo.com>
9015
9016         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9017         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9018         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9019         (gst_proxy_pad_do_fixatecaps):
9020         Call wrapper function instead of just calling the function
9021         pointers. This takes care of any locking and whatmore.
9022
9023 2005-06-28  Wim Taymans  <wim@fluendo.com>
9024
9025         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9026         (gst_pad_pull_range):
9027         * gst/gstpad.h:
9028         CONNECTED -> LINKED.
9029
9030 2005-06-28  Andy Wingo  <wingo@pobox.com>
9031
9032         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9033         source-munging commit!!!
9034
9035         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9036         (gst_object_sink): Take gpointer arguments, not GstObject --
9037         avoids casts. Like GLib.
9038
9039         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9040         activate.
9041
9042 2005-06-27  Andy Wingo  <wingo@pobox.com>
9043
9044         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9045         remaining buffer.
9046
9047         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9048         returns a sorted copy of the trace list.
9049         (gst_alloc_trace_print_live): New API, only prints traces with
9050         live objects. Sort the list.
9051         (gst_alloc_trace_print_all): Sort the list.
9052         (gst_alloc_trace_print): Align columns.
9053
9054         * gst/elements/gstttypefindelement.c:
9055         * gst/elements/gsttee.c:
9056         * gst/base/gstbasesrc.c:
9057         * gst/base/gstbasesink.c:
9058         * gst/base/gstbasetransform.c:
9059         * gst/gstqueue.c: Adapt for pad activation changes.
9060
9061         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9062         sched.
9063         (gst_pipeline_dispose): Drop ref on sched.
9064
9065         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9066         (gst_pad_activate_default): Push mode by default.
9067         (pre_activate_switch, post_activate_switch): New stubs, things to
9068         do before and after switching activation modes on pads.
9069         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9070         the pad's activate function to choose which mode to activate.
9071         Shortcut on deactivation and call the right function directly.
9072         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9073         mode.
9074         (gst_pad_activate_push): New API, same for push mode.
9075         (gst_pad_set_activate_function) 
9076         (gst_pad_set_activatepull_function) 
9077         (gst_pad_set_activatepush_function): Setters for new API.
9078
9079         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9080         Trace all miniobjects.
9081         (gst_mini_object_make_writable): Unref the arg if we copy, like
9082         gst_caps_make_writable.
9083
9084         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9085
9086         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9087         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9088         Adapt for new pad API.
9089
9090         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9091
9092         * gst/gstelement.h:
9093         * gst/gstelement.c (gst_element_iterate_src_pads) 
9094         (gst_element_iterate_sink_pads): New API functions.
9095         
9096         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9097         should fold into gstiterator.c in some form.
9098         (gst_element_pads_activate): Simplified via use of fold and
9099         delegation of decisions to gstpad->activate.
9100
9101         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9102         help in debugging.
9103
9104         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9105         class once in init, like gstmessage. Didn't run into this issue
9106         but it seems correct. Don't initialize a trace, gstminiobject does
9107         that.
9108
9109         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9110         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9111         to the bus.
9112         (assert_live_count): New util function, uses alloc traces to check
9113         cleanup.
9114
9115         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9116         To be modified when unlink drops the internal pad.
9117
9118 2005-06-27  Wim Taymans  <wim@fluendo.com>
9119
9120         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9121         (gst_bin_change_state):
9122         Cleanup the get_state() function a little, make sure it
9123         iterates the same set of elements.
9124         Added stub iterate_state_order().
9125
9126 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9127
9128         * docs/gst/gstreamer-docs.sgml:
9129         * docs/gst/gstreamer-sections.txt:
9130         * docs/gst/gstreamer.types:
9131         * docs/gst/tmpl/gstbasesink.sgml:
9132         * docs/gst/tmpl/gstbasesrc.sgml:
9133         * docs/gst/tmpl/gstbasetransform.sgml:
9134         * docs/gst/tmpl/gstelement.sgml:
9135         * docs/gst/tmpl/gstiterator.sgml:
9136         * gst/base/gstbasesrc.c:
9137         * gst/base/gstbasesrc.h:
9138         * gst/base/gstbasetransform.h:
9139         * gst/gstelement.c:
9140         * gst/gstiterator.h:
9141           adding basetransform and iterator docs
9142
9143 2005-06-27  Andy Wingo  <wingo@pobox.com>
9144
9145         * docs/design/part-activation.txt: Notes on how activation should
9146         work -- not quite implemented yet.
9147
9148 2005-06-25  Wim Taymans  <wim@fluendo.com>
9149
9150         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9151         At least get the chain function correct, needs more
9152         fixing.
9153
9154 2005-06-25  Wim Taymans  <wim@fluendo.com>
9155
9156         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9157         (gst_basesink_handle_object), (gst_basesink_event),
9158         (gst_basesink_do_sync), (gst_basesink_handle_event),
9159         (gst_basesink_change_state):
9160         * gst/gsttask.h:
9161         Right, two problems here: ghostpads don't take locks and
9162         glib _rec_mutex_lock_full() with depth==0 still locks.
9163         Catch illegal locking and g_warn them.
9164
9165 2005-06-25  Wim Taymans  <wim@fluendo.com>
9166
9167         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9168         Have to check for completion now...
9169
9170 2005-06-25  Wim Taymans  <wim@fluendo.com>
9171
9172         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9173         (gst_basesink_handle_object), (gst_basesink_event),
9174         (gst_basesink_do_sync), (gst_basesink_handle_event),
9175         (gst_basesink_change_state):
9176         * gst/gstpad.h:
9177         Unlock STREAM_LOCK whatever the recursion was.
9178
9179 2005-06-25  Wim Taymans  <wim@fluendo.com>
9180
9181         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9182         (gst_basesink_preroll_queue_empty),
9183         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9184         (gst_basesink_event), (gst_basesink_do_sync),
9185         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9186         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9187         (gst_basesink_change_state):
9188         Reworked the base sink, handle event and buffer serialisation
9189         correctly and removed possible deadlock.
9190         Handle EOS correctly.
9191
9192 2005-06-25  Wim Taymans  <wim@fluendo.com>
9193
9194         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9195         (gst_pipeline_change_state):
9196         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9197         Allow elements to post EOS in the state change function.
9198         Fix up -launch, make it exit the poll loop when the
9199         pipeline actually changed state.
9200         Fix up warning parsing in -launch.
9201
9202 2005-06-25  Wim Taymans  <wim@fluendo.com>
9203
9204         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9205         (gst_tee_sink_activate):
9206         Core takes STREAM_LOCK for us now.
9207
9208 2005-06-25  Wim Taymans  <wim@fluendo.com>
9209
9210         * gst/gstelement.c: (gst_element_get_state_func),
9211         (gst_element_set_state):
9212         * gst/gstelement.h:
9213         * gst/gstmessage.c: (gst_message_parse_error),
9214         (gst_message_parse_warning):
9215         Keep track of current target state while performing a state
9216         change so that subclasses can do something interesting.
9217         Fix parsing of warning/error messages when GError is NULL.
9218
9219 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9220
9221         * docs/gst/Makefile.am:
9222         * docs/gst/gstreamer-docs.sgml:
9223         * docs/gst/gstreamer-sections.txt:
9224         * docs/gst/gstreamer.types:
9225         * docs/gst/tmpl/gstbasesink.sgml:
9226         * docs/gst/tmpl/gstbasesrc.sgml:
9227         * docs/gst/tmpl/gstbin.sgml:
9228         * docs/gst/tmpl/gstcompat.sgml:
9229         * docs/gst/tmpl/gstfakesink.sgml:
9230         * docs/gst/tmpl/gstfakesrc.sgml:
9231         * docs/gst/tmpl/gstfilesink.sgml:
9232         * docs/gst/tmpl/gstfilesrc.sgml:
9233         * docs/gst/tmpl/gstindex.sgml:
9234         * docs/manual/appendix-quotes.xml:
9235         * gst/base/gstbasesrc.h:
9236         * gst/elements/gstfakesrc.h:
9237         * gst/gstmessage.h:
9238           start pulling in base classes and elements in our docs
9239
9240 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9241
9242         * docs/gst/Makefile.am:
9243         * docs/libs/Makefile.am:
9244           fixed make distcheck with gtk-doc 1.3
9245
9246 2005-06-23  Wim Taymans  <wim@fluendo.com>
9247
9248         * gst/gstelement.c: (gst_element_get_state_func),
9249         (gst_element_set_state), (gst_element_change_state):
9250         When the state did not change, also report NO_PREROLL
9251         when it matters.
9252
9253 2005-06-23  Wim Taymans  <wim@fluendo.com>
9254
9255         * gst/gstpad.c: (gst_pad_event_default):
9256         * gst/gstqueue.c: (gst_queue_loop):
9257         No unsafe task pausing please.
9258
9259 2005-06-23  Wim Taymans  <wim@fluendo.com>
9260
9261         * gst/schedulers/threadscheduler.c:
9262         (gst_thread_scheduler_task_start),
9263         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9264         Ref the task before pushing it on the threadpool. This
9265         makes sure that we have a ref when the threadfunction is
9266         actually called.
9267
9268 2005-06-23  Andy Wingo  <wingo@pobox.com>
9269
9270         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9271         offset is greater than the file's size.
9272
9273         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9274         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9275         * gst/gstobject.c (gst_object_class_init): Make the class lock
9276         recursive. Wim won't let me drop deep_notify. Decodebin works
9277         again, whoopdy doo.
9278
9279         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9280         internal pad, and hacks accordingly. Doesn't do it on the target
9281         pad because we change its caps. Probably catches all cases of
9282         interest tho.
9283         (gst_ghost_pad_set_property): Connect to notify::caps as
9284         appropritate.
9285
9286         * tests/network-clock.scm (plot-simulation): Pipe data to the
9287         elite python skript.
9288
9289         * tests/network-clock-utils.scm (define-parameter): New macro,
9290         defines a parameter that can be set via the command line.
9291         (set-parameter!, parse-parameter-arguments): Command line args
9292         parser.
9293
9294         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9295         stdin.
9296
9297 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9298
9299         * gst/elements/gsttypefindelement.c:
9300         (gst_type_find_element_handle_event):
9301           Don't restart typefinding on a discont.
9302         * gst/gstelement.c: (gst_element_set_state):
9303           Debug spelling fix.
9304         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9305           Allow changing mode of an active pad.
9306           Debug output fixes.
9307         * gst/registries/gstlibxmlregistry.c: (load_feature):
9308           Don't cast a static pad template to a normal pad template.
9309
9310 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9311
9312         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9313         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9314           remove gst_strtoll completely, since it didn't actually do
9315           anything more than what g_ascii_strtoull already does.
9316           check for range errors when deserializing
9317           do a cast for the unsigned cases; but further fixing needs
9318           a decision on what the interpretation of "(int)" and
9319           deserialization should be for values that fall outside the
9320           type's boundaries (ie, refuse, or interpret as casting)
9321
9322 2005-06-23  Wim Taymans  <wim@fluendo.com>
9323
9324         * check/Makefile.am:
9325         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9326         * docs/design/part-live-source.txt:
9327         * docs/design/part-states.txt:
9328         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9329         (gst_basesrc_set_live), (gst_basesrc_is_live),
9330         (gst_basesrc_get_range), (gst_basesrc_activate),
9331         (gst_basesrc_change_state):
9332         * gst/base/gstbasesrc.h:
9333         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9334         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9335         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9336         * gst/gstelement.c: (gst_element_get_state_func),
9337         (gst_element_set_state):
9338         * gst/gstelement.h:
9339         * gst/gsttypes.h:
9340         * tools/gst-launch.c: (event_loop), (main):
9341         Added support for live sources and other elements that
9342         cannot do preroll.
9343         Updated design docs, added live-source design doc.
9344         Implemented live source functionality in basesrc
9345         Fix error condition in _bin_get_state()
9346         Implement live source handling in -launch.
9347         Added check for live sources.
9348         Fixed case in GstBin where elements were changed state
9349         multiple times.
9350
9351
9352 2005-06-23  Andy Wingo  <wingo@pobox.com>
9353
9354         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9355         borken refcounting.
9356
9357         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9358         gst_caps_replace takes care of this for us.
9359
9360         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9361         gst_pad_set_caps on the target, not just its setcaps() function.
9362
9363         * tests/network-clock.scm: 
9364         * tests/network-clock-utils.scm: A network clock simulator.
9365         Something of an algorithmic testbed before doing something in C.
9366
9367 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9368
9369         * check/Makefile.am:
9370         * check/gst/capslist.h:
9371           copy over from 0.8, and add two with bitmasks specified with
9372           (int) 0xFF...
9373         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9374           add test to parse everything from capslist.h
9375         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9376         (main):
9377           add test for structure deserialization
9378         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9379           add tests for deserialization of strings to int types
9380         * gst/gststructure.c: (gst_structure_nth_field_name):
9381         * gst/gststructure.h:
9382           add a way to get the name of a field referenced by index
9383         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9384           instead of checking if the resulting long long lies between
9385           min and max, we check if the long long would fit into
9386           a number of bytes for the final type.
9387           This fixes cases where a string represents 2^32 - 1, which
9388           when cast to int would be the (valid) -1, but is bigger than
9389           G_MAXINT
9390
9391 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9392
9393         * gst/parse/grammar.y:
9394           add a log line for type deserialization
9395
9396 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * check/gst/gstvalue.c: (START_TEST):
9399         * gst/gstvalue.c: (gst_value_deserialize):
9400           return long long, not int, so gint64 deserialization actually
9401           works.  Is there any flag that makes the compiler check this ?
9402           Fixes #308559
9403
9404 2005-06-22  Wim Taymans  <wim@fluendo.com>
9405
9406         * gst/gstbuffer.h:
9407         Added convenience macros for setting buffers in GValue.
9408
9409 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9410
9411         * check/gst/.cvsignore:
9412         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9413           add a test deserializing int64, and comment part out because
9414           it fails, yay !
9415
9416 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9417
9418         * check/Makefile.am:
9419         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9420         * testsuite/Makefile.am:
9421         * testsuite/caps/Makefile.am:
9422         * testsuite/caps/value_serialize.c:
9423         * testsuite/test_gst_init.c:
9424           move a value_serialize test over
9425
9426 2005-06-20  Wim Taymans  <wim@fluendo.com>
9427
9428         * gst/gstpad.c:
9429         Small doc updates.
9430         
9431         * gst/gstvalue.c: (gst_value_compare_buffer),
9432         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9433         (gst_value_compare_flags), (gst_value_serialize_flags),
9434         (gst_value_deserialize_flags), (_gst_value_initialize):
9435         Fix serialisation of buffers, they are not boxed types anymore
9436
9437 2005-06-20  Wim Taymans  <wim@fluendo.com>
9438
9439         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9440         Testcase to show error in buffer-on-caps serialisation.
9441
9442 2005-06-20  Andy Wingo  <wingo@pobox.com>
9443
9444         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9445         will be adding to later.
9446
9447         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9448         if its socks fill with rocks.
9449         (gst_system_clock_obtain): Set the name on object construction.
9450         Avoid double-checked locking.
9451
9452 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9453
9454         * gst/gsturi.c: (gst_element_make_from_uri):
9455           Fix potential endless loop.
9456
9457 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9458
9459         * check/Makefile.am:
9460           add gsttag
9461         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9462         (main):
9463           move over from testsuite dir and clean up
9464         * configure.ac:
9465         * gst/gsttag.c:
9466         * testsuite/Makefile.am:
9467         * testsuite/tags/.cvsignore:
9468         * testsuite/tags/Makefile.am:
9469         * testsuite/tags/merge.c:
9470           remove testsuite/tags
9471
9472 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9473
9474         * docs/gst/gstreamer-sections.txt:
9475         * docs/gst/tmpl/gstenumtypes.sgml:
9476         * win32/gstenumtypes.c:
9477           clean up documentation build a little
9478
9479 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9480
9481         * check/gstcheck.h:
9482           add macros for checking refcounts on objects and caps
9483         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9484           add some more unit tests
9485         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9486         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9487           fix leaked refcounts (I hope :)) so unittest works
9488         * gst/gstpad.h:
9489           whitespace removal
9490
9491 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9492
9493         * configure.ac: back to HEAD
9494
9495 === release 0.9.1 ===
9496
9497 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9498
9499         * NEWS:
9500         * RELEASE:
9501           updated
9502
9503 2005-06-17  Andy Wingo  <wingo@pobox.com>
9504
9505         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9506         assert; it's always possible that the pad gets deactivated in
9507         between the checks in gstpad.c and the implementation. Rely on
9508         finish_preroll() to return a FLUSHING or similar instead of on the
9509         assert.
9510         
9511         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9512         clock and post an EOS message if we come out of finish_preroll in
9513         the playing state.
9514
9515 2005-06-16  David Schleef  <ds@schleef.org>
9516
9517         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9518         (gst_capsfilter_set_property): Allow NULL as possible value
9519         for filter_caps property, indicating GST_CAPS_ANY.
9520
9521 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9522
9523         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9524           fix debug output
9525         * gst/schedulers/Makefile.am:
9526           use libgst prefix
9527         * gstreamer.spec.in:
9528           fix spec for it
9529
9530 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9531
9532         * gstreamer.spec.in:
9533           clean up
9534
9535 2005-06-08  Andy Wingo  <wingo@pobox.com>
9536
9537         * gst/gstutils.c: RPAD fixes all around.
9538         (gst_element_link_pads): Refcounting fixes.
9539
9540         * tools/gst-inspect.c:
9541         * tools/gst-xmlinspect.c:
9542         * parse/grammar.y:
9543         * gst/base/gsttypefindhelper.c:
9544         * gst/base/gstbasesink.c:
9545         * gst/gstqueue.c: RPAD fixes.
9546
9547         * gst/gstghostpad.h:
9548         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9549         pads. The tricky thing is they provide both source and sink
9550         interfaces, since they proxy the internal pad for the external
9551         pad, and vice versa. Implement with lower-level ProxyPad objects,
9552         with the interior proxy pad as a child of the exterior ghost pad.
9553         Should write a doc on this.
9554         
9555         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9556         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9557         gst_object API.
9558         
9559         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9560         pads are real pads. No ghost pads in this file. Not documenting
9561         the myriad s/RPAD/PAD/ and REALIZE fixes.
9562         (gst_pad_class_init): Add properties for "direction" and
9563         "template". Both are construct-only, so they can't change during
9564         the life of the pad. Fixes properly deriving from GstPad.
9565         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9566         derived objects, just set properties when creating the objects via
9567         g_object_new.
9568         (gst_pad_get_parent): Implement as a function, return NULL if the
9569         parent is not an element.
9570         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9571         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9572         
9573         * gst/gstobject.c (gst_object_class_init): Make name a construct
9574         property. Don't set it in the object init.
9575
9576         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9577         with UNKNOWN direction.
9578         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9579         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9580         (gst_element_remove_pad): Remove ghost-pad special cases.
9581         (gst_element_pads_activate): Remove rpad cruft.
9582
9583         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9584         catch the pad's-parent-not-an-element case.
9585
9586         * gst/gst.h: Include gstghostpad.h.
9587
9588         * gst/gst.c (init_post): No more real, ghost pads.
9589
9590         * gst/Makefile.am: Add gstghostpad.[ch].
9591
9592         * check/Makefile.am:
9593         * check/gst/gstbin.c:
9594         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9595         into a bin creates ghost pads, and that the refcounts are right.
9596         Partly moved from gstbin.c.
9597
9598 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9599
9600         * check/gst-libs/.cvsignore:
9601         * check/gst/.cvsignore:
9602         * check/pipelines/.cvsignore:
9603           ignore more
9604         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9605         (START_TEST), (cleanup_suite), (main):
9606           add some tests related to cleanup after running pipelines
9607
9608 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9611           add a testsuite for GstBuffer
9612
9613 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9614
9615         * gst/gstminiobject.h:
9616           add defines for accessing the refcount
9617
9618 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9619
9620         * Makefile.am: added support for html unit test coverage reports
9621
9622 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9623
9624         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9625           Free existing caps if the capsfilter changes. Add a FIXME about
9626           setting those caps on the pads.
9627
9628         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9629           Before adding a ghost pad to a parent bin, check that there isn't
9630           already one for the element on the bin. Prevents infinite recursion
9631           when using decodebin in parse pipelines. Andy says he'll rewrite the
9632           way this works anyway, so ignore the hack.
9633
9634 2005-06-02  Andy Wingo  <wingo@pobox.com>
9635
9636         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9637         file size, pass it on to the type find helper.
9638
9639         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9640         segment_start and segment_end properly according to the seek
9641         method. Segment_end is still a bit flaky because offset can be
9642         negative for CUR and END cases, but it takes -1 as an "unset"
9643         value.
9644
9645 2005-06-02  Wim Taymans  <wim@fluendo.com>
9646
9647         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9648         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9649         (gst_basesink_activate):
9650         * gst/base/gstbasesink.h:
9651         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9652         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9653         (gst_pad_query), (gst_pad_start_task):
9654         * gst/gstpad.h:
9655         * gst/gstqueue.c: (gst_queue_bufferalloc),
9656         (gst_queue_handle_sink_event), (gst_queue_chain):
9657         Bufferalloc: return GstFlowReturn to more accuratly report
9658         why allocation failed.
9659
9660 2005-06-02  Wim Taymans  <wim@fluendo.com>
9661
9662         * gst/gstpipeline.c: (gst_pipeline_send_event):
9663         Take snapshot of state without blocking.
9664
9665 2005-06-02  Wim Taymans  <wim@fluendo.com>
9666
9667         * docs/design/part-TODO.txt:
9668         * docs/design/part-caps.txt:
9669         * docs/design/part-clocks.txt:
9670         * docs/design/part-negotiation.txt:
9671         * docs/design/part-preroll.txt:
9672         Small doc updates 
9673
9674 2005-05-30  Wim Taymans  <wim@fluendo.com>
9675
9676         * gst/elements/gstidentity.c: (gst_identity_event),
9677         (gst_identity_transform), (gst_identity_get_property):
9678         Protect last_message property as it is accessed from
9679         multiple threads.
9680
9681 2005-05-30  Wim Taymans  <wim@fluendo.com>
9682
9683         * gst/gstelement.c: (gst_element_init),
9684         (gst_element_pads_activate), (gst_element_change_state):
9685         Slicker pad activation code.
9686
9687 2005-05-30  Wim Taymans  <wim@fluendo.com>
9688
9689         * gst/Makefile.am:
9690         * gst/gstelement.h:
9691         * gst/gstelementfactory.h:
9692         * gst/gsttypes.h:
9693         Move elementfactory methods to separate .h file.
9694
9695 2005-05-30  Wim Taymans  <wim@fluendo.com>
9696
9697         * docs/design/part-overview.txt:
9698         * gst/gstsystemclock.h:
9699         Small typo fixes, doc updates.
9700
9701 2005-05-30  Wim Taymans  <wim@fluendo.com>
9702
9703         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9704         (init_popt_callback):
9705         Remove cpu-opt flag.
9706
9707 2005-05-30  Wim Taymans  <wim@fluendo.com>
9708
9709         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9710         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9711         * gst/gstbuffer.h:
9712         Avoid typechecking in places where not needed.
9713         Added accessor for malloc_data.
9714
9715 2005-05-30  Wim Taymans  <wim@fluendo.com>
9716
9717         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9718         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9719         (gst_pad_configure_sink), (gst_pad_configure_src),
9720         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9721         (gst_pad_start_task):
9722         Propagate errors from _set_caps() in configure_src/sink
9723         functions instead of returning TRUE.
9724         FLUSH events can travel up and downstream
9725
9726
9727 2005-05-30  Wim Taymans  <wim@fluendo.com>
9728
9729         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9730         (gst_basesink_activate):
9731         Handle EOS in preroll.
9732
9733 2005-05-30  Wim Taymans  <wim@fluendo.com>
9734
9735         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9736         (gst_queue_loop), (gst_queue_handle_src_event):
9737         Remove old pieces of code
9738         Flushing the queue in an upstream event is a very bad idea.
9739
9740 2005-05-26  Andy Wingo  <wingo@pobox.com>
9741
9742         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9743         gst_value_set_mini_object so as to add a ref on the object (which
9744         will be removed when the value is unset).
9745
9746         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9747         arg type in ::handoff.
9748
9749         * gst/gstelement.c (gst_element_change_state): Also deactivate
9750         pads in READY->NULL, just in case the element didn't make it to
9751         PAUSED. Wingo tested, Wim approved.
9752
9753 2005-05-26  Wim Taymans  <wim@fluendo.com>
9754
9755         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9756         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9757         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9758         A flushing pad cannot be used to alloc_buffer from.
9759
9760 2005-05-26  Wim Taymans  <wim@fluendo.com>
9761
9762         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9763         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9764         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9765         (gst_bus_create_watch), (gst_bus_add_watch_full):
9766         * gst/gstbus.h:
9767         Implement a real GSource and use g_main_context_wakeup() to
9768         signal new messages instead of the socketpair.
9769
9770 2005-05-25  Wim Taymans  <wim@fluendo.com>
9771
9772         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9773         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9774         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9775         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9776         (gst_pad_send_event), (gst_pad_start_task):
9777         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9778         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9779         (gst_queue_sink_activate), (gst_queue_src_activate),
9780         (gst_queue_change_state):
9781         * gst/gstqueue.h:
9782         Fix state changes for non sinks. We now change sinks, then elements
9783         with unconnected srcpads, then the rest.
9784         More efficient queue unlocking in flush and state changes.
9785         Set the pad activate mode even if it does not have an activate
9786         function.
9787
9788 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9789
9790         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9791           Don't go in pull mode for non-seekable sources.
9792         * gst/elements/gsttypefindelement.h:
9793         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9794         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9795         (free_entry), (stop_typefinding),
9796         (gst_type_find_element_handle_event), (find_peek),
9797         (gst_type_find_element_chain), (do_pull_typefind),
9798         (gst_type_find_element_change_state):
9799           Allow typefinding (w/o seeking) in push-mode, simplified version
9800           of what was in 0.8.
9801         * gst/gstutils.c: (gst_buffer_join):
9802         * gst/gstutils.h:
9803           gst_buffer_join() from 0.8.
9804
9805 2005-05-25  Wim Taymans  <wim@fluendo.com>
9806
9807         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9808         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9809         (gst_pad_send_event), (gst_pad_start_task):
9810         Disable attempt at mode switching until it is figured out.
9811
9812 2005-05-25  Wim Taymans  <wim@fluendo.com>
9813
9814         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9815         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9816         (gst_basesink_finish_preroll), (gst_basesink_chain),
9817         (gst_basesink_loop), (gst_basesink_activate),
9818         (gst_basesink_change_state):
9819         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9820         (gst_basesrc_get_range), (gst_basesrc_loop),
9821         (gst_basesrc_activate):
9822         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9823         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9824         (gst_real_pad_init), (gst_real_pad_set_property),
9825         (gst_real_pad_get_property), (gst_pad_set_active),
9826         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9827         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9828         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9829         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9830         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9831         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9832         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9833         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9834         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9835         (gst_pad_stop_task):
9836         * gst/gstpad.h:
9837         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9838         (gst_queue_loop), (gst_queue_src_activate):
9839         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
9840         (gst_task_get_state):
9841         * gst/gsttask.h:
9842         * gst/schedulers/threadscheduler.c:
9843         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
9844         Implement gst_pad_pause/start/stop_task(), take STREAM lock
9845         in task function.
9846         Remove ACTIVE pad flag, use FLUSHING everywhere
9847         Added _pad_chain(), _pad_get_range() to call chain/getrange 
9848         functions.
9849         Add locks around IS_FLUSHING when reading.
9850         Take STREAM lock in chain(), get_range() functions so plugins
9851         don't need to take it anymore.
9852         
9853
9854
9855 2005-05-25  Wim Taymans  <wim@fluendo.com>
9856
9857         * tools/gst-launch.c: (event_loop):
9858         Unref message after using its contents instead of
9859         before.
9860
9861 2005-05-24  Wim Taymans  <wim@fluendo.com>
9862
9863         * docs/design/draft-ghostpads.txt:
9864         * docs/design/draft-push-pull.txt:
9865         * docs/design/draft-query.txt:
9866         * docs/design/part-overview.txt:
9867         Docs updates, added general overview doc.
9868
9869 2005-05-21  David Schleef  <ds@schleef.org>
9870
9871         * docs/gst/tmpl/old/GstBin.sgml:
9872         * docs/gst/tmpl/old/GstBuffer.sgml:
9873         * docs/gst/tmpl/old/GstCaps.sgml:
9874         * docs/gst/tmpl/old/GstClock.sgml:
9875         * docs/gst/tmpl/old/GstCompat.sgml:
9876         * docs/gst/tmpl/old/GstData.sgml:
9877         * docs/gst/tmpl/old/GstElement.sgml:
9878         * docs/gst/tmpl/old/GstEvent.sgml:
9879         * docs/gst/tmpl/old/GstIndex.sgml:
9880         * docs/gst/tmpl/old/GstStructure.sgml:
9881         * docs/gst/tmpl/old/GstTag.sgml:
9882         * docs/gst/tmpl/old/cothreads.sgml:
9883         * docs/gst/tmpl/old/cothreads_compat.sgml:
9884         * docs/gst/tmpl/old/gettext.sgml:
9885         * docs/gst/tmpl/old/gobject2gtk.sgml:
9886         * docs/gst/tmpl/old/grammar.tab.sgml:
9887         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9888         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9889         * docs/gst/tmpl/old/gst_private.sgml:
9890         * docs/gst/tmpl/old/gstaggregator.sgml:
9891         * docs/gst/tmpl/old/gstarch.sgml:
9892         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9893         * docs/gst/tmpl/old/gstbufferstore.sgml:
9894         * docs/gst/tmpl/old/gstdata_private.sgml:
9895         * docs/gst/tmpl/old/gstdisksink.sgml:
9896         * docs/gst/tmpl/old/gstdisksrc.sgml:
9897         * docs/gst/tmpl/old/gstelementfactory.sgml:
9898         * docs/gst/tmpl/old/gstextratypes.sgml:
9899         * docs/gst/tmpl/old/gstfakesink.sgml:
9900         * docs/gst/tmpl/old/gstfakesrc.sgml:
9901         * docs/gst/tmpl/old/gstfdsink.sgml:
9902         * docs/gst/tmpl/old/gstfdsrc.sgml:
9903         * docs/gst/tmpl/old/gstfilesink.sgml:
9904         * docs/gst/tmpl/old/gstfilesrc.sgml:
9905         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9906         * docs/gst/tmpl/old/gstidentity.sgml:
9907         * docs/gst/tmpl/old/gstindexfactory.sgml:
9908         * docs/gst/tmpl/old/gstmarshal.sgml:
9909         * docs/gst/tmpl/old/gstmd5sink.sgml:
9910         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9911         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9912         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9913         * docs/gst/tmpl/old/gstpipefilter.sgml:
9914         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9915         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9916         * docs/gst/tmpl/old/gstshaper.sgml:
9917         * docs/gst/tmpl/old/gstspider.sgml:
9918         * docs/gst/tmpl/old/gstspideridentity.sgml:
9919         * docs/gst/tmpl/old/gststatistics.sgml:
9920         * docs/gst/tmpl/old/gsttee.sgml:
9921         * docs/gst/tmpl/old/gsttimecache.sgml:
9922         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9923         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9924         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9925         * docs/gst/tmpl/old/types.sgml:
9926           I didn't intend to add these or check them in.
9927
9928 2005-05-19  David Schleef  <ds@schleef.org>
9929
9930         * configure.ac: Use -no-common everywhere.  In a sane world, it
9931           would be the default in libtool, because without it, you can't
9932           build DLLs on Windows.
9933         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
9934         * docs/gst/gstreamer-sections.txt:
9935         * docs/gst/tmpl/gstcpu.sgml:
9936         * docs/gst/tmpl/gstdata.sgml:
9937         * docs/gst/tmpl/gstthread.sgml:
9938
9939 2005-05-19  David Schleef  <ds@schleef.org>
9940
9941         * gst/gstminiobject.c: (gst_value_set_mini_object),
9942         (gst_value_take_mini_object), (gst_value_get_mini_object):
9943         * gst/gstminiobject.h: Add GValue set/get functions.
9944
9945 2005-05-19  Wim Taymans  <wim@fluendo.com>
9946
9947         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
9948         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
9949         (gst_subbuffer_init), (gst_buffer_is_span_fast):
9950         * gst/gstbuffer.h:
9951         * gst/gstbus.c: (gst_bus_post):
9952         * gst/gstelement.c: (gst_element_get_random_pad):
9953         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
9954         Make subbufer unref the parent in finalize.
9955         some more debugging info.
9956
9957
9958 2005-05-19  Wim Taymans  <wim@fluendo.com>
9959
9960         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9961         (gst_basesink_init), (gst_basesink_finalize),
9962         (gst_basesink_activate), (gst_basesink_change_state):
9963         Don't free preroll queue too early.
9964
9965 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9966
9967         * gst/Makefile.am:
9968         * gst/ROADMAP:
9969           Hi, I'm outdated. Please shoot me.
9970
9971 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9972
9973         * gst/gstpipeline.c: (gst_pipeline_send_event):
9974           Do not access variables after they have been deleted.
9975
9976 2005-05-19  Wim Taymans  <wim@fluendo.com>
9977
9978         * tools/gst-inspect.c: (print_plugin_features):
9979         A plugin feature does unfortunatly not use the
9980         object name yet...
9981
9982 2005-05-18  Wim Taymans  <wim@fluendo.com>
9983
9984         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
9985         Port _span() functions to new subbuffers.
9986
9987 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9988
9989         * gst/gstbin.c: (gst_bin_add_func):
9990           Fix clock settery in bins when adding kids after the clock has
9991           been selected.
9992
9993 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9994
9995         * gst/elements/gstidentity.c: (gst_identity_class_init):
9996           Workaround until signals support GstMiniObject.
9997
9998 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
9999
10000         * gst/gstbuffer.c:
10001         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10002
10003 2005-05-18  Wim Taymans  <wim@fluendo.com>
10004
10005         * gst/base/Makefile.am:
10006         * gst/base/gstadapter.c: (gst_adapter_base_init),
10007         (gst_adapter_class_init), (gst_adapter_init),
10008         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10009         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10010         (gst_adapter_flush), (gst_adapter_available),
10011         (gst_adapter_available_fast):
10012         * gst/base/gstadapter.h:
10013         Ported and added adapter to the base classes.
10014
10015 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10016
10017         * gst/gst.c:
10018         * gst/gstmessage.c:
10019           Make sure the class is reffed/unreffed once before threads can be
10020           used.  Fixes #304551.
10021
10022 2005-05-17  Wim Taymans  <wim@fluendo.com>
10023
10024         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10025         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10026         * gst/gstminiobject.c: (gst_mini_object_get_type),
10027         (gst_mini_object_free):
10028         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10029         (gst_pad_push), (gst_pad_push_event):
10030         * gst/gstqueue.c: (gst_queue_change_state):
10031         Don't queue buffers in basesink when we are flushing.
10032         Unref buffer when flushing in basesink.
10033         Flush queue when going to READY
10034         Unref buffer when _push() returns an error.
10035         Don't free MiniObject instance when refcount is incremented
10036         in _finalize() so that we can recover objects.
10037
10038 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10039
10040         * docs/manual/advanced-schedulers.xml:
10041         * docs/manual/appendix-checklist.xml:
10042         * docs/pwg/advanced-clock.xml:
10043         * docs/pwg/advanced-interfaces.xml:
10044         * docs/pwg/advanced-request.xml:
10045         * docs/pwg/advanced-types.xml:
10046         * docs/pwg/intro-preface.xml:
10047         * examples/plugins/example.c: (gst_example_get_type),
10048         (gst_example_class_init), (gst_example_chain),
10049         (gst_example_set_property), (gst_example_get_property),
10050         (gst_example_change_state), (plugin_init):
10051         * examples/plugins/example.h:
10052           small doc fixes
10053
10054 2005-05-17  Wim Taymans  <wim@fluendo.com>
10055
10056         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10057         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10058         * gst/gstqueue.c: (gst_queue_change_state):
10059         Clear queue when going to READY.
10060         Remove IN_SETCAPS flag too.
10061
10062 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10063
10064         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10065           Remove implicit cast from gboolean to GstElementStateReturn;
10066           make sure we still return failure in paused => ready case if
10067           the parent class fails to change state and our own stop 
10068           vfunc succeeds.
10069
10070 2005-05-17  Wim Taymans  <wim@fluendo.com>
10071
10072         * tools/gst-launch.c: (event_loop):
10073         Message was unreffed too soon.
10074
10075 2005-05-16  Andy Wingo  <wingo@pobox.com>
10076
10077         * gst/gstbin.c (sink_iterator_filter): Err... um...
10078
10079         * check/gst/gstbin.c (test_ghost_pads): New test for the
10080         ghosting-if-elements-not-in-same-bin behavior.
10081
10082 2005-05-16  David Schleef  <ds@schleef.org>
10083
10084         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10085         accessing refcount directly.
10086
10087 2005-05-15  David Schleef  <ds@schleef.org>
10088
10089         * check/Makefile.am: remove GstData checks
10090         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10091         * gst/Makefile.am: add miniobject, remove data
10092         * gst/gst.h: add miniobject, remove data
10093         * gst/gstdata.c: remove
10094         * gst/gstdata.h: remove
10095         * gst/gstdata_private.h: remove
10096         * gst/gsttypes.h: remove GstEvent and GstMessage
10097         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10098         * gst/gstmarshal.list: change BOXED -> OBJECT
10099
10100         Implement GstMiniObject.
10101         * gst/gstminiobject.c:
10102         * gst/gstminiobject.h:
10103
10104         Modify to be subclasses of GstMiniObject.
10105         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10106         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10107         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10108         (gst_subbuffer_get_type), (gst_subbuffer_init),
10109         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10110         (gst_buffer_span):
10111         * gst/gstbuffer.h:
10112         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10113         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10114         (_gst_event_copy), (gst_event_new):
10115         * gst/gstevent.h:
10116         * gst/gstmessage.c: (_gst_message_initialize),
10117         (gst_message_get_type), (gst_message_class_init),
10118         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10119         (gst_message_new), (gst_message_new_error),
10120         (gst_message_new_warning), (gst_message_new_tag),
10121         (gst_message_new_state_changed), (gst_message_new_application):
10122         * gst/gstmessage.h:
10123         * gst/gstprobe.c: (gst_probe_perform),
10124         (gst_probe_dispatcher_dispatch):
10125         * gst/gstprobe.h:
10126         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10127         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10128         (_gst_query_copy), (gst_query_new):
10129
10130         Update elements for GstData -> GstMiniObject changes
10131         * gst/gstquery.h:
10132         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10133         (gst_queue_chain), (gst_queue_loop):
10134         * gst/elements/gstbufferstore.c:
10135         (gst_buffer_store_add_buffer_func),
10136         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10137         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10138         (gst_fakesink_render):
10139         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10140         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10141         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10142         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10143         (gst_filesrc_create_read):
10144         * gst/elements/gstidentity.c: (gst_identity_class_init):
10145         * gst/elements/gsttypefindelement.c:
10146         (gst_type_find_element_src_event), (free_entry_buffers),
10147         (gst_type_find_element_handle_event):
10148         * libs/gst/dataprotocol/dataprotocol.c:
10149         (gst_dp_header_from_buffer):
10150         * libs/gst/dataprotocol/dataprotocol.h:
10151         * libs/gst/dataprotocol/dp-private.h:
10152
10153 2005-05-15  David Schleef  <ds@schleef.org>
10154
10155         * gst/elements/gstelements.c: Don't include headers that were
10156         just removed.
10157
10158 2005-05-15  David Schleef  <ds@schleef.org>
10159
10160         * gst/elements/Makefile.am: Remove some elements that don't
10161         need to be in the core (or even exist at all).
10162         * gst/elements/gstaggregator.c:
10163         * gst/elements/gstaggregator.h:
10164         * gst/elements/gstmd5sink.c:
10165         * gst/elements/gstmd5sink.h:
10166         * gst/elements/gstmultifilesrc.c:
10167         * gst/elements/gstmultifilesrc.h:
10168         * gst/elements/gstpipefilter.c:
10169         * gst/elements/gstpipefilter.h:
10170         * gst/elements/gstshaper.c:
10171         * gst/elements/gstshaper.h:
10172         * gst/elements/gststatistics.c:
10173         * gst/elements/gststatistics.h:
10174         * po/POTFILES.in: Remove above files.
10175
10176 2005-05-14  Andy Wingo  <wingo@pobox.com>
10177
10178         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10179         so as to get the refs right.
10180         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10181         unreffing objects that don't pass the filter.
10182
10183         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10184         gst_element_set_bus.
10185         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10186         normal cases, this will destroy the bus.
10187
10188         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10189         object.
10190
10191         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10192         has no sinks.
10193
10194 2005-05-13  Andy Wingo  <wingo@pobox.com>
10195
10196         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10197         gst_pad_link, call pad_link_maybe_ghosting,
10198         (pad_link_maybe_ghosting): Links pads, making sure that the
10199         elements being linked are in the same bin.
10200         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10201         Helpers for pad_link_maybe_ghosting.
10202
10203 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10204
10205         * configure.ac:
10206           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10207
10208 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10209
10210         * docs/design/part-element-source.txt:
10211           Mention GstPushSrc
10212
10213 2005-05-12  Wim Taymans  <wim@fluendo.com>
10214
10215         * gst/base/gstbasesink.c: (gst_basesink_init),
10216         (gst_basesink_activate):
10217         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10218         (gst_basesrc_is_seekable):
10219         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10220         (bin_element_is_sink), (gst_bin_change_state):
10221         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10222         * gst/gstelement.h:
10223         Identify sinks by their flag to avoid overly complicated
10224         checks (fow now).
10225         Do state changes even for elements not reachable from the
10226         sinks.
10227         BaseSink is a sink now :)
10228         Some more debugging info in the basesrc.
10229
10230
10231 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10232
10233         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10234           Implement _query on a bin, similar to _send_event.
10235
10236 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10237
10238         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10239           Discont event offset format should be GST_FORMAT_BYTES,
10240           not GST_FORMAT_TIME.
10241
10242 2005-05-12  Wim Taymans  <wim@fluendo.com>
10243
10244         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10245         Same fix as Ronald's but without the signal. 
10246
10247 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10248
10249         * gst/gstutils.c: (gst_element_query_position):
10250           No, an element is not a pad.
10251
10252 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10253
10254         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10255         (gst_bin_get_state):
10256           If a child is removed from a bin while we remove the child from
10257           the bin and while we're retrieving its state, signal this to the
10258           get_state function so we abort the wait (instead of waiting for
10259           a timeout) and can immediately re-iterate over all other elements.
10260
10261 2005-05-12  Wim Taymans  <wim@fluendo.com>
10262
10263         * gst/base/Makefile.am:
10264         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10265         (gst_basesrc_start):
10266         * gst/base/gstbasesrc.h:
10267         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10268         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10269         (gst_pushsrc_init), (gst_pushsrc_create):
10270         * gst/base/gstpushsrc.h:
10271         Added is_seekable to BaseSrc
10272         Added simple PushSrc.
10273
10274 2005-05-11  Wim Taymans  <wim@fluendo.com>
10275
10276         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10277         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10278         (gst_element_link_pads), (gst_element_query_position),
10279         (gst_element_query_convert), (intersect_caps_func),
10280         (gst_pad_query_position), (gst_pad_query_convert):
10281         Fix refcounting in utils function.
10282         No point in trying to activate a pad when it's added, it could
10283         be added from the state change function and then we deadlock, the
10284         element has to decide what to do.
10285
10286 2005-05-10  Andy Wingo  <wingo@pobox.com>
10287
10288         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10289         *all* the arguments.
10290
10291         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10292         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10293         lock (according to the docs -- if this is wrong change the docs).
10294
10295         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10296         flush messages in the NULL state.
10297
10298         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10299         message immediately and return.
10300         (gst_bus_set_flushing): New function. If a bus is flushing, it
10301         flushes out any queued messages and immediately unrefs new
10302         messages. This is so when an element goes to NULL, all of the
10303         unhandled messages coming from it can be freed, and their
10304         references to the element dropped. In other words: message source
10305         ref considered harmful :P
10306
10307         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10308         we're finished with it.
10309
10310         * gst/gstmessage.c (gst_message_new_state_changed): 
10311
10312 2005-05-10  Wim Taymans  <wim@fluendo.com>
10313
10314         * gst/gstvalue.c: (gst_value_compare_flags),
10315         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10316         (_gst_value_initialize):
10317         Added flags serialize/deserialize/compare code.
10318
10319 2005-05-09  Andy Wingo  <wingo@pobox.com>
10320
10321         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10322         Intersect the peer's caps with our caps.
10323
10324 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10325
10326         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10327         * gst/elements/gsttypefindelement.c: (find_peek):
10328           Handle negative offsets better. Fixes decodebin.
10329
10330 2005-05-09  Wim Taymans  <wim@fluendo.com>
10331
10332         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10333         (gst_base_transform_event):
10334         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10335         Implement accept_caps.
10336         Fix silly lock/unlock mismatch in base class.
10337
10338 2005-05-09  Wim Taymans  <wim@fluendo.com>
10339
10340         * docs/design/draft-push-pull.txt:
10341         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10342         * gst/elements/gstfilesink.c: (gst_filesink_init),
10343         (gst_filesink_query):
10344         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10345         (gst_type_find_handle_src_query), (find_element_get_length):
10346         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10347         * gst/gstelement.h:
10348         * gst/gstmessage.c:
10349         * gst/gstmessage.h:
10350         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10351         (gst_real_pad_get_caps_unlocked),
10352         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10353         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10354         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10355         (gst_real_pad_dispose), (gst_real_pad_finalize),
10356         (gst_pad_load_and_link), (gst_pad_save_thyself),
10357         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10358         (gst_pad_check_pull_range), (gst_pad_pull_range),
10359         (gst_pad_template_get_type), (gst_pad_template_class_init),
10360         (gst_pad_template_init), (gst_pad_template_dispose),
10361         (name_is_valid), (gst_static_pad_template_get),
10362         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10363         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10364         (gst_pad_get_element_private), (gst_pad_start_task),
10365         (gst_pad_pause_task), (gst_pad_stop_task),
10366         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10367         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10368         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10369         (gst_ghost_pad_new):
10370         * gst/gstpad.h:
10371         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10372         (gst_query_new_position), (gst_query_set_position),
10373         (gst_query_parse_position), (gst_query_new_convert),
10374         (gst_query_set_convert), (gst_query_parse_convert):
10375         * gst/gstquery.h:
10376         * gst/gstqueryutils.c:
10377         * gst/gstqueryutils.h:
10378         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10379         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10380         (gst_queue_handle_src_query):
10381         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10382         (gst_element_query_position), (gst_element_query_convert),
10383         (intersect_caps_func), (gst_pad_query_position),
10384         (gst_pad_query_convert):
10385         * gst/gstutils.h:
10386         * tools/gst-inspect.c: (print_pad_info):
10387         * tools/gst-xmlinspect.c: (print_element_info):
10388         Remove old query functions. Ported old code.
10389         Added position/convert helper functions to gstutils.
10390         Reordered gstpad.c code, grouping relevant things.
10391         Remove gst_message_new(), always need to speficy a specific
10392         message.
10393
10394
10395 2005-05-09  Andy Wingo  <wingo@pobox.com>
10396
10397         * gst/gstiterator.h: Add some includes.
10398
10399         * gst/gstqueryutils.h: Include more headers.
10400
10401         * gst/gstpad.h:
10402         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10403         some uses of gst_pad_query.
10404
10405         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10406         NULL out parameters.
10407         (gst_query_new_position): New proc, allocates a new position
10408         query.
10409
10410         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10411         gstqueryutils.c to the build.
10412
10413         * gst/gststructure.c (gst_structure_set_valist): Implement with
10414         the generic G_VALUE_COLLECT.
10415         
10416 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10417
10418         * gst/Makefile.am: (gst_headers):
10419         Added gstqueryutils.h to the list of headers to install, that was
10420         a 'nachty' move wingo :)
10421
10422 2005-05-06  Andy Wingo  <wingo@pobox.com>
10423
10424         * gst/gstquery.h
10425         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10426         GstData, init a memchunk.
10427         (standard_definitions): Add a few query types, deprecate a few.
10428         (gst_query_get_type): New proc.
10429         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10430         implementation.
10431         (gst_query_new_application, gst_query_get_structure): New public
10432         procs.
10433
10434         * docs/design/draft-query.txt: Removed LINKS from the query types,
10435         because all the rest can be dispatched to other pads -- seemed
10436         ugly to have a query that couldn't be dispatched. internal_links
10437         is fine as a pad method.
10438
10439         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10440         in gstpad.c, but maintain binary compatibility for the moment.
10441         Will fix before 0.9 is out.
10442
10443         * gst/gstqueryutils.c: 
10444         * gst/gstqueryutils.h: New files, implement 3 methods for each
10445         query type: parse_query, parse_response, and set. Probably need an
10446         allocator as well.
10447
10448         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10449
10450         * gst/elements/gstfilesink.c (gst_filesink_query2):
10451         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10452         query_types, and formats methods.
10453
10454         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10455         (gst_pad_set_query2_function): New functions.
10456         (gst_real_pad_init): Set query2_default as the default query2
10457         function. Basically just dispatches to internally linked pads.
10458
10459         Needs review!
10460         
10461         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10462         without using the atomic operations. Only one thread can possibly
10463         be accessing the data at this point. Changed so as to avoid
10464         gst_atomic operations.
10465
10466 2005-05-06  Wim Taymans  <wim@fluendo.com>
10467
10468         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10469         Also set caps if we use the fallback buffer alloc.
10470
10471 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10472
10473         * docs/gst/Makefile.am:
10474         * docs/gst/gstreamer-docs.sgml:
10475         * docs/gst/gstreamer-sections.txt:
10476         * docs/gst/tmpl/gstatomic.sgml:
10477         * docs/gst/tmpl/gstmemchunk.sgml:
10478         * testsuite/elements/struct_i386.h:
10479         * win32/GStreamer.vcproj:
10480         * win32/Makefile:
10481           Purge GstAtomic stuff from docs and win32 makefiles as well
10482
10483 2005-05-06  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10486         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10487         * gst/gstpad.c: (gst_pad_peer_get_caps):
10488         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10489         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10490         (gst_queue_src_activate), (gst_queue_change_state):
10491         * gst/gstqueue.h:
10492         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10493         (intersect_caps_func):
10494         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10495         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10496         Some fixes for the peer_get_caps() change.
10497
10498 2005-05-06  Wim Taymans  <wim@fluendo.com>
10499
10500         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10501         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10502         (gst_basesink_activate):
10503         Actually do something with error codes returned from the push
10504         functions.
10505
10506 2005-05-06  Wim Taymans  <wim@fluendo.com>
10507
10508         * docs/design/part-element-sink.txt:
10509         * docs/design/part-element-source.txt:
10510         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10511         (gst_basesink_event), (gst_basesink_activate):
10512         * gst/base/gstbasesink.h:
10513         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10514         (gst_basesrc_activate):
10515         * gst/base/gstbasesrc.h:
10516         * gst/gstelement.c: (gst_element_pads_activate):
10517         Some more documentation.
10518         Fixed scheduling decision in _pads_activate().
10519
10520 2005-05-05  Andy Wingo  <wingo@pobox.com>
10521
10522         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10523         the test suite.
10524
10525 2005-05-05  Wim Taymans  <wim@fluendo.com>
10526
10527         * gst/base/Makefile.am:
10528         * gst/base/gstbasesink.h:
10529         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10530         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10531         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10532         (gst_collectpads_class_init), (gst_collectpads_init),
10533         (gst_collectpads_finalize), (gst_collectpads_new),
10534         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10535         (find_pad), (gst_collectpads_remove_pad),
10536         (gst_collectpads_is_active), (gst_collectpads_collect),
10537         (gst_collectpads_collect_range), (gst_collectpads_start),
10538         (gst_collectpads_stop), (gst_collectpads_peek),
10539         (gst_collectpads_pop), (gst_collectpads_available),
10540         (gst_collectpads_read), (gst_collectpads_flush),
10541         (gst_collectpads_chain):
10542         * gst/base/gstcollectpads.h:
10543         * gst/elements/Makefile.am:
10544         * gst/elements/gstelements.c:
10545         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10546         (gst_fakesink_get_times), (gst_fakesink_event),
10547         (gst_fakesink_preroll), (gst_fakesink_render):
10548         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10549         (gst_filesink_init), (gst_filesink_set_location),
10550         (gst_filesink_open_file), (gst_filesink_close_file),
10551         (gst_filesink_pad_query), (gst_filesink_event),
10552         (gst_filesink_render), (gst_filesink_change_state):
10553         * gst/elements/gstfilesink.h:
10554         Added object to help in making collect pad based elements.
10555         Ported filesink.
10556         Make event function in sink baseclass return gboolean.
10557
10558 2005-05-05  Wim Taymans  <wim@fluendo.com>
10559
10560         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10561         (gst_bin_get_by_name):
10562         * gst/gstbuffer.h:
10563         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10564         (gst_clock_finalize):
10565         * gst/gstdata.c: (gst_data_replace):
10566         * gst/gstdata.h:
10567         * gst/gstelement.c: (gst_element_request_pad),
10568         (gst_element_pads_activate):
10569         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10570         (gst_object_unref):
10571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10572         (gst_pad_set_checkgetrange_function),
10573         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10574         (gst_pad_check_pull_range), (gst_pad_pull_range),
10575         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10576         (gst_pad_pause_task), (gst_pad_stop_task):
10577         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10578         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10579         Fix name lookup in GstBin.
10580         Added _data_replace() function and _buffer_replace()
10581         Use finalize method to clean up clock.
10582         Fix refcounting on request pads.
10583         Fix pad schedule mode error.
10584         Some more object refcounting debug info,
10585
10586
10587 2005-05-04  Andy Wingo <wingo@pobox.com>
10588
10589         * check/Makefile.am:
10590         * docs/gst/tmpl/gstatomic.sgml:
10591         * docs/gst/tmpl/gstplugin.sgml:
10592         * gst/base/gstbasesink.c: (gst_basesink_activate):
10593         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10594         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10595         (gst_basesrc_query), (gst_basesrc_set_property),
10596         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10597         (gst_basesrc_activate):
10598         * gst/base/gstbasesrc.h:
10599         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10600         (gst_base_transform_src_activate):
10601         * gst/elements/gstelements.c:
10602         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10603         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10604         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10605         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10606         (gst_type_find_element_checkgetrange),
10607         (gst_type_find_element_activate):
10608         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10609         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10610         (gst_caps_load_thyself):
10611         * gst/gstelement.c: (gst_element_pads_activate),
10612         (gst_element_save_thyself), (gst_element_restore_thyself):
10613         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10614         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10615         * gst/gstpad.h:
10616         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10617         (gst_xml_parse_file), (gst_xml_parse_memory),
10618         (gst_xml_get_element), (gst_xml_make_element):
10619         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10620         (_file_index_id_save_xml), (gst_file_index_commit):
10621         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10622         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10623         (load_paths):
10624         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10625         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10626         * tools/gst-complete.c: (main):
10627         * tools/gst-compprep.c: (main):
10628         * tools/gst-inspect.c: (print_element_properties_info):
10629         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10630         * tools/gst-xmlinspect.c: (print_element_properties):
10631         GCC 4 fixen.
10632         
10633 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * gst/gstplugin.c: (gst_plugin_check_module),
10636         (gst_plugin_check_file), (gst_plugin_load_file):
10637             apply patch from #172526 to make register work on MacOSX
10638
10639 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10640
10641         * docs/gst/tmpl/gstconfig.sgml:
10642         * gst/gstconfig.h.in:
10643           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10644         * testsuite/debug/printf_extension.c: (main):
10645           Do not use GST_PTR_FORMAT on pointers to types with
10646           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10647         * testsuite/elements/property.h:
10648           use correct printf format
10649
10650 2005-05-02  Wim Taymans  <wim@fluendo.com>
10651
10652         * docs/design/draft-push-pull.txt:
10653         * docs/design/draft-query.txt:
10654         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10655         (gst_basesrc_start):
10656         Added draft for new query API.
10657         Added draft for better selecting scheduling methods.
10658         Make basesrc ignore length if the subclass does not support
10659         it.
10660
10661 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10662
10663         * gst/Makefile.am:
10664           possible fixes for automake-1.5 - _LIBADD is reserved
10665
10666 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10667
10668         * docs/faq/Makefile.am:
10669         * docs/manual/Makefile.am:
10670         * docs/manuals.mak:
10671         * docs/pwg/Makefile.am:
10672         * gst/Makefile.am:
10673           possible fixes for automake-1.5
10674
10675 2005-04-28  Wim Taymans  <wim@fluendo.com>
10676
10677         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10678         (gst_basesink_pad_getcaps), (gst_basesink_init),
10679         (gst_basesink_do_sync):
10680         * gst/gstclock.c: (gst_clock_entry_new):
10681         * gst/gstevent.c: (gst_event_discont_get_value):
10682         * gst/gstpipeline.c: (pipeline_bus_handler),
10683         (gst_pipeline_change_state):
10684         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10685         Better debugging of clocking info.
10686         Allow NULL values when getting discont values.
10687
10688 2005-04-27  Wim Taymans  <wim@fluendo.com>
10689
10690         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10691         * check/gst/gstpad.c: (gst_pad_suite):
10692         Increase timeout for checks.
10693
10694 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10695
10696         * check/Makefile.am:
10697           fix the broken rule for cleanup.  Apparently this rule is
10698           only needed on FC2, so maybe this warrants further autotool
10699           inspection.
10700
10701 2005-04-26  Wim Taymans  <wim@fluendo.com>
10702
10703         * gst/gsttrashstack.h:
10704         Ooohh. a nasty one! After having a failed pop() from the stack,
10705         it's possible that the stack is empty. In that case, don't
10706         follow the NULL pointer.
10707
10708 2005-04-25  Wim Taymans  <wim@fluendo.com>
10709
10710         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10711         (gst_pad_set_checkgetrange_function),
10712         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10713         (gst_pad_check_pull_range), (gst_pad_pull_range),
10714         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10715         (gst_pad_pause_task), (gst_pad_stop_task):
10716         * gst/gstplugin.c: (gst_plugin_load):
10717         * gst/gstplugin.h:
10718         Remove gst_library_load as it does more harm than good with
10719         the new g_module flags.
10720         Revert bogus caps template check in pad linking, pad caps
10721         are important when linking not the template, which is more
10722         general than the current caps.
10723
10724 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10725
10726         * gst/autoplug/.cvsignore:
10727         * gst/autoplug/Makefile.am:
10728         * gst/autoplug/gstsearchfuncs.c:
10729         * gst/autoplug/gstsearchfuncs.h:
10730         * gst/autoplug/gstspider.c:
10731         * gst/autoplug/gstspider.h:
10732         * gst/autoplug/gstspideridentity.c:
10733         * gst/autoplug/gstspideridentity.h:
10734         * gst/autoplug/spidertest.c:
10735           Die, spider, die.
10736
10737 2005-04-25  Wim Taymans  <wim@fluendo.com>
10738
10739         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10740         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10741         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10742         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10743         * gst/gstpad.h:
10744         Added stubs for unimplemented functions. 
10745
10746 2005-04-24  David Schleef  <ds@schleef.org>
10747
10748         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10749         please fix.
10750
10751 2005-04-24  David Schleef  <ds@schleef.org>
10752
10753         Convert everything from GstAtomicInt to g_atomic_int_*, and
10754         remove gstatomic.
10755         * gst/Makefile.am:
10756         * gst/gstatomic.c:
10757         * gst/gstatomic.h:
10758         * gst/gstatomic_impl.h:
10759         * gst/gstbuffer.c:
10760         * gst/gstcaps.c:
10761         * gst/gstcaps.h:
10762         * gst/gstclock.c:
10763         * gst/gstclock.h:
10764         * gst/gstdata.c:
10765         * gst/gstdata.h:
10766         * gst/gstdata_private.h:
10767         * gst/gstevent.c:
10768         * gst/gstinfo.c:
10769         * gst/gstinfo.h:
10770         * gst/gstmessage.c:
10771         * gst/gstobject.c:
10772         * gst/gstobject.h:
10773         * gst/gststructure.c:
10774         * gst/gststructure.h:
10775         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10776         * gst/gstutils.h:
10777
10778 2005-04-24  David Schleef  <ds@schleef.org>
10779
10780         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10781         make the regressions tests work.  Remove some code that is no
10782         longer true.
10783         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10784         Disable warning for pads without templates.
10785
10786 2005-04-24  David Schleef  <ds@schleef.org>
10787
10788         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10789         functions that handle filtered links.
10790         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10791         removed functions.
10792         * gst/gstutils.c: Fix/remove utility functions that handle
10793         filtered caps.
10794         * gst/gstutils.h:
10795         * gst/gstvalue.c: Add serialization/deserialization of caps
10796         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10797         requires fixing so that the filter caps notation creates
10798         a capsfilter element and sets the filter_caps property.  I
10799         think everyone probably wants to keep the shorthand notation.
10800         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10801         * docs/gst/tmpl/gstpad.sgml:
10802
10803         * gst/elements/gstelements.c: Register capsfilter element.
10804         * gst/Makefile.am: fix spacing
10805         * docs/random/ds/0.9-suggested-changes: random
10806
10807 2005-04-23  David Schleef  <ds@schleef.org>
10808
10809         * gst/elements/Makefile.am:
10810         * gst/elements/gstcapsfilter.c: New element that acts like an
10811         identity, but filters caps.  Will eventually replace filtered
10812         caps in pad linking.
10813         * gst/gstutils.c: (gst_element_create_all_pads): New function
10814         to create all the ALWAYS pads that are registered with an
10815         element class.  This functionality should eventually be
10816         merged in with GstElement initialization.
10817         * gst/gstutils.h:
10818         * testsuite/trigger/README: part of trigger test code that should
10819         have been checked in a long time ago.
10820
10821 2005-04-23  David Schleef  <ds@schleef.org>
10822
10823         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10824         needed with new versions of libtool (nobody will confirm this),
10825         and hard to carry around.
10826         * gst/autoplug/Makefile.am:
10827         * gst/base/Makefile.am:
10828         * gst/elements/Makefile.am:
10829         * gst/indexers/Makefile.am:
10830         * gst/schedulers/Makefile.am:
10831         * libs/gst/bytestream/Makefile.am:
10832         * libs/gst/control/Makefile.am:
10833         * libs/gst/dataprotocol/Makefile.am:
10834         * libs/gst/getbits/Makefile.am:
10835
10836 2005-04-21  Wim Taymans  <wim@fluendo.com>
10837
10838         * docs/design/draft-push-pull.txt:
10839         * docs/design/part-MT-refcounting.txt:
10840         * docs/design/part-TODO.txt:
10841         * docs/design/part-caps.txt:
10842         * docs/design/part-events.txt:
10843         * docs/design/part-gstbus.txt:
10844         * docs/design/part-gstpipeline.txt:
10845         * docs/design/part-messages.txt:
10846         * docs/design/part-push-pull.txt:
10847         * docs/design/part-query.txt:
10848         Some more docs.
10849
10850 2005-04-21  Wim Taymans  <wim@fluendo.com>
10851
10852         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
10853         (gst_message_new), (gst_message_new_error),
10854         (gst_message_new_warning), (gst_message_new_tag),
10855         (gst_message_new_state_changed), (gst_message_new_application),
10856         (gst_message_get_structure):
10857         * gst/gstmessage.h:
10858         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10859         (gst_structure_copy_conditional):
10860         Use parent refcount in GstMessage to ensure GstStructure
10861         consistency.
10862         Cleaned up headers a bit.
10863         
10864
10865 2005-04-20  Wim Taymans  <wim@fluendo.com>
10866
10867         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10868         (gst_basesink_pad_getcaps), (gst_basesink_init),
10869         (gst_basesink_chain_unlocked):
10870         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
10871         (gst_type_find_helper):
10872         * gst/elements/gsttypefindelement.c:
10873         (gst_type_find_element_have_type), (gst_type_find_element_init),
10874         (stop_typefinding), (gst_type_find_element_handle_event),
10875         (find_suggest), (gst_type_find_element_chain),
10876         (gst_type_find_element_checkgetrange),
10877         (gst_type_find_element_getrange), (do_typefind),
10878         (gst_type_find_element_activate):
10879         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10880         (gst_buffer_default_free), (gst_buffer_default_copy),
10881         (gst_buffer_set_caps):
10882         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
10883         (gst_caps_replace):
10884         * gst/gstmessage.c: (gst_message_new),
10885         (gst_message_new_state_changed):
10886         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10887         (gst_pad_set_checkgetrange_function),
10888         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
10889         (gst_pad_set_caps), (gst_pad_check_pull_range),
10890         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
10891         * gst/gstpad.h:
10892         * gst/gsttypefind.c: (gst_type_find_register):
10893         Make gst_caps_replace() work like other _replace() functions.
10894         Use _caps_replace() where possible.
10895         Make sure _message_new() initialises its field.
10896         Add gst_static_pad_template_get_caps()
10897
10898
10899 2005-04-18  Andy Wingo  <wingo@pobox.com>
10900
10901         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
10902         on the peer, not the pad. I think that was a typo. Pass an extra
10903         arg to see if random access is possible. Activate the pads as
10904         PULL_RANGE if possible.
10905
10906         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
10907
10908         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
10909         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
10910         to PROP_....
10911
10912 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10913
10914         * docs/faq/using.xml:
10915           Add note on gstreamer-properties (#154996).
10916
10917 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10918
10919         * docs/random/bbb/optional-properties:
10920           Some analysis on optional properties.
10921
10922 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10923
10924         * docs/gst/tmpl/gstelementfactory.sgml:
10925         * gst/gstelement.h:
10926         * gst/gstelementfactory.c: (gst_element_factory_init),
10927         (gst_element_factory_cleanup), (gst_element_register),
10928         (__gst_element_factory_add_static_pad_template),
10929         (gst_element_factory_get_static_pad_templates),
10930         (gst_element_factory_can_src_caps),
10931         (gst_element_factory_can_sink_caps):
10932         * gst/registries/Makefile.am:
10933         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
10934         (gst_xml_registry_class_init), (gst_xml_registry_init),
10935         (gst_xml_registry_new), (gst_xml_registry_set_property),
10936         (gst_xml_registry_get_property), (get_time), (make_dir),
10937         (gst_xml_registry_get_perms_func),
10938         (plugin_times_older_than_recurse), (plugin_times_older_than),
10939         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
10940         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
10941         (add_to_char_array), (read_string), (read_uint), (read_enum),
10942         (load_pad_template), (load_feature), (load_plugin), (load_paths),
10943         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
10944         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
10945         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
10946         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
10947         (gst_xml_registry_rebuild):
10948         * gst/registries/gstlibxmlregistry.h:
10949         * tools/gst-compprep.c: (main):
10950         * tools/gst-inspect.c: (print_pad_templates_info):
10951         * tools/gst-xmlinspect.c: (print_element_info):
10952           Use libxml2 for registry parsing, use staticpadtemplates in
10953           elementfactories. Makes gst_init() +/- 10x faster.
10954
10955 2005-04-12  Wim Taymans  <wim@fluendo.com>
10956
10957         * gst/base/Makefile.am:
10958         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10959         (gst_basesink_pad_getcaps), (gst_basesink_init),
10960         (gst_basesink_event), (gst_basesink_change_state):
10961         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10962         (gst_basesrc_init), (gst_basesrc_query),
10963         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10964         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10965         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10966         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10967         (gst_basesrc_stop), (gst_basesrc_activate),
10968         (gst_basesrc_change_state):
10969         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10970         (helper_find_suggest), (gst_type_find_helper):
10971         * gst/base/gsttypefindhelper.h:
10972         * gst/elements/Makefile.am:
10973         * gst/elements/gstelements.c:
10974         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10975         (gst_fakesink_get_times), (gst_fakesink_event),
10976         (gst_fakesink_preroll), (gst_fakesink_render):
10977         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10978         (gst_fakesrc_init), (gst_fakesrc_event_handler),
10979         (gst_fakesrc_get_property), (gst_fakesrc_create),
10980         (gst_fakesrc_start), (gst_fakesrc_stop):
10981         * gst/elements/gstfakesrc.h:
10982         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
10983         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10984         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10985         (gst_filesrc_create_read), (gst_filesrc_create),
10986         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
10987         (gst_filesrc_start):
10988         * gst/elements/gsttypefindelement.c:
10989         (gst_type_find_element_have_type), (gst_type_find_element_init),
10990         (start_typefinding), (stop_typefinding), (push_buffer_store),
10991         (gst_type_find_element_handle_event),
10992         (gst_type_find_element_chain),
10993         (gst_type_find_element_checkgetrange),
10994         (gst_type_find_element_getrange), (do_typefind),
10995         (gst_type_find_element_activate),
10996         (gst_type_find_element_change_state):
10997         * gst/elements/gsttypefindelement.h:
10998         * gst/gstpipeline.c: (pipeline_bus_handler):
10999         Added typefind helper.
11000         Small preroll fix in the base sink.
11001         Disable typefind code in basesrc.
11002         Crude port of typefindelement.
11003         Fakesrc cleanups.
11004
11005
11006 2005-04-11  Wim Taymans  <wim@fluendo.com>
11007
11008         * check/gst/gstbus.c: (gstbus_suite):
11009         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11010         * check/gstcheck.h:
11011           Fix up the timeout so that the test does not fail.
11012
11013 2005-04-06  Wim Taymans  <wim@fluendo.com>
11014
11015         * gst/base/README:
11016         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11017         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11018         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11019         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11020         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11021         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11022         (gst_basesrc_stop), (gst_basesrc_activate),
11023         (gst_basesrc_change_state), (basesrc_find_peek),
11024         (basesrc_find_suggest), (gst_basesrc_type_find):
11025         * gst/base/gstbasesrc.h:
11026         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11027         (gst_filesrc_class_init), (gst_filesrc_init),
11028         (gst_filesrc_finalize), (gst_filesrc_set_location),
11029         (gst_filesrc_set_property), (gst_filesrc_get_property),
11030         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11031         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11032         (gst_filesrc_create_read), (gst_filesrc_create),
11033         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11034         * gst/elements/gstfilesrc.h:
11035         * gst/gstelement.c: (gst_element_get_state_func),
11036         (gst_element_lost_state), (gst_element_pads_activate):
11037         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11038         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11039         (gst_pad_pull_range):
11040         * gst/gstpad.h:
11041         More work on the generic source base class, implement seeking,
11042         query.
11043         Make filesrc extend the base source class.
11044         Added gst_pad_set_checkgetrange_function to GstPad.
11045
11046 2005-04-06  Andy Wingo  <wingo@pobox.com>
11047
11048         * pkgconfig/gstreamer-base.pc.in:
11049         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11050
11051         * pkgconfig/Makefile.am:
11052         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11053
11054 2005-04-04  Wim Taymans  <wim@fluendo.com>
11055
11056         * gst/base/Makefile.am:
11057         * gst/base/README:
11058         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11059         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11060         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11061         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11062         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11063         (gst_basesrc_base_init), (gst_basesrc_class_init),
11064         (gst_basesrc_init), (gst_basesrc_get_formats),
11065         (gst_basesrc_get_query_types), (gst_basesrc_query),
11066         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11067         (gst_basesrc_set_property), (gst_basesrc_get_property),
11068         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11069         (gst_basesrc_loop), (gst_basesrc_activate),
11070         (gst_basesrc_change_state):
11071         * gst/base/gstbasesrc.h:
11072         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11073         (gst_fakesrc_class_init), (gst_fakesrc_init),
11074         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11075         (gst_fakesrc_get_property), (gst_fakesrc_create):
11076         * gst/elements/gstfakesrc.h:
11077         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11078         (gst_filesrc_open_file), (gst_filesrc_loop),
11079         (gst_filesrc_activate), (filesrc_find_peek),
11080         (gst_filesrc_type_find):
11081         Made base source class, make fakesrc extend it.
11082         Add comments to basesink class.
11083         Some filesrc cleanup.
11084
11085 2005-03-31  David Schleef  <ds@schleef.org>
11086
11087         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11088         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11089         expected to link against libgstreamer.
11090         * gst/base/Makefile.am: link against libgstreamer
11091         * gst/elements/Makefile.am: same
11092
11093 2005-03-31  Andy Wingo  <wingo@pobox.com>
11094
11095         * tests/instantiate/Makefile.am:
11096         * tests/instantiate/caps.c: Add test to test speed of caps copy
11097         and free.
11098
11099         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11100         GMemChunk to be fair.
11101
11102         * gst/gsttrashstack.h: Remove warning about using the fallback
11103         trash stack implementation, it's still faster than malloc.
11104
11105 2005-03-30  Andy Wingo  <wingo@pobox.com>
11106
11107         * tests/complexity.c: Add a copyright.
11108
11109 2005-03-31  Wim Taymans  <wim@fluendo.com>
11110
11111         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11112         (gst_base_transform_class_init), (gst_base_transform_init),
11113         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11114         (gst_base_transform_get_property),
11115         (gst_base_transform_sink_activate),
11116         (gst_base_transform_src_activate),
11117         (gst_base_transform_change_state):
11118         * gst/base/gstbasetransform.h:
11119         * gst/elements/gstidentity.c: (gst_identity_class_init),
11120         (gst_identity_event), (gst_identity_check_perfect),
11121         (gst_identity_transform), (gst_identity_start),
11122         (gst_identity_stop):
11123         Added start/stop methods to transform base class so subclasses 
11124         don't need to deal with state changes even.
11125
11126 2005-03-31  Wim Taymans  <wim@fluendo.com>
11127
11128         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11129         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11130         * gst/gstevent.h:
11131         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11132         (gst_pad_pull_range):
11133         Added rate to the discont event to prepare for variable speed
11134         and reverse playback.
11135
11136 2005-03-29  David Schleef  <ds@schleef.org>
11137
11138         * configure.ac:
11139         * testsuite/trigger/Makefile.am:
11140         * testsuite/trigger/trigger.c: A little example program to show
11141         how trigger-based elements can work.
11142
11143 2005-03-29  Wim Taymans  <wim@fluendo.com>
11144
11145         * gst/base/Makefile.am:
11146         * gst/base/README:
11147         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11148         (gst_basesink_base_init), (gst_basesink_class_init),
11149         (gst_basesink_pad_getcaps), (gst_basesink_init),
11150         (gst_basesink_activate), (gst_basesink_change_state):
11151         * gst/base/gstbasesink.h:
11152         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11153         (gst_base_transform_base_init), (gst_base_transform_finalize),
11154         (gst_base_transform_class_init), (gst_base_transform_init),
11155         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11156         (gst_base_transform_event), (gst_base_transform_getrange),
11157         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11158         (gst_base_transform_set_property),
11159         (gst_base_transform_get_property),
11160         (gst_base_transform_sink_activate),
11161         (gst_base_transform_src_activate),
11162         (gst_base_transform_change_state):
11163         * gst/base/gstbasetransform.h:
11164         * gst/elements/gstidentity.c: (gst_identity_finalize),
11165         (gst_identity_class_init), (gst_identity_init),
11166         (gst_identity_event), (gst_identity_check_perfect),
11167         (gst_identity_transform), (gst_identity_set_property),
11168         (gst_identity_get_property), (gst_identity_change_state):
11169         * gst/elements/gstidentity.h:
11170         * gst/gstelement.c: (gst_element_get_state_func),
11171         (gst_element_lost_state), (gst_element_pads_activate):
11172         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11173         (gst_pad_check_pull_range), (gst_pad_pull_range):
11174         * gst/gstpad.h:
11175         Simplify pad activation.
11176         Added function to check if pull_range can be performed.
11177         Error out when pulling inactive or flushing pads.
11178         Removed const from refcounted types as it does not make sense.
11179         Simplify pad templates in basesink
11180         Added base class for simple 1-to-1 transforms.
11181         Make identity subclass the base transform.
11182
11183 2005-03-29  Andy Wingo  <wingo@pobox.com>
11184
11185         * docs/libs/gstreamer-libs-overrides.txt: 
11186         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11187         really don't understand what's going on, but like whatever. I want
11188         green buildbot!
11189
11190         * docs/gst/Makefile.am:
11191         * docs/libs/Makefile.am: Dist the overrides files.
11192
11193         * check/Makefile.am (clean-local): Remove .libs directories.
11194
11195         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11196         elements to EXTRA_DIST, so po/ files are happy.
11197
11198         * po/POTFILES.in: Er, remove it here.
11199
11200         * po/POTFILES: Remove gstspider.c.
11201
11202         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11203
11204         * docs/libs/gstreamer-libs-docs.sgml: 
11205         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11206         bytestream.
11207
11208         * tests/complexity.c (main): Set the length of the preroll queue
11209         on the sinks to prevent a lockup.
11210
11211         * libs/gst/dataprotocol/Makefile.am: 
11212         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11213         the same as the one in check/gst-libs/gdp.c.
11214
11215         * po/, docs/gst/: Commit automatic changes to docs and po files.
11216
11217         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11218         the versioned libgstbase.
11219
11220         * check/Makefile.am: Depend on an unversioned gst-register, seems
11221         to make autoconf happier.
11222
11223         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11224
11225 2005-03-28  Wim Taymans  <wim@fluendo.com>
11226
11227         * configure.ac:
11228         * docs/design/part-gstelement.txt:
11229         * docs/design/part-negotiation.txt:
11230         * docs/design/part-preroll.txt:
11231         * docs/design/part-scheduling.txt:
11232         * docs/design/part-states.txt:
11233         * gst/Makefile.am:
11234         * gst/base/Makefile.am:
11235         * gst/base/README:
11236         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11237         (gst_basesink_base_init), (gst_basesink_class_init),
11238         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11239         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11240         (gst_basesink_set_pad_functions),
11241         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11242         (gst_basesink_set_property), (gst_basesink_get_property),
11243         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11244         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11245         (gst_basesink_preroll_queue_push),
11246         (gst_basesink_preroll_queue_empty),
11247         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11248         (gst_basesink_event), (gst_basesink_get_times),
11249         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11250         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11251         (gst_basesink_loop), (gst_basesink_activate),
11252         (gst_basesink_change_state):
11253         * gst/base/gstbasesink.h:
11254         * gst/elements/Makefile.am:
11255         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11256         (gst_fakesink_class_init), (gst_fakesink_init),
11257         (gst_fakesink_set_property), (gst_fakesink_get_property),
11258         (gst_fakesink_get_times), (gst_fakesink_event),
11259         (gst_fakesink_preroll), (gst_fakesink_render),
11260         (gst_fakesink_change_state):
11261         * gst/elements/gstfakesink.h:
11262         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11263         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11264         * gst/gstelement.c: (gst_element_add_pad),
11265         (gst_element_get_state_func), (gst_element_abort_state),
11266         (gst_element_commit_state), (gst_element_lost_state),
11267         (gst_element_set_state), (gst_element_pads_activate):
11268         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11269         * gst/gstpipeline.c: (gst_pipeline_send_event),
11270         (gst_pipeline_change_state):
11271         Added state change code.
11272         Added/updated docs.
11273         Added sink base class, make fakesink extend the base class.
11274         Small cleanups in GstPipeline.
11275
11276 2005-03-26  David Schleef  <ds@schleef.org>
11277
11278         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11279         is broken and should be implemented in a different library.
11280         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11281         * gst/gst.h: remove gstcpu.h
11282         * gst/gstcpu.c: remove
11283         * gst/gstcpu.h: remove
11284         * gst/Makefile.am.future: Remove this file.  It's ancient.
11285
11286 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11287
11288         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11289         (gst_bin_send_event):
11290           Add default event/set_manager handlers. The set_manager handler
11291           takes care that the manager is distributed over kids that were
11292           already in the bin before the manager was set. The event handler
11293           is a utility virtual function that sends the event over all sinks,
11294           so that gst_element_send_event (bin, event); has the expected
11295           behaviour.
11296         * gst/gstpad.c: (gst_pad_event_default):
11297           Re-install default event handling for discontinuities, so that
11298           seeking works without requiring hacks in applications or extra
11299           code in sinks.
11300         * gst/gstpipeline.c: (gst_pipeline_class_init),
11301         (gst_pipeline_send_event):
11302           Half hack, half utility: set a pipeline to PAUSED for seek events,
11303           since that is the only way we can guarantee a/v sync. Means that
11304           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11305           and it "just works".
11306
11307 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11308
11309         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11310           Lock/unlock mismatch.
11311
11312 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11313
11314         * docs/faq/gst-uninstalled:
11315           add gst-plugins-base
11316         * docs/gst/Makefile.am:
11317           don't error out until docs are fixed
11318         * docs/gst/gstreamer.types:
11319           remove thread
11320
11321 2005-03-22  Wim Taymans  <wim@fluendo.com>
11322
11323         * check/Makefile.am:
11324         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11325         * gst/gststructure.c: (gst_structure_set_valist),
11326         (gst_structure_copy_conditional):
11327         Activated more tests.
11328         Added message test.
11329         Added G_TYPE_POINTER to GstStructure.
11330         
11331
11332 2005-03-22  Wim Taymans  <wim@fluendo.com>
11333
11334         * docs/design/part-TODO.txt:
11335         * docs/design/part-events.txt:
11336         * docs/design/part-gstbin.txt:
11337         * docs/design/part-gstbus.txt:
11338         * docs/design/part-gstpipeline.txt:
11339         * docs/design/part-messages.txt:
11340         * gst/gstbus.c:
11341         * gst/gstmessage.c:
11342         Docs updates
11343
11344 2005-03-21  Wim Taymans  <wim@fluendo.com>
11345
11346         * gst/gstbus.c: (gst_bus_post):
11347         Fix copy-and-paste error.
11348
11349 2005-03-21  Wim Taymans  <wim@fluendo.com>
11350
11351         * check/Makefile.am:
11352         * gst/Makefile.am:
11353         * gst/elements/Makefile.am:
11354         * gst/elements/gstelements.c:
11355         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11356         (gst_fakesink_event), (gst_fakesink_chain):
11357         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11358         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11359         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11360         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11361         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11362         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11363         (gst_fakesrc_loop), (gst_fakesrc_activate),
11364         (gst_fakesrc_change_state):
11365         * gst/elements/gstfakesrc.h:
11366         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11367         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11368         (gst_filesrc_open_file), (gst_filesrc_loop),
11369         (gst_filesrc_activate), (gst_filesrc_change_state),
11370         (filesrc_find_peek), (filesrc_find_suggest),
11371         (gst_filesrc_type_find):
11372         * gst/elements/gstidentity.c: (gst_identity_finalize),
11373         (gst_identity_class_init), (gst_identity_init),
11374         (gst_identity_proxy_getcaps), (identity_queue_push),
11375         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11376         (gst_identity_getrange), (gst_identity_chain),
11377         (gst_identity_sink_loop), (gst_identity_src_loop),
11378         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11379         (gst_identity_set_property), (gst_identity_get_property),
11380         (gst_identity_change_state):
11381         * gst/elements/gstidentity.h:
11382         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11383         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11384         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11385         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11386         (gst_tee_sink_activate):
11387         * gst/elements/gsttee.h:
11388         * gst/gst.c: (gst_register_core_elements), (init_post):
11389         * gst/gst.h:
11390         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11391         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11392         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11393         (gst_bin_change_state):
11394         * gst/gstbin.h:
11395         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11396         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11397         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11398         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11399         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11400         (bus_watch_callback), (bus_watch_destroy),
11401         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11402         (poll_timeout), (gst_bus_poll):
11403         * gst/gstbus.h:
11404         * gst/gstcaps.h:
11405         * gst/gstdata.h:
11406         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11407         (gst_element_post_message), (gst_element_message_full),
11408         (gst_element_get_state_func), (gst_element_get_state),
11409         (gst_element_abort_state), (gst_element_commit_state),
11410         (gst_element_lost_state), (gst_element_set_state),
11411         (gst_element_pads_activate), (gst_element_change_state),
11412         (gst_element_dispose), (gst_element_set_manager_func),
11413         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11414         (gst_element_set_manager), (gst_element_get_manager),
11415         (gst_element_set_bus), (gst_element_get_bus),
11416         (gst_element_set_scheduler), (gst_element_get_scheduler):
11417         * gst/gstelement.h:
11418         * gst/gstevent.c: (gst_event_new_segment_seek),
11419         (gst_event_new_flush):
11420         * gst/gstevent.h:
11421         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11422         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11423         (gst_message_new_eos), (gst_message_new_error),
11424         (gst_message_new_warning), (gst_message_new_tag),
11425         (gst_message_new_state_changed), (gst_message_new_application),
11426         (gst_message_get_structure), (gst_message_parse_tag),
11427         (gst_message_parse_state_changed), (gst_message_parse_error),
11428         (gst_message_parse_warning):
11429         * gst/gstmessage.h:
11430         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11431         (gst_real_pad_set_property), (gst_pad_set_active),
11432         (gst_pad_is_active), (gst_pad_set_blocked_async),
11433         (gst_pad_set_blocked), (gst_pad_is_blocked),
11434         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11435         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11436         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11437         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11438         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11439         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11440         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11441         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11442         (gst_pad_set_caps), (gst_pad_configure_sink),
11443         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11444         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11445         (gst_real_pad_dispose), (gst_real_pad_finalize),
11446         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11447         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11448         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11449         * gst/gstpad.h:
11450         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11451         (pipeline_bus_handler), (gst_pipeline_change_state),
11452         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11453         * gst/gstpipeline.h:
11454         * gst/gstprobe.h:
11455         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11456         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11457         (gst_queue_link_src), (gst_queue_bufferalloc),
11458         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11459         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11460         (gst_queue_loop), (gst_queue_handle_src_event),
11461         (gst_queue_handle_src_query), (gst_queue_src_activate),
11462         (gst_queue_change_state):
11463         * gst/gstqueue.h:
11464         * gst/gstscheduler.c: (gst_scheduler_init),
11465         (gst_scheduler_dispose), (gst_scheduler_create_task),
11466         (gst_scheduler_factory_create):
11467         * gst/gstscheduler.h:
11468         * gst/gststructure.c: (gst_structure_get_type),
11469         (gst_structure_copy_conditional):
11470         * gst/gststructure.h:
11471         * gst/gsttaginterface.h:
11472         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11473         (gst_task_init), (gst_task_dispose), (gst_task_create),
11474         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11475         (gst_task_pause):
11476         * gst/gsttask.h:
11477         * gst/gstthread.c:
11478         * gst/gstthread.h:
11479         * gst/gsttypes.h:
11480         * gst/schedulers/Makefile.am:
11481         * gst/schedulers/cothreads_compat.h:
11482         * gst/schedulers/entryscheduler.c:
11483         * gst/schedulers/faircothreads.c:
11484         * gst/schedulers/faircothreads.h:
11485         * gst/schedulers/fairscheduler.c:
11486         * gst/schedulers/gstbasicscheduler.c:
11487         * gst/schedulers/gstoptimalscheduler.c:
11488         * gst/schedulers/gthread-cothreads.h:
11489         * gst/schedulers/threadscheduler.c:
11490         (gst_thread_scheduler_task_get_type),
11491         (gst_thread_scheduler_task_class_init),
11492         (gst_thread_scheduler_task_init),
11493         (gst_thread_scheduler_task_start),
11494         (gst_thread_scheduler_task_stop),
11495         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11496         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11497         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11498         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11499         (plugin_init):
11500         * libs/gst/Makefile.am:
11501         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11502         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11503         (gst_file_pad_parent_set):
11504         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11505         (gst_dp_event_from_packet):
11506         * tests/complexity.c: (main):
11507         * tests/mass_elements.c: (main):
11508         * testsuite/states/locked.c: (message_received), (main):
11509         * testsuite/states/parent.c: (main):
11510         * tools/gst-inspect.c: (print_element_flag_info),
11511         (print_implementation_info), (print_pad_info):
11512         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11513         (main):
11514         * tools/gst-md5sum.c: (event_loop), (main):
11515         * tools/gst-typefind.c: (main):
11516         * tools/gst-xmlinspect.c: (print_element_info):
11517         Next big merge.
11518         Added GstBus for mainloop integration.
11519         Added GstMessage for sending notifications on the bus.
11520         Added GstTask as an abstraction for pipeline entry points.
11521         Removed GstThread.
11522         Removed Schedulers.
11523         Simplified GstQueue for multithreaded core.
11524         Made _link threadsafe, removed old capsnego.
11525         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11526         Added pad blocking functions.
11527         Reworked scheduling functions in GstPad to prepare for
11528         scheduling updates soon.
11529         Moved events out of data stream.
11530         Simplified GstEvent types.
11531         Added return values to push/pull.
11532         Removed clocking from GstElement.
11533         Added prototypes for state change function for next merge.
11534         Removed iterate from bins and state change management.
11535         Fixed some elements, disabled others for now.
11536         Fixed -inspect and -launch.
11537         Added check for GstBus.
11538
11539 2005-03-10  Wim Taymans  <wim@fluendo.com>
11540
11541         * docs/design/part-MT-refcounting.txt:
11542         * docs/design/part-clocks.txt:
11543         * docs/design/part-gstelement.txt:
11544         * docs/design/part-gstobject.txt:
11545         * docs/design/part-standards.txt:
11546         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11547         (gst_bin_remove_func), (gst_bin_remove):
11548         * gst/gstbin.h:
11549         * gst/gstbuffer.c:
11550         * gst/gstcaps.h:
11551         * testsuite/clock/clock1.c: (main):
11552         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11553         (main):
11554         * testsuite/dlopen/loadgst.c: (do_test):
11555         * testsuite/refcounting/bin.c: (add_remove_test1),
11556         (add_remove_test2), (main):
11557         * testsuite/refcounting/element.c: (main):
11558         * testsuite/refcounting/element_pad.c: (main):
11559         * testsuite/refcounting/pad.c: (main):
11560         * tools/gst-launch.c: (sigint_handler_sighandler):
11561         * tools/gst-typefind.c: (main):
11562         Doc updates.
11563         Added doc about clock.
11564         removed gst_bin_iterate_recurse_up(), marked methods
11565         for removal.
11566         Fix more testsuites.
11567
11568 2005-03-09  Wim Taymans  <wim@fluendo.com>
11569
11570         * gst/gstpad.c: (gst_pad_get_direction),
11571         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11572         (gst_pad_collect_valist):
11573         * testsuite/bins/interface.c: (main):
11574         * testsuite/caps/audioscale.c: (test_caps):
11575         * testsuite/caps/caps.c: (test1), (test2), (test3):
11576         * testsuite/caps/deserialize.c: (main):
11577         * testsuite/caps/enumcaps.c: (main):
11578         * testsuite/caps/filtercaps.c: (main):
11579         * testsuite/caps/intersect2.c: (main):
11580         * testsuite/caps/random.c: (main):
11581         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11582         * testsuite/caps/sets.c: (check_caps):
11583         * testsuite/caps/simplify.c: (check_caps), (main):
11584         * testsuite/caps/subtract.c: (check_caps):
11585         Fix _pad_get_direction wrt ghostpads.
11586         Fix caps testsuite.
11587
11588 2005-03-09  Wim Taymans  <wim@fluendo.com>
11589
11590         * check/Makefile.am:
11591         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11592         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11593         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11594         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11595         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11596         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11597         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11598         (bin_element_is_sink), (gst_bin_iterate_sinks),
11599         (gst_bin_iterate_all_by_interface):
11600         * gst/gstbin.h:
11601         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11602         (gst_element_change_state), (gst_element_dispose),
11603         (gst_element_finalize), (gst_element_set_loop_function):
11604         * gst/gstelement.h:
11605         * gst/gstiterator.c: (find_custom_fold_func):
11606         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11607         (gst_pad_collectv), (gst_pad_collect_valist),
11608         (gst_pad_template_new):
11609         * gst/gstpipeline.c: (gst_pipeline_class_init),
11610         (gst_pipeline_dispose), (gst_pipeline_set_property),
11611         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11612         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11613         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11614         * gst/gstutils.h:
11615         * gst/schedulers/entryscheduler.c:
11616         * gst/schedulers/gstbasicscheduler.c:
11617         (gst_basic_scheduler_cothreaded_chain),
11618         (gst_basic_scheduler_chain_add_element):
11619         * testsuite/bins/interface.c: (main):
11620         Added GstBin test.
11621         Added GstSystemClock test.
11622         Implemented clock distribution code in GstBin.
11623         Implemented iterate sinks method for future use.
11624         Rearranged gstelement.h
11625         Fix GstIterator comparison bug.
11626         Moved some code to GstPipeline, mostly clocking related.
11627
11628 2005-03-09  Wim Taymans  <wim@fluendo.com>
11629
11630         * configure.ac:
11631         * gst/gst_private.h:
11632         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11633         (gst_bin_remove_func), (gst_bin_remove),
11634         (gst_bin_get_by_name_recurse_up):
11635         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11636         (gst_clock_id_compare_func), (gst_clock_id_wait),
11637         (gst_clock_id_wait_async), (gst_clock_init),
11638         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11639         * gst/gstelement.h:
11640         * gst/gstinfo.c: (_gst_debug_init):
11641         * gst/gstobject.h:
11642         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11643         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11644         * gst/gstpad.h:
11645         Bump version number, we're now 0.9.0
11646         Add future debugging category.
11647         Fix NULL _unref() in _get_by_name_recurse_up
11648         Rearrange gstpad.h.
11649         Update some docs.
11650
11651 2005-03-08  Wim Taymans  <wim@fluendo.com>
11652
11653         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11654         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11655         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11656         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11657         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11658         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11659         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11660         * gst/elements/gstidentity.c: (gst_identity_class_init):
11661         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11662         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11663         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11664         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11665         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11666         (gst_tee_link):
11667         * gst/gstelement.c: (gst_element_class_init),
11668         (gst_element_base_class_init), (gst_element_init),
11669         (gst_element_get_random_pad), (gst_element_wait_state_change),
11670         (gst_element_change_state), (gst_element_dispose),
11671         (gst_element_finalize), (gst_element_set_loop_function):
11672         * gst/gstelement.h:
11673         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11674         * gst/gstthread.c: (gst_thread_class_init),
11675         (gst_thread_release_children_locks), (gst_thread_change_state):
11676         * gst/schedulers/gstbasicscheduler.c:
11677         (gst_basic_scheduler_loopfunc_wrapper),
11678         (gst_basic_scheduler_chain_wrapper),
11679         (gst_basic_scheduler_src_wrapper),
11680         (gst_basic_scheduler_remove_element):
11681         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11682         Remove threadsafe properties. Fix elements because GObject
11683         complains when installing a property before declaring a
11684         set/get_property handler.
11685         Rearrange gstelement.h file, use STATE macros for state locks.
11686         Free mutexes in the finalize method instead of dispose.
11687
11688 2005-03-08  Wim Taymans  <wim@fluendo.com>
11689
11690         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11691         * gst/gstthread.c: (gst_thread_release_children_locks):
11692         Added parentage check.
11693         Fix build og GstThread again.
11694
11695 2005-03-08  Wim Taymans  <wim@fluendo.com>
11696
11697         * docs/design/part-MT-refcounting.txt:
11698         * docs/design/part-conventions.txt:
11699         * docs/design/part-gstobject.txt:
11700         * docs/design/part-relations.txt:
11701         * docs/design/part-standards.txt:
11702         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11703         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11704         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11705         (gst_bin_iterate_all_by_interface):
11706         * gst/gstbuffer.h:
11707         * gst/gstclock.h:
11708         * gst/gstelement.c: (gst_element_class_init),
11709         (gst_element_change_state), (gst_element_set_loop_function):
11710         * gst/gstelement.h:
11711         * gst/gstiterator.c:
11712         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11713         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11714         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11715         (gst_object_set_parent), (gst_object_unparent),
11716         (gst_object_check_uniqueness):
11717         * gst/gstobject.h:
11718         Docs updates, clean up some headers.
11719
11720 2005-03-07  Wim Taymans  <wim@fluendo.com>
11721
11722         * check/.cvsignore:
11723         * check/Makefile.am:
11724         * check/gst-libs/.cvsignore:
11725         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11726         * check/gst/.cvsignore:
11727         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11728         (START_TEST), (gstbus_suite), (main):
11729         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11730         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11731         (gst_data_suite), (main):
11732         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11733         (add_fold_func), (gstiterator_suite), (main):
11734         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11735         (thread_name_object), (thread_name_object_default),
11736         (gst_object_name_compare), (gst_object_suite), (main):
11737         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11738         (gst_pad_suite), (main):
11739         * check/gstcheck.c: (gst_check_log_message_func),
11740         (gst_check_log_critical_func), (gst_check_init):
11741         * check/gstcheck.h:
11742         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11743         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11744         Added checks.
11745
11746 2005-03-07  Wim Taymans  <wim@fluendo.com>
11747
11748         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11749         (gst_list_iterator_next), (gst_list_iterator_resync),
11750         (gst_list_iterator_free), (gst_iterator_new_list),
11751         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11752         (gst_iterator_free), (gst_iterator_push), (filter_next),
11753         (filter_resync), (filter_uninit), (filter_free),
11754         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11755         (gst_iterator_foreach), (find_custom_fold_func),
11756         (gst_iterator_find_custom):
11757         * gst/gstiterator.h:
11758         Added missing files.
11759
11760 2005-03-07  Wim Taymans  <wim@fluendo.com>
11761
11762         * Makefile.am:
11763         * configure.ac:
11764         * docs/design/part-MT-refcounting.txt:
11765         * docs/design/part-conventions.txt:
11766         * docs/design/part-gstobject.txt:
11767         * docs/design/part-relations.txt:
11768         * examples/mixer/mixer.c: (main):
11769         * examples/thread/thread.c: (eos), (main):
11770         * gst/Makefile.am:
11771         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11772         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11773         (gst_spider_plug_from_srcpad):
11774         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11775         (gst_spider_identity_change_state),
11776         (gst_spider_identity_sink_loop_type_finding):
11777         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11778         * gst/elements/gstidentity.c: (gst_identity_init):
11779         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11780         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11781         * gst/elements/gsttypefindelement.c: (free_entry):
11782         * gst/gst.c:
11783         * gst/gst.h:
11784         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11785         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11786         (gst_bin_set_index), (gst_bin_set_element_sched),
11787         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11788         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11789         (gst_bin_iterate_elements), (iterate_child_recurse),
11790         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11791         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11792         (compare_interface), (gst_bin_get_by_interface),
11793         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11794         * gst/gstbin.h:
11795         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11796         (gst_buffer_default_free), (gst_buffer_default_copy),
11797         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11798         (gst_buffer_create_sub):
11799         * gst/gstbuffer.h:
11800         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11801         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11802         (gst_caps_unref), (gst_static_caps_get),
11803         (gst_caps_remove_and_get_structure), (gst_caps_append),
11804         (gst_caps_append_structure), (gst_caps_remove_structure),
11805         (gst_caps_copy_nth), (gst_caps_set_simple),
11806         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11807         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11808         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11809         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11810         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11811         (gst_caps_structure_figure_out_union),
11812         (gst_caps_switch_structures), (gst_caps_do_simplify),
11813         (gst_caps_replace), (gst_caps_from_string),
11814         (gst_caps_copy_conditional):
11815         * gst/gstcaps.h:
11816         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11817         (_gst_clock_id_free), (gst_clock_id_unref),
11818         (gst_clock_id_compare_func), (gst_clock_id_wait),
11819         (gst_clock_id_wait_async), (gst_clock_class_init),
11820         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11821         (gst_clock_get_time), (gst_clock_set_time_adjust),
11822         (gst_clock_set_property), (gst_clock_get_property):
11823         * gst/gstclock.h:
11824         * gst/gstcompat.h:
11825         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11826         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11827         * gst/gstdata.h:
11828         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11829         (gst_element_requires_clock), (gst_element_provides_clock),
11830         (gst_element_set_clock), (gst_element_clock_wait),
11831         (gst_element_wait), (gst_element_set_time_delay),
11832         (gst_element_is_indexable), (gst_element_add_pad),
11833         (gst_element_add_ghost_pad), (gst_element_remove_pad),
11834         (pad_compare_name), (gst_element_get_static_pad),
11835         (gst_element_request_pad), (gst_element_get_request_pad),
11836         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
11837         (gst_element_class_get_pad_template_list),
11838         (gst_element_class_get_pad_template), (gst_element_error_func),
11839         (gst_element_get_random_pad), (gst_element_get_event_masks),
11840         (gst_element_send_event), (gst_element_seek),
11841         (gst_element_get_query_types), (gst_element_query),
11842         (gst_element_get_formats), (gst_element_convert),
11843         (gst_element_is_locked_state), (gst_element_set_locked_state),
11844         (gst_element_sync_state_with_parent), (gst_element_change_state),
11845         (gst_element_finalize), (gst_element_yield),
11846         (gst_element_interrupt), (gst_element_set_scheduler),
11847         (gst_element_get_scheduler), (gst_element_set_loop_function):
11848         * gst/gstelement.h:
11849         * gst/gstevent.h:
11850         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
11851         (gst_format_get_by_nick), (gst_format_get_details),
11852         (gst_format_iterate_definitions):
11853         * gst/gstformat.h:
11854         * gst/gstindex.c: (gst_index_gtype_resolver):
11855         * gst/gstinfo.c:
11856         * gst/gstinfo.h:
11857         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
11858         (gst_mem_chunk_free):
11859         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
11860         (gst_object_ref), (gst_object_unref), (gst_object_sink),
11861         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
11862         (gst_object_dispatch_properties_changed),
11863         (gst_object_set_name_default), (gst_object_set_name),
11864         (gst_object_get_name), (gst_object_set_name_prefix),
11865         (gst_object_get_name_prefix), (gst_object_set_parent),
11866         (gst_object_get_parent), (gst_object_unparent),
11867         (gst_object_check_uniqueness), (gst_object_save_thyself),
11868         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
11869         (gst_object_set_property), (gst_object_get_property),
11870         (gst_object_get_path_string):
11871         * gst/gstobject.h:
11872         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11873         (gst_real_pad_init), (gst_real_pad_get_property),
11874         (gst_pad_custom_new), (gst_pad_get_direction),
11875         (gst_pad_set_active), (gst_pad_is_active),
11876         (gst_pad_set_event_function), (gst_pad_is_linked),
11877         (gst_pad_link_free), (gst_pad_link_intersect),
11878         (gst_pad_link_fixate), (gst_pad_set_caps),
11879         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
11880         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
11881         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
11882         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
11883         (gst_pad_get_caps), (gst_pad_peer_get_caps),
11884         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
11885         (gst_pad_realize), (gst_pad_get_allowed_caps),
11886         (gst_real_pad_dispose), (gst_real_pad_finalize),
11887         (gst_pad_collectv), (gst_pad_collect_valist),
11888         (gst_pad_template_dispose), (gst_pad_template_new),
11889         (gst_pad_get_internal_links):
11890         * gst/gstpad.h:
11891         * gst/gstpipeline.c: (gst_pipeline_dispose),
11892         (gst_pipeline_change_state):
11893         * gst/gstpipeline.h:
11894         * gst/gstplugin.c:
11895         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
11896         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
11897         * gst/gstpluginfeature.h:
11898         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
11899         * gst/gstquery.c: (_gst_query_type_initialize),
11900         (gst_query_type_register), (gst_query_type_get_by_nick),
11901         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
11902         * gst/gstquery.h:
11903         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
11904         * gst/gstscheduler.c: (gst_scheduler_add_element),
11905         (gst_scheduler_factory_create):
11906         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11907         (gst_structure_free), (gst_structure_set_name),
11908         (gst_structure_id_set_value), (gst_structure_set_value),
11909         (gst_structure_set_valist), (gst_structure_remove_field),
11910         (gst_structure_remove_fields),
11911         (gst_structure_remove_fields_valist),
11912         (gst_structure_remove_all_fields), (gst_structure_foreach),
11913         (gst_structure_map_in_place),
11914         (gst_caps_structure_fixate_field_nearest_int),
11915         (gst_caps_structure_fixate_field_nearest_double):
11916         * gst/gststructure.h:
11917         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11918         (gst_system_clock_init), (gst_system_clock_dispose),
11919         (gst_system_clock_async_thread),
11920         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
11921         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
11922         * gst/gstsystemclock.h:
11923         * gst/gsttag.c: (gst_tag_list_add_value_internal),
11924         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
11925         * gst/gsttaginterface.c:
11926         * gst/gstthread.c: (gst_thread_dispose),
11927         (gst_thread_release_children_locks), (gst_thread_change_state),
11928         (gst_thread_main_loop):
11929         * gst/gsttrashstack.h:
11930         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
11931         * gst/gsttypes.h:
11932         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11933         (gst_element_request_pad), (gst_element_get_pad_from_template),
11934         (gst_element_request_compatible_pad),
11935         (gst_element_get_compatible_pad_filtered),
11936         (gst_element_get_compatible_pad), (gst_element_state_get_name),
11937         (gst_element_link_pads_filtered), (gst_element_link_filtered),
11938         (gst_element_link_many), (gst_element_link),
11939         (gst_element_link_pads), (gst_element_unlink_pads),
11940         (gst_element_unlink_many), (gst_element_unlink),
11941         (gst_pad_can_link_filtered), (gst_pad_can_link),
11942         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
11943         (gst_object_default_error), (gst_bin_add_many),
11944         (gst_bin_remove_many), (gst_element_populate_std_props),
11945         (gst_element_class_install_std_props), (gst_buffer_merge),
11946         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
11947         (link_fold_func), (gst_pad_proxy_setcaps):
11948         * gst/gstutils.h:
11949         * gst/gstvalue.c: (gst_value_deserialize_string):
11950         * gst/parse/grammar.y:
11951         * gst/schedulers/gstbasicscheduler.c:
11952         (gst_basic_scheduler_cothreaded_chain),
11953         (gst_basic_scheduler_chain_recursive_add),
11954         (gst_basic_scheduler_pad_link):
11955         * gst/schedulers/gstoptimalscheduler.c:
11956         (get_group_schedule_function),
11957         (gst_opt_scheduler_state_transition),
11958         (gst_opt_scheduler_add_element), (element_get_reachables_func):
11959         * libs/gst/bytestream/bytestream.c:
11960         * libs/gst/dataprotocol/dataprotocol.c:
11961         (gst_dp_header_from_buffer):
11962         * po/nb.po:
11963         * po/ru.po:
11964         * tests/threadstate/threadstate2.c: (eos):
11965         * tools/gst-compprep.c: (main):
11966         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
11967         (print_pad_info), (print_children_info):
11968         * tools/gst-launch.c: (idle_func), (main):
11969         * tools/gst-md5sum.c: (idle_func), (main):
11970         * tools/gst-xmlinspect.c: (print_element_info):
11971         First THREADED backport attempt, focusing on adding locks and
11972         making sure the API is threadsafe. Needs more work. More docs
11973         follow this week.
11974
11975 2005-02-24  Andy Wingo  <wingo@pobox.com>
11976
11977         * tests/bench-complexity.scm:
11978         * tests/complexity.gnuplot: New files, good for running complexity
11979         benchmarks.
11980
11981         * tests/Makefile.am:
11982         * tests/complexity.c: New test, sets up N elements, at each level
11983         teeing into M streams per element. Eeeenteresting.
11984
11985         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
11986         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
11987         running bench-mass_elements.scm.
11988
11989         * tests/bench-mass_elements.scm: New script, runs mass_elements
11990         for various numbers of identities, outputting the results to a
11991         file. Requires guile 1.6. Just for testing.
11992
11993 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11994
11995         * gst/schedulers/fairscheduler.c:
11996           compile with debug disabled
11997
11998 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11999
12000         * configure.ac:
12001           hunting season on 0.9 is now OPEN