gst/base/gstbasesink.c: Unlock the PREROLL_LOCK in a failure case.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-24  Michael Smith <msmith@fluendo.com>
2
3         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4           Unlock the PREROLL_LOCK in a failure case.
5
6 2005-11-24  Wim Taymans  <wim@fluendo.com>
7
8         * docs/gst/gstreamer-sections.txt:
9         * gst/base/gstadapter.h:
10         * gst/base/gstbasesink.h:
11         * gst/base/gstbasesrc.h:
12         * gst/base/gstbasetransform.h:
13         * gst/base/gstpushsrc.h:
14         * gst/elements/gstfakesink.h:
15         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
16         * gst/elements/gstfakesrc.h:
17         * gst/elements/gstfilesink.h:
18         * gst/elements/gstfilesrc.h:
19         * gst/gst.c:
20         * gst/gstbin.c:
21         * gst/gstbuffer.c: (_gst_buffer_copy):
22         * gst/gstbus.h:
23         * gst/gstcaps.c:
24         * gst/gstchildproxy.c:
25         * gst/gstclock.c:
26         * gst/gstelement.c:
27         * gst/gstelementfactory.c:
28         * gst/gstelementfactory.h:
29         * gst/gstevent.c:
30         * gst/gstghostpad.h:
31         * gst/gstindex.h:
32         * gst/gstinterface.h:
33         * gst/gstminiobject.c:
34         * gst/gstminiobject.h:
35         * gst/gstpad.c:
36         * gst/gstpad.h:
37         * gst/gstpadtemplate.h:
38         * gst/gstpipeline.h:
39         * gst/gstpluginfeature.h:
40         * gst/gstquery.h:
41         * gst/gstqueue.h:
42         * gst/gsttaglist.c:
43         * gst/gsttaglist.h:
44         * gst/gsttagsetter.c:
45         * gst/gsttagsetter.h:
46         * gst/gsttrace.c:
47         * gst/gsttrace.h:
48         * gst/gsttypefind.h:
49         * gst/gsturi.h:
50         * gst/gstvalue.c:
51         * gst/net/gstnetclientclock.c:
52         * gst/net/gstnetclientclock.h:
53         * gst/net/gstnettimepacket.c:
54         * gst/net/gstnettimeprovider.c:
55         * gst/net/gstnettimeprovider.h:
56         Doc fixes.
57
58 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
59
60         * configure.ac: back to HEAD
61
62 === release 0.9.6 ===
63
64 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
65
66         * configure.ac:
67           releasing 0.9.6, "Always On Time"
68
69 2005-11-23  Wim Taymans  <wim@fluendo.com>
70
71         * docs/gst/gstreamer-sections.txt:
72         * gst/glib-compat.c:
73         * gst/gsttagsetter.c:
74         * gst/gstvalue.c:
75         * gst/net/gstnetclientclock.c:
76         * gst/net/gstnettimepacket.h:
77         Doc updates.
78
79 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
80
81         * docs/faq/using.xml:
82         * docs/libs/tmpl/gstcontrol.sgml:
83         * docs/manual/advanced-dparams.xml:
84         * docs/manual/appendix-checklist.xml:
85         * docs/manual/basics-elements.xml:
86         * docs/pwg/other-source.xml:
87         * docs/random/moving-plugins:
88         * gst/gstpad.c:
89         * tools/gst-launch.1.in:
90           remove mentions of sinesrc
91
92 2005-11-23  Michael Smith <msmith@fluendo.com>
93
94         * docs/gst/gstreamer-sections.txt:
95           Update for new API and API changes.
96         * gst/gstobject.h:
97           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
98         * gst/gstvalue.c:
99           Documentation typo fix.
100         * gst/net/gstnettimepacket.c:
101           Documentation fixes for arguments.
102
103 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
104
105         * gst/gststructure.c: (gst_structure_get_fraction),
106         (gst_structure_parse_value),
107         (gst_structure_fixate_field_nearest_fraction):
108         * gst/gststructure.h:
109         * gst/gstutils.c: (gst_util_uint64_scale_int):
110         * gst/gstutils.h:
111         * scripts/update-funcnames:
112         API Changes. 
113         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
114         Make gst_structure_fixate_field_nearest_fraction take a numerator
115         and denominator argument instead of a GValue
116         add gst_structure_get_fraction helper function.
117
118 2005-11-23  Wim Taymans  <wim@fluendo.com>
119
120         * docs/design/part-TODO.txt:
121         Update TODO.
122
123         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
124         * gst/net/gstnetclientclock.h:
125         Use parent fields for timeout and window_size.
126
127 2005-11-23  Andy Wingo  <wingo@pobox.com>
128
129         * check/net/gstnetclientclock.c (test_functioning): Adjust to
130         rate_num/rate_denom change.
131
132         * gst/net/gstnetclientclock.c
133         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
134         OBJECT_LOCK. Don't call add_observation with the lock.
135
136         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
137         fraction.
138         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
139         rate fraction.
140         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
141         deal with rate as a fraction whose numerator and denominator are
142         GstClockTime values.
143         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
144         master; the other fields are protected by the SLAVE_LOCK.
145         (do_linear_regression): Note that this must be called with the
146         SLAVE_LOCK.
147         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
148         OBJECT_LOCK. Call set_calibration instead of touching the
149         variables directly.
150         (gst_clock_set_property, gst_clock_get_property): Protect
151         master/slave parameters with the SLAVE_LOCK.
152
153         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
154         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
155         note that all of the instance variables that add_observation and
156         the set_master functions use are protected by that lock and not
157         the OBJECT_LOCK.
158         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
159
160         * gst/gstclock.c (gst_clock_add_observation): No longer requires
161         the caller to take the object lock.
162
163 2005-11-23  Wim Taymans  <wim@fluendo.com>
164
165         * gst/gsterror.c: (_gst_core_errors_init):
166         * gst/gsterror.h:
167         Add error for clock stuff.
168
169         * gst/gstpipeline.c: (gst_pipeline_change_state),
170         (gst_pipeline_set_clock):
171         Post clock error when clock cannot be used in a pipeline.
172
173 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
174
175         * docs/gst/gstreamer-sections.txt:
176           make two symbols from gstinfo private for the docs
177         * gst/base/gstcollectpads.h:
178         * gst/gstutils.c:
179           fix doc typos, update docs
180
181 2005-11-22  Wim Taymans  <wim@fluendo.com>
182
183         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
184         (gst_base_sink_wait), (gst_base_sink_do_sync),
185         (gst_base_sink_handle_event):
186         * gst/base/gstbasesink.h:
187         No need to store the clock, the parent element class already
188         has it.
189
190         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
191         Updates for clock_set returning a gboolean
192
193         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
194         (gst_clock_id_wait_async), (gst_clock_class_init),
195         (gst_clock_init), (gst_clock_finalize),
196         (gst_clock_get_internal_time), (gst_clock_get_time),
197         (gst_clock_slave_callback), (gst_clock_set_master),
198         (gst_clock_get_master), (do_linear_regression),
199         (gst_clock_add_observation), (gst_clock_set_property),
200         (gst_clock_get_property):
201         * gst/gstclock.h:
202         Implement master/slave. When setting a clock as a slave, a
203         periodic timeout is scheduled to sample master and slave times.
204         Then the slave clock is recalibrated to match offset and rate
205         of the master clock.
206         Update logging a bit.
207         Add flag so that a clock can state that is cannot be slaved to
208         another clock.
209
210         * gst/gstelement.c: (gst_element_set_clock):
211         * gst/gstelement.h:
212         The set clock returns a gboolean for when an element cannot
213         deal with the selected clock in the pipeline. 
214
215         * gst/gstpipeline.c: (gst_pipeline_change_state),
216         (gst_pipeline_set_clock):
217         * gst/gstpipeline.h:
218         Handle the case where the selected clock cannot be set on
219         the pipeline.
220
221         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
222         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
223         (gst_net_client_clock_set_property),
224         (gst_net_client_clock_get_property),
225         (gst_net_client_clock_observe_times):
226         * gst/net/gstnetclientclock.h:
227         Use regression code in GstClock parent, remove duplicated
228         functionality.
229
230 2005-11-22  Michael Smith <msmith@fluendo.com>
231
232         * gst/gstutils.c: (gst_util_clock_time_scale):
233         * gst/gstutils.h:
234         * docs/gst/gstreamer-sections.txt:
235           Rename method to have extra underscore.
236
237 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
238
239         * gst/elements/Makefile.am:
240         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
241         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
242         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
243         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
244         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
245         * gst/elements/gstfakesrc.h:
246         * gst/gstqueue.c: (queue_leaky_get_type):
247           correctly fix GEnumValues so that nick is the short lowercase
248           dashed tag
249         * tools/gst-inspect.c: (print_element_properties_info):
250           also show the nick, since it's useful to use from parse_launch
251           syntax
252           Fixes #322139
253
254 2005-11-22  Michael Smith <msmith@fluendo.com>
255
256         * gst/gstutils.c: (gst_util_clocktime_scale):
257         * gst/gstutils.h:
258         * docs/gst/gstreamer-sections.txt:
259           Add util method for scaling a clocktime by a fraction. Useful 
260           implementation is left as an exercise for the reader.
261
262 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
263
264         * gst/gstvalue.c: (gst_value_collect_fraction_range):
265         If needed, allocate storage in the destination value during
266         collection.
267
268 2005-11-22  Edward Hervey  <edward@fluendo.com>
269
270         * docs/gst/gstreamer-sections.txt:
271         * gst/Makefile.am:
272         * gst/gst.h:
273         * gst/gsturitype.c:
274         * gst/gsturitype.h:
275         * gst/gstutils.c: (gst_util_set_object_arg):
276         * tools/gst-compprep.c: (main):
277         * tools/gst-inspect.c: (print_element_properties_info):
278         Removed GstURI, closes bug #321061
279
280 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
281
282         * check/gst/gststructure.c: (GST_START_TEST):
283         * gst/gststructure.c: (gst_structure_parse_value):
284           Oops, broke automatic string type parsing.
285           Add a test to catch it in future.
286
287 2005-11-22  Andy Wingo  <wingo@pobox.com>
288
289         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
290         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
291         Actually rename the function implementations. Grr.
292
293 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
294
295         * check/gst/capslist.h:
296           Comment test cases
297         * check/gst/gststructure.c: (GST_START_TEST),
298         (gst_structure_suite):
299           Test automatic value type detection in gst_structure_from_string.
300         * gst/gststructure.c: (gst_structure_parse_value):
301           Add fraction as a type we try and guess automatically in
302           caps/structure strings.
303
304 2005-11-22  Andy Wingo  <wingo@pobox.com>
305
306         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
307
308         * gst/gsttagsetter.h:
309         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
310         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
311         (gst_tag_setter_add_tag_valist)
312         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
313         _add_values, _add_valist, and _add_valist_values. Since this is an
314         interface the function suffixes should be more explicit so
315         language binding don't end up with element.add_valist ->
316         gst_tag_setter_add_valist, for example. Fixes #322069.
317
318 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
319
320         * check/gst/gstcaps.c: (GST_START_TEST):
321           Extend caps string tests to check that a caps to string
322           conversion is reversible and produces the same caps.
323
324         * gst/gststructure.c: (gst_structure_value_get_generic_type):
325           Output "fraction" as the generic type fraction range, so caps
326           serialisation and deserialisation works.
327         * check/gst/capslist.h:
328         * gst/gstvalue.c: (gst_value_deserialize_fraction):
329           Support 'MIN' and 'MAX' for deserialising fractions.
330
331 2005-11-22  Andy Wingo  <wingo@pobox.com>
332
333         * gst/gstevent.h (gst_event_new_new_segment)
334         (gst_event_parse_new_segment, gst_event_new_buffer_size)
335         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
336         Renamed from *_newsegment, *_buffersize, *_notarget.
337
338         * scripts/update-funcnames: New script, performs the changes
339         listed above.
340
341 2005-11-22  Wim Taymans  <wim@fluendo.com>
342
343         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
344         Make sure the GstFlowReturn is returned.
345
346         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
347         (gst_bus_add_signal_watch):
348         * gst/gstbus.h:
349         add gst_bus_add_signal_watch_full.
350
351         * gst/gstplugin.c: (gst_plugin_load_file):
352         Small style cleanup.
353
354 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
355
356         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
357           Block the fakesrc srcpad when we send an event, to avoid
358           contention on the stream_lock causing random test failures.
359
360 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
361
362         * check/gst/gstvalue.c: (GST_START_TEST):
363         * gst/gstvalue.c: (gst_value_fraction_subtract):
364           Fix subtraction.
365
366 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
367
368         * gst/gst.h:
369           include "gstchildproxy.h"
370         * gst/gstchildproxy.h:
371         * libs/gst/controller/gstcontroller.h:
372           use G_GNUC_NULL_TERMINATED
373
374 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
375
376         * check/gst/capslist.h:
377         * check/gst/gstcaps.c: (GST_START_TEST):
378         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
379         * gst/gststructure.c: (gst_structure_parse_range),
380         (gst_structure_fixate_field_nearest_fraction):
381         * gst/gststructure.h:
382         * gst/gstvalue.c: (gst_value_init_fraction_range),
383         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
384         (gst_value_collect_fraction_range),
385         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
386         (gst_value_set_fraction_range_full),
387         (gst_value_get_fraction_range_min),
388         (gst_value_get_fraction_range_max),
389         (gst_value_serialize_fraction_range),
390         (gst_value_transform_fraction_range_string),
391         (gst_value_compare_fraction_range),
392         (gst_value_deserialize_fraction_range),
393         (gst_value_intersect_fraction_fraction_range),
394         (gst_value_intersect_fraction_range_fraction_range),
395         (gst_value_subtract_fraction_fraction_range),
396         (gst_value_subtract_fraction_range_fraction),
397         (gst_value_subtract_fraction_range_fraction_range),
398         (gst_value_collect_fraction), (gst_value_fraction_multiply),
399         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
400         (gst_value_transform_string_fraction), (_gst_value_initialize):
401         * gst/gstvalue.h:
402           Implement fraction ranges and extend GstFraction to support
403           arithmetic subtraction, as well as deserialization from integer
404           strings such as "100"
405           Add a testsuite as for int and double range set operations
406
407 2005-11-21  Andy Wingo  <wingo@pobox.com>
408
409         * gst/gsttaglist.h: 
410         * gst/gstcaps.h: 
411         * gst/gststructure.h: Add glib-compat.h.
412
413 2005-11-21  Wim Taymans  <wim@fluendo.com>
414
415         * gst/gstbin.c: (gst_bin_change_state_func):
416         Fix for #321595
417
418 2005-11-21  Wim Taymans  <wim@fluendo.com>
419
420         * gst/gstsegment.h:
421         And add a nice define too.
422
423 2005-11-21  Wim Taymans  <wim@fluendo.com>
424
425         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
426         (gst_segment_new), (gst_segment_free), (gst_segment_init),
427         (gst_segment_set_duration), (gst_segment_set_last_stop),
428         (gst_segment_set_seek), (gst_segment_set_newsegment),
429         (gst_segment_to_stream_time), (gst_segment_to_running_time),
430         (gst_segment_clip):
431         * gst/gstsegment.h:
432         Make binding friendly.
433
434 2005-11-21  Andy Wingo  <wingo@pobox.com>
435
436         * gst/gsttagsetter.h: 
437         * gst/gsttaglist.h: 
438         * gst/gststructure.h: 
439         * gst/gstcaps.h: 
440         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
441         #319940.
442
443         * gst/gsterror.c (_gst_core_errors_init):
444         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
445         category.
446
447         * gst/Makefile.am (gst_headers): Add glib-compat.h.
448         (noinst_HEADERS): noinst the -private.
449
450 2005-11-21  Michael Smith <msmith@fluendo.com>
451
452         * gst/gstplugin.h:
453         * gst/gstregistry.h:
454           Remove unimplemented declarations for which we can see no sensible
455           use.
456
457 2005-11-21  Andy Wingo  <wingo@pobox.com>
458
459         * gst/gst.h: Include glib-compat.h.
460
461         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
462
463         * gst/glib-compat.c: Include the public and the private header.
464
465         * gst/glib-compat-private.h: Copied here from glib-compat.h.
466
467         * gst/gstvalue.c: 
468         * gst/gstpad.c: 
469         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
470
471         * check/gst/gstevent.c (create_custom_events): Check that
472         FLUSH_STOP is serialized.
473
474         * check/elements/identity.c (event_func): 
475         * check/elements/fakesrc.c (event_func): No stream lock, the core
476         takes it.
477
478         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
479         stream lock taking, yay.
480
481         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
482         ensure that core takes the stream lock.
483
484         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
485         lock name change.
486
487         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
488         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
489         it already. For the flush start we do take it though so we get the
490         right preroll state change messages.
491
492         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
493         the stream lock here, the core does it for us.
494
495         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
496         GST_STREAM_GET_LOCK.
497         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
498         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
499         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
500         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
501         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
502         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
503
504         * gst/gstpad.c: Update for stream lock name change.
505
506         * gst/base/gstbasesink.c: Update for preroll lock name change.
507
508 2005-11-21  Wim Taymans  <wim@fluendo.com>
509
510         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
511         (gst_clock_get_master):
512         * gst/gstclock.h:
513         * gst/gstsystemclock.c: (gst_system_clock_init):
514         Convert Clock flags to object flags.
515         Added methods to manage master/slave clocks.
516
517 2005-11-21  Wim Taymans  <wim@fluendo.com>
518
519         * check/gst/gstsegment.c: (GST_START_TEST):
520         * docs/design/part-TODO.txt:
521         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
522         (gst_base_sink_event), (gst_base_sink_do_sync),
523         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
524         (gst_base_sink_query), (gst_base_sink_change_state):
525         * gst/base/gstbasesink.h:
526         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
527         (gst_base_src_default_newsegment),
528         (gst_base_src_configure_segment), (gst_base_src_do_seek),
529         (gst_base_src_get_range), (gst_base_src_loop),
530         (gst_base_src_change_state):
531         * gst/base/gstbasesrc.h:
532         * gst/base/gstbasetransform.c:
533         (gst_base_transform_prepare_output_buf),
534         (gst_base_transform_event), (gst_base_transform_change_state):
535         * gst/base/gstbasetransform.h:
536         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
537         (gst_collect_pads_event):
538         * gst/base/gstcollectpads.h:
539         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
540         (gst_fake_src_create):
541         * gst/elements/gstfakesrc.h:
542         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
543         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
544         (gst_segment_set_last_stop), (gst_segment_set_seek),
545         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
546         (gst_segment_to_running_time), (gst_segment_clip):
547         * gst/gstsegment.h:
548         More segment updates, replace code in plugins with segment
549         helper functions.
550
551 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
552
553         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
554         Don't ignore sscanf results
555
556 2005-11-21  Andy Wingo  <wingo@pobox.com>
557
558         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
559
560         * *.h:
561         * *.c: Ran scripts/update-macros. Oh yes.
562
563         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
564         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
565         GST_GET_LOCK, etc.
566
567         * scripts/update-macros: New script. Run it on your files to
568         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
569         well.
570
571 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
572
573         * docs/gst/Makefile.am:
574         * docs/gst/gstreamer-docs.sgml:
575         * docs/gst/gstreamer-sections.txt:
576         * docs/gst/gstreamer.types:
577         * gst/gstinfo.h:
578           more docs fixes, add new api to the docs
579
580 2005-11-21  Andy Wingo  <wingo@pobox.com>
581
582         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
583         state_broadcast call.
584
585         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
586
587 2005-11-21  Julien MOUTTE  <julien@moutte.net>
588
589         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
590         function calls for arrays.
591
592 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
593
594         * docs/random/ensonic/media-device-daemon.txt:
595           wild idea, can this be done?
596         * docs/gst/gstreamer-sections.txt:
597         * gst/gsterror.h:
598         * gst/gstfilter.c:
599         * gst/gstfilter.h:
600         * gst/gstplugin.h:
601         * gst/gstpluginfeature.c:
602         * gst/gsttrace.c:
603         * gst/gstvalue.c:
604         * gst/gstvalue.h:
605           doc fixes and additions
606
607 2005-11-21  Andy Wingo  <wingo@pobox.com>
608
609         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
610         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
611         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
612         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
613         private to the basesrc implementation.
614
615         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
616         behalf of event function if necessary. It should no longer be
617         necessary to take the stream lock in pad's event functions. Fixes
618         #320299.
619
620 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
621         * docs/gst/gstreamer-sections.txt:
622         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
623         (gst_structure_fixate_field_nearest_double),
624         (gst_structure_fixate_field_boolean):
625         * gst/gststructure.h:
626         * win32/common/libgstreamer.def:
627         * win32/gstreamer.def:
628
629         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
630         (#322027)
631
632 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
633
634         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
635         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
636         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
637         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
638         (gst_fdsrc_uri_handler_init):
639         * gst/elements/gstfdsrc.h:
640           Port fd:// URI handler from 0.8 to fdsrc
641
642 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
643
644         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
645         (gst_value_serialize_fourcc):
646         * gst/gstvalue.h:
647           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
648           consistent with our other format defines (#320324).
649
650 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
651
652         * gst/gstvalue.c: (gst_value_is_fixed):
653           Revert previous commit. Value lists are by definition
654           not fixed, as they are a list of possible values.
655
656 2005-11-21  Andy Wingo  <wingo@pobox.com>
657
658         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
659         during the stable series if we need it. Fixes #319178.
660
661         * gst/gstevent.c (gst_event_new_filler): Removed.
662
663         * check/gst/gstevent.c: Update comment about filler events.
664
665 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
666
667         * gst/gstvalue.c: (gst_value_is_fixed):
668           Should handle both value arrays and value lists.
669
670 2005-11-21  Andy Wingo  <wingo@pobox.com>
671
672         patch by: Alessandro Dessina <alessandro nnva org>
673
674         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
675         functions to access arrays. Fixes #321962.
676
677 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
678
679         * docs/gst/gstreamer.types:
680           gst_collectpads_get_type => gst_collect_pads_get_type.
681           
682         * gst/base/gstbasetransform.c:
683           Remove unused SIGNAL_HANDOFF enum.
684
685 2005-11-21  Andy Wingo  <wingo@pobox.com>
686
687         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
688         the event type (upstream, downstream, serialized). Renamed
689         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
690         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
691         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
692
693         * gst/gstevent.c: Update for new CUSTOM event names.
694
695         * check/gst/gstevent.c: Update check for new CUSTOM event names.
696
697         * gst/gstevent.h:
698         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
699         bug #319392.
700
701 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
702
703         * docs/gst/gstreamer-sections.txt:
704         * win32/common/libgstbase.def:
705         * win32/libgstbase.def:
706         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
707         (gst_collect_pads_class_init), (gst_collect_pads_init),
708         (gst_collect_pads_finalize), (gst_collect_pads_new),
709         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
710         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
711         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
712         (gst_collect_pads_start), (gst_collect_pads_stop),
713         (gst_collect_pads_peek), (gst_collect_pads_pop),
714         (gst_collect_pads_available), (gst_collect_pads_read),
715         (gst_collect_pads_flush), (gst_collect_pads_event),
716         (gst_collect_pads_chain):
717         * gst/base/gstcollectpads.h:
718           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
719           unimplemented functions as unimplemented. Add padding to
720           GstCollectData. (#320766, #320423)
721
722 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
723
724         * gst/gstmessage.c:
725           Improve docs for DURATION message (usage of duration parameter)
726           (#320113)
727
728 2005-11-20  Wim Taymans  <wim@fluendo.com>
729
730         * check/Makefile.am:
731         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
732         (main):
733         * gst/Makefile.am:
734         * gst/gst.h:
735         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
736         (gst_segment_set_seek), (gst_segment_set_newsegment),
737         (gst_segment_to_stream_time), (gst_segment_to_running_time),
738         (gst_segment_clip):
739         * gst/gstsegment.h:
740         Added segment helper structure and methods. Not fully implemented
741         yet.
742         Added segment check.
743
744 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
745
746         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
747           Add a deserialisation test for fractions
748         * examples/metadata/read-metadata.c: (message_loop),
749         (make_pipeline), (main):
750           Fix up metadata reading sample.
751         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
752           Debug format fix
753         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
754           Don't try and fixate empty caps
755         * gst/gst_private.h:
756           Wrap in G_BEGIN_DECLS/G_END_DECLS
757         * gst/gstvalue.c: (gst_value_collect_fraction),
758         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
759         (gst_value_transform_string_fraction),
760         (gst_value_compare_fraction):
761           Add some extra guards to ensure that we don't end up 
762           with an invalid denominator of 0 in a gstfraction and
763           that fractions always get reduced.
764
765 2005-11-20  Wim Taymans  <wim@fluendo.com>
766
767         * docs/gst/gstreamer-sections.txt:
768         * gst/gstbuffer.h:
769         * gst/gstelement.c:
770         * gst/gstformat.c:
771         * gst/gstformat.h:
772         * gst/gstindex.h:
773         * gst/gstquery.c:
774         * gst/gstquery.h:
775         * gst/gstvalue.c:
776         Doc fixes.
777
778 2005-11-20  Wim Taymans  <wim@fluendo.com>
779
780         * docs/design/part-TODO.txt:
781         * gst/gstcaps.h:
782         Make a proper enum of the flag.
783
784 2005-11-19  Wim Taymans  <wim@fluendo.com>
785
786         * docs/design/part-TODO.txt:
787         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
788         (gst_format_to_quark), (gst_format_register):
789         * gst/gstformat.h:
790         * gst/gstquery.c: (_gst_query_initialize),
791         (gst_query_type_get_name), (gst_query_type_to_quark),
792         (gst_query_type_register):
793         * gst/gstquery.h:
794         Add type to quark and type to string conversions.
795
796 2005-11-19  Andy Wingo  <wingo@pobox.com>
797
798         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
799         #320097.
800
801 2005-11-19  Wim Taymans  <wim@fluendo.com>
802
803         * docs/design/part-TODO.txt:
804         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
805         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
806         (gst_bin_handle_message_func):
807         * gst/gstbin.h:
808         Make message handling overridable.
809
810 2005-11-19  Andy Wingo  <wingo@pobox.com>
811
812         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
813
814         * gst/gstclock.h:
815         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
816         be a GstClockTime.
817         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
818         is a GstClockTime. Fixes #321710.
819
820         * gst/gstclock.h (GstClock): Remove offset property. Add
821         internal_calibration and external_calibration. Fix padding. Pad
822         also by GstClockTime so we don't run into problems.
823
824         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
825         (gst_clock_get_rate_offset): Remove.
826         (gst_clock_set_time_adjust): Remove. Fixes #321712.
827
828         * gst/gstutils.h:
829         * gst/gstutils.c (g_static_rec_cond_wait)
830         (g_static_rec_cond_timed_wait): Removed, no longer needed.
831
832         * gst/gstbin.c: Remove terrible continue_state prototype.
833
834         * gst/gstelement.h (gst_element_continue_state): Make public.
835
836         * gst/gstelement.h:
837         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
838         by continue_state. Fixes #319389.
839
840         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
841         Really fixes #168438. However I don't see anywhere where the
842         filter function is called... stupid GStreamer...
843         
844         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
845         don't have a dispose function, so it won't get called when the
846         object is unreffed, but oh well!
847
848         * gst/gstindex.c (gst_index_set_filter_full): New API function,
849         allows a destroy function to be set so user_data can be freed.
850         Fixes #168438.
851         (gst_index_set_filter): Call gst_index_set_filter_full.
852
853         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
854
855         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
856         string should produce an error, given the lack of a way to
857         represent NULL strings. Fixes #165650.
858         
859         * gst/gstvalue.h: 
860         * gst/gstvalue.c (gst_value_array_append_value) 
861         (gst_value_array_prepend_value, gst_value_array_get_size) 
862         (gst_value_array_get_value): New API, copied from
863         gst_value_list_*, only operates on arrays.
864         (gst_value_list_append_value, gst_value_list_prepend_value) 
865         (gst_value_list_concat, gst_value_list_get_size) 
866         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
867
868         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
869         init_list, because it works on both.
870         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
871         (gst_value_copy_list_or_array): Renamed from copy_list.
872         (gst_value_free_list_or_array): Renamed from free_list.
873         (gst_value_collect_list_or_array): Renamed from collect_list.
874         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
875         (gst_value_list_or_array_peek_pointer): Renamed from
876         list_peek_pointer.
877         (_gst_value_array_value_table, _gst_value_list_value_table):
878         Update value table functions.
879         (gst_value_compare_list_or_array): Renamed from compare_list.
880
881         * gsttaglist.h: Whoops, foreach function returns void. Also fix
882         some constness.
883
884         * gst/gsttaglist.c:
885         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
886         GstTagList*. Fixes #143472.
887
888         * gst/gststructure.h: Clarify what the foreach/map functions can
889         or can't do to their arguments.
890
891 2005-11-18  Wim Taymans  <wim@fluendo.com>
892
893         * gst/gstclock.c: (gst_clock_set_calibration),
894         (gst_clock_get_calibration):
895         Doc and API fixes.
896         Calibration can be set with internal time equal to current
897         internal time too.
898
899 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
900
901         * gst/gsterror.c:
902         * gst/gsterror.h:
903           document
904
905 2005-11-18  Andy Wingo  <wingo@pobox.com>
906
907         * configure.ac: 
908         * pkgconfig/gstreamer-net.pc.in:
909         * pkgconfig/gstreamer-net-uninstalled.pc.in:
910         * pkgconfig/Makefile.am: Add net pkgconfig files.
911
912 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
913
914         * gst/gstcaps.c:
915         * gst/gstghostpad.c:
916         * gst/gsttrace.c:
917         * gst/gstvalue.c:
918         * gst/gstvalue.h:
919           docs fixes
920
921 2005-11-18  Andy Wingo  <wingo@pobox.com>
922
923         * gst/net/gstnetclientclock.c: Turn off debugging.
924
925         * check/net/gstnetclientclock.c (test_functioning): Assert that the
926         times connverge somewhat. Can't make a real test.
927
928         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
929         integer arithmetic. Return the minimum of the domain, which can be
930         set as "internal" for gst_clock_set_calibration.
931         (gst_net_client_clock_observe_times): Call _set_calibration.
932         (gst_net_client_clock_new): Call _set_calibration instead of
933         rate_offset.
934
935         * check/net/gstnetclientclock.c (test_functioning): Use the right
936         adjustment api.
937
938         * gst/gstclock.h:
939         * gst/gstclock.c (gst_clock_get_calibration) 
940         (gst_clock_set_calibration): New functions, obsolete the ones I
941         added yesterday. Doh. Precision issues mean we have to extrapolate
942         from a point in the more recent past than 1970.
943         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
944         obsolete.
945         (gst_clock_adjust_unlocked): Use the right calibration data.
946
947 2005-11-18  Edward Hervey  <edward@fluendo.com>
948
949         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
950         Also reset the ->current_* values in READY->PAUSED
951
952 2005-11-18  Andy Wingo  <wingo@pobox.com>
953
954         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
955         Whoops, check the right fd. Also add some debugging.
956         (gst_net_client_clock_observe_times): Adjust for int64 offset.
957         (do_linear_regression): Add a crapload of debugging. Subtract off
958         the minimum values from the input series to discard unneeded bits.
959         Use only int arithmetic. There is still double arithmetic when
960         calculating the intercept that needs fixing. Return boolean to
961         indicate success; FALSE would mean the domain or range is too
962         great. Still needs fixes.
963
964 2005-11-18  Wim Taymans  <wim@fluendo.com>
965
966         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
967         For the current position in stream time, we need to subtract
968         accumulated time.
969         
970         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
971         Release lock before calling the callback function of async
972         entries.
973
974 2005-11-18  Andy Wingo  <wingo@pobox.com>
975
976         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
977         Port goes all the way to MAXUINT16.
978
979         * gst/net/gstnettimeprovider.c: Make the port range the same as
980         for the kernel: 0 assigns, otherwise ports are less than
981         MAXUINT16.
982
983         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
984         port change.
985
986         * check/net/gstnetclientclock.c (test_functioning): Add the start
987         of another test. 
988
989 2005-11-18  Wim Taymans  <wim@fluendo.com>
990
991         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
992         (gst_bin_remove_func), (bin_bus_handler):
993         * gst/gstbin.h:
994         Removing a clock provider from a bin, triggers a clock lost message
995         so that a new clock will be selected.
996         Adding a clock to a bin triggers a clock provider message.
997         Make sure we reselect a clock when we received a clock lost message.
998         Keep a reference to the element that provided the clock.
999
1000 2005-11-18  Andy Wingo  <wingo@pobox.com>
1001
1002         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1003         the clock initially so it produces values around the base time.
1004         (gst_net_client_clock_class_init): Typo fix.
1005         (gst_net_client_clock_thread): Add note on when the socket gets
1006         closed.
1007
1008 2005-11-17  Wim Taymans  <wim@fluendo.com>
1009
1010         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1011         Free remote and local time arrays.
1012
1013 2005-11-17  Wim Taymans  <wim@fluendo.com>
1014
1015         * gst/net/gstnetclientclock.c: (do_linear_regression),
1016         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1017         Fix compilation, uninitialized vars and a forgotten continue.
1018
1019 2005-11-17  Andy Wingo  <wingo@pobox.com>
1020
1021         * check/Makefile.am (check_PROGRAMS): 
1022         * check/net/gstnetclientclock.c: Add a most minimal test for the
1023         net client clock. More to come later.
1024
1025         * gst/net/gstnet.h: 
1026         * gst/net/Makefile.am: Add netclientclock.
1027
1028         * gst/net/gstnetclientclock.h:
1029         * gst/net/gstnetclientclock.c: New files, implement an untested
1030         GstClock that takes its time from a network time provider.
1031         Implements the algorithm in network-clock.scm.
1032
1033         * tests/network-clock.scm (*window-size*): Rename from
1034         *queue-length*.
1035         * tests/network-clock.scm (network-time): 
1036         * tests/network-clock-utils.scm (q-push): Update callers.
1037
1038 2005-11-17  Wim Taymans  <wim@fluendo.com>
1039
1040         * gst/gstbin.c: (gst_bin_provide_clock_func),
1041         (gst_bin_sort_iterator_new):
1042         And unref the child too..
1043
1044 2005-11-17  Wim Taymans  <wim@fluendo.com>
1045
1046         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1047         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1048         Refactor the sort iterator so it can be used while holding the
1049         LOCK too.
1050         Make clock selection select a clock closest to the source.
1051
1052 2005-11-17  Michael Smith <msmith@fluendo.com>
1053
1054         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1055         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1056         * gst/gstclock.h:
1057           Anonymous structs are a gcc (and some other compilers) extension, so
1058           don't use them. Since this is only for ABI-compatibility, and our
1059           API/ABI freeze is over in a few days, this whole thing will only
1060           last a few days, so don't bother trying to think up a meaningful
1061           name for the struct.
1062
1063 2005-11-17  Andy Wingo  <wingo@pobox.com>
1064
1065         * gst/gstclock.h (GstClock): Add rate and offset properties,
1066         preserving ABI stability. Add rate/offset accessors. Will file bug
1067         for the freeze break.
1068
1069         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1070         and offset, trying to keep precision and avoiding
1071         underflow/overflow.
1072         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1073         functions. Make gst_clock_set_time_adjust obsolete.
1074         (gst_clock_set_time_adjust): Note that this function is obsolete.
1075         Will file bug soon.
1076
1077         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1078         greppable by using GST_PADDING-1+1.
1079
1080 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1081
1082         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1083
1084         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1085           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1086
1087         * gst/gstpadtemplate.h:
1088         * gst/gstpluginfeature.h:
1089           Don't use c++ style comments in headers (#321638).
1090
1091 2005-11-16  Andy Wingo  <wingo@pobox.com>
1092
1093         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1094         buffer.
1095
1096         * check/net/gstnettimeprovider.c: Check to see that the time
1097         provider actually provides times. Works, yo!
1098
1099 2005-11-16  Wim Taymans  <wim@fluendo.com>
1100
1101         * check/Makefile.am:
1102         Enable more tests.
1103
1104         * check/elements/fakesrc.c: (GST_START_TEST):
1105         Set element to NULL before disposing it.
1106
1107 2005-11-16  Andy Wingo  <wingo@pobox.com>
1108
1109         * gst/net/Makefile.am:
1110         * gst/net/gstnet.h:
1111         * gst/net/gstnettimeprovider.c: 
1112         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1113         provider, include it from gstnet.h, and add it to the build.
1114
1115         * gst/net/gstnettimepacket.h: 
1116         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1117         sending and receiving.
1118
1119 2005-11-16  Wim Taymans  <wim@fluendo.com>
1120
1121         * check/Makefile.am:
1122         Enable valgrind check.
1123
1124         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1125         (gst_fake_src_alloc_buffer):
1126         Fix memleak.
1127
1128 2005-11-16  Wim Taymans  <wim@fluendo.com>
1129
1130         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1131         Call parent finalize too.
1132
1133 2005-11-16  Wim Taymans  <wim@fluendo.com>
1134
1135         * check/Makefile.am:
1136         Enable valgrind check that should work fine now.
1137
1138         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1139         * gst/gstqueue.c: (gst_queue_init):
1140         Fix memleaks in pad allocation.
1141
1142 2005-11-16  Andy Wingo  <wingo@pobox.com>
1143
1144         * gst/net/Makefile.am:
1145         * gst/net/gstnet.h: New part of core to hold network elements and
1146         objects. Put in core because it exposes API that applications want
1147         to use. The library is named libgstnet-tempname right now because
1148         of the existing libgstnet in gst-plugins-base. Solution is
1149         probably to rename the one in plugins-base; will file a bug for
1150         the freeze break.
1151
1152         * gst/net/gstnettimeprovider.c: 
1153         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1154         get_time call over the network.
1155
1156         * configure.ac: 
1157         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1158
1159         * check/Makefile.am:
1160         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1161         get additions shortly.
1162
1163 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1164
1165         * gst/gstpad.c: (gst_pad_new_from_static_template):
1166         * gst/gstpad.h:
1167           add gst_pad_new_from_static_template functions
1168         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1169         (gst_check_setup_sink_pad):
1170         * gst/elements/gsttee.c: (gst_tee_init):
1171           and use them
1172
1173 2005-11-16  Wim Taymans  <wim@fluendo.com>
1174
1175         * gst/gstpad.c: (gst_pad_pause_task):
1176         Removed warning, it's not really an error either.
1177
1178 2005-11-16  Wim Taymans  <wim@fluendo.com>
1179
1180         * gst/base/gstbasetransform.c:
1181         (gst_base_transform_prepare_output_buf),
1182         (gst_base_transform_event):
1183         Check if the caps are NULL, this can happen if the element
1184         is shutting down and the pad caps are set to NULL.
1185
1186 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1187
1188         * gst/elements/gsttee.c: (gst_tee_init):
1189           fix pad template leak in tee
1190
1191 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1192
1193         * gst/glib-compat.c: (g_value_dup_gst_object):
1194         * gst/glib-compat.h:
1195         * gst/gstpad.c: (gst_pad_set_property):
1196           use gst_object_ref when setting the pad template; this will
1197           trigger the pad template leaks on GLib 2.6 and the slaves
1198
1199 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1200
1201         * gst/glib-compat.c: (gst_flags_get_first_value):
1202         * gst/glib-compat.h:
1203         * gst/gstregistryxml.c:
1204           remove functions copied from GLib 2.6
1205
1206 2005-11-16  Michael Smith <msmith@fluendo.com>
1207
1208         * gst/Makefile.am:
1209           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1210           do, but only breaks with newer valgrind versions. We're not a
1211           valgrind tool, we have no link-time dependencies on libcoregrind.
1212
1213 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1214
1215         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1216           some debug changes
1217         * gst/gstmessage.h:
1218           typo fixes
1219
1220 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1221
1222         * gst/base/gstbasesrc.c: (gst_base_src_init):
1223         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1224         * gst/gstqueue.c: (gst_queue_init):
1225         * gst/gstregistryxml.c: (load_feature):
1226           Revert all these unrefs, they don't even pass make check !
1227
1228 2005-11-15  Johan Dahlin  <johan@gnome.org>
1229
1230         * gst/base/gstbasesrc.c: (gst_base_src_init):
1231         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1232         * gst/gstqueue.c: (gst_queue_init): 
1233         Free pad templates, fixes a couple of leaks.
1234
1235 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1236
1237         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1238
1239         * gst/gstpad.c: (gst_pad_get_property):
1240           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1241           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1242           (#321452)
1243
1244 2005-11-15  Wim Taymans  <wim@fluendo.com>
1245
1246         * gst/gstevent.c:
1247         Small doc update.
1248
1249 2005-11-15  Andy Wingo  <wingo@pobox.com>
1250
1251         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1252
1253         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1254         using GST_CLOCK_TIME_NONE to disable base time management.
1255         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1256         time if it was NONE before.
1257         (gst_pipeline_change_state): Only munge the base time if
1258         stream_time != GST_CLOCK_TIME_NONE.
1259
1260         * check/gst/gstpipeline.c (test_base_time): Punt around the
1261         problem of the probe not being called, because that's not the
1262         issue I'm looking at. Add a check that setting stream_time to NONE
1263         disables base time management.
1264         
1265 2005-11-15  Wim Taymans  <wim@fluendo.com>
1266
1267         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1268         segment_stop == -1 at startup.
1269
1270         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1271         (gst_base_transform_change_state):
1272         Init segment values at start.
1273
1274 2005-11-15  Wim Taymans  <wim@fluendo.com>
1275
1276         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1277         0 segment values are 0 in any format.
1278
1279         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1280         * gst/base/gstbasetransform.h:
1281         Parse newsegment correctly in basetransform
1282
1283         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1284         Sync to clock using updated segment values.
1285
1286 2005-11-15  Andy Wingo  <wingo@pobox.com>
1287
1288         * check/gst/gstpipeline.c (test_base_time): Add check that the
1289         base time and stream time are reset correctly.
1290
1291 2005-11-15  Wim Taymans  <wim@fluendo.com>
1292
1293         * docs/design/part-TODO.txt:
1294         Some more TODO items.
1295
1296 2005-11-15  Andy Wingo  <wingo@pobox.com>
1297
1298         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1299         error if the user selected "no clock" as the clocking method.
1300
1301         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1302         timestamps with live capture.
1303
1304         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1305         is 0 but we are a live source, timestamp the buffers using the
1306         element's clock.
1307
1308 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1309
1310         * docs/gst/gstreamer-sections.txt:
1311         * gst/gsterror.c:
1312         * gst/gstghostpad.c:
1313         * gst/gstobject.h:
1314         * gst/gstxml.c:
1315           more section docs
1316
1317 2005-11-14  Wim Taymans  <wim@fluendo.com>
1318
1319         * common/gst.supp:
1320           add suppressions from Wim's Debian machine
1321
1322 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1323
1324         * common/gst.supp:
1325           add suppressions from Andy's AMD64 Ubuntu machine
1326
1327 2005-11-14  Andy Wingo  <wingo@pobox.com>
1328
1329         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1330         STATE_LOCK not necessary. Fixes #311489.
1331
1332         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1333         #305291.
1334
1335         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1336         this function is not implemented.
1337
1338 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1339
1340         * gst/base/gstbasetransform.c:
1341         (gst_base_transform_prepare_output_buf):
1342         Ref the source pad caps while we need them.
1343         Fixes (#321386)
1344
1345 2005-11-11  Wim Taymans  <wim@fluendo.com>
1346
1347         * docs/gst/gstreamer-sections.txt:
1348         Added some docs for GstCollectData.
1349
1350         * gst/base/gstadapter.c:
1351         Some small code example fix.
1352
1353         * gst/base/gstcollectpads.c:
1354         * gst/base/gstcollectpads.h:
1355         Document some more.
1356
1357 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1358
1359         * configure.ac: back to HEAD
1360
1361 === release 0.9.5 ===
1362
1363 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1364
1365         * configure.ac:
1366           releasing 0.9.5, "Bike Lunch Day"
1367
1368 2005-11-11  Wim Taymans  <wim@fluendo.com>
1369
1370         * gst/gstbuffer.c: (_gst_buffer_copy):
1371         Copy more flags.
1372
1373         * gst/gstcaps.c: (gst_caps_is_equal):
1374         Fix some docs.
1375         Make _is_equal fast in the trivial cases.
1376
1377         * gst/gstminiobject.c:
1378         * gst/gstminiobject.h:
1379         More docs. Spifify .h file.
1380
1381         * gst/gstutils.c:
1382         Small doc update.
1383
1384 2005-11-11  Wim Taymans  <wim@fluendo.com>
1385
1386         * gst/base/gstbasetransform.c:
1387         (gst_base_transform_prepare_output_buf),
1388         (gst_base_transform_handle_buffer):
1389         Small cleanups.
1390         If we're processing a buffer and need to allocate an output
1391         buffer, we cannot accept a format change. If we did get a 
1392         format change, we have to alloc a buffer ourselves of the 
1393         right size.
1394
1395 2005-11-11  Wim Taymans  <wim@fluendo.com>
1396
1397         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1398         While checking the flag for reentrancy in the gstcaps function
1399         is nice to detect recursive invocations, it also makes it 
1400         impossible to call getcaps from multiple threads, which must be
1401         possible. So, checking for recursive calls has to go.
1402
1403 2005-11-11  Michael Smith <msmith@fluendo.com>
1404
1405         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1406           Don't sync on buffers that fall partially outside our current
1407           segment. Prevents an assertion failure/abort playing some files.
1408
1409 2005-11-10  Andy Wingo  <wingo@pobox.com>
1410
1411         * check/gst/gstbin.c (test_message_state_changed_children): Style
1412         fix..
1413
1414         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1415         gst_bus_poll with the signal watch. Ensures that poll and a signal
1416         watch see the same messages.
1417
1418         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1419         a poll and a watch at the same time get the same messages.
1420
1421 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1422
1423         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1424         * gst/gstcaps.c: (gst_caps_intersect):
1425           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1426           and it's not needed.
1427
1428 2005-11-10  Wim Taymans  <wim@fluendo.com>
1429
1430         * docs/design/part-TODO.txt:
1431         Updated todo.
1432
1433 2005-11-10  Wim Taymans  <wim@fluendo.com>
1434
1435         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1436         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1437         (gst_base_src_do_sync), (gst_base_src_get_range):
1438         Implement clock sync in base class.
1439
1440 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1441
1442         patch by: Tim-Philipp Müller <tim at centricular dot net>
1443
1444         * gst/gststructure.c: (gst_structure_parse_field),
1445         (gst_structure_from_string):
1446           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1447           so that gst_parse_launch() can deal with spaces in filtered link
1448           caps (fixes #164479)
1449         * check/gst/capslist.h:
1450         * check/gst/gststructure.c: (GST_START_TEST):
1451           add unit tests for this change
1452
1453 2005-11-10  Wim Taymans  <wim@fluendo.com>
1454
1455         * docs/gst/gstreamer-sections.txt:
1456         * gst/gstelement.c:
1457         * gst/gstelement.h:
1458         Fix docs, move some STATE macros to private.
1459
1460 2005-11-10  Wim Taymans  <wim@fluendo.com>
1461
1462         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1463         Added check for bug #317341
1464
1465         * gst/gstbuffer.c:
1466         * gst/gstbuffer.h:
1467         Some more spiffifying.
1468
1469         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1470         Call peer linkfunction if we are a source pad. Totally fixes
1471         #317341
1472
1473         * gst/gstpad.c:
1474         Update docs, source pads should call the peer linkfunction
1475         so they can atomically perform the pad link.
1476
1477 2005-11-09  Wim Taymans  <wim@fluendo.com>
1478
1479         * gst/gstbuffer.c:
1480         * gst/gstbuffer.h:
1481         Uber-spiffy-spiffify some more.
1482
1483 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1484
1485         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1486         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1487         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1488         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1489         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1490         * gst/gstpad.c: (gst_pad_init):
1491           Use GST_DEBUG_FUNCPTR() more extensively.
1492
1493 2005-11-09  Wim Taymans  <wim@fluendo.com>
1494
1495         * gst/gstobject.c: (gst_object_class_init):
1496         * gst/gstobject.h:
1497         Documentation fixes.
1498
1499 2005-11-09  Edward Hervey  <edward@fluendo.com>
1500
1501         * gst/gsttypefindfactory.c:
1502         Fix docs.
1503         
1504 2005-11-09  Edward Hervey  <edward@fluendo.com>
1505
1506         * gst/base/gsttypefindhelper.c:
1507         * gst/gsttypefind.c:
1508         * gst/gsttypefind.h:
1509         Fix docs.
1510
1511 2005-11-09  Wim Taymans  <wim@fluendo.com>
1512
1513         * gst/gstiterator.c:
1514         Fix revision data.
1515
1516         * gst/gsttask.c:
1517         * gst/gsttask.h:
1518         Fix docs.
1519
1520 2005-11-09  Wim Taymans  <wim@fluendo.com>
1521
1522         * gst/gstevent.h:
1523         * gst/gsturi.h:
1524         Fix docs.
1525
1526 2005-11-09  Wim Taymans  <wim@fluendo.com>
1527
1528         * docs/gst/gstreamer-sections.txt:
1529         Moved the message async delivery private lock and cond
1530         to the private section.
1531
1532         * gst/gstmessage.c:
1533         * gst/gstmessage.h:
1534         Fixed docs.
1535
1536 2005-11-09  Edward Hervey  <edward@fluendo.com>
1537
1538         * docs/gst/gstreamer-sections.txt:
1539         * gst/gsturi.c:
1540         * gst/gsturi.h:
1541         Document GstURIHandler
1542
1543 2005-11-09  Wim Taymans  <wim@fluendo.com>
1544
1545         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1546         (gst_iterator_find_custom):
1547         * gst/gstiterator.h:
1548         Fix iterator docs.
1549
1550 2005-11-09  Wim Taymans  <wim@fluendo.com>
1551
1552         * gst/gstbin.h:
1553         Document another field.
1554
1555         * gst/gststructure.c:
1556         * gst/gststructure.h:
1557         Document.
1558
1559 2005-11-09  Wim Taymans  <wim@fluendo.com>
1560
1561         * gst/gstbin.h:
1562         Documented structs.
1563
1564 2005-11-09  Wim Taymans  <wim@fluendo.com>
1565
1566         * docs/gst/gstreamer-sections.txt:
1567         Added some new macros.
1568
1569         * gst/gstclock.c:
1570         * gst/gstclock.h:
1571         * gst/gstobject.h:
1572         Docs updates.
1573
1574 2005-11-09  Wim Taymans  <wim@fluendo.com>
1575
1576         * docs/design/part-TODO.txt:
1577         Some more items for the TODO
1578
1579         * gst/gstcaps.c:
1580         * gst/gstcaps.h:
1581         Document GstCaps.
1582
1583 2005-11-09  Andy Wingo  <wingo@pobox.com>
1584
1585         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1586         to work on something else now tho...
1587
1588         * gst/base/gstadapter.c: More adapter docs.
1589
1590         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1591         (gst_file_sink_stop): New functions, replace the state change
1592         handler.
1593         (gst_file_sink_class_init): Hook up the start and stop functions.
1594         (gst_file_sink_base_init): Don't set the state change handler any
1595         more. It was a bit ugly too, being set from here...
1596         (gst_file_sink_get_property, gst_file_sink_set_property):
1597         Cleanups...
1598         (gst_file_sink_set_location): More robust check that doesn't call
1599         GST_STATE. Ugggggg.
1600
1601 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1602
1603         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1604           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1605
1606 2005-11-08  Wim Taymans  <wim@fluendo.com>
1607
1608         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1609         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1610         (gst_base_sink_chain), (gst_base_sink_change_state):
1611         * gst/base/gstbasesink.h:
1612         * gst/base/gstbasesrc.h:
1613         * gst/gstelement.h:
1614         * gst/gstevent.h:
1615         Avoid excessive typechecking in macros.
1616
1617         * gst/gstminiobject.c: (gst_mini_object_get_type),
1618         (gst_mini_object_init), (gst_mini_object_new),
1619         (gst_mini_object_free):
1620         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1621         (gst_object_finalize):
1622         Remove cruft code, optimize alloc_trace.
1623
1624 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1625
1626         * docs/faq/gst-uninstalled:
1627           fix up PS1 for systems that try to reset it
1628
1629 2005-11-07  Wim Taymans  <wim@fluendo.com>
1630
1631         * gst/base/gstbasesrc.c: (gst_base_src_init),
1632         (gst_base_src_get_range):
1633         Set the segment_end to -1 initially. Fixed typefind.
1634
1635 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1636
1637         * gst/base/gstadapter.c:
1638           Debug category should be 'adapter', not 'GstAdapter'.
1639           
1640         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1641         (gst_collectpads_class_init), (gst_collectpads_init),
1642         (gst_collectpads_peek), (gst_collectpads_pop),
1643         (gst_collectpads_event), (gst_collectpads_chain):
1644           Add debug category and some debugging output. Use boilerplate
1645           macros. Remove some extraneous words from docs.
1646
1647 2005-11-05  Andy Wingo  <wingo@pobox.com>
1648
1649         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1650         macro.
1651
1652 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1653
1654         * docs/gst/gstreamer-sections.txt:
1655         * gst/gstcaps.h:
1656         * gst/gstinfo.c:
1657         * gst/gstminiobject.h:
1658         * gst/gstobject.h:
1659         * gst/gstutils.h:
1660           more docs added
1661
1662 2005-11-04  Wim Taymans  <wim@fluendo.com>
1663
1664         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1665         Small update to stop at the configured segment_end
1666         position.
1667
1668 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1669
1670         * gst/gstregistry.c:
1671         * gst/gstregistry.h:
1672           added missing docs
1673
1674 2005-11-04  Edward Hervey  <edward@fluendo.com>
1675
1676         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1677         Check if we are doing a segment seek and have arrived at the
1678         end of that segment.
1679
1680 2005-11-04  Wim Taymans  <wim@fluendo.com>
1681
1682         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1683         Don't leak a mutex unlock in case of an error.
1684
1685         * gst/gstbus.h:
1686         Doc fixes.
1687
1688 2005-11-04  Wim Taymans  <wim@fluendo.com>
1689
1690         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1691         (gst_bus_post):
1692         Get the context to wake up only once.
1693
1694 2005-11-03  Wim Taymans  <wim@fluendo.com>
1695
1696         * check/states/sinks.c: (GST_START_TEST):
1697         Uncomment fixed check.
1698
1699         * docs/design/part-TODO.txt:
1700         Updated TODO.
1701
1702         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1703         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1704         (gst_base_sink_get_position):
1705         If we are going to PLAYING, post the right pending state
1706         when we post the intermediate paused message.
1707
1708         * gst/gstelement.c: (gst_element_continue_state),
1709         (gst_element_set_state_func), (gst_element_change_state):
1710         Don't post state changes that were between the same state
1711         and were not ASYNC.
1712
1713 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1714
1715         * docs/gst/gstreamer-sections.txt:
1716         * gst/gstcaps.h:
1717         * gst/gstinfo.c:
1718         * gst/gstminiobject.h:
1719         * gst/gstobject.h:
1720         * gst/gstutils.h:
1721           more docs and doc style fixes
1722
1723 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1724
1725         * docs/gst/gstreamer-sections.txt:
1726         * gst/gstelement.c:
1727         * gst/gstminiobject.c:
1728         doc fixes
1729
1730 2005-11-03  Andy Wingo  <wingo@pobox.com>
1731
1732         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1733         state-changed messages actually have the right order and the right
1734         values.
1735
1736 2005-11-03  Wim Taymans  <wim@fluendo.com>
1737
1738         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1739         Added some more checks. Specifically the case where NO_PREROLL
1740         elements are in the pipeline.
1741
1742         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1743         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1744         (gst_base_sink_get_position):
1745         Post READY->PAUSED state change messages too.
1746         Fix bug where VOID was posted as pending state...
1747
1748         * gst/gstbin.c: (gst_bin_recalc_state):
1749         use _element_continue_state() to continue the state change.
1750
1751         * gst/gstelement.c: (gst_element_continue_state),
1752         (gst_element_commit_state), (gst_element_set_state_func),
1753         (gst_element_change_state), (gst_element_change_state_func):
1754         Lots of state change cleanups, assign the STATE_RETURN in
1755         a new continue_state() function that also propagates the
1756         last return value from a state change to the app.
1757         Update some debug statements with proper category.
1758
1759 2005-11-03  Wim Taymans  <wim@fluendo.com>
1760
1761         * docs/design/part-events.txt:
1762         * docs/design/part-gstpipeline.txt:
1763         * docs/design/part-messages.txt:
1764         * docs/design/part-overview.txt:
1765         * docs/design/part-seeking.txt:
1766         * docs/design/part-states.txt:
1767         * docs/design/part-trickmodes.txt:
1768         * docs/manual/advanced-position.xml:
1769         Small docs updates.
1770
1771         * gst/gstobject.h:
1772         People think !! is ugly, this looks better.
1773
1774         * gst/gstpad.c: (gst_pad_set_blocked_async):
1775         Remove !! since it's fixed elsewhere now.
1776
1777 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1778
1779         * gst/gstminiobject.h:
1780         * gst/gstobject.h:
1781           Add !! to _FLAG_IS_SET macros to make the result boolean.
1782
1783 2005-11-03  Edward Hervey  <edward@fluendo.com>
1784
1785         * gst/gstpad.c: (gst_pad_set_blocked_async):
1786         comparing a flag and a gboolean rarely returns coherent results...
1787         Added two characters (!!) to make that work correctly.
1788         
1789 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1790
1791         * gst/gstbus.c: (gst_bus_class_init):
1792           Fix some typos.
1793           
1794         * gst/gstqueue.c: (gst_queue_loop):
1795           Don't assume a miniobject that isn't a buffer is an
1796           event (it could be that there is a refcounting
1797           problem somewhere and the pointer is stale and
1798           refers to an already destroyed miniobject).
1799
1800 2005-11-03  Julien MOUTTE  <julien@moutte.net>
1801
1802         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1803
1804 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1805
1806         * docs/manual/advanced-position.xml:
1807           Update seek example and explanations to current 0.9 API.
1808
1809         * gst/elements/gsttypefindelement.c:
1810         (gst_type_find_element_activate):
1811           Remove FIXME comment now that the found caps
1812           are unreffed.
1813
1814 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1815
1816         * gst/gstregistryxml.c: (load_feature):
1817           Add another GST_STR_NULL instance
1818
1819 2005-11-02  Edward Hervey  <edward@fluendo.com>
1820
1821         * gst/gstpad.c: (handle_pad_block):
1822         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
1823         
1824 2005-11-02  Wim Taymans  <wim@fluendo.com>
1825
1826         * gst/gstbin.c:
1827         Fix typo in docs.
1828
1829         * gst/gstelement.c: (gst_element_commit_state):
1830         Remove unused value.
1831
1832         * gst/gstiterator.c:
1833         Mention that the returned element is reffed in the docs.
1834
1835 2005-11-02  Wim Taymans  <wim@fluendo.com>
1836
1837         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
1838         (gst_pad_push), (gst_pad_push_event):
1839         Unlock blocked pads when they are flushed.
1840
1841 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1842
1843         * docs/README:
1844         * docs/gst/gstreamer-sections.txt:
1845         * gst/gstbin.c:
1846           doc updates
1847         * gst/gstregistry.c: (gst_registry_scan_path_level):
1848           fix for a nasty little missed situation where an installed plug-in
1849           which was in the cache did not get overridden by an uninstalled one
1850           which was earlier in the plugin path because the newly created plugin
1851           for the uninstalled one (not in the registry) didn't get its
1852           ->registered set to TRUE
1853
1854 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1855
1856         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
1857         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
1858         (gst_collectpads_is_active), (gst_collectpads_collect),
1859         (gst_collectpads_collect_range), (gst_collectpads_start),
1860         (gst_collectpads_stop), (gst_collectpads_peek),
1861         (gst_collectpads_pop), (gst_collectpads_available),
1862         (gst_collectpads_read), (gst_collectpads_flush):
1863           Guard public API with assertions.
1864         
1865         * gst/gstpad.c:
1866           Fix docs for gst_pad_set_link_function().
1867
1868 2005-11-02  Johan Dahlin  <johan@gnome.org>
1869
1870         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
1871         Unref found_caps after we used it.
1872
1873 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1874
1875         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
1876           Don't try to ref NULL.
1877
1878 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1879
1880         * win32/common/config.h.in:
1881           provide a GST_FUNCTION that just gives a string for now
1882
1883 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1884
1885         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1886         (gst_object_flags_get_type), (register_gst_bin_flags),
1887         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1888         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1889         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1890         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
1891         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1892         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1893         (gst_clock_flags_get_type), (register_gst_state),
1894         (gst_state_get_type), (register_gst_state_change_return),
1895         (gst_state_change_return_get_type), (register_gst_state_change),
1896         (gst_state_change_get_type), (register_gst_element_flags),
1897         (gst_element_flags_get_type), (register_gst_core_error),
1898         (gst_core_error_get_type), (register_gst_library_error),
1899         (gst_library_error_get_type), (register_gst_resource_error),
1900         (gst_resource_error_get_type), (register_gst_stream_error),
1901         (gst_stream_error_get_type), (register_gst_event_type),
1902         (gst_event_type_get_type), (register_gst_seek_type),
1903         (gst_seek_type_get_type), (register_gst_seek_flags),
1904         (gst_seek_flags_get_type), (register_gst_format),
1905         (gst_format_get_type), (register_gst_index_certainty),
1906         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1907         (gst_index_entry_type_get_type),
1908         (register_gst_index_lookup_method),
1909         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1910         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1911         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1912         (gst_index_flags_get_type), (register_gst_debug_level),
1913         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1914         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1915         (gst_iterator_result_get_type), (register_gst_iterator_item),
1916         (gst_iterator_item_get_type), (register_gst_message_type),
1917         (gst_message_type_get_type), (register_gst_mini_object_flags),
1918         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1919         (gst_pad_link_return_get_type), (register_gst_flow_return),
1920         (gst_flow_return_get_type), (register_gst_activate_mode),
1921         (gst_activate_mode_get_type), (register_gst_pad_direction),
1922         (gst_pad_direction_get_type), (register_gst_pad_flags),
1923         (gst_pad_flags_get_type), (register_gst_pad_presence),
1924         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1925         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1926         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1927         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1928         (gst_plugin_flags_get_type), (register_gst_rank),
1929         (gst_rank_get_type), (register_gst_query_type),
1930         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1931         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1932         (gst_tag_flag_get_type), (register_gst_task_state),
1933         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1934         (gst_alloc_trace_flags_get_type),
1935         (register_gst_type_find_probability),
1936         (gst_type_find_probability_get_type), (register_gst_uri_type),
1937         (gst_uri_type_get_type), (register_gst_parse_error),
1938         (gst_parse_error_get_type):
1939         * win32/common/gstversion.h:
1940           update win32 copies
1941
1942 2005-11-01  Luca Ognibene  <luogni@tin.it>
1943
1944         * gst/gst.c:
1945           fix docs. popt is dead, long live GOption.
1946
1947 2005-10-31  Wim Taymans  <wim@fluendo.com>
1948
1949         * gst/gstbuffer.h:
1950         Small doc fix.
1951
1952 2005-10-31  Andy Wingo  <wingo@pobox.com>
1953
1954         * Boo!
1955
1956         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
1957
1958         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
1959         need to serialize property notifications on GLib 2.8. GLib 2.6 has
1960         the possibility of deadlocks here if code calling notify() or
1961         set() has a lock that can be taken in another notify handler (ABBA
1962         with class lock and e.g. python GIL state lock).
1963
1964 2005-10-28  Julien MOUTTE  <julien@moutte.net>
1965
1966         * gst/gstbus.c: Doc updates.
1967
1968 2005-10-28  Wim Taymans  <wim@fluendo.com>
1969
1970         * docs/design/part-TODO.txt:
1971         * gst/gstiterator.c:
1972         * gst/gstsystemclock.c:
1973         * gst/gstsystemclock.h:
1974         Doc updates.
1975
1976 2005-10-28  Edward Hervey  <edward@fluendo.com>
1977
1978         * docs/gst/gstreamer-docs.sgml:
1979         * docs/gst/gstreamer-sections.txt:
1980         the GstURIType documentation page is private, it only defines GstURIType
1981         which should be defined in the GstURIHandler page
1982         
1983 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1984
1985         * gst/gstbin.c: (gst_bin_class_init):
1986         * gst/gstbin.h:
1987         * gst/gstutils.c:
1988         Documentation updates.
1989
1990 2005-10-28  Wim Taymans  <wim@fluendo.com>
1991
1992         * docs/gst/gstreamer-sections.txt:
1993         * gst/gstclock.c:
1994         * gst/gstclock.h:
1995         Documented the clocks.
1996
1997 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
1998
1999         * docs/gst/gstreamer-sections.txt:
2000           move some macros to private sections
2001         * gst/gstminiobject.c:
2002         * gst/gstminiobject.h:
2003           add descriptions provided by ds and some more
2004         * gst/gstpad.h:
2005           mark macro as to be removed
2006
2007 2005-10-28  Wim Taymans  <wim@fluendo.com>
2008
2009         * docs/design/part-TODO.txt:
2010         Add an item to TODO.
2011
2012         * gst/gstiterator.c: (gst_iterator_fold),
2013         (gst_iterator_find_custom):
2014         * gst/gstiterator.h:
2015         Add iterator docs.
2016
2017 2005-10-28  Wim Taymans  <wim@fluendo.com>
2018
2019         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2020         (gst_base_transform_init):
2021         Don't leak class.
2022
2023         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2024         An EOS event marks the queue as completely filled.
2025
2026 2005-10-27  Wim Taymans  <wim@fluendo.com>
2027
2028         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2029         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2030         Some more debugging.
2031
2032         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2033         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2034         (gst_base_transform_event), (gst_base_transform_getrange),
2035         (gst_base_transform_chain):
2036         * gst/base/gstbasetransform.h:
2037         Fix debugging,
2038         Protect transform and concurrent buffer alloc with a new lock.
2039         Try not to break ABI/API.
2040
2041 2005-10-27  Wim Taymans  <wim@fluendo.com>
2042
2043         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2044         (gst_base_src_init), (gst_base_src_query),
2045         (gst_base_src_default_newsegment),
2046         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2047         (gst_base_src_send_event), (gst_base_src_event_handler),
2048         (gst_base_src_pad_get_range), (gst_base_src_loop),
2049         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2050         (gst_base_src_start), (gst_base_src_deactivate),
2051         (gst_base_src_activate_push), (gst_base_src_change_state):
2052         Move some stuff around and cleanup things.
2053
2054 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2055
2056         * gst/base/gstbasesrc.c: (gst_base_src_query):
2057           Add missing break statements.
2058
2059 2005-10-27  Wim Taymans  <wim@fluendo.com>
2060
2061         * check/gst/gstbin.c: (GST_START_TEST):
2062         An extra refcount is taken in basesrc.
2063
2064         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2065         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2066         (gst_base_src_loop):
2067         Small cleanups, check for flushing after being unlocked from the 
2068         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2069         Don't send out EOS when going to READY.
2070
2071 2005-10-27  Wim Taymans  <wim@fluendo.com>
2072
2073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2074         (gst_base_sink_get_position):
2075         Some more debug.
2076
2077         * gst/gstbin.c: (message_check), (bin_replace_message),
2078         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2079         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2080         (bin_query_duration_init), (bin_query_duration_fold),
2081         (bin_query_duration_done), (bin_query_generic_fold),
2082         (gst_bin_query):
2083         * tools/gst-launch.c: (main):
2084         Remove old option.
2085
2086 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2087
2088         * examples/controller/audio-example.c: (main):
2089         * examples/queue/queue.c: (event_loop):
2090         * gst/base/gstbasetransform.h:
2091         * gst/gstelement.c: (gst_element_send_event):
2092         * gst/gstevent.h:
2093         * gst/gstpad.c: (gst_pad_send_event):
2094           fixing examples
2095           fixing docs typos
2096           changing log priority in error situations
2097
2098 2005-10-25  Wim Taymans  <wim@fluendo.com>
2099
2100         * gst/gstbin.c: (message_check), (bin_replace_message),
2101         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2102         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2103         (bin_query_duration_init), (bin_query_duration_fold),
2104         (bin_query_duration_done), (bin_query_generic_fold),
2105         (gst_bin_query):
2106         Some doc and debug updates.
2107         Cache previously requested query DURATION for speed. invalidate
2108         cached duration if element posts a DURATION message.
2109
2110 2005-10-25  Wim Taymans  <wim@fluendo.com>
2111
2112         * docs/design/part-TODO.txt:
2113         Update TODO.
2114
2115         * gst/gstbin.c: (message_check), (bin_replace_message),
2116         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2117         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2118         (bin_query_duration_init), (bin_query_duration_fold),
2119         (bin_query_duration_done), (bin_query_generic_fold),
2120         (gst_bin_query):
2121         Handle SEGMENT_START/DONE messages correctly.
2122         More evolved query algorithm that handles duration queries
2123         correctly.
2124
2125         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2126         (gst_element_get_state_func), (gst_element_abort_state),
2127         (gst_element_commit_state), (gst_element_lost_state):
2128         Some more debugging.
2129
2130         * gst/gstmessage.h:
2131         Added doc.
2132
2133 2005-10-25  Wim Taymans  <wim@fluendo.com>
2134
2135         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2136         Don't use invalid stream_time.
2137
2138         * gst/gstevent.c: (gst_event_new_newsegment):
2139         stream_time in newsegment cannot be undefined.
2140
2141 2005-10-24  Wim Taymans  <wim@fluendo.com>
2142
2143         * gst/gstbus.c:
2144         Doc fix.
2145
2146         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2147         (gst_queue_loop):
2148         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2149
2150 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2151
2152         * docs/libs/tmpl/gstdparam.sgml:
2153         * docs/libs/tmpl/gstdplinint.sgml:
2154         * docs/libs/tmpl/gstdpman.sgml:
2155         * docs/libs/tmpl/gstdpsmooth.sgml:
2156         * docs/libs/tmpl/gstunitconvert.sgml:
2157           these are obsolete
2158
2159 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2160
2161         * configure.ac:
2162           back to HEAD
2163
2164 === release 0.9.4 ===
2165
2166 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2167
2168         * configure.ac:
2169           releasing 0.9.4, "Tyrannosaurus Rex"
2170
2171 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2172
2173         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2174         (gst_file_sink_get_current_offset):
2175           Use fseeko() and ftello() if available. When falling back on
2176           lseek() to get the current offset, fflush() first to make sure
2177           everything is up-to-date and we get the right offset.
2178
2179 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2180
2181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2182         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2183         * gst/gsterror.c: (_gst_stream_errors_init):
2184         * gst/gsterror.h:
2185         * gst/gstqueue.c: (gst_queue_loop):
2186         * po/POTFILES.in:
2187           remove prematurely added error category and clean up the instances
2188
2189 2005-10-21  Wim Taymans  <wim@fluendo.com>
2190
2191         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2192         (gst_base_sink_get_position), (gst_base_sink_query),
2193         (gst_base_sink_change_state):
2194         Simply set the right flag when going to playing, that's all
2195         we need to do instead of calling a function inside the object
2196         lock (that could take the lock as well and deadlock)
2197
2198 2005-10-21  Wim Taymans  <wim@fluendo.com>
2199
2200         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2201         (gst_base_src_loop):
2202         Don't warn, the peer element knows what to do best when
2203         the seek failed, it might try something else.
2204
2205 2005-10-21  Wim Taymans  <wim@fluendo.com>
2206
2207         * gst/base/gstbasesrc.c: (gst_base_src_init),
2208         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2209         Fix seeking.
2210
2211 2005-10-21  Wim Taymans  <wim@fluendo.com>
2212
2213         * docs/design/part-segments.txt:
2214         More docs.
2215
2216         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2217         Correctly set caps, even on the subbufer.
2218
2219 2005-10-21  Wim Taymans  <wim@fluendo.com>
2220
2221         * docs/gst/gstreamer-docs.sgml:
2222         * docs/gst/gstreamer-sections.txt:
2223         * gst/gstelement.h:
2224         * gst/gstevent.c:
2225         * gst/gstevent.h:
2226         * gst/gstmessage.h:
2227         * gst/gstpad.h:
2228         * gst/gstparse.h:
2229         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2230         * gst/gsttask.h:
2231         * gst/gstutils.c:
2232         * gst/gstutils.h:
2233         And 2% more doc coverage.
2234
2235 2005-10-21  Andy Wingo  <wingo@pobox.com>
2236
2237         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2238         position reporting.
2239
2240 2005-10-20  Wim Taymans  <wim@fluendo.com>
2241
2242         * gst/gsterror.c: (gst_error_get_message):
2243         * gst/gstparse.h:
2244         * gst/gstquery.h:
2245         * gst/gststructure.c:
2246         * gst/gsttrace.c:
2247         * gst/gstutils.c:
2248         More docs.
2249
2250 2005-10-20  Wim Taymans  <wim@fluendo.com>
2251
2252         * gst/gstbuffer.h:
2253         * gst/gstpad.c:
2254         * gst/gstparse.c:
2255         Another 1% more coverage.
2256
2257 2005-10-20  Wim Taymans  <wim@fluendo.com>
2258
2259         * docs/gst/gstreamer-sections.txt:
2260         * gst/gstelement.c: (gst_element_get_state_func),
2261         (gst_element_abort_state), (gst_element_commit_state),
2262         (gst_element_lost_state):
2263         * gst/gstevent.h:
2264         * gst/gstquery.c: (gst_query_set_position),
2265         (gst_query_parse_position), (gst_query_set_duration),
2266         (gst_query_parse_duration), (gst_query_new_convert):
2267         * gst/gstutils.c:
2268         Yay! 1% more docs coverage.
2269
2270 2005-10-20  Wim Taymans  <wim@fluendo.com>
2271
2272         * gst/gstpad.h:
2273         * gst/gstquery.c: (gst_query_set_position),
2274         (gst_query_parse_position), (gst_query_set_duration),
2275         (gst_query_parse_duration), (gst_query_new_convert):
2276         * gst/gstquery.h:
2277         * gst/gstutils.c: (gst_element_query_convert):
2278         * gst/gstutils.h:
2279         Docs and consistency fixes.
2280
2281 2005-10-20  Wim Taymans  <wim@fluendo.com>
2282
2283         * gst/gsttask.c:
2284         * gst/gsttask.h:
2285         More docs.
2286
2287 2005-10-20  Wim Taymans  <wim@fluendo.com>
2288
2289         * gst/gstbin.c: (message_check), (bin_replace_message),
2290         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2291         (update_degree), (gst_bin_sort_iterator_next),
2292         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2293         Reworked the message handling a bit, cache the messages instead of
2294         only the senders. alows us to do more in the future.
2295
2296 2005-10-20  Wim Taymans  <wim@fluendo.com>
2297
2298         * docs/design/part-TODO.txt:
2299         Update TODO
2300
2301         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2302         (gst_base_sink_query):
2303         Don't use clock time to report position when in EOS.
2304
2305 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2306
2307         * tools/gst-inspect.c: (print_interfaces),
2308         (print_element_properties_info), (print_element_info):
2309           Fix interface output with gst-inspect -a; don't print
2310           newlines after double/float properties.
2311
2312 2005-10-20  Wim Taymans  <wim@fluendo.com>
2313
2314         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2315         (gst_base_sink_query):
2316         Speed up current position calculation.
2317
2318         * gst/base/gstbasesrc.c: (gst_base_src_query),
2319         (gst_base_src_default_newsegment):
2320         Correctly set stream position in newsegment.
2321
2322         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2323         (update_degree), (gst_bin_sort_iterator_next),
2324         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2325         * gst/gstmessage.c: (gst_message_new_custom):
2326         Clean up debugging info
2327
2328         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2329         (gst_queue_loop), (gst_queue_handle_src_query):
2330         Pause task faster.
2331
2332 2005-10-19  Wim Taymans  <wim@fluendo.com>
2333
2334         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2335         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2336         Fix query handling again.
2337
2338 2005-10-19  Wim Taymans  <wim@fluendo.com>
2339
2340         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2341         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2342         * gst/base/gstbasesrc.c: (gst_base_src_query):
2343         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2344         * gst/elements/gsttypefindelement.c:
2345         (gst_type_find_handle_src_query), (find_element_get_length),
2346         (gst_type_find_element_activate):
2347         API change fix.
2348
2349         * gst/gstquery.c: (gst_query_new_position),
2350         (gst_query_set_position), (gst_query_parse_position),
2351         (gst_query_new_duration), (gst_query_set_duration),
2352         (gst_query_parse_duration), (gst_query_set_segment),
2353         (gst_query_parse_segment):
2354         * gst/gstquery.h:
2355         Bundling query position/duration is not a good idea since duration
2356         does not change much and we don't want to recalculate it for every
2357         position query, so they are separated again..
2358         Base value in segment query is not needed.
2359
2360         * gst/gstqueue.c: (gst_queue_handle_src_query):
2361         * gst/gstutils.c: (gst_element_query_position),
2362         (gst_element_query_duration), (gst_pad_query_position),
2363         (gst_pad_query_duration):
2364         * gst/gstutils.h:
2365         Updates for query API change.
2366         Added some docs here and there.
2367
2368 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2369
2370         * check/gst/gstbin.c: (GST_START_TEST):
2371         * check/gst/gstghostpad.c: (GST_START_TEST):
2372         * check/pipelines/cleanup.c: (GST_START_TEST):
2373           wait on thread to die so we can check refcount correctly
2374
2375 2005-10-18  Wim Taymans  <wim@fluendo.com>
2376
2377         * check/pipelines/stress.c: (GST_START_TEST):
2378         Make check a little more time consuming.
2379
2380 2005-10-18  Wim Taymans  <wim@fluendo.com>
2381
2382         * check/Makefile.am:
2383         * check/pipelines/stress.c: (GST_START_TEST),
2384         (simple_launch_lines_suite), (main):
2385         Small state change torture test.
2386
2387         * docs/design/part-states.txt:
2388         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2389         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2390         (gst_base_sink_change_state):
2391         Never take state lock from streaming thread, clean up ugly
2392         hacks. Unfortunatly core does not yet support nice ways to
2393         async commit state.
2394         
2395         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2396         (bin_bus_handler):
2397         Start state recalc if a STATE_DIRTY message is posted, but only
2398         on the toplevel bin.
2399
2400         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2401         (gst_element_get_state_func), (gst_element_abort_state),
2402         (gst_element_commit_state), (gst_element_lost_state),
2403         (gst_element_set_state_func), (gst_element_change_state):
2404         * gst/gstelement.h:
2405         State variables are now protected with the LOCK, the state
2406         lock is only used to serialize _set_state().
2407
2408 2005-10-18  Wim Taymans  <wim@fluendo.com>
2409
2410         * check/gst/gstbin.c: (GST_START_TEST):
2411         * check/gst/gstmessage.c: (GST_START_TEST):
2412         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2413         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2414         (bin_bus_handler):
2415         * gst/gstelement.c: (gst_element_abort_state),
2416         (gst_element_commit_state), (gst_element_lost_state):
2417         * gst/gstmessage.c: (gst_message_new_state_changed),
2418         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2419         (gst_message_new_segment_done), (gst_message_new_duration),
2420         (gst_message_parse_state_changed),
2421         (gst_message_parse_segment_start),
2422         (gst_message_parse_segment_done), (gst_message_parse_duration):
2423         * gst/gstmessage.h:
2424         * tools/gst-launch.c: (event_loop):
2425         Seriously, this is better than a previous commit as we only need
2426         to notify the fact that an element changed state in a streaming
2427         thread, marking the state of the parents dirty, hence the 
2428         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2429         message.
2430
2431 2005-10-18  Wim Taymans  <wim@fluendo.com>
2432
2433         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2434         (gst_bin_recalc_func):
2435         * gst/gstelement.c: (gst_element_set_clock),
2436         (gst_element_abort_state), (gst_element_lost_state):
2437         Cleanups, prepare for state change fixes.
2438
2439 2005-10-18  Wim Taymans  <wim@fluendo.com>
2440
2441         * gst/gstbin.h:
2442         * gst/gstelement.c: (gst_element_class_init),
2443         (gst_element_set_state), (gst_element_set_state_func):
2444         * gst/gstelement.h:
2445         Pending ABI changes.
2446         GThreadPool in GstBinClass to monitor async state changes.
2447         state_cookie in GstElement to detect concurrent gst/set state.
2448         set_state is now virtual too in case a very complicated element
2449         has to be constructed.
2450
2451 2005-10-18  Wim Taymans  <wim@fluendo.com>
2452
2453         * check/gst/gstbin.c: (GST_START_TEST):
2454         * check/gst/gstmessage.c: (GST_START_TEST):
2455         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2456         * gst/gstbin.c: (bin_bus_handler):
2457         * gst/gstelement.c: (gst_element_commit_state),
2458         (gst_element_lost_state):
2459         * gst/gstmessage.c: (gst_message_new_state_changed),
2460         (gst_message_new_segment_start), (gst_message_new_segment_done),
2461         (gst_message_new_duration), (gst_message_parse_state_changed),
2462         (gst_message_parse_segment_start),
2463         (gst_message_parse_segment_done), (gst_message_parse_duration):
2464         * gst/gstmessage.h:
2465         * tools/gst-launch.c: (event_loop):
2466         Make messages future proof.
2467         state-change gets a flag if it was a message comming from the
2468         streaming thread.
2469         segment-start/stop can also be specified in other formats.
2470         A message to notify an app that a pipeline changed playback 
2471         duration.
2472         Also fix a GstMessage leak in -launch
2473
2474 2005-10-18  Andy Wingo  <wingo@pobox.com>
2475
2476         * gst/gstelement.c (gst_element_dispose): More helpful message.
2477
2478 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2479
2480         reviewed by: <delete if not using a buddy>
2481
2482         * common/gtk-doc.mak:
2483
2484 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2485
2486         * gst/gstregistry.c: (gst_registry_scan_path_level):
2487           unref a plug-in we get that was already initialized
2488
2489 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2490
2491         * docs/gst/gstreamer-sections.txt:
2492         * docs/libs/gstreamer-libs-sections.txt:
2493         * gst/gstelement.h:
2494           add new api entries
2495           hide internal macro
2496
2497 2005-10-17  Andy Wingo  <wingo@pobox.com>
2498
2499         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2500         cleanup.
2501
2502         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2503
2504         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2505
2506         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2507         (gst_element_get_state_func): Better debug message.
2508         (gst_element_commit_state): s/INFO/DEBUG/.
2509         (gst_element_lost_state, gst_element_change_state): 
2510
2511         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2512         (gst_message_new_custom): s/INFO/LOG/.
2513
2514 2005-10-17  Michael Smith <msmith@fluendo.com>
2515
2516         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2517           Check if end time is valid using end time, not start time.
2518
2519 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2520
2521         * check/gst-libs/controller.c: (GST_START_TEST),
2522         (gst_controller_suite):
2523         * libs/gst/controller/gstcontroller.c:
2524         (gst_controlled_property_set_interpolation_mode):
2525         * libs/gst/controller/gstcontroller.h:
2526         * libs/gst/controller/gstinterpolation.c:
2527         * testsuite/controller/.cvsignore:
2528         * testsuite/controller/Makefile.am:
2529         * testsuite/controller/interpolator.c:
2530           merge controller testsuites
2531           fix broken tests
2532           remove mem-chunk from docs
2533
2534 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2535
2536         * gst/gstmemchunk.c:
2537         * gst/gstmemchunk.h:
2538         * gst/gsttrashstack.c:
2539         * gst/gsttrashstack.h:
2540           out.  get out.  you're fired.  to the Attic !
2541
2542 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2543
2544         * gst/gstcaps.c: (gst_caps_intersect):
2545           fix signedness issues in a (hopefully) correct way
2546         * gst/gstelement.c: (gst_element_pads_activate):
2547           some debugging
2548         * gst/gstobject.c: (gst_object_set_parent):
2549           some debugging
2550
2551 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2552
2553         * gst/gstvalue.h: Fix prototypes.
2554
2555 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2556
2557         * docs/gst/gstreamer-sections.txt:
2558         * gst/gst.c: (gst_version_string):
2559         * gst/gst.h:
2560         * gst/gstversion.h.in:
2561         * win32/common/libgstreamer.def:
2562           add gst_version_string ()
2563
2564 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2565
2566         * configure.ac:
2567           clean up further
2568         * gst/gst.c: (init_post):
2569         * win32/common/config.h.in:
2570           it's PLUGINDIR now
2571         * gst/gstcaps.c: (gst_caps_intersect):
2572           use gint64, the range could be bigger than a guint
2573
2574 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2575
2576         * gst/gstclock.h:
2577           document potential problem in 2038
2578
2579 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2580
2581         * gst/gstcaps.c: (gst_caps_intersect):
2582           Fix guint j diving under 0
2583
2584 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2585
2586         * configure.ac:
2587         * win32/common/config.h:
2588         * win32/common/config.h.in:
2589           check for process.h, declares getpid() on Windows
2590         * gst/gstinfo.c:
2591           include process.h if we have it
2592         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2593         * gst/gstmemchunk.h:
2594           fix signedness issues
2595         * win32/common/libgstreamer.def:
2596           fix get_type's
2597
2598 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2599
2600         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2601         fix. Because of unsigned ints, caps intersection was going nuts and
2602         trying to access structures with G_MAXUINT index. That fixes
2603         videotestsrc ! ffmpegcolorspace ! fakesink
2604         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2605         consistency.
2606
2607 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2608
2609         * configure.ac:
2610           use the gettext macro
2611         * gst/elements/gstelements.c:
2612         * gst/gst.c:
2613         * gst/indexers/gstindexers.c:
2614           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2615         * win32/common/config.h:
2616           updated config.h
2617         * win32/common/config.h.in:
2618           add the template to generate config.h
2619         * win32/common/gstenumtypes.c:
2620         * win32/common/gstversion.h:
2621           updated copies
2622
2623 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2624
2625         * gst/gst.c: (gst_version):
2626         * gst/gstversion.h.in:
2627           add the nano
2628
2629 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2630
2631         * gst/gstevent.h:
2632           Oops, add missing closing bracket.
2633
2634 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2635
2636         * configure.ac:
2637           use common m4's for argument checking
2638
2639 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2640
2641         * docs/gst/gstreamer-sections.txt:
2642         * gst/gstevent.h:
2643           Add GST_EVENT_TYPE_NAME() macro.
2644
2645 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2646
2647         * gst/gstinfo.c:
2648         * gst/gstpluginfeature.c:
2649         * gst/gsttask.c:
2650           privatize more symbols
2651
2652 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2653
2654         * configure.ac:
2655           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2656           everything that uses GStreamer API should have the includes
2657
2658 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2659
2660         * docs/gst/gstreamer-sections.txt:
2661         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2662         * gst/gstvalue.h:
2663           give each value a _get_type, removes the DATA exports
2664
2665 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * gst/gst.c:
2668         * gst/gst.h:
2669           remove _gst_registry_auto_load, not used anymore
2670         * gst/gstbin.c: (gst_bin_get_type):
2671         * gst/gstbin.h:
2672         * gst/gstelement.c: (gst_element_get_type):
2673         * gst/gstelement.h:
2674         * gst/gstobject.c: (gst_object_get_type):
2675         * gst/gstobject.h:
2676         * gst/gstpad.c: (gst_pad_get_type):
2677         * gst/gstpad.h:
2678           make _get_type functions similar, fixes data export from library
2679
2680 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2681
2682         * configure.ac:
2683           correctly make conditionals
2684         * gst/elements/Makefile.am:
2685         * gst/elements/gstelements.c:
2686           fix typo causing fdsrc not to build
2687
2688 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2689
2690         * testsuite/Makefile.am:
2691         * testsuite/bytestream/.cvsignore:
2692         * testsuite/bytestream/Makefile.am:
2693         * testsuite/bytestream/filepadsink.c:
2694         * testsuite/bytestream/gstbstest.c:
2695         * testsuite/bytestream/test1.c:
2696         * testsuite/bytestream/testfile1:
2697         * testsuite/caps/normalisation.c:
2698         * testsuite/caps/random.c: (main):
2699         * testsuite/cleanup/.cvsignore:
2700         * testsuite/cleanup/Makefile.am:
2701         * testsuite/cleanup/cleanup1.c:
2702         * testsuite/cleanup/cleanup2.c:
2703         * testsuite/cleanup/cleanup3.c:
2704         * testsuite/cleanup/cleanup4.c:
2705         * testsuite/cleanup/cleanup5.c:
2706         * testsuite/controller/interpolator.c:
2707         * testsuite/debug/printf_extension.c: (main):
2708         * testsuite/elements/tee.c:
2709         * testsuite/negotiation/.cvsignore:
2710         * testsuite/negotiation/Makefile.am:
2711         * testsuite/negotiation/pad_link.c:
2712         * testsuite/pad/Makefile.am:
2713         * testsuite/pad/chainnopull.c:
2714         * testsuite/pad/getnopush.c:
2715         * testsuite/pad/link.c:
2716         * testsuite/refcounting/sched.c: (create_pipeline):
2717         * testsuite/registry/Makefile.am:
2718         * testsuite/registry/gst-print-formats.c:
2719         * testsuite/schedulers/.cvsignore:
2720         * testsuite/schedulers/142183-2.c:
2721         * testsuite/schedulers/142183.c:
2722         * testsuite/schedulers/143777-2.c:
2723         * testsuite/schedulers/143777.c:
2724         * testsuite/schedulers/147713.c:
2725         * testsuite/schedulers/147819.c:
2726         * testsuite/schedulers/147894-2.c:
2727         * testsuite/schedulers/147894.c:
2728         * testsuite/schedulers/Makefile.am:
2729         * testsuite/schedulers/group_link.c:
2730         * testsuite/schedulers/queue_link.c:
2731         * testsuite/schedulers/relink.c:
2732         * testsuite/schedulers/unlink.c:
2733         * testsuite/schedulers/unref.c:
2734         * testsuite/schedulers/useless_iteration.c:
2735         * testsuite/states/bin.c:
2736           clean out/remove some stuff from the testsuite directories
2737
2738 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2739
2740         * configure.ac:
2741           check for some headers
2742         * gst/elements/Makefile.am:
2743         * gst/elements/gstelements.c:
2744           don't compile fdsrc without sys/socket.h
2745         * gst/indexers/Makefile.am:
2746         * gst/indexers/gstindexers.c: (plugin_init):
2747           don't compile fileindex without mmap
2748
2749 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2750
2751         * configure.ac:
2752           reorganize
2753           clean up
2754           document more
2755           remove cruft
2756         * check/Makefile.am:
2757         * docs/gst/Makefile.am:
2758         * examples/helloworld/Makefile.am:
2759         * gst/Makefile.am:
2760         * gst/base/Makefile.am:
2761         * gst/check/Makefile.am:
2762         * gst/elements/Makefile.am:
2763         * gst/indexers/Makefile.am:
2764         * gst/parse/Makefile.am:
2765         * libs/gst/controller/Makefile.am:
2766         * libs/gst/dataprotocol/Makefile.am:
2767         * examples/helloworld/helloworld.c: (event_loop):
2768           compile fixes, though it's not being compiled currently
2769
2770 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2771
2772         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2773           Add some simple tests for the new taglist date API.
2774
2775 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2776
2777         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2778         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2779           Beautify 'last-message' output: print 'none' for buffer timestamps
2780           and durations if none is set; improve alignment with next messages.
2781
2782 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2785         * gst/gstpluginfeature.h:
2786         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2787         * gst/gstregistry.h:
2788         * docs/gst/gstreamer-sections.txt:
2789           Add new API to check plugin feature version requirements.
2790
2791         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2792           Some basic tests for the above.         
2793
2794 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2795
2796         * gst/gststructure.c: (gst_structure_to_string):
2797           guard against NULL printf - happens when for example
2798           a message structure with GstClock gets serialized
2799
2800 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2801
2802         * gst/base/gstcollectpads.c: (gst_collectpads_event):
2803           Fix presumable copy'n'pasto.
2804
2805 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2806
2807         * gst/elements/gstfakesrc.h:
2808         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
2809         * gst/elements/gsttypefindelement.c:
2810           fix some signedness
2811         * gst/elements/gstfilesink.c: (gst_file_sink_render):
2812           I wonder if this could actually write +2GB files before
2813
2814 2005-10-13  Andy Wingo  <wingo@pobox.com>
2815
2816         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
2817         Fix Timmeke Waymans bug.
2818         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
2819         string of the proper length to gst_caps_from_string. There's a
2820         potential for, before this fix, that this could cause someone
2821         connecting over the network to cause a segfault if the payload is
2822         not NUL-terminated.
2823
2824 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2825
2826         * docs/design/draft-push-pull.txt:
2827         * docs/design/part-overview.txt:
2828         * docs/random/TODO-pre-0.9:
2829         * docs/random/old/ChangeLog.gstreamer:
2830         * gst/base/gstpushsrc.c:
2831         * gst/gstclock.c:
2832           fixed typos
2833
2834 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2835
2836         * gst/glib-compat.c: (gst_flags_get_first_value):
2837         * gst/glib-compat.h:
2838         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
2839         (gst_value_compare_double), (gst_value_serialize_flags):
2840           GLib 2.6 g_flags_get_first_value has a bug that triggers an
2841           infinite loop
2842
2843 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2844
2845         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2846         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2847           fix up debugging
2848         * tools/gst-launch.c: (event_loop):
2849           print out clock nicely
2850
2851 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2852
2853         * docs/gst/gstreamer-sections.txt:
2854         * gst/gsttaglist.h:
2855         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2856         (gst_tag_list_get_date_index):
2857           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
2858           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2859
2860 2005-10-13  Julien MOUTTE  <julien@moutte.net>
2861
2862         * gst/base/gstcollectpads.c: (gst_collectpads_event),
2863         (gst_collectpads_chain):
2864         * gst/base/gstcollectpads.h: Handle newsegment and store informations
2865         in CollectData.
2866
2867 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2868
2869         * docs/gst/gstreamer-sections.txt:
2870         * gst/gst.c:
2871         * gst/gsterror.h:
2872         * tools/gst-inspect.c: (main):
2873         * tools/gst-launch.c: (main):
2874         * tools/gst-run.c: (main):
2875         * tools/gst-xmlinspect.c: (main):
2876           fix GOption context leaks
2877           doc fixes
2878
2879 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2880
2881         * gst/gstbus.c:
2882           use HAVE_UNISTD_H
2883         * win32/common/config.h:
2884           update config
2885         * win32/vs6/grammar.dsp:
2886         * win32/vs6/libgstelements.dsp:
2887         * win32/vs6/libgstreamer.dsp:
2888           update vs6 files
2889
2890 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2891
2892         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2893         * gst/base/gstbasesrc.c: (gst_base_src_query):
2894           fix more guint64<->gdouble conversions
2895
2896 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2897
2898         * Makefile.am:
2899           add win32-update target
2900         * win32/common/gstconfig.h:
2901         * win32/common/gstenumtypes.c:
2902         * win32/common/gstenumtypes.h:
2903         * win32/common/gstversion.h:
2904           add files that visual studio can't generate
2905
2906 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2907
2908         * Makefile.am:
2909           add a win32-update target
2910         * configure.ac:
2911
2912 2005-10-12  Wim Taymans  <wim@fluendo.com>
2913
2914         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2915         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
2916         * gst/gstelement.c: (gst_element_commit_state),
2917         (gst_element_set_state):
2918         Protect flags with proper lock.
2919         unref provided cached clock in dispose.
2920
2921 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2922
2923         * gst/gst.c:
2924         * gst/gstminiobject.h:
2925         * gst/gstpad.h:
2926         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
2927           removed unused flags from miniobject
2928           doc fixes
2929
2930 2005-10-12  Wim Taymans  <wim@fluendo.com>
2931
2932         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2933         (gst_file_sink_event), (gst_file_sink_render):
2934         Flush before seeking.
2935
2936 2005-10-12  Andy Wingo  <wingo@pobox.com>
2937
2938         * gst/gst.c (gst_init_check): Ignore unknown options, as has
2939         always been the case.
2940
2941 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2942
2943         * check/gst/gstbin.c: (GST_START_TEST):
2944         * docs/gst/gstreamer-sections.txt:
2945         * gst/base/gstbasesink.c: (gst_base_sink_init):
2946         * gst/base/gstbasesrc.c: (gst_base_src_init),
2947         (gst_base_src_get_range), (gst_base_src_check_get_range),
2948         (gst_base_src_start), (gst_base_src_stop):
2949         * gst/base/gstbasesrc.h:
2950         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
2951         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2952         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
2953         (bin_bus_handler):
2954         * gst/gstbin.h:
2955         * gst/gstbuffer.h:
2956         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
2957         * gst/gstbus.h:
2958         * gst/gstelement.c: (gst_element_is_locked_state),
2959         (gst_element_set_locked_state), (gst_element_commit_state),
2960         (gst_element_set_state):
2961         * gst/gstelement.h:
2962         * gst/gstindex.c: (gst_index_init):
2963         * gst/gstindex.h:
2964         * gst/gstminiobject.h:
2965         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
2966         (gst_object_set_parent):
2967         * gst/gstobject.h:
2968         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
2969         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
2970         * gst/gstpad.h:
2971         * gst/gstpadtemplate.h:
2972         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
2973         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2974         * gst/gstpipeline.h:
2975         * gst/indexers/gstfileindex.c: (gst_file_index_load),
2976         (gst_file_index_commit):
2977         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
2978         * testsuite/pad/link.c: (gst_test_src_init),
2979         (gst_test_filter_init), (gst_test_sink_init):
2980         * testsuite/states/locked.c: (main):
2981           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
2982           moved bitshift from macro to enum definition
2983
2984 2005-10-12  Wim Taymans  <wim@fluendo.com>
2985
2986         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
2987         * gst/elements/gstfilesink.c: (gst_file_sink_event),
2988         (gst_file_sink_render):
2989         Some more debugging info.
2990
2991 2005-10-12  Wim Taymans  <wim@fluendo.com>
2992
2993         * docs/design/part-states.txt:
2994         * tools/gst-launch.c: (main):
2995         Some doc updates.
2996         Revert non-intentional change.
2997
2998 2005-10-12  Wim Taymans  <wim@fluendo.com>
2999
3000         * check/gst/gstbin.c: (GST_START_TEST):
3001         * check/gst/gstelement.c: (GST_START_TEST):
3002         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3003         * check/gst/gstghostpad.c: (GST_START_TEST):
3004         * check/gst/gstpipeline.c: (GST_START_TEST):
3005         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3006         * check/states/sinks.c: (GST_START_TEST):
3007         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3008         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3009         (gst_bin_remove_func), (gst_bin_get_state_func),
3010         (gst_bin_recalc_state), (gst_bin_change_state_func),
3011         (bin_bus_handler):
3012         * gst/gstelement.c: (gst_element_get_state_func),
3013         (gst_element_get_state), (gst_element_abort_state),
3014         (gst_element_commit_state), (gst_element_set_state),
3015         (gst_element_change_state), (gst_element_change_state_func):
3016         * gst/gstelement.h:
3017         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3018         (gst_pipeline_provide_clock_func):
3019         * gst/gstutils.c: (gst_element_link_pads_filtered):
3020         * tools/gst-launch.c: (main):
3021         * tools/gst-typefind.c: (main):
3022         Use GstClockTime in _get_state() instead of GTimeVal.
3023         Remove old code in gstutils.c
3024
3025 2005-10-12  Andy Wingo  <wingo@pobox.com>
3026
3027         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3028         removed.
3029
3030         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3031         there is no task. Shouldn't affect any code, as nothing in our
3032         plugins checks this return value.
3033         (gst_pad_stop_task): Also take the stream lock if the pad has no
3034         task. Docs updated.
3035
3036 2005-10-12  Wim Taymans  <wim@fluendo.com>
3037
3038         * gst/gstpad.c: (pre_activate), (post_activate),
3039         (gst_pad_activate_pull), (gst_pad_activate_push):
3040         Cleanup activation code. Reset old state if
3041         activation failed.
3042
3043 2005-10-12  Wim Taymans  <wim@fluendo.com>
3044
3045         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3046         (gst_base_sink_change_state):
3047         No need to prerol after receiving EOS.
3048
3049         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3050         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3051         * gst/elements/gstidentity.c: (gst_identity_event):
3052         Print events more verbosely.
3053
3054 2005-10-12  Wim Taymans  <wim@fluendo.com>
3055
3056         * check/Makefile.am:
3057         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3058         * check/states/sinks2.c:
3059         Moved sinks2 testcode in sinks check.
3060
3061         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3062         (gst_bin_remove_func), (gst_bin_recalc_state),
3063         (gst_bin_change_state_func), (bin_bus_handler):
3064         Fix potential race condition when _get_state() iterated over an
3065         ASYNC element right before it posted a state completion.
3066
3067         * gst/gstclock.h:
3068         Do proper cast here.
3069
3070         * gst/gstevent.c: (gst_event_new_newsegment),
3071         (gst_event_parse_newsegment):
3072         A playback rate of 0.0 is not allowed.
3073
3074 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3075
3076         * win32/common/config.h:
3077         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3078         (_trewinddir), (_ttelldir), (_tseekdir):
3079         * win32/common/dirent.h:
3080         * win32/common/gtchar.h:
3081         * win32/common/libgstbase.def:
3082         * win32/common/libgstreamer.def:
3083         * win32/vs6/grammar.dsp:
3084         * win32/vs6/gst_inspect.dsp:
3085         * win32/vs6/gst_launch.dsp:
3086         * win32/vs6/gstreamer.dsw:
3087         * win32/vs6/libgstbase.dsp:
3088         * win32/vs6/libgstelements.dsp:
3089         * win32/vs6/libgstreamer.dsp:
3090           Visual Studio 6 project files, and a new common directory.
3091           Phear.
3092
3093 2005-10-11  Wim Taymans  <wim@fluendo.com>
3094
3095         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3096         (gst_base_sink_do_sync), (gst_base_sink_query),
3097         (gst_base_sink_change_state):
3098         * gst/base/gstbasesink.h:
3099         Correctly parse newsegment info.
3100
3101 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3102
3103         * gst/gst.c: (init_post):
3104           split plugin paths correctly
3105
3106 2005-10-11  Wim Taymans  <wim@fluendo.com>
3107
3108         * check/gst/gstevent.c: (GST_START_TEST):
3109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3110         (gst_base_sink_change_state):
3111         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3112         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3113         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3114         * gst/gstevent.c: (gst_event_new_newsegment),
3115         (gst_event_parse_newsegment):
3116         * gst/gstevent.h:
3117         Added extra flag to newsegment for future API freeze.
3118         Updated check and base elements.
3119
3120 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3121
3122         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3123         (gst_collectpads_add_pad), (gst_collectpads_pop),
3124         (gst_collectpads_event), (gst_collectpads_chain):
3125         * gst/base/gstcollectpads.h: Handle EOS correctly.
3126
3127 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3128
3129         * tools/gst-launch.c: (main):
3130           more null protecting
3131
3132 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3133
3134         * gst/gst-i18n-lib.h:
3135           check for ENABLE_NLS, not GETTEXT_PACKAGE
3136         * gst/gstregistry.c: (gst_registry_add_plugin),
3137         (gst_registry_scan_path_level),
3138         (_gst_registry_remove_cache_plugins):
3139           protect possibly NULL strings
3140         * gst/parse/types.h:
3141           config.h already included before
3142         * tools/gst-inspect.c: (main):
3143           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3144           check for ENABLE_NLS, not GETTEXT_PACKAGE
3145         * tools/gst-launch.c: (main):
3146           check for ENABLE_NLS, not GETTEXT_PACKAGE
3147
3148 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3149
3150         * configure.ac:
3151           if we don't have glib, fail before testing 2.8
3152         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3153           fix a leak, should fix plugins-base testsuite
3154
3155 2005-10-11  Andy Wingo  <wingo@pobox.com>
3156
3157         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3158         take the mode we're going to as an arg. Go head and set the mode
3159         and flushing flags now, so that if the activate function starts a
3160         thread all the flags will be in the right state.
3161         (post_activate): Renamed also. Just handle making sure streaming
3162         finishes for the deactivation case, and setting the deactivated
3163         mode.
3164         (gst_pad_set_active): Complain loudly if deactivation fails.
3165         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3166         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3167         remove the terrible hack.
3168
3169 2005-10-11  Wim Taymans  <wim@fluendo.com>
3170
3171         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3172         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3173         (gst_bin_recalc_state), (gst_bin_change_state_func),
3174         (gst_bin_dispose), (bin_bus_handler):
3175         * gst/gstbin.h:
3176         Prepare to make current EOS message queue more generic.
3177         Fix some typos.
3178
3179         * gst/gstevent.c: (gst_event_new_newsegment),
3180         (gst_event_parse_newsegment):
3181         * gst/gstevent.h:
3182         Rename base to stream_time.
3183
3184         * gst/gstmessage.h:
3185         Fix typo in docs.
3186
3187 2005-10-11  Wim Taymans  <wim@fluendo.com>
3188
3189         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3190         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3191         (gst_bin_change_state_func), (bin_bus_handler):
3192         * gst/gstbin.h:
3193         Work on proper clock selection.
3194
3195 2005-10-11  Edward Hervey  <edward@fluendo.com>
3196
3197         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3198         * libs/gst/controller/gstcontroller.h:
3199         Added GList* version of _remove_properties() in order to be able to wrap
3200         it in bindings.
3201
3202 2005-10-11  Wim Taymans  <wim@fluendo.com>
3203
3204         * docs/design/part-states.txt:
3205         Some more docs.
3206
3207         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3208         (gst_bin_change_state_func), (bin_bus_handler):
3209         Doc updates. Don't distribute the same clock over and over again.
3210
3211         * gst/gstclock.c:
3212         * gst/gstclock.h:
3213         Doc updates.
3214
3215         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3216         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3217         (gst_pad_send_event):
3218         * gst/gstpad.h:
3219         Make probe emission threadsafe again.
3220         Register quarks and move _get_name() from utils.
3221         Doc updates.
3222
3223         * gst/gstpipeline.c: (gst_pipeline_class_init),
3224         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3225         Only redistribute the clock of it changed.
3226
3227         * gst/gstsystemclock.h:
3228         Doc updates. 
3229
3230         * gst/gstutils.c:
3231         * gst/gstutils.h:
3232         Moved the _flow_get_name() to GstPad.
3233
3234 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3235
3236         * check/gst-libs/gdp.c: (GST_START_TEST):
3237         * check/gst/gstcaps.c: (GST_START_TEST):
3238         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3239         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3240         (gst_dp_packet_from_caps):
3241           fix more valgrind warnings before turning up the heat
3242
3243 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3244
3245         * gst/parse/grammar.y:
3246           some cleanup before the hacking
3247
3248 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3249
3250         * gst/base/gstbasesrc.c: (gst_base_src_query):
3251           use conversions
3252         * gst/gstutils.c: (gst_guint64_to_gdouble),
3253         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3254         * gst/gstutils.h:
3255           externalize, basesrc uses it
3256           obviously the implementation needs testing
3257
3258 2005-10-10  Wim Taymans  <wim@fluendo.com>
3259
3260         * tests/sched/Makefile.am:
3261         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3262         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3263
3264 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3265
3266         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3267           apparently converting from guint64 to double is not implemented
3268           on MSVC
3269
3270 2005-10-10  Wim Taymans  <wim@fluendo.com>
3271
3272         * check/Makefile.am:
3273         * check/generic/states.c: (GST_START_TEST):
3274         * check/gst/gstbin.c: (GST_START_TEST):
3275         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3276         * check/states/sinks.c: (GST_START_TEST):
3277         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3278         (main):
3279         Check fixes, use API as stated in design docs, remove hacks.
3280
3281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3282         (gst_base_sink_change_state):
3283         Catch stopping our task while we're shutting down.
3284
3285         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3286         (gst_bin_remove_func), (gst_bin_get_state_func),
3287         (gst_bin_recalc_state), (gst_bin_change_state_func),
3288         (bin_bus_handler):
3289         * gst/gstbin.h:
3290         * gst/gstelement.c: (gst_element_init),
3291         (gst_element_get_state_func), (gst_element_abort_state),
3292         (gst_element_commit_state), (gst_element_lost_state),
3293         (gst_element_set_state), (gst_element_change_state),
3294         (gst_element_change_state_func):
3295         * gst/gstelement.h:
3296         New state change algorithm (see #318116)
3297
3298         * gst/gstpipeline.c: (gst_pipeline_class_init),
3299         (gst_pipeline_init), (gst_pipeline_set_property),
3300         (gst_pipeline_get_property), (do_pipeline_seek),
3301         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3302         * gst/gstpipeline.h:
3303         Remove crude state change hacks.
3304
3305         * gst/gstutils.h:
3306         Remove crude hacks.
3307
3308         * tools/gst-launch.c: (main):
3309         Fixes for state change. Needs some more work to fully use the
3310         new stuff.
3311
3312 2005-10-10  Andy Wingo  <wingo@pobox.com>
3313
3314         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3315
3316         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3317         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3318         issue.
3319
3320 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3321
3322         * gst/gstiterator.c: (gst_iterator_new):
3323           Fix my previous commit: GTypes passed to gst_iterator_new()
3324           can be fundamental types.
3325
3326 2005-10-10  Wim Taymans  <wim@fluendo.com>
3327
3328         * gst/gstelement.c: (gst_element_iterate_pad_list),
3329         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3330         (gst_element_iterate_sink_pads):
3331         Use src/sink pads lists for the respective iterators instead
3332         of filtering.
3333
3334 2005-10-10  Andy Wingo  <wingo@pobox.com>
3335
3336         Merged in popt removal + GOption addition patch from Ronald, bug
3337         #169772.
3338
3339         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3340         GstElement macros around, remove popt-related symbols, add goption
3341         stuff.
3342
3343         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3344         
3345         * docs/gst/Makefile.am:
3346         * docs/libs/Makefile.am: No POPT_CFLAGS.
3347         
3348         * examples/manual/Makefile.am:
3349         * docs/manual/basics-init.xml: Doc updates with an example.
3350         
3351         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3352         (gst_init), (parse_one_option), (parse_goption_arg):
3353         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3354         bit of hand merging and debugging to get the GOption stuff working
3355         tho.
3356         
3357         * tests/Makefile.am:
3358         * tools/Makefile.am:
3359         * tools/gst-inspect.c: (main):
3360         * tools/gst-launch.c: (main):
3361         * tools/gst-run.c: (main):
3362         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3363
3364 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3365
3366         * gst/gstiterator.c: (gst_iterator_new):
3367           Add assertions to make sure passed GType is likely to really
3368           be a GType (as the compiler won't catch it if the size and
3369           GType arguments get mixed up, see #318447).
3370
3371 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3372
3373         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3374
3375         * gst/gstbin.c: (gst_bin_iterate_sorted):
3376           Pass GType and size arguments to gst_iterator_new() in the right
3377           order (maybe we should make _new() take the GType as first argument
3378           just like _new_list()?) (#318447).
3379           
3380
3381 2005-10-10  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/gstelement.c: (gst_element_finalize):
3384         And free the GStaticRecMutex too
3385
3386 2005-10-10  Andy Wingo  <wingo@pobox.com>
3387
3388         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3389         Allocate and free the mutex properly.
3390
3391         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3392         New macros.
3393         (GstElement): The state_lock is now recursive. Rebuild your
3394         plugins, suckers. Old macros adapted.
3395
3396         * docs/gst/gstreamer-sections.txt: Doc updates.
3397
3398         * gst/gstutils.h:
3399         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3400         (g_static_rec_cond_wait): Ported from state changes patch, while
3401         we wait on bug #317802 to be solved in a well-distributed GLib.
3402
3403         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3404         gst_element_change_state, variable name changes.
3405         (gst_element_change_state): Split out of gst_element_set_state in
3406         preparation for the state change merge. Doesn't pay attention to
3407         the 'transition' argument.
3408         (gst_element_set_state): Updates, hopefully purely cosmetic.
3409         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3410         state change patch.
3411         (gst_element_get_state_func): Renamed from get_state, cosmetic
3412         changes.
3413
3414 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3415
3416         * gst/elements/gstelements.c:
3417         * win32/GStreamer.vcproj:
3418         * win32/config.h:
3419         * win32/dirent.c: (_tseekdir):
3420         * win32/gst-inspect.vcproj:
3421         * win32/gst-launch.vcproj:
3422         * win32/gstconfig.h:
3423         * win32/gstelements.vcproj:
3424         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3425         * win32/gstreamer.def:
3426         * win32/msvc71.sln:
3427           updates for the win32 build (patch from Sebastien Moutte)
3428
3429 2005-10-10  Andy Wingo  <wingo@pobox.com>
3430
3431         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3432         gst_bin_get_state, cleaned up (but no logic changes).
3433         (bin_element_is_sink): Comment updates.
3434         (sink_iterator_filter): Remove needless cast.
3435         (gst_bin_iterate_sinks): Doc update.
3436         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3437         cleaned up (but no logic changes).
3438
3439         * check/states/sinks.c (test_src_sink): Cleanups from the state
3440         change patch.
3441         (test_livesrc_sink): Sync on the state.
3442
3443         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3444         the state change patch.
3445
3446         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3447         change patch.
3448
3449         * check/gst/gstbin.c: Merge in some style fixes and additional
3450         checks from Wim's state change patch.
3451
3452 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3453
3454         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3455         (gst_type_find_helper):
3456           Check whether we have the requested data already in our list of
3457           cached buffers before pulling a new buffer; also make the buffer
3458           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3459
3460 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3461
3462         * gst/gstcaps.c:
3463         * gst/gstevent.c:
3464           doc updates
3465         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3466           don't use long long, it's not portable.  Replacing with
3467           gint64 seems to work; let's hope no skeletons fall out of the closet.
3468
3469 2005-10-10  Andy Wingo  <wingo@pobox.com>
3470
3471         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3472
3473 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3474
3475         * docs/gst/gstreamer-sections.txt:
3476         * gst/gstevent.c:
3477         * gst/gstevent.h:
3478         * gst/gstinfo.c:
3479         * gst/gstinfo.h:
3480         * gst/gstmessage.c: (gst_message_parse_state_changed):
3481         * gst/gstpad.c:
3482         * gst/gstpad.h:
3483           more docs, fix compilation
3484
3485 2005-10-09  Philippe Khalaf <burger@speedy.org>
3486         * gst/gstmessage.c:
3487           Fixed a few forgotten variables on previous commit
3488
3489 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3490
3491         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3492           Fix evil typefind crasher: getrange() might return a short
3493           buffer at the end of a file, but gst_type_find_peek() must
3494           either return the full data as requested or NULL, but
3495           never a short buffer.
3496
3497 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3498
3499         * gst/gstmessage.c: (gst_message_new_state_changed),
3500         (gst_message_parse_state_changed):
3501         * gst/gstmessage.h:
3502           don't use "new", it's a C++ keyword
3503
3504 2005-10-08  Wim Taymans  <wim@fluendo.com>
3505
3506         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3507         * gst/gstelement.c: (gst_element_post_message):
3508         * gst/gstpipeline.c: (gst_pipeline_change_state):
3509         Small docs and debug updates.
3510
3511 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3512
3513         * docs/gst/gstreamer-sections.txt:
3514         * gst/gstelementfactory.c:
3515         * gst/gstevent.c:
3516         * gst/gsttaglist.c:
3517           more docs
3518
3519 2005-10-08  Wim Taymans  <wim@fluendo.com>
3520
3521         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3522         (gst_bin_dispose), (bin_bus_handler):
3523         Fix typos, add comments.
3524         Clear EOS list when going to PAUSED from any direction and do it
3525         in a threadsafe way.
3526         Get base time in a threadsafe way too.
3527         Fix confusing debug in the change_state function.
3528         Various other small cleanups.
3529         
3530         * gst/gstelement.c: (gst_element_post_message):
3531         Fix very verbose bus posting code.
3532
3533         * gst/gstpipeline.c: (gst_pipeline_class_init),
3534         (gst_pipeline_set_property), (gst_pipeline_get_property),
3535         (gst_pipeline_change_state):
3536         Small ARG_ -> PROP_ cleanup
3537
3538 2005-10-08  Wim Taymans  <wim@fluendo.com>
3539
3540         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3541         Do a less CPU demanding EOS check because we can.
3542
3543 2005-10-08  Wim Taymans  <wim@fluendo.com>
3544
3545         * libs/gst/dataprotocol/dataprotocol.c:
3546         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3547         (gst_dp_packet_from_event):
3548         * libs/gst/dataprotocol/dataprotocol.h:
3549         * libs/gst/dataprotocol/dp-private.h:
3550         It's about time we bump the version number.
3551         Since event types don't fit in the guint8 anymore describing
3552         the payload type, make payload type 16 bits wide.
3553
3554 2005-10-08  Wim Taymans  <wim@fluendo.com>
3555
3556         * docs/design/part-TODO.txt:
3557         * docs/design/part-clocks.txt:
3558         * docs/design/part-events.txt:
3559         * docs/design/part-gstbin.txt:
3560         * docs/design/part-gstelement.txt:
3561         * docs/design/part-gstpipeline.txt:
3562         * docs/design/part-live-source.txt:
3563         * docs/design/part-messages.txt:
3564         * docs/design/part-overview.txt:
3565         * docs/design/part-states.txt:
3566         Many doc updates.
3567
3568 2005-10-08  Wim Taymans  <wim@fluendo.com>
3569
3570         * gst/gstevent.c:
3571         * gst/gstevent.h:
3572         Fix event quark registration.
3573         Add some space between events so we can insert them in the
3574         right groups.
3575
3576 2005-10-08  Wim Taymans  <wim@fluendo.com>
3577
3578         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3579         (gst_base_sink_handle_buffer):
3580         Better log message.
3581
3582         * gst/gstbus.h:
3583         * gst/gstelement.h:
3584         More docs.
3585
3586         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3587         (gst_queue_set_property), (gst_queue_get_property):
3588         * gst/gstqueue.h:
3589         Remove old unused properties.
3590
3591 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3592         * docs/gst/gstreamer-sections.txt:
3593         * gst/gstmessage.c:
3594         * gst/gstmessage.h:
3595         * gst/gstminiobject.c:
3596         * gst/gstminiobject.h:
3597         * gst/gstobject.h:
3598         * gst/gstpad.h:
3599         * gst/gstutils.h:
3600           lots of new docs and doc fixes
3601
3602 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3603
3604         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3605         * gst/gstplugin.h:
3606         * gst/gstregistry.c: (gst_registry_lookup_locked),
3607         (gst_registry_scan_path_level):
3608         * gst/gstregistryxml.c: (load_plugin):
3609           Only ever load one plugin for a given plugin basename.
3610           This ensures correct overriding of GST_PLUGIN_PATH over
3611           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3612           system installed plugins.
3613
3614 2005-10-08  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3617         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3618         Prepare for doing QOS.
3619
3620 2005-10-08  Wim Taymans  <wim@fluendo.com>
3621
3622         * check/gst/gstbin.c: (GST_START_TEST):
3623         * check/pipelines/cleanup.c: (GST_START_TEST):
3624         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3625         Allow new clock message too.
3626
3627 2005-10-08  Wim Taymans  <wim@fluendo.com>
3628
3629         * gst/gstmessage.c: (gst_message_new_error),
3630         (gst_message_new_warning), (gst_message_new_tag),
3631         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3632         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3633         (gst_message_new_segment_start), (gst_message_new_segment_done),
3634         (gst_message_parse_state_changed),
3635         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3636         (gst_message_parse_new_clock):
3637         * gst/gstmessage.h:
3638         Also carry the clock in question.
3639
3640 2005-10-08  Wim Taymans  <wim@fluendo.com>
3641
3642         * gst/gstmessage.c: (gst_message_new_custom),
3643         (gst_message_new_eos), (gst_message_new_error),
3644         (gst_message_new_warning), (gst_message_new_tag),
3645         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3646         (gst_message_new_new_clock), (gst_message_new_segment_start),
3647         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3648         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3649         * gst/gstmessage.h:
3650         Clean up.
3651         Added clock related messages.
3652
3653         * gst/gstpipeline.c: (gst_pipeline_change_state):
3654         Post message when the clock changed.
3655
3656         * tools/gst-launch.c: (event_loop):
3657         Print new clock.
3658
3659 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3660
3661         * tools/gst-inspect.c: (print_element_properties_info):
3662           Can't pass NULL strings to g_print() on windows.
3663
3664 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3665
3666         * docs/Makefile.am:
3667         * docs/gst/Makefile.am:
3668         * docs/gst/gstreamer-docs.sgml:
3669         * docs/gst/running.xml:
3670         * docs/version.entities.in:
3671           add a chapter on running GStreamer.
3672           document GST_DEBUG and GST_PLUGIN* env vars
3673
3674 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3675
3676         * Makefile.am:
3677           remove include dir
3678         * configure.ac:
3679           remove PLUGINS_BUILDDIR stuff
3680         * gst/gst.c: (init_post):
3681           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3682         * idiottest.mak:
3683           remove, it was condescending and not needed
3684
3685 2005-10-08  Wim Taymans  <wim@fluendo.com>
3686
3687         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3688         (gst_base_sink_handle_object), (gst_base_sink_event),
3689         (gst_base_sink_wait), (gst_base_sink_handle_event),
3690         (gst_base_sink_change_state):
3691         * gst/base/gstbasesink.h:
3692         Repost EOS message while going to PLAYING if still EOS.
3693         Make sure that when receiving a FLUSH_START we don't attempt
3694         to sync on the clock anymore.
3695
3696 2005-10-08  Wim Taymans  <wim@fluendo.com>
3697
3698         * tools/gst-launch.c: (event_loop):
3699         Better message printout.
3700
3701 2005-10-08  Wim Taymans  <wim@fluendo.com>
3702
3703         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3704         (gst_bin_child_proxy_get_children_count):
3705         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3706         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3707         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3708         (gst_child_proxy_set_valist):
3709         * gst/parse/grammar.y:
3710         Make ChildProxy threadsafe and fix mem leaks.
3711
3712 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3713
3714         * gst/gst.c: (init_post):
3715           debug the GST_PLUGIN_ env vars
3716
3717 2005-10-08  Wim Taymans  <wim@fluendo.com>
3718
3719         * check/gst/gstbin.c: (GST_START_TEST):
3720         * check/gst/gstmessage.c: (GST_START_TEST):
3721         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3722         * gst/gstelement.c: (gst_element_commit_state),
3723         (gst_element_lost_state):
3724         * gst/gstmessage.c: (gst_message_new_state_changed),
3725         (gst_message_parse_state_changed):
3726         * gst/gstmessage.h:
3727         * tools/gst-launch.c: (event_loop):
3728         Added extra field to STATE_CHANGE message with the pending
3729         state, which will be different from the new state soon.
3730
3731 2005-10-08  Wim Taymans  <wim@fluendo.com>
3732
3733         * gst/gstbus.c: (gst_bus_pop):
3734         * gst/gstclock.c:
3735         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3736         Small cleanups and doc updates.
3737
3738 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3739
3740         * gst/gst.c: (init_pre):
3741         * gst/gstbin.c: (gst_bin_add_func):
3742           log distributing clocks and base time
3743         * gst/gstregistry.c: (gst_registry_add_plugin),
3744         (gst_registry_scan_path_level), (gst_registry_scan_path):
3745           clean up the debugging output a little
3746         * gst/gstutils.c: (gst_element_state_get_name):
3747           warn about a memleak (I've actually seen this be used, though
3748           it was probably a bug)
3749
3750 2005-10-07  Wim Taymans  <wim@fluendo.com>
3751
3752         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3753         (gst_base_src_init), (gst_base_src_default_newsegment),
3754         (gst_base_src_newsegment), (gst_base_src_do_seek),
3755         (gst_base_src_loop), (gst_base_src_start):
3756         * gst/base/gstbasesrc.h:
3757         Make the newsegment event customizable by subclasses.
3758
3759 2005-10-07  Wim Taymans  <wim@fluendo.com>
3760
3761         * gst/gstevent.c: (gst_event_new_buffersize),
3762         (gst_event_parse_buffersize):
3763         * gst/gstevent.h:
3764         New event for future idea.
3765
3766 2005-10-07  Andy Wingo  <wingo@pobox.com>
3767
3768         * gst/gstelement.c (gst_element_post_message): Doc update.
3769
3770         * docs/gst/gstreamer-sections.txt: Update.
3771
3772         * gst/gstmessage.c (gst_message_new_application): Made into a
3773         function like honest API calls.
3774         (gst_message_new_element): New message type.
3775
3776         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3777
3778         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3779         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3780         times.
3781
3782         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3783         NO_PREROLL from gst_element_change_state to fall through.
3784
3785 2005-10-07  Wim Taymans  <wim@fluendo.com>
3786
3787         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3788         (gst_ghost_pad_do_activate_push):
3789         Activating a ghostpad with no internal pad in push mode
3790         is ok.
3791
3792 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3793
3794         * gst/gstobject.h:
3795           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3796           Fixes compilation on Windows.
3797
3798 2005-10-07  Michael Smith <msmith@fluendo.com>
3799
3800         * tools/gst-inspect.c:
3801           Print out feature and plugin count at the end when printing out
3802           all features.
3803
3804 2005-10-04  Michael Smith <msmith@fluendo.com>
3805
3806         * gst/gsterror.c: (_gst_stream_errors_init):
3807           Add another error string used in a few existing plugins.
3808
3809         * gst/gstplugin.c:
3810         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3811         * tools/gst-inspect.c: (print_element_info):
3812           When a feature disappears from a plugin (and the feature exists in
3813           the cached registry file), things went horribly wrong. This isn't a
3814           complete fix, we should actually be removing the 'missing' features
3815           from the features list when we load the actual plugin. That's not
3816           yet implemented. 
3817
3818 2005-10-04  Johan Dahlin  <johan@gnome.org>
3819
3820         * check/gst/gstiterator.c: (GST_START_TEST):
3821         * gst/gstbin.c: (gst_bin_iterate_elements),
3822         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
3823         * gst/gstelement.c: (gst_element_iterate_pads):
3824         * gst/gstformat.c: (gst_format_iterate_definitions):
3825         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3826         (gst_iterator_new_list), (gst_iterator_filter):
3827         * gst/gstiterator.h:
3828         * gst/gstquery.c: (gst_query_type_iterate_definitions):
3829         Add a GType to GstIterator, update callsites and tests.
3830
3831 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3832
3833         * gst/gstpad.c: (gst_pad_event_default_dispatch):
3834           give events a chance to be handled by event probes when the pad
3835           is not linked
3836
3837 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3838
3839         * gst/gstevent.c: (gst_event_type_get_name),
3840         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
3841         * gst/gstevent.h:
3842           add string representations for event types
3843
3844 2005-10-06  Wim Taymans  <wim@fluendo.com>
3845
3846         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
3847         Don't use NULL pointers.
3848
3849 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3850
3851         * gst/gst_private.h:
3852         * gst/gstbus.c:
3853         * gst/gstelement.c:
3854         * gst/gstinfo.c:
3855         * gst/gstpluginfeature.c:
3856           widen the debug category in output to fit the biggest one we have
3857           add a bus category and use it
3858           play with the colors
3859           fix up some categories
3860
3861 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3862
3863         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
3864           add push activation of sink ghost pads.
3865           Andye, please verify
3866
3867 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3868
3869         * gst/gstutils.c: (gst_element_link_pads):
3870           fix a bug in the case where neither element has a pad
3871         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3872           add a test for that case
3873
3874 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3875
3876         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
3877           emit have-data before checking for peers.  This allows
3878           for probe handlers to connect elements.  This helps autopluggers.
3879         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
3880         (gst_pad_suite):
3881           add six checks, linked/unlinked with no/true/false probe
3882
3883 2005-10-04  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
3886         (gst_fake_sink_event), (gst_fake_sink_preroll),
3887         (gst_fake_sink_render), (gst_fake_sink_change_state):
3888         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
3889         (gst_fake_src_get_property), (gst_fake_src_create),
3890         (gst_fake_src_stop):
3891         * gst/elements/gstidentity.c: (gst_identity_stop):
3892         Protect last_message with lock.
3893
3894 2005-10-04  Edward Hervey  <edward@fluendo.com>
3895
3896         * gst/gstformat.h: 
3897         Added precision in the comments for GST_FORMAT_DEFAULT
3898
3899 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
3900
3901         * tools/gst-launch.c: (main):
3902           Don't try to run erroneous pipelines.
3903
3904 2005-10-04  Julien MOUTTE  <julien@moutte.net>
3905
3906         * gst/gstbus.c: We don't need this header.
3907
3908 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3909
3910         * configure.ac:
3911           back to development
3912
3913 === release 0.9.3 ===
3914
3915 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3916
3917         * README:
3918         * configure.ac:
3919           Releasing 0.9.3, "Unregistered"
3920
3921 2005-10-03  Andy Wingo  <wingo@pobox.com>
3922
3923         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
3924         whereby calling a pad's activatepush() function can start a thread
3925         that starts to push or pull before the pad gets the FLUSHING flag
3926         unset. Hack around it by holding the stream lock until the flag is
3927         set. Need to replace this with a proper solution. Together with
3928         the ghost pad fixes, this fixes mp3 playing/tagreading.
3929
3930         * docs/design/part-gstghostpad.txt: Add a note about activation of
3931         proxy pads outside of ghost pads.
3932
3933         * gst/gstghostpad.c: Implement the ghost pad activation design.
3934
3935 2005-10-02  Andy Wingo  <wingo@pobox.com>
3936
3937         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
3938         It is volatile, after all.
3939
3940         * docs/design/part-gstghostpad.txt: Flesh out activation with
3941         ghost pads.
3942
3943         * gst/base/gstbasesrc.c (gst_base_src_init): Use
3944         GST_DEBUG_FUNCPTR.
3945
3946 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3947
3948         * configure.ac:
3949           Fix (unused) AM_CONDITIONAL tests.
3950
3951 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
3952
3953         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3954
3955         * gst/gstutils.c: (gst_pad_query_convert):
3956           Add assertion that makes sure src_val is >=0, just like
3957           gst_query_new_convert() has. (#315895)
3958
3959 2005-09-30  Edward Hervey  <edward@fluendo.com>
3960
3961         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
3962         Let's not iterate pads we're not interested in, it avoids getting 
3963         sky-high refcounts on sinkpad.
3964
3965 2005-09-30  Wim Taymans  <wim@fluendo.com>
3966
3967         * gst/gstelement.c: (gst_element_set_state),
3968         (gst_element_change_state):
3969         Small tweak, element in ASYNC remains ASYNC.
3970
3971 2005-09-30  Wim Taymans  <wim@fluendo.com>
3972
3973         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3974         Only error is an error.
3975
3976         * gst/gstbin.c: (gst_bin_change_state):
3977         Better debugging.
3978
3979         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
3980         Also call pad_block in pad alloc.
3981
3982         * gst/gstutils.c: (gst_flow_get_name):
3983         Better debugging.
3984
3985 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3986
3987         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3988         (gst_base_src_get_range):
3989           Fix documentation typos. Add some more debug info.
3990
3991 2005-09-29  David Schleef  <ds@schleef.org>
3992
3993         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
3994           more end-user friendly.
3995         * tools/gst-inspect.c: (main): Check if command-line argument is
3996           a file and attempt to load that file as a plugin.
3997
3998 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         * check/gst/gstbin.c:
4001         * check/states/sinks.c:
4002           fix tests for the new warning
4003         * check/gst/gstpipeline.c:
4004           add a test for pipeline and bus interaction
4005         * gst/gstelement.c:
4006           elements should be NULL if they get disposed; add a warning if not
4007
4008 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4009
4010         * gst/gstobject.c:
4011           for 2.6 refcounting, make debug log more correct by printing
4012           the actual refcounts at the time of swap (Wim)
4013
4014 2005-09-29  Andy Wingo  <wingo@pobox.com>
4015
4016         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4017         removes signal watches previously added via
4018         gst_bus_add_signal_watch.
4019         (gst_bus_add_signal_watch): Don't return the source id, just store
4020         it on the bus if there wasn't an id already.
4021
4022         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4023         add_signal_watch and remove_signal_watch.
4024
4025 2005-09-29  Edward Hervey  <edward@fluendo.com>
4026
4027         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4028         Better if we actually iterate the list :)
4029
4030 2005-09-29  Wim Taymans  <wim@fluendo.com>
4031
4032         * check/gst/gstbin.c: (GST_START_TEST):
4033         Change for new bus API.
4034
4035         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4036         (send_messages), (GST_START_TEST), (gstbus_suite):
4037         Change for new bus signal API.
4038
4039         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4040         (gst_bus_source_prepare), (gst_bus_source_check),
4041         (gst_bus_create_watch), (gst_bus_add_watch_full),
4042         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4043         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4044         * gst/gstbus.h:
4045         Remove support for multiple GSources operating on different
4046         message types as it is too complex and unneeded when using
4047         signals.
4048         Added support for receiving signals from the bus.
4049
4050 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4051
4052         * docs/libs/tmpl/gstdataprotocol.sgml:
4053         * docs/manual/advanced-dataaccess.xml:
4054         * gst/elements/gstcapsfilter.c:
4055         * gst/gstutils.c:
4056           rename filter-caps to caps property
4057
4058 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4059
4060         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4061           More robust fraction string parsing.
4062
4063         * docs/pwg/appendix-porting.xml:
4064           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4065
4066 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4067
4068         * gst/gstcaps.c: (gst_caps_do_simplify):
4069           Thou shalt not free a structure and then continue using it
4070           in the next loop iteration.
4071
4072         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4073         (gst_caps_suite):
4074           Add test case for caps simplification.
4075
4076 2005-09-29  Wim Taymans  <wim@fluendo.com>
4077
4078         * check/gst/gstbin.c: (GST_START_TEST):
4079         Oops.
4080
4081 2005-09-29  Wim Taymans  <wim@fluendo.com>
4082
4083         * check/gst/gstbin.c: (GST_START_TEST):
4084         Add bus to bin.
4085
4086         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4087         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4088         (find_element), (gst_bin_sort_iterator_next),
4089         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4090         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4091         (gst_bin_change_state), (gst_bin_dispose):
4092         A bin does not have a bus, it gets the bus from the parent.
4093
4094         * gst/gstelement.c: (gst_element_requires_clock),
4095         (gst_element_provides_clock), (gst_element_is_indexable),
4096         (gst_element_is_locked_state), (gst_element_change_state),
4097         (gst_element_set_bus_func):
4098         Small cleanups.
4099
4100         * gst/gstpipeline.c: (gst_pipeline_class_init),
4101         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4102         The pipeline provides a bus.
4103
4104 2005-09-28  Johan Dahlin  <johan@gnome.org>
4105
4106         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4107         gst_structure_get_enum instead of gst_structure_get_int
4108
4109         * gst/gststructure.c (gst_structure_get_enum): Impl.
4110
4111         * gst/gststructure.h (gst_structure_get_enum): Add
4112
4113         * docs/gst/gstreamer-sections.txt: Ditto
4114
4115         * gst/gstmessage.c (gst_message_new_state_changed): Use
4116         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4117         which does introspection.
4118         Reviewed by Christian Schaller
4119
4120 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4121
4122         * gst/gstinfo.c: (gst_debug_log_default):
4123           don't do dummy g_strdup()s
4124         * libs/gst/controller/gstcontroller.c:
4125         (on_object_controlled_property_changed),
4126         (gst_controlled_property_new), (gst_controller_new_valist),
4127         (gst_controller_new_list),
4128         (gst_controller_remove_properties_valist), (gst_controller_set),
4129         (gst_controller_get), (gst_controller_sync_values),
4130         (gst_controller_get_value_array), (_gst_controller_class_init),
4131         (gst_controller_get_type):
4132         * libs/gst/controller/gstcontroller.h:
4133         * libs/gst/controller/gstinterpolation.c:
4134         (gst_controlled_property_find_timed_value_node):
4135           convert // to /**/ comments
4136
4137 2005-09-28  Wim Taymans  <wim@fluendo.com>
4138
4139         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4140         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4141         (gst_bus_sync_signal_handler):
4142         * gst/gstbus.h:
4143         Added async-message and sync-message signals to the bus.
4144         Added helper BusFunc to emit signals for all posted messages.
4145
4146         * gst/gstmessage.c: (gst_message_type_get_name),
4147         (gst_message_type_to_quark), (gst_message_get_type):
4148         * gst/gstmessage.h:
4149         Register quarks for message names.
4150
4151 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4152
4153         * docs/libs/gstreamer-libs-sections.txt:
4154         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4155         (gst_controller_new_list):
4156         * libs/gst/controller/gstcontroller.h:
4157           added another constructor for language bindings
4158
4159 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4160
4161         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4162           add another check
4163         * gst/gstbus.c:
4164           add some doc
4165         * gst/gstinfo.c: (_gst_debug_init):
4166           slightly more readable color for refcount debugging
4167
4168 2005-09-28  Wim Taymans  <wim@fluendo.com>
4169
4170         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4171         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4172         (find_element), (gst_bin_sort_iterator_next),
4173         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4174         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4175         (gst_bin_change_state), (gst_bin_dispose):
4176         Small doc fixes. get_clock -> provide_clock.
4177
4178         * gst/gstelement.c: (gst_element_class_init),
4179         (gst_element_provides_clock), (gst_element_provide_clock),
4180         (gst_element_get_clock), (gst_element_commit_state),
4181         (gst_element_lost_state):
4182         * gst/gstelement.h:
4183         Make get/set_clock() symetric. Add provide_clock vmethod since
4184         that is actually what this function does.
4185
4186         * gst/gstpipeline.c: (gst_pipeline_class_init),
4187         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4188         (gst_pipeline_get_clock):
4189         get_clock -> provide_clock.
4190
4191 2005-09-28  Andy Wingo  <wingo@pobox.com>
4192
4193         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4194         lieu of real docs...
4195
4196         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4197
4198 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4199
4200         * gst/elements/gstcapsfilter.c:
4201         * gst/elements/gstfakesink.c:
4202         * gst/elements/gstfakesrc.c:
4203         * gst/elements/gstfdsink.c:
4204         * gst/elements/gstfdsrc.c:
4205         * gst/elements/gstfilesink.c:
4206         * gst/elements/gstfilesrc.c:
4207         * gst/elements/gstidentity.c:
4208         * gst/elements/gsttee.c:
4209         * gst/elements/gsttypefindelement.c:
4210           Make element details static.
4211
4212 2005-09-28  Wim Taymans  <wim@fluendo.com>
4213
4214         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4215         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4216         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4217         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4218         (gst_bin_change_state), (gst_bin_dispose):
4219         Some documentation updates.
4220         Clean up dispose handlers.
4221
4222         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4223         * gst/gstpad.c: (gst_pad_dispose):
4224         Clean up dispose handler.
4225
4226         * gst/gstpipeline.c: (gst_pipeline_change_state):
4227         Removed spurious UNLOCK.
4228
4229 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4230
4231         * docs/gst/gstreamer-sections.txt:
4232         * gst/base/gstbasesrc.h:
4233         * gst/gstelement.h:
4234         * gst/gstevent.h:
4235         * gst/gstobject.h:
4236         * gst/gstpad.h:
4237         * gst/gstpipeline.c:
4238         * gst/gstpipeline.h:
4239         * gst/gstutils.h:
4240         * gst/gstxml.h:
4241           added two new functions to the docs
4242                 documents all undocumented GstXXXFlags
4243                 completed some incomplete docs 
4244
4245 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4246
4247         * gst/gstbin.c: (gst_bin_dispose):
4248         * gst/gstelement.c: (gst_element_dispose):
4249           remove now useless and leaky resurrection code in dispose
4250         * gst/base/gstbasesrc.c: (gst_base_src_init):
4251         * gst/gstelementfactory.c: (gst_element_factory_create):
4252         * gst/gstobject.c: (gst_object_set_parent):
4253           add some debugging
4254
4255 2005-09-27  Wim Taymans  <wim@fluendo.com>
4256
4257         * docs/design/part-TODO.txt:
4258         Update TODO.
4259
4260         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4261         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4262         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4263         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4264         (gst_bin_change_state):
4265         * gst/gstelement.h:
4266         Remove element variable, we keep element info in the iterator now.
4267
4268 2005-09-27  Andy Wingo  <wingo@pobox.com>
4269
4270         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4271         values.
4272
4273 2005-09-27  Wim Taymans  <wim@fluendo.com>
4274
4275         * check/gst/gstbin.c: (GST_START_TEST):
4276         Enable check that works now.
4277
4278         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4279         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4280         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4281         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4282         (gst_bin_change_state):
4283         * gst/gstbin.h:
4284         Redid the state change algorithm using a topological sort algo.
4285         Handles all cases correctly.
4286         Exposed iterator for state change order.
4287
4288         * gst/gstelement.h:
4289         Temp storage for state changes. Need to get rid of this soon.
4290
4291 2005-09-27  Wim Taymans  <wim@fluendo.com>
4292
4293         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4294         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4295         (link_fold_func), (gst_pad_proxy_setcaps):
4296         Leak fixes, the fold functions need to unref the passed object and
4297         _get_parent_*() returns ref to parent.
4298
4299 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4300
4301         * check/gst/gstbuffer.c: (test_make_writable):
4302           Plug leak in test case and fix 'make check-valgrind'
4303
4304 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4305
4306         * gst/gstbuffer.c: (gst_subbuffer_init):
4307           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4308           works correctly in all circumstances (we could have just copied
4309           the parent buffer's readonly flag, but conceptually it seems
4310           cleaner to mark all subbuffers as read-only). (based on patch
4311           by Alessandro Decina, #314710).
4312         
4313         * check/gst/gstbuffer.c: (create_read_only_buffer),
4314         (test_make_writable), (test_subbuffer_make_writable),
4315         (gst_test_suite):
4316           Add some tests for gst_buffer_make_writable().
4317
4318 2005-09-27  Wim Taymans  <wim@fluendo.com>
4319
4320         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4321         use gst_object_has_ancestor().
4322
4323         * gst/gstobject.c: (gst_object_has_ancestor):
4324         * gst/gstobject.h:
4325         gst_object_has_ancestor() copied from gstbin.c as it is a
4326         usefull function.
4327
4328         * tests/instantiate/create.c: (create_all_elements):
4329         * tests/lat.c: (handoff_src), (handoff_sink):
4330         * tests/sched/runxml.c: (main):
4331         * tests/seeking/seeking1.c: (main):
4332         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4333         (main):
4334         Fix compilation of some tests.
4335
4336 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4337
4338         * gst/gsterror.h:
4339           Remove comment. GST_TYPE_G_ERROR is here to stay,
4340           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4341           (#316961, #300610).
4342
4343 2005-09-26  Wim Taymans  <wim@fluendo.com>
4344
4345         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4346         Added check that shows error in state change order.
4347
4348 2005-09-26  Wim Taymans  <wim@fluendo.com>
4349
4350         * gst/gstbin.c: (gst_bin_change_state):
4351         Make state change function use 3 queues again, we were
4352         adding elements in the wrong order.
4353
4354         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4355         Some debug info,
4356
4357         * gst/gstpad.c: (gst_pad_dispose):
4358         Added some debug info first.
4359
4360 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4361
4362         * docs/design/draft-push-pull.txt:
4363         * docs/design/part-events.txt:
4364         * docs/design/part-overview.txt:
4365         * docs/design/part-scheduling.txt:
4366           Replace all _pull_region() with _pull_range()
4367           
4368 2005-09-26  Andy Wingo  <wingo@pobox.com>
4369
4370         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4371
4372         * check/gst-libs/controller.c: Update for controller api change.
4373
4374         * configure.ac: 
4375         * tests/Makefile.am:
4376         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4377         over by GLib bug 118439.
4378         
4379         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4380         routines to a function.
4381
4382         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4383
4384         * libs/gst/controller/gsthelper.c:
4385         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4386         (gst_object_sync_values): Renamed from sink_values. Ugh.
4387
4388         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4389
4390         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4391         Renamed from controller_key, as it is exported.
4392
4393         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4394
4395 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4396
4397         * gst/Makefile.am:
4398         * gst/gst.h:
4399         * gst/gstpad.h:
4400         * gst/gstpadtemplate.h:
4401         * gst/gstquery.c:
4402         * gst/gstquery.h:
4403         * gst/gstqueryutils.c:
4404         * gst/gstqueryutils.h:
4405           remove queryutils headers after moving the two used functions
4406           to gstquery.  also fixes build problem for gstsiddec
4407
4408 2005-09-26  Michael Smith <msmith@fluendo.com>
4409
4410         * tools/gst-launch.1.in:
4411         Correct documentation in manpage of debug syntax
4412
4413 2005-09-26  Wim Taymans  <wim@fluendo.com>
4414
4415         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4416         (gst_base_src_is_seekable), (gst_base_src_change_state):
4417         Some more debugging info.
4418
4419 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4420
4421         * docs/gst/gstreamer-sections.txt:
4422         * gst/base/gstbasetransform.h:
4423         * gst/gstindex.h:
4424           added more docs
4425
4426 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4427
4428         * docs/gst/.cvsignore:
4429         * docs/gst/tmpl/.cvsignore:
4430         * docs/gst/tmpl/gstpipeline.sgml:
4431         * docs/gst/tmpl/gstplugin.sgml:
4432         * gst/gstpipeline.c:
4433         * gst/gstplugin.c:
4434         * gst/gstplugin.h:
4435           inlined the last two docs files
4436           removed the tmpl directory from cvs (no more conflicts here!)
4437
4438 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4439
4440         * docs/gst/gstreamer-sections.txt:
4441         * docs/gst/tmpl/.cvsignore:
4442         * docs/gst/tmpl/gstpad.sgml:
4443         * docs/gst/tmpl/gstpadtemplate.sgml:
4444         * gst/Makefile.am:
4445         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4446         (gst_pad_finalize), (gst_pad_set_pad_template):
4447         * gst/gstpad.h:
4448         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4449         (gst_pad_template_class_init), (gst_pad_template_init),
4450         (gst_pad_template_dispose), (name_is_valid),
4451         (gst_static_pad_template_get), (gst_pad_template_new),
4452         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4453         (gst_pad_template_pad_created):
4454         * gst/gstpadtemplate.h:
4455           inlined two more docs
4456           factored gstpadtemplate out of gstpad
4457
4458 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4459
4460         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4461         (test_children_state_change_order_semi_sink):
4462           Fix test case: we can't rely on a fixed state change order when
4463           going from READY => PAUSED because the sink might commit its 
4464           new state first when the first buffer created by the source 
4465           reaches the sink before the source has finished its change state.
4466           (Test case still fails at times, see #316856, comment 5 onwards)
4467
4468 2005-09-24  Wim Taymans  <wim@fluendo.com>
4469
4470         * docs/design/part-events.txt:
4471         * docs/design/part-gstbus.txt:
4472         * docs/design/part-gstpipeline.txt:
4473         * docs/design/part-messages.txt:
4474         * docs/design/part-overview.txt:
4475         * docs/design/part-segments.txt:
4476         * gst/gstbin.c:
4477         * gst/gstbuffer.c:
4478         * gst/gstclock.c:
4479         * gst/gstelement.c:
4480         * gst/gstevent.c:
4481         * gst/gstfilter.c:
4482         * gst/gstiterator.c:
4483         Various documentation updates.
4484
4485 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4486
4487         * gst/gstclock.h:
4488           Well, that's embarassing.  Luckily we weren't using
4489           GST_CLOCK_DIFF anywhere.
4490
4491 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4492
4493         * common/gtk-doc.mak:
4494           don't fail on building XML, FC4 slave shows a bunch of doc
4495           missing bits that I don't get
4496         * gst/gstpad.c:
4497         * gst/gstpipeline.c:
4498         * gst/gststructure.c:
4499           some doc updates
4500
4501 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4502
4503         * docs/design/part-gstbin.txt:
4504         * docs/design/part-gstbus.txt:
4505         * gst/gstbus.c:
4506           Add blurb about how the bus goes into flushing mode and
4507           drops all messages when its bin goes from READY into NULL 
4508           state.
4509
4510 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4511
4512         * docs/gst/gstreamer-sections.txt:
4513         * gst/gststructure.c: (gst_structure_get_clock_time):
4514         * gst/gststructure.h:
4515           add a method to get a GstClockTime out of a structure
4516
4517 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4518
4519         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4520         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4521           Added test to check state change order in bins (can still be made
4522           to fail here under heavy disk load; bails out with 'Push on pad
4523           fakesink:sink0, but it was not activated in push mode').
4524
4525         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4526           Fix state change order when there is only a semi sink (#316856)
4527
4528         * gst/gstbus.c: (gst_bus_class_init):
4529           Use _class_peek_parent(), not _class_ref(); fix docs to say
4530           'default main context' instead of 'mainloop' where that is
4531           what's meant.
4532
4533         * gst/gstelement.c: (gst_element_commit_state),
4534         (gst_element_set_state):
4535           Fix typos in debug messages
4536
4537 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4538
4539         * docs/README:
4540         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4541         * gst/gstpluginfeature.c:
4542         * gst/gstutils.c:
4543           various doc updates
4544         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4545           change an assert into an error until it gets fixed properly
4546
4547 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4548
4549         * docs/gst/gstreamer-sections.txt:
4550         * docs/gst/tmpl/.cvsignore:
4551         * docs/gst/tmpl/gstelement.sgml:
4552         * docs/gst/tmpl/gstinfo.sgml:
4553         * docs/gst/tmpl/gstobject.sgml:
4554         * gst/gstelement.c:
4555         * gst/gstelement.h:
4556         * gst/gstinfo.c:
4557         * gst/gstinfo.h:
4558         * gst/gstobject.c: (gst_object_class_init):
4559         * gst/gstobject.h:
4560           inlined 3 more biiiig doc files and added some missing docs on the fly
4561
4562 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4563
4564         * check/gst/.cvsignore:
4565         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4566         * gst/gstregistryxml.c: (load_plugin),
4567         (gst_registry_xml_save_plugin):
4568           put back source in registry.  add checks for find_plugin.
4569         * testsuite/states/bin.c: (assert_state), (empty_bin),
4570         (test_adding_one_element), (main):
4571         * testsuite/states/locked.c: (main):
4572           some compile/run fixes
4573
4574 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4575
4576         * check/gst/gstvalue.c: (GST_START_TEST):
4577           fix leaks in the test itself
4578
4579 2005-09-22  Wim Taymans  <wim@fluendo.com>
4580
4581         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4582         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4583         (gst_base_sink_query):
4584         Prepare for more accurate position reporting and query
4585         handling.
4586
4587         * gst/gstelement.c: (gst_element_send_event),
4588         (gst_element_set_state):
4589         Add some comment.
4590
4591 2005-09-22  Wim Taymans  <wim@fluendo.com>
4592
4593         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4594         (gst_query_parse_segment):
4595         * gst/gstquery.h:
4596         More documentation.
4597         Add segment query for future use.
4598
4599 2005-09-22  Wim Taymans  <wim@fluendo.com>
4600
4601         * gst/gstbin.c: (gst_bin_add_func):
4602         Some more debug info.
4603
4604         * gst/gstelement.c: (gst_element_send_event):
4605         Simplify send_event
4606
4607         * gst/gstelement.h:
4608         Don't know how flags got broken.
4609
4610         * gst/gstquery.h:
4611         Added new query.
4612
4613 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4614
4615         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4616           Add simplistic test suite for GST_TYPE_DATE serialisation and
4617           deserialisation.
4618
4619 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4620
4621         * docs/gst/gstreamer-sections.txt:
4622         * gst/gststructure.c: (gst_structure_set_valist),
4623         (gst_structure_get_date):
4624         * gst/gststructure.h:
4625         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4626         (gst_date_copy), (gst_value_compare_date),
4627         (gst_value_serialize_date), (gst_value_deserialize_date),
4628         (gst_value_transform_date_string),
4629         (gst_value_transform_string_date), (_gst_value_initialize):
4630         * gst/gstvalue.h:
4631           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4632           bunch of utility functions along with a hack that checks that
4633           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4634           is required. Part of the grand scheme in #170777.
4635
4636 2005-09-22  Andy Wingo  <wingo@pobox.com>
4637
4638         * gst/gstconfig.h.in: Psych out gtk-doc.
4639
4640         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4641
4642         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4643
4644         * tools/gst-inspect.c (print_element_list): Plug some
4645         inconsequential leaks.
4646
4647         * gst/gstregistry.c (gst_registry_get_default): Doc.
4648
4649         * check/gst/gstplugin.c: 
4650         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4651         * gst/gstelementfactory.c (gst_element_factory_create): 
4652         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4653         refcount changes.
4654
4655         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4656         (gst_plugin_feature_load): Doc, don't eat refs.
4657
4658         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4659         (gst_plugin_list_free): Doc.
4660         (gst_plugin_load_file): Doc updates.
4661
4662         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4663         accessors returning refcounted objects, return a ref.
4664
4665         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4666         accessor for caps. IDEMPOTENCE. Oh yes.
4667
4668 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4669
4670         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4671
4672         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4673         (_gst_debug_register_funcptr):
4674           Add mutex to serialise access to the hash table with
4675           the function pointer => function name string mapping;
4676           make that hash table static scope (#316809).
4677
4678         * gst/registries/.cvsignore:
4679           Remove left-over file.
4680
4681 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4682
4683         * docs/pwg/appendix-porting.xml:
4684           And something about newsegment events and caps-on-buffers to
4685           the porting guide (feel free to improve).
4686
4687 2005-09-21  Andy Wingo  <wingo@pobox.com>
4688
4689         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4690         data and event probes on the same pad.
4691         (test_buffer_probe_once): Test that removing probes from within
4692         the probe functions works.
4693
4694 2005-09-21  Andy Wingo  <wingo@pobox.com>
4695
4696         * check/gst/gstutils.c: New file.
4697         (test_buffer_probe_n_times): A simple buffer probe test. More to
4698         come, foolios.
4699
4700         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4701         have-data::buffer, not have-data.
4702         (gst_pad_add_event_probe): Likewise for have-data::event.
4703         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4704         peer' isn't quite right yet though.
4705         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4706         (gst_pad_remove_data_probe): Change to take the guint handler_id
4707         as their arg, not the function+data, which is more glib-like.
4708
4709         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4710         the signal emission to indicate if the data is a buffer or an
4711         event.
4712         (gst_pad_get_type): Initialize buffer and event quarks.
4713         (gst_pad_class_init): have-data is now a detailed signal, yes it
4714         is.
4715
4716 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4717
4718         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4719         * gst/gstutils.c: (gst_util_set_value_from_string),
4720         (gst_util_set_object_arg):
4721           Don't put functional code in g_return_if_fail() or
4722           g_return_val_if_fail() statements, otherwise things will 
4723           break when G_DISABLE_CHECKS is defined during compilation.
4724
4725 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4726
4727         * docs/gst/tmpl/.cvsignore:
4728         * docs/gst/tmpl/gstvalue.sgml:
4729         * gst/gstvalue.c:
4730         * gst/gstvalue.h:
4731           inlied another one and added  some obvious docs
4732
4733 2005-09-21  Wim Taymans  <wim@fluendo.com>
4734
4735         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4736         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4737         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4738         (gst_fdsrc_get_property), (gst_fdsrc_create):
4739         * gst/elements/gstfdsrc.h:
4740         Properly implement fdsrc. Removed signal and timeout,
4741         better implemented somewhere else.
4742
4743 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4744
4745         * docs/gst/tmpl/.cvsignore:
4746         * docs/gst/tmpl/gstimplementsinterface.sgml:
4747         * gst/gstinterface.c:
4748           inlined more docs
4749
4750 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4751
4752         * docs/gst/gstreamer-sections.txt:
4753         * docs/gst/tmpl/.cvsignore:
4754         * docs/gst/tmpl/gstenumtypes.sgml:
4755           remove obsolete doc file
4756
4757 2005-09-21  David Schleef  <ds@schleef.org>
4758
4759         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4760         little beer, fix a little leak.
4761
4762 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4763
4764         * docs/gst/gstreamer-docs.sgml:
4765         * docs/gst/gstreamer-sections.txt:
4766         * docs/gst/tmpl/.cvsignore:
4767         * gst/Makefile.am:
4768         * gst/gst.h:
4769         * gst/gstbin.c:
4770         * gst/gstelement.h:
4771         * gst/gstindex.c: (gst_index_class_init):
4772         * gst/gstindex.h:
4773         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4774         (gst_index_factory_class_init), (gst_index_factory_init),
4775         (gst_index_factory_finalize), (gst_index_factory_new),
4776         (gst_index_factory_destroy), (gst_index_factory_find),
4777         (gst_index_factory_create), (gst_index_factory_make):
4778         * gst/gstindexfactory.h:
4779         * gst/gstpluginfeature.c:
4780         * gst/gstpluginfeature.h:
4781         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4782           more docs inlined, splitted gstindex.{c,h}
4783
4784 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4785
4786         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4787           fix a leak
4788
4789 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4790
4791         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4792           Set sync to FALSE by default.
4793
4794 2005-09-20  Wim Taymans  <wim@fluendo.com>
4795
4796         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4797         (gst_base_sink_init):
4798         Make sync property settable from subclass.
4799
4800         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4801         (gst_fake_sink_change_state):
4802         Set sync to FALSE by default.
4803
4804 2005-09-20  Wim Taymans  <wim@fluendo.com>
4805
4806         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
4807         * tools/gst-launch.c: (main):
4808         The timeout handler should have lower priority than the source
4809         so we don't timeout before popping a message with 0 timeout.
4810         Dump error messages after failed state change.
4811
4812 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4813
4814         * tools/gst-inspect.c: (print_element_properties_info):
4815           Fix two typos.
4816
4817 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4818
4819         * check/gst/gstevent.c:
4820         * gst/elements/gstfakesink.c:
4821         * gst/elements/gstfakesink.h:
4822           remove the sync property from fakesink.
4823           has the side effect of setting sync TRUE
4824           for fakesink, which is a change.  Anyone who knows how
4825           to fix this nicely in a GObject-y way, feel free.
4826
4827 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4828
4829         * docs/gst/gstreamer-docs.sgml:
4830           remove probe refsection
4831
4832 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4833
4834         * check/Makefile.am:
4835           disable valgrinding the controller test again
4836         * docs/gst/gstreamer-sections.txt:
4837           update for api-changes
4838
4839 2005-09-20  Wim Taymans  <wim@fluendo.com>
4840
4841         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4842         (gst_base_sink_set_property), (gst_base_sink_get_property),
4843         (gst_base_sink_do_sync):
4844         * gst/base/gstbasesink.h:
4845         Added sync property to basesink to disable clock sync.
4846
4847 2005-09-20  Andy Wingo  <wingo@pobox.com>
4848
4849         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
4850         eating the caller's refcount.
4851
4852         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
4853         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4854         refcount.
4855
4856         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
4857         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
4858         of GLib 2.8 public, so we can know which refcount to check in
4859         tests.
4860
4861         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
4862         (gst_object_init): Only set the gst refcount if we're going ahead
4863         with the refcount hack.
4864
4865 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4866
4867         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4868         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4869           more leaks plumbed, added more debug-logging
4870         * gst/gstmacros.h:
4871           whitespace fix
4872
4873 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4874
4875         * gst/gstmessage.c:
4876           remove include of gstmemchunk.h
4877
4878 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4879
4880         * gst/gstclock.c: (_gst_clock_id_free):
4881           Commit from the Political Party For More Atomic CVS Commits,
4882           so that people don't waste too much of their day fishing
4883           out obvious leaks out of massive commits.
4884           Oh, and fix a pretty damn obvious leak in the memchunk
4885           removal code.
4886
4887 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4888
4889         * check/Makefile.am:
4890         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4891           plug mem-leak, re-add to valgrindable tests
4892
4893 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * gst/gstplugin.h:
4896           unbreak the build for those who have chronic arthritis
4897           and typing "make check" is just too taxing on the hands
4898
4899 2005-09-20  Andy Wingo  <wingo@pobox.com>
4900
4901         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
4902         really want it out, you should fix plugins at the same time.
4903
4904 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
4905
4906         * configure.ac:
4907         * docs/gst/gstreamer-sections.txt:
4908         * gst/gstobject.c:
4909           added missing symbols to api docs
4910           disable ref-count hack if we have glib >= 2.8
4911
4912 2005-09-19  David Schleef  <ds@schleef.org>
4913
4914         * docs/gst/Makefile.am: Ignore a few more internal headers
4915         * docs/gst/gstreamer-docs.sgml: Remove old sections
4916         * docs/gst/gstreamer-sections.txt: Remove old sections
4917         * docs/gst/tmpl/gstobject.sgml: update
4918         * docs/gst/tmpl/gstplugin.sgml: update
4919         * docs/gst/tmpl/gstpluginfeature.sgml: update
4920         * docs/random/ds/0.9-suggested-changes: update.
4921         * gst/Makefile.am: remove memchunk and trashstack, since they're
4922           not used.
4923         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
4924         * gst/gst.h: don't include some headers
4925         * gst/gstchildproxy.c: add gstmarshal.h
4926         * gst/gstclock.c: Don't use memchunks
4927         * gst/gstminiobject.c: Add some docs
4928         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
4929         * gst/gstobject.h: same
4930         * gst/gstplugin.c: include gstmacros.h
4931         * gst/gstplugin.h: don't include gstmacros.h, since it's private
4932         * gst/gstquery.c: don't use memchunks
4933         * gst/gstregistry.c: rename gst_registry_deinit()
4934         * gst/gstregistry.h: same
4935
4936 2005-09-19  David Schleef  <ds@schleef.org>
4937
4938         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
4939         * docs/libs/gstreamer-libs-sections.txt:
4940         * docs/libs/tmpl/gstgetbits.sgml:
4941         * docs/libs/tmpl/gstputbits.sgml:
4942
4943 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4944
4945         * win32/gstenumtypes.c:
4946         * win32/gstenumtypes.h:
4947           Update.
4948
4949 2005-09-19  Wim Taymans  <wim@fluendo.com>
4950
4951         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
4952         Automatically PAUSE and RESUME a pipeline when a flushing seek
4953         is performed.
4954
4955 2005-09-19  Andy Wingo  <wingo@pobox.com>
4956
4957         * gst/gstregistry.h: Spacing fixen.
4958
4959 2005-09-19  Wim Taymans  <wim@fluendo.com>
4960
4961         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
4962         Handle state change failure more correctly.
4963
4964 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * check/Makefile.am:
4967         * check/pipelines/cleanup.c: (run_pipeline):
4968         * check/pipelines/simple_launch_lines.c: (run_pipeline),
4969         (GST_START_TEST):
4970           enable cleanup again after fixing the leak
4971         * docs/README:
4972           some more info on docs
4973
4974 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4975
4976         * check/Makefile.am:
4977           re-enable tests now that leaks are plugged
4978         * check/gst/gst.c:
4979         * check/gst/gstbin.c:
4980         * check/gst/gstpipeline.c:
4981           add some more tests while fixing leaks
4982         * common/check.mak:
4983           make sure binaries are uptodate when valgrinding/gdbing
4984         * gst/gst.c:
4985         * gst/gstelementfactory.c:
4986           remove a ref too many, and add a FIXME for when we get
4987           round to disposing of classes
4988         * gst/gstplugin.c:
4989           fix the refcounting when loading a plugin from a file and
4990           the code pretends that the pointer is the same even though
4991           of course it can change
4992         * gst/gstpluginfeature.c:
4993           unref plugins marked cached (a bit confusing as a name)
4994           as the docs state should be done
4995           various doc additions to explain refcounting
4996         * gst/gstregistry.c:
4997         * gst/gstregistryxml.c:
4998           debugging
4999
5000 2005-09-19  Wim Taymans  <wim@fluendo.com>
5001
5002         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5003         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5004         (send_messages), (GST_START_TEST), (gstbus_suite):
5005         * check/gst/gstpipeline.c: (GST_START_TEST):
5006         * check/pipelines/cleanup.c: (run_pipeline):
5007         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5008         (GST_START_TEST):
5009         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5010         (gst_bus_source_check), (gst_bus_source_dispatch),
5011         (gst_bus_create_watch), (gst_bus_add_watch_full),
5012         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5013         * gst/gstbus.h:
5014         * tools/gst-launch.c: (event_loop):
5015         * tools/gst-md5sum.c: (event_loop):
5016         GstBusHandler -> GstBusFunc, return value has the same meaning as
5017         any other GSource (FALSE == remove source).
5018         _add_watch() and _add_watch_full() now take a MessageType mask to
5019         only handle specific types of messages.
5020         _poll() returns the GstMessage instead of the message type to avoid
5021         race conditions.
5022         _have_pending() takes a MessageType mask now too.
5023         Added testsuite for multiple bus watches.
5024         Fix testsuites and applications for new bus API.
5025
5026 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5027
5028         * check/Makefile.am:
5029           mark a bunch of the tests as to fix until we fix them
5030
5031 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5032
5033         * common/check.mak:
5034           use GST_PLUGIN settings for valgrind tests as well, so we're
5035           valgrinding the correct thing
5036         * gst/gst.c: (init_post):
5037           plug another leak
5038
5039 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5040
5041         * gst/gst.c: (init_post), (gst_deinit):
5042         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5043         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5044         * gst/gstindex.c: (gst_index_factory_class_init),
5045         (gst_index_factory_finalize):
5046         * gst/gstobject.c: (gst_object_dispose):
5047         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5048         (gst_plugin_load_file), (gst_plugin_desc_free):
5049         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5050         (gst_plugin_feature_finalize):
5051         * gst/gstregistry.c: (gst_registry_class_init),
5052         (gst_registry_init), (gst_registry_finalize),
5053         (gst_registry_get_default), (gst_registry_deinit):
5054         * gst/gstregistry.h:
5055         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5056           various cleanups and memleak plugging.  make valgrind is happy now.
5057
5058 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5059
5060         * common/check.mak:
5061           add a check-valgrind target
5062
5063 2005-09-18  David Schleef  <ds@schleef.org>
5064
5065         * tools/gst-inspect.c: Revert the GOption code.
5066
5067 2005-09-17  David Schleef  <ds@schleef.org>
5068
5069         * check/Makefile.am: Fix environment variables.
5070         * check/gst/gstplugin.c: Fix for API changes.
5071         * tools/gst-inspect.c: Fix for API changes.
5072         * tools/gst-xmlinspect.c: Fix for API changes.
5073         * gst/gstelementfactory.c:
5074         * gst/gstplugin.c:
5075         * gst/gstplugin.h:
5076         * gst/gstpluginfeature.c:
5077         * gst/gstpluginfeature.h:
5078         * gst/gstregistry.c:
5079         * gst/gstregistry.h:
5080         * gst/gstregistryxml.c:
5081         * gst/gsttypefind.c:
5082         * gst/gsttypefindfactory.c:
5083         * gst/indexers/gstfileindex.c:
5084         * gst/indexers/gstmemindex.c:
5085         * gst/schedulers/Makefile.am:
5086           Change registry to keep track of both plugins and features,
5087           removing the feature tracking from plugins themselves.
5088
5089 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * check/Makefile.am:
5092         * tools/gst-register.1.in:
5093           remove gst-register
5094
5095 2005-09-15  David Schleef  <ds@schleef.org>
5096
5097         * check/gst/gstplugin.c:
5098         * gst/gstelementfactory.c:
5099         * gst/gstplugin.c:
5100         * gst/gstpluginfeature.c:
5101         * gst/gstregistry.c:
5102           Getting tired of debugging.  Disabled all the unreffing of
5103           plugins and features, which fixes the segfaults, but of
5104           course leaks like crazy.  At least playbin works.
5105
5106 2005-09-15  David Schleef  <ds@schleef.org>
5107
5108         * check/gst/gstplugin.c: (register_check_elements),
5109         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5110         More testing
5111         * gst/elements/gsttypefindelement.c: Fix refcounting.
5112         * gst/gsttypefind.c:
5113         * gst/gsttypefindfactory.c:
5114         * gst/gsttypefindfactory.h:
5115
5116 2005-09-15  David Schleef  <ds@schleef.org>
5117
5118         * gst/gstindex.c: get refcounting correct.
5119         * gst/gstregistry.c: Handle the case where a feature/plugin is
5120           not found.
5121
5122 2005-09-15  David Schleef  <ds@schleef.org>
5123
5124         * check/Makefile.am:
5125         * check/gst/gstplugin.c: Add test
5126         * gst/gstplugin.c: Fix problems noticed by testsuite
5127         * gst/gstplugin.h:
5128         * gst/gstregistry.c: 
5129         * gst/gstregistry.h:
5130
5131 2005-09-15  David Schleef  <ds@schleef.org>
5132
5133         * gst/gstplugin.c: Implement semi-decent recounting and locking
5134           in plugins and plugin features.
5135         * gst/gstplugin.h:
5136         * gst/gstpluginfeature.c:
5137         * gst/gstpluginfeature.h:
5138         * gst/gstregistry.c:
5139
5140 2005-09-15  Michael Smith <msmith@fluendo.com>
5141
5142         * gst/gstregistry.c: (gst_registry_get_feature_list):
5143           Implement this. Makes oggdemux work; decodebin still broken.
5144
5145 2005-09-14  David Schleef  <ds@schleef.org>
5146
5147         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5148           #316076)
5149         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5150         * gst/check/Makefile.am:
5151         * libs/gst/controller/Makefile.am:
5152         * libs/gst/dataprotocol/Makefile.am:
5153
5154 2005-09-14  David Schleef  <ds@schleef.org>
5155
5156         * configure.ac: Remove getbits library.  Nothing uses it, and
5157           it should be in something like liboil if someone did want
5158           to use it.
5159         * libs/gst/Makefile.am:
5160         * libs/gst/getbits/Makefile.am:
5161         * libs/gst/getbits/gbtest.c:
5162         * libs/gst/getbits/getbits.c:
5163         * libs/gst/getbits/getbits.h:
5164         * libs/gst/getbits/gstgetbits_generic.c:
5165         * libs/gst/getbits/gstgetbits_i386.s:
5166         * libs/gst/getbits/gstgetbits_inl.h:
5167
5168 2005-09-14  David Schleef  <ds@schleef.org>
5169
5170         * gst/Makefile.am: Dist glib-compat.h
5171
5172 2005-09-14  David Schleef  <ds@schleef.org>
5173
5174         * configure.ac: Remove gst/registries, since it's no longer used.
5175         * gst/registries/Makefile.am:
5176         * gst/registries/gstlibxmlregistry.c:
5177         * gst/registries/gstlibxmlregistry.h:
5178         * gst/registries/gstxmlregistry.c:
5179         * gst/registries/gstxmlregistry.h:
5180         * gst/registries/registrytest.c:
5181
5182 2005-09-14  David Schleef  <ds@schleef.org>
5183
5184         * gst/glib-compat.h:
5185         * gst/gstregistryxml.c:
5186           Convergence is near.  Seriously.
5187
5188 2005-09-14  David Schleef  <ds@schleef.org>
5189
5190         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5191         * gst/glib-compat.h:
5192           Attempt #4 to appease the buildbots.
5193
5194 2005-09-14  David Schleef  <ds@schleef.org>
5195
5196         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5197           Attempt #3.
5198
5199 2005-09-14  David Schleef  <ds@schleef.org>
5200
5201         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5202         Attempt #2.
5203
5204 2005-09-14  David Schleef  <ds@schleef.org>
5205
5206         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5207           the new functions.
5208
5209 2005-09-14  David Schleef  <ds@schleef.org>
5210
5211         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5212         * gst/glib-compat.h: Add some functions that are in newer versions
5213           of glib than we care to require.
5214         * gst/gstregistryxml.c: Use them.
5215
5216 2005-09-14  David Schleef  <ds@schleef.org>
5217
5218         * po/POTFILES.in: remove gst-register.c
5219
5220 2005-09-14  David Schleef  <ds@schleef.org>
5221
5222         * docs/gst/gstreamer-docs.sgml:
5223         * docs/gst/gstreamer-sections.txt:
5224         * docs/gst/gstreamer.types:
5225         * docs/gst/tmpl/gstelement.sgml:
5226         * docs/gst/tmpl/gstplugin.sgml:
5227         * docs/gst/tmpl/gstpluginfeature.sgml:
5228           Documentation updates for registry changes.
5229
5230 2005-09-14  David Schleef  <ds@schleef.org>
5231
5232         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5233           because we don't require glib-2.8.
5234
5235 2005-09-14  David Schleef  <ds@schleef.org>
5236
5237         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5238           registries directory.
5239
5240 2005-09-14  David Schleef  <ds@schleef.org>
5241
5242         * check/Makefile.am:
5243         * check/generic/states.c:
5244         * gst/Makefile.am:
5245         * gst/gst.c:
5246         * gst/gst.h:
5247         * gst/gst_private.h:
5248         * gst/gstelementfactory.c:
5249         * gst/gstindex.c:
5250         * gst/gstinfo.c:
5251         * gst/gstplugin.c:
5252         * gst/gstplugin.h:
5253         * gst/gstpluginfeature.c:
5254         * gst/gstpluginfeature.h:
5255         * gst/gstregistry.c:
5256         * gst/gstregistry.h:
5257         * gst/gstregistrypool.c: remove
5258         * gst/gstregistrypool.h: remove
5259         * gst/gsttypefind.c:
5260         * gst/gsttypefindfactory.c:
5261         * gst/gsturi.c:
5262         * tools/Makefile.am:
5263         * tools/gst-compprep.c:
5264         * tools/gst-inspect.c:
5265         * tools/gst-register.c: remove
5266         * tools/gst-xmlinspect.c:
5267           Registry rewrite.  Changes registry from being a file created
5268           by a tool into a simple cache file created automatically by 
5269           libgstreamer.  Removed gst-register (because it's no longer
5270           needed).  Remove registry pools, because we only have one
5271           registry implementation (XML).  Fix up other subsystems as
5272           necessary.
5273
5274 2005-09-13  Michael Smith <msmith@fluendo.com>
5275
5276         * gst/gstconfig.h.in:
5277           Don't Use windows linking attributes for MinGW. Fixes #316157
5278
5279 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5280
5281         * gst/gstutils.c: (set_state_async_thread_func),
5282         (gst_element_set_state_async):
5283           Apparently people think it's better if this function doesn't
5284           try to set the state to whatever state was asked for on the first
5285           call to this function for any object.  Seriously.
5286
5287 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5288
5289         * check/gst/gstpipeline.c: (GST_START_TEST):
5290         * docs/gst/gstreamer-sections.txt:
5291         * gst/gstutils.c: (set_state_async_thread_func),
5292         (gst_element_set_state_async):
5293         * gst/gstutils.h:
5294           add a "gst_element_set_state_async" method that
5295           sets the state and starts a thread to make sure the state
5296           change completes as best as it can
5297
5298 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5299
5300         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5301           codify design+behaviour in testsuite after discussion
5302
5303 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5304
5305         * docs/gst/tmpl/gstelement.sgml:
5306         * docs/manual/appendix-quotes.xml:
5307           add a quote
5308         * gst/gstelement.c: (gst_element_set_state):
5309           add some debug
5310
5311 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5312
5313         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5314         (gst_base_transform_prepare_output_buf),
5315         (gst_base_transform_handle_buffer):
5316         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5317         (gst_capsfilter_prepare_buf):
5318           Remove the requirement for sub-classes to call the parent
5319           implementation of prepare_output_buffer with a wrapper function.
5320           
5321         * gst/gsttaglist.h:
5322         * gst/gsttagsetter.h:
5323           Fix #define wrapper
5324
5325 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5326
5327         * docs/gst/gstreamer-sections.txt:
5328           more doc cleanups
5329
5330 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5331
5332         * docs/gst/gstreamer-sections.txt:
5333         * docs/gst/tmpl/gstelement.sgml:
5334         * docs/gst/tmpl/gstplugin.sgml:
5335         * gst/gstminiobject.c:
5336         * gst/gstvalue.h:
5337           docs now stop throwing warnings
5338
5339 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5340
5341         * docs/gst/gstreamer-sections.txt:
5342         * docs/gst/gstreamer.types:
5343         * docs/gst/tmpl/gstpad.sgml:
5344         * docs/gst/tmpl/gsttypes.sgml:
5345         * gst/base/gstadapter.h:
5346         * gst/base/gstbasesink.h:
5347         * gst/base/gstbasesrc.h:
5348         * gst/gstbin.h:
5349         * gst/gstbuffer.h:
5350         * gst/gstbus.h:
5351         * gst/gstcaps.h:
5352         * gst/gstclock.h:
5353         * gst/gstelement.h:
5354         * gst/gstevent.h:
5355         * gst/gstmessage.h:
5356         * gst/gstpad.h:
5357         * gst/gststructure.c:
5358         * gst/registries/gstlibxmlregistry.h:
5359           various documentation fixes
5360
5361 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5362
5363         * docs/gst/gstreamer-sections.txt:
5364         * docs/gst/tmpl/gstvalue.sgml:
5365           rearrange gstvalue section
5366         * gst/gstutils.c: (gst_element_state_get_name):
5367           NONE -> VOID
5368         * gst/gstvalue.c: (_gst_value_initialize):
5369         * gst/gstvalue.h:
5370           doc updates
5371
5372 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5373
5374         * check/gst-libs/controller.c:
5375           Header include fix.
5376         * gst/base/gstbasetransform.c:
5377         (gst_base_transform_default_prepare_buf),
5378         (gst_base_transform_handle_buffer):
5379         * gst/base/gstbasetransform.h:
5380           Some more basetransform changes and fixes to enable sub-classes
5381           that modify buffer metadata only.
5382         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5383         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5384         (gst_capsfilter_prepare_buf):
5385           If the output pad has fixed allowed caps and input buffers 
5386           don't have any, set the fixed caps on outgoing buffers.
5387
5388 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5389         * check/elements/identity.c: (GST_START_TEST):
5390           Make the error a little clearer when the test fails because
5391           identity made a copy of the buffer.
5392         * docs/gst/gstreamer-sections.txt:
5393           New symbols in gstbasetransform.h
5394         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5395         (gst_base_transform_init), (gst_base_transform_transform_size),
5396         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5397         (gst_base_transform_default_prepare_buf),
5398         (gst_base_transform_get_unit_size),
5399         (gst_base_transform_buffer_alloc),
5400         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5401         (gst_base_transform_change_state),
5402         (gst_base_transform_set_passthrough),
5403         (gst_base_transform_set_in_place),
5404         (gst_base_transform_is_in_place):
5405         * gst/base/gstbasetransform.h:
5406           Change BaseTransform to separate in_place operate from same_caps
5407           output. in_place implies that the element can perform the transform
5408           on incoming buffers in-place, even if the caps on the output are
5409           different.
5410           Sub-class elements can now implement special buffer allocation
5411           methods for outgoing buffers if they wish to.
5412           Big documentation addition.
5413         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5414         * gst/elements/gstelements.c:
5415           Changes for basetransform modifications.
5416         * gst/elements/Makefile.am:
5417         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5418           Compile fix. Extra debug output.
5419
5420 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5421
5422         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5423         (gst_pad_suite):
5424           add tests for valid pad naming
5425         * gst/check/gstcheck.c: (gst_check_log_message_func),
5426         (gst_check_log_critical_func):
5427           add ASSERT_WARNING
5428           remove printing of code, it is fragile when the code contains
5429           % and the line number is enough info
5430         * gst/check/gstcheck.h:
5431         * gst/gstpad.c: (gst_pad_template_new):
5432           fix memleaks
5433
5434 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5435
5436         * configure.ac:
5437           say what CHECK flags we use
5438         * docs/libs/gstreamer-libs.types:
5439         * libs/gst/controller/Makefile.am:
5440         * libs/gst/controller/gst-controller.c:
5441         * libs/gst/controller/gst-controller.h:
5442         * libs/gst/controller/gst-helper.c:
5443         * libs/gst/controller/gst-interpolation.c:
5444         * libs/gst/controller/gstcontroller.c:
5445         * libs/gst/controller/gsthelper.c:
5446         * libs/gst/controller/gstinterpolation.c:
5447         * tools/gst-inspect.c: (print_plugin_info):
5448           we don't use dashes in header names
5449
5450 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5451
5452         * check/Makefile.am:
5453         * check/gst/.cvsignore:
5454         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5455         (gst_pipeline_suite), (main):
5456           adding a test for pipelines and state changes
5457         * gst/gstutils.c: (get_state_func):
5458           add some debugging
5459         * gstreamer.spec.in:
5460           fix up spec file
5461
5462 2005-09-08  Michael Smith <msmith@fluendo.com>
5463
5464         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5465         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5466         (gst_file_src_is_seekable), (gst_file_src_get_size),
5467         (gst_file_src_start):
5468         * gst/elements/gstfilesrc.h:
5469           Various fixes for unseekable, unmmapable, and non-normal files, so
5470           that fallback to read() rather than mmap() works.
5471         * gst/gstevent.c: (gst_event_new_newsegment):
5472           Allow newsegment events with segment_start == segment_end, as will
5473           correctly happen if you use filesrc on a zero-size file, for
5474           example.
5475
5476 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5477
5478         * gst/gstplugin.c: (gst_plugin_load_file):
5479           Call g_module_close when we don't load the module
5480
5481         * gst/registries/gstlibxmlregistry.c:
5482         (gst_xml_registry_get_property):
5483           Port leak fix from 0.8
5484
5485 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5486
5487         * docs/gst/gstreamer-docs.sgml:
5488         * docs/gst/tmpl/.cvsignore:
5489         * docs/gst/tmpl/gsttrace.sgml:
5490         * docs/gst/tmpl/gsttrashstack.sgml:
5491         * gst/Makefile.am:
5492         * gst/gst.h:
5493         * gst/gstelement.h:
5494         * gst/gstevent.h:
5495         * gst/gstmessage.c:
5496         * gst/gstmessage.h:
5497         * gst/gsttag.c:
5498         * gst/gsttag.h:
5499         * gst/gsttaginterface.c:
5500         * gst/gsttaginterface.h:
5501         * gst/gsttaglist.c:
5502         * gst/gsttaglist.h:
5503         * gst/gsttagsetter.c:
5504         * gst/gsttagsetter.h:
5505         * gst/gsttrace.c:
5506         * gst/gsttrace.h:
5507         * gst/gsttrashstack.c:
5508           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5509           inlined docs for gsttrace, gsttrashstack
5510
5511 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5512
5513         * gst/Makefile.am:
5514         * gst/elements/gstbufferstore.h:
5515         * gst/elements/gsttypefindelement.c:
5516         * gst/elements/gsttypefindelement.h:
5517         * gst/gst.h:
5518         * gst/gsttypefind.c:
5519         * gst/gsttypefind.h:
5520         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5521         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5522         (gst_type_find_factory_dispose),
5523         (gst_type_find_factory_unload_thyself),
5524         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5525         (gst_type_find_factory_get_caps),
5526         (gst_type_find_factory_get_extensions),
5527         (gst_type_find_factory_call_function):
5528         * gst/gsttypefindfactory.h:
5529         * gst/registries/gstlibxmlregistry.c:
5530         * gst/registries/gstxmlregistry.c:
5531           splitted gsttypefind into gsttypefind, gsttypefindfactory
5532
5533 2005-09-07  Andy Wingo  <wingo@pobox.com>
5534
5535         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5536         condition whereby the pad's task function is entered before the
5537         pad_mode variable was set.
5538
5539 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5540
5541         * gst/gstpad.c: (gst_pad_alloc_buffer):
5542           Catch misbehaving pad_alloc functions that don't
5543           set up caps and do it for them.
5544
5545 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5546
5547         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5548           test for pipe!=NULL
5549         * docs/gst/tmpl/.cvsignore:
5550         * docs/gst/tmpl/gstmemchunk.sgml:
5551         * docs/gst/tmpl/gstparse.sgml:
5552         * docs/gst/tmpl/gsttaglist.sgml:
5553         * docs/gst/tmpl/gsttagsetter.sgml:
5554         * docs/gst/tmpl/gsttypefind.sgml:
5555         * docs/gst/tmpl/gsttypefindfactory.sgml:
5556         * gst/gstmemchunk.c:
5557         * gst/gstparse.c:
5558         * gst/gsttag.c:
5559         * gst/gsttaginterface.c:
5560         * gst/gsttypefind.c:
5561         * gst/gsttypefind.h:
5562           inlined more docs
5563
5564 === release 0.9.2 ===
5565
5566 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5567
5568         * NEWS:
5569         * RELEASE:
5570         * configure.ac:
5571           releasing 0.9.2, "South"
5572
5573 2005-09-05  Andy Wingo  <wingo@pobox.com>
5574
5575         * gst/registries/gstxmlregistry.h:
5576         * gst/registries/gstxmlregistry.c: Um... resurrect...
5577         
5578         * gst/registries/gstxmlregistry.h:
5579         * gst/registries/gstxmlregistry.c: and update to newer API.
5580         Incidentally they should be a bit faster now that they don't have
5581         to parse the caps.
5582         
5583 2005-09-05  Andy Wingo  <wingo@pobox.com>
5584
5585         * gst/registries/gstxmlregistry.h:
5586         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5587         replaced by the libxml registry a while back
5588
5589 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5590
5591         * docs/gst/tmpl/gstplugin.sgml:
5592         * gst/elements/gstelements.c:
5593         * gst/gst.c:
5594         * gst/gstplugin.c: (gst_plugin_register_func),
5595         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5596         (gst_plugin_get_source):
5597         * gst/gstplugin.h:
5598         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5599         (gst_xml_registry_save_plugin):
5600         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5601         (gst_xml_registry_save_plugin):
5602         * tools/gst-inspect.c: (print_plugin_info):
5603           add a "source" plugin description field, to represent the source
5604           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5605           will set it to PACKAGE, which is automake's idea of the name of
5606           the source project.
5607
5608 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5609
5610         * Makefile.am:
5611         * autogen.sh:
5612         * configure.ac:
5613         * docs/Makefile.am:
5614         * docs/faq/Makefile.am:
5615         * docs/gst/tmpl/gstelement.sgml:
5616         * docs/gst/tmpl/gsttypes.sgml:
5617         * docs/htmlinstall.mak:
5618         * docs/manual/Makefile.am:
5619         * docs/pwg/Makefile.am:
5620           reorganize doc build a little
5621           split out docbook and gtk-doc stuff
5622           have two separate --enable's and enable them through autogen
5623           but disable by default in configure (to be similar to other
5624           projects)
5625         * gstreamer.spec.in:
5626           clean up docs install
5627         * po/af.po:
5628         * po/az.po:
5629         * po/ca.po:
5630         * po/cs.po:
5631         * po/de.po:
5632         * po/en_GB.po:
5633         * po/fr.po:
5634         * po/it.po:
5635         * po/nb.po:
5636         * po/nl.po:
5637         * po/ru.po:
5638         * po/sq.po:
5639         * po/sr.po:
5640         * po/sv.po:
5641         * po/tr.po:
5642         * po/uk.po:
5643         * po/vi.po:
5644           translation updates
5645
5646 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5647
5648         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5649           Add comment.
5650           
5651         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5652         (gst_fake_sink_change_state):
5653           Make state change function thread-safe.
5654           
5655         * gst/gstpad.c: (gst_pad_alloc_buffer):
5656           Set offset on generic buffer allocated by fallback.
5657
5658 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5659
5660         * docs/gst/gstreamer-sections.txt:
5661         * docs/gst/tmpl/gstelement.sgml:
5662         * gst/gstpad.c:
5663         * libs/gst/controller/gst-controller.c:
5664         (gst_controlled_property_set_interpolation_mode),
5665         (gst_controlled_property_new),
5666         (gst_controller_find_controlled_property):
5667          run the wingo-magic script against the docs
5668
5669 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5670
5671         * docs/gst/gstreamer-docs.sgml:
5672         * docs/gst/gstreamer-sections.txt:
5673         * docs/gst/tmpl/.cvsignore:
5674         * docs/gst/tmpl/gstelementdetails.sgml:
5675         * docs/gst/tmpl/gstelementfactory.sgml:
5676         * gst/gst.c:
5677         * gst/gstbus.c:
5678         * gst/gstelementfactory.c:
5679         * gst/gstelementfactory.h:
5680           merged elementdetails docs into elementfactory docs
5681           inlined both
5682
5683 2005-09-02  Andy Wingo  <wingo@pobox.com>
5684
5685         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5686         consider this enum an enum and not a flags.
5687
5688 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5689
5690         * docs/gst/gstreamer-docs.sgml:
5691         * docs/gst/tmpl/.cvsignore:
5692         * docs/gst/tmpl/gstghostpad.sgml:
5693         * docs/gst/tmpl/gstiterator.sgml:
5694         * docs/gst/tmpl/gstmacros.sgml:
5695         * docs/gst/tmpl/gstrealpad.sgml:
5696         * docs/gst/tmpl/gstregistry.sgml:
5697         * docs/gst/tmpl/gstregistrypool.sgml:
5698         * docs/gst/tmpl/gststructure.sgml:
5699         * docs/gst/tmpl/gstsystemclock.sgml:
5700         * docs/gst/tmpl/gsttrace.sgml:
5701         * gst/gstghostpad.c:
5702         * gst/gstmacros.h:
5703         * gst/gstmemchunk.c:
5704         * gst/gstmemchunk.h:
5705         * gst/gstqueue.c:
5706         * gst/gstregistry.c:
5707         * gst/gstregistrypool.c:
5708         * gst/gststructure.c:
5709         * gst/gstsystemclock.c:
5710           more docs inlined
5711
5712 2005-09-02  Andy Wingo  <wingo@pobox.com>
5713
5714         * gst/gstelement.h (GstState): Renamed from GstElementState,
5715         changed to be a normal enum instead of flags.
5716         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5717         munged to be GST_STATE_CHANGE_*.
5718         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5719         work with the new state representation.
5720         (GstStateChange): New enumeration of possible state transitions.
5721         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5722         (GstElementClass::change_state): Pass the GstStateChange along as
5723         an argument. Helps language bindings, so they don't have to use
5724         tricky lock-needing macros like GST_STATE_CHANGE ().
5725
5726         * scripts/update-states (file): New script. Run it on a file to
5727         update it for state naming and API changes. Updates files in
5728         place.
5729
5730         * All files updated for the new API.
5731
5732 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5733
5734         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5735         * gst/gstutils.c: (gst_util_set_value_from_string),
5736         (gst_util_set_object_arg):
5737           fix a bunch of unchecked return values
5738         * tools/gst-complete.c: (main):
5739         * gstreamer.spec.in:
5740           clean up a little
5741
5742 2005-09-01  Wim Taymans  <wim@fluendo.com>
5743
5744         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5745         (gst_base_sink_event), (gst_base_sink_do_sync),
5746         (gst_base_sink_handle_event):
5747         * gst/base/gstbasesink.h:
5748         Handle newsegments more correctly.
5749
5750         * gst/gstbus.c:
5751         Fix docs.
5752
5753         * gst/gstevent.c: (gst_event_new_newsegment):
5754         A newsegment cannot have a start_time of -1
5755
5756 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5757
5758         * win32/gstenumtypes.c:
5759         * win32/gstenumtypes.h:
5760           Update
5761
5762 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5763
5764         * libs/gst/controller/gst-controller.c:
5765         (gst_controlled_property_set_interpolation_mode),
5766         (gst_controlled_property_new):
5767          fixed boolean again
5768
5769 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5770
5771         * docs/faq/gst-uninstalled:
5772           add -good
5773         * gst/gstevent.c:
5774         * gst/gstevent.h:
5775           remove wrong docs
5776         * gst/gstutils.c: (gst_element_link_filtered):
5777         * gst/gstutils.h:
5778           add gst_element_link_filtered
5779
5780 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5781
5782         * docs/gst/gstreamer-docs.sgml:
5783         * docs/gst/gstreamer-sections.txt:
5784         * docs/gst/tmpl/.cvsignore:
5785         * docs/gst/tmpl/gsterror.sgml:
5786         * docs/gst/tmpl/gstfilter.sgml:
5787         * docs/gst/tmpl/gsturihandler.sgml:
5788         * docs/gst/tmpl/gsturitype.sgml:
5789         * docs/gst/tmpl/gstutils.sgml:
5790         * docs/gst/tmpl/gstxml.sgml:
5791         * gst/gsterror.c:
5792         * gst/gsterror.h:
5793         * gst/gstfilter.c:
5794         * gst/gsturi.c:
5795         * gst/gsturitype.c:
5796         * gst/gstutils.c:
5797         * gst/gstxml.c:
5798           inlined more docs, fixed double id-ref
5799
5800 2005-08-31  Wim Taymans  <wim@fluendo.com>
5801
5802         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5803         (gst_base_transform_handle_buffer):
5804         Passthrough elements don't need the caps as they don't care.
5805
5806 2005-08-31  Wim Taymans  <wim@fluendo.com>
5807
5808         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5809         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
5810         Don't leak refcounts on buffers.
5811
5812 2005-08-31  Wim Taymans  <wim@fluendo.com>
5813
5814         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
5815         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5816         (gst_base_transform_chain), (gst_base_transform_change_state):
5817         * gst/base/gstbasetransform.h:
5818         Handle the case where we are not negotiated more gracefully.
5819
5820 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
5821
5822         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
5823         (gst_file_src_map_region):
5824           Set READONLY flag on mmap'ed buffers, otherwise
5825           gst_buffer_make_writable() won't work properly (#314708).
5826
5827 2005-08-31  Wim Taymans  <wim@fluendo.com>
5828
5829         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
5830         passthrough elements can even do inplace on non writable
5831         buffers (as they don't touch them).
5832
5833 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5834
5835         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5836         (gst_test_mono_source_set_property),
5837         (gst_test_mono_source_class_init), (GST_START_TEST),
5838         (gst_controller_suite):
5839           more tests (hehe I have the most)
5840         * gst/gstbus.c:
5841           describe popping messages whenusing mulltiple sources
5842         * libs/gst/controller/gst-controller.c:
5843         (gst_controlled_property_set_interpolation_mode),
5844         (gst_controlled_property_new):
5845         * libs/gst/controller/gst-controller.h:
5846         * libs/gst/controller/gst-interpolation.c:
5847           implement boolean properties
5848
5849 2005-08-31  Wim Taymans  <wim@fluendo.com>
5850
5851         * gst/gstminiobject.c: (gst_mini_object_ref):
5852         Cannot assert that the refcount has to be positive
5853         since a disposed object can be resurrected.
5854
5855 2005-08-31  Wim Taymans  <wim@fluendo.com>
5856
5857         * gst/gstpad.c: (gst_pad_init):
5858         Revert change, need to first fix badly behaving 
5859         apps.
5860
5861 2005-08-30  Wim Taymans  <wim@fluendo.com>
5862
5863         * check/elements/fakesrc.c: (setup_fakesrc):
5864         * check/elements/identity.c: (setup_identity):
5865         Activate pads before using them.
5866
5867 2005-08-30  Wim Taymans  <wim@fluendo.com>
5868
5869         * gst/base/gstadapter.c: (gst_adapter_flush):
5870         Flushing out 0 bytes is ok for this function.
5871
5872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5873         no newsegment gives a warning and sets the start/stop to 
5874         invalid.
5875
5876         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
5877         (gst_base_transform_set_passthrough):
5878         Some debug info.
5879
5880         * gst/gstminiobject.c: (gst_mini_object_ref):
5881         Check refcount here too.
5882
5883         * gst/gstpad.c: (gst_pad_init):
5884         Pads are initially flushing and refusing data.
5885
5886         * gst/gstutils.c: (gst_element_link_pads_filtered):
5887         When adding a capsfilter element make sure it has the
5888         same state as the parent bin.
5889
5890 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5891
5892         * docs/gst/tmpl/.cvsignore:
5893         * docs/gst/tmpl/gstformat.sgml:
5894         * docs/gst/tmpl/gstversion.sgml:
5895         * gst/gstbus.h:
5896         * gst/gstformat.c:
5897         * gst/gstformat.h:
5898         * gst/gstversion.h.in:
5899           more docs and two more inlined
5900
5901 2005-08-30  Wim Taymans  <wim@fluendo.com>
5902
5903         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
5904         Don't sync to clock.
5905
5906 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5907
5908         * docs/gst/gstreamer-sections.txt:
5909           ultral33t func10ns deserve to appear in the docs actually
5910         * docs/gst/tmpl/.cvsignore:
5911         * docs/gst/tmpl/gstcompat.sgml:
5912         * docs/gst/tmpl/gstconfig.sgml:
5913         * gst/check/gstcheck.c:
5914         * gst/gstcompat.h:
5915         * gst/gstconfig.h.in:
5916           inlined more docs
5917
5918 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5919
5920         * docs/gst/tmpl/.cvsignore:
5921         * docs/gst/tmpl/gstquery.sgml:
5922         * docs/gst/tmpl/gstutils.sgml:
5923         * gst/gstquery.c:
5924         * gst/gstquery.h:
5925           inlined and extended docs
5926
5927 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5928
5929         * check/gst-libs/controller.c: (GST_START_TEST),
5930         (gst_controller_suite):
5931           more tests
5932         * docs/gst/tmpl/gstutils.sgml:
5933         * docs/libs/gstreamer-libs-sections.txt:
5934         * docs/libs/tmpl/gstdataprotocol.sgml:
5935           include path fixes
5936         * examples/controller/audio-example.c: (main):
5937           controller example works now
5938         * gst/gstclock.h:
5939           doc fixes
5940         * tools/gst-inspect.c: (print_element_properties_info):
5941           show param spec flags
5942
5943 2005-08-29  Andy Wingo  <wingo@pobox.com>
5944
5945         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
5946
5947 2005-08-28  Andy Wingo  <wingo@pobox.com>
5948
5949         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
5950         as having two arguments instead of just one. Allows superclasses
5951         to access information on subclasses -- see the terrible for() loop
5952         in gtype.c:g_type_create_instance for the reason why. All callers
5953         changed.
5954
5955 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5956
5957         * docs/design/part-messages.txt:
5958           update info
5959         * docs/gst/tmpl/.cvsignore:
5960         * docs/gst/tmpl/gstcaps.sgml:
5961         * docs/gst/tmpl/gstclock.sgml:
5962         * gst/gstbus.c:
5963         * gst/gstcaps.c:
5964         * gst/gstcaps.h:
5965         * gst/gstclock.c:
5966         * gst/gstclock.h:
5967         * gst/gstmessage.c:
5968           added descriptions for bus and message
5969           inline caps and clock docs
5970
5971 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5972
5973         * gst/gstmessage.c:
5974         * gst/gstmessage.h:
5975           doc fixes
5976
5977 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5978
5979         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5980           fix div-by-zero
5981
5982 2005-08-26  Andy Wingo  <wingo@pobox.com>
5983
5984         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
5985         element_set_state's return val.
5986         (test_2_elements): Add test that's been disabled for months.
5987
5988         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
5989         can-activate-pull properties.
5990
5991         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
5992         can-activate-pull properties. Implement is_seekable so fakesrc can
5993         operate in pull mode.
5994
5995         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
5996         properties.
5997         (gst_base_sink_activate, gst_base_sink_activate_pull)
5998         (gst_base_sink_activate_push): Make activation mode choosing work.
5999         Cleanups.
6000         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6001         is right. Make pull mode work. Post an eos before pausing in pull
6002         mode.
6003         (gst_base_sink_change_state): Pay attention to the core's
6004         change_state() return val.
6005         
6006         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6007         has-getrange properties. Cleanups.
6008         
6009         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6010         has_getrange and replace with can_activate_pull and
6011         can_activate_push.
6012
6013         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6014         locking comments. Remove has_loop, has_chain and replace with
6015         can_activate_pull and can_activate_push.
6016
6017 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6018
6019         * configure.ac:
6020         * examples/Makefile.am:
6021         * examples/metadata/Makefile.am:
6022         * examples/metadata/read-metadata.c: (message_loop),
6023         (have_pad_handler), (make_pipeline), (print_tag), (main):
6024           Add metadata reading example that loops over a list of filenames,
6025           dumping any tags found.
6026
6027         * gst/gstbus.c: (gst_bus_dispose):
6028         * gst/gstelement.c: (gst_element_dispose):
6029           Release a few potentially-held references in dispose.
6030
6031 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6032
6033         * docs/gst/tmpl/gstminiobject.sgml:
6034           do *not* add tmpl/*.sgml files to CVS!
6035
6036 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6037
6038         * libs/gst/bytestream/.cvsignore:
6039         * libs/gst/bytestream/Makefile.am:
6040         * libs/gst/bytestream/adapter.c:
6041         * libs/gst/bytestream/adapter.h:
6042         * libs/gst/bytestream/bytestream.c:
6043         * libs/gst/bytestream/bytestream.h:
6044         * libs/gst/bytestream/filepad.c:
6045         * libs/gst/bytestream/filepad.h:
6046           removing obsolete files
6047
6048 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6049
6050         * docs/gst/gstreamer-docs.sgml:
6051         * docs/libs/gstreamer-libs-docs.sgml:
6052           disabed additional index entries again, as this makes docs-gen just
6053           slow and they aren't useful yet
6054         * docs/libs/gstreamer-libs-sections.txt:
6055           little -section.txt cleanup for libs
6056
6057 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6058
6059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6060         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6061           fix up some debugging
6062         (gst_base_transform_get_unit_size),
6063         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6064         (gst_base_transform_handle_buffer):
6065         * gst/base/gstbasetransform.h:
6066           handle and store timed NEWSEGMENT events so that subclasses that
6067           calculate time by counting samples have a segment_start time they
6068           need to add to their timestamps - see audioresample
6069
6070 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6071
6072         * gst/gstbin.h:
6073           removed ';' from the end of macro defs
6074         * docs/gst/gstreamer-docs.sgml:
6075         * docs/gst/gstreamer-sections.txt:
6076         * docs/gst/tmpl/.cvsignore:
6077         * gst/gstbus.h:
6078         * gst/gstelement.c: (gst_element_class_init),
6079         (gst_element_set_state), (activate_pads),
6080         (gst_element_save_thyself):
6081         * gst/gstevent.c: (gst_event_new_newsegment):
6082         * gst/gstevent.h:
6083         * gst/gstiterator.c:
6084         * gst/gstiterator.h:
6085         * gst/gstpad.c:
6086         * gst/gstprobe.h:
6087         * gst/gstutils.c: (gst_pad_query_convert):
6088         * gst/gstutils.h:
6089           fixed parameter name mismatches between source, header and docs
6090           added some more docs, resolved the last batch of unused elements in
6091           docs (now someone needs to doc them)
6092
6093 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6094
6095         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6096         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6097           don't walk through the plugins backwards.  Where is all this
6098           reversed logic coming from ?
6099
6100 2005-08-25  Wim Taymans  <wim@fluendo.com>
6101
6102         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6103         (gst_base_transform_transform_size),
6104         (gst_base_transform_configure_caps),
6105         (gst_base_transform_get_unit_size),
6106         (gst_base_transform_buffer_alloc),
6107         (gst_base_transform_change_state):
6108         * gst/base/gstbasetransform.h:
6109         Cache caps unit_size.
6110         Make sure we cannot negotiate up and downstream at the
6111         same time.
6112
6113 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6114
6115         * gst/gst.c: (init_pre), (init_post):
6116           register the installed plugin path after the env var
6117         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6118         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6119           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6120           directories, so the tests can prefer uninstalled over installed
6121
6122 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6123
6124         * gst/base/gstbasetransform.h:
6125           comment
6126         * gst/gstpad.c:
6127           add to docs
6128
6129 2005-08-25  Wim Taymans  <wim@fluendo.com>
6130
6131         * gst/gstbin.c: (bin_bus_handler):
6132         Be a bit more conservative about the posted message.
6133         
6134         * gst/gstbus.c: (gst_bus_post):
6135         Some cleanups, warn wrong return values.
6136
6137 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6138
6139         * check/gst/gstbin.c: (GST_START_TEST):
6140         * gst/gstbin.c: (bin_bus_handler):
6141         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6142         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6143         (gst_message_new_warning), (gst_message_new_tag),
6144         (gst_message_new_state_changed), (gst_message_new_segment_start),
6145         (gst_message_new_segment_done), (gst_message_new_custom):
6146         * gst/gstmessage.h:
6147         * tools/gst-launch.c: (event_loop):
6148         * tools/gst-md5sum.c: (event_loop):
6149           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6150
6151 2005-08-25  Wim Taymans  <wim@fluendo.com>
6152
6153         * check/generic/states.c: (GST_START_TEST):
6154         Cleanup can be done at the end.
6155
6156         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6157         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6158         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6159         Oh boy.. Thanks for finding this, Thomas. 
6160
6161 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6162
6163         * docs/gst/gstreamer.types:
6164           added missing types
6165
6166 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6167
6168         * docs/gst/gstreamer-docs.sgml:
6169         * docs/gst/gstreamer-sections.txt:
6170         * docs/gst/tmpl/.cvsignore:
6171         * gst/gstbin.c:
6172         * gst/gstiterator.c:
6173         * gst/gstutils.c:
6174         * gst/registries/gstxmlregistry.h:
6175           added missing classes and symbols (123 more to go)
6176           removed removed symbols from section file
6177           fixed many doc-comments
6178
6179 2005-08-24  Wim Taymans  <wim@fluendo.com>
6180
6181         * check/generic/states.c: (GST_START_TEST):
6182         Make sure all tasks are stopped.
6183
6184         * check/gst/gstbin.c: (GST_START_TEST):
6185         Unref after usage for proper valgrinding.
6186
6187         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6188         Really wait for the task to stop before destroying the
6189         mutex.
6190
6191         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6192         (gst_queue_src_activate_push):
6193         Small cleanups. Don't stop the task when we did not start
6194         it.
6195
6196         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6197         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6198         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6199         (gst_task_join):
6200         * gst/gsttask.h:
6201         Protect the stream lock with the object lock.
6202         Disallow setting the stream lock when running.
6203         Add cleanup_all to wait for the threadpool to finish.
6204         Remove code to autoallocate a mutex if none was provided.
6205         Add _join() to wait for a task to stop.
6206         Protect the thread pool with a global lock.
6207
6208 2005-08-24  Wim Taymans  <wim@fluendo.com>
6209
6210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6211         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6212         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6213         * gst/base/gstbasesink.h:
6214         Handle newsegment events correctly.
6215         Drop buffers out of the segment range.
6216
6217 2005-08-22  Andy Wingo  <wingo@pobox.com>
6218
6219         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6220         macro, implements an interface and gstimplementsinterface for a
6221         new type.
6222
6223 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6224
6225         * check/Makefile.am:
6226         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6227           add a test that does a bunch of state changes on elements
6228           needs some fixing for valgrind
6229         * check/states/sinks.c: (gst_object_suite):
6230           whitespace
6231         * gst/gstcaps.h:
6232           add prototype for gst_caps_is_equal_fixed
6233         * gst/gstplugin.c:
6234         * gst/gstregistrypool.c:
6235           doc fixes
6236
6237 2005-08-24  Andy Wingo  <wingo@pobox.com>
6238
6239         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6240         convert a negative value. Doesn't make much sense. Mostly this is
6241         here to force callers to ensure -1 maps to -1.
6242
6243 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6244
6245         * docs/pwg/advanced-types.xml:
6246           Well done to Michael for catching my deliberate introduction
6247           of this spelling mistake. 
6248         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6249         * gst/gstelement.h:
6250           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6251           unlink pads before removing the element from the bin.
6252
6253 2005-08-24  Andy Wingo  <wingo@pobox.com>
6254
6255         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6256         the same thing as GST_DEBUG=*:4.
6257         (parse_debug_level, parse_debug_category): New helper parsers.
6258
6259 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6260
6261         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6262         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6263         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6264         (gst_base_transform_buffer_alloc),
6265         (gst_base_transform_handle_buffer):
6266           use gboolean return values and pointers to size so we can use the
6267           full GST_BUFFER_SIZE range (guint) for buffer sizes
6268           use GstPadDirection for transform_caps
6269         * gst/base/gstbasetransform.h:
6270           rename get_size to get_unit_size since that's what it is
6271         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6272           use GstPadDirection for transform_caps
6273         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6274         * gst/gstutils.h:
6275           cleanup and debugging
6276
6277 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6278
6279         * gst/gstelement.c: (gst_element_class_init),
6280         (gst_element_set_state), (activate_pads),
6281         (gst_element_save_thyself):
6282         * tools/gst-compprep.c: (main):
6283         * tools/gst-inspect.c: (print_element_properties_info):
6284         * tools/gst-xmlinspect.c: (print_element_properties):
6285           Fixed long standing mem-leak
6286
6287 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6288
6289         * check/gst/gstbin.c: (GST_START_TEST):
6290         * gst/gstbin.c: (bin_bus_handler):
6291         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6292         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6293         (gst_message_new_warning), (gst_message_new_tag),
6294         (gst_message_new_state_changed), (gst_message_new_segment_start),
6295         (gst_message_new_segment_done), (gst_message_new_custom):
6296         * gst/gstmessage.h:
6297         * tools/gst-launch.c: (event_loop):
6298         * tools/gst-md5sum.c: (event_loop):
6299           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6300           that applications can sensibly post custom messages with references
6301           to their own objects.
6302
6303 2005-08-24  Andy Wingo  <wingo@pobox.com>
6304
6305         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6306         already.
6307
6308 2005-08-24  Wim Taymans  <wim@fluendo.com>
6309
6310         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6311         (gst_base_transform_transform_caps),
6312         (gst_base_transform_transform_size),
6313         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6314         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6315         (gst_base_transform_handle_buffer):
6316         * gst/base/gstbasetransform.h:
6317         Many fixes and new features added by Thomas. Can now also do
6318         transforms with variable sizes and a custom fixate_caps function.
6319
6320 2005-08-24  Wim Taymans  <wim@fluendo.com>
6321
6322         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6323         Some debugging.
6324
6325         * gst/gstclock.h:
6326         Cast to ClockTime before formatting to time.
6327
6328         * gst/gstutils.h:
6329         Cleanups.
6330
6331 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6332
6333         * check/gst-libs/controller.c: (GST_START_TEST),
6334         (gst_controller_suite):
6335         * docs/gst/tmpl/gstcaps.sgml:
6336         * docs/gst/tmpl/gstghostpad.sgml:
6337         * docs/gst/tmpl/gstquery.sgml:
6338         * docs/gst/tmpl/gstutils.sgml:
6339         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6340         (gst_object_sink_values), (gst_object_get_value_arrays),
6341         (gst_object_get_value_array):
6342           gracefully handle helper method calls to objects that are not beeing
6343           controlled, added test case for that          
6344
6345 2005-08-23  Wim Taymans  <wim@fluendo.com>
6346
6347         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6348         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6349         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6350         (gst_event_parse_qos), (gst_event_new_seek),
6351         (gst_event_parse_seek):
6352         * gst/gstevent.h:
6353         Some more debugging output and doc cleanups.
6354
6355         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6356         Fix possible deadlock.
6357
6358 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6359
6360         * docs/gst/gstreamer-docs.sgml:
6361         * docs/gst/gstreamer-sections.txt:
6362         * docs/gst/gstreamer.types:
6363         * docs/gst/tmpl/.cvsignore:
6364         * gst/gstbin.h:
6365         * gst/gstbus.c:
6366         * gst/gstelement.c:
6367         * gst/gstevent.h:
6368           added 100 symbols from gstreamer-unused.txt to the right sections
6369           fixed more broken comments
6370           added GstBus to docs
6371
6372 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6373
6374         * docs/gst/gstreamer-sections.txt:
6375         * docs/gst/tmpl/.cvsignore:
6376         * docs/gst/tmpl/gstbin.sgml:
6377         * docs/gst/tmpl/gstbuffer.sgml:
6378         * gst/base/gstbasesrc.c:
6379         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6380         * gst/gstbuffer.c:
6381         * gst/gstbuffer.h:
6382         * tools/gst-launch.1.in:
6383           inlined more doc comments, added missing comments and fixed comments
6384           fixed typos
6385
6386 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6387
6388         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6389           some debugging
6390         * gst/gstcaps.h:
6391           whitespace fixes
6392         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6393           more debugging
6394         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6395         * gst/gststructure.h:
6396           add a fixate function for booleans; add a FIXME that these func
6397           names should probably be gst_structure_fixate_*
6398
6399 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6400
6401         * docs/gst/gstreamer-docs.sgml:
6402         * docs/gst/gstreamer-sections.txt:
6403         * gst/Makefile.am:
6404         * gst/gstbin.c: (gst_bin_get_type),
6405         (gst_bin_child_proxy_get_child_by_index),
6406         (gst_bin_child_proxy_get_children_count),
6407         (gst_bin_child_proxy_init):
6408         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6409         (gst_child_proxy_get_child_by_index),
6410         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6411         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6412         (gst_child_proxy_get), (gst_child_proxy_set_property),
6413         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6414         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6415         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6416         * gst/gstchildproxy.h:
6417         * gst/parse/grammar.y:
6418         * tools/gst-inspect.c: (print_interfaces),
6419         (print_element_properties_info), (print_element_info):
6420           ported gstchildproxy over from 0.8
6421           ported gst-inspect fixes and enhancements over from 0.8
6422
6423 2005-08-22  Wim Taymans  <wim@fluendo.com>
6424
6425         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6426         (gst_base_transform_handle_buffer):
6427         Also call the transform function if we have ANY caps.
6428
6429         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6430         Fix debug info.
6431
6432 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6433
6434         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6435           Don't pretend to handle seek events if the source is not seekable
6436
6437 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6438
6439         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6440           Remove extra parameter to debug output
6441
6442         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6443         (gst_base_src_do_seek), (gst_base_src_activate_push):
6444           Fix seek event handling.
6445
6446         * gst/gstpipeline.c: (gst_pipeline_change_state):
6447         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6448         (gst_queue_src_activate_push):
6449           Don't start the src pad task on FLUSH_STOP if the pad
6450           isn't linked.
6451           Debug changes.
6452
6453 2005-08-22  Wim Taymans  <wim@fluendo.com>
6454
6455         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6456         Added check for gst_static_caps_get() refcounting.
6457
6458 2005-08-22  Wim Taymans  <wim@fluendo.com>
6459
6460         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6461         Make _static_caps_get() refcounting sane.
6462         
6463         * gst/gstelement.c: (gst_element_set_state):
6464         Add g_return_val_if_fail() to protect against segfaults.
6465
6466 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6467
6468         * docs/gst/tmpl/gstevent.sgml:
6469         * gst/gstevent.c:
6470         * gst/gstevent.h:
6471           inlined remaining docs, added missing doc comments
6472
6473 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6474
6475         * check/gst/gstbin.c: (GST_START_TEST):
6476           since we don't know when preroll is done, use refcount range
6477           check for the sink
6478         * gst/check/gstcheck.h:
6479           add macro for checking refcount range
6480
6481 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6482
6483         * check/Makefile.am:
6484           clean up environment for when registry gets built versus
6485           when actual tests are run; valgrind seems to not report
6486           leaks if GST_PLUGIN_PATH is set to some specific values
6487         * check/gst/gstbin.c: (GST_START_TEST):
6488           add more refcounting checks; maybe this exposes a
6489           preroll lock bug ?
6490         * common/check.mak:
6491         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6492         * gst/check/gstcheck.h:
6493         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6494         (gst_bin_change_state):
6495         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6496           add/fix debugging/whitespace
6497
6498 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6499
6500         * check/gst/gstevent.c: (event_probe), (test_event),
6501         (GST_START_TEST):
6502          Er, don't call gst_bin_watch_for_state_change you idiot.
6503
6504 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6505
6506         * check/Makefile.am:
6507           Use CHECK_CFLAGS and CHECK_LIBS
6508         * check/gst/gstevent.c: (event_probe), (test_event),
6509         (GST_START_TEST):
6510           Don't leak events.
6511         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6512         (gst_base_src_start), (gst_base_src_stop),
6513         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6514         (gst_base_src_change_state):
6515           Sprinkle gst_base_src_stop liberally around error paths to fix
6516           problems reusing a source after failed state changes.
6517         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6518         (helper_find_suggest), (gst_type_find_helper):
6519           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6520         * gst/gstevent.h:
6521         * docs/gst/tmpl/gstevent.sgml:
6522           Migrate part of the docs from the SGML file. Wait for ensonic to
6523           tell me how I did it wrong ;)
6524         * tools/gst-typefind.c: (main):
6525           Extra robustness to state changes between files.
6526
6527 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6528
6529         * check/Makefile.am:
6530           don't valgrind the controller test - it's leaking - Stefan, HELP
6531         * gst/check/gstcheck.c: (gst_check_message_error),
6532         (gst_check_chain_func), (gst_check_setup_element),
6533         (gst_check_teardown_element), (gst_check_setup_src_pad),
6534         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6535         (gst_check_teardown_sink_pad):
6536         * gst/check/gstcheck.h:
6537           add a bunch of methods to set up elements, and src and sink pads
6538         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6539         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6540         (GST_START_TEST):
6541           use them
6542         * gst/gstmessage.c:
6543         * gst/gsttag.h:
6544           whitespace/doc fixes
6545
6546 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6547
6548         * gst/gstelement.h:
6549           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6550           be handled by the application and not always printed as well
6551
6552 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * check/Makefile.am:
6555           set GST_TOOLS_DIR
6556         * gst/check/gstcheck.c: (gst_check_message_error):
6557         * gst/check/gstcheck.h:
6558           add a fail_unless_equals_int
6559           add fail_unless for error messages
6560
6561 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6562
6563         * check/Makefile.am:
6564         * check/gst.supp:
6565         * common/Makefile.am:
6566         * common/check.mak:
6567         * common/gst.supp:
6568           factor out some of the common stuff so we can use it
6569
6570 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6571
6572         * check/Makefile.am:
6573         * check/gst/gstiterator.c: (GST_START_TEST):
6574         * check/gst/gstsystemclock.c: (GST_START_TEST),
6575         (gst_systemclock_suite):
6576         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6577         * gst/gstclock.c:
6578           valgrind more tests
6579
6580 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6581
6582         * check/elements/.cvsignore:
6583         * check/elements/gstfakesrc.c:
6584           rename to name of element
6585         * check/elements/identity.c: (chain_func), (event_func),
6586         (setup_identity), (cleanup_identity), (GST_START_TEST),
6587         (identity_suite), (main):
6588           add a test for identity
6589         * check/Makefile.am:
6590         * pkgconfig/Makefile.am:
6591         * pkgconfig/gstreamer-check.pc.in:
6592         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6593         * gst/check:
6594         * gst/Makefile.am:
6595         * configure.ac:
6596           move the check stuff to a library that gets installed
6597         * check/gst-libs/controller.c: (GST_START_TEST):
6598         * check/gst-libs/gdp.c:
6599         * check/gst/gst.c: (GST_START_TEST):
6600         * check/gst/gstbin.c:
6601         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6602         * check/gst/gstbus.c:
6603         * check/gst/gstcaps.c: (GST_START_TEST):
6604         * check/gst/gstelement.c:
6605         * check/gst/gstghostpad.c:
6606         * check/gst/gstiterator.c:
6607         * check/gst/gstmessage.c:
6608         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6609         * check/gst/gstobject.c:
6610         * check/gst/gstpad.c: (GST_START_TEST):
6611         * check/gst/gststructure.c: (GST_START_TEST):
6612         * check/gst/gstsystemclock.c: (GST_START_TEST),
6613         (gst_systemclock_suite):
6614         * check/gst/gsttag.c: (gst_tag_suite):
6615         * check/gst/gstvalue.c:
6616         * check/pipelines/cleanup.c:
6617         * check/pipelines/simple_launch_lines.c:
6618         * check/states/sinks.c:
6619           change include statement
6620
6621         * docs/gst/gstreamer-sections.txt:
6622         * docs/gst/tmpl/gstpad.sgml:
6623           document more pad stuff
6624         * gst/gstminiobject.c: (gst_mini_object_ref),
6625         (gst_mini_object_unref):
6626           debug refcounting
6627
6628 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6629
6630         * docs/gst/tmpl/gst.sgml:
6631         * gst/gst.c:
6632           eliminate another tmpl file, fix spelling in the long-description
6633
6634 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6635
6636         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6637         (test_event), (timediff), (gstevents_suite):
6638           Should fix build on 64-bit arch's
6639
6640 2005-08-18  Andy Wingo  <wingo@pobox.com>
6641
6642         Make sure that when a pipeline goes to PLAYING, that data has
6643         actually hit the sink.
6644
6645         * check/states/sinks.c (test_sink): A sink that doesn't get any
6646         data shouldn't return SUCCESS for going to either PLAYING or
6647         PAUSED. Test also the return values on the way back down.
6648
6649         * gst/gstelement.c (gst_element_set_state): When changing the
6650         state of an element currently changing state asynchronously, go to
6651         lost-state after commiting the pending state. Makes future calls
6652         to get_state continue to return ASYNC.
6653
6654         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6655         ASYNC when going to PLAYING if we still don't have preroll, as can
6656         happen with live sources.
6657
6658 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6659
6660         * docs/pwg/advanced-types.xml:
6661           Hack long paragraph into 2 chunks as a workaround for buggy
6662           jadetex version in sid and breezy that loops infinitely and
6663           eats all RAM.
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           Provide more error margin in clock measurements to allow for 
6670           g_get_current_time inaccuracies.
6671
6672 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6673
6674         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6675         (test_event), (timediff), (gstevents_suite):
6676            Fix error message output so I might be able to tell why the
6677            test works here but fails on the build farm.
6678
6679 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6680
6681         * check/Makefile.am:
6682         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6683         (test_event), (timediff), (gstevents_suite), (main):
6684           I wrote a test!
6685
6686         * docs/design/part-seeking.txt:
6687           Spelling correction
6688
6689         * docs/gst/tmpl/gstevent.sgml:
6690         * docs/gst/tmpl/gstfakesrc.sgml:
6691           Docs updates.
6692
6693         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6694           Treat a buffer-without-newsegment the same as a receiving 
6695           a newsegment not in time format, and disable syncing to the clock
6696           with a warning.
6697
6698         * gst/gstbus.c: (gst_bus_set_sync_handler):
6699           Assert if anyone tries to replace the existing sync_handler for bus, 
6700           as only the owner should be setting it.
6701
6702         * gst/gstevent.h:
6703           Have a fixed set of custom event enums with events identified by
6704           their structure name (as in 0.8), rather than a free-for-all
6705           allowing collisions between enum values from different plugins.
6706
6707         * gst/gstpad.c: (gst_pad_class_init):
6708           Docs change.
6709           
6710         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6711           Handle out-of-band downstream events from the sending thread.
6712
6713 2005-08-17  Andy Wingo  <wingo@pobox.com>
6714
6715         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6716         play-timeout==0 to mean no timeout at all. In that case, don't
6717         bother with a get_state or a warning, just return directly, even
6718         if it's ASYNC.
6719
6720         * gst/base/gstbasetransform.c: Debug changes.
6721
6722         * gst/gstutils.h:
6723         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6724         ensure bins post state change messages. A bit of a hack but I can't
6725         think of a way to avoid it.
6726
6727         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6728
6729 2005-08-16  Andy Wingo  <wingo@pobox.com>
6730
6731         * gst/base/gstadapter.h:
6732         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6733         peek() but you own the data. Not terribly efficient atm.
6734
6735 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6736
6737         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6738         (gst_element_found_tags):
6739         * gst/gstutils.h:
6740           Add two utility functions for tag handling.
6741
6742 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6743
6744         * docs/manual/advanced-dataaccess.xml:
6745         * docs/manual/basics-helloworld.xml:
6746           Fix docs to use _bin_add() before _link(), which fixes the examples
6747           with recent core versions (reported by Madhan Raj M
6748           <raj_madan@rediffmail.com>, #313199).
6749
6750 2005-08-16  Wim Taymans  <wim@fluendo.com>
6751
6752         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6753         Added subtract checks.
6754
6755         * docs/design/part-events.txt:
6756         Some more docs about newsegment
6757
6758         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6759         Fix FIXME
6760
6761         * gst/gstcaps.c: (gst_caps_to_string):
6762         Add comments, cleanups.
6763         
6764         * gst/gstelement.c: (gst_element_save_thyself):
6765         cleanups
6766         
6767         * gst/gstvalue.c: (gst_value_collect_int_range),
6768         (gst_string_unwrap), (gst_value_union_int_int_range),
6769         (gst_value_union_int_range_int_range),
6770         (gst_value_intersect_int_int_range),
6771         (gst_value_intersect_int_range_int_range),
6772         (gst_value_intersect_double_double_range),
6773         (gst_value_intersect_double_range_double_range),
6774         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6775         (gst_value_subtract_int_range_int),
6776         (gst_value_subtract_double_range_double),
6777         (gst_value_subtract_double_range_double_range),
6778         (gst_value_subtract_from_list), (gst_value_subtract_list),
6779         (gst_value_can_compare), (gst_value_compare_fraction):
6780         Cleanups, add comments, remove unneeded asserts.
6781
6782 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * tools/gst-launch.c: (event_loop):
6785           don't convert NULL structures to strings
6786
6787 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6788
6789         * docs/gst/gstreamer-sections.txt:
6790           made some defines private
6791         * docs/gst/tmpl/gstconfig.sgml:
6792         * docs/gst/tmpl/gstqueue.sgml:
6793         * docs/gst/tmpl/gsttaglist.sgml:
6794         * docs/gst/tmpl/gsttypes.sgml:
6795         * docs/gst/tmpl/gstutils.sgml:
6796         * docs/pwg/appendix-porting.xml:
6797         * gst/base/gstbasesink.h:
6798         * gst/base/gstbasesrc.c:
6799         * gst/base/gstbasesrc.h:
6800         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6801         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6802         * gst/gstelement.c: (gst_element_class_init):
6803         * gst/gstpad.c: (gst_pad_class_init):
6804         * gst/gstqueue.c: (gst_queue_class_init):
6805         * gst/gstxml.c: (gst_xml_class_init):
6806           documented all undocumented signal inline
6807         * libs/gst/controller/gst-controller.h:
6808           added padding
6809
6810 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6811
6812         * docs/pwg/appendix-porting.xml:
6813           Document _set_link_function -> _set_setcaps_function.
6814
6815 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6816
6817         * check/Makefile.am:
6818           add a .check target for running the check
6819         * check/gst-libs/controller.c: (GST_START_TEST):
6820           cosmetic fixups
6821         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6822           complete checks for gstbuffer; would be nice if I could get the
6823           gcov stuff to work so I can see if I actually completed gstbuffer.c
6824         * check/gstcheck.h:
6825           add ASSERT_BUFFER_REFCOUNT
6826
6827 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
6828
6829         * docs/gst/gstreamer-sections.txt:
6830         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
6831         * gst/gsttag.h:
6832           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
6833           spew out a warning if a tag that is already registered
6834           is re-registered, unless it is re-registered with a 
6835           different type (#308438).
6836
6837 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
6838
6839         * docs/pwg/appendix-porting.xml:
6840         * docs/pwg/building-state.xml:
6841           Add some paragraphs about state changes in 0.9 to the PWG
6842           and the porting guide, in particular about the new meaning
6843           of GST_STATE_PAUSED and how to write state change functions
6844           with concurrent access by multiple threads in mind.
6845
6846 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
6847
6848         * docs/gst/gstreamer-docs.sgml:
6849         * docs/libs/gstreamer-libs-docs.sgml:
6850           added deprecation and since indexes
6851         * libs/gst/controller/gst-controller.c:
6852         * libs/gst/controller/gst-helper.c:
6853           added since tags
6854
6855
6856 2005-08-11  Wim Taymans  <wim@fluendo.com>
6857
6858         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
6859         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
6860         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
6861         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
6862         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
6863         (gst_ghost_pad_set_target):
6864         Actually implement (re)setting the target on a ghostpad
6865         as described in the docs.
6866
6867 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6868
6869         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
6870           Check whether GST_DEBUG_NO_COLOR environment variable is
6871           set and disable coloured debug output if that is the case.
6872
6873 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6874
6875         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6876         (gst_type_find_helper):
6877           The memory returned by gst_type_find_peek() needs to
6878           stay valid until the end of a typefind function, and
6879           typefind functions may keep results from different 
6880           offsets around, so we can't just unref the buffer from
6881           the previous _peek(), but have to save all buffers 
6882           returned by _peek() until typefinding is done and only
6883           free them then.
6884
6885 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6886
6887         * docs/gst/gstreamer-sections.txt:
6888         * gst/gstutils.h:
6889           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
6890
6891 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6892
6893         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6894           Fix a pretty good memleak.
6895
6896 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6897
6898         * gst/gstiterator.h:
6899           Fix wrong include and 'make distcheck'.
6900
6901 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6902
6903         * gst/gstbin.c: (bin_bus_handler):
6904           Use gst_element_post_message() instead.
6905
6906 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6907
6908         * gst/base/gstadapter.h:
6909         * gst/base/gstbasesink.h:
6910         * gst/base/gstbasesrc.h:
6911         * gst/base/gstbasetransform.h:
6912         * gst/base/gstcollectpads.h:
6913         * gst/base/gstpushsrc.h:
6914         * gst/gstiterator.h:
6915           Add padding to our base elements' class and instance structs and
6916           to GstIterator (you will need to rebuild all plugins and apps!)
6917
6918 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6919
6920         * gst/gstbin.c: (bin_bus_handler):
6921           Make default message forwarding from child->bus to bin->bus
6922           threadsafe and make it not emit warnings if the parent has no bus.
6923
6924 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6925
6926         * gst/gstelement.c: (activate_pads):
6927           On paused->ready, set pad->caps to NULL, as is the documented
6928           behaviour in this state change. Fixes playback of series of
6929           media files when visualization is enabled in Totem.
6930
6931 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6932
6933         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6934           Allow NULL as filter-caps (which means "any").
6935
6936 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6937
6938         * docs/libs/gstreamer-libs-sections.txt:
6939         * libs/gst/controller/gst-controller.c:
6940         * libs/gst/controller/gst-controller.h:
6941         * libs/gst/controller/gst-helper.c:
6942           adding more entries to the docs and fix small doc-bugs
6943
6944 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6945
6946         * docs/gst/gstreamer-docs.sgml:
6947         * docs/gst/gstreamer-sections.txt:
6948         * docs/gst/gstreamer.types:
6949         * docs/gst/tmpl/gstbasesink.sgml:
6950         * docs/gst/tmpl/gstbasesrc.sgml:
6951         * docs/gst/tmpl/gstbasetransform.sgml:
6952         * docs/gst/tmpl/gstfakesrc.sgml:
6953         * gst/base/gstcollectpads.c:
6954         * gst/base/gstcollectpads.h:
6955         * libs/gst/controller/gst-controller.c:
6956         * libs/gst/controller/gst-controller.h:
6957         * libs/gst/controller/gst-helper.c:
6958         * libs/gst/controller/gst-interpolation.c:
6959         * libs/gst/controller/lib.c:
6960           added long/short desc for controller docs
6961           added collectpads base class docs
6962           added correct includes to base-class docs
6963
6964 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6965
6966         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6967         (gst_test_mono_source_set_property),
6968         (gst_test_mono_source_class_init), (GST_START_TEST),
6969         (gst_controller_suite):
6970         * docs/gst/gstreamer-docs.sgml:
6971         * docs/gst/gstreamer-sections.txt:
6972         * docs/gst/gstreamer.types:
6973         * docs/libs/gstreamer-libs-docs.sgml:
6974         * docs/libs/gstreamer-libs-sections.txt:
6975         * gst/base/gstadapter.c:
6976         * libs/gst/controller/gst-controller.c:
6977         (gst_controlled_property_new), (gst_controlled_property_free),
6978         (gst_controller_new_valist),
6979         (gst_controller_remove_properties_valist),
6980         (gst_controller_sink_values), (_gst_controller_finalize):
6981         * libs/gst/controller/gst-controller.h:
6982         * libs/gst/controller/gst-helper.c:
6983         (gst_object_control_properties), (gst_object_uncontrol_properties),
6984         (gst_object_get_controller), (gst_object_set_controller),
6985         (gst_object_sink_values), (gst_object_get_value_arrays),
6986         (gst_object_get_value_array):
6987           more tests (and fixes) for the controller
6988           more docs for the controller
6989           integrated companies docs for the adapter 
6990
6991 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6992
6993         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
6994         (GST_START_TEST), (fakesrc_suite):
6995           add tests for sizetype
6996
6997 2005-08-04  Andy Wingo  <wingo@pobox.com>
6998
6999         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7000         fixes buffer_alloc proxying among other things.
7001
7002         * gst/base/gstbasetransform.c:
7003         * gst/base/gstbasetransform.h:
7004         Revert patch to gstbasetransform from 7-28 removing
7005         delay_configure.
7006
7007         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7008         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7009         Semantics changed, should return not the size of the output buffer
7010         but the byte size of a buffer with a given caps.
7011
7012         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7013         debug object.
7014         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7015         out) are not the pad caps until setcaps finishes.
7016         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7017         not-in-place case as well. Deal with changing from in-place to
7018         not-in-place within calling pad_alloc_buffer. Still a bit
7019         concerned about the overhead here...
7020
7021 2005-08-03  Andy Wingo  <wingo@pobox.com>
7022
7023         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7024         fixating is an error.
7025
7026 2005-08-04  Edward Hervey  <edward@fluendo.com>
7027
7028         * gst/base/gstadapter.h: 
7029         Added gst_adapter_get_type() to the header
7030
7031 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7032
7033         * check/Makefile.am:
7034         * check/gst-libs/controller.c:
7035         * libs/gst/controller/gst-controller.c:
7036         (gst_controller_new_valist):
7037           added check test suite for the controller
7038         * gst/base/gstpushsrc.c:
7039           fixed a doc typo
7040
7041 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7042
7043         * docs/gst/Makefile.am:
7044         * docs/gst/gstreamer-docs.sgml:
7045         * docs/gst/gstreamer-sections.txt:
7046         * docs/gst/gstreamer.types:
7047         * docs/gst/tmpl/gstfakesrc.sgml:
7048         * gst/base/README:
7049         * gst/base/gstbasesink.c:
7050         * gst/base/gstbasesink.h:
7051         * gst/base/gstbasesrc.c:
7052         * gst/base/gstbasesrc.h:
7053         * gst/base/gstbasetransform.c:
7054         * gst/base/gstpushsrc.c:
7055         * gst/base/gstpushsrc.h:
7056           add short/long description docs to base classes
7057           add pushsrc to the docs
7058           remove consolidated doc fragments
7059
7060 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7061
7062         * configure.ac:
7063         * docs/libs/Makefile.am:
7064         * docs/libs/gstreamer-libs-docs.sgml:
7065         * docs/libs/gstreamer-libs-sections.txt:
7066         * docs/libs/gstreamer-libs.types:
7067         * examples/Makefile.am:
7068         * examples/controller/.cvsignore:
7069         * examples/controller/Makefile.am:
7070         * examples/controller/audio-example.c: (main):
7071         * libs/gst/Makefile.am:
7072         * libs/gst/controller/.cvsignore:
7073         * libs/gst/controller/Makefile.am:
7074         * libs/gst/controller/gst-controller.c:
7075         (on_object_controlled_property_changed), (gst_timed_value_compare),
7076         (gst_timed_value_find),
7077         (gst_controlled_property_set_interpolation_mode),
7078         (gst_controlled_property_new), (gst_controlled_property_free),
7079         (gst_controller_find_controlled_property),
7080         (gst_controller_new_valist), (gst_controller_new),
7081         (gst_controller_remove_properties_valist),
7082         (gst_controller_remove_properties), (gst_controller_set),
7083         (gst_controller_set_from_list), (gst_controller_unset),
7084         (gst_controller_get), (gst_controller_get_all),
7085         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7086         (gst_controller_get_value_array),
7087         (gst_controller_set_interpolation_mode),
7088         (_gst_controller_finalize), (_gst_controller_init),
7089         (_gst_controller_class_init), (gst_controller_get_type):
7090         * libs/gst/controller/gst-controller.h:
7091         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7092         (g_object_uncontrol_properties), (g_object_get_controller),
7093         (g_object_set_controller), (g_object_sink_values),
7094         (g_object_get_value_arrays), (g_object_get_value_array):
7095         * libs/gst/controller/gst-interpolation.c:
7096         (gst_controlled_property_find_timed_value_node),
7097         (interpolate_none_get), (interpolate_trigger_get),
7098         (interpolate_trigger_get_value_array):
7099         * libs/gst/controller/lib.c: (gst_controller_init):
7100         * pkgconfig/Makefile.am:
7101         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7102         * pkgconfig/gstreamer-control.pc.in:
7103         * testsuite/Makefile.am:
7104         * testsuite/controller/.cvsignore:
7105         * testsuite/controller/Makefile.am:
7106         * testsuite/controller/interpolator.c: (main):
7107           added controller code
7108           removed dparam pc files
7109
7110 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7111         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7112         (gst_collectpads_stop):
7113           Broadcast the condition when shutting down, to make sure we wake all
7114           threads up. Shut down pads on finalize, for safety.
7115
7116 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7117         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7118         (gst_base_transform_handle_buffer),
7119         (gst_base_transform_change_state):
7120           Handle PAUSED->READY->PAUSED transition after negotiation
7121           occurred already.
7122         * gst/gstmessage.c: (gst_message_init):
7123           Extra piece of debug for new messages.
7124
7125 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7126
7127         * configure.ac:
7128         * docs/gst/tmpl/gstbasesrc.sgml:
7129         * docs/gst/tmpl/gstelement.sgml:
7130         * docs/gst/tmpl/gstevent.sgml:
7131         * docs/gst/tmpl/gstfakesrc.sgml:
7132         * docs/gst/tmpl/gstformat.sgml:
7133         * docs/gst/tmpl/gstghostpad.sgml:
7134         * docs/gst/tmpl/gstpad.sgml:
7135         * docs/gst/tmpl/gstquery.sgml:
7136         * docs/gst/tmpl/gststructure.sgml:
7137         * docs/gst/tmpl/gsttaglist.sgml:
7138         * docs/gst/tmpl/gstvalue.sgml:
7139         * docs/libs/gstreamer-libs-docs.sgml:
7140         * docs/libs/gstreamer-libs-sections.txt:
7141         * docs/libs/gstreamer-libs.types:
7142         * libs/gst/Makefile.am:
7143         * libs/gst/control/.cvsignore:
7144         * libs/gst/control/Makefile.am:
7145         * libs/gst/control/control.c:
7146         * libs/gst/control/control.h:
7147         * libs/gst/control/dparam.c:
7148         * libs/gst/control/dparam.h:
7149         * libs/gst/control/dparam_smooth.c:
7150         * libs/gst/control/dparam_smooth.h:
7151         * libs/gst/control/dparamcommon.h:
7152         * libs/gst/control/dparammanager.c:
7153         * libs/gst/control/dparammanager.h:
7154         * libs/gst/control/dplinearinterp.c:
7155         * libs/gst/control/dplinearinterp.h:
7156         * libs/gst/control/unitconvert.c:
7157         * libs/gst/control/unitconvert.h:
7158         * testsuite/Makefile.am:
7159         * testsuite/dynparams/.cvsignore:
7160         * testsuite/dynparams/Makefile.am:
7161         * testsuite/dynparams/dparamstest.c:
7162         * tools/Makefile.am:
7163         * tools/gst-inspect.c: (print_element_info), (main):
7164         * tools/gst-xmlinspect.c: (print_element_info), (main):
7165           deactivate and remove dparams (libgstcontrol)
7166
7167 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7168
7169         * gst/elements/gsttypefindelement.c:
7170         (gst_type_find_element_have_type), (gst_type_find_element_init),
7171         (stop_typefinding), (gst_type_find_element_handle_event),
7172         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7173         * gst/elements/gsttypefindelement.h:
7174           Set caps on all outgoing buffers, not just the first one.
7175
7176 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7177
7178         * gst/elements/gsttypefindelement.c:
7179         (gst_type_find_element_have_type),
7180         (gst_type_find_element_check_set_buffer_caps),
7181         (gst_type_find_element_init), (stop_typefinding),
7182         (gst_type_find_element_handle_event),
7183         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7184         * gst/elements/gsttypefindelement.h:
7185           Set caps on first outgoing buffer when we've found the type.
7186
7187 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7188
7189         * docs/gst/gstreamer-docs.sgml:
7190         * docs/gst/gstreamer-sections.txt:
7191         * docs/gst/tmpl/gstscheduler.sgml:
7192         * docs/gst/tmpl/gstschedulerfactory.sgml:
7193           Remove some old cruft from docs.
7194
7195 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7196
7197         * gst/gstpad.h:
7198           Fix inline docs for GstPadLinkReturn.
7199           
7200         * gst/gststructure.c: (gst_structure_has_name):
7201         * gst/gststructure.h:
7202         * docs/gst/gstreamer-sections.txt:
7203           New API: gst_structure_has_name().
7204
7205 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7206
7207         * configure.ac:
7208           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7209           and _LARGEFILE_SOURCE in config.h as required. Do not 
7210           export those flags in our .pc files any longer (#142209).
7211
7212           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7213
7214         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7215         (gst_file_sink_do_seek), (gst_file_sink_event),
7216         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7217           Redo seek/tell calls with large file support in mind; add some
7218           debugging messages; add log message that tells us when large
7219           file support is unavailable or not enabled for some reason.
7220
7221         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7222           Add log message that tells us when large file support 
7223           is unavailable or not enabled for some reason.
7224
7225 2005-07-29  Wim Taymans  <wim@fluendo.com>
7226
7227         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7228         Added test for removing an element with ghostpad from a bin.
7229         Fixed test as current implementation does the right thing.
7230
7231         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7232         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7233         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7234         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7235         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7236         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7237         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7238         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7239         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7240         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7241         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7242         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7243         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7244         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7245         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7246         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7247         * gst/gstghostpad.h:
7248         Clean up ghostpads, remove properties for internal stuff.
7249         Make threadsafe.
7250         Fix refcounting.
7251         Prepare for switching targets, not all use cases work yet.
7252
7253 2005-07-29  Wim Taymans  <wim@fluendo.com>
7254
7255         * docs/design/part-gstghostpad.txt:
7256         Small update.
7257
7258         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7259         (gst_bin_remove_func):
7260         Unlinking pads while holding the bin LOCK is not a good
7261         idea.
7262
7263         * gst/gstpad.c: (gst_pad_class_init),
7264         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7265         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7266         No prob setting template after creating the pad.
7267
7268 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7269
7270         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7271         (gst_bus_peek), (gst_bus_source_dispatch),
7272         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7273         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7274           gst_bus_poll may be called from other threads. Handle
7275           this nicely by not making poll_data disappear off the
7276           stack once gst_bus_poll returns.
7277           gst_bus_peek now increments the refcount on the returned
7278           message.
7279
7280 2005-07-29  Wim Taymans  <wim@fluendo.com>
7281
7282         * docs/design/part-gstghostpad.txt:
7283         Overview of current GhostPad datastructures and use
7284         cases for changing the target.
7285
7286 2005-07-28  Wim Taymans  <wim@fluendo.com>
7287
7288         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7289         Added checks for hierarchy consistency whan adding linked
7290         elements to bins.
7291
7292         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7293         Added check to test element scheduling without bin/pipeline.
7294
7295         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7296         First add elements to bin, then link.
7297         
7298         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7299         (gst_bin_remove_func):
7300         Unlink pads from elements added/removed from bin to maintain
7301         hierarchy consistency.
7302
7303 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7304
7305         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7306         (gst_base_transform_handle_buffer):
7307         * gst/base/gstbasetransform.h:
7308           Remove broken delay_configure (fixes renegotiation of software
7309           scaling pipelines); remove some leftover printf()s.
7310
7311 2005-07-28  Wim Taymans  <wim@fluendo.com>
7312
7313         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7314         Added some more tests for wrong hierarchy
7315
7316         * docs/design/part-overview.txt:
7317         Some updates.
7318
7319         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7320         Cleanups.
7321
7322         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7323         (gst_element_dispose):
7324         Some more cleanups.
7325
7326         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7327         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7328         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7329         (gst_pad_set_caps), (gst_pad_send_event):
7330         Check for correct hierarchy when linking pads. Moving to
7331         strict requirement for ghostpads when linking elements in
7332         different bins.
7333
7334         * gst/gstpad.h:
7335         Clean ups. Added WRONG_HIERARCHY return value.
7336
7337 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7338
7339         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7340           Better debug if no transform is possible.
7341
7342 2005-07-27  Wim Taymans  <wim@fluendo.com>
7343
7344         * docs/random/wtay/network-transp:
7345         Some old doc I had.
7346
7347 2005-07-27  Wim Taymans  <wim@fluendo.com>
7348
7349         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7350         (gst_dp_event_from_packet):
7351         Fix serialization of seek events.
7352
7353 2005-07-27  Wim Taymans  <wim@fluendo.com>
7354
7355         * check/gst-libs/gdp.c: (GST_START_TEST):
7356         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7357         Fix compilation and fix event serialization.
7358
7359 2005-07-27  Wim Taymans  <wim@fluendo.com>
7360
7361         * CHANGES-0.9:
7362         * docs/design/part-TODO.txt:
7363         * docs/design/part-events.txt:
7364         Some docs updates
7365
7366         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7367         (gst_base_sink_event), (gst_base_sink_do_sync),
7368         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7369         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7370         (gst_base_src_do_seek), (gst_base_src_event_handler),
7371         (gst_base_src_loop):
7372         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7373         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7374         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7375         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7376         (gst_base_transform_set_passthrough),
7377         (gst_base_transform_is_passthrough):
7378         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7379         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7380         Event updates.
7381
7382         * gst/gstbuffer.h:
7383         Use faster casts.
7384
7385         * gst/gstelement.c: (gst_element_seek):
7386         * gst/gstelement.h:
7387         Update gst_element_seek.
7388
7389         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7390         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7391         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7392         (gst_event_new_eos), (gst_event_new_newsegment),
7393         (gst_event_parse_newsegment), (gst_event_new_tag),
7394         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7395         (gst_event_parse_qos), (gst_event_new_seek),
7396         (gst_event_parse_seek), (gst_event_new_navigation):
7397         * gst/gstevent.h:
7398         Make GstEvent use GstStructure. Add parsing code, make sure the
7399         API is sufficiently generic.
7400         Mark possible directions of events and serialization.
7401
7402         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7403         (_gst_message_copy), (gst_message_new_segment_start),
7404         (gst_message_new_segment_done), (gst_message_new_custom),
7405         (gst_message_parse_segment_start),
7406         (gst_message_parse_segment_done):
7407         Small cleanups.
7408
7409         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7410         (gst_pad_set_caps), (gst_pad_send_event):
7411         Update for new events. 
7412         Catch events sent in wrong directions.
7413
7414         * gst/gstqueue.c: (gst_queue_link_src),
7415         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7416         (gst_queue_handle_src_query):
7417         Event updates.
7418
7419         * gst/gsttag.c:
7420         * gst/gsttag.h:
7421         Remove event code from this file.
7422
7423         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7424         (gst_dp_event_from_packet):
7425         Event updates.
7426
7427 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7428
7429         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7430         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7431         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7432           Make debugging actually useful.
7433
7434 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7435
7436         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7437         (gst_pad_fixate_caps):
7438           Implement default fixation once again, so that gst_pad_fixate()
7439           actually does anything at all. This probably needs to be some
7440           sort of a last resort, and use profile-based fixation first, but
7441           since that doesn't exist yet, this is the best we have. Fixes
7442           visualization in Totem.
7443
7444 2005-07-22  Wim Taymans  <wim@fluendo.com>
7445
7446         * docs/design/part-events.txt:
7447         Small update.
7448
7449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7450         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7451         (gst_base_sink_activate_pull):
7452         Some more comments.
7453
7454         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7455         (gst_fake_src_create):
7456         Fix handoff marshall.
7457
7458         * gst/elements/gstidentity.c: (gst_identity_class_init),
7459         (gst_identity_transform_ip):
7460         We're a real inplace element.
7461
7462         * gst/gstbus.c: (gst_bus_post):
7463         Added some comments.
7464
7465         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7466         * tests/muxing/case1.c: (main):
7467         * tests/sched/dynamic-pipeline.c: (main):
7468         * tests/sched/interrupt1.c: (main):
7469         * tests/sched/interrupt2.c: (main):
7470         * tests/sched/interrupt3.c: (main):
7471         * tests/sched/runxml.c: (main):
7472         * tests/sched/sched-stress.c: (main):
7473         * tests/seeking/seeking1.c: (event_received), (main):
7474         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7475         (main):
7476         * tests/threadstate/threadstate3.c: (main):
7477         * tests/threadstate/threadstate4.c: (main):
7478         * tests/threadstate/threadstate5.c: (main):
7479         Fix the tests.
7480
7481 2005-07-21  Wim Taymans  <wim@fluendo.com>
7482
7483         * docs/design/part-seeking.txt:
7484         Some small additions.
7485
7486         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7487         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7488         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7489         * gst/base/gstbasesink.h:
7490         discont values are gint64, handle the math correctly.
7491
7492         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7493         Make the basesrc report error if the source pad is not linked.
7494
7495         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7496         (gst_queue_loop), (gst_queue_handle_src_query),
7497         (gst_queue_src_activate_push):
7498         Make queue collect data even if the srcpad is not linked.
7499         Start pushing out data as soon as it is linked.
7500
7501         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7502         * gst/gstutils.h:
7503         Added gst_flow_get_name() to ease error reporting.
7504
7505 2005-07-20  Wim Taymans  <wim@fluendo.com>
7506
7507         * gst/gstmessage.c: (gst_message_new_segment_start),
7508         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7509         (gst_message_parse_segment_done):
7510         * gst/gstmessage.h:
7511         Added a bunch of messages for advanced seeking.
7512
7513         * gst/parse/grammar.y:
7514         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7515         (gst_dpman_state_changed):
7516         Fix some new-pad -> pad-added signals
7517
7518 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7519
7520         * docs/manual/appendix-porting.xml:
7521         * docs/pwg/appendix-porting.xml:
7522           Document new-pad/state-change signal renames and the FixedList
7523           type rename.
7524
7525 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7526
7527         * docs/manual/advanced-autoplugging.xml:
7528         * docs/manual/basics-helloworld.xml:
7529         * docs/manual/basics-pads.xml:
7530         * docs/random/ds/0.9-suggested-changes:
7531         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7532         * gst/gstelement.h:
7533         * gst/gstevent.h:
7534         * gst/gstformat.h:
7535         * gst/gstquery.h:
7536         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7537         (gst_structure_parse_array), (gst_structure_parse_value):
7538         * gst/gstvalue.c: (gst_type_is_fixed),
7539         (gst_value_list_prepend_value), (gst_value_list_append_value),
7540         (gst_value_list_get_size), (gst_value_list_get_value),
7541         (gst_value_transform_array_string), (gst_value_serialize_array),
7542         (gst_value_deserialize_array), (gst_value_intersect_array),
7543         (gst_value_is_fixed), (_gst_value_initialize):
7544         * gst/gstvalue.h:
7545           GstElement::new-pad -> pad-added, GstElement::state-change ->
7546           state-changed, GstValueFixedList -> GstValueArray, add format and
7547           flags as their own arguments in gst_element_seek() (should improve
7548           "bindeability"), remove function generators since they don't work
7549           under a whole bunch of compilers (they were deprecated already
7550           anyway).
7551
7552 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7553
7554         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7555         (_gst_debug_register_funcptr):
7556         * gst/gstinfo.h:
7557           Fix illegal cast on some platforms (#309253).
7558
7559 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7560
7561         * gst/gstmessage.c: (gst_message_new_custom):
7562         * gst/gstmessage.h:
7563           Add _new_custom, make _new_application a macro to _new_custom.
7564
7565 2005-07-20  Wim Taymans  <wim@fluendo.com>
7566
7567         * gst/base/gstbasesrc.c: (gst_base_src_init),
7568         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7569         * gst/base/gstbasesrc.h:
7570         Add a gboolean to decide when to push out a discont.
7571
7572         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7573         (gst_queue_loop), (gst_queue_handle_src_query),
7574         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7575         (gst_queue_set_property), (gst_queue_get_property):
7576         Some cleanups.
7577
7578         * tests/threadstate/threadstate1.c: (main):
7579         Make a thread test compile and run... very silly..
7580
7581
7582 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7583
7584         * docs/manual/appendix-porting.xml:
7585           Mention removal of libgstgconf-0.9.la and existence of gconf
7586           elements.
7587
7588 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7589
7590         * docs/pwg/advanced-clock.xml:
7591         * docs/pwg/appendix-porting.xml:
7592         * docs/pwg/intro-preface.xml:
7593         * docs/pwg/other-base.xml:
7594         * docs/pwg/other-manager.xml:
7595         * docs/pwg/other-nton.xml:
7596         * docs/pwg/other-ntoone.xml:
7597         * docs/pwg/other-oneton.xml:
7598         * docs/pwg/pwg.xml:
7599           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7600           demuxer), remove n-to-n (was never written), fix some code examples
7601           and links and update the porting section to include all this.
7602
7603 2005-07-19  Wim Taymans  <wim@fluendo.com>
7604
7605         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7606         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7607         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7608         (gst_queue_src_activate_push), (gst_queue_change_state),
7609         (gst_queue_get_property):
7610         * gst/gstqueue.h:
7611         Propagate GstFlowReturn more intelligently upstream and output
7612         an ERROR/EOS when streaming stopped due to fatal error.
7613
7614 2005-07-19  Wim Taymans  <wim@fluendo.com>
7615
7616         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7617         Don't block forever for the state change to complete, the
7618         pipeline already did with a sensible timeout.
7619
7620 2005-07-19  Wim Taymans  <wim@fluendo.com>
7621
7622         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7623         Make sure we never call the create function is we
7624         got deactivated.
7625
7626 2005-07-19  Andy Wingo  <wingo@pobox.com>
7627
7628         * gst/parse/parse.l: Attempt to solve bug #172815.
7629
7630 2005-07-19  Wim Taymans  <wim@fluendo.com>
7631
7632         * docs/design/part-clocks.txt:
7633         * docs/design/part-events.txt:
7634         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7635         Small docs updates.
7636         Only update the seeking values when we are not
7637         busy streaming.
7638
7639 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7640
7641         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7642           Oops, ignore the result of gst_pad_push_event here.
7643
7644 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7645
7646         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7647         (gst_base_src_activate_push):
7648           Send discont event from the loop function, as pads
7649           aren't activated yet in the activate_push handler.
7650
7651         * gst/gstbin.c: (bin_bus_handler):
7652           Don't leak element name.
7653
7654 2005-07-18  Andy Wingo  <wingo@pobox.com>
7655
7656         * configure.ac: Use AS_LIBTOOL_TAGS.
7657
7658 2005-07-18  Wim Taymans  <wim@fluendo.com>
7659
7660         * docs/gst/gstreamer.types:
7661         Remove deleted types.
7662
7663 2005-07-18  Wim Taymans  <wim@fluendo.com>
7664
7665         * check/elements/gstfakesrc.c: (GST_START_TEST):
7666         * configure.ac:
7667         * gst/Makefile.am:
7668         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7669         (init_popt_callback):
7670         * gst/gst.h:
7671         * gst/gst_private.h:
7672         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7673         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7674         * gst/gstbin.h:
7675         * gst/gstbus.h:
7676         * gst/gstconfig.h.in:
7677         * gst/gstelement.c: (gst_element_class_init),
7678         (gst_element_set_base_time), (gst_element_get_base_time),
7679         (iterator_fold_with_resync), (gst_element_change_state),
7680         (gst_element_dispose), (gst_element_get_bus):
7681         * gst/gstelement.h:
7682         * gst/gstelementfactory.h:
7683         * gst/gsterror.c: (_gst_core_errors_init):
7684         * gst/gsterror.h:
7685         * gst/gstevent.h:
7686         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7687         * gst/gstindex.c:
7688         * gst/gstinfo.c: (_gst_debug_init):
7689         * gst/gstmessage.c: (_gst_message_copy):
7690         * gst/gstmessage.h:
7691         * gst/gstminiobject.h:
7692         * gst/gstobject.c:
7693         * gst/gstobject.h:
7694         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7695         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7696         * gst/gstpad.h:
7697         * gst/gstparse.h:
7698         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7699         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7700         (gst_pipeline_get_last_stream_time):
7701         * gst/gstpipeline.h:
7702         * gst/gstpluginfeature.h:
7703         * gst/gstquery.h:
7704         * gst/gstscheduler.c:
7705         * gst/gstscheduler.h:
7706         * gst/gststructure.h:
7707         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7708         (gst_task_finalize), (gst_task_func), (gst_task_create),
7709         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7710         (gst_task_stop), (gst_task_pause):
7711         * gst/gsttask.h:
7712         * gst/gsttypefind.h:
7713         * gst/gsttypes.h:
7714         * gst/registries/gstlibxmlregistry.c: (load_feature),
7715         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7716         * gst/registries/gstxmlregistry.c:
7717         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7718         * gst/schedulers/threadscheduler.c:
7719         * libs/gst/control/dparammanager.h:
7720         * tools/gst-inspect.c: (print_element_list),
7721         (print_plugin_features), (print_element_features):
7722         * tools/gst-xmlinspect.c: (print_element_list),
7723         (print_plugin_info), (main):
7724         Removed plugable schedulers.
7725         Removed Scheduler/Manager from elements.
7726         Removed gsttypes.h, rearranged includes.
7727         Removed dependency pad<->element, element<>pipeline, and
7728         various others,  fix includes.
7729         implement gst_pad_get_parent() with gst_object_get_parent()
7730         Make GstTask sefcontained.
7731         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7732         timeout.
7733         Fix endless loop in iterator_fold_with_resync.
7734
7735
7736 2005-07-18  Wim Taymans  <wim@fluendo.com>
7737
7738         * gst/Makefile.am:
7739         * gst/gstarch.h:
7740         Remove old file.
7741
7742 2005-07-18  Wim Taymans  <wim@fluendo.com>
7743
7744         * gst/Makefile.am:
7745         No more cothreads.h
7746
7747 2005-07-18  Wim Taymans  <wim@fluendo.com>
7748
7749         * gst/cothreads.c:
7750         * gst/cothreads.h:
7751         Let's remove these.
7752
7753 2005-07-18  Wim Taymans  <wim@fluendo.com>
7754
7755         * docs/design/part-dynamic.txt:
7756         * docs/design/part-events.txt:
7757         * docs/design/part-seeking.txt:
7758         Some more docs in the works.
7759
7760         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7761         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7762         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7763         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7764         (gst_base_transform_handle_buffer),
7765         (gst_base_transform_sink_activate_push),
7766         (gst_base_transform_src_activate_pull),
7767         (gst_base_transform_set_passthrough),
7768         (gst_base_transform_is_passthrough):
7769         Refcounting fixes.
7770
7771         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7772         Cleanups.
7773
7774         * gst/gstevent.c: (gst_event_finalize):
7775         Set SRC to NULL.
7776
7777         * gst/gstutils.c: (gst_element_unlink),
7778         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7779         (gst_pad_proxy_setcaps):
7780         * gst/gstutils.h:
7781         Add _get_parent_element() to get a pads parent as an element.
7782
7783 2005-07-18  Wim Taymans  <wim@fluendo.com>
7784
7785         * check/gst/gstbin.c: (GST_START_TEST):
7786         Remove bogus test.
7787
7788 2005-07-18  Wim Taymans  <wim@fluendo.com>
7789
7790         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7791         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7792         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7793         (gst_base_sink_event), (gst_base_sink_do_sync),
7794         (gst_base_sink_chain), (gst_base_sink_loop),
7795         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7796         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7797         Refcounting fixes.
7798         Fix logic for returning ASYNC when not prerolled.
7799
7800 2005-07-18  Wim Taymans  <wim@fluendo.com>
7801
7802         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7803         Fix nasty refcount bug.
7804
7805 2005-07-16 Philippe Khalaf <burger@speedy.org>
7806
7807         * gst/elements/gstfdsrc.c:
7808         * gst/elements/gstfdsrc.h:
7809         * gst/elements/gstelements.c:
7810         * gst/elements/Makefile.am:
7811         Ported fdsrc to 0.9.
7812
7813 2005-07-16  Wim Taymans  <wim@fluendo.com>
7814
7815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7816         (gst_base_sink_do_sync):
7817         Fix compile error.
7818
7819 2005-07-16  Wim Taymans  <wim@fluendo.com>
7820
7821         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7822         (gst_base_sink_event), (gst_base_sink_get_times),
7823         (gst_base_sink_do_sync), (gst_base_sink_change_state):
7824         * gst/base/gstbasesink.h:
7825         Store and use discont values when syncing buffers as described
7826         in design docs.
7827         
7828         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7829         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
7830         (gst_base_src_activate_push):
7831         Push discont event when starting.
7832
7833         * gst/elements/gstidentity.c: (gst_identity_transform):
7834         Small cleanups.
7835
7836         * gst/gstbin.c: (gst_bin_change_state):
7837         Small cleanups in base_time  distribution.
7838
7839         * gst/gstelement.c: (gst_element_set_base_time),
7840         (gst_element_get_base_time), (gst_element_change_state):
7841         * gst/gstelement.h:
7842         Added methods for the base_time of the element.
7843         Some MT fixes.
7844
7845         * gst/gstpipeline.c: (gst_pipeline_send_event),
7846         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7847         (gst_pipeline_get_last_stream_time):
7848         * gst/gstpipeline.h:
7849         MT fixes.
7850         Handle seeking as described in design doc, remove stream_time
7851         hack.
7852         Cleanups clock and stream_time selection code. Added accessors
7853         for the stream_time.
7854         
7855
7856 2005-07-16  Andy Wingo  <wingo@pobox.com>
7857
7858         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
7859         (#305291).
7860
7861 2005-07-16  Wim Taymans  <wim@fluendo.com>
7862
7863         * check/gst/gstbin.c: (GST_START_TEST):
7864         Make elements silent as the deep_notify refs the
7865         parent, which might make the test fail.
7866
7867         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7868         Don't hold the lock for too long.
7869
7870 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
7871
7872         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7873           Don't unref the caps we passed to gst_caps_make_writable() after
7874           passing them. gst_caps_make_writable() will do that for us.
7875
7876 2005-07-15  Andy Wingo  <wingo@pobox.com>
7877
7878         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
7879         (#157311).
7880
7881         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
7882         own marshalling function for the handoff signal. Properly type the
7883         buffer as a buffer. Fixes some warnings. Should do a more general
7884         solution.
7885         (gst_identity_class_init): Plug into the right marshaller.
7886
7887 2005-07-15  Wim Taymans  <wim@fluendo.com>
7888
7889         * docs/design/part-TODO.txt:
7890         * docs/design/part-clocks.txt:
7891         * docs/design/part-element-sink.txt:
7892         * docs/design/part-events.txt:
7893         * docs/design/part-gstpipeline.txt:
7894         Updated docs, mostly DISCONT related.
7895
7896 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
7897
7898         * docs/pwg/building-pads.xml:
7899           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
7900
7901 2005-07-15  Andy Wingo  <wingo@pobox.com>
7902
7903         * tools/gst-typefind.c: Update, add copyright block.
7904
7905         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
7906         Normalize and truncate caps before fixation.
7907
7908         * gst/gstcaps.h:
7909         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
7910         discards all but the first structure from its argument.
7911
7912 2005-07-15  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7915         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
7916         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7917         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7918         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
7919         (gst_base_transform_chain), (gst_base_transform_change_state),
7920         (gst_base_transform_set_passthrough),
7921         (gst_base_transform_is_passthrough):
7922         * gst/base/gstbasetransform.h:
7923         Make passthrough work using the bufferpools.
7924         Changed API a bit, subclasses have to write into a buffer
7925         provided by the base class.
7926         More debug info in nego functions.
7927         
7928         * gst/elements/gstidentity.c: (gst_identity_init),
7929         (gst_identity_transform):
7930         Port to new base class.
7931
7932 2005-07-15  Wim Taymans  <wim@fluendo.com>
7933
7934         * gst/gstmessage.c: (gst_message_new_state_changed):
7935         * tools/gst-launch.c: (event_loop), (main):
7936         Totally dump messages in -launch with the -m option.
7937         Fix message name for State messages,
7938
7939 2005-07-14  Wim Taymans  <wim@fluendo.com>
7940
7941         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7942         Post error messages on errors.
7943
7944 2005-07-14  Wim Taymans  <wim@fluendo.com>
7945
7946         * gst/gstcaps.c: (gst_caps_do_simplify):
7947         Remove debug info.
7948
7949         * gst/gsterror.h:
7950         Define error for stream stopped.
7951
7952         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7953         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
7954         Do proper return values.
7955
7956         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7957         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
7958         (gst_pad_get_range):
7959         Better return values.
7960
7961         * gst/gstpad.h:
7962         Reorganise return values, add macro to check for fatal errors.
7963
7964         * gst/gstqueue.c: (gst_queue_chain):
7965         Return proper GstFlowReturn values,
7966
7967 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7968
7969         * docs/gst/gstreamer-sections.txt:
7970         * docs/gst/gstreamer.types:
7971         * docs/gst/tmpl/gst.sgml:
7972         * docs/gst/tmpl/gstbasesink.sgml:
7973         * docs/gst/tmpl/gstbasesrc.sgml:
7974         * docs/gst/tmpl/gstbasetransform.sgml:
7975         * docs/gst/tmpl/gstbin.sgml:
7976         * docs/gst/tmpl/gstbuffer.sgml:
7977         * docs/gst/tmpl/gstcaps.sgml:
7978         * docs/gst/tmpl/gstclock.sgml:
7979         * docs/gst/tmpl/gstcompat.sgml:
7980         * docs/gst/tmpl/gstconfig.sgml:
7981         * docs/gst/tmpl/gstelement.sgml:
7982         * docs/gst/tmpl/gstelementdetails.sgml:
7983         * docs/gst/tmpl/gstelementfactory.sgml:
7984         * docs/gst/tmpl/gstenumtypes.sgml:
7985         * docs/gst/tmpl/gsterror.sgml:
7986         * docs/gst/tmpl/gstevent.sgml:
7987         * docs/gst/tmpl/gstfakesink.sgml:
7988         * docs/gst/tmpl/gstfakesrc.sgml:
7989         * docs/gst/tmpl/gstfilesink.sgml:
7990         * docs/gst/tmpl/gstfilesrc.sgml:
7991         * docs/gst/tmpl/gstfilter.sgml:
7992         * docs/gst/tmpl/gstformat.sgml:
7993         * docs/gst/tmpl/gstghostpad.sgml:
7994         * docs/gst/tmpl/gstimplementsinterface.sgml:
7995         * docs/gst/tmpl/gstindex.sgml:
7996         * docs/gst/tmpl/gstindexfactory.sgml:
7997         * docs/gst/tmpl/gstinfo.sgml:
7998         * docs/gst/tmpl/gstiterator.sgml:
7999         * docs/gst/tmpl/gstmacros.sgml:
8000         * docs/gst/tmpl/gstmemchunk.sgml:
8001         * docs/gst/tmpl/gstminiobject.sgml:
8002         * docs/gst/tmpl/gstobject.sgml:
8003         * docs/gst/tmpl/gstpad.sgml:
8004         * docs/gst/tmpl/gstpadtemplate.sgml:
8005         * docs/gst/tmpl/gstparse.sgml:
8006         * docs/gst/tmpl/gstpipeline.sgml:
8007         * docs/gst/tmpl/gstplugin.sgml:
8008         * docs/gst/tmpl/gstpluginfeature.sgml:
8009         * docs/gst/tmpl/gstquery.sgml:
8010         * docs/gst/tmpl/gstqueue.sgml:
8011         * docs/gst/tmpl/gstregistry.sgml:
8012         * docs/gst/tmpl/gstregistrypool.sgml:
8013         * docs/gst/tmpl/gstscheduler.sgml:
8014         * docs/gst/tmpl/gstschedulerfactory.sgml:
8015         * docs/gst/tmpl/gststructure.sgml:
8016         * docs/gst/tmpl/gstsystemclock.sgml:
8017         * docs/gst/tmpl/gsttaglist.sgml:
8018         * docs/gst/tmpl/gsttagsetter.sgml:
8019         * docs/gst/tmpl/gsttrace.sgml:
8020         * docs/gst/tmpl/gsttrashstack.sgml:
8021         * docs/gst/tmpl/gsttypefind.sgml:
8022         * docs/gst/tmpl/gsttypefindfactory.sgml:
8023         * docs/gst/tmpl/gsttypes.sgml:
8024         * docs/gst/tmpl/gsturihandler.sgml:
8025         * docs/gst/tmpl/gsturitype.sgml:
8026         * docs/gst/tmpl/gstutils.sgml:
8027         * docs/gst/tmpl/gstvalue.sgml:
8028         * docs/gst/tmpl/gstversion.sgml:
8029         * docs/gst/tmpl/gstxml.sgml:
8030         * docs/libs/tmpl/gstcontrol.sgml:
8031         * docs/libs/tmpl/gstdataprotocol.sgml:
8032         * docs/libs/tmpl/gstdparam.sgml:
8033         * docs/libs/tmpl/gstdplinint.sgml:
8034         * docs/libs/tmpl/gstdpman.sgml:
8035         * docs/libs/tmpl/gstdpsmooth.sgml:
8036         * docs/libs/tmpl/gstgetbits.sgml:
8037         * docs/libs/tmpl/gstunitconvert.sgml:
8038         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8039         (gst_push_src_base_init), (gst_push_src_class_init),
8040         (gst_push_src_init), (gst_push_src_create):
8041         * gst/base/gstpushsrc.h:
8042         * gst/elements/gstelements.c:
8043         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8044         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8045         (gst_fake_sink_init), (gst_fake_sink_set_property),
8046         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8047         (gst_fake_sink_event), (gst_fake_sink_preroll),
8048         (gst_fake_sink_render), (gst_fake_sink_change_state):
8049         * gst/elements/gstfakesink.h:
8050         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8051         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8052         (gst_fake_src_base_init), (gst_fake_src_class_init),
8053         (gst_fake_src_init), (gst_fake_src_event_handler),
8054         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8055         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8056         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8057         (gst_fake_src_create_buffer), (gst_fake_src_create),
8058         (gst_fake_src_start), (gst_fake_src_stop):
8059         * gst/elements/gstfakesrc.h:
8060         * gst/elements/gstfilesink.c: (_do_init),
8061         (gst_file_sink_base_init), (gst_file_sink_class_init),
8062         (gst_file_sink_init), (gst_file_sink_dispose),
8063         (gst_file_sink_set_location), (gst_file_sink_set_property),
8064         (gst_file_sink_get_property), (gst_file_sink_open_file),
8065         (gst_file_sink_close_file), (gst_file_sink_query),
8066         (gst_file_sink_event), (gst_file_sink_render),
8067         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8068         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8069         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8070         * gst/elements/gstfilesink.h:
8071         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8072         (gst_file_src_class_init), (gst_file_src_init),
8073         (gst_file_src_finalize), (gst_file_src_set_location),
8074         (gst_file_src_set_property), (gst_file_src_get_property),
8075         (gst_file_src_map_region), (gst_file_src_map_small_region),
8076         (gst_file_src_create_mmap), (gst_file_src_create_read),
8077         (gst_file_src_create), (gst_file_src_is_seekable),
8078         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8079         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8080         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8081         (gst_file_src_uri_handler_init):
8082         * gst/elements/gstfilesrc.h:
8083           more autistic cleanliness in functions/names/defines
8084
8085 2005-07-13  Andy Wingo  <wingo@pobox.com>
8086
8087         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8088         source couldn't negotiate.
8089
8090         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8091         connections again.
8092
8093         * gst/gstutils.h:
8094         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8095         function. I am channeling Hades. Put your boots on suckers!!!
8096
8097 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8098
8099         * testsuite/caps/Makefile.am:
8100         * testsuite/caps/value_compare.c:
8101         * testsuite/caps/value_intersect.c:
8102         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8103           move two testsuite apps over to the check dir
8104
8105 2005-07-12  Wim Taymans  <wim@fluendo.com>
8106
8107         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8108         Added more debug info in the negotiate process.
8109
8110         * gst/gstmessage.h:
8111         Prepare for segment playback.
8112
8113         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8114         Better debugging.
8115
8116         * gst/gstutils.c:
8117         Some more docs.
8118
8119         * tools/gst-launch.c: (main):
8120         NULL pipeline on errors.
8121
8122 2005-07-12  Andy Wingo  <wingo@pobox.com>
8123
8124         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8125         not it comes from a malloc region. Make sure our copy gets freed.
8126
8127 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8128
8129         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8130         * check/gst/gstmessage.c: (GST_START_TEST):
8131         * check/gst/gststructure.c: (GST_START_TEST),
8132         (gst_structure_suite), (main):
8133           more testing
8134         * gst/gstelement.c: (gst_element_message_full):
8135           clean up GError and debug string now that they get copied
8136         * gst/gstmessage.c: (gst_message_new_error),
8137         (gst_message_new_warning), (gst_message_parse_error),
8138         (gst_message_parse_warning):
8139           use GST_TYPE_G_ERROR for structure_new, and take copies of
8140           arguments, so that we don't mess up refcounting
8141
8142 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8143
8144         * check/Makefile.am:
8145           add per-test valgrind targets
8146         * check/gst-libs/gdp.c: (GST_START_TEST),
8147         (gst_data_protocol_suite), (main):
8148           clean up
8149
8150 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8151
8152         * check/Makefile.am:
8153           instate more valgrindable tests
8154         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8155         (GST_START_TEST), (fakesrc_suite):
8156         * check/gst/gstpad.c: (GST_START_TEST):
8157         * check/gst/gststructure.c: (GST_START_TEST):
8158           fix test leaks
8159         * docs/gst/tmpl/gstminiobject.sgml:
8160         * gst/gstpad.c: (gst_pad_finalize):
8161           fix the static mutex leak
8162
8163 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8164
8165         * check/Makefile.am:
8166           add two more tests for valgrinding
8167         * check/gst/gstvalue.c: (GST_START_TEST):
8168           test refcount of deserialized buffer, found a leak
8169         * docs/gst/gstreamer-docs.sgml:
8170         * docs/gst/gstreamer-sections.txt:
8171         * docs/gst/gstreamer.types:
8172         * docs/gst/tmpl/gstminiobject.sgml:
8173           add miniobject to docs
8174         * gst/gstminiobject.c:
8175           add some docs
8176         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8177         (gst_string_unwrap):
8178           fix a hard-to-find invalid write for one of the tests
8179           fix a leak for deserialized buffers
8180
8181 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8182
8183         * docs/pwg/advanced-events.xml:
8184         * docs/pwg/advanced-request.xml:
8185         * docs/pwg/advanced-scheduling.xml:
8186         * docs/pwg/appendix-porting.xml:
8187         * docs/pwg/building-boiler.xml:
8188         * docs/pwg/intro-preface.xml:
8189         * docs/pwg/other-ntoone.xml:
8190           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8191           of example code and explanation for pad activation, loop() and
8192           getrange() functions and a bit more. Remove old comments pointing
8193           to loop-functions.
8194         * examples/pwg/Makefile.am:
8195           Add loop/getrange examples.
8196
8197 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8198
8199         * configure.ac:
8200           check for valgrind binary + some fixes
8201         * check/gst.supp:
8202           valgrind suppressions for the tests
8203         * check/Makefile.am:
8204           add a valgrind: target that valgrinds the unit tests
8205         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8206         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8207         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8208         * check/gst/gstghostpad.c:
8209           added some cleanup
8210         * check/gst/gstdata.c:
8211           removed
8212         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8213         (thread_unref), (gst_mini_object_suite), (main):
8214           added
8215         * gst/gst.c: (gst_deinit):
8216         * gst/gst.h:
8217           add a method to clean up.
8218         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8219         (gst_system_clock_obtain):
8220           allow for disposing the system clock.
8221         * tools/gst-launch.c: (main):
8222           deinit
8223
8224 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8225
8226         * docs/gst/tmpl/gstbasesrc.sgml:
8227         * docs/gst/tmpl/gstfakesrc.sgml:
8228         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8229         (gst_base_src_init), (gst_base_src_set_property),
8230         (gst_base_src_get_property), (gst_base_src_get_range),
8231         (gst_base_src_start):
8232         * gst/base/gstbasesrc.h:
8233           add num-buffers property
8234         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8235         (gst_fakesrc_init), (gst_fakesrc_set_property),
8236         (gst_fakesrc_get_property), (gst_fakesrc_create),
8237         (gst_fakesrc_start):
8238           remove num-buffers property
8239
8240 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8241
8242         * docs/gst/gstreamer-sections.txt:
8243         * docs/gst/tmpl/gstbasesink.sgml:
8244         * docs/gst/tmpl/gstbasesrc.sgml:
8245         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8246         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8247         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8248         (gst_base_sink_set_property), (gst_base_sink_get_property),
8249         (gst_base_sink_handle_object), (gst_base_sink_event),
8250         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8251         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8252         (gst_base_sink_loop), (gst_base_sink_deactivate),
8253         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8254         (gst_base_sink_change_state):
8255         * gst/base/gstbasesink.h:
8256         * gst/base/gstbasesrc.h:
8257         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8258         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8259         (gst_filesink_init):
8260           more macro splitting
8261
8262 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8263
8264         * gst/gstelement.c: (gst_element_get_bus):
8265           add debug
8266         * tools/gst-launch.c: (check_intr), (event_loop):
8267           fix bus leaks
8268
8269 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8270
8271         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8272           fix a caps leak
8273
8274 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8275
8276         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8277         (gst_base_src_finalize):
8278           add finalize method and clean up properly
8279         * gst/gstpipeline.c: (gst_pipeline_dispose):
8280           add debug
8281
8282 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8283
8284         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8285         (gst_bin_suite):
8286           add more things to check
8287         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8288         * gst/gstelement.c:
8289           more debug
8290
8291 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8292
8293         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8294         (GST_START_TEST), (fakesrc_suite):
8295         * check/gst-libs/gdp.c: (GST_START_TEST):
8296         * check/gst/gst.c: (GST_START_TEST):
8297         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8298         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8299         * check/gst/gstbus.c: (GST_START_TEST):
8300         * check/gst/gstcaps.c: (GST_START_TEST):
8301         * check/gst/gstdata.c: (GST_START_TEST):
8302         * check/gst/gstelement.c: (GST_START_TEST):
8303         * check/gst/gstghostpad.c: (GST_START_TEST):
8304         * check/gst/gstiterator.c: (GST_START_TEST):
8305         * check/gst/gstmessage.c: (GST_START_TEST):
8306         * check/gst/gstobject.c: (GST_START_TEST):
8307         * check/gst/gstpad.c: (GST_START_TEST):
8308         * check/gst/gststructure.c: (GST_START_TEST):
8309         * check/gst/gstsystemclock.c: (GST_START_TEST),
8310         (gst_systemclock_suite):
8311         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8312         * check/gst/gstvalue.c: (GST_START_TEST):
8313         * check/pipelines/cleanup.c: (GST_START_TEST):
8314         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8315         * check/states/sinks.c: (GST_START_TEST):
8316         * check/gstcheck.c: (gst_check_init):
8317         * check/gstcheck.h:
8318           add debugging category
8319           use GST_START_TEST now, so we add a debug line
8320
8321 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8322
8323         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8324           add test for state change message on a bin
8325         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8326           add another test
8327         * gst/gstbin.c: (gst_bin_init):
8328         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8329         * gst/gstelement.c: (gst_element_post_message),
8330         (gst_element_set_state):
8331         * gst/gstelementfactory.c: (gst_element_factory_create):
8332         * gst/gstmessage.c: (gst_message_new):
8333         * gst/gstscheduler.c:
8334           various debugging additions and cleanups
8335
8336 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8337
8338         * check/Makefile.am:
8339         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8340         (main):
8341           adding tests for elements
8342         * gst/gstelement.c: (gst_element_dispose):
8343
8344 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8345
8346         * gst/registries/gstlibxmlregistry.c: (load_feature):
8347           plug more leaks.  A simple gst_init() now is leakfree, yay.
8348
8349 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8352         (gst_xml_registry_load):
8353           plug another memleak
8354
8355 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8356
8357         * configure.ac:
8358           use GST_SET_ERROR_CFLAGS
8359         * docs/faq/cvs.xml:
8360           change to ERROR_CFLAGS
8361
8362 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8363
8364         * configure.ac:
8365           make GST_ERROR_CFLAGS overridable and re-enable Werror
8366         * docs/faq/cvs.xml:
8367           add a note about error CFLAGS
8368         * docs/gst/tmpl/gstfakesrc.sgml:
8369         * gst/elements/gstfakesrc.c:
8370           comment out some unused code
8371         * gst/gst.c: (split_and_iterate):
8372         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8373         (load_feature):
8374           plug some memleaks
8375
8376 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8377
8378         * common/Makefile.am:
8379         * common/gtk-doc.mak:
8380         * docs/gst/Makefile.am:
8381           factor out gtk-doc.mak
8382
8383 2005-07-07  Wim Taymans  <wim@fluendo.com>
8384
8385         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8386         (gst_thread_scheduler_dispose):
8387         Unlock the STREAM_LOCK completely.
8388
8389 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8390
8391         * check/Makefile.am:
8392         * check/elements/.cvsignore:
8393         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8394         (START_TEST), (fakesrc_suite), (main):
8395         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8396         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8397         (gst_fakesrc_create), (gst_fakesrc_start):
8398         * gst/elements/gstfakesrc.h:
8399           adding a first element test
8400
8401 2005-07-07  Andy Wingo  <wingo@pobox.com>
8402
8403         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8404         debug message.
8405
8406 2005-07-07  Wim Taymans  <wim@fluendo.com>
8407
8408         * gst/gstquery.c:
8409         * gst/gstquery.h:
8410         Remove old types
8411
8412 2005-07-07  Wim Taymans  <wim@fluendo.com>
8413
8414         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8415         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8416         Allow subclasses to implement their own negotiation.
8417
8418 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8419
8420         * docs/design/part-gstbin.txt:
8421         * docs/design/part-gstpipeline.txt:
8422           Update design notes to reflect the movement of
8423           responsibility for bus handling from GstPipeline to
8424           GstBin
8425
8426 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8427
8428         * configure.ac:
8429           Remove unnecessary queue2/3/4 examples.
8430
8431 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8432
8433         * examples/Makefile.am:
8434         * examples/helloworld/helloworld.c: (event_loop), (main):
8435         * examples/queue/queue.c: (event_loop), (main):
8436         * examples/queue2/queue2.c: (main):
8437           Update a couple of the examples to work again.
8438
8439         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8440         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8441          Spelling corrections and extra debug.
8442         
8443         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8444         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8445         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8446         * gst/gstbin.h:
8447         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8448         (gst_pipeline_change_state):
8449         * gst/gstpipeline.h:
8450           Move the bus handler for children to the GstBin, and create a
8451           separate bus for receiving messages from children to the one the
8452           bus sends 'upwards' on.
8453
8454 2005-07-06  Wim Taymans  <wim@fluendo.com>
8455
8456         * gst/base/README:
8457         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8458         (gst_base_sink_handle_object), (gst_base_sink_loop),
8459         (gst_base_sink_change_state):
8460         * gst/base/gstbasesink.h:
8461         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8462         (gst_base_src_init), (gst_base_src_setcaps),
8463         (gst_base_src_getcaps), (gst_base_src_loop),
8464         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8465         (gst_base_src_start), (gst_base_src_change_state):
8466         * gst/base/gstbasesrc.h:
8467         Make basesrc negotiate.
8468         Handle the case where preroll fails in basesink.
8469         Update README.
8470
8471 2005-07-06  Wim Taymans  <wim@fluendo.com>
8472
8473         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8474         Implement the fixate function.
8475         Clean up acceptcaps.
8476
8477 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8478
8479         * docs/pwg/building-filterfactory.xml:
8480         * docs/pwg/pwg.xml:
8481           Remove never-written filter-factory chapter; I'll add the various
8482           base classes to part 4 ("other element types") later on.
8483
8484 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8485
8486         * docs/pwg/advanced-negotiation.xml:
8487         * docs/pwg/building-boiler.xml:
8488         * docs/pwg/building-pads.xml:
8489         * docs/pwg/pwg.xml:
8490         * examples/pwg/Makefile.am:
8491           Add a chapter on caps negotiation, simplify the original code
8492           samples a bit w.r.t. caps negotiation, add link to the advanced
8493           section. Add a bunch of examples showing different use cases of
8494           different types of caps negotiation. Upstream renegotiation isn't
8495           fully documented yet since nobody knows how that works.
8496
8497 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8498
8499         * check/gst/gstpad.c:
8500         * check/gstcheck.c:
8501         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8502           if pad has no parent, return NULL as list of internal links
8503
8504 2005-07-05  Andy Wingo  <wingo@pobox.com>
8505
8506         * gst/elements/gstfilesrc.c:
8507         * gst/elements/gstfakesrc.c: 
8508         * gst/base/gstpushsrc.c:
8509         * gst/base/gstbasesrc.h: 
8510         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8511         
8512 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8513
8514         * Makefile.am:
8515           better report generation target (lcov needs a patch)
8516
8517 2005-07-05  Andy Wingo  <wingo@pobox.com>
8518
8519         * gst/elements, testsuite: Null if we got it...
8520
8521 2005-07-05  Wim Taymans  <wim@fluendo.com>
8522
8523         * configure.ac:
8524         * libs/gst/dataprotocol/Makefile.am:
8525         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8526         * libs/gst/dataprotocol/dataprotocol.h:
8527         * pkgconfig/Makefile.am:
8528         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8529         * pkgconfig/gstreamer-dataprotocol.pc.in:
8530         Ported dataprotol to 0.9. 
8531         Added pkgconfig files.
8532
8533 2005-07-05  Andy Wingo  <wingo@pobox.com>
8534
8535         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8536         Default to returning TRUE for the case when tranform_caps returns
8537         a fixed caps, like for identity or volume.
8538
8539         * check/gst/gstbus.c (pound_bus_with_messages): 
8540         * check/gst/gstmessage.c (START_TEST): 
8541         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8542         message API change.
8543
8544         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8545         logic weaks here: always run transform_caps, trying passthrough
8546         operation only if the original caps intersects with the transform.
8547
8548         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8549         source and sink caps.
8550
8551         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8552         Intersect the peer caps with the pad template before going into
8553         transform_caps.
8554         (gst_base_transform_transform_caps): More debugging.
8555
8556         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8557         src argument.
8558
8559 2005-07-04  Edward Hervey  <edward@fluendo.com>
8560
8561         * gst/gstutils.c:
8562         * gst/gstutils.h:
8563         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8564         in bindings.
8565
8566 2005-07-04  Andy Wingo  <wingo@pobox.com>
8567
8568         * check/gst/gstpad.c: Only set explicit caps on pads.
8569
8570 2005-07-01  Andy Wingo  <wingo@pobox.com>
8571
8572         * tests/network-clock.scm: Commentary update.
8573
8574         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8575         Didn't really make sense, not implementable with basetransform,
8576         etc.
8577         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8578         attempt at implementing the sync property, needs an unlock method.
8579
8580         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8581         New func, by default returns the same caps (the identity
8582         transformation).
8583         (gst_base_transform_getcaps): Uses transform_caps to return
8584         something sensible.
8585         (gst_base_transform_setcaps): Complicated logic to get caps on
8586         both pads, even if they are different, and to call set_caps once
8587         for every time both pads get their caps set.
8588         (gst_base_transform_handle_buffer): Give the ref to the transform
8589         function. Allows in-place modification of the buffer.
8590
8591         * gst/base/gstbasetransform.h (transform_caps): New class method.
8592         Given caps on one side, what can I do on the other.
8593         (set_caps): Take two caps, one for each side of the element.
8594
8595         * gst/gstpad.h:
8596         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8597         caps in place. This is safe because we can check the mutability of
8598         the caps, and a good idea because fixate functions are just called
8599         as a matter of last resort. (Not actually implemented.)
8600         (gst_pad_set_caps): If the caps we're setting is actually the same
8601         as the existing pad caps, just update the pointer without calling
8602         setcaps. Assert that caps is either NULL or fixed, as per the
8603         docs.
8604
8605         * gst/gstghostpad.c: Update for fixate changes.
8606
8607 2005-07-02  Andy Wingo  <wingo@pobox.com>
8608
8609         * gst/gstcaps.c:
8610         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8611         two refcounts makes it immutable, which is enough. Doc more.
8612
8613 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8614
8615         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8616           Put the mini_object into GValue as a mini_object,
8617           not a gpointer, since that's how we declared
8618           the signal.
8619
8620 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8621
8622         * examples/pwg/Makefile.am:
8623           Fix buildbot again.
8624
8625 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8626
8627         * docs/pwg/building-testapp.xml:
8628           Add extra check.
8629         * examples/pwg/Makefile.am:
8630           Fix buildbot.
8631
8632 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8633
8634         * configure.ac:
8635         * examples/Makefile.am:
8636         * examples/pwg/Makefile.am:
8637         * examples/pwg/extract.pl:
8638           Enable building the PWG examples.
8639         * docs/pwg/advanced-interfaces.xml:
8640           Add URI interface stub.
8641         * docs/pwg/advanced-types.xml:
8642         * docs/pwg/other-autoplugger.xml:
8643         * docs/pwg/appendix-porting.xml:
8644         * docs/pwg/pwg.xml:
8645           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8646         * docs/pwg/building-boiler.xml:
8647         * docs/pwg/building-chainfn.xml:
8648         * docs/pwg/building-pads.xml:
8649         * docs/pwg/building-props.xml:
8650         * docs/pwg/building-state.xml:
8651         * docs/pwg/building-testapp.xml:
8652           Update the building-*.xml parts for 0.9 changes. All examples
8653           code blocks compile in examples/pwg/*.
8654
8655 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8656
8657         * docs/manual/advanced-autoplugging.xml:
8658         * docs/manual/appendix-checklist.xml:
8659         * docs/manual/appendix-integration.xml:
8660         * docs/manual/highlevel-components.xml:
8661           Fix playbin/decodebin examples, update docs a bit, mention bus
8662           instead of signals in various places, mention kmplayer and
8663           kaffeine since they have a working GStreamer backend in the KDE
8664           section.
8665
8666 2005-06-30  Wim Taymans  <wim@fluendo.com>
8667
8668         * CHANGES-0.9:
8669         * docs/design/draft-ghostpads.txt:
8670         * docs/design/draft-push-pull.txt:
8671         * docs/design/draft-query.txt:
8672         * docs/design/part-TODO.txt:
8673         * docs/design/part-query.txt:
8674         Added CHANGES-0.9 doc, updated status of other docs.
8675         
8676         * gst/gstquery.h:
8677         Remove "hmm" macro
8678
8679 2005-06-30  Wim Taymans  <wim@fluendo.com>
8680
8681         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8682         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8683         (gst_base_sink_change_state):
8684         * gst/base/gstbasesink.h:
8685         Some tweaks, only EOS and a buffer complete a preroll.
8686
8687 2005-06-30  Andy Wingo  <wingo@pobox.com>
8688
8689         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8690         activate_push down to the internal pad as well.
8691
8692 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8693
8694         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8695
8696         * gst/gsttaginterface.c:
8697           Some documentation fixes (#307394 and #307397).
8698
8699 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8700
8701         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8702
8703         * gst/gstvalue.c: (gst_value_intersect_list):
8704           Fix memleak (#309125).
8705
8706 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8707
8708         * docs/manual/advanced-dataaccess.xml:
8709           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8710         * docs/manual/basics-pads.xml:
8711           Add reference for filtered caps to above chapter.
8712
8713 2005-06-30  Wim Taymans  <wim@fluendo.com>
8714
8715         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8716         (gst_bin_change_state):
8717         Probes are gone.
8718         Lame attempt at making the state change function a bit
8719         more readable.
8720
8721 2005-06-30  Wim Taymans  <wim@fluendo.com>
8722
8723         * docs/design/part-clocks.txt:
8724         * docs/design/part-element-sink.txt:
8725         * docs/design/part-events.txt:
8726         * docs/design/part-preroll.txt:
8727         * docs/design/part-states.txt:
8728         Some more tweeks and additions to the docs.
8729
8730 2005-06-30  Wim Taymans  <wim@fluendo.com>
8731
8732         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8733         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8734         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8735         (gst_pad_check_pull_range), (gst_pad_get_range),
8736         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8737         * gst/gstpad.h:
8738         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8739         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8740         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8741         (gst_pad_remove_buffer_probe):
8742         Removed atomic operations, use existing LOCK.
8743         Move exception handling out of main code path.
8744
8745 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8746
8747         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8748         (silly_return_true_function), (gst_pad_class_init),
8749         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8750         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8751         (gst_pad_send_event):
8752           Fix accumulator, add default value by using _emitv() instead
8753           of _emit() for signal emission.
8754
8755 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8756
8757         * docs/manual/advanced-dataaccess.xml:
8758         * examples/manual/Makefile.am:
8759           Add probe example.
8760         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8761           Make work (??).
8762
8763 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8764
8765         * gst/elements/gstfilesink.c: (gst_filesink_render):
8766           Simplify code so that we don't have to handle short
8767           writes and return GST_FLOW_ERROR if an error occured.
8768
8769 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8770
8771         * docs/gst/gstreamer-docs.sgml:
8772           Remove probes more.
8773
8774 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8775
8776         * docs/gst/gstreamer-sections.txt:
8777         * docs/gst/tmpl/gstpad.sgml:
8778         * docs/gst/tmpl/gstprobe.sgml:
8779         * gst/Makefile.am:
8780         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8781         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8782         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8783         (gst_pad_push_event), (gst_pad_send_event):
8784         * gst/gstpad.h:
8785         * gst/gstutils.c: (gst_pad_add_data_probe),
8786         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8787         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8788         (gst_pad_remove_buffer_probe):
8789         * gst/gstutils.h:
8790           Remove old probes, add new g-signal-based probes and some utility
8791           functions.
8792
8793 2005-06-29  Edward Hervey  <edward@fluendo.com>
8794
8795         * gst/gstelementfactory.c:
8796         * gst/gstutils.h:
8797         * gst/gstutils.c:
8798         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8799         the definition to the header file.
8800
8801 2005-06-29  Andy Wingo  <wingo@pobox.com>
8802
8803         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8804         plugins from the source directory.
8805
8806 2005-06-29  Wim Taymans  <wim@fluendo.com>
8807
8808         * docs/gst/tmpl/gstbuffer.sgml:
8809         * docs/gst/tmpl/gstclock.sgml:
8810         Some fixings for blantently wrong text.
8811
8812 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8813
8814         * check/Makefile.am:
8815         * gst/gst.c: (add_path_func), (init_pre):
8816         * gst/gstregistry.c: (gst_registry_add_path):
8817           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
8818           only scan the GST_PLUGIN_PATH locations, and not add
8819           system locations
8820
8821 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8822
8823         * docs/gst/gstreamer-sections.txt:
8824         * docs/gst/tmpl/gstbasesrc.sgml:
8825         * gst/gstelement.c:
8826         * gst/gstelement.h:
8827         * gst/gstevent.c:
8828         * gst/gstutils.c:
8829           doc fixes
8830
8831 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8832
8833         * docs/manual/advanced-autoplugging.xml:
8834           Fix autoplugging example.
8835
8836 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8837
8838         * docs/manual/advanced-autoplugging.xml:
8839         * docs/manual/mime-world.fig:
8840           Try to get autoplugging working, fix type detection. Fix text
8841           in hello-world image.
8842
8843 2005-06-29  Wim Taymans  <wim@fluendo.com>
8844
8845         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8846         (gst_base_sink_change_state):
8847         Small debug line.
8848
8849         * gst/gstclock.h:
8850         map SIGNAL and BROADCAST to the right function.
8851
8852         * gst/gstobject.h:
8853         Remove redundant braces.
8854
8855         * gst/gstpad.c: (gst_pad_set_caps):
8856         Don't call setcaps function when reseting caps to NULL.
8857
8858         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8859         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
8860         (gst_system_clock_id_unschedule):
8861         Use BROADCAST as this is what we do.
8862
8863 2005-06-29  Wim Taymans  <wim@fluendo.com>
8864
8865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8866         We are actually prerolling before commiting the state
8867         change. 
8868
8869 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8870
8871         * docs/manual/advanced-clocks.xml:
8872         * docs/manual/advanced-interfaces.xml:
8873         * docs/manual/advanced-metadata.xml:
8874         * docs/manual/advanced-position.xml:
8875         * docs/manual/advanced-schedulers.xml:
8876         * docs/manual/advanced-threads.xml:
8877         * docs/manual/appendix-porting.xml:
8878         * docs/manual/basics-bins.xml:
8879         * docs/manual/basics-bus.xml:
8880         * docs/manual/basics-elements.xml:
8881         * docs/manual/basics-helloworld.xml:
8882         * docs/manual/basics-pads.xml:
8883         * docs/manual/highlevel-components.xml:
8884         * docs/manual/manual.xml:
8885         * docs/manual/thread.fig:
8886           Update (until threads/scheduling) Application Development Manual;
8887           remove GstThread, add GstBus, add simple porting checklist, add
8888           documentation for tag writing, clocks, make all examples until this
8889           part compile and run.
8890         * examples/manual/Makefile.am:
8891           Update from changes to Application Development Manual; add bus
8892           example, remove thread example.
8893
8894 2005-06-28  Wim Taymans  <wim@fluendo.com>
8895
8896         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
8897         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
8898         (gst_bus_source_dispatch):
8899         Add debugging messages.
8900         Make internal methods static.
8901         Handle the case where the bus is flushed in the handler.
8902         
8903         * gst/gstelement.c: (gst_element_get_bus):
8904         Fix refcount in _get_bus();
8905
8906         * gst/gstpipeline.c: (gst_pipeline_change_state),
8907         (gst_pipeline_get_clock_func):
8908         Clock refcounting fixes.
8909         Handle the case where preroll timed out more gracefully.
8910         
8911         * gst/gstsystemclock.c: (gst_system_clock_dispose):
8912         Clean up the internal thread in dispose. This is needed
8913         for subclasses that actually get disposed.
8914         
8915         * gst/schedulers/threadscheduler.c:
8916         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8917         (gst_thread_scheduler_dispose):
8918         Free thread pool in dispose.
8919
8920 2005-06-28  Andy Wingo  <wingo@pobox.com>
8921
8922         * tests/network-clock-utils.scm (debug, print-event): New utils.
8923
8924         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
8925         (*packet-loss*): Unified loss probability.
8926         (network-time): Report out-of-band events.
8927
8928         * tests/plot-data: Add support for out-of-band events. Hack it
8929         into this script instead of passing it down the pipe; should fix
8930         this later.
8931
8932 2005-06-28  Wim Taymans  <wim@fluendo.com>
8933
8934         * docs/gst/gstreamer.types:
8935         * docs/gst/tmpl/gstbasesrc.sgml:
8936         * docs/gst/tmpl/gstpad.sgml:
8937         Docs fixes.
8938
8939 2005-06-28  Wim Taymans  <wim@fluendo.com>
8940
8941         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8942         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
8943         (gst_proxy_pad_do_fixatecaps):
8944         Correctly proxy the check_pull_range function.
8945
8946 2005-06-28  Andy Wingo  <wingo@pobox.com>
8947
8948         * tests/network-clock.scm: Removed need for slib.
8949         
8950 2005-06-28  Wim Taymans  <wim@fluendo.com>
8951
8952         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
8953         (gst_basesink_preroll_queue_flush):
8954         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
8955         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
8956         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8957         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8958         (gst_proxy_pad_set_property):
8959         * gst/gstpad.c:
8960         * gst/gstpad.h:
8961         * gst/gstqueue.c: (gst_queue_init):
8962         The deprecated pad loop function is removed now.
8963
8964 2005-06-28  Andy Wingo  <wingo@pobox.com>
8965
8966         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
8967         New parameters, simulate network packet loss.
8968
8969         * tests/network-clock-utils.scm: Initialize the RNG.
8970
8971 2005-06-28  Wim Taymans  <wim@fluendo.com>
8972
8973         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
8974         (gst_basesink_event), (gst_basesink_deactivate):
8975         Flushing the preroll queue always needs to unlock the waiters.
8976
8977 2005-06-28  Edward Hervey  <edward@fluendo.com>
8978
8979         * gst/gstpipeline.c: (gst_pipeline_send_event): 
8980         Wheen a seek was successful on a pipeline, set the stream_time to the
8981         seek offset in order to have a synchronized stream_time.
8982
8983 2005-06-28  Wim Taymans  <wim@fluendo.com>
8984
8985         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8986         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8987         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
8988         (gst_proxy_pad_do_fixatecaps):
8989         Call wrapper function instead of just calling the function
8990         pointers. This takes care of any locking and whatmore.
8991
8992 2005-06-28  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
8995         (gst_pad_pull_range):
8996         * gst/gstpad.h:
8997         CONNECTED -> LINKED.
8998
8999 2005-06-28  Andy Wingo  <wingo@pobox.com>
9000
9001         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9002         source-munging commit!!!
9003
9004         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9005         (gst_object_sink): Take gpointer arguments, not GstObject --
9006         avoids casts. Like GLib.
9007
9008         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9009         activate.
9010
9011 2005-06-27  Andy Wingo  <wingo@pobox.com>
9012
9013         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9014         remaining buffer.
9015
9016         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9017         returns a sorted copy of the trace list.
9018         (gst_alloc_trace_print_live): New API, only prints traces with
9019         live objects. Sort the list.
9020         (gst_alloc_trace_print_all): Sort the list.
9021         (gst_alloc_trace_print): Align columns.
9022
9023         * gst/elements/gstttypefindelement.c:
9024         * gst/elements/gsttee.c:
9025         * gst/base/gstbasesrc.c:
9026         * gst/base/gstbasesink.c:
9027         * gst/base/gstbasetransform.c:
9028         * gst/gstqueue.c: Adapt for pad activation changes.
9029
9030         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9031         sched.
9032         (gst_pipeline_dispose): Drop ref on sched.
9033
9034         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9035         (gst_pad_activate_default): Push mode by default.
9036         (pre_activate_switch, post_activate_switch): New stubs, things to
9037         do before and after switching activation modes on pads.
9038         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9039         the pad's activate function to choose which mode to activate.
9040         Shortcut on deactivation and call the right function directly.
9041         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9042         mode.
9043         (gst_pad_activate_push): New API, same for push mode.
9044         (gst_pad_set_activate_function) 
9045         (gst_pad_set_activatepull_function) 
9046         (gst_pad_set_activatepush_function): Setters for new API.
9047
9048         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9049         Trace all miniobjects.
9050         (gst_mini_object_make_writable): Unref the arg if we copy, like
9051         gst_caps_make_writable.
9052
9053         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9054
9055         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9056         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9057         Adapt for new pad API.
9058
9059         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9060
9061         * gst/gstelement.h:
9062         * gst/gstelement.c (gst_element_iterate_src_pads) 
9063         (gst_element_iterate_sink_pads): New API functions.
9064         
9065         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9066         should fold into gstiterator.c in some form.
9067         (gst_element_pads_activate): Simplified via use of fold and
9068         delegation of decisions to gstpad->activate.
9069
9070         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9071         help in debugging.
9072
9073         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9074         class once in init, like gstmessage. Didn't run into this issue
9075         but it seems correct. Don't initialize a trace, gstminiobject does
9076         that.
9077
9078         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9079         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9080         to the bus.
9081         (assert_live_count): New util function, uses alloc traces to check
9082         cleanup.
9083
9084         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9085         To be modified when unlink drops the internal pad.
9086
9087 2005-06-27  Wim Taymans  <wim@fluendo.com>
9088
9089         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9090         (gst_bin_change_state):
9091         Cleanup the get_state() function a little, make sure it
9092         iterates the same set of elements.
9093         Added stub iterate_state_order().
9094
9095 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9096
9097         * docs/gst/gstreamer-docs.sgml:
9098         * docs/gst/gstreamer-sections.txt:
9099         * docs/gst/gstreamer.types:
9100         * docs/gst/tmpl/gstbasesink.sgml:
9101         * docs/gst/tmpl/gstbasesrc.sgml:
9102         * docs/gst/tmpl/gstbasetransform.sgml:
9103         * docs/gst/tmpl/gstelement.sgml:
9104         * docs/gst/tmpl/gstiterator.sgml:
9105         * gst/base/gstbasesrc.c:
9106         * gst/base/gstbasesrc.h:
9107         * gst/base/gstbasetransform.h:
9108         * gst/gstelement.c:
9109         * gst/gstiterator.h:
9110           adding basetransform and iterator docs
9111
9112 2005-06-27  Andy Wingo  <wingo@pobox.com>
9113
9114         * docs/design/part-activation.txt: Notes on how activation should
9115         work -- not quite implemented yet.
9116
9117 2005-06-25  Wim Taymans  <wim@fluendo.com>
9118
9119         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9120         At least get the chain function correct, needs more
9121         fixing.
9122
9123 2005-06-25  Wim Taymans  <wim@fluendo.com>
9124
9125         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9126         (gst_basesink_handle_object), (gst_basesink_event),
9127         (gst_basesink_do_sync), (gst_basesink_handle_event),
9128         (gst_basesink_change_state):
9129         * gst/gsttask.h:
9130         Right, two problems here: ghostpads don't take locks and
9131         glib _rec_mutex_lock_full() with depth==0 still locks.
9132         Catch illegal locking and g_warn them.
9133
9134 2005-06-25  Wim Taymans  <wim@fluendo.com>
9135
9136         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9137         Have to check for completion now...
9138
9139 2005-06-25  Wim Taymans  <wim@fluendo.com>
9140
9141         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9142         (gst_basesink_handle_object), (gst_basesink_event),
9143         (gst_basesink_do_sync), (gst_basesink_handle_event),
9144         (gst_basesink_change_state):
9145         * gst/gstpad.h:
9146         Unlock STREAM_LOCK whatever the recursion was.
9147
9148 2005-06-25  Wim Taymans  <wim@fluendo.com>
9149
9150         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9151         (gst_basesink_preroll_queue_empty),
9152         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9153         (gst_basesink_event), (gst_basesink_do_sync),
9154         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9155         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9156         (gst_basesink_change_state):
9157         Reworked the base sink, handle event and buffer serialisation
9158         correctly and removed possible deadlock.
9159         Handle EOS correctly.
9160
9161 2005-06-25  Wim Taymans  <wim@fluendo.com>
9162
9163         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9164         (gst_pipeline_change_state):
9165         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9166         Allow elements to post EOS in the state change function.
9167         Fix up -launch, make it exit the poll loop when the
9168         pipeline actually changed state.
9169         Fix up warning parsing in -launch.
9170
9171 2005-06-25  Wim Taymans  <wim@fluendo.com>
9172
9173         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9174         (gst_tee_sink_activate):
9175         Core takes STREAM_LOCK for us now.
9176
9177 2005-06-25  Wim Taymans  <wim@fluendo.com>
9178
9179         * gst/gstelement.c: (gst_element_get_state_func),
9180         (gst_element_set_state):
9181         * gst/gstelement.h:
9182         * gst/gstmessage.c: (gst_message_parse_error),
9183         (gst_message_parse_warning):
9184         Keep track of current target state while performing a state
9185         change so that subclasses can do something interesting.
9186         Fix parsing of warning/error messages when GError is NULL.
9187
9188 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9189
9190         * docs/gst/Makefile.am:
9191         * docs/gst/gstreamer-docs.sgml:
9192         * docs/gst/gstreamer-sections.txt:
9193         * docs/gst/gstreamer.types:
9194         * docs/gst/tmpl/gstbasesink.sgml:
9195         * docs/gst/tmpl/gstbasesrc.sgml:
9196         * docs/gst/tmpl/gstbin.sgml:
9197         * docs/gst/tmpl/gstcompat.sgml:
9198         * docs/gst/tmpl/gstfakesink.sgml:
9199         * docs/gst/tmpl/gstfakesrc.sgml:
9200         * docs/gst/tmpl/gstfilesink.sgml:
9201         * docs/gst/tmpl/gstfilesrc.sgml:
9202         * docs/gst/tmpl/gstindex.sgml:
9203         * docs/manual/appendix-quotes.xml:
9204         * gst/base/gstbasesrc.h:
9205         * gst/elements/gstfakesrc.h:
9206         * gst/gstmessage.h:
9207           start pulling in base classes and elements in our docs
9208
9209 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9210
9211         * docs/gst/Makefile.am:
9212         * docs/libs/Makefile.am:
9213           fixed make distcheck with gtk-doc 1.3
9214
9215 2005-06-23  Wim Taymans  <wim@fluendo.com>
9216
9217         * gst/gstelement.c: (gst_element_get_state_func),
9218         (gst_element_set_state), (gst_element_change_state):
9219         When the state did not change, also report NO_PREROLL
9220         when it matters.
9221
9222 2005-06-23  Wim Taymans  <wim@fluendo.com>
9223
9224         * gst/gstpad.c: (gst_pad_event_default):
9225         * gst/gstqueue.c: (gst_queue_loop):
9226         No unsafe task pausing please.
9227
9228 2005-06-23  Wim Taymans  <wim@fluendo.com>
9229
9230         * gst/schedulers/threadscheduler.c:
9231         (gst_thread_scheduler_task_start),
9232         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9233         Ref the task before pushing it on the threadpool. This
9234         makes sure that we have a ref when the threadfunction is
9235         actually called.
9236
9237 2005-06-23  Andy Wingo  <wingo@pobox.com>
9238
9239         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9240         offset is greater than the file's size.
9241
9242         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9243         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9244         * gst/gstobject.c (gst_object_class_init): Make the class lock
9245         recursive. Wim won't let me drop deep_notify. Decodebin works
9246         again, whoopdy doo.
9247
9248         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9249         internal pad, and hacks accordingly. Doesn't do it on the target
9250         pad because we change its caps. Probably catches all cases of
9251         interest tho.
9252         (gst_ghost_pad_set_property): Connect to notify::caps as
9253         appropritate.
9254
9255         * tests/network-clock.scm (plot-simulation): Pipe data to the
9256         elite python skript.
9257
9258         * tests/network-clock-utils.scm (define-parameter): New macro,
9259         defines a parameter that can be set via the command line.
9260         (set-parameter!, parse-parameter-arguments): Command line args
9261         parser.
9262
9263         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9264         stdin.
9265
9266 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9267
9268         * gst/elements/gsttypefindelement.c:
9269         (gst_type_find_element_handle_event):
9270           Don't restart typefinding on a discont.
9271         * gst/gstelement.c: (gst_element_set_state):
9272           Debug spelling fix.
9273         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9274           Allow changing mode of an active pad.
9275           Debug output fixes.
9276         * gst/registries/gstlibxmlregistry.c: (load_feature):
9277           Don't cast a static pad template to a normal pad template.
9278
9279 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9280
9281         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9282         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9283           remove gst_strtoll completely, since it didn't actually do
9284           anything more than what g_ascii_strtoull already does.
9285           check for range errors when deserializing
9286           do a cast for the unsigned cases; but further fixing needs
9287           a decision on what the interpretation of "(int)" and
9288           deserialization should be for values that fall outside the
9289           type's boundaries (ie, refuse, or interpret as casting)
9290
9291 2005-06-23  Wim Taymans  <wim@fluendo.com>
9292
9293         * check/Makefile.am:
9294         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9295         * docs/design/part-live-source.txt:
9296         * docs/design/part-states.txt:
9297         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9298         (gst_basesrc_set_live), (gst_basesrc_is_live),
9299         (gst_basesrc_get_range), (gst_basesrc_activate),
9300         (gst_basesrc_change_state):
9301         * gst/base/gstbasesrc.h:
9302         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9303         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9304         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9305         * gst/gstelement.c: (gst_element_get_state_func),
9306         (gst_element_set_state):
9307         * gst/gstelement.h:
9308         * gst/gsttypes.h:
9309         * tools/gst-launch.c: (event_loop), (main):
9310         Added support for live sources and other elements that
9311         cannot do preroll.
9312         Updated design docs, added live-source design doc.
9313         Implemented live source functionality in basesrc
9314         Fix error condition in _bin_get_state()
9315         Implement live source handling in -launch.
9316         Added check for live sources.
9317         Fixed case in GstBin where elements were changed state
9318         multiple times.
9319
9320
9321 2005-06-23  Andy Wingo  <wingo@pobox.com>
9322
9323         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9324         borken refcounting.
9325
9326         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9327         gst_caps_replace takes care of this for us.
9328
9329         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9330         gst_pad_set_caps on the target, not just its setcaps() function.
9331
9332         * tests/network-clock.scm: 
9333         * tests/network-clock-utils.scm: A network clock simulator.
9334         Something of an algorithmic testbed before doing something in C.
9335
9336 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9337
9338         * check/Makefile.am:
9339         * check/gst/capslist.h:
9340           copy over from 0.8, and add two with bitmasks specified with
9341           (int) 0xFF...
9342         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9343           add test to parse everything from capslist.h
9344         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9345         (main):
9346           add test for structure deserialization
9347         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9348           add tests for deserialization of strings to int types
9349         * gst/gststructure.c: (gst_structure_nth_field_name):
9350         * gst/gststructure.h:
9351           add a way to get the name of a field referenced by index
9352         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9353           instead of checking if the resulting long long lies between
9354           min and max, we check if the long long would fit into
9355           a number of bytes for the final type.
9356           This fixes cases where a string represents 2^32 - 1, which
9357           when cast to int would be the (valid) -1, but is bigger than
9358           G_MAXINT
9359
9360 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * gst/parse/grammar.y:
9363           add a log line for type deserialization
9364
9365 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9366
9367         * check/gst/gstvalue.c: (START_TEST):
9368         * gst/gstvalue.c: (gst_value_deserialize):
9369           return long long, not int, so gint64 deserialization actually
9370           works.  Is there any flag that makes the compiler check this ?
9371           Fixes #308559
9372
9373 2005-06-22  Wim Taymans  <wim@fluendo.com>
9374
9375         * gst/gstbuffer.h:
9376         Added convenience macros for setting buffers in GValue.
9377
9378 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9379
9380         * check/gst/.cvsignore:
9381         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9382           add a test deserializing int64, and comment part out because
9383           it fails, yay !
9384
9385 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9386
9387         * check/Makefile.am:
9388         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9389         * testsuite/Makefile.am:
9390         * testsuite/caps/Makefile.am:
9391         * testsuite/caps/value_serialize.c:
9392         * testsuite/test_gst_init.c:
9393           move a value_serialize test over
9394
9395 2005-06-20  Wim Taymans  <wim@fluendo.com>
9396
9397         * gst/gstpad.c:
9398         Small doc updates.
9399         
9400         * gst/gstvalue.c: (gst_value_compare_buffer),
9401         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9402         (gst_value_compare_flags), (gst_value_serialize_flags),
9403         (gst_value_deserialize_flags), (_gst_value_initialize):
9404         Fix serialisation of buffers, they are not boxed types anymore
9405
9406 2005-06-20  Wim Taymans  <wim@fluendo.com>
9407
9408         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9409         Testcase to show error in buffer-on-caps serialisation.
9410
9411 2005-06-20  Andy Wingo  <wingo@pobox.com>
9412
9413         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9414         will be adding to later.
9415
9416         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9417         if its socks fill with rocks.
9418         (gst_system_clock_obtain): Set the name on object construction.
9419         Avoid double-checked locking.
9420
9421 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9422
9423         * gst/gsturi.c: (gst_element_make_from_uri):
9424           Fix potential endless loop.
9425
9426 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9427
9428         * check/Makefile.am:
9429           add gsttag
9430         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9431         (main):
9432           move over from testsuite dir and clean up
9433         * configure.ac:
9434         * gst/gsttag.c:
9435         * testsuite/Makefile.am:
9436         * testsuite/tags/.cvsignore:
9437         * testsuite/tags/Makefile.am:
9438         * testsuite/tags/merge.c:
9439           remove testsuite/tags
9440
9441 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9442
9443         * docs/gst/gstreamer-sections.txt:
9444         * docs/gst/tmpl/gstenumtypes.sgml:
9445         * win32/gstenumtypes.c:
9446           clean up documentation build a little
9447
9448 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9449
9450         * check/gstcheck.h:
9451           add macros for checking refcounts on objects and caps
9452         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9453           add some more unit tests
9454         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9455         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9456           fix leaked refcounts (I hope :)) so unittest works
9457         * gst/gstpad.h:
9458           whitespace removal
9459
9460 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9461
9462         * configure.ac: back to HEAD
9463
9464 === release 0.9.1 ===
9465
9466 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9467
9468         * NEWS:
9469         * RELEASE:
9470           updated
9471
9472 2005-06-17  Andy Wingo  <wingo@pobox.com>
9473
9474         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9475         assert; it's always possible that the pad gets deactivated in
9476         between the checks in gstpad.c and the implementation. Rely on
9477         finish_preroll() to return a FLUSHING or similar instead of on the
9478         assert.
9479         
9480         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9481         clock and post an EOS message if we come out of finish_preroll in
9482         the playing state.
9483
9484 2005-06-16  David Schleef  <ds@schleef.org>
9485
9486         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9487         (gst_capsfilter_set_property): Allow NULL as possible value
9488         for filter_caps property, indicating GST_CAPS_ANY.
9489
9490 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9491
9492         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9493           fix debug output
9494         * gst/schedulers/Makefile.am:
9495           use libgst prefix
9496         * gstreamer.spec.in:
9497           fix spec for it
9498
9499 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * gstreamer.spec.in:
9502           clean up
9503
9504 2005-06-08  Andy Wingo  <wingo@pobox.com>
9505
9506         * gst/gstutils.c: RPAD fixes all around.
9507         (gst_element_link_pads): Refcounting fixes.
9508
9509         * tools/gst-inspect.c:
9510         * tools/gst-xmlinspect.c:
9511         * parse/grammar.y:
9512         * gst/base/gsttypefindhelper.c:
9513         * gst/base/gstbasesink.c:
9514         * gst/gstqueue.c: RPAD fixes.
9515
9516         * gst/gstghostpad.h:
9517         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9518         pads. The tricky thing is they provide both source and sink
9519         interfaces, since they proxy the internal pad for the external
9520         pad, and vice versa. Implement with lower-level ProxyPad objects,
9521         with the interior proxy pad as a child of the exterior ghost pad.
9522         Should write a doc on this.
9523         
9524         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9525         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9526         gst_object API.
9527         
9528         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9529         pads are real pads. No ghost pads in this file. Not documenting
9530         the myriad s/RPAD/PAD/ and REALIZE fixes.
9531         (gst_pad_class_init): Add properties for "direction" and
9532         "template". Both are construct-only, so they can't change during
9533         the life of the pad. Fixes properly deriving from GstPad.
9534         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9535         derived objects, just set properties when creating the objects via
9536         g_object_new.
9537         (gst_pad_get_parent): Implement as a function, return NULL if the
9538         parent is not an element.
9539         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9540         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9541         
9542         * gst/gstobject.c (gst_object_class_init): Make name a construct
9543         property. Don't set it in the object init.
9544
9545         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9546         with UNKNOWN direction.
9547         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9548         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9549         (gst_element_remove_pad): Remove ghost-pad special cases.
9550         (gst_element_pads_activate): Remove rpad cruft.
9551
9552         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9553         catch the pad's-parent-not-an-element case.
9554
9555         * gst/gst.h: Include gstghostpad.h.
9556
9557         * gst/gst.c (init_post): No more real, ghost pads.
9558
9559         * gst/Makefile.am: Add gstghostpad.[ch].
9560
9561         * check/Makefile.am:
9562         * check/gst/gstbin.c:
9563         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9564         into a bin creates ghost pads, and that the refcounts are right.
9565         Partly moved from gstbin.c.
9566
9567 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9568
9569         * check/gst-libs/.cvsignore:
9570         * check/gst/.cvsignore:
9571         * check/pipelines/.cvsignore:
9572           ignore more
9573         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9574         (START_TEST), (cleanup_suite), (main):
9575           add some tests related to cleanup after running pipelines
9576
9577 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9578
9579         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9580           add a testsuite for GstBuffer
9581
9582 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9583
9584         * gst/gstminiobject.h:
9585           add defines for accessing the refcount
9586
9587 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9588
9589         * Makefile.am: added support for html unit test coverage reports
9590
9591 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9592
9593         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9594           Free existing caps if the capsfilter changes. Add a FIXME about
9595           setting those caps on the pads.
9596
9597         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9598           Before adding a ghost pad to a parent bin, check that there isn't
9599           already one for the element on the bin. Prevents infinite recursion
9600           when using decodebin in parse pipelines. Andy says he'll rewrite the
9601           way this works anyway, so ignore the hack.
9602
9603 2005-06-02  Andy Wingo  <wingo@pobox.com>
9604
9605         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9606         file size, pass it on to the type find helper.
9607
9608         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9609         segment_start and segment_end properly according to the seek
9610         method. Segment_end is still a bit flaky because offset can be
9611         negative for CUR and END cases, but it takes -1 as an "unset"
9612         value.
9613
9614 2005-06-02  Wim Taymans  <wim@fluendo.com>
9615
9616         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9617         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9618         (gst_basesink_activate):
9619         * gst/base/gstbasesink.h:
9620         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9621         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9622         (gst_pad_query), (gst_pad_start_task):
9623         * gst/gstpad.h:
9624         * gst/gstqueue.c: (gst_queue_bufferalloc),
9625         (gst_queue_handle_sink_event), (gst_queue_chain):
9626         Bufferalloc: return GstFlowReturn to more accuratly report
9627         why allocation failed.
9628
9629 2005-06-02  Wim Taymans  <wim@fluendo.com>
9630
9631         * gst/gstpipeline.c: (gst_pipeline_send_event):
9632         Take snapshot of state without blocking.
9633
9634 2005-06-02  Wim Taymans  <wim@fluendo.com>
9635
9636         * docs/design/part-TODO.txt:
9637         * docs/design/part-caps.txt:
9638         * docs/design/part-clocks.txt:
9639         * docs/design/part-negotiation.txt:
9640         * docs/design/part-preroll.txt:
9641         Small doc updates 
9642
9643 2005-05-30  Wim Taymans  <wim@fluendo.com>
9644
9645         * gst/elements/gstidentity.c: (gst_identity_event),
9646         (gst_identity_transform), (gst_identity_get_property):
9647         Protect last_message property as it is accessed from
9648         multiple threads.
9649
9650 2005-05-30  Wim Taymans  <wim@fluendo.com>
9651
9652         * gst/gstelement.c: (gst_element_init),
9653         (gst_element_pads_activate), (gst_element_change_state):
9654         Slicker pad activation code.
9655
9656 2005-05-30  Wim Taymans  <wim@fluendo.com>
9657
9658         * gst/Makefile.am:
9659         * gst/gstelement.h:
9660         * gst/gstelementfactory.h:
9661         * gst/gsttypes.h:
9662         Move elementfactory methods to separate .h file.
9663
9664 2005-05-30  Wim Taymans  <wim@fluendo.com>
9665
9666         * docs/design/part-overview.txt:
9667         * gst/gstsystemclock.h:
9668         Small typo fixes, doc updates.
9669
9670 2005-05-30  Wim Taymans  <wim@fluendo.com>
9671
9672         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9673         (init_popt_callback):
9674         Remove cpu-opt flag.
9675
9676 2005-05-30  Wim Taymans  <wim@fluendo.com>
9677
9678         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9679         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9680         * gst/gstbuffer.h:
9681         Avoid typechecking in places where not needed.
9682         Added accessor for malloc_data.
9683
9684 2005-05-30  Wim Taymans  <wim@fluendo.com>
9685
9686         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9687         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9688         (gst_pad_configure_sink), (gst_pad_configure_src),
9689         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9690         (gst_pad_start_task):
9691         Propagate errors from _set_caps() in configure_src/sink
9692         functions instead of returning TRUE.
9693         FLUSH events can travel up and downstream
9694
9695
9696 2005-05-30  Wim Taymans  <wim@fluendo.com>
9697
9698         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9699         (gst_basesink_activate):
9700         Handle EOS in preroll.
9701
9702 2005-05-30  Wim Taymans  <wim@fluendo.com>
9703
9704         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9705         (gst_queue_loop), (gst_queue_handle_src_event):
9706         Remove old pieces of code
9707         Flushing the queue in an upstream event is a very bad idea.
9708
9709 2005-05-26  Andy Wingo  <wingo@pobox.com>
9710
9711         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9712         gst_value_set_mini_object so as to add a ref on the object (which
9713         will be removed when the value is unset).
9714
9715         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9716         arg type in ::handoff.
9717
9718         * gst/gstelement.c (gst_element_change_state): Also deactivate
9719         pads in READY->NULL, just in case the element didn't make it to
9720         PAUSED. Wingo tested, Wim approved.
9721
9722 2005-05-26  Wim Taymans  <wim@fluendo.com>
9723
9724         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9725         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9726         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9727         A flushing pad cannot be used to alloc_buffer from.
9728
9729 2005-05-26  Wim Taymans  <wim@fluendo.com>
9730
9731         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9732         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9733         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9734         (gst_bus_create_watch), (gst_bus_add_watch_full):
9735         * gst/gstbus.h:
9736         Implement a real GSource and use g_main_context_wakeup() to
9737         signal new messages instead of the socketpair.
9738
9739 2005-05-25  Wim Taymans  <wim@fluendo.com>
9740
9741         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9742         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9744         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9745         (gst_pad_send_event), (gst_pad_start_task):
9746         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9747         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9748         (gst_queue_sink_activate), (gst_queue_src_activate),
9749         (gst_queue_change_state):
9750         * gst/gstqueue.h:
9751         Fix state changes for non sinks. We now change sinks, then elements
9752         with unconnected srcpads, then the rest.
9753         More efficient queue unlocking in flush and state changes.
9754         Set the pad activate mode even if it does not have an activate
9755         function.
9756
9757 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9758
9759         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9760           Don't go in pull mode for non-seekable sources.
9761         * gst/elements/gsttypefindelement.h:
9762         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9763         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9764         (free_entry), (stop_typefinding),
9765         (gst_type_find_element_handle_event), (find_peek),
9766         (gst_type_find_element_chain), (do_pull_typefind),
9767         (gst_type_find_element_change_state):
9768           Allow typefinding (w/o seeking) in push-mode, simplified version
9769           of what was in 0.8.
9770         * gst/gstutils.c: (gst_buffer_join):
9771         * gst/gstutils.h:
9772           gst_buffer_join() from 0.8.
9773
9774 2005-05-25  Wim Taymans  <wim@fluendo.com>
9775
9776         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9777         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9778         (gst_pad_send_event), (gst_pad_start_task):
9779         Disable attempt at mode switching until it is figured out.
9780
9781 2005-05-25  Wim Taymans  <wim@fluendo.com>
9782
9783         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9784         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9785         (gst_basesink_finish_preroll), (gst_basesink_chain),
9786         (gst_basesink_loop), (gst_basesink_activate),
9787         (gst_basesink_change_state):
9788         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9789         (gst_basesrc_get_range), (gst_basesrc_loop),
9790         (gst_basesrc_activate):
9791         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9792         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9793         (gst_real_pad_init), (gst_real_pad_set_property),
9794         (gst_real_pad_get_property), (gst_pad_set_active),
9795         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9796         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9797         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9798         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9799         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9800         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9801         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9802         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9803         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9804         (gst_pad_stop_task):
9805         * gst/gstpad.h:
9806         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9807         (gst_queue_loop), (gst_queue_src_activate):
9808         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
9809         (gst_task_get_state):
9810         * gst/gsttask.h:
9811         * gst/schedulers/threadscheduler.c:
9812         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
9813         Implement gst_pad_pause/start/stop_task(), take STREAM lock
9814         in task function.
9815         Remove ACTIVE pad flag, use FLUSHING everywhere
9816         Added _pad_chain(), _pad_get_range() to call chain/getrange 
9817         functions.
9818         Add locks around IS_FLUSHING when reading.
9819         Take STREAM lock in chain(), get_range() functions so plugins
9820         don't need to take it anymore.
9821         
9822
9823
9824 2005-05-25  Wim Taymans  <wim@fluendo.com>
9825
9826         * tools/gst-launch.c: (event_loop):
9827         Unref message after using its contents instead of
9828         before.
9829
9830 2005-05-24  Wim Taymans  <wim@fluendo.com>
9831
9832         * docs/design/draft-ghostpads.txt:
9833         * docs/design/draft-push-pull.txt:
9834         * docs/design/draft-query.txt:
9835         * docs/design/part-overview.txt:
9836         Docs updates, added general overview doc.
9837
9838 2005-05-21  David Schleef  <ds@schleef.org>
9839
9840         * docs/gst/tmpl/old/GstBin.sgml:
9841         * docs/gst/tmpl/old/GstBuffer.sgml:
9842         * docs/gst/tmpl/old/GstCaps.sgml:
9843         * docs/gst/tmpl/old/GstClock.sgml:
9844         * docs/gst/tmpl/old/GstCompat.sgml:
9845         * docs/gst/tmpl/old/GstData.sgml:
9846         * docs/gst/tmpl/old/GstElement.sgml:
9847         * docs/gst/tmpl/old/GstEvent.sgml:
9848         * docs/gst/tmpl/old/GstIndex.sgml:
9849         * docs/gst/tmpl/old/GstStructure.sgml:
9850         * docs/gst/tmpl/old/GstTag.sgml:
9851         * docs/gst/tmpl/old/cothreads.sgml:
9852         * docs/gst/tmpl/old/cothreads_compat.sgml:
9853         * docs/gst/tmpl/old/gettext.sgml:
9854         * docs/gst/tmpl/old/gobject2gtk.sgml:
9855         * docs/gst/tmpl/old/grammar.tab.sgml:
9856         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9857         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9858         * docs/gst/tmpl/old/gst_private.sgml:
9859         * docs/gst/tmpl/old/gstaggregator.sgml:
9860         * docs/gst/tmpl/old/gstarch.sgml:
9861         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9862         * docs/gst/tmpl/old/gstbufferstore.sgml:
9863         * docs/gst/tmpl/old/gstdata_private.sgml:
9864         * docs/gst/tmpl/old/gstdisksink.sgml:
9865         * docs/gst/tmpl/old/gstdisksrc.sgml:
9866         * docs/gst/tmpl/old/gstelementfactory.sgml:
9867         * docs/gst/tmpl/old/gstextratypes.sgml:
9868         * docs/gst/tmpl/old/gstfakesink.sgml:
9869         * docs/gst/tmpl/old/gstfakesrc.sgml:
9870         * docs/gst/tmpl/old/gstfdsink.sgml:
9871         * docs/gst/tmpl/old/gstfdsrc.sgml:
9872         * docs/gst/tmpl/old/gstfilesink.sgml:
9873         * docs/gst/tmpl/old/gstfilesrc.sgml:
9874         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9875         * docs/gst/tmpl/old/gstidentity.sgml:
9876         * docs/gst/tmpl/old/gstindexfactory.sgml:
9877         * docs/gst/tmpl/old/gstmarshal.sgml:
9878         * docs/gst/tmpl/old/gstmd5sink.sgml:
9879         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9880         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9881         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9882         * docs/gst/tmpl/old/gstpipefilter.sgml:
9883         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9884         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9885         * docs/gst/tmpl/old/gstshaper.sgml:
9886         * docs/gst/tmpl/old/gstspider.sgml:
9887         * docs/gst/tmpl/old/gstspideridentity.sgml:
9888         * docs/gst/tmpl/old/gststatistics.sgml:
9889         * docs/gst/tmpl/old/gsttee.sgml:
9890         * docs/gst/tmpl/old/gsttimecache.sgml:
9891         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9892         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9893         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9894         * docs/gst/tmpl/old/types.sgml:
9895           I didn't intend to add these or check them in.
9896
9897 2005-05-19  David Schleef  <ds@schleef.org>
9898
9899         * configure.ac: Use -no-common everywhere.  In a sane world, it
9900           would be the default in libtool, because without it, you can't
9901           build DLLs on Windows.
9902         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
9903         * docs/gst/gstreamer-sections.txt:
9904         * docs/gst/tmpl/gstcpu.sgml:
9905         * docs/gst/tmpl/gstdata.sgml:
9906         * docs/gst/tmpl/gstthread.sgml:
9907
9908 2005-05-19  David Schleef  <ds@schleef.org>
9909
9910         * gst/gstminiobject.c: (gst_value_set_mini_object),
9911         (gst_value_take_mini_object), (gst_value_get_mini_object):
9912         * gst/gstminiobject.h: Add GValue set/get functions.
9913
9914 2005-05-19  Wim Taymans  <wim@fluendo.com>
9915
9916         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
9917         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
9918         (gst_subbuffer_init), (gst_buffer_is_span_fast):
9919         * gst/gstbuffer.h:
9920         * gst/gstbus.c: (gst_bus_post):
9921         * gst/gstelement.c: (gst_element_get_random_pad):
9922         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
9923         Make subbufer unref the parent in finalize.
9924         some more debugging info.
9925
9926
9927 2005-05-19  Wim Taymans  <wim@fluendo.com>
9928
9929         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9930         (gst_basesink_init), (gst_basesink_finalize),
9931         (gst_basesink_activate), (gst_basesink_change_state):
9932         Don't free preroll queue too early.
9933
9934 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9935
9936         * gst/Makefile.am:
9937         * gst/ROADMAP:
9938           Hi, I'm outdated. Please shoot me.
9939
9940 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9941
9942         * gst/gstpipeline.c: (gst_pipeline_send_event):
9943           Do not access variables after they have been deleted.
9944
9945 2005-05-19  Wim Taymans  <wim@fluendo.com>
9946
9947         * tools/gst-inspect.c: (print_plugin_features):
9948         A plugin feature does unfortunatly not use the
9949         object name yet...
9950
9951 2005-05-18  Wim Taymans  <wim@fluendo.com>
9952
9953         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
9954         Port _span() functions to new subbuffers.
9955
9956 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9957
9958         * gst/gstbin.c: (gst_bin_add_func):
9959           Fix clock settery in bins when adding kids after the clock has
9960           been selected.
9961
9962 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9963
9964         * gst/elements/gstidentity.c: (gst_identity_class_init):
9965           Workaround until signals support GstMiniObject.
9966
9967 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
9968
9969         * gst/gstbuffer.c:
9970         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
9971
9972 2005-05-18  Wim Taymans  <wim@fluendo.com>
9973
9974         * gst/base/Makefile.am:
9975         * gst/base/gstadapter.c: (gst_adapter_base_init),
9976         (gst_adapter_class_init), (gst_adapter_init),
9977         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
9978         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
9979         (gst_adapter_flush), (gst_adapter_available),
9980         (gst_adapter_available_fast):
9981         * gst/base/gstadapter.h:
9982         Ported and added adapter to the base classes.
9983
9984 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9985
9986         * gst/gst.c:
9987         * gst/gstmessage.c:
9988           Make sure the class is reffed/unreffed once before threads can be
9989           used.  Fixes #304551.
9990
9991 2005-05-17  Wim Taymans  <wim@fluendo.com>
9992
9993         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
9994         (gst_basesink_chain_unlocked), (gst_basesink_activate):
9995         * gst/gstminiobject.c: (gst_mini_object_get_type),
9996         (gst_mini_object_free):
9997         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
9998         (gst_pad_push), (gst_pad_push_event):
9999         * gst/gstqueue.c: (gst_queue_change_state):
10000         Don't queue buffers in basesink when we are flushing.
10001         Unref buffer when flushing in basesink.
10002         Flush queue when going to READY
10003         Unref buffer when _push() returns an error.
10004         Don't free MiniObject instance when refcount is incremented
10005         in _finalize() so that we can recover objects.
10006
10007 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10008
10009         * docs/manual/advanced-schedulers.xml:
10010         * docs/manual/appendix-checklist.xml:
10011         * docs/pwg/advanced-clock.xml:
10012         * docs/pwg/advanced-interfaces.xml:
10013         * docs/pwg/advanced-request.xml:
10014         * docs/pwg/advanced-types.xml:
10015         * docs/pwg/intro-preface.xml:
10016         * examples/plugins/example.c: (gst_example_get_type),
10017         (gst_example_class_init), (gst_example_chain),
10018         (gst_example_set_property), (gst_example_get_property),
10019         (gst_example_change_state), (plugin_init):
10020         * examples/plugins/example.h:
10021           small doc fixes
10022
10023 2005-05-17  Wim Taymans  <wim@fluendo.com>
10024
10025         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10026         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10027         * gst/gstqueue.c: (gst_queue_change_state):
10028         Clear queue when going to READY.
10029         Remove IN_SETCAPS flag too.
10030
10031 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10032
10033         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10034           Remove implicit cast from gboolean to GstElementStateReturn;
10035           make sure we still return failure in paused => ready case if
10036           the parent class fails to change state and our own stop 
10037           vfunc succeeds.
10038
10039 2005-05-17  Wim Taymans  <wim@fluendo.com>
10040
10041         * tools/gst-launch.c: (event_loop):
10042         Message was unreffed too soon.
10043
10044 2005-05-16  Andy Wingo  <wingo@pobox.com>
10045
10046         * gst/gstbin.c (sink_iterator_filter): Err... um...
10047
10048         * check/gst/gstbin.c (test_ghost_pads): New test for the
10049         ghosting-if-elements-not-in-same-bin behavior.
10050
10051 2005-05-16  David Schleef  <ds@schleef.org>
10052
10053         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10054         accessing refcount directly.
10055
10056 2005-05-15  David Schleef  <ds@schleef.org>
10057
10058         * check/Makefile.am: remove GstData checks
10059         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10060         * gst/Makefile.am: add miniobject, remove data
10061         * gst/gst.h: add miniobject, remove data
10062         * gst/gstdata.c: remove
10063         * gst/gstdata.h: remove
10064         * gst/gstdata_private.h: remove
10065         * gst/gsttypes.h: remove GstEvent and GstMessage
10066         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10067         * gst/gstmarshal.list: change BOXED -> OBJECT
10068
10069         Implement GstMiniObject.
10070         * gst/gstminiobject.c:
10071         * gst/gstminiobject.h:
10072
10073         Modify to be subclasses of GstMiniObject.
10074         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10075         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10076         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10077         (gst_subbuffer_get_type), (gst_subbuffer_init),
10078         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10079         (gst_buffer_span):
10080         * gst/gstbuffer.h:
10081         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10082         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10083         (_gst_event_copy), (gst_event_new):
10084         * gst/gstevent.h:
10085         * gst/gstmessage.c: (_gst_message_initialize),
10086         (gst_message_get_type), (gst_message_class_init),
10087         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10088         (gst_message_new), (gst_message_new_error),
10089         (gst_message_new_warning), (gst_message_new_tag),
10090         (gst_message_new_state_changed), (gst_message_new_application):
10091         * gst/gstmessage.h:
10092         * gst/gstprobe.c: (gst_probe_perform),
10093         (gst_probe_dispatcher_dispatch):
10094         * gst/gstprobe.h:
10095         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10096         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10097         (_gst_query_copy), (gst_query_new):
10098
10099         Update elements for GstData -> GstMiniObject changes
10100         * gst/gstquery.h:
10101         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10102         (gst_queue_chain), (gst_queue_loop):
10103         * gst/elements/gstbufferstore.c:
10104         (gst_buffer_store_add_buffer_func),
10105         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10106         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10107         (gst_fakesink_render):
10108         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10109         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10110         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10111         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10112         (gst_filesrc_create_read):
10113         * gst/elements/gstidentity.c: (gst_identity_class_init):
10114         * gst/elements/gsttypefindelement.c:
10115         (gst_type_find_element_src_event), (free_entry_buffers),
10116         (gst_type_find_element_handle_event):
10117         * libs/gst/dataprotocol/dataprotocol.c:
10118         (gst_dp_header_from_buffer):
10119         * libs/gst/dataprotocol/dataprotocol.h:
10120         * libs/gst/dataprotocol/dp-private.h:
10121
10122 2005-05-15  David Schleef  <ds@schleef.org>
10123
10124         * gst/elements/gstelements.c: Don't include headers that were
10125         just removed.
10126
10127 2005-05-15  David Schleef  <ds@schleef.org>
10128
10129         * gst/elements/Makefile.am: Remove some elements that don't
10130         need to be in the core (or even exist at all).
10131         * gst/elements/gstaggregator.c:
10132         * gst/elements/gstaggregator.h:
10133         * gst/elements/gstmd5sink.c:
10134         * gst/elements/gstmd5sink.h:
10135         * gst/elements/gstmultifilesrc.c:
10136         * gst/elements/gstmultifilesrc.h:
10137         * gst/elements/gstpipefilter.c:
10138         * gst/elements/gstpipefilter.h:
10139         * gst/elements/gstshaper.c:
10140         * gst/elements/gstshaper.h:
10141         * gst/elements/gststatistics.c:
10142         * gst/elements/gststatistics.h:
10143         * po/POTFILES.in: Remove above files.
10144
10145 2005-05-14  Andy Wingo  <wingo@pobox.com>
10146
10147         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10148         so as to get the refs right.
10149         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10150         unreffing objects that don't pass the filter.
10151
10152         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10153         gst_element_set_bus.
10154         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10155         normal cases, this will destroy the bus.
10156
10157         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10158         object.
10159
10160         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10161         has no sinks.
10162
10163 2005-05-13  Andy Wingo  <wingo@pobox.com>
10164
10165         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10166         gst_pad_link, call pad_link_maybe_ghosting,
10167         (pad_link_maybe_ghosting): Links pads, making sure that the
10168         elements being linked are in the same bin.
10169         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10170         Helpers for pad_link_maybe_ghosting.
10171
10172 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10173
10174         * configure.ac:
10175           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10176
10177 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10178
10179         * docs/design/part-element-source.txt:
10180           Mention GstPushSrc
10181
10182 2005-05-12  Wim Taymans  <wim@fluendo.com>
10183
10184         * gst/base/gstbasesink.c: (gst_basesink_init),
10185         (gst_basesink_activate):
10186         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10187         (gst_basesrc_is_seekable):
10188         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10189         (bin_element_is_sink), (gst_bin_change_state):
10190         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10191         * gst/gstelement.h:
10192         Identify sinks by their flag to avoid overly complicated
10193         checks (fow now).
10194         Do state changes even for elements not reachable from the
10195         sinks.
10196         BaseSink is a sink now :)
10197         Some more debugging info in the basesrc.
10198
10199
10200 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10201
10202         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10203           Implement _query on a bin, similar to _send_event.
10204
10205 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10206
10207         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10208           Discont event offset format should be GST_FORMAT_BYTES,
10209           not GST_FORMAT_TIME.
10210
10211 2005-05-12  Wim Taymans  <wim@fluendo.com>
10212
10213         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10214         Same fix as Ronald's but without the signal. 
10215
10216 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10217
10218         * gst/gstutils.c: (gst_element_query_position):
10219           No, an element is not a pad.
10220
10221 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10222
10223         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10224         (gst_bin_get_state):
10225           If a child is removed from a bin while we remove the child from
10226           the bin and while we're retrieving its state, signal this to the
10227           get_state function so we abort the wait (instead of waiting for
10228           a timeout) and can immediately re-iterate over all other elements.
10229
10230 2005-05-12  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/base/Makefile.am:
10233         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10234         (gst_basesrc_start):
10235         * gst/base/gstbasesrc.h:
10236         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10237         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10238         (gst_pushsrc_init), (gst_pushsrc_create):
10239         * gst/base/gstpushsrc.h:
10240         Added is_seekable to BaseSrc
10241         Added simple PushSrc.
10242
10243 2005-05-11  Wim Taymans  <wim@fluendo.com>
10244
10245         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10246         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10247         (gst_element_link_pads), (gst_element_query_position),
10248         (gst_element_query_convert), (intersect_caps_func),
10249         (gst_pad_query_position), (gst_pad_query_convert):
10250         Fix refcounting in utils function.
10251         No point in trying to activate a pad when it's added, it could
10252         be added from the state change function and then we deadlock, the
10253         element has to decide what to do.
10254
10255 2005-05-10  Andy Wingo  <wingo@pobox.com>
10256
10257         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10258         *all* the arguments.
10259
10260         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10261         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10262         lock (according to the docs -- if this is wrong change the docs).
10263
10264         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10265         flush messages in the NULL state.
10266
10267         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10268         message immediately and return.
10269         (gst_bus_set_flushing): New function. If a bus is flushing, it
10270         flushes out any queued messages and immediately unrefs new
10271         messages. This is so when an element goes to NULL, all of the
10272         unhandled messages coming from it can be freed, and their
10273         references to the element dropped. In other words: message source
10274         ref considered harmful :P
10275
10276         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10277         we're finished with it.
10278
10279         * gst/gstmessage.c (gst_message_new_state_changed): 
10280
10281 2005-05-10  Wim Taymans  <wim@fluendo.com>
10282
10283         * gst/gstvalue.c: (gst_value_compare_flags),
10284         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10285         (_gst_value_initialize):
10286         Added flags serialize/deserialize/compare code.
10287
10288 2005-05-09  Andy Wingo  <wingo@pobox.com>
10289
10290         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10291         Intersect the peer's caps with our caps.
10292
10293 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10294
10295         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10296         * gst/elements/gsttypefindelement.c: (find_peek):
10297           Handle negative offsets better. Fixes decodebin.
10298
10299 2005-05-09  Wim Taymans  <wim@fluendo.com>
10300
10301         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10302         (gst_base_transform_event):
10303         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10304         Implement accept_caps.
10305         Fix silly lock/unlock mismatch in base class.
10306
10307 2005-05-09  Wim Taymans  <wim@fluendo.com>
10308
10309         * docs/design/draft-push-pull.txt:
10310         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10311         * gst/elements/gstfilesink.c: (gst_filesink_init),
10312         (gst_filesink_query):
10313         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10314         (gst_type_find_handle_src_query), (find_element_get_length):
10315         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10316         * gst/gstelement.h:
10317         * gst/gstmessage.c:
10318         * gst/gstmessage.h:
10319         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10320         (gst_real_pad_get_caps_unlocked),
10321         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10322         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10323         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10324         (gst_real_pad_dispose), (gst_real_pad_finalize),
10325         (gst_pad_load_and_link), (gst_pad_save_thyself),
10326         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10327         (gst_pad_check_pull_range), (gst_pad_pull_range),
10328         (gst_pad_template_get_type), (gst_pad_template_class_init),
10329         (gst_pad_template_init), (gst_pad_template_dispose),
10330         (name_is_valid), (gst_static_pad_template_get),
10331         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10332         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10333         (gst_pad_get_element_private), (gst_pad_start_task),
10334         (gst_pad_pause_task), (gst_pad_stop_task),
10335         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10336         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10337         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10338         (gst_ghost_pad_new):
10339         * gst/gstpad.h:
10340         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10341         (gst_query_new_position), (gst_query_set_position),
10342         (gst_query_parse_position), (gst_query_new_convert),
10343         (gst_query_set_convert), (gst_query_parse_convert):
10344         * gst/gstquery.h:
10345         * gst/gstqueryutils.c:
10346         * gst/gstqueryutils.h:
10347         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10348         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10349         (gst_queue_handle_src_query):
10350         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10351         (gst_element_query_position), (gst_element_query_convert),
10352         (intersect_caps_func), (gst_pad_query_position),
10353         (gst_pad_query_convert):
10354         * gst/gstutils.h:
10355         * tools/gst-inspect.c: (print_pad_info):
10356         * tools/gst-xmlinspect.c: (print_element_info):
10357         Remove old query functions. Ported old code.
10358         Added position/convert helper functions to gstutils.
10359         Reordered gstpad.c code, grouping relevant things.
10360         Remove gst_message_new(), always need to speficy a specific
10361         message.
10362
10363
10364 2005-05-09  Andy Wingo  <wingo@pobox.com>
10365
10366         * gst/gstiterator.h: Add some includes.
10367
10368         * gst/gstqueryutils.h: Include more headers.
10369
10370         * gst/gstpad.h:
10371         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10372         some uses of gst_pad_query.
10373
10374         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10375         NULL out parameters.
10376         (gst_query_new_position): New proc, allocates a new position
10377         query.
10378
10379         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10380         gstqueryutils.c to the build.
10381
10382         * gst/gststructure.c (gst_structure_set_valist): Implement with
10383         the generic G_VALUE_COLLECT.
10384         
10385 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10386
10387         * gst/Makefile.am: (gst_headers):
10388         Added gstqueryutils.h to the list of headers to install, that was
10389         a 'nachty' move wingo :)
10390
10391 2005-05-06  Andy Wingo  <wingo@pobox.com>
10392
10393         * gst/gstquery.h
10394         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10395         GstData, init a memchunk.
10396         (standard_definitions): Add a few query types, deprecate a few.
10397         (gst_query_get_type): New proc.
10398         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10399         implementation.
10400         (gst_query_new_application, gst_query_get_structure): New public
10401         procs.
10402
10403         * docs/design/draft-query.txt: Removed LINKS from the query types,
10404         because all the rest can be dispatched to other pads -- seemed
10405         ugly to have a query that couldn't be dispatched. internal_links
10406         is fine as a pad method.
10407
10408         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10409         in gstpad.c, but maintain binary compatibility for the moment.
10410         Will fix before 0.9 is out.
10411
10412         * gst/gstqueryutils.c: 
10413         * gst/gstqueryutils.h: New files, implement 3 methods for each
10414         query type: parse_query, parse_response, and set. Probably need an
10415         allocator as well.
10416
10417         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10418
10419         * gst/elements/gstfilesink.c (gst_filesink_query2):
10420         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10421         query_types, and formats methods.
10422
10423         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10424         (gst_pad_set_query2_function): New functions.
10425         (gst_real_pad_init): Set query2_default as the default query2
10426         function. Basically just dispatches to internally linked pads.
10427
10428         Needs review!
10429         
10430         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10431         without using the atomic operations. Only one thread can possibly
10432         be accessing the data at this point. Changed so as to avoid
10433         gst_atomic operations.
10434
10435 2005-05-06  Wim Taymans  <wim@fluendo.com>
10436
10437         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10438         Also set caps if we use the fallback buffer alloc.
10439
10440 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10441
10442         * docs/gst/Makefile.am:
10443         * docs/gst/gstreamer-docs.sgml:
10444         * docs/gst/gstreamer-sections.txt:
10445         * docs/gst/tmpl/gstatomic.sgml:
10446         * docs/gst/tmpl/gstmemchunk.sgml:
10447         * testsuite/elements/struct_i386.h:
10448         * win32/GStreamer.vcproj:
10449         * win32/Makefile:
10450           Purge GstAtomic stuff from docs and win32 makefiles as well
10451
10452 2005-05-06  Wim Taymans  <wim@fluendo.com>
10453
10454         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10455         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10456         * gst/gstpad.c: (gst_pad_peer_get_caps):
10457         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10458         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10459         (gst_queue_src_activate), (gst_queue_change_state):
10460         * gst/gstqueue.h:
10461         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10462         (intersect_caps_func):
10463         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10464         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10465         Some fixes for the peer_get_caps() change.
10466
10467 2005-05-06  Wim Taymans  <wim@fluendo.com>
10468
10469         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10470         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10471         (gst_basesink_activate):
10472         Actually do something with error codes returned from the push
10473         functions.
10474
10475 2005-05-06  Wim Taymans  <wim@fluendo.com>
10476
10477         * docs/design/part-element-sink.txt:
10478         * docs/design/part-element-source.txt:
10479         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10480         (gst_basesink_event), (gst_basesink_activate):
10481         * gst/base/gstbasesink.h:
10482         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10483         (gst_basesrc_activate):
10484         * gst/base/gstbasesrc.h:
10485         * gst/gstelement.c: (gst_element_pads_activate):
10486         Some more documentation.
10487         Fixed scheduling decision in _pads_activate().
10488
10489 2005-05-05  Andy Wingo  <wingo@pobox.com>
10490
10491         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10492         the test suite.
10493
10494 2005-05-05  Wim Taymans  <wim@fluendo.com>
10495
10496         * gst/base/Makefile.am:
10497         * gst/base/gstbasesink.h:
10498         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10499         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10500         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10501         (gst_collectpads_class_init), (gst_collectpads_init),
10502         (gst_collectpads_finalize), (gst_collectpads_new),
10503         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10504         (find_pad), (gst_collectpads_remove_pad),
10505         (gst_collectpads_is_active), (gst_collectpads_collect),
10506         (gst_collectpads_collect_range), (gst_collectpads_start),
10507         (gst_collectpads_stop), (gst_collectpads_peek),
10508         (gst_collectpads_pop), (gst_collectpads_available),
10509         (gst_collectpads_read), (gst_collectpads_flush),
10510         (gst_collectpads_chain):
10511         * gst/base/gstcollectpads.h:
10512         * gst/elements/Makefile.am:
10513         * gst/elements/gstelements.c:
10514         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10515         (gst_fakesink_get_times), (gst_fakesink_event),
10516         (gst_fakesink_preroll), (gst_fakesink_render):
10517         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10518         (gst_filesink_init), (gst_filesink_set_location),
10519         (gst_filesink_open_file), (gst_filesink_close_file),
10520         (gst_filesink_pad_query), (gst_filesink_event),
10521         (gst_filesink_render), (gst_filesink_change_state):
10522         * gst/elements/gstfilesink.h:
10523         Added object to help in making collect pad based elements.
10524         Ported filesink.
10525         Make event function in sink baseclass return gboolean.
10526
10527 2005-05-05  Wim Taymans  <wim@fluendo.com>
10528
10529         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10530         (gst_bin_get_by_name):
10531         * gst/gstbuffer.h:
10532         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10533         (gst_clock_finalize):
10534         * gst/gstdata.c: (gst_data_replace):
10535         * gst/gstdata.h:
10536         * gst/gstelement.c: (gst_element_request_pad),
10537         (gst_element_pads_activate):
10538         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10539         (gst_object_unref):
10540         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10541         (gst_pad_set_checkgetrange_function),
10542         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10543         (gst_pad_check_pull_range), (gst_pad_pull_range),
10544         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10545         (gst_pad_pause_task), (gst_pad_stop_task):
10546         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10547         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10548         Fix name lookup in GstBin.
10549         Added _data_replace() function and _buffer_replace()
10550         Use finalize method to clean up clock.
10551         Fix refcounting on request pads.
10552         Fix pad schedule mode error.
10553         Some more object refcounting debug info,
10554
10555
10556 2005-05-04  Andy Wingo <wingo@pobox.com>
10557
10558         * check/Makefile.am:
10559         * docs/gst/tmpl/gstatomic.sgml:
10560         * docs/gst/tmpl/gstplugin.sgml:
10561         * gst/base/gstbasesink.c: (gst_basesink_activate):
10562         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10563         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10564         (gst_basesrc_query), (gst_basesrc_set_property),
10565         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10566         (gst_basesrc_activate):
10567         * gst/base/gstbasesrc.h:
10568         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10569         (gst_base_transform_src_activate):
10570         * gst/elements/gstelements.c:
10571         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10572         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10573         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10574         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10575         (gst_type_find_element_checkgetrange),
10576         (gst_type_find_element_activate):
10577         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10578         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10579         (gst_caps_load_thyself):
10580         * gst/gstelement.c: (gst_element_pads_activate),
10581         (gst_element_save_thyself), (gst_element_restore_thyself):
10582         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10583         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10584         * gst/gstpad.h:
10585         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10586         (gst_xml_parse_file), (gst_xml_parse_memory),
10587         (gst_xml_get_element), (gst_xml_make_element):
10588         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10589         (_file_index_id_save_xml), (gst_file_index_commit):
10590         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10591         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10592         (load_paths):
10593         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10594         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10595         * tools/gst-complete.c: (main):
10596         * tools/gst-compprep.c: (main):
10597         * tools/gst-inspect.c: (print_element_properties_info):
10598         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10599         * tools/gst-xmlinspect.c: (print_element_properties):
10600         GCC 4 fixen.
10601         
10602 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10603
10604         * gst/gstplugin.c: (gst_plugin_check_module),
10605         (gst_plugin_check_file), (gst_plugin_load_file):
10606             apply patch from #172526 to make register work on MacOSX
10607
10608 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * docs/gst/tmpl/gstconfig.sgml:
10611         * gst/gstconfig.h.in:
10612           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10613         * testsuite/debug/printf_extension.c: (main):
10614           Do not use GST_PTR_FORMAT on pointers to types with
10615           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10616         * testsuite/elements/property.h:
10617           use correct printf format
10618
10619 2005-05-02  Wim Taymans  <wim@fluendo.com>
10620
10621         * docs/design/draft-push-pull.txt:
10622         * docs/design/draft-query.txt:
10623         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10624         (gst_basesrc_start):
10625         Added draft for new query API.
10626         Added draft for better selecting scheduling methods.
10627         Make basesrc ignore length if the subclass does not support
10628         it.
10629
10630 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10631
10632         * gst/Makefile.am:
10633           possible fixes for automake-1.5 - _LIBADD is reserved
10634
10635 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10636
10637         * docs/faq/Makefile.am:
10638         * docs/manual/Makefile.am:
10639         * docs/manuals.mak:
10640         * docs/pwg/Makefile.am:
10641         * gst/Makefile.am:
10642           possible fixes for automake-1.5
10643
10644 2005-04-28  Wim Taymans  <wim@fluendo.com>
10645
10646         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10647         (gst_basesink_pad_getcaps), (gst_basesink_init),
10648         (gst_basesink_do_sync):
10649         * gst/gstclock.c: (gst_clock_entry_new):
10650         * gst/gstevent.c: (gst_event_discont_get_value):
10651         * gst/gstpipeline.c: (pipeline_bus_handler),
10652         (gst_pipeline_change_state):
10653         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10654         Better debugging of clocking info.
10655         Allow NULL values when getting discont values.
10656
10657 2005-04-27  Wim Taymans  <wim@fluendo.com>
10658
10659         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10660         * check/gst/gstpad.c: (gst_pad_suite):
10661         Increase timeout for checks.
10662
10663 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10664
10665         * check/Makefile.am:
10666           fix the broken rule for cleanup.  Apparently this rule is
10667           only needed on FC2, so maybe this warrants further autotool
10668           inspection.
10669
10670 2005-04-26  Wim Taymans  <wim@fluendo.com>
10671
10672         * gst/gsttrashstack.h:
10673         Ooohh. a nasty one! After having a failed pop() from the stack,
10674         it's possible that the stack is empty. In that case, don't
10675         follow the NULL pointer.
10676
10677 2005-04-25  Wim Taymans  <wim@fluendo.com>
10678
10679         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10680         (gst_pad_set_checkgetrange_function),
10681         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10682         (gst_pad_check_pull_range), (gst_pad_pull_range),
10683         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10684         (gst_pad_pause_task), (gst_pad_stop_task):
10685         * gst/gstplugin.c: (gst_plugin_load):
10686         * gst/gstplugin.h:
10687         Remove gst_library_load as it does more harm than good with
10688         the new g_module flags.
10689         Revert bogus caps template check in pad linking, pad caps
10690         are important when linking not the template, which is more
10691         general than the current caps.
10692
10693 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10694
10695         * gst/autoplug/.cvsignore:
10696         * gst/autoplug/Makefile.am:
10697         * gst/autoplug/gstsearchfuncs.c:
10698         * gst/autoplug/gstsearchfuncs.h:
10699         * gst/autoplug/gstspider.c:
10700         * gst/autoplug/gstspider.h:
10701         * gst/autoplug/gstspideridentity.c:
10702         * gst/autoplug/gstspideridentity.h:
10703         * gst/autoplug/spidertest.c:
10704           Die, spider, die.
10705
10706 2005-04-25  Wim Taymans  <wim@fluendo.com>
10707
10708         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10709         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10710         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10711         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10712         * gst/gstpad.h:
10713         Added stubs for unimplemented functions. 
10714
10715 2005-04-24  David Schleef  <ds@schleef.org>
10716
10717         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10718         please fix.
10719
10720 2005-04-24  David Schleef  <ds@schleef.org>
10721
10722         Convert everything from GstAtomicInt to g_atomic_int_*, and
10723         remove gstatomic.
10724         * gst/Makefile.am:
10725         * gst/gstatomic.c:
10726         * gst/gstatomic.h:
10727         * gst/gstatomic_impl.h:
10728         * gst/gstbuffer.c:
10729         * gst/gstcaps.c:
10730         * gst/gstcaps.h:
10731         * gst/gstclock.c:
10732         * gst/gstclock.h:
10733         * gst/gstdata.c:
10734         * gst/gstdata.h:
10735         * gst/gstdata_private.h:
10736         * gst/gstevent.c:
10737         * gst/gstinfo.c:
10738         * gst/gstinfo.h:
10739         * gst/gstmessage.c:
10740         * gst/gstobject.c:
10741         * gst/gstobject.h:
10742         * gst/gststructure.c:
10743         * gst/gststructure.h:
10744         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10745         * gst/gstutils.h:
10746
10747 2005-04-24  David Schleef  <ds@schleef.org>
10748
10749         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10750         make the regressions tests work.  Remove some code that is no
10751         longer true.
10752         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10753         Disable warning for pads without templates.
10754
10755 2005-04-24  David Schleef  <ds@schleef.org>
10756
10757         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10758         functions that handle filtered links.
10759         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10760         removed functions.
10761         * gst/gstutils.c: Fix/remove utility functions that handle
10762         filtered caps.
10763         * gst/gstutils.h:
10764         * gst/gstvalue.c: Add serialization/deserialization of caps
10765         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10766         requires fixing so that the filter caps notation creates
10767         a capsfilter element and sets the filter_caps property.  I
10768         think everyone probably wants to keep the shorthand notation.
10769         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10770         * docs/gst/tmpl/gstpad.sgml:
10771
10772         * gst/elements/gstelements.c: Register capsfilter element.
10773         * gst/Makefile.am: fix spacing
10774         * docs/random/ds/0.9-suggested-changes: random
10775
10776 2005-04-23  David Schleef  <ds@schleef.org>
10777
10778         * gst/elements/Makefile.am:
10779         * gst/elements/gstcapsfilter.c: New element that acts like an
10780         identity, but filters caps.  Will eventually replace filtered
10781         caps in pad linking.
10782         * gst/gstutils.c: (gst_element_create_all_pads): New function
10783         to create all the ALWAYS pads that are registered with an
10784         element class.  This functionality should eventually be
10785         merged in with GstElement initialization.
10786         * gst/gstutils.h:
10787         * testsuite/trigger/README: part of trigger test code that should
10788         have been checked in a long time ago.
10789
10790 2005-04-23  David Schleef  <ds@schleef.org>
10791
10792         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10793         needed with new versions of libtool (nobody will confirm this),
10794         and hard to carry around.
10795         * gst/autoplug/Makefile.am:
10796         * gst/base/Makefile.am:
10797         * gst/elements/Makefile.am:
10798         * gst/indexers/Makefile.am:
10799         * gst/schedulers/Makefile.am:
10800         * libs/gst/bytestream/Makefile.am:
10801         * libs/gst/control/Makefile.am:
10802         * libs/gst/dataprotocol/Makefile.am:
10803         * libs/gst/getbits/Makefile.am:
10804
10805 2005-04-21  Wim Taymans  <wim@fluendo.com>
10806
10807         * docs/design/draft-push-pull.txt:
10808         * docs/design/part-MT-refcounting.txt:
10809         * docs/design/part-TODO.txt:
10810         * docs/design/part-caps.txt:
10811         * docs/design/part-events.txt:
10812         * docs/design/part-gstbus.txt:
10813         * docs/design/part-gstpipeline.txt:
10814         * docs/design/part-messages.txt:
10815         * docs/design/part-push-pull.txt:
10816         * docs/design/part-query.txt:
10817         Some more docs.
10818
10819 2005-04-21  Wim Taymans  <wim@fluendo.com>
10820
10821         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
10822         (gst_message_new), (gst_message_new_error),
10823         (gst_message_new_warning), (gst_message_new_tag),
10824         (gst_message_new_state_changed), (gst_message_new_application),
10825         (gst_message_get_structure):
10826         * gst/gstmessage.h:
10827         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10828         (gst_structure_copy_conditional):
10829         Use parent refcount in GstMessage to ensure GstStructure
10830         consistency.
10831         Cleaned up headers a bit.
10832         
10833
10834 2005-04-20  Wim Taymans  <wim@fluendo.com>
10835
10836         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10837         (gst_basesink_pad_getcaps), (gst_basesink_init),
10838         (gst_basesink_chain_unlocked):
10839         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
10840         (gst_type_find_helper):
10841         * gst/elements/gsttypefindelement.c:
10842         (gst_type_find_element_have_type), (gst_type_find_element_init),
10843         (stop_typefinding), (gst_type_find_element_handle_event),
10844         (find_suggest), (gst_type_find_element_chain),
10845         (gst_type_find_element_checkgetrange),
10846         (gst_type_find_element_getrange), (do_typefind),
10847         (gst_type_find_element_activate):
10848         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10849         (gst_buffer_default_free), (gst_buffer_default_copy),
10850         (gst_buffer_set_caps):
10851         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
10852         (gst_caps_replace):
10853         * gst/gstmessage.c: (gst_message_new),
10854         (gst_message_new_state_changed):
10855         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10856         (gst_pad_set_checkgetrange_function),
10857         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
10858         (gst_pad_set_caps), (gst_pad_check_pull_range),
10859         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
10860         * gst/gstpad.h:
10861         * gst/gsttypefind.c: (gst_type_find_register):
10862         Make gst_caps_replace() work like other _replace() functions.
10863         Use _caps_replace() where possible.
10864         Make sure _message_new() initialises its field.
10865         Add gst_static_pad_template_get_caps()
10866
10867
10868 2005-04-18  Andy Wingo  <wingo@pobox.com>
10869
10870         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
10871         on the peer, not the pad. I think that was a typo. Pass an extra
10872         arg to see if random access is possible. Activate the pads as
10873         PULL_RANGE if possible.
10874
10875         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
10876
10877         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
10878         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
10879         to PROP_....
10880
10881 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10882
10883         * docs/faq/using.xml:
10884           Add note on gstreamer-properties (#154996).
10885
10886 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10887
10888         * docs/random/bbb/optional-properties:
10889           Some analysis on optional properties.
10890
10891 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10892
10893         * docs/gst/tmpl/gstelementfactory.sgml:
10894         * gst/gstelement.h:
10895         * gst/gstelementfactory.c: (gst_element_factory_init),
10896         (gst_element_factory_cleanup), (gst_element_register),
10897         (__gst_element_factory_add_static_pad_template),
10898         (gst_element_factory_get_static_pad_templates),
10899         (gst_element_factory_can_src_caps),
10900         (gst_element_factory_can_sink_caps):
10901         * gst/registries/Makefile.am:
10902         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
10903         (gst_xml_registry_class_init), (gst_xml_registry_init),
10904         (gst_xml_registry_new), (gst_xml_registry_set_property),
10905         (gst_xml_registry_get_property), (get_time), (make_dir),
10906         (gst_xml_registry_get_perms_func),
10907         (plugin_times_older_than_recurse), (plugin_times_older_than),
10908         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
10909         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
10910         (add_to_char_array), (read_string), (read_uint), (read_enum),
10911         (load_pad_template), (load_feature), (load_plugin), (load_paths),
10912         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
10913         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
10914         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
10915         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
10916         (gst_xml_registry_rebuild):
10917         * gst/registries/gstlibxmlregistry.h:
10918         * tools/gst-compprep.c: (main):
10919         * tools/gst-inspect.c: (print_pad_templates_info):
10920         * tools/gst-xmlinspect.c: (print_element_info):
10921           Use libxml2 for registry parsing, use staticpadtemplates in
10922           elementfactories. Makes gst_init() +/- 10x faster.
10923
10924 2005-04-12  Wim Taymans  <wim@fluendo.com>
10925
10926         * gst/base/Makefile.am:
10927         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10928         (gst_basesink_pad_getcaps), (gst_basesink_init),
10929         (gst_basesink_event), (gst_basesink_change_state):
10930         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10931         (gst_basesrc_init), (gst_basesrc_query),
10932         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10933         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10934         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10935         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10936         (gst_basesrc_stop), (gst_basesrc_activate),
10937         (gst_basesrc_change_state):
10938         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10939         (helper_find_suggest), (gst_type_find_helper):
10940         * gst/base/gsttypefindhelper.h:
10941         * gst/elements/Makefile.am:
10942         * gst/elements/gstelements.c:
10943         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10944         (gst_fakesink_get_times), (gst_fakesink_event),
10945         (gst_fakesink_preroll), (gst_fakesink_render):
10946         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10947         (gst_fakesrc_init), (gst_fakesrc_event_handler),
10948         (gst_fakesrc_get_property), (gst_fakesrc_create),
10949         (gst_fakesrc_start), (gst_fakesrc_stop):
10950         * gst/elements/gstfakesrc.h:
10951         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
10952         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10953         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10954         (gst_filesrc_create_read), (gst_filesrc_create),
10955         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
10956         (gst_filesrc_start):
10957         * gst/elements/gsttypefindelement.c:
10958         (gst_type_find_element_have_type), (gst_type_find_element_init),
10959         (start_typefinding), (stop_typefinding), (push_buffer_store),
10960         (gst_type_find_element_handle_event),
10961         (gst_type_find_element_chain),
10962         (gst_type_find_element_checkgetrange),
10963         (gst_type_find_element_getrange), (do_typefind),
10964         (gst_type_find_element_activate),
10965         (gst_type_find_element_change_state):
10966         * gst/elements/gsttypefindelement.h:
10967         * gst/gstpipeline.c: (pipeline_bus_handler):
10968         Added typefind helper.
10969         Small preroll fix in the base sink.
10970         Disable typefind code in basesrc.
10971         Crude port of typefindelement.
10972         Fakesrc cleanups.
10973
10974
10975 2005-04-11  Wim Taymans  <wim@fluendo.com>
10976
10977         * check/gst/gstbus.c: (gstbus_suite):
10978         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
10979         * check/gstcheck.h:
10980           Fix up the timeout so that the test does not fail.
10981
10982 2005-04-06  Wim Taymans  <wim@fluendo.com>
10983
10984         * gst/base/README:
10985         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10986         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
10987         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10988         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10989         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10990         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10991         (gst_basesrc_stop), (gst_basesrc_activate),
10992         (gst_basesrc_change_state), (basesrc_find_peek),
10993         (basesrc_find_suggest), (gst_basesrc_type_find):
10994         * gst/base/gstbasesrc.h:
10995         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
10996         (gst_filesrc_class_init), (gst_filesrc_init),
10997         (gst_filesrc_finalize), (gst_filesrc_set_location),
10998         (gst_filesrc_set_property), (gst_filesrc_get_property),
10999         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11000         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11001         (gst_filesrc_create_read), (gst_filesrc_create),
11002         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11003         * gst/elements/gstfilesrc.h:
11004         * gst/gstelement.c: (gst_element_get_state_func),
11005         (gst_element_lost_state), (gst_element_pads_activate):
11006         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11007         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11008         (gst_pad_pull_range):
11009         * gst/gstpad.h:
11010         More work on the generic source base class, implement seeking,
11011         query.
11012         Make filesrc extend the base source class.
11013         Added gst_pad_set_checkgetrange_function to GstPad.
11014
11015 2005-04-06  Andy Wingo  <wingo@pobox.com>
11016
11017         * pkgconfig/gstreamer-base.pc.in:
11018         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11019
11020         * pkgconfig/Makefile.am:
11021         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11022
11023 2005-04-04  Wim Taymans  <wim@fluendo.com>
11024
11025         * gst/base/Makefile.am:
11026         * gst/base/README:
11027         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11028         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11029         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11030         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11031         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11032         (gst_basesrc_base_init), (gst_basesrc_class_init),
11033         (gst_basesrc_init), (gst_basesrc_get_formats),
11034         (gst_basesrc_get_query_types), (gst_basesrc_query),
11035         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11036         (gst_basesrc_set_property), (gst_basesrc_get_property),
11037         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11038         (gst_basesrc_loop), (gst_basesrc_activate),
11039         (gst_basesrc_change_state):
11040         * gst/base/gstbasesrc.h:
11041         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11042         (gst_fakesrc_class_init), (gst_fakesrc_init),
11043         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11044         (gst_fakesrc_get_property), (gst_fakesrc_create):
11045         * gst/elements/gstfakesrc.h:
11046         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11047         (gst_filesrc_open_file), (gst_filesrc_loop),
11048         (gst_filesrc_activate), (filesrc_find_peek),
11049         (gst_filesrc_type_find):
11050         Made base source class, make fakesrc extend it.
11051         Add comments to basesink class.
11052         Some filesrc cleanup.
11053
11054 2005-03-31  David Schleef  <ds@schleef.org>
11055
11056         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11057         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11058         expected to link against libgstreamer.
11059         * gst/base/Makefile.am: link against libgstreamer
11060         * gst/elements/Makefile.am: same
11061
11062 2005-03-31  Andy Wingo  <wingo@pobox.com>
11063
11064         * tests/instantiate/Makefile.am:
11065         * tests/instantiate/caps.c: Add test to test speed of caps copy
11066         and free.
11067
11068         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11069         GMemChunk to be fair.
11070
11071         * gst/gsttrashstack.h: Remove warning about using the fallback
11072         trash stack implementation, it's still faster than malloc.
11073
11074 2005-03-30  Andy Wingo  <wingo@pobox.com>
11075
11076         * tests/complexity.c: Add a copyright.
11077
11078 2005-03-31  Wim Taymans  <wim@fluendo.com>
11079
11080         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11081         (gst_base_transform_class_init), (gst_base_transform_init),
11082         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11083         (gst_base_transform_get_property),
11084         (gst_base_transform_sink_activate),
11085         (gst_base_transform_src_activate),
11086         (gst_base_transform_change_state):
11087         * gst/base/gstbasetransform.h:
11088         * gst/elements/gstidentity.c: (gst_identity_class_init),
11089         (gst_identity_event), (gst_identity_check_perfect),
11090         (gst_identity_transform), (gst_identity_start),
11091         (gst_identity_stop):
11092         Added start/stop methods to transform base class so subclasses 
11093         don't need to deal with state changes even.
11094
11095 2005-03-31  Wim Taymans  <wim@fluendo.com>
11096
11097         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11098         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11099         * gst/gstevent.h:
11100         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11101         (gst_pad_pull_range):
11102         Added rate to the discont event to prepare for variable speed
11103         and reverse playback.
11104
11105 2005-03-29  David Schleef  <ds@schleef.org>
11106
11107         * configure.ac:
11108         * testsuite/trigger/Makefile.am:
11109         * testsuite/trigger/trigger.c: A little example program to show
11110         how trigger-based elements can work.
11111
11112 2005-03-29  Wim Taymans  <wim@fluendo.com>
11113
11114         * gst/base/Makefile.am:
11115         * gst/base/README:
11116         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11117         (gst_basesink_base_init), (gst_basesink_class_init),
11118         (gst_basesink_pad_getcaps), (gst_basesink_init),
11119         (gst_basesink_activate), (gst_basesink_change_state):
11120         * gst/base/gstbasesink.h:
11121         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11122         (gst_base_transform_base_init), (gst_base_transform_finalize),
11123         (gst_base_transform_class_init), (gst_base_transform_init),
11124         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11125         (gst_base_transform_event), (gst_base_transform_getrange),
11126         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11127         (gst_base_transform_set_property),
11128         (gst_base_transform_get_property),
11129         (gst_base_transform_sink_activate),
11130         (gst_base_transform_src_activate),
11131         (gst_base_transform_change_state):
11132         * gst/base/gstbasetransform.h:
11133         * gst/elements/gstidentity.c: (gst_identity_finalize),
11134         (gst_identity_class_init), (gst_identity_init),
11135         (gst_identity_event), (gst_identity_check_perfect),
11136         (gst_identity_transform), (gst_identity_set_property),
11137         (gst_identity_get_property), (gst_identity_change_state):
11138         * gst/elements/gstidentity.h:
11139         * gst/gstelement.c: (gst_element_get_state_func),
11140         (gst_element_lost_state), (gst_element_pads_activate):
11141         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11142         (gst_pad_check_pull_range), (gst_pad_pull_range):
11143         * gst/gstpad.h:
11144         Simplify pad activation.
11145         Added function to check if pull_range can be performed.
11146         Error out when pulling inactive or flushing pads.
11147         Removed const from refcounted types as it does not make sense.
11148         Simplify pad templates in basesink
11149         Added base class for simple 1-to-1 transforms.
11150         Make identity subclass the base transform.
11151
11152 2005-03-29  Andy Wingo  <wingo@pobox.com>
11153
11154         * docs/libs/gstreamer-libs-overrides.txt: 
11155         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11156         really don't understand what's going on, but like whatever. I want
11157         green buildbot!
11158
11159         * docs/gst/Makefile.am:
11160         * docs/libs/Makefile.am: Dist the overrides files.
11161
11162         * check/Makefile.am (clean-local): Remove .libs directories.
11163
11164         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11165         elements to EXTRA_DIST, so po/ files are happy.
11166
11167         * po/POTFILES.in: Er, remove it here.
11168
11169         * po/POTFILES: Remove gstspider.c.
11170
11171         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11172
11173         * docs/libs/gstreamer-libs-docs.sgml: 
11174         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11175         bytestream.
11176
11177         * tests/complexity.c (main): Set the length of the preroll queue
11178         on the sinks to prevent a lockup.
11179
11180         * libs/gst/dataprotocol/Makefile.am: 
11181         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11182         the same as the one in check/gst-libs/gdp.c.
11183
11184         * po/, docs/gst/: Commit automatic changes to docs and po files.
11185
11186         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11187         the versioned libgstbase.
11188
11189         * check/Makefile.am: Depend on an unversioned gst-register, seems
11190         to make autoconf happier.
11191
11192         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11193
11194 2005-03-28  Wim Taymans  <wim@fluendo.com>
11195
11196         * configure.ac:
11197         * docs/design/part-gstelement.txt:
11198         * docs/design/part-negotiation.txt:
11199         * docs/design/part-preroll.txt:
11200         * docs/design/part-scheduling.txt:
11201         * docs/design/part-states.txt:
11202         * gst/Makefile.am:
11203         * gst/base/Makefile.am:
11204         * gst/base/README:
11205         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11206         (gst_basesink_base_init), (gst_basesink_class_init),
11207         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11208         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11209         (gst_basesink_set_pad_functions),
11210         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11211         (gst_basesink_set_property), (gst_basesink_get_property),
11212         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11213         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11214         (gst_basesink_preroll_queue_push),
11215         (gst_basesink_preroll_queue_empty),
11216         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11217         (gst_basesink_event), (gst_basesink_get_times),
11218         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11219         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11220         (gst_basesink_loop), (gst_basesink_activate),
11221         (gst_basesink_change_state):
11222         * gst/base/gstbasesink.h:
11223         * gst/elements/Makefile.am:
11224         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11225         (gst_fakesink_class_init), (gst_fakesink_init),
11226         (gst_fakesink_set_property), (gst_fakesink_get_property),
11227         (gst_fakesink_get_times), (gst_fakesink_event),
11228         (gst_fakesink_preroll), (gst_fakesink_render),
11229         (gst_fakesink_change_state):
11230         * gst/elements/gstfakesink.h:
11231         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11232         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11233         * gst/gstelement.c: (gst_element_add_pad),
11234         (gst_element_get_state_func), (gst_element_abort_state),
11235         (gst_element_commit_state), (gst_element_lost_state),
11236         (gst_element_set_state), (gst_element_pads_activate):
11237         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11238         * gst/gstpipeline.c: (gst_pipeline_send_event),
11239         (gst_pipeline_change_state):
11240         Added state change code.
11241         Added/updated docs.
11242         Added sink base class, make fakesink extend the base class.
11243         Small cleanups in GstPipeline.
11244
11245 2005-03-26  David Schleef  <ds@schleef.org>
11246
11247         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11248         is broken and should be implemented in a different library.
11249         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11250         * gst/gst.h: remove gstcpu.h
11251         * gst/gstcpu.c: remove
11252         * gst/gstcpu.h: remove
11253         * gst/Makefile.am.future: Remove this file.  It's ancient.
11254
11255 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11256
11257         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11258         (gst_bin_send_event):
11259           Add default event/set_manager handlers. The set_manager handler
11260           takes care that the manager is distributed over kids that were
11261           already in the bin before the manager was set. The event handler
11262           is a utility virtual function that sends the event over all sinks,
11263           so that gst_element_send_event (bin, event); has the expected
11264           behaviour.
11265         * gst/gstpad.c: (gst_pad_event_default):
11266           Re-install default event handling for discontinuities, so that
11267           seeking works without requiring hacks in applications or extra
11268           code in sinks.
11269         * gst/gstpipeline.c: (gst_pipeline_class_init),
11270         (gst_pipeline_send_event):
11271           Half hack, half utility: set a pipeline to PAUSED for seek events,
11272           since that is the only way we can guarantee a/v sync. Means that
11273           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11274           and it "just works".
11275
11276 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11277
11278         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11279           Lock/unlock mismatch.
11280
11281 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11282
11283         * docs/faq/gst-uninstalled:
11284           add gst-plugins-base
11285         * docs/gst/Makefile.am:
11286           don't error out until docs are fixed
11287         * docs/gst/gstreamer.types:
11288           remove thread
11289
11290 2005-03-22  Wim Taymans  <wim@fluendo.com>
11291
11292         * check/Makefile.am:
11293         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11294         * gst/gststructure.c: (gst_structure_set_valist),
11295         (gst_structure_copy_conditional):
11296         Activated more tests.
11297         Added message test.
11298         Added G_TYPE_POINTER to GstStructure.
11299         
11300
11301 2005-03-22  Wim Taymans  <wim@fluendo.com>
11302
11303         * docs/design/part-TODO.txt:
11304         * docs/design/part-events.txt:
11305         * docs/design/part-gstbin.txt:
11306         * docs/design/part-gstbus.txt:
11307         * docs/design/part-gstpipeline.txt:
11308         * docs/design/part-messages.txt:
11309         * gst/gstbus.c:
11310         * gst/gstmessage.c:
11311         Docs updates
11312
11313 2005-03-21  Wim Taymans  <wim@fluendo.com>
11314
11315         * gst/gstbus.c: (gst_bus_post):
11316         Fix copy-and-paste error.
11317
11318 2005-03-21  Wim Taymans  <wim@fluendo.com>
11319
11320         * check/Makefile.am:
11321         * gst/Makefile.am:
11322         * gst/elements/Makefile.am:
11323         * gst/elements/gstelements.c:
11324         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11325         (gst_fakesink_event), (gst_fakesink_chain):
11326         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11327         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11328         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11329         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11330         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11331         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11332         (gst_fakesrc_loop), (gst_fakesrc_activate),
11333         (gst_fakesrc_change_state):
11334         * gst/elements/gstfakesrc.h:
11335         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11336         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11337         (gst_filesrc_open_file), (gst_filesrc_loop),
11338         (gst_filesrc_activate), (gst_filesrc_change_state),
11339         (filesrc_find_peek), (filesrc_find_suggest),
11340         (gst_filesrc_type_find):
11341         * gst/elements/gstidentity.c: (gst_identity_finalize),
11342         (gst_identity_class_init), (gst_identity_init),
11343         (gst_identity_proxy_getcaps), (identity_queue_push),
11344         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11345         (gst_identity_getrange), (gst_identity_chain),
11346         (gst_identity_sink_loop), (gst_identity_src_loop),
11347         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11348         (gst_identity_set_property), (gst_identity_get_property),
11349         (gst_identity_change_state):
11350         * gst/elements/gstidentity.h:
11351         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11352         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11353         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11354         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11355         (gst_tee_sink_activate):
11356         * gst/elements/gsttee.h:
11357         * gst/gst.c: (gst_register_core_elements), (init_post):
11358         * gst/gst.h:
11359         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11360         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11361         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11362         (gst_bin_change_state):
11363         * gst/gstbin.h:
11364         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11365         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11366         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11367         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11368         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11369         (bus_watch_callback), (bus_watch_destroy),
11370         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11371         (poll_timeout), (gst_bus_poll):
11372         * gst/gstbus.h:
11373         * gst/gstcaps.h:
11374         * gst/gstdata.h:
11375         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11376         (gst_element_post_message), (gst_element_message_full),
11377         (gst_element_get_state_func), (gst_element_get_state),
11378         (gst_element_abort_state), (gst_element_commit_state),
11379         (gst_element_lost_state), (gst_element_set_state),
11380         (gst_element_pads_activate), (gst_element_change_state),
11381         (gst_element_dispose), (gst_element_set_manager_func),
11382         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11383         (gst_element_set_manager), (gst_element_get_manager),
11384         (gst_element_set_bus), (gst_element_get_bus),
11385         (gst_element_set_scheduler), (gst_element_get_scheduler):
11386         * gst/gstelement.h:
11387         * gst/gstevent.c: (gst_event_new_segment_seek),
11388         (gst_event_new_flush):
11389         * gst/gstevent.h:
11390         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11391         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11392         (gst_message_new_eos), (gst_message_new_error),
11393         (gst_message_new_warning), (gst_message_new_tag),
11394         (gst_message_new_state_changed), (gst_message_new_application),
11395         (gst_message_get_structure), (gst_message_parse_tag),
11396         (gst_message_parse_state_changed), (gst_message_parse_error),
11397         (gst_message_parse_warning):
11398         * gst/gstmessage.h:
11399         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11400         (gst_real_pad_set_property), (gst_pad_set_active),
11401         (gst_pad_is_active), (gst_pad_set_blocked_async),
11402         (gst_pad_set_blocked), (gst_pad_is_blocked),
11403         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11404         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11405         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11406         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11407         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11408         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11409         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11410         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11411         (gst_pad_set_caps), (gst_pad_configure_sink),
11412         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11413         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11414         (gst_real_pad_dispose), (gst_real_pad_finalize),
11415         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11416         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11417         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11418         * gst/gstpad.h:
11419         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11420         (pipeline_bus_handler), (gst_pipeline_change_state),
11421         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11422         * gst/gstpipeline.h:
11423         * gst/gstprobe.h:
11424         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11425         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11426         (gst_queue_link_src), (gst_queue_bufferalloc),
11427         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11428         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11429         (gst_queue_loop), (gst_queue_handle_src_event),
11430         (gst_queue_handle_src_query), (gst_queue_src_activate),
11431         (gst_queue_change_state):
11432         * gst/gstqueue.h:
11433         * gst/gstscheduler.c: (gst_scheduler_init),
11434         (gst_scheduler_dispose), (gst_scheduler_create_task),
11435         (gst_scheduler_factory_create):
11436         * gst/gstscheduler.h:
11437         * gst/gststructure.c: (gst_structure_get_type),
11438         (gst_structure_copy_conditional):
11439         * gst/gststructure.h:
11440         * gst/gsttaginterface.h:
11441         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11442         (gst_task_init), (gst_task_dispose), (gst_task_create),
11443         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11444         (gst_task_pause):
11445         * gst/gsttask.h:
11446         * gst/gstthread.c:
11447         * gst/gstthread.h:
11448         * gst/gsttypes.h:
11449         * gst/schedulers/Makefile.am:
11450         * gst/schedulers/cothreads_compat.h:
11451         * gst/schedulers/entryscheduler.c:
11452         * gst/schedulers/faircothreads.c:
11453         * gst/schedulers/faircothreads.h:
11454         * gst/schedulers/fairscheduler.c:
11455         * gst/schedulers/gstbasicscheduler.c:
11456         * gst/schedulers/gstoptimalscheduler.c:
11457         * gst/schedulers/gthread-cothreads.h:
11458         * gst/schedulers/threadscheduler.c:
11459         (gst_thread_scheduler_task_get_type),
11460         (gst_thread_scheduler_task_class_init),
11461         (gst_thread_scheduler_task_init),
11462         (gst_thread_scheduler_task_start),
11463         (gst_thread_scheduler_task_stop),
11464         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11465         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11466         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11467         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11468         (plugin_init):
11469         * libs/gst/Makefile.am:
11470         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11471         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11472         (gst_file_pad_parent_set):
11473         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11474         (gst_dp_event_from_packet):
11475         * tests/complexity.c: (main):
11476         * tests/mass_elements.c: (main):
11477         * testsuite/states/locked.c: (message_received), (main):
11478         * testsuite/states/parent.c: (main):
11479         * tools/gst-inspect.c: (print_element_flag_info),
11480         (print_implementation_info), (print_pad_info):
11481         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11482         (main):
11483         * tools/gst-md5sum.c: (event_loop), (main):
11484         * tools/gst-typefind.c: (main):
11485         * tools/gst-xmlinspect.c: (print_element_info):
11486         Next big merge.
11487         Added GstBus for mainloop integration.
11488         Added GstMessage for sending notifications on the bus.
11489         Added GstTask as an abstraction for pipeline entry points.
11490         Removed GstThread.
11491         Removed Schedulers.
11492         Simplified GstQueue for multithreaded core.
11493         Made _link threadsafe, removed old capsnego.
11494         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11495         Added pad blocking functions.
11496         Reworked scheduling functions in GstPad to prepare for
11497         scheduling updates soon.
11498         Moved events out of data stream.
11499         Simplified GstEvent types.
11500         Added return values to push/pull.
11501         Removed clocking from GstElement.
11502         Added prototypes for state change function for next merge.
11503         Removed iterate from bins and state change management.
11504         Fixed some elements, disabled others for now.
11505         Fixed -inspect and -launch.
11506         Added check for GstBus.
11507
11508 2005-03-10  Wim Taymans  <wim@fluendo.com>
11509
11510         * docs/design/part-MT-refcounting.txt:
11511         * docs/design/part-clocks.txt:
11512         * docs/design/part-gstelement.txt:
11513         * docs/design/part-gstobject.txt:
11514         * docs/design/part-standards.txt:
11515         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11516         (gst_bin_remove_func), (gst_bin_remove):
11517         * gst/gstbin.h:
11518         * gst/gstbuffer.c:
11519         * gst/gstcaps.h:
11520         * testsuite/clock/clock1.c: (main):
11521         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11522         (main):
11523         * testsuite/dlopen/loadgst.c: (do_test):
11524         * testsuite/refcounting/bin.c: (add_remove_test1),
11525         (add_remove_test2), (main):
11526         * testsuite/refcounting/element.c: (main):
11527         * testsuite/refcounting/element_pad.c: (main):
11528         * testsuite/refcounting/pad.c: (main):
11529         * tools/gst-launch.c: (sigint_handler_sighandler):
11530         * tools/gst-typefind.c: (main):
11531         Doc updates.
11532         Added doc about clock.
11533         removed gst_bin_iterate_recurse_up(), marked methods
11534         for removal.
11535         Fix more testsuites.
11536
11537 2005-03-09  Wim Taymans  <wim@fluendo.com>
11538
11539         * gst/gstpad.c: (gst_pad_get_direction),
11540         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11541         (gst_pad_collect_valist):
11542         * testsuite/bins/interface.c: (main):
11543         * testsuite/caps/audioscale.c: (test_caps):
11544         * testsuite/caps/caps.c: (test1), (test2), (test3):
11545         * testsuite/caps/deserialize.c: (main):
11546         * testsuite/caps/enumcaps.c: (main):
11547         * testsuite/caps/filtercaps.c: (main):
11548         * testsuite/caps/intersect2.c: (main):
11549         * testsuite/caps/random.c: (main):
11550         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11551         * testsuite/caps/sets.c: (check_caps):
11552         * testsuite/caps/simplify.c: (check_caps), (main):
11553         * testsuite/caps/subtract.c: (check_caps):
11554         Fix _pad_get_direction wrt ghostpads.
11555         Fix caps testsuite.
11556
11557 2005-03-09  Wim Taymans  <wim@fluendo.com>
11558
11559         * check/Makefile.am:
11560         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11561         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11562         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11563         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11564         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11565         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11566         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11567         (bin_element_is_sink), (gst_bin_iterate_sinks),
11568         (gst_bin_iterate_all_by_interface):
11569         * gst/gstbin.h:
11570         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11571         (gst_element_change_state), (gst_element_dispose),
11572         (gst_element_finalize), (gst_element_set_loop_function):
11573         * gst/gstelement.h:
11574         * gst/gstiterator.c: (find_custom_fold_func):
11575         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11576         (gst_pad_collectv), (gst_pad_collect_valist),
11577         (gst_pad_template_new):
11578         * gst/gstpipeline.c: (gst_pipeline_class_init),
11579         (gst_pipeline_dispose), (gst_pipeline_set_property),
11580         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11581         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11582         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11583         * gst/gstutils.h:
11584         * gst/schedulers/entryscheduler.c:
11585         * gst/schedulers/gstbasicscheduler.c:
11586         (gst_basic_scheduler_cothreaded_chain),
11587         (gst_basic_scheduler_chain_add_element):
11588         * testsuite/bins/interface.c: (main):
11589         Added GstBin test.
11590         Added GstSystemClock test.
11591         Implemented clock distribution code in GstBin.
11592         Implemented iterate sinks method for future use.
11593         Rearranged gstelement.h
11594         Fix GstIterator comparison bug.
11595         Moved some code to GstPipeline, mostly clocking related.
11596
11597 2005-03-09  Wim Taymans  <wim@fluendo.com>
11598
11599         * configure.ac:
11600         * gst/gst_private.h:
11601         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11602         (gst_bin_remove_func), (gst_bin_remove),
11603         (gst_bin_get_by_name_recurse_up):
11604         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11605         (gst_clock_id_compare_func), (gst_clock_id_wait),
11606         (gst_clock_id_wait_async), (gst_clock_init),
11607         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11608         * gst/gstelement.h:
11609         * gst/gstinfo.c: (_gst_debug_init):
11610         * gst/gstobject.h:
11611         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11612         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11613         * gst/gstpad.h:
11614         Bump version number, we're now 0.9.0
11615         Add future debugging category.
11616         Fix NULL _unref() in _get_by_name_recurse_up
11617         Rearrange gstpad.h.
11618         Update some docs.
11619
11620 2005-03-08  Wim Taymans  <wim@fluendo.com>
11621
11622         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11623         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11624         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11625         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11626         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11627         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11628         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11629         * gst/elements/gstidentity.c: (gst_identity_class_init):
11630         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11631         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11632         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11633         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11634         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11635         (gst_tee_link):
11636         * gst/gstelement.c: (gst_element_class_init),
11637         (gst_element_base_class_init), (gst_element_init),
11638         (gst_element_get_random_pad), (gst_element_wait_state_change),
11639         (gst_element_change_state), (gst_element_dispose),
11640         (gst_element_finalize), (gst_element_set_loop_function):
11641         * gst/gstelement.h:
11642         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11643         * gst/gstthread.c: (gst_thread_class_init),
11644         (gst_thread_release_children_locks), (gst_thread_change_state):
11645         * gst/schedulers/gstbasicscheduler.c:
11646         (gst_basic_scheduler_loopfunc_wrapper),
11647         (gst_basic_scheduler_chain_wrapper),
11648         (gst_basic_scheduler_src_wrapper),
11649         (gst_basic_scheduler_remove_element):
11650         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11651         Remove threadsafe properties. Fix elements because GObject
11652         complains when installing a property before declaring a
11653         set/get_property handler.
11654         Rearrange gstelement.h file, use STATE macros for state locks.
11655         Free mutexes in the finalize method instead of dispose.
11656
11657 2005-03-08  Wim Taymans  <wim@fluendo.com>
11658
11659         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11660         * gst/gstthread.c: (gst_thread_release_children_locks):
11661         Added parentage check.
11662         Fix build og GstThread again.
11663
11664 2005-03-08  Wim Taymans  <wim@fluendo.com>
11665
11666         * docs/design/part-MT-refcounting.txt:
11667         * docs/design/part-conventions.txt:
11668         * docs/design/part-gstobject.txt:
11669         * docs/design/part-relations.txt:
11670         * docs/design/part-standards.txt:
11671         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11672         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11673         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11674         (gst_bin_iterate_all_by_interface):
11675         * gst/gstbuffer.h:
11676         * gst/gstclock.h:
11677         * gst/gstelement.c: (gst_element_class_init),
11678         (gst_element_change_state), (gst_element_set_loop_function):
11679         * gst/gstelement.h:
11680         * gst/gstiterator.c:
11681         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11682         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11683         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11684         (gst_object_set_parent), (gst_object_unparent),
11685         (gst_object_check_uniqueness):
11686         * gst/gstobject.h:
11687         Docs updates, clean up some headers.
11688
11689 2005-03-07  Wim Taymans  <wim@fluendo.com>
11690
11691         * check/.cvsignore:
11692         * check/Makefile.am:
11693         * check/gst-libs/.cvsignore:
11694         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11695         * check/gst/.cvsignore:
11696         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11697         (START_TEST), (gstbus_suite), (main):
11698         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11699         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11700         (gst_data_suite), (main):
11701         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11702         (add_fold_func), (gstiterator_suite), (main):
11703         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11704         (thread_name_object), (thread_name_object_default),
11705         (gst_object_name_compare), (gst_object_suite), (main):
11706         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11707         (gst_pad_suite), (main):
11708         * check/gstcheck.c: (gst_check_log_message_func),
11709         (gst_check_log_critical_func), (gst_check_init):
11710         * check/gstcheck.h:
11711         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11712         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11713         Added checks.
11714
11715 2005-03-07  Wim Taymans  <wim@fluendo.com>
11716
11717         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11718         (gst_list_iterator_next), (gst_list_iterator_resync),
11719         (gst_list_iterator_free), (gst_iterator_new_list),
11720         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11721         (gst_iterator_free), (gst_iterator_push), (filter_next),
11722         (filter_resync), (filter_uninit), (filter_free),
11723         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11724         (gst_iterator_foreach), (find_custom_fold_func),
11725         (gst_iterator_find_custom):
11726         * gst/gstiterator.h:
11727         Added missing files.
11728
11729 2005-03-07  Wim Taymans  <wim@fluendo.com>
11730
11731         * Makefile.am:
11732         * configure.ac:
11733         * docs/design/part-MT-refcounting.txt:
11734         * docs/design/part-conventions.txt:
11735         * docs/design/part-gstobject.txt:
11736         * docs/design/part-relations.txt:
11737         * examples/mixer/mixer.c: (main):
11738         * examples/thread/thread.c: (eos), (main):
11739         * gst/Makefile.am:
11740         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11741         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11742         (gst_spider_plug_from_srcpad):
11743         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11744         (gst_spider_identity_change_state),
11745         (gst_spider_identity_sink_loop_type_finding):
11746         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11747         * gst/elements/gstidentity.c: (gst_identity_init):
11748         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11749         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11750         * gst/elements/gsttypefindelement.c: (free_entry):
11751         * gst/gst.c:
11752         * gst/gst.h:
11753         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11754         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11755         (gst_bin_set_index), (gst_bin_set_element_sched),
11756         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11757         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11758         (gst_bin_iterate_elements), (iterate_child_recurse),
11759         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11760         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11761         (compare_interface), (gst_bin_get_by_interface),
11762         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11763         * gst/gstbin.h:
11764         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11765         (gst_buffer_default_free), (gst_buffer_default_copy),
11766         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11767         (gst_buffer_create_sub):
11768         * gst/gstbuffer.h:
11769         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11770         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11771         (gst_caps_unref), (gst_static_caps_get),
11772         (gst_caps_remove_and_get_structure), (gst_caps_append),
11773         (gst_caps_append_structure), (gst_caps_remove_structure),
11774         (gst_caps_copy_nth), (gst_caps_set_simple),
11775         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11776         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11777         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11778         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11779         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11780         (gst_caps_structure_figure_out_union),
11781         (gst_caps_switch_structures), (gst_caps_do_simplify),
11782         (gst_caps_replace), (gst_caps_from_string),
11783         (gst_caps_copy_conditional):
11784         * gst/gstcaps.h:
11785         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11786         (_gst_clock_id_free), (gst_clock_id_unref),
11787         (gst_clock_id_compare_func), (gst_clock_id_wait),
11788         (gst_clock_id_wait_async), (gst_clock_class_init),
11789         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11790         (gst_clock_get_time), (gst_clock_set_time_adjust),
11791         (gst_clock_set_property), (gst_clock_get_property):
11792         * gst/gstclock.h:
11793         * gst/gstcompat.h:
11794         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11795         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11796         * gst/gstdata.h:
11797         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11798         (gst_element_requires_clock), (gst_element_provides_clock),
11799         (gst_element_set_clock), (gst_element_clock_wait),
11800         (gst_element_wait), (gst_element_set_time_delay),
11801         (gst_element_is_indexable), (gst_element_add_pad),
11802         (gst_element_add_ghost_pad), (gst_element_remove_pad),
11803         (pad_compare_name), (gst_element_get_static_pad),
11804         (gst_element_request_pad), (gst_element_get_request_pad),
11805         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
11806         (gst_element_class_get_pad_template_list),
11807         (gst_element_class_get_pad_template), (gst_element_error_func),
11808         (gst_element_get_random_pad), (gst_element_get_event_masks),
11809         (gst_element_send_event), (gst_element_seek),
11810         (gst_element_get_query_types), (gst_element_query),
11811         (gst_element_get_formats), (gst_element_convert),
11812         (gst_element_is_locked_state), (gst_element_set_locked_state),
11813         (gst_element_sync_state_with_parent), (gst_element_change_state),
11814         (gst_element_finalize), (gst_element_yield),
11815         (gst_element_interrupt), (gst_element_set_scheduler),
11816         (gst_element_get_scheduler), (gst_element_set_loop_function):
11817         * gst/gstelement.h:
11818         * gst/gstevent.h:
11819         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
11820         (gst_format_get_by_nick), (gst_format_get_details),
11821         (gst_format_iterate_definitions):
11822         * gst/gstformat.h:
11823         * gst/gstindex.c: (gst_index_gtype_resolver):
11824         * gst/gstinfo.c:
11825         * gst/gstinfo.h:
11826         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
11827         (gst_mem_chunk_free):
11828         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
11829         (gst_object_ref), (gst_object_unref), (gst_object_sink),
11830         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
11831         (gst_object_dispatch_properties_changed),
11832         (gst_object_set_name_default), (gst_object_set_name),
11833         (gst_object_get_name), (gst_object_set_name_prefix),
11834         (gst_object_get_name_prefix), (gst_object_set_parent),
11835         (gst_object_get_parent), (gst_object_unparent),
11836         (gst_object_check_uniqueness), (gst_object_save_thyself),
11837         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
11838         (gst_object_set_property), (gst_object_get_property),
11839         (gst_object_get_path_string):
11840         * gst/gstobject.h:
11841         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11842         (gst_real_pad_init), (gst_real_pad_get_property),
11843         (gst_pad_custom_new), (gst_pad_get_direction),
11844         (gst_pad_set_active), (gst_pad_is_active),
11845         (gst_pad_set_event_function), (gst_pad_is_linked),
11846         (gst_pad_link_free), (gst_pad_link_intersect),
11847         (gst_pad_link_fixate), (gst_pad_set_caps),
11848         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
11849         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
11850         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
11851         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
11852         (gst_pad_get_caps), (gst_pad_peer_get_caps),
11853         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
11854         (gst_pad_realize), (gst_pad_get_allowed_caps),
11855         (gst_real_pad_dispose), (gst_real_pad_finalize),
11856         (gst_pad_collectv), (gst_pad_collect_valist),
11857         (gst_pad_template_dispose), (gst_pad_template_new),
11858         (gst_pad_get_internal_links):
11859         * gst/gstpad.h:
11860         * gst/gstpipeline.c: (gst_pipeline_dispose),
11861         (gst_pipeline_change_state):
11862         * gst/gstpipeline.h:
11863         * gst/gstplugin.c:
11864         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
11865         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
11866         * gst/gstpluginfeature.h:
11867         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
11868         * gst/gstquery.c: (_gst_query_type_initialize),
11869         (gst_query_type_register), (gst_query_type_get_by_nick),
11870         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
11871         * gst/gstquery.h:
11872         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
11873         * gst/gstscheduler.c: (gst_scheduler_add_element),
11874         (gst_scheduler_factory_create):
11875         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11876         (gst_structure_free), (gst_structure_set_name),
11877         (gst_structure_id_set_value), (gst_structure_set_value),
11878         (gst_structure_set_valist), (gst_structure_remove_field),
11879         (gst_structure_remove_fields),
11880         (gst_structure_remove_fields_valist),
11881         (gst_structure_remove_all_fields), (gst_structure_foreach),
11882         (gst_structure_map_in_place),
11883         (gst_caps_structure_fixate_field_nearest_int),
11884         (gst_caps_structure_fixate_field_nearest_double):
11885         * gst/gststructure.h:
11886         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11887         (gst_system_clock_init), (gst_system_clock_dispose),
11888         (gst_system_clock_async_thread),
11889         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
11890         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
11891         * gst/gstsystemclock.h:
11892         * gst/gsttag.c: (gst_tag_list_add_value_internal),
11893         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
11894         * gst/gsttaginterface.c:
11895         * gst/gstthread.c: (gst_thread_dispose),
11896         (gst_thread_release_children_locks), (gst_thread_change_state),
11897         (gst_thread_main_loop):
11898         * gst/gsttrashstack.h:
11899         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
11900         * gst/gsttypes.h:
11901         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11902         (gst_element_request_pad), (gst_element_get_pad_from_template),
11903         (gst_element_request_compatible_pad),
11904         (gst_element_get_compatible_pad_filtered),
11905         (gst_element_get_compatible_pad), (gst_element_state_get_name),
11906         (gst_element_link_pads_filtered), (gst_element_link_filtered),
11907         (gst_element_link_many), (gst_element_link),
11908         (gst_element_link_pads), (gst_element_unlink_pads),
11909         (gst_element_unlink_many), (gst_element_unlink),
11910         (gst_pad_can_link_filtered), (gst_pad_can_link),
11911         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
11912         (gst_object_default_error), (gst_bin_add_many),
11913         (gst_bin_remove_many), (gst_element_populate_std_props),
11914         (gst_element_class_install_std_props), (gst_buffer_merge),
11915         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
11916         (link_fold_func), (gst_pad_proxy_setcaps):
11917         * gst/gstutils.h:
11918         * gst/gstvalue.c: (gst_value_deserialize_string):
11919         * gst/parse/grammar.y:
11920         * gst/schedulers/gstbasicscheduler.c:
11921         (gst_basic_scheduler_cothreaded_chain),
11922         (gst_basic_scheduler_chain_recursive_add),
11923         (gst_basic_scheduler_pad_link):
11924         * gst/schedulers/gstoptimalscheduler.c:
11925         (get_group_schedule_function),
11926         (gst_opt_scheduler_state_transition),
11927         (gst_opt_scheduler_add_element), (element_get_reachables_func):
11928         * libs/gst/bytestream/bytestream.c:
11929         * libs/gst/dataprotocol/dataprotocol.c:
11930         (gst_dp_header_from_buffer):
11931         * po/nb.po:
11932         * po/ru.po:
11933         * tests/threadstate/threadstate2.c: (eos):
11934         * tools/gst-compprep.c: (main):
11935         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
11936         (print_pad_info), (print_children_info):
11937         * tools/gst-launch.c: (idle_func), (main):
11938         * tools/gst-md5sum.c: (idle_func), (main):
11939         * tools/gst-xmlinspect.c: (print_element_info):
11940         First THREADED backport attempt, focusing on adding locks and
11941         making sure the API is threadsafe. Needs more work. More docs
11942         follow this week.
11943
11944 2005-02-24  Andy Wingo  <wingo@pobox.com>
11945
11946         * tests/bench-complexity.scm:
11947         * tests/complexity.gnuplot: New files, good for running complexity
11948         benchmarks.
11949
11950         * tests/Makefile.am:
11951         * tests/complexity.c: New test, sets up N elements, at each level
11952         teeing into M streams per element. Eeeenteresting.
11953
11954         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
11955         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
11956         running bench-mass_elements.scm.
11957
11958         * tests/bench-mass_elements.scm: New script, runs mass_elements
11959         for various numbers of identities, outputting the results to a
11960         file. Requires guile 1.6. Just for testing.
11961
11962 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11963
11964         * gst/schedulers/fairscheduler.c:
11965           compile with debug disabled
11966
11967 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11968
11969         * configure.ac:
11970           hunting season on 0.9 is now OPEN