check/gst/gstminiobject.c: don't use check calls from threads; check probably isn...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4         (gst_mini_object_suite):
5           don't use check calls from threads; check probably isn't
6           threadsafe and using a lock to make it threadsafe would
7           defeat the purpose of this check
8         * gst/check/gstcheck.c:
9         * gst/check/gstcheck.h:
10           use GST_DEBUG some more
11
12 2005-11-24  Wim Taymans  <wim@fluendo.com>
13
14         * gst/gstutils.c: (gst_util_uint64_scale),
15         (gst_util_uint64_scale_int):
16         Chain trivial case to _scale_int.
17
18 2005-11-24  Wim Taymans  <wim@fluendo.com>
19
20         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
21         Added test for scaling.
22
23         * gst/gstclock.h:
24         Small doc fix.
25
26         * gst/gstutils.c: (gst_util_uint64_scale_int):
27         Implemented high precision scaling code.
28
29 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
30
31         * gst/gstinfo.h:
32           do not crash on pad==NULL
33
34 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
35
36         Patch by: Stefan Kost
37
38         * common/gtk-doc.mak:
39         * docs/gst/Makefile.am:
40         * docs/libs/Makefile.am:
41           Fix distcheck issues for the libraries docs build
42           Closes #319599.
43
44 2005-11-24  Michael Smith <msmith@fluendo.com>
45
46         * docs/manual/basics-helloworld.xml:
47           Fix bug #315027: memory leak in example code in docs.
48
49 2005-11-24  Michael Smith <msmith@fluendo.com>
50
51         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
52           Unlock the PREROLL_LOCK in a failure case.
53
54 2005-11-24  Wim Taymans  <wim@fluendo.com>
55
56         * docs/gst/gstreamer-sections.txt:
57         * gst/base/gstadapter.h:
58         * gst/base/gstbasesink.h:
59         * gst/base/gstbasesrc.h:
60         * gst/base/gstbasetransform.h:
61         * gst/base/gstpushsrc.h:
62         * gst/elements/gstfakesink.h:
63         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
64         * gst/elements/gstfakesrc.h:
65         * gst/elements/gstfilesink.h:
66         * gst/elements/gstfilesrc.h:
67         * gst/gst.c:
68         * gst/gstbin.c:
69         * gst/gstbuffer.c: (_gst_buffer_copy):
70         * gst/gstbus.h:
71         * gst/gstcaps.c:
72         * gst/gstchildproxy.c:
73         * gst/gstclock.c:
74         * gst/gstelement.c:
75         * gst/gstelementfactory.c:
76         * gst/gstelementfactory.h:
77         * gst/gstevent.c:
78         * gst/gstghostpad.h:
79         * gst/gstindex.h:
80         * gst/gstinterface.h:
81         * gst/gstminiobject.c:
82         * gst/gstminiobject.h:
83         * gst/gstpad.c:
84         * gst/gstpad.h:
85         * gst/gstpadtemplate.h:
86         * gst/gstpipeline.h:
87         * gst/gstpluginfeature.h:
88         * gst/gstquery.h:
89         * gst/gstqueue.h:
90         * gst/gsttaglist.c:
91         * gst/gsttaglist.h:
92         * gst/gsttagsetter.c:
93         * gst/gsttagsetter.h:
94         * gst/gsttrace.c:
95         * gst/gsttrace.h:
96         * gst/gsttypefind.h:
97         * gst/gsturi.h:
98         * gst/gstvalue.c:
99         * gst/net/gstnetclientclock.c:
100         * gst/net/gstnetclientclock.h:
101         * gst/net/gstnettimepacket.c:
102         * gst/net/gstnettimeprovider.c:
103         * gst/net/gstnettimeprovider.h:
104         Doc fixes.
105
106 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
107
108         * configure.ac: back to HEAD
109
110 === release 0.9.6 ===
111
112 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
113
114         * configure.ac:
115           releasing 0.9.6, "Always On Time"
116
117 2005-11-23  Wim Taymans  <wim@fluendo.com>
118
119         * docs/gst/gstreamer-sections.txt:
120         * gst/glib-compat.c:
121         * gst/gsttagsetter.c:
122         * gst/gstvalue.c:
123         * gst/net/gstnetclientclock.c:
124         * gst/net/gstnettimepacket.h:
125         Doc updates.
126
127 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
128
129         * docs/faq/using.xml:
130         * docs/libs/tmpl/gstcontrol.sgml:
131         * docs/manual/advanced-dparams.xml:
132         * docs/manual/appendix-checklist.xml:
133         * docs/manual/basics-elements.xml:
134         * docs/pwg/other-source.xml:
135         * docs/random/moving-plugins:
136         * gst/gstpad.c:
137         * tools/gst-launch.1.in:
138           remove mentions of sinesrc
139
140 2005-11-23  Michael Smith <msmith@fluendo.com>
141
142         * docs/gst/gstreamer-sections.txt:
143           Update for new API and API changes.
144         * gst/gstobject.h:
145           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
146         * gst/gstvalue.c:
147           Documentation typo fix.
148         * gst/net/gstnettimepacket.c:
149           Documentation fixes for arguments.
150
151 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
152
153         * gst/gststructure.c: (gst_structure_get_fraction),
154         (gst_structure_parse_value),
155         (gst_structure_fixate_field_nearest_fraction):
156         * gst/gststructure.h:
157         * gst/gstutils.c: (gst_util_uint64_scale_int):
158         * gst/gstutils.h:
159         * scripts/update-funcnames:
160         API Changes. 
161         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
162         Make gst_structure_fixate_field_nearest_fraction take a numerator
163         and denominator argument instead of a GValue
164         add gst_structure_get_fraction helper function.
165
166 2005-11-23  Wim Taymans  <wim@fluendo.com>
167
168         * docs/design/part-TODO.txt:
169         Update TODO.
170
171         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
172         * gst/net/gstnetclientclock.h:
173         Use parent fields for timeout and window_size.
174
175 2005-11-23  Andy Wingo  <wingo@pobox.com>
176
177         * check/net/gstnetclientclock.c (test_functioning): Adjust to
178         rate_num/rate_denom change.
179
180         * gst/net/gstnetclientclock.c
181         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
182         OBJECT_LOCK. Don't call add_observation with the lock.
183
184         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
185         fraction.
186         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
187         rate fraction.
188         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
189         deal with rate as a fraction whose numerator and denominator are
190         GstClockTime values.
191         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
192         master; the other fields are protected by the SLAVE_LOCK.
193         (do_linear_regression): Note that this must be called with the
194         SLAVE_LOCK.
195         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
196         OBJECT_LOCK. Call set_calibration instead of touching the
197         variables directly.
198         (gst_clock_set_property, gst_clock_get_property): Protect
199         master/slave parameters with the SLAVE_LOCK.
200
201         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
202         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
203         note that all of the instance variables that add_observation and
204         the set_master functions use are protected by that lock and not
205         the OBJECT_LOCK.
206         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
207
208         * gst/gstclock.c (gst_clock_add_observation): No longer requires
209         the caller to take the object lock.
210
211 2005-11-23  Wim Taymans  <wim@fluendo.com>
212
213         * gst/gsterror.c: (_gst_core_errors_init):
214         * gst/gsterror.h:
215         Add error for clock stuff.
216
217         * gst/gstpipeline.c: (gst_pipeline_change_state),
218         (gst_pipeline_set_clock):
219         Post clock error when clock cannot be used in a pipeline.
220
221 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
222
223         * docs/gst/gstreamer-sections.txt:
224           make two symbols from gstinfo private for the docs
225         * gst/base/gstcollectpads.h:
226         * gst/gstutils.c:
227           fix doc typos, update docs
228
229 2005-11-22  Wim Taymans  <wim@fluendo.com>
230
231         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
232         (gst_base_sink_wait), (gst_base_sink_do_sync),
233         (gst_base_sink_handle_event):
234         * gst/base/gstbasesink.h:
235         No need to store the clock, the parent element class already
236         has it.
237
238         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
239         Updates for clock_set returning a gboolean
240
241         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
242         (gst_clock_id_wait_async), (gst_clock_class_init),
243         (gst_clock_init), (gst_clock_finalize),
244         (gst_clock_get_internal_time), (gst_clock_get_time),
245         (gst_clock_slave_callback), (gst_clock_set_master),
246         (gst_clock_get_master), (do_linear_regression),
247         (gst_clock_add_observation), (gst_clock_set_property),
248         (gst_clock_get_property):
249         * gst/gstclock.h:
250         Implement master/slave. When setting a clock as a slave, a
251         periodic timeout is scheduled to sample master and slave times.
252         Then the slave clock is recalibrated to match offset and rate
253         of the master clock.
254         Update logging a bit.
255         Add flag so that a clock can state that is cannot be slaved to
256         another clock.
257
258         * gst/gstelement.c: (gst_element_set_clock):
259         * gst/gstelement.h:
260         The set clock returns a gboolean for when an element cannot
261         deal with the selected clock in the pipeline. 
262
263         * gst/gstpipeline.c: (gst_pipeline_change_state),
264         (gst_pipeline_set_clock):
265         * gst/gstpipeline.h:
266         Handle the case where the selected clock cannot be set on
267         the pipeline.
268
269         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
270         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
271         (gst_net_client_clock_set_property),
272         (gst_net_client_clock_get_property),
273         (gst_net_client_clock_observe_times):
274         * gst/net/gstnetclientclock.h:
275         Use regression code in GstClock parent, remove duplicated
276         functionality.
277
278 2005-11-22  Michael Smith <msmith@fluendo.com>
279
280         * gst/gstutils.c: (gst_util_clock_time_scale):
281         * gst/gstutils.h:
282         * docs/gst/gstreamer-sections.txt:
283           Rename method to have extra underscore.
284
285 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
286
287         * gst/elements/Makefile.am:
288         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
289         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
290         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
291         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
292         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
293         * gst/elements/gstfakesrc.h:
294         * gst/gstqueue.c: (queue_leaky_get_type):
295           correctly fix GEnumValues so that nick is the short lowercase
296           dashed tag
297         * tools/gst-inspect.c: (print_element_properties_info):
298           also show the nick, since it's useful to use from parse_launch
299           syntax
300           Fixes #322139
301
302 2005-11-22  Michael Smith <msmith@fluendo.com>
303
304         * gst/gstutils.c: (gst_util_clocktime_scale):
305         * gst/gstutils.h:
306         * docs/gst/gstreamer-sections.txt:
307           Add util method for scaling a clocktime by a fraction. Useful 
308           implementation is left as an exercise for the reader.
309
310 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
311
312         * gst/gstvalue.c: (gst_value_collect_fraction_range):
313         If needed, allocate storage in the destination value during
314         collection.
315
316 2005-11-22  Edward Hervey  <edward@fluendo.com>
317
318         * docs/gst/gstreamer-sections.txt:
319         * gst/Makefile.am:
320         * gst/gst.h:
321         * gst/gsturitype.c:
322         * gst/gsturitype.h:
323         * gst/gstutils.c: (gst_util_set_object_arg):
324         * tools/gst-compprep.c: (main):
325         * tools/gst-inspect.c: (print_element_properties_info):
326         Removed GstURI, closes bug #321061
327
328 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
329
330         * check/gst/gststructure.c: (GST_START_TEST):
331         * gst/gststructure.c: (gst_structure_parse_value):
332           Oops, broke automatic string type parsing.
333           Add a test to catch it in future.
334
335 2005-11-22  Andy Wingo  <wingo@pobox.com>
336
337         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
338         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
339         Actually rename the function implementations. Grr.
340
341 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
342
343         * check/gst/capslist.h:
344           Comment test cases
345         * check/gst/gststructure.c: (GST_START_TEST),
346         (gst_structure_suite):
347           Test automatic value type detection in gst_structure_from_string.
348         * gst/gststructure.c: (gst_structure_parse_value):
349           Add fraction as a type we try and guess automatically in
350           caps/structure strings.
351
352 2005-11-22  Andy Wingo  <wingo@pobox.com>
353
354         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
355
356         * gst/gsttagsetter.h:
357         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
358         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
359         (gst_tag_setter_add_tag_valist)
360         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
361         _add_values, _add_valist, and _add_valist_values. Since this is an
362         interface the function suffixes should be more explicit so
363         language binding don't end up with element.add_valist ->
364         gst_tag_setter_add_valist, for example. Fixes #322069.
365
366 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
367
368         * check/gst/gstcaps.c: (GST_START_TEST):
369           Extend caps string tests to check that a caps to string
370           conversion is reversible and produces the same caps.
371
372         * gst/gststructure.c: (gst_structure_value_get_generic_type):
373           Output "fraction" as the generic type fraction range, so caps
374           serialisation and deserialisation works.
375         * check/gst/capslist.h:
376         * gst/gstvalue.c: (gst_value_deserialize_fraction):
377           Support 'MIN' and 'MAX' for deserialising fractions.
378
379 2005-11-22  Andy Wingo  <wingo@pobox.com>
380
381         * gst/gstevent.h (gst_event_new_new_segment)
382         (gst_event_parse_new_segment, gst_event_new_buffer_size)
383         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
384         Renamed from *_newsegment, *_buffersize, *_notarget.
385
386         * scripts/update-funcnames: New script, performs the changes
387         listed above.
388
389 2005-11-22  Wim Taymans  <wim@fluendo.com>
390
391         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
392         Make sure the GstFlowReturn is returned.
393
394         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
395         (gst_bus_add_signal_watch):
396         * gst/gstbus.h:
397         add gst_bus_add_signal_watch_full.
398
399         * gst/gstplugin.c: (gst_plugin_load_file):
400         Small style cleanup.
401
402 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
403
404         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
405           Block the fakesrc srcpad when we send an event, to avoid
406           contention on the stream_lock causing random test failures.
407
408 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
409
410         * check/gst/gstvalue.c: (GST_START_TEST):
411         * gst/gstvalue.c: (gst_value_fraction_subtract):
412           Fix subtraction.
413
414 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
415
416         * gst/gst.h:
417           include "gstchildproxy.h"
418         * gst/gstchildproxy.h:
419         * libs/gst/controller/gstcontroller.h:
420           use G_GNUC_NULL_TERMINATED
421
422 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
423
424         * check/gst/capslist.h:
425         * check/gst/gstcaps.c: (GST_START_TEST):
426         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
427         * gst/gststructure.c: (gst_structure_parse_range),
428         (gst_structure_fixate_field_nearest_fraction):
429         * gst/gststructure.h:
430         * gst/gstvalue.c: (gst_value_init_fraction_range),
431         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
432         (gst_value_collect_fraction_range),
433         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
434         (gst_value_set_fraction_range_full),
435         (gst_value_get_fraction_range_min),
436         (gst_value_get_fraction_range_max),
437         (gst_value_serialize_fraction_range),
438         (gst_value_transform_fraction_range_string),
439         (gst_value_compare_fraction_range),
440         (gst_value_deserialize_fraction_range),
441         (gst_value_intersect_fraction_fraction_range),
442         (gst_value_intersect_fraction_range_fraction_range),
443         (gst_value_subtract_fraction_fraction_range),
444         (gst_value_subtract_fraction_range_fraction),
445         (gst_value_subtract_fraction_range_fraction_range),
446         (gst_value_collect_fraction), (gst_value_fraction_multiply),
447         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
448         (gst_value_transform_string_fraction), (_gst_value_initialize):
449         * gst/gstvalue.h:
450           Implement fraction ranges and extend GstFraction to support
451           arithmetic subtraction, as well as deserialization from integer
452           strings such as "100"
453           Add a testsuite as for int and double range set operations
454
455 2005-11-21  Andy Wingo  <wingo@pobox.com>
456
457         * gst/gsttaglist.h: 
458         * gst/gstcaps.h: 
459         * gst/gststructure.h: Add glib-compat.h.
460
461 2005-11-21  Wim Taymans  <wim@fluendo.com>
462
463         * gst/gstbin.c: (gst_bin_change_state_func):
464         Fix for #321595
465
466 2005-11-21  Wim Taymans  <wim@fluendo.com>
467
468         * gst/gstsegment.h:
469         And add a nice define too.
470
471 2005-11-21  Wim Taymans  <wim@fluendo.com>
472
473         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
474         (gst_segment_new), (gst_segment_free), (gst_segment_init),
475         (gst_segment_set_duration), (gst_segment_set_last_stop),
476         (gst_segment_set_seek), (gst_segment_set_newsegment),
477         (gst_segment_to_stream_time), (gst_segment_to_running_time),
478         (gst_segment_clip):
479         * gst/gstsegment.h:
480         Make binding friendly.
481
482 2005-11-21  Andy Wingo  <wingo@pobox.com>
483
484         * gst/gsttagsetter.h: 
485         * gst/gsttaglist.h: 
486         * gst/gststructure.h: 
487         * gst/gstcaps.h: 
488         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
489         #319940.
490
491         * gst/gsterror.c (_gst_core_errors_init):
492         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
493         category.
494
495         * gst/Makefile.am (gst_headers): Add glib-compat.h.
496         (noinst_HEADERS): noinst the -private.
497
498 2005-11-21  Michael Smith <msmith@fluendo.com>
499
500         * gst/gstplugin.h:
501         * gst/gstregistry.h:
502           Remove unimplemented declarations for which we can see no sensible
503           use.
504
505 2005-11-21  Andy Wingo  <wingo@pobox.com>
506
507         * gst/gst.h: Include glib-compat.h.
508
509         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
510
511         * gst/glib-compat.c: Include the public and the private header.
512
513         * gst/glib-compat-private.h: Copied here from glib-compat.h.
514
515         * gst/gstvalue.c: 
516         * gst/gstpad.c: 
517         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
518
519         * check/gst/gstevent.c (create_custom_events): Check that
520         FLUSH_STOP is serialized.
521
522         * check/elements/identity.c (event_func): 
523         * check/elements/fakesrc.c (event_func): No stream lock, the core
524         takes it.
525
526         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
527         stream lock taking, yay.
528
529         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
530         ensure that core takes the stream lock.
531
532         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
533         lock name change.
534
535         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
536         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
537         it already. For the flush start we do take it though so we get the
538         right preroll state change messages.
539
540         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
541         the stream lock here, the core does it for us.
542
543         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
544         GST_STREAM_GET_LOCK.
545         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
546         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
547         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
548         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
549         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
550         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
551
552         * gst/gstpad.c: Update for stream lock name change.
553
554         * gst/base/gstbasesink.c: Update for preroll lock name change.
555
556 2005-11-21  Wim Taymans  <wim@fluendo.com>
557
558         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
559         (gst_clock_get_master):
560         * gst/gstclock.h:
561         * gst/gstsystemclock.c: (gst_system_clock_init):
562         Convert Clock flags to object flags.
563         Added methods to manage master/slave clocks.
564
565 2005-11-21  Wim Taymans  <wim@fluendo.com>
566
567         * check/gst/gstsegment.c: (GST_START_TEST):
568         * docs/design/part-TODO.txt:
569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
570         (gst_base_sink_event), (gst_base_sink_do_sync),
571         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
572         (gst_base_sink_query), (gst_base_sink_change_state):
573         * gst/base/gstbasesink.h:
574         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
575         (gst_base_src_default_newsegment),
576         (gst_base_src_configure_segment), (gst_base_src_do_seek),
577         (gst_base_src_get_range), (gst_base_src_loop),
578         (gst_base_src_change_state):
579         * gst/base/gstbasesrc.h:
580         * gst/base/gstbasetransform.c:
581         (gst_base_transform_prepare_output_buf),
582         (gst_base_transform_event), (gst_base_transform_change_state):
583         * gst/base/gstbasetransform.h:
584         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
585         (gst_collect_pads_event):
586         * gst/base/gstcollectpads.h:
587         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
588         (gst_fake_src_create):
589         * gst/elements/gstfakesrc.h:
590         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
591         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
592         (gst_segment_set_last_stop), (gst_segment_set_seek),
593         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
594         (gst_segment_to_running_time), (gst_segment_clip):
595         * gst/gstsegment.h:
596         More segment updates, replace code in plugins with segment
597         helper functions.
598
599 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
600
601         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
602         Don't ignore sscanf results
603
604 2005-11-21  Andy Wingo  <wingo@pobox.com>
605
606         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
607
608         * *.h:
609         * *.c: Ran scripts/update-macros. Oh yes.
610
611         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
612         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
613         GST_GET_LOCK, etc.
614
615         * scripts/update-macros: New script. Run it on your files to
616         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
617         well.
618
619 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
620
621         * docs/gst/Makefile.am:
622         * docs/gst/gstreamer-docs.sgml:
623         * docs/gst/gstreamer-sections.txt:
624         * docs/gst/gstreamer.types:
625         * gst/gstinfo.h:
626           more docs fixes, add new api to the docs
627
628 2005-11-21  Andy Wingo  <wingo@pobox.com>
629
630         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
631         state_broadcast call.
632
633         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
634
635 2005-11-21  Julien MOUTTE  <julien@moutte.net>
636
637         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
638         function calls for arrays.
639
640 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
641
642         * docs/random/ensonic/media-device-daemon.txt:
643           wild idea, can this be done?
644         * docs/gst/gstreamer-sections.txt:
645         * gst/gsterror.h:
646         * gst/gstfilter.c:
647         * gst/gstfilter.h:
648         * gst/gstplugin.h:
649         * gst/gstpluginfeature.c:
650         * gst/gsttrace.c:
651         * gst/gstvalue.c:
652         * gst/gstvalue.h:
653           doc fixes and additions
654
655 2005-11-21  Andy Wingo  <wingo@pobox.com>
656
657         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
658         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
659         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
660         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
661         private to the basesrc implementation.
662
663         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
664         behalf of event function if necessary. It should no longer be
665         necessary to take the stream lock in pad's event functions. Fixes
666         #320299.
667
668 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
669         * docs/gst/gstreamer-sections.txt:
670         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
671         (gst_structure_fixate_field_nearest_double),
672         (gst_structure_fixate_field_boolean):
673         * gst/gststructure.h:
674         * win32/common/libgstreamer.def:
675         * win32/gstreamer.def:
676
677         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
678         (#322027)
679
680 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
681
682         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
683         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
684         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
685         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
686         (gst_fdsrc_uri_handler_init):
687         * gst/elements/gstfdsrc.h:
688           Port fd:// URI handler from 0.8 to fdsrc
689
690 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
691
692         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
693         (gst_value_serialize_fourcc):
694         * gst/gstvalue.h:
695           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
696           consistent with our other format defines (#320324).
697
698 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
699
700         * gst/gstvalue.c: (gst_value_is_fixed):
701           Revert previous commit. Value lists are by definition
702           not fixed, as they are a list of possible values.
703
704 2005-11-21  Andy Wingo  <wingo@pobox.com>
705
706         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
707         during the stable series if we need it. Fixes #319178.
708
709         * gst/gstevent.c (gst_event_new_filler): Removed.
710
711         * check/gst/gstevent.c: Update comment about filler events.
712
713 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
714
715         * gst/gstvalue.c: (gst_value_is_fixed):
716           Should handle both value arrays and value lists.
717
718 2005-11-21  Andy Wingo  <wingo@pobox.com>
719
720         patch by: Alessandro Dessina <alessandro nnva org>
721
722         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
723         functions to access arrays. Fixes #321962.
724
725 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
726
727         * docs/gst/gstreamer.types:
728           gst_collectpads_get_type => gst_collect_pads_get_type.
729           
730         * gst/base/gstbasetransform.c:
731           Remove unused SIGNAL_HANDOFF enum.
732
733 2005-11-21  Andy Wingo  <wingo@pobox.com>
734
735         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
736         the event type (upstream, downstream, serialized). Renamed
737         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
738         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
739         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
740
741         * gst/gstevent.c: Update for new CUSTOM event names.
742
743         * check/gst/gstevent.c: Update check for new CUSTOM event names.
744
745         * gst/gstevent.h:
746         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
747         bug #319392.
748
749 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
750
751         * docs/gst/gstreamer-sections.txt:
752         * win32/common/libgstbase.def:
753         * win32/libgstbase.def:
754         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
755         (gst_collect_pads_class_init), (gst_collect_pads_init),
756         (gst_collect_pads_finalize), (gst_collect_pads_new),
757         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
758         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
759         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
760         (gst_collect_pads_start), (gst_collect_pads_stop),
761         (gst_collect_pads_peek), (gst_collect_pads_pop),
762         (gst_collect_pads_available), (gst_collect_pads_read),
763         (gst_collect_pads_flush), (gst_collect_pads_event),
764         (gst_collect_pads_chain):
765         * gst/base/gstcollectpads.h:
766           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
767           unimplemented functions as unimplemented. Add padding to
768           GstCollectData. (#320766, #320423)
769
770 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
771
772         * gst/gstmessage.c:
773           Improve docs for DURATION message (usage of duration parameter)
774           (#320113)
775
776 2005-11-20  Wim Taymans  <wim@fluendo.com>
777
778         * check/Makefile.am:
779         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
780         (main):
781         * gst/Makefile.am:
782         * gst/gst.h:
783         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
784         (gst_segment_set_seek), (gst_segment_set_newsegment),
785         (gst_segment_to_stream_time), (gst_segment_to_running_time),
786         (gst_segment_clip):
787         * gst/gstsegment.h:
788         Added segment helper structure and methods. Not fully implemented
789         yet.
790         Added segment check.
791
792 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
793
794         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
795           Add a deserialisation test for fractions
796         * examples/metadata/read-metadata.c: (message_loop),
797         (make_pipeline), (main):
798           Fix up metadata reading sample.
799         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
800           Debug format fix
801         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
802           Don't try and fixate empty caps
803         * gst/gst_private.h:
804           Wrap in G_BEGIN_DECLS/G_END_DECLS
805         * gst/gstvalue.c: (gst_value_collect_fraction),
806         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
807         (gst_value_transform_string_fraction),
808         (gst_value_compare_fraction):
809           Add some extra guards to ensure that we don't end up 
810           with an invalid denominator of 0 in a gstfraction and
811           that fractions always get reduced.
812
813 2005-11-20  Wim Taymans  <wim@fluendo.com>
814
815         * docs/gst/gstreamer-sections.txt:
816         * gst/gstbuffer.h:
817         * gst/gstelement.c:
818         * gst/gstformat.c:
819         * gst/gstformat.h:
820         * gst/gstindex.h:
821         * gst/gstquery.c:
822         * gst/gstquery.h:
823         * gst/gstvalue.c:
824         Doc fixes.
825
826 2005-11-20  Wim Taymans  <wim@fluendo.com>
827
828         * docs/design/part-TODO.txt:
829         * gst/gstcaps.h:
830         Make a proper enum of the flag.
831
832 2005-11-19  Wim Taymans  <wim@fluendo.com>
833
834         * docs/design/part-TODO.txt:
835         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
836         (gst_format_to_quark), (gst_format_register):
837         * gst/gstformat.h:
838         * gst/gstquery.c: (_gst_query_initialize),
839         (gst_query_type_get_name), (gst_query_type_to_quark),
840         (gst_query_type_register):
841         * gst/gstquery.h:
842         Add type to quark and type to string conversions.
843
844 2005-11-19  Andy Wingo  <wingo@pobox.com>
845
846         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
847         #320097.
848
849 2005-11-19  Wim Taymans  <wim@fluendo.com>
850
851         * docs/design/part-TODO.txt:
852         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
853         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
854         (gst_bin_handle_message_func):
855         * gst/gstbin.h:
856         Make message handling overridable.
857
858 2005-11-19  Andy Wingo  <wingo@pobox.com>
859
860         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
861
862         * gst/gstclock.h:
863         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
864         be a GstClockTime.
865         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
866         is a GstClockTime. Fixes #321710.
867
868         * gst/gstclock.h (GstClock): Remove offset property. Add
869         internal_calibration and external_calibration. Fix padding. Pad
870         also by GstClockTime so we don't run into problems.
871
872         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
873         (gst_clock_get_rate_offset): Remove.
874         (gst_clock_set_time_adjust): Remove. Fixes #321712.
875
876         * gst/gstutils.h:
877         * gst/gstutils.c (g_static_rec_cond_wait)
878         (g_static_rec_cond_timed_wait): Removed, no longer needed.
879
880         * gst/gstbin.c: Remove terrible continue_state prototype.
881
882         * gst/gstelement.h (gst_element_continue_state): Make public.
883
884         * gst/gstelement.h:
885         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
886         by continue_state. Fixes #319389.
887
888         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
889         Really fixes #168438. However I don't see anywhere where the
890         filter function is called... stupid GStreamer...
891         
892         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
893         don't have a dispose function, so it won't get called when the
894         object is unreffed, but oh well!
895
896         * gst/gstindex.c (gst_index_set_filter_full): New API function,
897         allows a destroy function to be set so user_data can be freed.
898         Fixes #168438.
899         (gst_index_set_filter): Call gst_index_set_filter_full.
900
901         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
902
903         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
904         string should produce an error, given the lack of a way to
905         represent NULL strings. Fixes #165650.
906         
907         * gst/gstvalue.h: 
908         * gst/gstvalue.c (gst_value_array_append_value) 
909         (gst_value_array_prepend_value, gst_value_array_get_size) 
910         (gst_value_array_get_value): New API, copied from
911         gst_value_list_*, only operates on arrays.
912         (gst_value_list_append_value, gst_value_list_prepend_value) 
913         (gst_value_list_concat, gst_value_list_get_size) 
914         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
915
916         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
917         init_list, because it works on both.
918         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
919         (gst_value_copy_list_or_array): Renamed from copy_list.
920         (gst_value_free_list_or_array): Renamed from free_list.
921         (gst_value_collect_list_or_array): Renamed from collect_list.
922         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
923         (gst_value_list_or_array_peek_pointer): Renamed from
924         list_peek_pointer.
925         (_gst_value_array_value_table, _gst_value_list_value_table):
926         Update value table functions.
927         (gst_value_compare_list_or_array): Renamed from compare_list.
928
929         * gsttaglist.h: Whoops, foreach function returns void. Also fix
930         some constness.
931
932         * gst/gsttaglist.c:
933         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
934         GstTagList*. Fixes #143472.
935
936         * gst/gststructure.h: Clarify what the foreach/map functions can
937         or can't do to their arguments.
938
939 2005-11-18  Wim Taymans  <wim@fluendo.com>
940
941         * gst/gstclock.c: (gst_clock_set_calibration),
942         (gst_clock_get_calibration):
943         Doc and API fixes.
944         Calibration can be set with internal time equal to current
945         internal time too.
946
947 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
948
949         * gst/gsterror.c:
950         * gst/gsterror.h:
951           document
952
953 2005-11-18  Andy Wingo  <wingo@pobox.com>
954
955         * configure.ac: 
956         * pkgconfig/gstreamer-net.pc.in:
957         * pkgconfig/gstreamer-net-uninstalled.pc.in:
958         * pkgconfig/Makefile.am: Add net pkgconfig files.
959
960 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
961
962         * gst/gstcaps.c:
963         * gst/gstghostpad.c:
964         * gst/gsttrace.c:
965         * gst/gstvalue.c:
966         * gst/gstvalue.h:
967           docs fixes
968
969 2005-11-18  Andy Wingo  <wingo@pobox.com>
970
971         * gst/net/gstnetclientclock.c: Turn off debugging.
972
973         * check/net/gstnetclientclock.c (test_functioning): Assert that the
974         times connverge somewhat. Can't make a real test.
975
976         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
977         integer arithmetic. Return the minimum of the domain, which can be
978         set as "internal" for gst_clock_set_calibration.
979         (gst_net_client_clock_observe_times): Call _set_calibration.
980         (gst_net_client_clock_new): Call _set_calibration instead of
981         rate_offset.
982
983         * check/net/gstnetclientclock.c (test_functioning): Use the right
984         adjustment api.
985
986         * gst/gstclock.h:
987         * gst/gstclock.c (gst_clock_get_calibration) 
988         (gst_clock_set_calibration): New functions, obsolete the ones I
989         added yesterday. Doh. Precision issues mean we have to extrapolate
990         from a point in the more recent past than 1970.
991         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
992         obsolete.
993         (gst_clock_adjust_unlocked): Use the right calibration data.
994
995 2005-11-18  Edward Hervey  <edward@fluendo.com>
996
997         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
998         Also reset the ->current_* values in READY->PAUSED
999
1000 2005-11-18  Andy Wingo  <wingo@pobox.com>
1001
1002         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1003         Whoops, check the right fd. Also add some debugging.
1004         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1005         (do_linear_regression): Add a crapload of debugging. Subtract off
1006         the minimum values from the input series to discard unneeded bits.
1007         Use only int arithmetic. There is still double arithmetic when
1008         calculating the intercept that needs fixing. Return boolean to
1009         indicate success; FALSE would mean the domain or range is too
1010         great. Still needs fixes.
1011
1012 2005-11-18  Wim Taymans  <wim@fluendo.com>
1013
1014         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1015         For the current position in stream time, we need to subtract
1016         accumulated time.
1017         
1018         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1019         Release lock before calling the callback function of async
1020         entries.
1021
1022 2005-11-18  Andy Wingo  <wingo@pobox.com>
1023
1024         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1025         Port goes all the way to MAXUINT16.
1026
1027         * gst/net/gstnettimeprovider.c: Make the port range the same as
1028         for the kernel: 0 assigns, otherwise ports are less than
1029         MAXUINT16.
1030
1031         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1032         port change.
1033
1034         * check/net/gstnetclientclock.c (test_functioning): Add the start
1035         of another test. 
1036
1037 2005-11-18  Wim Taymans  <wim@fluendo.com>
1038
1039         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1040         (gst_bin_remove_func), (bin_bus_handler):
1041         * gst/gstbin.h:
1042         Removing a clock provider from a bin, triggers a clock lost message
1043         so that a new clock will be selected.
1044         Adding a clock to a bin triggers a clock provider message.
1045         Make sure we reselect a clock when we received a clock lost message.
1046         Keep a reference to the element that provided the clock.
1047
1048 2005-11-18  Andy Wingo  <wingo@pobox.com>
1049
1050         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1051         the clock initially so it produces values around the base time.
1052         (gst_net_client_clock_class_init): Typo fix.
1053         (gst_net_client_clock_thread): Add note on when the socket gets
1054         closed.
1055
1056 2005-11-17  Wim Taymans  <wim@fluendo.com>
1057
1058         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1059         Free remote and local time arrays.
1060
1061 2005-11-17  Wim Taymans  <wim@fluendo.com>
1062
1063         * gst/net/gstnetclientclock.c: (do_linear_regression),
1064         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1065         Fix compilation, uninitialized vars and a forgotten continue.
1066
1067 2005-11-17  Andy Wingo  <wingo@pobox.com>
1068
1069         * check/Makefile.am (check_PROGRAMS): 
1070         * check/net/gstnetclientclock.c: Add a most minimal test for the
1071         net client clock. More to come later.
1072
1073         * gst/net/gstnet.h: 
1074         * gst/net/Makefile.am: Add netclientclock.
1075
1076         * gst/net/gstnetclientclock.h:
1077         * gst/net/gstnetclientclock.c: New files, implement an untested
1078         GstClock that takes its time from a network time provider.
1079         Implements the algorithm in network-clock.scm.
1080
1081         * tests/network-clock.scm (*window-size*): Rename from
1082         *queue-length*.
1083         * tests/network-clock.scm (network-time): 
1084         * tests/network-clock-utils.scm (q-push): Update callers.
1085
1086 2005-11-17  Wim Taymans  <wim@fluendo.com>
1087
1088         * gst/gstbin.c: (gst_bin_provide_clock_func),
1089         (gst_bin_sort_iterator_new):
1090         And unref the child too..
1091
1092 2005-11-17  Wim Taymans  <wim@fluendo.com>
1093
1094         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1095         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1096         Refactor the sort iterator so it can be used while holding the
1097         LOCK too.
1098         Make clock selection select a clock closest to the source.
1099
1100 2005-11-17  Michael Smith <msmith@fluendo.com>
1101
1102         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1103         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1104         * gst/gstclock.h:
1105           Anonymous structs are a gcc (and some other compilers) extension, so
1106           don't use them. Since this is only for ABI-compatibility, and our
1107           API/ABI freeze is over in a few days, this whole thing will only
1108           last a few days, so don't bother trying to think up a meaningful
1109           name for the struct.
1110
1111 2005-11-17  Andy Wingo  <wingo@pobox.com>
1112
1113         * gst/gstclock.h (GstClock): Add rate and offset properties,
1114         preserving ABI stability. Add rate/offset accessors. Will file bug
1115         for the freeze break.
1116
1117         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1118         and offset, trying to keep precision and avoiding
1119         underflow/overflow.
1120         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1121         functions. Make gst_clock_set_time_adjust obsolete.
1122         (gst_clock_set_time_adjust): Note that this function is obsolete.
1123         Will file bug soon.
1124
1125         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1126         greppable by using GST_PADDING-1+1.
1127
1128 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1129
1130         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1131
1132         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1133           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1134
1135         * gst/gstpadtemplate.h:
1136         * gst/gstpluginfeature.h:
1137           Don't use c++ style comments in headers (#321638).
1138
1139 2005-11-16  Andy Wingo  <wingo@pobox.com>
1140
1141         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1142         buffer.
1143
1144         * check/net/gstnettimeprovider.c: Check to see that the time
1145         provider actually provides times. Works, yo!
1146
1147 2005-11-16  Wim Taymans  <wim@fluendo.com>
1148
1149         * check/Makefile.am:
1150         Enable more tests.
1151
1152         * check/elements/fakesrc.c: (GST_START_TEST):
1153         Set element to NULL before disposing it.
1154
1155 2005-11-16  Andy Wingo  <wingo@pobox.com>
1156
1157         * gst/net/Makefile.am:
1158         * gst/net/gstnet.h:
1159         * gst/net/gstnettimeprovider.c: 
1160         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1161         provider, include it from gstnet.h, and add it to the build.
1162
1163         * gst/net/gstnettimepacket.h: 
1164         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1165         sending and receiving.
1166
1167 2005-11-16  Wim Taymans  <wim@fluendo.com>
1168
1169         * check/Makefile.am:
1170         Enable valgrind check.
1171
1172         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1173         (gst_fake_src_alloc_buffer):
1174         Fix memleak.
1175
1176 2005-11-16  Wim Taymans  <wim@fluendo.com>
1177
1178         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1179         Call parent finalize too.
1180
1181 2005-11-16  Wim Taymans  <wim@fluendo.com>
1182
1183         * check/Makefile.am:
1184         Enable valgrind check that should work fine now.
1185
1186         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1187         * gst/gstqueue.c: (gst_queue_init):
1188         Fix memleaks in pad allocation.
1189
1190 2005-11-16  Andy Wingo  <wingo@pobox.com>
1191
1192         * gst/net/Makefile.am:
1193         * gst/net/gstnet.h: New part of core to hold network elements and
1194         objects. Put in core because it exposes API that applications want
1195         to use. The library is named libgstnet-tempname right now because
1196         of the existing libgstnet in gst-plugins-base. Solution is
1197         probably to rename the one in plugins-base; will file a bug for
1198         the freeze break.
1199
1200         * gst/net/gstnettimeprovider.c: 
1201         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1202         get_time call over the network.
1203
1204         * configure.ac: 
1205         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1206
1207         * check/Makefile.am:
1208         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1209         get additions shortly.
1210
1211 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1212
1213         * gst/gstpad.c: (gst_pad_new_from_static_template):
1214         * gst/gstpad.h:
1215           add gst_pad_new_from_static_template functions
1216         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1217         (gst_check_setup_sink_pad):
1218         * gst/elements/gsttee.c: (gst_tee_init):
1219           and use them
1220
1221 2005-11-16  Wim Taymans  <wim@fluendo.com>
1222
1223         * gst/gstpad.c: (gst_pad_pause_task):
1224         Removed warning, it's not really an error either.
1225
1226 2005-11-16  Wim Taymans  <wim@fluendo.com>
1227
1228         * gst/base/gstbasetransform.c:
1229         (gst_base_transform_prepare_output_buf),
1230         (gst_base_transform_event):
1231         Check if the caps are NULL, this can happen if the element
1232         is shutting down and the pad caps are set to NULL.
1233
1234 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1235
1236         * gst/elements/gsttee.c: (gst_tee_init):
1237           fix pad template leak in tee
1238
1239 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1240
1241         * gst/glib-compat.c: (g_value_dup_gst_object):
1242         * gst/glib-compat.h:
1243         * gst/gstpad.c: (gst_pad_set_property):
1244           use gst_object_ref when setting the pad template; this will
1245           trigger the pad template leaks on GLib 2.6 and the slaves
1246
1247 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1248
1249         * gst/glib-compat.c: (gst_flags_get_first_value):
1250         * gst/glib-compat.h:
1251         * gst/gstregistryxml.c:
1252           remove functions copied from GLib 2.6
1253
1254 2005-11-16  Michael Smith <msmith@fluendo.com>
1255
1256         * gst/Makefile.am:
1257           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1258           do, but only breaks with newer valgrind versions. We're not a
1259           valgrind tool, we have no link-time dependencies on libcoregrind.
1260
1261 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1262
1263         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1264           some debug changes
1265         * gst/gstmessage.h:
1266           typo fixes
1267
1268 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1269
1270         * gst/base/gstbasesrc.c: (gst_base_src_init):
1271         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1272         * gst/gstqueue.c: (gst_queue_init):
1273         * gst/gstregistryxml.c: (load_feature):
1274           Revert all these unrefs, they don't even pass make check !
1275
1276 2005-11-15  Johan Dahlin  <johan@gnome.org>
1277
1278         * gst/base/gstbasesrc.c: (gst_base_src_init):
1279         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1280         * gst/gstqueue.c: (gst_queue_init): 
1281         Free pad templates, fixes a couple of leaks.
1282
1283 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1284
1285         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1286
1287         * gst/gstpad.c: (gst_pad_get_property):
1288           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1289           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1290           (#321452)
1291
1292 2005-11-15  Wim Taymans  <wim@fluendo.com>
1293
1294         * gst/gstevent.c:
1295         Small doc update.
1296
1297 2005-11-15  Andy Wingo  <wingo@pobox.com>
1298
1299         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1300
1301         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1302         using GST_CLOCK_TIME_NONE to disable base time management.
1303         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1304         time if it was NONE before.
1305         (gst_pipeline_change_state): Only munge the base time if
1306         stream_time != GST_CLOCK_TIME_NONE.
1307
1308         * check/gst/gstpipeline.c (test_base_time): Punt around the
1309         problem of the probe not being called, because that's not the
1310         issue I'm looking at. Add a check that setting stream_time to NONE
1311         disables base time management.
1312         
1313 2005-11-15  Wim Taymans  <wim@fluendo.com>
1314
1315         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1316         segment_stop == -1 at startup.
1317
1318         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1319         (gst_base_transform_change_state):
1320         Init segment values at start.
1321
1322 2005-11-15  Wim Taymans  <wim@fluendo.com>
1323
1324         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1325         0 segment values are 0 in any format.
1326
1327         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1328         * gst/base/gstbasetransform.h:
1329         Parse newsegment correctly in basetransform
1330
1331         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1332         Sync to clock using updated segment values.
1333
1334 2005-11-15  Andy Wingo  <wingo@pobox.com>
1335
1336         * check/gst/gstpipeline.c (test_base_time): Add check that the
1337         base time and stream time are reset correctly.
1338
1339 2005-11-15  Wim Taymans  <wim@fluendo.com>
1340
1341         * docs/design/part-TODO.txt:
1342         Some more TODO items.
1343
1344 2005-11-15  Andy Wingo  <wingo@pobox.com>
1345
1346         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1347         error if the user selected "no clock" as the clocking method.
1348
1349         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1350         timestamps with live capture.
1351
1352         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1353         is 0 but we are a live source, timestamp the buffers using the
1354         element's clock.
1355
1356 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1357
1358         * docs/gst/gstreamer-sections.txt:
1359         * gst/gsterror.c:
1360         * gst/gstghostpad.c:
1361         * gst/gstobject.h:
1362         * gst/gstxml.c:
1363           more section docs
1364
1365 2005-11-14  Wim Taymans  <wim@fluendo.com>
1366
1367         * common/gst.supp:
1368           add suppressions from Wim's Debian machine
1369
1370 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1371
1372         * common/gst.supp:
1373           add suppressions from Andy's AMD64 Ubuntu machine
1374
1375 2005-11-14  Andy Wingo  <wingo@pobox.com>
1376
1377         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1378         STATE_LOCK not necessary. Fixes #311489.
1379
1380         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1381         #305291.
1382
1383         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1384         this function is not implemented.
1385
1386 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1387
1388         * gst/base/gstbasetransform.c:
1389         (gst_base_transform_prepare_output_buf):
1390         Ref the source pad caps while we need them.
1391         Fixes (#321386)
1392
1393 2005-11-11  Wim Taymans  <wim@fluendo.com>
1394
1395         * docs/gst/gstreamer-sections.txt:
1396         Added some docs for GstCollectData.
1397
1398         * gst/base/gstadapter.c:
1399         Some small code example fix.
1400
1401         * gst/base/gstcollectpads.c:
1402         * gst/base/gstcollectpads.h:
1403         Document some more.
1404
1405 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1406
1407         * configure.ac: back to HEAD
1408
1409 === release 0.9.5 ===
1410
1411 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1412
1413         * configure.ac:
1414           releasing 0.9.5, "Bike Lunch Day"
1415
1416 2005-11-11  Wim Taymans  <wim@fluendo.com>
1417
1418         * gst/gstbuffer.c: (_gst_buffer_copy):
1419         Copy more flags.
1420
1421         * gst/gstcaps.c: (gst_caps_is_equal):
1422         Fix some docs.
1423         Make _is_equal fast in the trivial cases.
1424
1425         * gst/gstminiobject.c:
1426         * gst/gstminiobject.h:
1427         More docs. Spifify .h file.
1428
1429         * gst/gstutils.c:
1430         Small doc update.
1431
1432 2005-11-11  Wim Taymans  <wim@fluendo.com>
1433
1434         * gst/base/gstbasetransform.c:
1435         (gst_base_transform_prepare_output_buf),
1436         (gst_base_transform_handle_buffer):
1437         Small cleanups.
1438         If we're processing a buffer and need to allocate an output
1439         buffer, we cannot accept a format change. If we did get a 
1440         format change, we have to alloc a buffer ourselves of the 
1441         right size.
1442
1443 2005-11-11  Wim Taymans  <wim@fluendo.com>
1444
1445         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1446         While checking the flag for reentrancy in the gstcaps function
1447         is nice to detect recursive invocations, it also makes it 
1448         impossible to call getcaps from multiple threads, which must be
1449         possible. So, checking for recursive calls has to go.
1450
1451 2005-11-11  Michael Smith <msmith@fluendo.com>
1452
1453         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1454           Don't sync on buffers that fall partially outside our current
1455           segment. Prevents an assertion failure/abort playing some files.
1456
1457 2005-11-10  Andy Wingo  <wingo@pobox.com>
1458
1459         * check/gst/gstbin.c (test_message_state_changed_children): Style
1460         fix..
1461
1462         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1463         gst_bus_poll with the signal watch. Ensures that poll and a signal
1464         watch see the same messages.
1465
1466         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1467         a poll and a watch at the same time get the same messages.
1468
1469 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1470
1471         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1472         * gst/gstcaps.c: (gst_caps_intersect):
1473           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1474           and it's not needed.
1475
1476 2005-11-10  Wim Taymans  <wim@fluendo.com>
1477
1478         * docs/design/part-TODO.txt:
1479         Updated todo.
1480
1481 2005-11-10  Wim Taymans  <wim@fluendo.com>
1482
1483         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1484         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1485         (gst_base_src_do_sync), (gst_base_src_get_range):
1486         Implement clock sync in base class.
1487
1488 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1489
1490         patch by: Tim-Philipp Müller <tim at centricular dot net>
1491
1492         * gst/gststructure.c: (gst_structure_parse_field),
1493         (gst_structure_from_string):
1494           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1495           so that gst_parse_launch() can deal with spaces in filtered link
1496           caps (fixes #164479)
1497         * check/gst/capslist.h:
1498         * check/gst/gststructure.c: (GST_START_TEST):
1499           add unit tests for this change
1500
1501 2005-11-10  Wim Taymans  <wim@fluendo.com>
1502
1503         * docs/gst/gstreamer-sections.txt:
1504         * gst/gstelement.c:
1505         * gst/gstelement.h:
1506         Fix docs, move some STATE macros to private.
1507
1508 2005-11-10  Wim Taymans  <wim@fluendo.com>
1509
1510         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1511         Added check for bug #317341
1512
1513         * gst/gstbuffer.c:
1514         * gst/gstbuffer.h:
1515         Some more spiffifying.
1516
1517         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1518         Call peer linkfunction if we are a source pad. Totally fixes
1519         #317341
1520
1521         * gst/gstpad.c:
1522         Update docs, source pads should call the peer linkfunction
1523         so they can atomically perform the pad link.
1524
1525 2005-11-09  Wim Taymans  <wim@fluendo.com>
1526
1527         * gst/gstbuffer.c:
1528         * gst/gstbuffer.h:
1529         Uber-spiffy-spiffify some more.
1530
1531 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1532
1533         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1534         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1535         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1536         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1537         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1538         * gst/gstpad.c: (gst_pad_init):
1539           Use GST_DEBUG_FUNCPTR() more extensively.
1540
1541 2005-11-09  Wim Taymans  <wim@fluendo.com>
1542
1543         * gst/gstobject.c: (gst_object_class_init):
1544         * gst/gstobject.h:
1545         Documentation fixes.
1546
1547 2005-11-09  Edward Hervey  <edward@fluendo.com>
1548
1549         * gst/gsttypefindfactory.c:
1550         Fix docs.
1551         
1552 2005-11-09  Edward Hervey  <edward@fluendo.com>
1553
1554         * gst/base/gsttypefindhelper.c:
1555         * gst/gsttypefind.c:
1556         * gst/gsttypefind.h:
1557         Fix docs.
1558
1559 2005-11-09  Wim Taymans  <wim@fluendo.com>
1560
1561         * gst/gstiterator.c:
1562         Fix revision data.
1563
1564         * gst/gsttask.c:
1565         * gst/gsttask.h:
1566         Fix docs.
1567
1568 2005-11-09  Wim Taymans  <wim@fluendo.com>
1569
1570         * gst/gstevent.h:
1571         * gst/gsturi.h:
1572         Fix docs.
1573
1574 2005-11-09  Wim Taymans  <wim@fluendo.com>
1575
1576         * docs/gst/gstreamer-sections.txt:
1577         Moved the message async delivery private lock and cond
1578         to the private section.
1579
1580         * gst/gstmessage.c:
1581         * gst/gstmessage.h:
1582         Fixed docs.
1583
1584 2005-11-09  Edward Hervey  <edward@fluendo.com>
1585
1586         * docs/gst/gstreamer-sections.txt:
1587         * gst/gsturi.c:
1588         * gst/gsturi.h:
1589         Document GstURIHandler
1590
1591 2005-11-09  Wim Taymans  <wim@fluendo.com>
1592
1593         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1594         (gst_iterator_find_custom):
1595         * gst/gstiterator.h:
1596         Fix iterator docs.
1597
1598 2005-11-09  Wim Taymans  <wim@fluendo.com>
1599
1600         * gst/gstbin.h:
1601         Document another field.
1602
1603         * gst/gststructure.c:
1604         * gst/gststructure.h:
1605         Document.
1606
1607 2005-11-09  Wim Taymans  <wim@fluendo.com>
1608
1609         * gst/gstbin.h:
1610         Documented structs.
1611
1612 2005-11-09  Wim Taymans  <wim@fluendo.com>
1613
1614         * docs/gst/gstreamer-sections.txt:
1615         Added some new macros.
1616
1617         * gst/gstclock.c:
1618         * gst/gstclock.h:
1619         * gst/gstobject.h:
1620         Docs updates.
1621
1622 2005-11-09  Wim Taymans  <wim@fluendo.com>
1623
1624         * docs/design/part-TODO.txt:
1625         Some more items for the TODO
1626
1627         * gst/gstcaps.c:
1628         * gst/gstcaps.h:
1629         Document GstCaps.
1630
1631 2005-11-09  Andy Wingo  <wingo@pobox.com>
1632
1633         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1634         to work on something else now tho...
1635
1636         * gst/base/gstadapter.c: More adapter docs.
1637
1638         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1639         (gst_file_sink_stop): New functions, replace the state change
1640         handler.
1641         (gst_file_sink_class_init): Hook up the start and stop functions.
1642         (gst_file_sink_base_init): Don't set the state change handler any
1643         more. It was a bit ugly too, being set from here...
1644         (gst_file_sink_get_property, gst_file_sink_set_property):
1645         Cleanups...
1646         (gst_file_sink_set_location): More robust check that doesn't call
1647         GST_STATE. Ugggggg.
1648
1649 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1650
1651         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1652           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1653
1654 2005-11-08  Wim Taymans  <wim@fluendo.com>
1655
1656         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1657         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1658         (gst_base_sink_chain), (gst_base_sink_change_state):
1659         * gst/base/gstbasesink.h:
1660         * gst/base/gstbasesrc.h:
1661         * gst/gstelement.h:
1662         * gst/gstevent.h:
1663         Avoid excessive typechecking in macros.
1664
1665         * gst/gstminiobject.c: (gst_mini_object_get_type),
1666         (gst_mini_object_init), (gst_mini_object_new),
1667         (gst_mini_object_free):
1668         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1669         (gst_object_finalize):
1670         Remove cruft code, optimize alloc_trace.
1671
1672 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1673
1674         * docs/faq/gst-uninstalled:
1675           fix up PS1 for systems that try to reset it
1676
1677 2005-11-07  Wim Taymans  <wim@fluendo.com>
1678
1679         * gst/base/gstbasesrc.c: (gst_base_src_init),
1680         (gst_base_src_get_range):
1681         Set the segment_end to -1 initially. Fixed typefind.
1682
1683 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1684
1685         * gst/base/gstadapter.c:
1686           Debug category should be 'adapter', not 'GstAdapter'.
1687           
1688         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1689         (gst_collectpads_class_init), (gst_collectpads_init),
1690         (gst_collectpads_peek), (gst_collectpads_pop),
1691         (gst_collectpads_event), (gst_collectpads_chain):
1692           Add debug category and some debugging output. Use boilerplate
1693           macros. Remove some extraneous words from docs.
1694
1695 2005-11-05  Andy Wingo  <wingo@pobox.com>
1696
1697         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1698         macro.
1699
1700 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1701
1702         * docs/gst/gstreamer-sections.txt:
1703         * gst/gstcaps.h:
1704         * gst/gstinfo.c:
1705         * gst/gstminiobject.h:
1706         * gst/gstobject.h:
1707         * gst/gstutils.h:
1708           more docs added
1709
1710 2005-11-04  Wim Taymans  <wim@fluendo.com>
1711
1712         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1713         Small update to stop at the configured segment_end
1714         position.
1715
1716 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1717
1718         * gst/gstregistry.c:
1719         * gst/gstregistry.h:
1720           added missing docs
1721
1722 2005-11-04  Edward Hervey  <edward@fluendo.com>
1723
1724         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1725         Check if we are doing a segment seek and have arrived at the
1726         end of that segment.
1727
1728 2005-11-04  Wim Taymans  <wim@fluendo.com>
1729
1730         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1731         Don't leak a mutex unlock in case of an error.
1732
1733         * gst/gstbus.h:
1734         Doc fixes.
1735
1736 2005-11-04  Wim Taymans  <wim@fluendo.com>
1737
1738         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1739         (gst_bus_post):
1740         Get the context to wake up only once.
1741
1742 2005-11-03  Wim Taymans  <wim@fluendo.com>
1743
1744         * check/states/sinks.c: (GST_START_TEST):
1745         Uncomment fixed check.
1746
1747         * docs/design/part-TODO.txt:
1748         Updated TODO.
1749
1750         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1751         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1752         (gst_base_sink_get_position):
1753         If we are going to PLAYING, post the right pending state
1754         when we post the intermediate paused message.
1755
1756         * gst/gstelement.c: (gst_element_continue_state),
1757         (gst_element_set_state_func), (gst_element_change_state):
1758         Don't post state changes that were between the same state
1759         and were not ASYNC.
1760
1761 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1762
1763         * docs/gst/gstreamer-sections.txt:
1764         * gst/gstcaps.h:
1765         * gst/gstinfo.c:
1766         * gst/gstminiobject.h:
1767         * gst/gstobject.h:
1768         * gst/gstutils.h:
1769           more docs and doc style fixes
1770
1771 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1772
1773         * docs/gst/gstreamer-sections.txt:
1774         * gst/gstelement.c:
1775         * gst/gstminiobject.c:
1776         doc fixes
1777
1778 2005-11-03  Andy Wingo  <wingo@pobox.com>
1779
1780         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1781         state-changed messages actually have the right order and the right
1782         values.
1783
1784 2005-11-03  Wim Taymans  <wim@fluendo.com>
1785
1786         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1787         Added some more checks. Specifically the case where NO_PREROLL
1788         elements are in the pipeline.
1789
1790         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1791         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1792         (gst_base_sink_get_position):
1793         Post READY->PAUSED state change messages too.
1794         Fix bug where VOID was posted as pending state...
1795
1796         * gst/gstbin.c: (gst_bin_recalc_state):
1797         use _element_continue_state() to continue the state change.
1798
1799         * gst/gstelement.c: (gst_element_continue_state),
1800         (gst_element_commit_state), (gst_element_set_state_func),
1801         (gst_element_change_state), (gst_element_change_state_func):
1802         Lots of state change cleanups, assign the STATE_RETURN in
1803         a new continue_state() function that also propagates the
1804         last return value from a state change to the app.
1805         Update some debug statements with proper category.
1806
1807 2005-11-03  Wim Taymans  <wim@fluendo.com>
1808
1809         * docs/design/part-events.txt:
1810         * docs/design/part-gstpipeline.txt:
1811         * docs/design/part-messages.txt:
1812         * docs/design/part-overview.txt:
1813         * docs/design/part-seeking.txt:
1814         * docs/design/part-states.txt:
1815         * docs/design/part-trickmodes.txt:
1816         * docs/manual/advanced-position.xml:
1817         Small docs updates.
1818
1819         * gst/gstobject.h:
1820         People think !! is ugly, this looks better.
1821
1822         * gst/gstpad.c: (gst_pad_set_blocked_async):
1823         Remove !! since it's fixed elsewhere now.
1824
1825 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1826
1827         * gst/gstminiobject.h:
1828         * gst/gstobject.h:
1829           Add !! to _FLAG_IS_SET macros to make the result boolean.
1830
1831 2005-11-03  Edward Hervey  <edward@fluendo.com>
1832
1833         * gst/gstpad.c: (gst_pad_set_blocked_async):
1834         comparing a flag and a gboolean rarely returns coherent results...
1835         Added two characters (!!) to make that work correctly.
1836         
1837 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1838
1839         * gst/gstbus.c: (gst_bus_class_init):
1840           Fix some typos.
1841           
1842         * gst/gstqueue.c: (gst_queue_loop):
1843           Don't assume a miniobject that isn't a buffer is an
1844           event (it could be that there is a refcounting
1845           problem somewhere and the pointer is stale and
1846           refers to an already destroyed miniobject).
1847
1848 2005-11-03  Julien MOUTTE  <julien@moutte.net>
1849
1850         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1851
1852 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1853
1854         * docs/manual/advanced-position.xml:
1855           Update seek example and explanations to current 0.9 API.
1856
1857         * gst/elements/gsttypefindelement.c:
1858         (gst_type_find_element_activate):
1859           Remove FIXME comment now that the found caps
1860           are unreffed.
1861
1862 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1863
1864         * gst/gstregistryxml.c: (load_feature):
1865           Add another GST_STR_NULL instance
1866
1867 2005-11-02  Edward Hervey  <edward@fluendo.com>
1868
1869         * gst/gstpad.c: (handle_pad_block):
1870         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
1871         
1872 2005-11-02  Wim Taymans  <wim@fluendo.com>
1873
1874         * gst/gstbin.c:
1875         Fix typo in docs.
1876
1877         * gst/gstelement.c: (gst_element_commit_state):
1878         Remove unused value.
1879
1880         * gst/gstiterator.c:
1881         Mention that the returned element is reffed in the docs.
1882
1883 2005-11-02  Wim Taymans  <wim@fluendo.com>
1884
1885         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
1886         (gst_pad_push), (gst_pad_push_event):
1887         Unlock blocked pads when they are flushed.
1888
1889 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1890
1891         * docs/README:
1892         * docs/gst/gstreamer-sections.txt:
1893         * gst/gstbin.c:
1894           doc updates
1895         * gst/gstregistry.c: (gst_registry_scan_path_level):
1896           fix for a nasty little missed situation where an installed plug-in
1897           which was in the cache did not get overridden by an uninstalled one
1898           which was earlier in the plugin path because the newly created plugin
1899           for the uninstalled one (not in the registry) didn't get its
1900           ->registered set to TRUE
1901
1902 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1903
1904         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
1905         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
1906         (gst_collectpads_is_active), (gst_collectpads_collect),
1907         (gst_collectpads_collect_range), (gst_collectpads_start),
1908         (gst_collectpads_stop), (gst_collectpads_peek),
1909         (gst_collectpads_pop), (gst_collectpads_available),
1910         (gst_collectpads_read), (gst_collectpads_flush):
1911           Guard public API with assertions.
1912         
1913         * gst/gstpad.c:
1914           Fix docs for gst_pad_set_link_function().
1915
1916 2005-11-02  Johan Dahlin  <johan@gnome.org>
1917
1918         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
1919         Unref found_caps after we used it.
1920
1921 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1922
1923         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
1924           Don't try to ref NULL.
1925
1926 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1927
1928         * win32/common/config.h.in:
1929           provide a GST_FUNCTION that just gives a string for now
1930
1931 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1932
1933         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1934         (gst_object_flags_get_type), (register_gst_bin_flags),
1935         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1936         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1937         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1938         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
1939         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1940         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1941         (gst_clock_flags_get_type), (register_gst_state),
1942         (gst_state_get_type), (register_gst_state_change_return),
1943         (gst_state_change_return_get_type), (register_gst_state_change),
1944         (gst_state_change_get_type), (register_gst_element_flags),
1945         (gst_element_flags_get_type), (register_gst_core_error),
1946         (gst_core_error_get_type), (register_gst_library_error),
1947         (gst_library_error_get_type), (register_gst_resource_error),
1948         (gst_resource_error_get_type), (register_gst_stream_error),
1949         (gst_stream_error_get_type), (register_gst_event_type),
1950         (gst_event_type_get_type), (register_gst_seek_type),
1951         (gst_seek_type_get_type), (register_gst_seek_flags),
1952         (gst_seek_flags_get_type), (register_gst_format),
1953         (gst_format_get_type), (register_gst_index_certainty),
1954         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1955         (gst_index_entry_type_get_type),
1956         (register_gst_index_lookup_method),
1957         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1958         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1959         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1960         (gst_index_flags_get_type), (register_gst_debug_level),
1961         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1962         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1963         (gst_iterator_result_get_type), (register_gst_iterator_item),
1964         (gst_iterator_item_get_type), (register_gst_message_type),
1965         (gst_message_type_get_type), (register_gst_mini_object_flags),
1966         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1967         (gst_pad_link_return_get_type), (register_gst_flow_return),
1968         (gst_flow_return_get_type), (register_gst_activate_mode),
1969         (gst_activate_mode_get_type), (register_gst_pad_direction),
1970         (gst_pad_direction_get_type), (register_gst_pad_flags),
1971         (gst_pad_flags_get_type), (register_gst_pad_presence),
1972         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1973         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1974         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1975         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1976         (gst_plugin_flags_get_type), (register_gst_rank),
1977         (gst_rank_get_type), (register_gst_query_type),
1978         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1979         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1980         (gst_tag_flag_get_type), (register_gst_task_state),
1981         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1982         (gst_alloc_trace_flags_get_type),
1983         (register_gst_type_find_probability),
1984         (gst_type_find_probability_get_type), (register_gst_uri_type),
1985         (gst_uri_type_get_type), (register_gst_parse_error),
1986         (gst_parse_error_get_type):
1987         * win32/common/gstversion.h:
1988           update win32 copies
1989
1990 2005-11-01  Luca Ognibene  <luogni@tin.it>
1991
1992         * gst/gst.c:
1993           fix docs. popt is dead, long live GOption.
1994
1995 2005-10-31  Wim Taymans  <wim@fluendo.com>
1996
1997         * gst/gstbuffer.h:
1998         Small doc fix.
1999
2000 2005-10-31  Andy Wingo  <wingo@pobox.com>
2001
2002         * Boo!
2003
2004         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2005
2006         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2007         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2008         the possibility of deadlocks here if code calling notify() or
2009         set() has a lock that can be taken in another notify handler (ABBA
2010         with class lock and e.g. python GIL state lock).
2011
2012 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2013
2014         * gst/gstbus.c: Doc updates.
2015
2016 2005-10-28  Wim Taymans  <wim@fluendo.com>
2017
2018         * docs/design/part-TODO.txt:
2019         * gst/gstiterator.c:
2020         * gst/gstsystemclock.c:
2021         * gst/gstsystemclock.h:
2022         Doc updates.
2023
2024 2005-10-28  Edward Hervey  <edward@fluendo.com>
2025
2026         * docs/gst/gstreamer-docs.sgml:
2027         * docs/gst/gstreamer-sections.txt:
2028         the GstURIType documentation page is private, it only defines GstURIType
2029         which should be defined in the GstURIHandler page
2030         
2031 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2032
2033         * gst/gstbin.c: (gst_bin_class_init):
2034         * gst/gstbin.h:
2035         * gst/gstutils.c:
2036         Documentation updates.
2037
2038 2005-10-28  Wim Taymans  <wim@fluendo.com>
2039
2040         * docs/gst/gstreamer-sections.txt:
2041         * gst/gstclock.c:
2042         * gst/gstclock.h:
2043         Documented the clocks.
2044
2045 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2046
2047         * docs/gst/gstreamer-sections.txt:
2048           move some macros to private sections
2049         * gst/gstminiobject.c:
2050         * gst/gstminiobject.h:
2051           add descriptions provided by ds and some more
2052         * gst/gstpad.h:
2053           mark macro as to be removed
2054
2055 2005-10-28  Wim Taymans  <wim@fluendo.com>
2056
2057         * docs/design/part-TODO.txt:
2058         Add an item to TODO.
2059
2060         * gst/gstiterator.c: (gst_iterator_fold),
2061         (gst_iterator_find_custom):
2062         * gst/gstiterator.h:
2063         Add iterator docs.
2064
2065 2005-10-28  Wim Taymans  <wim@fluendo.com>
2066
2067         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2068         (gst_base_transform_init):
2069         Don't leak class.
2070
2071         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2072         An EOS event marks the queue as completely filled.
2073
2074 2005-10-27  Wim Taymans  <wim@fluendo.com>
2075
2076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2077         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2078         Some more debugging.
2079
2080         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2081         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2082         (gst_base_transform_event), (gst_base_transform_getrange),
2083         (gst_base_transform_chain):
2084         * gst/base/gstbasetransform.h:
2085         Fix debugging,
2086         Protect transform and concurrent buffer alloc with a new lock.
2087         Try not to break ABI/API.
2088
2089 2005-10-27  Wim Taymans  <wim@fluendo.com>
2090
2091         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2092         (gst_base_src_init), (gst_base_src_query),
2093         (gst_base_src_default_newsegment),
2094         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2095         (gst_base_src_send_event), (gst_base_src_event_handler),
2096         (gst_base_src_pad_get_range), (gst_base_src_loop),
2097         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2098         (gst_base_src_start), (gst_base_src_deactivate),
2099         (gst_base_src_activate_push), (gst_base_src_change_state):
2100         Move some stuff around and cleanup things.
2101
2102 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2103
2104         * gst/base/gstbasesrc.c: (gst_base_src_query):
2105           Add missing break statements.
2106
2107 2005-10-27  Wim Taymans  <wim@fluendo.com>
2108
2109         * check/gst/gstbin.c: (GST_START_TEST):
2110         An extra refcount is taken in basesrc.
2111
2112         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2113         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2114         (gst_base_src_loop):
2115         Small cleanups, check for flushing after being unlocked from the 
2116         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2117         Don't send out EOS when going to READY.
2118
2119 2005-10-27  Wim Taymans  <wim@fluendo.com>
2120
2121         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2122         (gst_base_sink_get_position):
2123         Some more debug.
2124
2125         * gst/gstbin.c: (message_check), (bin_replace_message),
2126         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2127         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2128         (bin_query_duration_init), (bin_query_duration_fold),
2129         (bin_query_duration_done), (bin_query_generic_fold),
2130         (gst_bin_query):
2131         * tools/gst-launch.c: (main):
2132         Remove old option.
2133
2134 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2135
2136         * examples/controller/audio-example.c: (main):
2137         * examples/queue/queue.c: (event_loop):
2138         * gst/base/gstbasetransform.h:
2139         * gst/gstelement.c: (gst_element_send_event):
2140         * gst/gstevent.h:
2141         * gst/gstpad.c: (gst_pad_send_event):
2142           fixing examples
2143           fixing docs typos
2144           changing log priority in error situations
2145
2146 2005-10-25  Wim Taymans  <wim@fluendo.com>
2147
2148         * gst/gstbin.c: (message_check), (bin_replace_message),
2149         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2150         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2151         (bin_query_duration_init), (bin_query_duration_fold),
2152         (bin_query_duration_done), (bin_query_generic_fold),
2153         (gst_bin_query):
2154         Some doc and debug updates.
2155         Cache previously requested query DURATION for speed. invalidate
2156         cached duration if element posts a DURATION message.
2157
2158 2005-10-25  Wim Taymans  <wim@fluendo.com>
2159
2160         * docs/design/part-TODO.txt:
2161         Update TODO.
2162
2163         * gst/gstbin.c: (message_check), (bin_replace_message),
2164         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2165         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2166         (bin_query_duration_init), (bin_query_duration_fold),
2167         (bin_query_duration_done), (bin_query_generic_fold),
2168         (gst_bin_query):
2169         Handle SEGMENT_START/DONE messages correctly.
2170         More evolved query algorithm that handles duration queries
2171         correctly.
2172
2173         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2174         (gst_element_get_state_func), (gst_element_abort_state),
2175         (gst_element_commit_state), (gst_element_lost_state):
2176         Some more debugging.
2177
2178         * gst/gstmessage.h:
2179         Added doc.
2180
2181 2005-10-25  Wim Taymans  <wim@fluendo.com>
2182
2183         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2184         Don't use invalid stream_time.
2185
2186         * gst/gstevent.c: (gst_event_new_newsegment):
2187         stream_time in newsegment cannot be undefined.
2188
2189 2005-10-24  Wim Taymans  <wim@fluendo.com>
2190
2191         * gst/gstbus.c:
2192         Doc fix.
2193
2194         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2195         (gst_queue_loop):
2196         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2197
2198 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2199
2200         * docs/libs/tmpl/gstdparam.sgml:
2201         * docs/libs/tmpl/gstdplinint.sgml:
2202         * docs/libs/tmpl/gstdpman.sgml:
2203         * docs/libs/tmpl/gstdpsmooth.sgml:
2204         * docs/libs/tmpl/gstunitconvert.sgml:
2205           these are obsolete
2206
2207 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2208
2209         * configure.ac:
2210           back to HEAD
2211
2212 === release 0.9.4 ===
2213
2214 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2215
2216         * configure.ac:
2217           releasing 0.9.4, "Tyrannosaurus Rex"
2218
2219 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2220
2221         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2222         (gst_file_sink_get_current_offset):
2223           Use fseeko() and ftello() if available. When falling back on
2224           lseek() to get the current offset, fflush() first to make sure
2225           everything is up-to-date and we get the right offset.
2226
2227 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2228
2229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2230         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2231         * gst/gsterror.c: (_gst_stream_errors_init):
2232         * gst/gsterror.h:
2233         * gst/gstqueue.c: (gst_queue_loop):
2234         * po/POTFILES.in:
2235           remove prematurely added error category and clean up the instances
2236
2237 2005-10-21  Wim Taymans  <wim@fluendo.com>
2238
2239         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2240         (gst_base_sink_get_position), (gst_base_sink_query),
2241         (gst_base_sink_change_state):
2242         Simply set the right flag when going to playing, that's all
2243         we need to do instead of calling a function inside the object
2244         lock (that could take the lock as well and deadlock)
2245
2246 2005-10-21  Wim Taymans  <wim@fluendo.com>
2247
2248         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2249         (gst_base_src_loop):
2250         Don't warn, the peer element knows what to do best when
2251         the seek failed, it might try something else.
2252
2253 2005-10-21  Wim Taymans  <wim@fluendo.com>
2254
2255         * gst/base/gstbasesrc.c: (gst_base_src_init),
2256         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2257         Fix seeking.
2258
2259 2005-10-21  Wim Taymans  <wim@fluendo.com>
2260
2261         * docs/design/part-segments.txt:
2262         More docs.
2263
2264         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2265         Correctly set caps, even on the subbufer.
2266
2267 2005-10-21  Wim Taymans  <wim@fluendo.com>
2268
2269         * docs/gst/gstreamer-docs.sgml:
2270         * docs/gst/gstreamer-sections.txt:
2271         * gst/gstelement.h:
2272         * gst/gstevent.c:
2273         * gst/gstevent.h:
2274         * gst/gstmessage.h:
2275         * gst/gstpad.h:
2276         * gst/gstparse.h:
2277         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2278         * gst/gsttask.h:
2279         * gst/gstutils.c:
2280         * gst/gstutils.h:
2281         And 2% more doc coverage.
2282
2283 2005-10-21  Andy Wingo  <wingo@pobox.com>
2284
2285         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2286         position reporting.
2287
2288 2005-10-20  Wim Taymans  <wim@fluendo.com>
2289
2290         * gst/gsterror.c: (gst_error_get_message):
2291         * gst/gstparse.h:
2292         * gst/gstquery.h:
2293         * gst/gststructure.c:
2294         * gst/gsttrace.c:
2295         * gst/gstutils.c:
2296         More docs.
2297
2298 2005-10-20  Wim Taymans  <wim@fluendo.com>
2299
2300         * gst/gstbuffer.h:
2301         * gst/gstpad.c:
2302         * gst/gstparse.c:
2303         Another 1% more coverage.
2304
2305 2005-10-20  Wim Taymans  <wim@fluendo.com>
2306
2307         * docs/gst/gstreamer-sections.txt:
2308         * gst/gstelement.c: (gst_element_get_state_func),
2309         (gst_element_abort_state), (gst_element_commit_state),
2310         (gst_element_lost_state):
2311         * gst/gstevent.h:
2312         * gst/gstquery.c: (gst_query_set_position),
2313         (gst_query_parse_position), (gst_query_set_duration),
2314         (gst_query_parse_duration), (gst_query_new_convert):
2315         * gst/gstutils.c:
2316         Yay! 1% more docs coverage.
2317
2318 2005-10-20  Wim Taymans  <wim@fluendo.com>
2319
2320         * gst/gstpad.h:
2321         * gst/gstquery.c: (gst_query_set_position),
2322         (gst_query_parse_position), (gst_query_set_duration),
2323         (gst_query_parse_duration), (gst_query_new_convert):
2324         * gst/gstquery.h:
2325         * gst/gstutils.c: (gst_element_query_convert):
2326         * gst/gstutils.h:
2327         Docs and consistency fixes.
2328
2329 2005-10-20  Wim Taymans  <wim@fluendo.com>
2330
2331         * gst/gsttask.c:
2332         * gst/gsttask.h:
2333         More docs.
2334
2335 2005-10-20  Wim Taymans  <wim@fluendo.com>
2336
2337         * gst/gstbin.c: (message_check), (bin_replace_message),
2338         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2339         (update_degree), (gst_bin_sort_iterator_next),
2340         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2341         Reworked the message handling a bit, cache the messages instead of
2342         only the senders. alows us to do more in the future.
2343
2344 2005-10-20  Wim Taymans  <wim@fluendo.com>
2345
2346         * docs/design/part-TODO.txt:
2347         Update TODO
2348
2349         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2350         (gst_base_sink_query):
2351         Don't use clock time to report position when in EOS.
2352
2353 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2354
2355         * tools/gst-inspect.c: (print_interfaces),
2356         (print_element_properties_info), (print_element_info):
2357           Fix interface output with gst-inspect -a; don't print
2358           newlines after double/float properties.
2359
2360 2005-10-20  Wim Taymans  <wim@fluendo.com>
2361
2362         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2363         (gst_base_sink_query):
2364         Speed up current position calculation.
2365
2366         * gst/base/gstbasesrc.c: (gst_base_src_query),
2367         (gst_base_src_default_newsegment):
2368         Correctly set stream position in newsegment.
2369
2370         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2371         (update_degree), (gst_bin_sort_iterator_next),
2372         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2373         * gst/gstmessage.c: (gst_message_new_custom):
2374         Clean up debugging info
2375
2376         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2377         (gst_queue_loop), (gst_queue_handle_src_query):
2378         Pause task faster.
2379
2380 2005-10-19  Wim Taymans  <wim@fluendo.com>
2381
2382         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2383         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2384         Fix query handling again.
2385
2386 2005-10-19  Wim Taymans  <wim@fluendo.com>
2387
2388         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2389         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2390         * gst/base/gstbasesrc.c: (gst_base_src_query):
2391         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2392         * gst/elements/gsttypefindelement.c:
2393         (gst_type_find_handle_src_query), (find_element_get_length),
2394         (gst_type_find_element_activate):
2395         API change fix.
2396
2397         * gst/gstquery.c: (gst_query_new_position),
2398         (gst_query_set_position), (gst_query_parse_position),
2399         (gst_query_new_duration), (gst_query_set_duration),
2400         (gst_query_parse_duration), (gst_query_set_segment),
2401         (gst_query_parse_segment):
2402         * gst/gstquery.h:
2403         Bundling query position/duration is not a good idea since duration
2404         does not change much and we don't want to recalculate it for every
2405         position query, so they are separated again..
2406         Base value in segment query is not needed.
2407
2408         * gst/gstqueue.c: (gst_queue_handle_src_query):
2409         * gst/gstutils.c: (gst_element_query_position),
2410         (gst_element_query_duration), (gst_pad_query_position),
2411         (gst_pad_query_duration):
2412         * gst/gstutils.h:
2413         Updates for query API change.
2414         Added some docs here and there.
2415
2416 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2417
2418         * check/gst/gstbin.c: (GST_START_TEST):
2419         * check/gst/gstghostpad.c: (GST_START_TEST):
2420         * check/pipelines/cleanup.c: (GST_START_TEST):
2421           wait on thread to die so we can check refcount correctly
2422
2423 2005-10-18  Wim Taymans  <wim@fluendo.com>
2424
2425         * check/pipelines/stress.c: (GST_START_TEST):
2426         Make check a little more time consuming.
2427
2428 2005-10-18  Wim Taymans  <wim@fluendo.com>
2429
2430         * check/Makefile.am:
2431         * check/pipelines/stress.c: (GST_START_TEST),
2432         (simple_launch_lines_suite), (main):
2433         Small state change torture test.
2434
2435         * docs/design/part-states.txt:
2436         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2437         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2438         (gst_base_sink_change_state):
2439         Never take state lock from streaming thread, clean up ugly
2440         hacks. Unfortunatly core does not yet support nice ways to
2441         async commit state.
2442         
2443         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2444         (bin_bus_handler):
2445         Start state recalc if a STATE_DIRTY message is posted, but only
2446         on the toplevel bin.
2447
2448         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2449         (gst_element_get_state_func), (gst_element_abort_state),
2450         (gst_element_commit_state), (gst_element_lost_state),
2451         (gst_element_set_state_func), (gst_element_change_state):
2452         * gst/gstelement.h:
2453         State variables are now protected with the LOCK, the state
2454         lock is only used to serialize _set_state().
2455
2456 2005-10-18  Wim Taymans  <wim@fluendo.com>
2457
2458         * check/gst/gstbin.c: (GST_START_TEST):
2459         * check/gst/gstmessage.c: (GST_START_TEST):
2460         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2461         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2462         (bin_bus_handler):
2463         * gst/gstelement.c: (gst_element_abort_state),
2464         (gst_element_commit_state), (gst_element_lost_state):
2465         * gst/gstmessage.c: (gst_message_new_state_changed),
2466         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2467         (gst_message_new_segment_done), (gst_message_new_duration),
2468         (gst_message_parse_state_changed),
2469         (gst_message_parse_segment_start),
2470         (gst_message_parse_segment_done), (gst_message_parse_duration):
2471         * gst/gstmessage.h:
2472         * tools/gst-launch.c: (event_loop):
2473         Seriously, this is better than a previous commit as we only need
2474         to notify the fact that an element changed state in a streaming
2475         thread, marking the state of the parents dirty, hence the 
2476         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2477         message.
2478
2479 2005-10-18  Wim Taymans  <wim@fluendo.com>
2480
2481         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2482         (gst_bin_recalc_func):
2483         * gst/gstelement.c: (gst_element_set_clock),
2484         (gst_element_abort_state), (gst_element_lost_state):
2485         Cleanups, prepare for state change fixes.
2486
2487 2005-10-18  Wim Taymans  <wim@fluendo.com>
2488
2489         * gst/gstbin.h:
2490         * gst/gstelement.c: (gst_element_class_init),
2491         (gst_element_set_state), (gst_element_set_state_func):
2492         * gst/gstelement.h:
2493         Pending ABI changes.
2494         GThreadPool in GstBinClass to monitor async state changes.
2495         state_cookie in GstElement to detect concurrent gst/set state.
2496         set_state is now virtual too in case a very complicated element
2497         has to be constructed.
2498
2499 2005-10-18  Wim Taymans  <wim@fluendo.com>
2500
2501         * check/gst/gstbin.c: (GST_START_TEST):
2502         * check/gst/gstmessage.c: (GST_START_TEST):
2503         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2504         * gst/gstbin.c: (bin_bus_handler):
2505         * gst/gstelement.c: (gst_element_commit_state),
2506         (gst_element_lost_state):
2507         * gst/gstmessage.c: (gst_message_new_state_changed),
2508         (gst_message_new_segment_start), (gst_message_new_segment_done),
2509         (gst_message_new_duration), (gst_message_parse_state_changed),
2510         (gst_message_parse_segment_start),
2511         (gst_message_parse_segment_done), (gst_message_parse_duration):
2512         * gst/gstmessage.h:
2513         * tools/gst-launch.c: (event_loop):
2514         Make messages future proof.
2515         state-change gets a flag if it was a message comming from the
2516         streaming thread.
2517         segment-start/stop can also be specified in other formats.
2518         A message to notify an app that a pipeline changed playback 
2519         duration.
2520         Also fix a GstMessage leak in -launch
2521
2522 2005-10-18  Andy Wingo  <wingo@pobox.com>
2523
2524         * gst/gstelement.c (gst_element_dispose): More helpful message.
2525
2526 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2527
2528         reviewed by: <delete if not using a buddy>
2529
2530         * common/gtk-doc.mak:
2531
2532 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2533
2534         * gst/gstregistry.c: (gst_registry_scan_path_level):
2535           unref a plug-in we get that was already initialized
2536
2537 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2538
2539         * docs/gst/gstreamer-sections.txt:
2540         * docs/libs/gstreamer-libs-sections.txt:
2541         * gst/gstelement.h:
2542           add new api entries
2543           hide internal macro
2544
2545 2005-10-17  Andy Wingo  <wingo@pobox.com>
2546
2547         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2548         cleanup.
2549
2550         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2551
2552         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2553
2554         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2555         (gst_element_get_state_func): Better debug message.
2556         (gst_element_commit_state): s/INFO/DEBUG/.
2557         (gst_element_lost_state, gst_element_change_state): 
2558
2559         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2560         (gst_message_new_custom): s/INFO/LOG/.
2561
2562 2005-10-17  Michael Smith <msmith@fluendo.com>
2563
2564         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2565           Check if end time is valid using end time, not start time.
2566
2567 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2568
2569         * check/gst-libs/controller.c: (GST_START_TEST),
2570         (gst_controller_suite):
2571         * libs/gst/controller/gstcontroller.c:
2572         (gst_controlled_property_set_interpolation_mode):
2573         * libs/gst/controller/gstcontroller.h:
2574         * libs/gst/controller/gstinterpolation.c:
2575         * testsuite/controller/.cvsignore:
2576         * testsuite/controller/Makefile.am:
2577         * testsuite/controller/interpolator.c:
2578           merge controller testsuites
2579           fix broken tests
2580           remove mem-chunk from docs
2581
2582 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2583
2584         * gst/gstmemchunk.c:
2585         * gst/gstmemchunk.h:
2586         * gst/gsttrashstack.c:
2587         * gst/gsttrashstack.h:
2588           out.  get out.  you're fired.  to the Attic !
2589
2590 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2591
2592         * gst/gstcaps.c: (gst_caps_intersect):
2593           fix signedness issues in a (hopefully) correct way
2594         * gst/gstelement.c: (gst_element_pads_activate):
2595           some debugging
2596         * gst/gstobject.c: (gst_object_set_parent):
2597           some debugging
2598
2599 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2600
2601         * gst/gstvalue.h: Fix prototypes.
2602
2603 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2604
2605         * docs/gst/gstreamer-sections.txt:
2606         * gst/gst.c: (gst_version_string):
2607         * gst/gst.h:
2608         * gst/gstversion.h.in:
2609         * win32/common/libgstreamer.def:
2610           add gst_version_string ()
2611
2612 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2613
2614         * configure.ac:
2615           clean up further
2616         * gst/gst.c: (init_post):
2617         * win32/common/config.h.in:
2618           it's PLUGINDIR now
2619         * gst/gstcaps.c: (gst_caps_intersect):
2620           use gint64, the range could be bigger than a guint
2621
2622 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2623
2624         * gst/gstclock.h:
2625           document potential problem in 2038
2626
2627 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2628
2629         * gst/gstcaps.c: (gst_caps_intersect):
2630           Fix guint j diving under 0
2631
2632 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2633
2634         * configure.ac:
2635         * win32/common/config.h:
2636         * win32/common/config.h.in:
2637           check for process.h, declares getpid() on Windows
2638         * gst/gstinfo.c:
2639           include process.h if we have it
2640         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2641         * gst/gstmemchunk.h:
2642           fix signedness issues
2643         * win32/common/libgstreamer.def:
2644           fix get_type's
2645
2646 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2647
2648         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2649         fix. Because of unsigned ints, caps intersection was going nuts and
2650         trying to access structures with G_MAXUINT index. That fixes
2651         videotestsrc ! ffmpegcolorspace ! fakesink
2652         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2653         consistency.
2654
2655 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2656
2657         * configure.ac:
2658           use the gettext macro
2659         * gst/elements/gstelements.c:
2660         * gst/gst.c:
2661         * gst/indexers/gstindexers.c:
2662           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2663         * win32/common/config.h:
2664           updated config.h
2665         * win32/common/config.h.in:
2666           add the template to generate config.h
2667         * win32/common/gstenumtypes.c:
2668         * win32/common/gstversion.h:
2669           updated copies
2670
2671 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2672
2673         * gst/gst.c: (gst_version):
2674         * gst/gstversion.h.in:
2675           add the nano
2676
2677 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2678
2679         * gst/gstevent.h:
2680           Oops, add missing closing bracket.
2681
2682 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2683
2684         * configure.ac:
2685           use common m4's for argument checking
2686
2687 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2688
2689         * docs/gst/gstreamer-sections.txt:
2690         * gst/gstevent.h:
2691           Add GST_EVENT_TYPE_NAME() macro.
2692
2693 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2694
2695         * gst/gstinfo.c:
2696         * gst/gstpluginfeature.c:
2697         * gst/gsttask.c:
2698           privatize more symbols
2699
2700 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2701
2702         * configure.ac:
2703           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2704           everything that uses GStreamer API should have the includes
2705
2706 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2707
2708         * docs/gst/gstreamer-sections.txt:
2709         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2710         * gst/gstvalue.h:
2711           give each value a _get_type, removes the DATA exports
2712
2713 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2714
2715         * gst/gst.c:
2716         * gst/gst.h:
2717           remove _gst_registry_auto_load, not used anymore
2718         * gst/gstbin.c: (gst_bin_get_type):
2719         * gst/gstbin.h:
2720         * gst/gstelement.c: (gst_element_get_type):
2721         * gst/gstelement.h:
2722         * gst/gstobject.c: (gst_object_get_type):
2723         * gst/gstobject.h:
2724         * gst/gstpad.c: (gst_pad_get_type):
2725         * gst/gstpad.h:
2726           make _get_type functions similar, fixes data export from library
2727
2728 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2729
2730         * configure.ac:
2731           correctly make conditionals
2732         * gst/elements/Makefile.am:
2733         * gst/elements/gstelements.c:
2734           fix typo causing fdsrc not to build
2735
2736 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2737
2738         * testsuite/Makefile.am:
2739         * testsuite/bytestream/.cvsignore:
2740         * testsuite/bytestream/Makefile.am:
2741         * testsuite/bytestream/filepadsink.c:
2742         * testsuite/bytestream/gstbstest.c:
2743         * testsuite/bytestream/test1.c:
2744         * testsuite/bytestream/testfile1:
2745         * testsuite/caps/normalisation.c:
2746         * testsuite/caps/random.c: (main):
2747         * testsuite/cleanup/.cvsignore:
2748         * testsuite/cleanup/Makefile.am:
2749         * testsuite/cleanup/cleanup1.c:
2750         * testsuite/cleanup/cleanup2.c:
2751         * testsuite/cleanup/cleanup3.c:
2752         * testsuite/cleanup/cleanup4.c:
2753         * testsuite/cleanup/cleanup5.c:
2754         * testsuite/controller/interpolator.c:
2755         * testsuite/debug/printf_extension.c: (main):
2756         * testsuite/elements/tee.c:
2757         * testsuite/negotiation/.cvsignore:
2758         * testsuite/negotiation/Makefile.am:
2759         * testsuite/negotiation/pad_link.c:
2760         * testsuite/pad/Makefile.am:
2761         * testsuite/pad/chainnopull.c:
2762         * testsuite/pad/getnopush.c:
2763         * testsuite/pad/link.c:
2764         * testsuite/refcounting/sched.c: (create_pipeline):
2765         * testsuite/registry/Makefile.am:
2766         * testsuite/registry/gst-print-formats.c:
2767         * testsuite/schedulers/.cvsignore:
2768         * testsuite/schedulers/142183-2.c:
2769         * testsuite/schedulers/142183.c:
2770         * testsuite/schedulers/143777-2.c:
2771         * testsuite/schedulers/143777.c:
2772         * testsuite/schedulers/147713.c:
2773         * testsuite/schedulers/147819.c:
2774         * testsuite/schedulers/147894-2.c:
2775         * testsuite/schedulers/147894.c:
2776         * testsuite/schedulers/Makefile.am:
2777         * testsuite/schedulers/group_link.c:
2778         * testsuite/schedulers/queue_link.c:
2779         * testsuite/schedulers/relink.c:
2780         * testsuite/schedulers/unlink.c:
2781         * testsuite/schedulers/unref.c:
2782         * testsuite/schedulers/useless_iteration.c:
2783         * testsuite/states/bin.c:
2784           clean out/remove some stuff from the testsuite directories
2785
2786 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2787
2788         * configure.ac:
2789           check for some headers
2790         * gst/elements/Makefile.am:
2791         * gst/elements/gstelements.c:
2792           don't compile fdsrc without sys/socket.h
2793         * gst/indexers/Makefile.am:
2794         * gst/indexers/gstindexers.c: (plugin_init):
2795           don't compile fileindex without mmap
2796
2797 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2798
2799         * configure.ac:
2800           reorganize
2801           clean up
2802           document more
2803           remove cruft
2804         * check/Makefile.am:
2805         * docs/gst/Makefile.am:
2806         * examples/helloworld/Makefile.am:
2807         * gst/Makefile.am:
2808         * gst/base/Makefile.am:
2809         * gst/check/Makefile.am:
2810         * gst/elements/Makefile.am:
2811         * gst/indexers/Makefile.am:
2812         * gst/parse/Makefile.am:
2813         * libs/gst/controller/Makefile.am:
2814         * libs/gst/dataprotocol/Makefile.am:
2815         * examples/helloworld/helloworld.c: (event_loop):
2816           compile fixes, though it's not being compiled currently
2817
2818 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2819
2820         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2821           Add some simple tests for the new taglist date API.
2822
2823 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2824
2825         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2826         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2827           Beautify 'last-message' output: print 'none' for buffer timestamps
2828           and durations if none is set; improve alignment with next messages.
2829
2830 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2831
2832         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2833         * gst/gstpluginfeature.h:
2834         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2835         * gst/gstregistry.h:
2836         * docs/gst/gstreamer-sections.txt:
2837           Add new API to check plugin feature version requirements.
2838
2839         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2840           Some basic tests for the above.         
2841
2842 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2843
2844         * gst/gststructure.c: (gst_structure_to_string):
2845           guard against NULL printf - happens when for example
2846           a message structure with GstClock gets serialized
2847
2848 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2849
2850         * gst/base/gstcollectpads.c: (gst_collectpads_event):
2851           Fix presumable copy'n'pasto.
2852
2853 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2854
2855         * gst/elements/gstfakesrc.h:
2856         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
2857         * gst/elements/gsttypefindelement.c:
2858           fix some signedness
2859         * gst/elements/gstfilesink.c: (gst_file_sink_render):
2860           I wonder if this could actually write +2GB files before
2861
2862 2005-10-13  Andy Wingo  <wingo@pobox.com>
2863
2864         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
2865         Fix Timmeke Waymans bug.
2866         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
2867         string of the proper length to gst_caps_from_string. There's a
2868         potential for, before this fix, that this could cause someone
2869         connecting over the network to cause a segfault if the payload is
2870         not NUL-terminated.
2871
2872 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2873
2874         * docs/design/draft-push-pull.txt:
2875         * docs/design/part-overview.txt:
2876         * docs/random/TODO-pre-0.9:
2877         * docs/random/old/ChangeLog.gstreamer:
2878         * gst/base/gstpushsrc.c:
2879         * gst/gstclock.c:
2880           fixed typos
2881
2882 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2883
2884         * gst/glib-compat.c: (gst_flags_get_first_value):
2885         * gst/glib-compat.h:
2886         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
2887         (gst_value_compare_double), (gst_value_serialize_flags):
2888           GLib 2.6 g_flags_get_first_value has a bug that triggers an
2889           infinite loop
2890
2891 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2892
2893         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2894         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2895           fix up debugging
2896         * tools/gst-launch.c: (event_loop):
2897           print out clock nicely
2898
2899 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2900
2901         * docs/gst/gstreamer-sections.txt:
2902         * gst/gsttaglist.h:
2903         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2904         (gst_tag_list_get_date_index):
2905           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
2906           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2907
2908 2005-10-13  Julien MOUTTE  <julien@moutte.net>
2909
2910         * gst/base/gstcollectpads.c: (gst_collectpads_event),
2911         (gst_collectpads_chain):
2912         * gst/base/gstcollectpads.h: Handle newsegment and store informations
2913         in CollectData.
2914
2915 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2916
2917         * docs/gst/gstreamer-sections.txt:
2918         * gst/gst.c:
2919         * gst/gsterror.h:
2920         * tools/gst-inspect.c: (main):
2921         * tools/gst-launch.c: (main):
2922         * tools/gst-run.c: (main):
2923         * tools/gst-xmlinspect.c: (main):
2924           fix GOption context leaks
2925           doc fixes
2926
2927 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2928
2929         * gst/gstbus.c:
2930           use HAVE_UNISTD_H
2931         * win32/common/config.h:
2932           update config
2933         * win32/vs6/grammar.dsp:
2934         * win32/vs6/libgstelements.dsp:
2935         * win32/vs6/libgstreamer.dsp:
2936           update vs6 files
2937
2938 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2939
2940         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2941         * gst/base/gstbasesrc.c: (gst_base_src_query):
2942           fix more guint64<->gdouble conversions
2943
2944 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2945
2946         * Makefile.am:
2947           add win32-update target
2948         * win32/common/gstconfig.h:
2949         * win32/common/gstenumtypes.c:
2950         * win32/common/gstenumtypes.h:
2951         * win32/common/gstversion.h:
2952           add files that visual studio can't generate
2953
2954 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2955
2956         * Makefile.am:
2957           add a win32-update target
2958         * configure.ac:
2959
2960 2005-10-12  Wim Taymans  <wim@fluendo.com>
2961
2962         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2963         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
2964         * gst/gstelement.c: (gst_element_commit_state),
2965         (gst_element_set_state):
2966         Protect flags with proper lock.
2967         unref provided cached clock in dispose.
2968
2969 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2970
2971         * gst/gst.c:
2972         * gst/gstminiobject.h:
2973         * gst/gstpad.h:
2974         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
2975           removed unused flags from miniobject
2976           doc fixes
2977
2978 2005-10-12  Wim Taymans  <wim@fluendo.com>
2979
2980         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2981         (gst_file_sink_event), (gst_file_sink_render):
2982         Flush before seeking.
2983
2984 2005-10-12  Andy Wingo  <wingo@pobox.com>
2985
2986         * gst/gst.c (gst_init_check): Ignore unknown options, as has
2987         always been the case.
2988
2989 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2990
2991         * check/gst/gstbin.c: (GST_START_TEST):
2992         * docs/gst/gstreamer-sections.txt:
2993         * gst/base/gstbasesink.c: (gst_base_sink_init):
2994         * gst/base/gstbasesrc.c: (gst_base_src_init),
2995         (gst_base_src_get_range), (gst_base_src_check_get_range),
2996         (gst_base_src_start), (gst_base_src_stop):
2997         * gst/base/gstbasesrc.h:
2998         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
2999         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3000         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3001         (bin_bus_handler):
3002         * gst/gstbin.h:
3003         * gst/gstbuffer.h:
3004         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3005         * gst/gstbus.h:
3006         * gst/gstelement.c: (gst_element_is_locked_state),
3007         (gst_element_set_locked_state), (gst_element_commit_state),
3008         (gst_element_set_state):
3009         * gst/gstelement.h:
3010         * gst/gstindex.c: (gst_index_init):
3011         * gst/gstindex.h:
3012         * gst/gstminiobject.h:
3013         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3014         (gst_object_set_parent):
3015         * gst/gstobject.h:
3016         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3017         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3018         * gst/gstpad.h:
3019         * gst/gstpadtemplate.h:
3020         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3021         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3022         * gst/gstpipeline.h:
3023         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3024         (gst_file_index_commit):
3025         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3026         * testsuite/pad/link.c: (gst_test_src_init),
3027         (gst_test_filter_init), (gst_test_sink_init):
3028         * testsuite/states/locked.c: (main):
3029           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3030           moved bitshift from macro to enum definition
3031
3032 2005-10-12  Wim Taymans  <wim@fluendo.com>
3033
3034         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3035         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3036         (gst_file_sink_render):
3037         Some more debugging info.
3038
3039 2005-10-12  Wim Taymans  <wim@fluendo.com>
3040
3041         * docs/design/part-states.txt:
3042         * tools/gst-launch.c: (main):
3043         Some doc updates.
3044         Revert non-intentional change.
3045
3046 2005-10-12  Wim Taymans  <wim@fluendo.com>
3047
3048         * check/gst/gstbin.c: (GST_START_TEST):
3049         * check/gst/gstelement.c: (GST_START_TEST):
3050         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3051         * check/gst/gstghostpad.c: (GST_START_TEST):
3052         * check/gst/gstpipeline.c: (GST_START_TEST):
3053         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3054         * check/states/sinks.c: (GST_START_TEST):
3055         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3056         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3057         (gst_bin_remove_func), (gst_bin_get_state_func),
3058         (gst_bin_recalc_state), (gst_bin_change_state_func),
3059         (bin_bus_handler):
3060         * gst/gstelement.c: (gst_element_get_state_func),
3061         (gst_element_get_state), (gst_element_abort_state),
3062         (gst_element_commit_state), (gst_element_set_state),
3063         (gst_element_change_state), (gst_element_change_state_func):
3064         * gst/gstelement.h:
3065         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3066         (gst_pipeline_provide_clock_func):
3067         * gst/gstutils.c: (gst_element_link_pads_filtered):
3068         * tools/gst-launch.c: (main):
3069         * tools/gst-typefind.c: (main):
3070         Use GstClockTime in _get_state() instead of GTimeVal.
3071         Remove old code in gstutils.c
3072
3073 2005-10-12  Andy Wingo  <wingo@pobox.com>
3074
3075         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3076         removed.
3077
3078         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3079         there is no task. Shouldn't affect any code, as nothing in our
3080         plugins checks this return value.
3081         (gst_pad_stop_task): Also take the stream lock if the pad has no
3082         task. Docs updated.
3083
3084 2005-10-12  Wim Taymans  <wim@fluendo.com>
3085
3086         * gst/gstpad.c: (pre_activate), (post_activate),
3087         (gst_pad_activate_pull), (gst_pad_activate_push):
3088         Cleanup activation code. Reset old state if
3089         activation failed.
3090
3091 2005-10-12  Wim Taymans  <wim@fluendo.com>
3092
3093         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3094         (gst_base_sink_change_state):
3095         No need to prerol after receiving EOS.
3096
3097         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3098         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3099         * gst/elements/gstidentity.c: (gst_identity_event):
3100         Print events more verbosely.
3101
3102 2005-10-12  Wim Taymans  <wim@fluendo.com>
3103
3104         * check/Makefile.am:
3105         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3106         * check/states/sinks2.c:
3107         Moved sinks2 testcode in sinks check.
3108
3109         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3110         (gst_bin_remove_func), (gst_bin_recalc_state),
3111         (gst_bin_change_state_func), (bin_bus_handler):
3112         Fix potential race condition when _get_state() iterated over an
3113         ASYNC element right before it posted a state completion.
3114
3115         * gst/gstclock.h:
3116         Do proper cast here.
3117
3118         * gst/gstevent.c: (gst_event_new_newsegment),
3119         (gst_event_parse_newsegment):
3120         A playback rate of 0.0 is not allowed.
3121
3122 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3123
3124         * win32/common/config.h:
3125         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3126         (_trewinddir), (_ttelldir), (_tseekdir):
3127         * win32/common/dirent.h:
3128         * win32/common/gtchar.h:
3129         * win32/common/libgstbase.def:
3130         * win32/common/libgstreamer.def:
3131         * win32/vs6/grammar.dsp:
3132         * win32/vs6/gst_inspect.dsp:
3133         * win32/vs6/gst_launch.dsp:
3134         * win32/vs6/gstreamer.dsw:
3135         * win32/vs6/libgstbase.dsp:
3136         * win32/vs6/libgstelements.dsp:
3137         * win32/vs6/libgstreamer.dsp:
3138           Visual Studio 6 project files, and a new common directory.
3139           Phear.
3140
3141 2005-10-11  Wim Taymans  <wim@fluendo.com>
3142
3143         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3144         (gst_base_sink_do_sync), (gst_base_sink_query),
3145         (gst_base_sink_change_state):
3146         * gst/base/gstbasesink.h:
3147         Correctly parse newsegment info.
3148
3149 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3150
3151         * gst/gst.c: (init_post):
3152           split plugin paths correctly
3153
3154 2005-10-11  Wim Taymans  <wim@fluendo.com>
3155
3156         * check/gst/gstevent.c: (GST_START_TEST):
3157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3158         (gst_base_sink_change_state):
3159         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3160         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3161         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3162         * gst/gstevent.c: (gst_event_new_newsegment),
3163         (gst_event_parse_newsegment):
3164         * gst/gstevent.h:
3165         Added extra flag to newsegment for future API freeze.
3166         Updated check and base elements.
3167
3168 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3169
3170         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3171         (gst_collectpads_add_pad), (gst_collectpads_pop),
3172         (gst_collectpads_event), (gst_collectpads_chain):
3173         * gst/base/gstcollectpads.h: Handle EOS correctly.
3174
3175 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3176
3177         * tools/gst-launch.c: (main):
3178           more null protecting
3179
3180 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3181
3182         * gst/gst-i18n-lib.h:
3183           check for ENABLE_NLS, not GETTEXT_PACKAGE
3184         * gst/gstregistry.c: (gst_registry_add_plugin),
3185         (gst_registry_scan_path_level),
3186         (_gst_registry_remove_cache_plugins):
3187           protect possibly NULL strings
3188         * gst/parse/types.h:
3189           config.h already included before
3190         * tools/gst-inspect.c: (main):
3191           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3192           check for ENABLE_NLS, not GETTEXT_PACKAGE
3193         * tools/gst-launch.c: (main):
3194           check for ENABLE_NLS, not GETTEXT_PACKAGE
3195
3196 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3197
3198         * configure.ac:
3199           if we don't have glib, fail before testing 2.8
3200         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3201           fix a leak, should fix plugins-base testsuite
3202
3203 2005-10-11  Andy Wingo  <wingo@pobox.com>
3204
3205         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3206         take the mode we're going to as an arg. Go head and set the mode
3207         and flushing flags now, so that if the activate function starts a
3208         thread all the flags will be in the right state.
3209         (post_activate): Renamed also. Just handle making sure streaming
3210         finishes for the deactivation case, and setting the deactivated
3211         mode.
3212         (gst_pad_set_active): Complain loudly if deactivation fails.
3213         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3214         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3215         remove the terrible hack.
3216
3217 2005-10-11  Wim Taymans  <wim@fluendo.com>
3218
3219         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3220         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3221         (gst_bin_recalc_state), (gst_bin_change_state_func),
3222         (gst_bin_dispose), (bin_bus_handler):
3223         * gst/gstbin.h:
3224         Prepare to make current EOS message queue more generic.
3225         Fix some typos.
3226
3227         * gst/gstevent.c: (gst_event_new_newsegment),
3228         (gst_event_parse_newsegment):
3229         * gst/gstevent.h:
3230         Rename base to stream_time.
3231
3232         * gst/gstmessage.h:
3233         Fix typo in docs.
3234
3235 2005-10-11  Wim Taymans  <wim@fluendo.com>
3236
3237         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3238         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3239         (gst_bin_change_state_func), (bin_bus_handler):
3240         * gst/gstbin.h:
3241         Work on proper clock selection.
3242
3243 2005-10-11  Edward Hervey  <edward@fluendo.com>
3244
3245         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3246         * libs/gst/controller/gstcontroller.h:
3247         Added GList* version of _remove_properties() in order to be able to wrap
3248         it in bindings.
3249
3250 2005-10-11  Wim Taymans  <wim@fluendo.com>
3251
3252         * docs/design/part-states.txt:
3253         Some more docs.
3254
3255         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3256         (gst_bin_change_state_func), (bin_bus_handler):
3257         Doc updates. Don't distribute the same clock over and over again.
3258
3259         * gst/gstclock.c:
3260         * gst/gstclock.h:
3261         Doc updates.
3262
3263         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3264         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3265         (gst_pad_send_event):
3266         * gst/gstpad.h:
3267         Make probe emission threadsafe again.
3268         Register quarks and move _get_name() from utils.
3269         Doc updates.
3270
3271         * gst/gstpipeline.c: (gst_pipeline_class_init),
3272         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3273         Only redistribute the clock of it changed.
3274
3275         * gst/gstsystemclock.h:
3276         Doc updates. 
3277
3278         * gst/gstutils.c:
3279         * gst/gstutils.h:
3280         Moved the _flow_get_name() to GstPad.
3281
3282 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3283
3284         * check/gst-libs/gdp.c: (GST_START_TEST):
3285         * check/gst/gstcaps.c: (GST_START_TEST):
3286         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3287         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3288         (gst_dp_packet_from_caps):
3289           fix more valgrind warnings before turning up the heat
3290
3291 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3292
3293         * gst/parse/grammar.y:
3294           some cleanup before the hacking
3295
3296 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3297
3298         * gst/base/gstbasesrc.c: (gst_base_src_query):
3299           use conversions
3300         * gst/gstutils.c: (gst_guint64_to_gdouble),
3301         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3302         * gst/gstutils.h:
3303           externalize, basesrc uses it
3304           obviously the implementation needs testing
3305
3306 2005-10-10  Wim Taymans  <wim@fluendo.com>
3307
3308         * tests/sched/Makefile.am:
3309         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3310         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3311
3312 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3313
3314         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3315           apparently converting from guint64 to double is not implemented
3316           on MSVC
3317
3318 2005-10-10  Wim Taymans  <wim@fluendo.com>
3319
3320         * check/Makefile.am:
3321         * check/generic/states.c: (GST_START_TEST):
3322         * check/gst/gstbin.c: (GST_START_TEST):
3323         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3324         * check/states/sinks.c: (GST_START_TEST):
3325         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3326         (main):
3327         Check fixes, use API as stated in design docs, remove hacks.
3328
3329         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3330         (gst_base_sink_change_state):
3331         Catch stopping our task while we're shutting down.
3332
3333         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3334         (gst_bin_remove_func), (gst_bin_get_state_func),
3335         (gst_bin_recalc_state), (gst_bin_change_state_func),
3336         (bin_bus_handler):
3337         * gst/gstbin.h:
3338         * gst/gstelement.c: (gst_element_init),
3339         (gst_element_get_state_func), (gst_element_abort_state),
3340         (gst_element_commit_state), (gst_element_lost_state),
3341         (gst_element_set_state), (gst_element_change_state),
3342         (gst_element_change_state_func):
3343         * gst/gstelement.h:
3344         New state change algorithm (see #318116)
3345
3346         * gst/gstpipeline.c: (gst_pipeline_class_init),
3347         (gst_pipeline_init), (gst_pipeline_set_property),
3348         (gst_pipeline_get_property), (do_pipeline_seek),
3349         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3350         * gst/gstpipeline.h:
3351         Remove crude state change hacks.
3352
3353         * gst/gstutils.h:
3354         Remove crude hacks.
3355
3356         * tools/gst-launch.c: (main):
3357         Fixes for state change. Needs some more work to fully use the
3358         new stuff.
3359
3360 2005-10-10  Andy Wingo  <wingo@pobox.com>
3361
3362         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3363
3364         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3365         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3366         issue.
3367
3368 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3369
3370         * gst/gstiterator.c: (gst_iterator_new):
3371           Fix my previous commit: GTypes passed to gst_iterator_new()
3372           can be fundamental types.
3373
3374 2005-10-10  Wim Taymans  <wim@fluendo.com>
3375
3376         * gst/gstelement.c: (gst_element_iterate_pad_list),
3377         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3378         (gst_element_iterate_sink_pads):
3379         Use src/sink pads lists for the respective iterators instead
3380         of filtering.
3381
3382 2005-10-10  Andy Wingo  <wingo@pobox.com>
3383
3384         Merged in popt removal + GOption addition patch from Ronald, bug
3385         #169772.
3386
3387         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3388         GstElement macros around, remove popt-related symbols, add goption
3389         stuff.
3390
3391         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3392         
3393         * docs/gst/Makefile.am:
3394         * docs/libs/Makefile.am: No POPT_CFLAGS.
3395         
3396         * examples/manual/Makefile.am:
3397         * docs/manual/basics-init.xml: Doc updates with an example.
3398         
3399         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3400         (gst_init), (parse_one_option), (parse_goption_arg):
3401         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3402         bit of hand merging and debugging to get the GOption stuff working
3403         tho.
3404         
3405         * tests/Makefile.am:
3406         * tools/Makefile.am:
3407         * tools/gst-inspect.c: (main):
3408         * tools/gst-launch.c: (main):
3409         * tools/gst-run.c: (main):
3410         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3411
3412 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3413
3414         * gst/gstiterator.c: (gst_iterator_new):
3415           Add assertions to make sure passed GType is likely to really
3416           be a GType (as the compiler won't catch it if the size and
3417           GType arguments get mixed up, see #318447).
3418
3419 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3420
3421         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3422
3423         * gst/gstbin.c: (gst_bin_iterate_sorted):
3424           Pass GType and size arguments to gst_iterator_new() in the right
3425           order (maybe we should make _new() take the GType as first argument
3426           just like _new_list()?) (#318447).
3427           
3428
3429 2005-10-10  Wim Taymans  <wim@fluendo.com>
3430
3431         * gst/gstelement.c: (gst_element_finalize):
3432         And free the GStaticRecMutex too
3433
3434 2005-10-10  Andy Wingo  <wingo@pobox.com>
3435
3436         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3437         Allocate and free the mutex properly.
3438
3439         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3440         New macros.
3441         (GstElement): The state_lock is now recursive. Rebuild your
3442         plugins, suckers. Old macros adapted.
3443
3444         * docs/gst/gstreamer-sections.txt: Doc updates.
3445
3446         * gst/gstutils.h:
3447         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3448         (g_static_rec_cond_wait): Ported from state changes patch, while
3449         we wait on bug #317802 to be solved in a well-distributed GLib.
3450
3451         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3452         gst_element_change_state, variable name changes.
3453         (gst_element_change_state): Split out of gst_element_set_state in
3454         preparation for the state change merge. Doesn't pay attention to
3455         the 'transition' argument.
3456         (gst_element_set_state): Updates, hopefully purely cosmetic.
3457         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3458         state change patch.
3459         (gst_element_get_state_func): Renamed from get_state, cosmetic
3460         changes.
3461
3462 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3463
3464         * gst/elements/gstelements.c:
3465         * win32/GStreamer.vcproj:
3466         * win32/config.h:
3467         * win32/dirent.c: (_tseekdir):
3468         * win32/gst-inspect.vcproj:
3469         * win32/gst-launch.vcproj:
3470         * win32/gstconfig.h:
3471         * win32/gstelements.vcproj:
3472         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3473         * win32/gstreamer.def:
3474         * win32/msvc71.sln:
3475           updates for the win32 build (patch from Sebastien Moutte)
3476
3477 2005-10-10  Andy Wingo  <wingo@pobox.com>
3478
3479         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3480         gst_bin_get_state, cleaned up (but no logic changes).
3481         (bin_element_is_sink): Comment updates.
3482         (sink_iterator_filter): Remove needless cast.
3483         (gst_bin_iterate_sinks): Doc update.
3484         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3485         cleaned up (but no logic changes).
3486
3487         * check/states/sinks.c (test_src_sink): Cleanups from the state
3488         change patch.
3489         (test_livesrc_sink): Sync on the state.
3490
3491         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3492         the state change patch.
3493
3494         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3495         change patch.
3496
3497         * check/gst/gstbin.c: Merge in some style fixes and additional
3498         checks from Wim's state change patch.
3499
3500 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3501
3502         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3503         (gst_type_find_helper):
3504           Check whether we have the requested data already in our list of
3505           cached buffers before pulling a new buffer; also make the buffer
3506           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3507
3508 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3509
3510         * gst/gstcaps.c:
3511         * gst/gstevent.c:
3512           doc updates
3513         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3514           don't use long long, it's not portable.  Replacing with
3515           gint64 seems to work; let's hope no skeletons fall out of the closet.
3516
3517 2005-10-10  Andy Wingo  <wingo@pobox.com>
3518
3519         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3520
3521 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3522
3523         * docs/gst/gstreamer-sections.txt:
3524         * gst/gstevent.c:
3525         * gst/gstevent.h:
3526         * gst/gstinfo.c:
3527         * gst/gstinfo.h:
3528         * gst/gstmessage.c: (gst_message_parse_state_changed):
3529         * gst/gstpad.c:
3530         * gst/gstpad.h:
3531           more docs, fix compilation
3532
3533 2005-10-09  Philippe Khalaf <burger@speedy.org>
3534         * gst/gstmessage.c:
3535           Fixed a few forgotten variables on previous commit
3536
3537 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3538
3539         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3540           Fix evil typefind crasher: getrange() might return a short
3541           buffer at the end of a file, but gst_type_find_peek() must
3542           either return the full data as requested or NULL, but
3543           never a short buffer.
3544
3545 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3546
3547         * gst/gstmessage.c: (gst_message_new_state_changed),
3548         (gst_message_parse_state_changed):
3549         * gst/gstmessage.h:
3550           don't use "new", it's a C++ keyword
3551
3552 2005-10-08  Wim Taymans  <wim@fluendo.com>
3553
3554         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3555         * gst/gstelement.c: (gst_element_post_message):
3556         * gst/gstpipeline.c: (gst_pipeline_change_state):
3557         Small docs and debug updates.
3558
3559 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3560
3561         * docs/gst/gstreamer-sections.txt:
3562         * gst/gstelementfactory.c:
3563         * gst/gstevent.c:
3564         * gst/gsttaglist.c:
3565           more docs
3566
3567 2005-10-08  Wim Taymans  <wim@fluendo.com>
3568
3569         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3570         (gst_bin_dispose), (bin_bus_handler):
3571         Fix typos, add comments.
3572         Clear EOS list when going to PAUSED from any direction and do it
3573         in a threadsafe way.
3574         Get base time in a threadsafe way too.
3575         Fix confusing debug in the change_state function.
3576         Various other small cleanups.
3577         
3578         * gst/gstelement.c: (gst_element_post_message):
3579         Fix very verbose bus posting code.
3580
3581         * gst/gstpipeline.c: (gst_pipeline_class_init),
3582         (gst_pipeline_set_property), (gst_pipeline_get_property),
3583         (gst_pipeline_change_state):
3584         Small ARG_ -> PROP_ cleanup
3585
3586 2005-10-08  Wim Taymans  <wim@fluendo.com>
3587
3588         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3589         Do a less CPU demanding EOS check because we can.
3590
3591 2005-10-08  Wim Taymans  <wim@fluendo.com>
3592
3593         * libs/gst/dataprotocol/dataprotocol.c:
3594         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3595         (gst_dp_packet_from_event):
3596         * libs/gst/dataprotocol/dataprotocol.h:
3597         * libs/gst/dataprotocol/dp-private.h:
3598         It's about time we bump the version number.
3599         Since event types don't fit in the guint8 anymore describing
3600         the payload type, make payload type 16 bits wide.
3601
3602 2005-10-08  Wim Taymans  <wim@fluendo.com>
3603
3604         * docs/design/part-TODO.txt:
3605         * docs/design/part-clocks.txt:
3606         * docs/design/part-events.txt:
3607         * docs/design/part-gstbin.txt:
3608         * docs/design/part-gstelement.txt:
3609         * docs/design/part-gstpipeline.txt:
3610         * docs/design/part-live-source.txt:
3611         * docs/design/part-messages.txt:
3612         * docs/design/part-overview.txt:
3613         * docs/design/part-states.txt:
3614         Many doc updates.
3615
3616 2005-10-08  Wim Taymans  <wim@fluendo.com>
3617
3618         * gst/gstevent.c:
3619         * gst/gstevent.h:
3620         Fix event quark registration.
3621         Add some space between events so we can insert them in the
3622         right groups.
3623
3624 2005-10-08  Wim Taymans  <wim@fluendo.com>
3625
3626         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3627         (gst_base_sink_handle_buffer):
3628         Better log message.
3629
3630         * gst/gstbus.h:
3631         * gst/gstelement.h:
3632         More docs.
3633
3634         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3635         (gst_queue_set_property), (gst_queue_get_property):
3636         * gst/gstqueue.h:
3637         Remove old unused properties.
3638
3639 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3640         * docs/gst/gstreamer-sections.txt:
3641         * gst/gstmessage.c:
3642         * gst/gstmessage.h:
3643         * gst/gstminiobject.c:
3644         * gst/gstminiobject.h:
3645         * gst/gstobject.h:
3646         * gst/gstpad.h:
3647         * gst/gstutils.h:
3648           lots of new docs and doc fixes
3649
3650 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3651
3652         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3653         * gst/gstplugin.h:
3654         * gst/gstregistry.c: (gst_registry_lookup_locked),
3655         (gst_registry_scan_path_level):
3656         * gst/gstregistryxml.c: (load_plugin):
3657           Only ever load one plugin for a given plugin basename.
3658           This ensures correct overriding of GST_PLUGIN_PATH over
3659           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3660           system installed plugins.
3661
3662 2005-10-08  Wim Taymans  <wim@fluendo.com>
3663
3664         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3665         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3666         Prepare for doing QOS.
3667
3668 2005-10-08  Wim Taymans  <wim@fluendo.com>
3669
3670         * check/gst/gstbin.c: (GST_START_TEST):
3671         * check/pipelines/cleanup.c: (GST_START_TEST):
3672         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3673         Allow new clock message too.
3674
3675 2005-10-08  Wim Taymans  <wim@fluendo.com>
3676
3677         * gst/gstmessage.c: (gst_message_new_error),
3678         (gst_message_new_warning), (gst_message_new_tag),
3679         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3680         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3681         (gst_message_new_segment_start), (gst_message_new_segment_done),
3682         (gst_message_parse_state_changed),
3683         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3684         (gst_message_parse_new_clock):
3685         * gst/gstmessage.h:
3686         Also carry the clock in question.
3687
3688 2005-10-08  Wim Taymans  <wim@fluendo.com>
3689
3690         * gst/gstmessage.c: (gst_message_new_custom),
3691         (gst_message_new_eos), (gst_message_new_error),
3692         (gst_message_new_warning), (gst_message_new_tag),
3693         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3694         (gst_message_new_new_clock), (gst_message_new_segment_start),
3695         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3696         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3697         * gst/gstmessage.h:
3698         Clean up.
3699         Added clock related messages.
3700
3701         * gst/gstpipeline.c: (gst_pipeline_change_state):
3702         Post message when the clock changed.
3703
3704         * tools/gst-launch.c: (event_loop):
3705         Print new clock.
3706
3707 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3708
3709         * tools/gst-inspect.c: (print_element_properties_info):
3710           Can't pass NULL strings to g_print() on windows.
3711
3712 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3713
3714         * docs/Makefile.am:
3715         * docs/gst/Makefile.am:
3716         * docs/gst/gstreamer-docs.sgml:
3717         * docs/gst/running.xml:
3718         * docs/version.entities.in:
3719           add a chapter on running GStreamer.
3720           document GST_DEBUG and GST_PLUGIN* env vars
3721
3722 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * Makefile.am:
3725           remove include dir
3726         * configure.ac:
3727           remove PLUGINS_BUILDDIR stuff
3728         * gst/gst.c: (init_post):
3729           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3730         * idiottest.mak:
3731           remove, it was condescending and not needed
3732
3733 2005-10-08  Wim Taymans  <wim@fluendo.com>
3734
3735         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3736         (gst_base_sink_handle_object), (gst_base_sink_event),
3737         (gst_base_sink_wait), (gst_base_sink_handle_event),
3738         (gst_base_sink_change_state):
3739         * gst/base/gstbasesink.h:
3740         Repost EOS message while going to PLAYING if still EOS.
3741         Make sure that when receiving a FLUSH_START we don't attempt
3742         to sync on the clock anymore.
3743
3744 2005-10-08  Wim Taymans  <wim@fluendo.com>
3745
3746         * tools/gst-launch.c: (event_loop):
3747         Better message printout.
3748
3749 2005-10-08  Wim Taymans  <wim@fluendo.com>
3750
3751         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3752         (gst_bin_child_proxy_get_children_count):
3753         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3754         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3755         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3756         (gst_child_proxy_set_valist):
3757         * gst/parse/grammar.y:
3758         Make ChildProxy threadsafe and fix mem leaks.
3759
3760 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3761
3762         * gst/gst.c: (init_post):
3763           debug the GST_PLUGIN_ env vars
3764
3765 2005-10-08  Wim Taymans  <wim@fluendo.com>
3766
3767         * check/gst/gstbin.c: (GST_START_TEST):
3768         * check/gst/gstmessage.c: (GST_START_TEST):
3769         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3770         * gst/gstelement.c: (gst_element_commit_state),
3771         (gst_element_lost_state):
3772         * gst/gstmessage.c: (gst_message_new_state_changed),
3773         (gst_message_parse_state_changed):
3774         * gst/gstmessage.h:
3775         * tools/gst-launch.c: (event_loop):
3776         Added extra field to STATE_CHANGE message with the pending
3777         state, which will be different from the new state soon.
3778
3779 2005-10-08  Wim Taymans  <wim@fluendo.com>
3780
3781         * gst/gstbus.c: (gst_bus_pop):
3782         * gst/gstclock.c:
3783         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3784         Small cleanups and doc updates.
3785
3786 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3787
3788         * gst/gst.c: (init_pre):
3789         * gst/gstbin.c: (gst_bin_add_func):
3790           log distributing clocks and base time
3791         * gst/gstregistry.c: (gst_registry_add_plugin),
3792         (gst_registry_scan_path_level), (gst_registry_scan_path):
3793           clean up the debugging output a little
3794         * gst/gstutils.c: (gst_element_state_get_name):
3795           warn about a memleak (I've actually seen this be used, though
3796           it was probably a bug)
3797
3798 2005-10-07  Wim Taymans  <wim@fluendo.com>
3799
3800         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3801         (gst_base_src_init), (gst_base_src_default_newsegment),
3802         (gst_base_src_newsegment), (gst_base_src_do_seek),
3803         (gst_base_src_loop), (gst_base_src_start):
3804         * gst/base/gstbasesrc.h:
3805         Make the newsegment event customizable by subclasses.
3806
3807 2005-10-07  Wim Taymans  <wim@fluendo.com>
3808
3809         * gst/gstevent.c: (gst_event_new_buffersize),
3810         (gst_event_parse_buffersize):
3811         * gst/gstevent.h:
3812         New event for future idea.
3813
3814 2005-10-07  Andy Wingo  <wingo@pobox.com>
3815
3816         * gst/gstelement.c (gst_element_post_message): Doc update.
3817
3818         * docs/gst/gstreamer-sections.txt: Update.
3819
3820         * gst/gstmessage.c (gst_message_new_application): Made into a
3821         function like honest API calls.
3822         (gst_message_new_element): New message type.
3823
3824         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3825
3826         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3827         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3828         times.
3829
3830         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3831         NO_PREROLL from gst_element_change_state to fall through.
3832
3833 2005-10-07  Wim Taymans  <wim@fluendo.com>
3834
3835         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3836         (gst_ghost_pad_do_activate_push):
3837         Activating a ghostpad with no internal pad in push mode
3838         is ok.
3839
3840 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3841
3842         * gst/gstobject.h:
3843           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3844           Fixes compilation on Windows.
3845
3846 2005-10-07  Michael Smith <msmith@fluendo.com>
3847
3848         * tools/gst-inspect.c:
3849           Print out feature and plugin count at the end when printing out
3850           all features.
3851
3852 2005-10-04  Michael Smith <msmith@fluendo.com>
3853
3854         * gst/gsterror.c: (_gst_stream_errors_init):
3855           Add another error string used in a few existing plugins.
3856
3857         * gst/gstplugin.c:
3858         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3859         * tools/gst-inspect.c: (print_element_info):
3860           When a feature disappears from a plugin (and the feature exists in
3861           the cached registry file), things went horribly wrong. This isn't a
3862           complete fix, we should actually be removing the 'missing' features
3863           from the features list when we load the actual plugin. That's not
3864           yet implemented. 
3865
3866 2005-10-04  Johan Dahlin  <johan@gnome.org>
3867
3868         * check/gst/gstiterator.c: (GST_START_TEST):
3869         * gst/gstbin.c: (gst_bin_iterate_elements),
3870         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
3871         * gst/gstelement.c: (gst_element_iterate_pads):
3872         * gst/gstformat.c: (gst_format_iterate_definitions):
3873         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3874         (gst_iterator_new_list), (gst_iterator_filter):
3875         * gst/gstiterator.h:
3876         * gst/gstquery.c: (gst_query_type_iterate_definitions):
3877         Add a GType to GstIterator, update callsites and tests.
3878
3879 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3880
3881         * gst/gstpad.c: (gst_pad_event_default_dispatch):
3882           give events a chance to be handled by event probes when the pad
3883           is not linked
3884
3885 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3886
3887         * gst/gstevent.c: (gst_event_type_get_name),
3888         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
3889         * gst/gstevent.h:
3890           add string representations for event types
3891
3892 2005-10-06  Wim Taymans  <wim@fluendo.com>
3893
3894         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
3895         Don't use NULL pointers.
3896
3897 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3898
3899         * gst/gst_private.h:
3900         * gst/gstbus.c:
3901         * gst/gstelement.c:
3902         * gst/gstinfo.c:
3903         * gst/gstpluginfeature.c:
3904           widen the debug category in output to fit the biggest one we have
3905           add a bus category and use it
3906           play with the colors
3907           fix up some categories
3908
3909 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3910
3911         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
3912           add push activation of sink ghost pads.
3913           Andye, please verify
3914
3915 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3916
3917         * gst/gstutils.c: (gst_element_link_pads):
3918           fix a bug in the case where neither element has a pad
3919         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3920           add a test for that case
3921
3922 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3923
3924         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
3925           emit have-data before checking for peers.  This allows
3926           for probe handlers to connect elements.  This helps autopluggers.
3927         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
3928         (gst_pad_suite):
3929           add six checks, linked/unlinked with no/true/false probe
3930
3931 2005-10-04  Wim Taymans  <wim@fluendo.com>
3932
3933         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
3934         (gst_fake_sink_event), (gst_fake_sink_preroll),
3935         (gst_fake_sink_render), (gst_fake_sink_change_state):
3936         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
3937         (gst_fake_src_get_property), (gst_fake_src_create),
3938         (gst_fake_src_stop):
3939         * gst/elements/gstidentity.c: (gst_identity_stop):
3940         Protect last_message with lock.
3941
3942 2005-10-04  Edward Hervey  <edward@fluendo.com>
3943
3944         * gst/gstformat.h: 
3945         Added precision in the comments for GST_FORMAT_DEFAULT
3946
3947 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
3948
3949         * tools/gst-launch.c: (main):
3950           Don't try to run erroneous pipelines.
3951
3952 2005-10-04  Julien MOUTTE  <julien@moutte.net>
3953
3954         * gst/gstbus.c: We don't need this header.
3955
3956 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3957
3958         * configure.ac:
3959           back to development
3960
3961 === release 0.9.3 ===
3962
3963 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3964
3965         * README:
3966         * configure.ac:
3967           Releasing 0.9.3, "Unregistered"
3968
3969 2005-10-03  Andy Wingo  <wingo@pobox.com>
3970
3971         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
3972         whereby calling a pad's activatepush() function can start a thread
3973         that starts to push or pull before the pad gets the FLUSHING flag
3974         unset. Hack around it by holding the stream lock until the flag is
3975         set. Need to replace this with a proper solution. Together with
3976         the ghost pad fixes, this fixes mp3 playing/tagreading.
3977
3978         * docs/design/part-gstghostpad.txt: Add a note about activation of
3979         proxy pads outside of ghost pads.
3980
3981         * gst/gstghostpad.c: Implement the ghost pad activation design.
3982
3983 2005-10-02  Andy Wingo  <wingo@pobox.com>
3984
3985         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
3986         It is volatile, after all.
3987
3988         * docs/design/part-gstghostpad.txt: Flesh out activation with
3989         ghost pads.
3990
3991         * gst/base/gstbasesrc.c (gst_base_src_init): Use
3992         GST_DEBUG_FUNCPTR.
3993
3994 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3995
3996         * configure.ac:
3997           Fix (unused) AM_CONDITIONAL tests.
3998
3999 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4000
4001         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4002
4003         * gst/gstutils.c: (gst_pad_query_convert):
4004           Add assertion that makes sure src_val is >=0, just like
4005           gst_query_new_convert() has. (#315895)
4006
4007 2005-09-30  Edward Hervey  <edward@fluendo.com>
4008
4009         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4010         Let's not iterate pads we're not interested in, it avoids getting 
4011         sky-high refcounts on sinkpad.
4012
4013 2005-09-30  Wim Taymans  <wim@fluendo.com>
4014
4015         * gst/gstelement.c: (gst_element_set_state),
4016         (gst_element_change_state):
4017         Small tweak, element in ASYNC remains ASYNC.
4018
4019 2005-09-30  Wim Taymans  <wim@fluendo.com>
4020
4021         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4022         Only error is an error.
4023
4024         * gst/gstbin.c: (gst_bin_change_state):
4025         Better debugging.
4026
4027         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4028         Also call pad_block in pad alloc.
4029
4030         * gst/gstutils.c: (gst_flow_get_name):
4031         Better debugging.
4032
4033 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4034
4035         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4036         (gst_base_src_get_range):
4037           Fix documentation typos. Add some more debug info.
4038
4039 2005-09-29  David Schleef  <ds@schleef.org>
4040
4041         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4042           more end-user friendly.
4043         * tools/gst-inspect.c: (main): Check if command-line argument is
4044           a file and attempt to load that file as a plugin.
4045
4046 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4047
4048         * check/gst/gstbin.c:
4049         * check/states/sinks.c:
4050           fix tests for the new warning
4051         * check/gst/gstpipeline.c:
4052           add a test for pipeline and bus interaction
4053         * gst/gstelement.c:
4054           elements should be NULL if they get disposed; add a warning if not
4055
4056 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4057
4058         * gst/gstobject.c:
4059           for 2.6 refcounting, make debug log more correct by printing
4060           the actual refcounts at the time of swap (Wim)
4061
4062 2005-09-29  Andy Wingo  <wingo@pobox.com>
4063
4064         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4065         removes signal watches previously added via
4066         gst_bus_add_signal_watch.
4067         (gst_bus_add_signal_watch): Don't return the source id, just store
4068         it on the bus if there wasn't an id already.
4069
4070         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4071         add_signal_watch and remove_signal_watch.
4072
4073 2005-09-29  Edward Hervey  <edward@fluendo.com>
4074
4075         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4076         Better if we actually iterate the list :)
4077
4078 2005-09-29  Wim Taymans  <wim@fluendo.com>
4079
4080         * check/gst/gstbin.c: (GST_START_TEST):
4081         Change for new bus API.
4082
4083         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4084         (send_messages), (GST_START_TEST), (gstbus_suite):
4085         Change for new bus signal API.
4086
4087         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4088         (gst_bus_source_prepare), (gst_bus_source_check),
4089         (gst_bus_create_watch), (gst_bus_add_watch_full),
4090         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4091         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4092         * gst/gstbus.h:
4093         Remove support for multiple GSources operating on different
4094         message types as it is too complex and unneeded when using
4095         signals.
4096         Added support for receiving signals from the bus.
4097
4098 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4099
4100         * docs/libs/tmpl/gstdataprotocol.sgml:
4101         * docs/manual/advanced-dataaccess.xml:
4102         * gst/elements/gstcapsfilter.c:
4103         * gst/gstutils.c:
4104           rename filter-caps to caps property
4105
4106 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4107
4108         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4109           More robust fraction string parsing.
4110
4111         * docs/pwg/appendix-porting.xml:
4112           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4113
4114 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4115
4116         * gst/gstcaps.c: (gst_caps_do_simplify):
4117           Thou shalt not free a structure and then continue using it
4118           in the next loop iteration.
4119
4120         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4121         (gst_caps_suite):
4122           Add test case for caps simplification.
4123
4124 2005-09-29  Wim Taymans  <wim@fluendo.com>
4125
4126         * check/gst/gstbin.c: (GST_START_TEST):
4127         Oops.
4128
4129 2005-09-29  Wim Taymans  <wim@fluendo.com>
4130
4131         * check/gst/gstbin.c: (GST_START_TEST):
4132         Add bus to bin.
4133
4134         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4135         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4136         (find_element), (gst_bin_sort_iterator_next),
4137         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4138         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4139         (gst_bin_change_state), (gst_bin_dispose):
4140         A bin does not have a bus, it gets the bus from the parent.
4141
4142         * gst/gstelement.c: (gst_element_requires_clock),
4143         (gst_element_provides_clock), (gst_element_is_indexable),
4144         (gst_element_is_locked_state), (gst_element_change_state),
4145         (gst_element_set_bus_func):
4146         Small cleanups.
4147
4148         * gst/gstpipeline.c: (gst_pipeline_class_init),
4149         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4150         The pipeline provides a bus.
4151
4152 2005-09-28  Johan Dahlin  <johan@gnome.org>
4153
4154         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4155         gst_structure_get_enum instead of gst_structure_get_int
4156
4157         * gst/gststructure.c (gst_structure_get_enum): Impl.
4158
4159         * gst/gststructure.h (gst_structure_get_enum): Add
4160
4161         * docs/gst/gstreamer-sections.txt: Ditto
4162
4163         * gst/gstmessage.c (gst_message_new_state_changed): Use
4164         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4165         which does introspection.
4166         Reviewed by Christian Schaller
4167
4168 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4169
4170         * gst/gstinfo.c: (gst_debug_log_default):
4171           don't do dummy g_strdup()s
4172         * libs/gst/controller/gstcontroller.c:
4173         (on_object_controlled_property_changed),
4174         (gst_controlled_property_new), (gst_controller_new_valist),
4175         (gst_controller_new_list),
4176         (gst_controller_remove_properties_valist), (gst_controller_set),
4177         (gst_controller_get), (gst_controller_sync_values),
4178         (gst_controller_get_value_array), (_gst_controller_class_init),
4179         (gst_controller_get_type):
4180         * libs/gst/controller/gstcontroller.h:
4181         * libs/gst/controller/gstinterpolation.c:
4182         (gst_controlled_property_find_timed_value_node):
4183           convert // to /**/ comments
4184
4185 2005-09-28  Wim Taymans  <wim@fluendo.com>
4186
4187         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4188         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4189         (gst_bus_sync_signal_handler):
4190         * gst/gstbus.h:
4191         Added async-message and sync-message signals to the bus.
4192         Added helper BusFunc to emit signals for all posted messages.
4193
4194         * gst/gstmessage.c: (gst_message_type_get_name),
4195         (gst_message_type_to_quark), (gst_message_get_type):
4196         * gst/gstmessage.h:
4197         Register quarks for message names.
4198
4199 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4200
4201         * docs/libs/gstreamer-libs-sections.txt:
4202         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4203         (gst_controller_new_list):
4204         * libs/gst/controller/gstcontroller.h:
4205           added another constructor for language bindings
4206
4207 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4208
4209         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4210           add another check
4211         * gst/gstbus.c:
4212           add some doc
4213         * gst/gstinfo.c: (_gst_debug_init):
4214           slightly more readable color for refcount debugging
4215
4216 2005-09-28  Wim Taymans  <wim@fluendo.com>
4217
4218         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4219         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4220         (find_element), (gst_bin_sort_iterator_next),
4221         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4222         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4223         (gst_bin_change_state), (gst_bin_dispose):
4224         Small doc fixes. get_clock -> provide_clock.
4225
4226         * gst/gstelement.c: (gst_element_class_init),
4227         (gst_element_provides_clock), (gst_element_provide_clock),
4228         (gst_element_get_clock), (gst_element_commit_state),
4229         (gst_element_lost_state):
4230         * gst/gstelement.h:
4231         Make get/set_clock() symetric. Add provide_clock vmethod since
4232         that is actually what this function does.
4233
4234         * gst/gstpipeline.c: (gst_pipeline_class_init),
4235         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4236         (gst_pipeline_get_clock):
4237         get_clock -> provide_clock.
4238
4239 2005-09-28  Andy Wingo  <wingo@pobox.com>
4240
4241         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4242         lieu of real docs...
4243
4244         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4245
4246 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4247
4248         * gst/elements/gstcapsfilter.c:
4249         * gst/elements/gstfakesink.c:
4250         * gst/elements/gstfakesrc.c:
4251         * gst/elements/gstfdsink.c:
4252         * gst/elements/gstfdsrc.c:
4253         * gst/elements/gstfilesink.c:
4254         * gst/elements/gstfilesrc.c:
4255         * gst/elements/gstidentity.c:
4256         * gst/elements/gsttee.c:
4257         * gst/elements/gsttypefindelement.c:
4258           Make element details static.
4259
4260 2005-09-28  Wim Taymans  <wim@fluendo.com>
4261
4262         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4263         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4264         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4265         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4266         (gst_bin_change_state), (gst_bin_dispose):
4267         Some documentation updates.
4268         Clean up dispose handlers.
4269
4270         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4271         * gst/gstpad.c: (gst_pad_dispose):
4272         Clean up dispose handler.
4273
4274         * gst/gstpipeline.c: (gst_pipeline_change_state):
4275         Removed spurious UNLOCK.
4276
4277 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4278
4279         * docs/gst/gstreamer-sections.txt:
4280         * gst/base/gstbasesrc.h:
4281         * gst/gstelement.h:
4282         * gst/gstevent.h:
4283         * gst/gstobject.h:
4284         * gst/gstpad.h:
4285         * gst/gstpipeline.c:
4286         * gst/gstpipeline.h:
4287         * gst/gstutils.h:
4288         * gst/gstxml.h:
4289           added two new functions to the docs
4290                 documents all undocumented GstXXXFlags
4291                 completed some incomplete docs 
4292
4293 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4294
4295         * gst/gstbin.c: (gst_bin_dispose):
4296         * gst/gstelement.c: (gst_element_dispose):
4297           remove now useless and leaky resurrection code in dispose
4298         * gst/base/gstbasesrc.c: (gst_base_src_init):
4299         * gst/gstelementfactory.c: (gst_element_factory_create):
4300         * gst/gstobject.c: (gst_object_set_parent):
4301           add some debugging
4302
4303 2005-09-27  Wim Taymans  <wim@fluendo.com>
4304
4305         * docs/design/part-TODO.txt:
4306         Update TODO.
4307
4308         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4309         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4310         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4311         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4312         (gst_bin_change_state):
4313         * gst/gstelement.h:
4314         Remove element variable, we keep element info in the iterator now.
4315
4316 2005-09-27  Andy Wingo  <wingo@pobox.com>
4317
4318         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4319         values.
4320
4321 2005-09-27  Wim Taymans  <wim@fluendo.com>
4322
4323         * check/gst/gstbin.c: (GST_START_TEST):
4324         Enable check that works now.
4325
4326         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4327         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4328         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4329         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4330         (gst_bin_change_state):
4331         * gst/gstbin.h:
4332         Redid the state change algorithm using a topological sort algo.
4333         Handles all cases correctly.
4334         Exposed iterator for state change order.
4335
4336         * gst/gstelement.h:
4337         Temp storage for state changes. Need to get rid of this soon.
4338
4339 2005-09-27  Wim Taymans  <wim@fluendo.com>
4340
4341         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4342         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4343         (link_fold_func), (gst_pad_proxy_setcaps):
4344         Leak fixes, the fold functions need to unref the passed object and
4345         _get_parent_*() returns ref to parent.
4346
4347 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4348
4349         * check/gst/gstbuffer.c: (test_make_writable):
4350           Plug leak in test case and fix 'make check-valgrind'
4351
4352 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4353
4354         * gst/gstbuffer.c: (gst_subbuffer_init):
4355           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4356           works correctly in all circumstances (we could have just copied
4357           the parent buffer's readonly flag, but conceptually it seems
4358           cleaner to mark all subbuffers as read-only). (based on patch
4359           by Alessandro Decina, #314710).
4360         
4361         * check/gst/gstbuffer.c: (create_read_only_buffer),
4362         (test_make_writable), (test_subbuffer_make_writable),
4363         (gst_test_suite):
4364           Add some tests for gst_buffer_make_writable().
4365
4366 2005-09-27  Wim Taymans  <wim@fluendo.com>
4367
4368         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4369         use gst_object_has_ancestor().
4370
4371         * gst/gstobject.c: (gst_object_has_ancestor):
4372         * gst/gstobject.h:
4373         gst_object_has_ancestor() copied from gstbin.c as it is a
4374         usefull function.
4375
4376         * tests/instantiate/create.c: (create_all_elements):
4377         * tests/lat.c: (handoff_src), (handoff_sink):
4378         * tests/sched/runxml.c: (main):
4379         * tests/seeking/seeking1.c: (main):
4380         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4381         (main):
4382         Fix compilation of some tests.
4383
4384 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4385
4386         * gst/gsterror.h:
4387           Remove comment. GST_TYPE_G_ERROR is here to stay,
4388           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4389           (#316961, #300610).
4390
4391 2005-09-26  Wim Taymans  <wim@fluendo.com>
4392
4393         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4394         Added check that shows error in state change order.
4395
4396 2005-09-26  Wim Taymans  <wim@fluendo.com>
4397
4398         * gst/gstbin.c: (gst_bin_change_state):
4399         Make state change function use 3 queues again, we were
4400         adding elements in the wrong order.
4401
4402         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4403         Some debug info,
4404
4405         * gst/gstpad.c: (gst_pad_dispose):
4406         Added some debug info first.
4407
4408 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4409
4410         * docs/design/draft-push-pull.txt:
4411         * docs/design/part-events.txt:
4412         * docs/design/part-overview.txt:
4413         * docs/design/part-scheduling.txt:
4414           Replace all _pull_region() with _pull_range()
4415           
4416 2005-09-26  Andy Wingo  <wingo@pobox.com>
4417
4418         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4419
4420         * check/gst-libs/controller.c: Update for controller api change.
4421
4422         * configure.ac: 
4423         * tests/Makefile.am:
4424         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4425         over by GLib bug 118439.
4426         
4427         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4428         routines to a function.
4429
4430         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4431
4432         * libs/gst/controller/gsthelper.c:
4433         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4434         (gst_object_sync_values): Renamed from sink_values. Ugh.
4435
4436         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4437
4438         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4439         Renamed from controller_key, as it is exported.
4440
4441         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4442
4443 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4444
4445         * gst/Makefile.am:
4446         * gst/gst.h:
4447         * gst/gstpad.h:
4448         * gst/gstpadtemplate.h:
4449         * gst/gstquery.c:
4450         * gst/gstquery.h:
4451         * gst/gstqueryutils.c:
4452         * gst/gstqueryutils.h:
4453           remove queryutils headers after moving the two used functions
4454           to gstquery.  also fixes build problem for gstsiddec
4455
4456 2005-09-26  Michael Smith <msmith@fluendo.com>
4457
4458         * tools/gst-launch.1.in:
4459         Correct documentation in manpage of debug syntax
4460
4461 2005-09-26  Wim Taymans  <wim@fluendo.com>
4462
4463         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4464         (gst_base_src_is_seekable), (gst_base_src_change_state):
4465         Some more debugging info.
4466
4467 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4468
4469         * docs/gst/gstreamer-sections.txt:
4470         * gst/base/gstbasetransform.h:
4471         * gst/gstindex.h:
4472           added more docs
4473
4474 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4475
4476         * docs/gst/.cvsignore:
4477         * docs/gst/tmpl/.cvsignore:
4478         * docs/gst/tmpl/gstpipeline.sgml:
4479         * docs/gst/tmpl/gstplugin.sgml:
4480         * gst/gstpipeline.c:
4481         * gst/gstplugin.c:
4482         * gst/gstplugin.h:
4483           inlined the last two docs files
4484           removed the tmpl directory from cvs (no more conflicts here!)
4485
4486 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4487
4488         * docs/gst/gstreamer-sections.txt:
4489         * docs/gst/tmpl/.cvsignore:
4490         * docs/gst/tmpl/gstpad.sgml:
4491         * docs/gst/tmpl/gstpadtemplate.sgml:
4492         * gst/Makefile.am:
4493         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4494         (gst_pad_finalize), (gst_pad_set_pad_template):
4495         * gst/gstpad.h:
4496         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4497         (gst_pad_template_class_init), (gst_pad_template_init),
4498         (gst_pad_template_dispose), (name_is_valid),
4499         (gst_static_pad_template_get), (gst_pad_template_new),
4500         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4501         (gst_pad_template_pad_created):
4502         * gst/gstpadtemplate.h:
4503           inlined two more docs
4504           factored gstpadtemplate out of gstpad
4505
4506 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4507
4508         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4509         (test_children_state_change_order_semi_sink):
4510           Fix test case: we can't rely on a fixed state change order when
4511           going from READY => PAUSED because the sink might commit its 
4512           new state first when the first buffer created by the source 
4513           reaches the sink before the source has finished its change state.
4514           (Test case still fails at times, see #316856, comment 5 onwards)
4515
4516 2005-09-24  Wim Taymans  <wim@fluendo.com>
4517
4518         * docs/design/part-events.txt:
4519         * docs/design/part-gstbus.txt:
4520         * docs/design/part-gstpipeline.txt:
4521         * docs/design/part-messages.txt:
4522         * docs/design/part-overview.txt:
4523         * docs/design/part-segments.txt:
4524         * gst/gstbin.c:
4525         * gst/gstbuffer.c:
4526         * gst/gstclock.c:
4527         * gst/gstelement.c:
4528         * gst/gstevent.c:
4529         * gst/gstfilter.c:
4530         * gst/gstiterator.c:
4531         Various documentation updates.
4532
4533 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4534
4535         * gst/gstclock.h:
4536           Well, that's embarassing.  Luckily we weren't using
4537           GST_CLOCK_DIFF anywhere.
4538
4539 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4540
4541         * common/gtk-doc.mak:
4542           don't fail on building XML, FC4 slave shows a bunch of doc
4543           missing bits that I don't get
4544         * gst/gstpad.c:
4545         * gst/gstpipeline.c:
4546         * gst/gststructure.c:
4547           some doc updates
4548
4549 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * docs/design/part-gstbin.txt:
4552         * docs/design/part-gstbus.txt:
4553         * gst/gstbus.c:
4554           Add blurb about how the bus goes into flushing mode and
4555           drops all messages when its bin goes from READY into NULL 
4556           state.
4557
4558 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4559
4560         * docs/gst/gstreamer-sections.txt:
4561         * gst/gststructure.c: (gst_structure_get_clock_time):
4562         * gst/gststructure.h:
4563           add a method to get a GstClockTime out of a structure
4564
4565 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4566
4567         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4568         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4569           Added test to check state change order in bins (can still be made
4570           to fail here under heavy disk load; bails out with 'Push on pad
4571           fakesink:sink0, but it was not activated in push mode').
4572
4573         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4574           Fix state change order when there is only a semi sink (#316856)
4575
4576         * gst/gstbus.c: (gst_bus_class_init):
4577           Use _class_peek_parent(), not _class_ref(); fix docs to say
4578           'default main context' instead of 'mainloop' where that is
4579           what's meant.
4580
4581         * gst/gstelement.c: (gst_element_commit_state),
4582         (gst_element_set_state):
4583           Fix typos in debug messages
4584
4585 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4586
4587         * docs/README:
4588         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4589         * gst/gstpluginfeature.c:
4590         * gst/gstutils.c:
4591           various doc updates
4592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4593           change an assert into an error until it gets fixed properly
4594
4595 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4596
4597         * docs/gst/gstreamer-sections.txt:
4598         * docs/gst/tmpl/.cvsignore:
4599         * docs/gst/tmpl/gstelement.sgml:
4600         * docs/gst/tmpl/gstinfo.sgml:
4601         * docs/gst/tmpl/gstobject.sgml:
4602         * gst/gstelement.c:
4603         * gst/gstelement.h:
4604         * gst/gstinfo.c:
4605         * gst/gstinfo.h:
4606         * gst/gstobject.c: (gst_object_class_init):
4607         * gst/gstobject.h:
4608           inlined 3 more biiiig doc files and added some missing docs on the fly
4609
4610 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4611
4612         * check/gst/.cvsignore:
4613         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4614         * gst/gstregistryxml.c: (load_plugin),
4615         (gst_registry_xml_save_plugin):
4616           put back source in registry.  add checks for find_plugin.
4617         * testsuite/states/bin.c: (assert_state), (empty_bin),
4618         (test_adding_one_element), (main):
4619         * testsuite/states/locked.c: (main):
4620           some compile/run fixes
4621
4622 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4623
4624         * check/gst/gstvalue.c: (GST_START_TEST):
4625           fix leaks in the test itself
4626
4627 2005-09-22  Wim Taymans  <wim@fluendo.com>
4628
4629         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4630         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4631         (gst_base_sink_query):
4632         Prepare for more accurate position reporting and query
4633         handling.
4634
4635         * gst/gstelement.c: (gst_element_send_event),
4636         (gst_element_set_state):
4637         Add some comment.
4638
4639 2005-09-22  Wim Taymans  <wim@fluendo.com>
4640
4641         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4642         (gst_query_parse_segment):
4643         * gst/gstquery.h:
4644         More documentation.
4645         Add segment query for future use.
4646
4647 2005-09-22  Wim Taymans  <wim@fluendo.com>
4648
4649         * gst/gstbin.c: (gst_bin_add_func):
4650         Some more debug info.
4651
4652         * gst/gstelement.c: (gst_element_send_event):
4653         Simplify send_event
4654
4655         * gst/gstelement.h:
4656         Don't know how flags got broken.
4657
4658         * gst/gstquery.h:
4659         Added new query.
4660
4661 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4662
4663         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4664           Add simplistic test suite for GST_TYPE_DATE serialisation and
4665           deserialisation.
4666
4667 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4668
4669         * docs/gst/gstreamer-sections.txt:
4670         * gst/gststructure.c: (gst_structure_set_valist),
4671         (gst_structure_get_date):
4672         * gst/gststructure.h:
4673         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4674         (gst_date_copy), (gst_value_compare_date),
4675         (gst_value_serialize_date), (gst_value_deserialize_date),
4676         (gst_value_transform_date_string),
4677         (gst_value_transform_string_date), (_gst_value_initialize):
4678         * gst/gstvalue.h:
4679           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4680           bunch of utility functions along with a hack that checks that
4681           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4682           is required. Part of the grand scheme in #170777.
4683
4684 2005-09-22  Andy Wingo  <wingo@pobox.com>
4685
4686         * gst/gstconfig.h.in: Psych out gtk-doc.
4687
4688         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4689
4690         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4691
4692         * tools/gst-inspect.c (print_element_list): Plug some
4693         inconsequential leaks.
4694
4695         * gst/gstregistry.c (gst_registry_get_default): Doc.
4696
4697         * check/gst/gstplugin.c: 
4698         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4699         * gst/gstelementfactory.c (gst_element_factory_create): 
4700         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4701         refcount changes.
4702
4703         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4704         (gst_plugin_feature_load): Doc, don't eat refs.
4705
4706         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4707         (gst_plugin_list_free): Doc.
4708         (gst_plugin_load_file): Doc updates.
4709
4710         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4711         accessors returning refcounted objects, return a ref.
4712
4713         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4714         accessor for caps. IDEMPOTENCE. Oh yes.
4715
4716 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4717
4718         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4719
4720         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4721         (_gst_debug_register_funcptr):
4722           Add mutex to serialise access to the hash table with
4723           the function pointer => function name string mapping;
4724           make that hash table static scope (#316809).
4725
4726         * gst/registries/.cvsignore:
4727           Remove left-over file.
4728
4729 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4730
4731         * docs/pwg/appendix-porting.xml:
4732           And something about newsegment events and caps-on-buffers to
4733           the porting guide (feel free to improve).
4734
4735 2005-09-21  Andy Wingo  <wingo@pobox.com>
4736
4737         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4738         data and event probes on the same pad.
4739         (test_buffer_probe_once): Test that removing probes from within
4740         the probe functions works.
4741
4742 2005-09-21  Andy Wingo  <wingo@pobox.com>
4743
4744         * check/gst/gstutils.c: New file.
4745         (test_buffer_probe_n_times): A simple buffer probe test. More to
4746         come, foolios.
4747
4748         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4749         have-data::buffer, not have-data.
4750         (gst_pad_add_event_probe): Likewise for have-data::event.
4751         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4752         peer' isn't quite right yet though.
4753         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4754         (gst_pad_remove_data_probe): Change to take the guint handler_id
4755         as their arg, not the function+data, which is more glib-like.
4756
4757         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4758         the signal emission to indicate if the data is a buffer or an
4759         event.
4760         (gst_pad_get_type): Initialize buffer and event quarks.
4761         (gst_pad_class_init): have-data is now a detailed signal, yes it
4762         is.
4763
4764 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4765
4766         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4767         * gst/gstutils.c: (gst_util_set_value_from_string),
4768         (gst_util_set_object_arg):
4769           Don't put functional code in g_return_if_fail() or
4770           g_return_val_if_fail() statements, otherwise things will 
4771           break when G_DISABLE_CHECKS is defined during compilation.
4772
4773 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4774
4775         * docs/gst/tmpl/.cvsignore:
4776         * docs/gst/tmpl/gstvalue.sgml:
4777         * gst/gstvalue.c:
4778         * gst/gstvalue.h:
4779           inlied another one and added  some obvious docs
4780
4781 2005-09-21  Wim Taymans  <wim@fluendo.com>
4782
4783         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4784         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4785         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4786         (gst_fdsrc_get_property), (gst_fdsrc_create):
4787         * gst/elements/gstfdsrc.h:
4788         Properly implement fdsrc. Removed signal and timeout,
4789         better implemented somewhere else.
4790
4791 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4792
4793         * docs/gst/tmpl/.cvsignore:
4794         * docs/gst/tmpl/gstimplementsinterface.sgml:
4795         * gst/gstinterface.c:
4796           inlined more docs
4797
4798 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4799
4800         * docs/gst/gstreamer-sections.txt:
4801         * docs/gst/tmpl/.cvsignore:
4802         * docs/gst/tmpl/gstenumtypes.sgml:
4803           remove obsolete doc file
4804
4805 2005-09-21  David Schleef  <ds@schleef.org>
4806
4807         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4808         little beer, fix a little leak.
4809
4810 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4811
4812         * docs/gst/gstreamer-docs.sgml:
4813         * docs/gst/gstreamer-sections.txt:
4814         * docs/gst/tmpl/.cvsignore:
4815         * gst/Makefile.am:
4816         * gst/gst.h:
4817         * gst/gstbin.c:
4818         * gst/gstelement.h:
4819         * gst/gstindex.c: (gst_index_class_init):
4820         * gst/gstindex.h:
4821         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4822         (gst_index_factory_class_init), (gst_index_factory_init),
4823         (gst_index_factory_finalize), (gst_index_factory_new),
4824         (gst_index_factory_destroy), (gst_index_factory_find),
4825         (gst_index_factory_create), (gst_index_factory_make):
4826         * gst/gstindexfactory.h:
4827         * gst/gstpluginfeature.c:
4828         * gst/gstpluginfeature.h:
4829         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4830           more docs inlined, splitted gstindex.{c,h}
4831
4832 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4833
4834         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4835           fix a leak
4836
4837 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4838
4839         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4840           Set sync to FALSE by default.
4841
4842 2005-09-20  Wim Taymans  <wim@fluendo.com>
4843
4844         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4845         (gst_base_sink_init):
4846         Make sync property settable from subclass.
4847
4848         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4849         (gst_fake_sink_change_state):
4850         Set sync to FALSE by default.
4851
4852 2005-09-20  Wim Taymans  <wim@fluendo.com>
4853
4854         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
4855         * tools/gst-launch.c: (main):
4856         The timeout handler should have lower priority than the source
4857         so we don't timeout before popping a message with 0 timeout.
4858         Dump error messages after failed state change.
4859
4860 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4861
4862         * tools/gst-inspect.c: (print_element_properties_info):
4863           Fix two typos.
4864
4865 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4866
4867         * check/gst/gstevent.c:
4868         * gst/elements/gstfakesink.c:
4869         * gst/elements/gstfakesink.h:
4870           remove the sync property from fakesink.
4871           has the side effect of setting sync TRUE
4872           for fakesink, which is a change.  Anyone who knows how
4873           to fix this nicely in a GObject-y way, feel free.
4874
4875 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4876
4877         * docs/gst/gstreamer-docs.sgml:
4878           remove probe refsection
4879
4880 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4881
4882         * check/Makefile.am:
4883           disable valgrinding the controller test again
4884         * docs/gst/gstreamer-sections.txt:
4885           update for api-changes
4886
4887 2005-09-20  Wim Taymans  <wim@fluendo.com>
4888
4889         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4890         (gst_base_sink_set_property), (gst_base_sink_get_property),
4891         (gst_base_sink_do_sync):
4892         * gst/base/gstbasesink.h:
4893         Added sync property to basesink to disable clock sync.
4894
4895 2005-09-20  Andy Wingo  <wingo@pobox.com>
4896
4897         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
4898         eating the caller's refcount.
4899
4900         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
4901         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4902         refcount.
4903
4904         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
4905         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
4906         of GLib 2.8 public, so we can know which refcount to check in
4907         tests.
4908
4909         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
4910         (gst_object_init): Only set the gst refcount if we're going ahead
4911         with the refcount hack.
4912
4913 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4914
4915         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4916         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4917           more leaks plumbed, added more debug-logging
4918         * gst/gstmacros.h:
4919           whitespace fix
4920
4921 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4922
4923         * gst/gstmessage.c:
4924           remove include of gstmemchunk.h
4925
4926 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4927
4928         * gst/gstclock.c: (_gst_clock_id_free):
4929           Commit from the Political Party For More Atomic CVS Commits,
4930           so that people don't waste too much of their day fishing
4931           out obvious leaks out of massive commits.
4932           Oh, and fix a pretty damn obvious leak in the memchunk
4933           removal code.
4934
4935 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4936
4937         * check/Makefile.am:
4938         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4939           plug mem-leak, re-add to valgrindable tests
4940
4941 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4942
4943         * gst/gstplugin.h:
4944           unbreak the build for those who have chronic arthritis
4945           and typing "make check" is just too taxing on the hands
4946
4947 2005-09-20  Andy Wingo  <wingo@pobox.com>
4948
4949         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
4950         really want it out, you should fix plugins at the same time.
4951
4952 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
4953
4954         * configure.ac:
4955         * docs/gst/gstreamer-sections.txt:
4956         * gst/gstobject.c:
4957           added missing symbols to api docs
4958           disable ref-count hack if we have glib >= 2.8
4959
4960 2005-09-19  David Schleef  <ds@schleef.org>
4961
4962         * docs/gst/Makefile.am: Ignore a few more internal headers
4963         * docs/gst/gstreamer-docs.sgml: Remove old sections
4964         * docs/gst/gstreamer-sections.txt: Remove old sections
4965         * docs/gst/tmpl/gstobject.sgml: update
4966         * docs/gst/tmpl/gstplugin.sgml: update
4967         * docs/gst/tmpl/gstpluginfeature.sgml: update
4968         * docs/random/ds/0.9-suggested-changes: update.
4969         * gst/Makefile.am: remove memchunk and trashstack, since they're
4970           not used.
4971         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
4972         * gst/gst.h: don't include some headers
4973         * gst/gstchildproxy.c: add gstmarshal.h
4974         * gst/gstclock.c: Don't use memchunks
4975         * gst/gstminiobject.c: Add some docs
4976         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
4977         * gst/gstobject.h: same
4978         * gst/gstplugin.c: include gstmacros.h
4979         * gst/gstplugin.h: don't include gstmacros.h, since it's private
4980         * gst/gstquery.c: don't use memchunks
4981         * gst/gstregistry.c: rename gst_registry_deinit()
4982         * gst/gstregistry.h: same
4983
4984 2005-09-19  David Schleef  <ds@schleef.org>
4985
4986         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
4987         * docs/libs/gstreamer-libs-sections.txt:
4988         * docs/libs/tmpl/gstgetbits.sgml:
4989         * docs/libs/tmpl/gstputbits.sgml:
4990
4991 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4992
4993         * win32/gstenumtypes.c:
4994         * win32/gstenumtypes.h:
4995           Update.
4996
4997 2005-09-19  Wim Taymans  <wim@fluendo.com>
4998
4999         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5000         Automatically PAUSE and RESUME a pipeline when a flushing seek
5001         is performed.
5002
5003 2005-09-19  Andy Wingo  <wingo@pobox.com>
5004
5005         * gst/gstregistry.h: Spacing fixen.
5006
5007 2005-09-19  Wim Taymans  <wim@fluendo.com>
5008
5009         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5010         Handle state change failure more correctly.
5011
5012 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5013
5014         * check/Makefile.am:
5015         * check/pipelines/cleanup.c: (run_pipeline):
5016         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5017         (GST_START_TEST):
5018           enable cleanup again after fixing the leak
5019         * docs/README:
5020           some more info on docs
5021
5022 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5023
5024         * check/Makefile.am:
5025           re-enable tests now that leaks are plugged
5026         * check/gst/gst.c:
5027         * check/gst/gstbin.c:
5028         * check/gst/gstpipeline.c:
5029           add some more tests while fixing leaks
5030         * common/check.mak:
5031           make sure binaries are uptodate when valgrinding/gdbing
5032         * gst/gst.c:
5033         * gst/gstelementfactory.c:
5034           remove a ref too many, and add a FIXME for when we get
5035           round to disposing of classes
5036         * gst/gstplugin.c:
5037           fix the refcounting when loading a plugin from a file and
5038           the code pretends that the pointer is the same even though
5039           of course it can change
5040         * gst/gstpluginfeature.c:
5041           unref plugins marked cached (a bit confusing as a name)
5042           as the docs state should be done
5043           various doc additions to explain refcounting
5044         * gst/gstregistry.c:
5045         * gst/gstregistryxml.c:
5046           debugging
5047
5048 2005-09-19  Wim Taymans  <wim@fluendo.com>
5049
5050         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5051         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5052         (send_messages), (GST_START_TEST), (gstbus_suite):
5053         * check/gst/gstpipeline.c: (GST_START_TEST):
5054         * check/pipelines/cleanup.c: (run_pipeline):
5055         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5056         (GST_START_TEST):
5057         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5058         (gst_bus_source_check), (gst_bus_source_dispatch),
5059         (gst_bus_create_watch), (gst_bus_add_watch_full),
5060         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5061         * gst/gstbus.h:
5062         * tools/gst-launch.c: (event_loop):
5063         * tools/gst-md5sum.c: (event_loop):
5064         GstBusHandler -> GstBusFunc, return value has the same meaning as
5065         any other GSource (FALSE == remove source).
5066         _add_watch() and _add_watch_full() now take a MessageType mask to
5067         only handle specific types of messages.
5068         _poll() returns the GstMessage instead of the message type to avoid
5069         race conditions.
5070         _have_pending() takes a MessageType mask now too.
5071         Added testsuite for multiple bus watches.
5072         Fix testsuites and applications for new bus API.
5073
5074 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         * check/Makefile.am:
5077           mark a bunch of the tests as to fix until we fix them
5078
5079 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5080
5081         * common/check.mak:
5082           use GST_PLUGIN settings for valgrind tests as well, so we're
5083           valgrinding the correct thing
5084         * gst/gst.c: (init_post):
5085           plug another leak
5086
5087 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5088
5089         * gst/gst.c: (init_post), (gst_deinit):
5090         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5091         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5092         * gst/gstindex.c: (gst_index_factory_class_init),
5093         (gst_index_factory_finalize):
5094         * gst/gstobject.c: (gst_object_dispose):
5095         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5096         (gst_plugin_load_file), (gst_plugin_desc_free):
5097         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5098         (gst_plugin_feature_finalize):
5099         * gst/gstregistry.c: (gst_registry_class_init),
5100         (gst_registry_init), (gst_registry_finalize),
5101         (gst_registry_get_default), (gst_registry_deinit):
5102         * gst/gstregistry.h:
5103         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5104           various cleanups and memleak plugging.  make valgrind is happy now.
5105
5106 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5107
5108         * common/check.mak:
5109           add a check-valgrind target
5110
5111 2005-09-18  David Schleef  <ds@schleef.org>
5112
5113         * tools/gst-inspect.c: Revert the GOption code.
5114
5115 2005-09-17  David Schleef  <ds@schleef.org>
5116
5117         * check/Makefile.am: Fix environment variables.
5118         * check/gst/gstplugin.c: Fix for API changes.
5119         * tools/gst-inspect.c: Fix for API changes.
5120         * tools/gst-xmlinspect.c: Fix for API changes.
5121         * gst/gstelementfactory.c:
5122         * gst/gstplugin.c:
5123         * gst/gstplugin.h:
5124         * gst/gstpluginfeature.c:
5125         * gst/gstpluginfeature.h:
5126         * gst/gstregistry.c:
5127         * gst/gstregistry.h:
5128         * gst/gstregistryxml.c:
5129         * gst/gsttypefind.c:
5130         * gst/gsttypefindfactory.c:
5131         * gst/indexers/gstfileindex.c:
5132         * gst/indexers/gstmemindex.c:
5133         * gst/schedulers/Makefile.am:
5134           Change registry to keep track of both plugins and features,
5135           removing the feature tracking from plugins themselves.
5136
5137 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5138
5139         * check/Makefile.am:
5140         * tools/gst-register.1.in:
5141           remove gst-register
5142
5143 2005-09-15  David Schleef  <ds@schleef.org>
5144
5145         * check/gst/gstplugin.c:
5146         * gst/gstelementfactory.c:
5147         * gst/gstplugin.c:
5148         * gst/gstpluginfeature.c:
5149         * gst/gstregistry.c:
5150           Getting tired of debugging.  Disabled all the unreffing of
5151           plugins and features, which fixes the segfaults, but of
5152           course leaks like crazy.  At least playbin works.
5153
5154 2005-09-15  David Schleef  <ds@schleef.org>
5155
5156         * check/gst/gstplugin.c: (register_check_elements),
5157         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5158         More testing
5159         * gst/elements/gsttypefindelement.c: Fix refcounting.
5160         * gst/gsttypefind.c:
5161         * gst/gsttypefindfactory.c:
5162         * gst/gsttypefindfactory.h:
5163
5164 2005-09-15  David Schleef  <ds@schleef.org>
5165
5166         * gst/gstindex.c: get refcounting correct.
5167         * gst/gstregistry.c: Handle the case where a feature/plugin is
5168           not found.
5169
5170 2005-09-15  David Schleef  <ds@schleef.org>
5171
5172         * check/Makefile.am:
5173         * check/gst/gstplugin.c: Add test
5174         * gst/gstplugin.c: Fix problems noticed by testsuite
5175         * gst/gstplugin.h:
5176         * gst/gstregistry.c: 
5177         * gst/gstregistry.h:
5178
5179 2005-09-15  David Schleef  <ds@schleef.org>
5180
5181         * gst/gstplugin.c: Implement semi-decent recounting and locking
5182           in plugins and plugin features.
5183         * gst/gstplugin.h:
5184         * gst/gstpluginfeature.c:
5185         * gst/gstpluginfeature.h:
5186         * gst/gstregistry.c:
5187
5188 2005-09-15  Michael Smith <msmith@fluendo.com>
5189
5190         * gst/gstregistry.c: (gst_registry_get_feature_list):
5191           Implement this. Makes oggdemux work; decodebin still broken.
5192
5193 2005-09-14  David Schleef  <ds@schleef.org>
5194
5195         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5196           #316076)
5197         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5198         * gst/check/Makefile.am:
5199         * libs/gst/controller/Makefile.am:
5200         * libs/gst/dataprotocol/Makefile.am:
5201
5202 2005-09-14  David Schleef  <ds@schleef.org>
5203
5204         * configure.ac: Remove getbits library.  Nothing uses it, and
5205           it should be in something like liboil if someone did want
5206           to use it.
5207         * libs/gst/Makefile.am:
5208         * libs/gst/getbits/Makefile.am:
5209         * libs/gst/getbits/gbtest.c:
5210         * libs/gst/getbits/getbits.c:
5211         * libs/gst/getbits/getbits.h:
5212         * libs/gst/getbits/gstgetbits_generic.c:
5213         * libs/gst/getbits/gstgetbits_i386.s:
5214         * libs/gst/getbits/gstgetbits_inl.h:
5215
5216 2005-09-14  David Schleef  <ds@schleef.org>
5217
5218         * gst/Makefile.am: Dist glib-compat.h
5219
5220 2005-09-14  David Schleef  <ds@schleef.org>
5221
5222         * configure.ac: Remove gst/registries, since it's no longer used.
5223         * gst/registries/Makefile.am:
5224         * gst/registries/gstlibxmlregistry.c:
5225         * gst/registries/gstlibxmlregistry.h:
5226         * gst/registries/gstxmlregistry.c:
5227         * gst/registries/gstxmlregistry.h:
5228         * gst/registries/registrytest.c:
5229
5230 2005-09-14  David Schleef  <ds@schleef.org>
5231
5232         * gst/glib-compat.h:
5233         * gst/gstregistryxml.c:
5234           Convergence is near.  Seriously.
5235
5236 2005-09-14  David Schleef  <ds@schleef.org>
5237
5238         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5239         * gst/glib-compat.h:
5240           Attempt #4 to appease the buildbots.
5241
5242 2005-09-14  David Schleef  <ds@schleef.org>
5243
5244         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5245           Attempt #3.
5246
5247 2005-09-14  David Schleef  <ds@schleef.org>
5248
5249         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5250         Attempt #2.
5251
5252 2005-09-14  David Schleef  <ds@schleef.org>
5253
5254         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5255           the new functions.
5256
5257 2005-09-14  David Schleef  <ds@schleef.org>
5258
5259         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5260         * gst/glib-compat.h: Add some functions that are in newer versions
5261           of glib than we care to require.
5262         * gst/gstregistryxml.c: Use them.
5263
5264 2005-09-14  David Schleef  <ds@schleef.org>
5265
5266         * po/POTFILES.in: remove gst-register.c
5267
5268 2005-09-14  David Schleef  <ds@schleef.org>
5269
5270         * docs/gst/gstreamer-docs.sgml:
5271         * docs/gst/gstreamer-sections.txt:
5272         * docs/gst/gstreamer.types:
5273         * docs/gst/tmpl/gstelement.sgml:
5274         * docs/gst/tmpl/gstplugin.sgml:
5275         * docs/gst/tmpl/gstpluginfeature.sgml:
5276           Documentation updates for registry changes.
5277
5278 2005-09-14  David Schleef  <ds@schleef.org>
5279
5280         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5281           because we don't require glib-2.8.
5282
5283 2005-09-14  David Schleef  <ds@schleef.org>
5284
5285         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5286           registries directory.
5287
5288 2005-09-14  David Schleef  <ds@schleef.org>
5289
5290         * check/Makefile.am:
5291         * check/generic/states.c:
5292         * gst/Makefile.am:
5293         * gst/gst.c:
5294         * gst/gst.h:
5295         * gst/gst_private.h:
5296         * gst/gstelementfactory.c:
5297         * gst/gstindex.c:
5298         * gst/gstinfo.c:
5299         * gst/gstplugin.c:
5300         * gst/gstplugin.h:
5301         * gst/gstpluginfeature.c:
5302         * gst/gstpluginfeature.h:
5303         * gst/gstregistry.c:
5304         * gst/gstregistry.h:
5305         * gst/gstregistrypool.c: remove
5306         * gst/gstregistrypool.h: remove
5307         * gst/gsttypefind.c:
5308         * gst/gsttypefindfactory.c:
5309         * gst/gsturi.c:
5310         * tools/Makefile.am:
5311         * tools/gst-compprep.c:
5312         * tools/gst-inspect.c:
5313         * tools/gst-register.c: remove
5314         * tools/gst-xmlinspect.c:
5315           Registry rewrite.  Changes registry from being a file created
5316           by a tool into a simple cache file created automatically by 
5317           libgstreamer.  Removed gst-register (because it's no longer
5318           needed).  Remove registry pools, because we only have one
5319           registry implementation (XML).  Fix up other subsystems as
5320           necessary.
5321
5322 2005-09-13  Michael Smith <msmith@fluendo.com>
5323
5324         * gst/gstconfig.h.in:
5325           Don't Use windows linking attributes for MinGW. Fixes #316157
5326
5327 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5328
5329         * gst/gstutils.c: (set_state_async_thread_func),
5330         (gst_element_set_state_async):
5331           Apparently people think it's better if this function doesn't
5332           try to set the state to whatever state was asked for on the first
5333           call to this function for any object.  Seriously.
5334
5335 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5336
5337         * check/gst/gstpipeline.c: (GST_START_TEST):
5338         * docs/gst/gstreamer-sections.txt:
5339         * gst/gstutils.c: (set_state_async_thread_func),
5340         (gst_element_set_state_async):
5341         * gst/gstutils.h:
5342           add a "gst_element_set_state_async" method that
5343           sets the state and starts a thread to make sure the state
5344           change completes as best as it can
5345
5346 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5347
5348         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5349           codify design+behaviour in testsuite after discussion
5350
5351 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5352
5353         * docs/gst/tmpl/gstelement.sgml:
5354         * docs/manual/appendix-quotes.xml:
5355           add a quote
5356         * gst/gstelement.c: (gst_element_set_state):
5357           add some debug
5358
5359 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5360
5361         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5362         (gst_base_transform_prepare_output_buf),
5363         (gst_base_transform_handle_buffer):
5364         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5365         (gst_capsfilter_prepare_buf):
5366           Remove the requirement for sub-classes to call the parent
5367           implementation of prepare_output_buffer with a wrapper function.
5368           
5369         * gst/gsttaglist.h:
5370         * gst/gsttagsetter.h:
5371           Fix #define wrapper
5372
5373 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5374
5375         * docs/gst/gstreamer-sections.txt:
5376           more doc cleanups
5377
5378 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5379
5380         * docs/gst/gstreamer-sections.txt:
5381         * docs/gst/tmpl/gstelement.sgml:
5382         * docs/gst/tmpl/gstplugin.sgml:
5383         * gst/gstminiobject.c:
5384         * gst/gstvalue.h:
5385           docs now stop throwing warnings
5386
5387 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5388
5389         * docs/gst/gstreamer-sections.txt:
5390         * docs/gst/gstreamer.types:
5391         * docs/gst/tmpl/gstpad.sgml:
5392         * docs/gst/tmpl/gsttypes.sgml:
5393         * gst/base/gstadapter.h:
5394         * gst/base/gstbasesink.h:
5395         * gst/base/gstbasesrc.h:
5396         * gst/gstbin.h:
5397         * gst/gstbuffer.h:
5398         * gst/gstbus.h:
5399         * gst/gstcaps.h:
5400         * gst/gstclock.h:
5401         * gst/gstelement.h:
5402         * gst/gstevent.h:
5403         * gst/gstmessage.h:
5404         * gst/gstpad.h:
5405         * gst/gststructure.c:
5406         * gst/registries/gstlibxmlregistry.h:
5407           various documentation fixes
5408
5409 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5410
5411         * docs/gst/gstreamer-sections.txt:
5412         * docs/gst/tmpl/gstvalue.sgml:
5413           rearrange gstvalue section
5414         * gst/gstutils.c: (gst_element_state_get_name):
5415           NONE -> VOID
5416         * gst/gstvalue.c: (_gst_value_initialize):
5417         * gst/gstvalue.h:
5418           doc updates
5419
5420 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5421
5422         * check/gst-libs/controller.c:
5423           Header include fix.
5424         * gst/base/gstbasetransform.c:
5425         (gst_base_transform_default_prepare_buf),
5426         (gst_base_transform_handle_buffer):
5427         * gst/base/gstbasetransform.h:
5428           Some more basetransform changes and fixes to enable sub-classes
5429           that modify buffer metadata only.
5430         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5431         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5432         (gst_capsfilter_prepare_buf):
5433           If the output pad has fixed allowed caps and input buffers 
5434           don't have any, set the fixed caps on outgoing buffers.
5435
5436 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5437         * check/elements/identity.c: (GST_START_TEST):
5438           Make the error a little clearer when the test fails because
5439           identity made a copy of the buffer.
5440         * docs/gst/gstreamer-sections.txt:
5441           New symbols in gstbasetransform.h
5442         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5443         (gst_base_transform_init), (gst_base_transform_transform_size),
5444         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5445         (gst_base_transform_default_prepare_buf),
5446         (gst_base_transform_get_unit_size),
5447         (gst_base_transform_buffer_alloc),
5448         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5449         (gst_base_transform_change_state),
5450         (gst_base_transform_set_passthrough),
5451         (gst_base_transform_set_in_place),
5452         (gst_base_transform_is_in_place):
5453         * gst/base/gstbasetransform.h:
5454           Change BaseTransform to separate in_place operate from same_caps
5455           output. in_place implies that the element can perform the transform
5456           on incoming buffers in-place, even if the caps on the output are
5457           different.
5458           Sub-class elements can now implement special buffer allocation
5459           methods for outgoing buffers if they wish to.
5460           Big documentation addition.
5461         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5462         * gst/elements/gstelements.c:
5463           Changes for basetransform modifications.
5464         * gst/elements/Makefile.am:
5465         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5466           Compile fix. Extra debug output.
5467
5468 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5469
5470         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5471         (gst_pad_suite):
5472           add tests for valid pad naming
5473         * gst/check/gstcheck.c: (gst_check_log_message_func),
5474         (gst_check_log_critical_func):
5475           add ASSERT_WARNING
5476           remove printing of code, it is fragile when the code contains
5477           % and the line number is enough info
5478         * gst/check/gstcheck.h:
5479         * gst/gstpad.c: (gst_pad_template_new):
5480           fix memleaks
5481
5482 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5483
5484         * configure.ac:
5485           say what CHECK flags we use
5486         * docs/libs/gstreamer-libs.types:
5487         * libs/gst/controller/Makefile.am:
5488         * libs/gst/controller/gst-controller.c:
5489         * libs/gst/controller/gst-controller.h:
5490         * libs/gst/controller/gst-helper.c:
5491         * libs/gst/controller/gst-interpolation.c:
5492         * libs/gst/controller/gstcontroller.c:
5493         * libs/gst/controller/gsthelper.c:
5494         * libs/gst/controller/gstinterpolation.c:
5495         * tools/gst-inspect.c: (print_plugin_info):
5496           we don't use dashes in header names
5497
5498 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5499
5500         * check/Makefile.am:
5501         * check/gst/.cvsignore:
5502         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5503         (gst_pipeline_suite), (main):
5504           adding a test for pipelines and state changes
5505         * gst/gstutils.c: (get_state_func):
5506           add some debugging
5507         * gstreamer.spec.in:
5508           fix up spec file
5509
5510 2005-09-08  Michael Smith <msmith@fluendo.com>
5511
5512         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5513         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5514         (gst_file_src_is_seekable), (gst_file_src_get_size),
5515         (gst_file_src_start):
5516         * gst/elements/gstfilesrc.h:
5517           Various fixes for unseekable, unmmapable, and non-normal files, so
5518           that fallback to read() rather than mmap() works.
5519         * gst/gstevent.c: (gst_event_new_newsegment):
5520           Allow newsegment events with segment_start == segment_end, as will
5521           correctly happen if you use filesrc on a zero-size file, for
5522           example.
5523
5524 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5525
5526         * gst/gstplugin.c: (gst_plugin_load_file):
5527           Call g_module_close when we don't load the module
5528
5529         * gst/registries/gstlibxmlregistry.c:
5530         (gst_xml_registry_get_property):
5531           Port leak fix from 0.8
5532
5533 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5534
5535         * docs/gst/gstreamer-docs.sgml:
5536         * docs/gst/tmpl/.cvsignore:
5537         * docs/gst/tmpl/gsttrace.sgml:
5538         * docs/gst/tmpl/gsttrashstack.sgml:
5539         * gst/Makefile.am:
5540         * gst/gst.h:
5541         * gst/gstelement.h:
5542         * gst/gstevent.h:
5543         * gst/gstmessage.c:
5544         * gst/gstmessage.h:
5545         * gst/gsttag.c:
5546         * gst/gsttag.h:
5547         * gst/gsttaginterface.c:
5548         * gst/gsttaginterface.h:
5549         * gst/gsttaglist.c:
5550         * gst/gsttaglist.h:
5551         * gst/gsttagsetter.c:
5552         * gst/gsttagsetter.h:
5553         * gst/gsttrace.c:
5554         * gst/gsttrace.h:
5555         * gst/gsttrashstack.c:
5556           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5557           inlined docs for gsttrace, gsttrashstack
5558
5559 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5560
5561         * gst/Makefile.am:
5562         * gst/elements/gstbufferstore.h:
5563         * gst/elements/gsttypefindelement.c:
5564         * gst/elements/gsttypefindelement.h:
5565         * gst/gst.h:
5566         * gst/gsttypefind.c:
5567         * gst/gsttypefind.h:
5568         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5569         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5570         (gst_type_find_factory_dispose),
5571         (gst_type_find_factory_unload_thyself),
5572         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5573         (gst_type_find_factory_get_caps),
5574         (gst_type_find_factory_get_extensions),
5575         (gst_type_find_factory_call_function):
5576         * gst/gsttypefindfactory.h:
5577         * gst/registries/gstlibxmlregistry.c:
5578         * gst/registries/gstxmlregistry.c:
5579           splitted gsttypefind into gsttypefind, gsttypefindfactory
5580
5581 2005-09-07  Andy Wingo  <wingo@pobox.com>
5582
5583         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5584         condition whereby the pad's task function is entered before the
5585         pad_mode variable was set.
5586
5587 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5588
5589         * gst/gstpad.c: (gst_pad_alloc_buffer):
5590           Catch misbehaving pad_alloc functions that don't
5591           set up caps and do it for them.
5592
5593 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5594
5595         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5596           test for pipe!=NULL
5597         * docs/gst/tmpl/.cvsignore:
5598         * docs/gst/tmpl/gstmemchunk.sgml:
5599         * docs/gst/tmpl/gstparse.sgml:
5600         * docs/gst/tmpl/gsttaglist.sgml:
5601         * docs/gst/tmpl/gsttagsetter.sgml:
5602         * docs/gst/tmpl/gsttypefind.sgml:
5603         * docs/gst/tmpl/gsttypefindfactory.sgml:
5604         * gst/gstmemchunk.c:
5605         * gst/gstparse.c:
5606         * gst/gsttag.c:
5607         * gst/gsttaginterface.c:
5608         * gst/gsttypefind.c:
5609         * gst/gsttypefind.h:
5610           inlined more docs
5611
5612 === release 0.9.2 ===
5613
5614 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5615
5616         * NEWS:
5617         * RELEASE:
5618         * configure.ac:
5619           releasing 0.9.2, "South"
5620
5621 2005-09-05  Andy Wingo  <wingo@pobox.com>
5622
5623         * gst/registries/gstxmlregistry.h:
5624         * gst/registries/gstxmlregistry.c: Um... resurrect...
5625         
5626         * gst/registries/gstxmlregistry.h:
5627         * gst/registries/gstxmlregistry.c: and update to newer API.
5628         Incidentally they should be a bit faster now that they don't have
5629         to parse the caps.
5630         
5631 2005-09-05  Andy Wingo  <wingo@pobox.com>
5632
5633         * gst/registries/gstxmlregistry.h:
5634         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5635         replaced by the libxml registry a while back
5636
5637 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5638
5639         * docs/gst/tmpl/gstplugin.sgml:
5640         * gst/elements/gstelements.c:
5641         * gst/gst.c:
5642         * gst/gstplugin.c: (gst_plugin_register_func),
5643         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5644         (gst_plugin_get_source):
5645         * gst/gstplugin.h:
5646         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5647         (gst_xml_registry_save_plugin):
5648         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5649         (gst_xml_registry_save_plugin):
5650         * tools/gst-inspect.c: (print_plugin_info):
5651           add a "source" plugin description field, to represent the source
5652           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5653           will set it to PACKAGE, which is automake's idea of the name of
5654           the source project.
5655
5656 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5657
5658         * Makefile.am:
5659         * autogen.sh:
5660         * configure.ac:
5661         * docs/Makefile.am:
5662         * docs/faq/Makefile.am:
5663         * docs/gst/tmpl/gstelement.sgml:
5664         * docs/gst/tmpl/gsttypes.sgml:
5665         * docs/htmlinstall.mak:
5666         * docs/manual/Makefile.am:
5667         * docs/pwg/Makefile.am:
5668           reorganize doc build a little
5669           split out docbook and gtk-doc stuff
5670           have two separate --enable's and enable them through autogen
5671           but disable by default in configure (to be similar to other
5672           projects)
5673         * gstreamer.spec.in:
5674           clean up docs install
5675         * po/af.po:
5676         * po/az.po:
5677         * po/ca.po:
5678         * po/cs.po:
5679         * po/de.po:
5680         * po/en_GB.po:
5681         * po/fr.po:
5682         * po/it.po:
5683         * po/nb.po:
5684         * po/nl.po:
5685         * po/ru.po:
5686         * po/sq.po:
5687         * po/sr.po:
5688         * po/sv.po:
5689         * po/tr.po:
5690         * po/uk.po:
5691         * po/vi.po:
5692           translation updates
5693
5694 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5695
5696         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5697           Add comment.
5698           
5699         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5700         (gst_fake_sink_change_state):
5701           Make state change function thread-safe.
5702           
5703         * gst/gstpad.c: (gst_pad_alloc_buffer):
5704           Set offset on generic buffer allocated by fallback.
5705
5706 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5707
5708         * docs/gst/gstreamer-sections.txt:
5709         * docs/gst/tmpl/gstelement.sgml:
5710         * gst/gstpad.c:
5711         * libs/gst/controller/gst-controller.c:
5712         (gst_controlled_property_set_interpolation_mode),
5713         (gst_controlled_property_new),
5714         (gst_controller_find_controlled_property):
5715          run the wingo-magic script against the docs
5716
5717 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5718
5719         * docs/gst/gstreamer-docs.sgml:
5720         * docs/gst/gstreamer-sections.txt:
5721         * docs/gst/tmpl/.cvsignore:
5722         * docs/gst/tmpl/gstelementdetails.sgml:
5723         * docs/gst/tmpl/gstelementfactory.sgml:
5724         * gst/gst.c:
5725         * gst/gstbus.c:
5726         * gst/gstelementfactory.c:
5727         * gst/gstelementfactory.h:
5728           merged elementdetails docs into elementfactory docs
5729           inlined both
5730
5731 2005-09-02  Andy Wingo  <wingo@pobox.com>
5732
5733         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5734         consider this enum an enum and not a flags.
5735
5736 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5737
5738         * docs/gst/gstreamer-docs.sgml:
5739         * docs/gst/tmpl/.cvsignore:
5740         * docs/gst/tmpl/gstghostpad.sgml:
5741         * docs/gst/tmpl/gstiterator.sgml:
5742         * docs/gst/tmpl/gstmacros.sgml:
5743         * docs/gst/tmpl/gstrealpad.sgml:
5744         * docs/gst/tmpl/gstregistry.sgml:
5745         * docs/gst/tmpl/gstregistrypool.sgml:
5746         * docs/gst/tmpl/gststructure.sgml:
5747         * docs/gst/tmpl/gstsystemclock.sgml:
5748         * docs/gst/tmpl/gsttrace.sgml:
5749         * gst/gstghostpad.c:
5750         * gst/gstmacros.h:
5751         * gst/gstmemchunk.c:
5752         * gst/gstmemchunk.h:
5753         * gst/gstqueue.c:
5754         * gst/gstregistry.c:
5755         * gst/gstregistrypool.c:
5756         * gst/gststructure.c:
5757         * gst/gstsystemclock.c:
5758           more docs inlined
5759
5760 2005-09-02  Andy Wingo  <wingo@pobox.com>
5761
5762         * gst/gstelement.h (GstState): Renamed from GstElementState,
5763         changed to be a normal enum instead of flags.
5764         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5765         munged to be GST_STATE_CHANGE_*.
5766         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5767         work with the new state representation.
5768         (GstStateChange): New enumeration of possible state transitions.
5769         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5770         (GstElementClass::change_state): Pass the GstStateChange along as
5771         an argument. Helps language bindings, so they don't have to use
5772         tricky lock-needing macros like GST_STATE_CHANGE ().
5773
5774         * scripts/update-states (file): New script. Run it on a file to
5775         update it for state naming and API changes. Updates files in
5776         place.
5777
5778         * All files updated for the new API.
5779
5780 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5781
5782         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5783         * gst/gstutils.c: (gst_util_set_value_from_string),
5784         (gst_util_set_object_arg):
5785           fix a bunch of unchecked return values
5786         * tools/gst-complete.c: (main):
5787         * gstreamer.spec.in:
5788           clean up a little
5789
5790 2005-09-01  Wim Taymans  <wim@fluendo.com>
5791
5792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5793         (gst_base_sink_event), (gst_base_sink_do_sync),
5794         (gst_base_sink_handle_event):
5795         * gst/base/gstbasesink.h:
5796         Handle newsegments more correctly.
5797
5798         * gst/gstbus.c:
5799         Fix docs.
5800
5801         * gst/gstevent.c: (gst_event_new_newsegment):
5802         A newsegment cannot have a start_time of -1
5803
5804 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5805
5806         * win32/gstenumtypes.c:
5807         * win32/gstenumtypes.h:
5808           Update
5809
5810 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5811
5812         * libs/gst/controller/gst-controller.c:
5813         (gst_controlled_property_set_interpolation_mode),
5814         (gst_controlled_property_new):
5815          fixed boolean again
5816
5817 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5818
5819         * docs/faq/gst-uninstalled:
5820           add -good
5821         * gst/gstevent.c:
5822         * gst/gstevent.h:
5823           remove wrong docs
5824         * gst/gstutils.c: (gst_element_link_filtered):
5825         * gst/gstutils.h:
5826           add gst_element_link_filtered
5827
5828 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5829
5830         * docs/gst/gstreamer-docs.sgml:
5831         * docs/gst/gstreamer-sections.txt:
5832         * docs/gst/tmpl/.cvsignore:
5833         * docs/gst/tmpl/gsterror.sgml:
5834         * docs/gst/tmpl/gstfilter.sgml:
5835         * docs/gst/tmpl/gsturihandler.sgml:
5836         * docs/gst/tmpl/gsturitype.sgml:
5837         * docs/gst/tmpl/gstutils.sgml:
5838         * docs/gst/tmpl/gstxml.sgml:
5839         * gst/gsterror.c:
5840         * gst/gsterror.h:
5841         * gst/gstfilter.c:
5842         * gst/gsturi.c:
5843         * gst/gsturitype.c:
5844         * gst/gstutils.c:
5845         * gst/gstxml.c:
5846           inlined more docs, fixed double id-ref
5847
5848 2005-08-31  Wim Taymans  <wim@fluendo.com>
5849
5850         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5851         (gst_base_transform_handle_buffer):
5852         Passthrough elements don't need the caps as they don't care.
5853
5854 2005-08-31  Wim Taymans  <wim@fluendo.com>
5855
5856         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5857         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
5858         Don't leak refcounts on buffers.
5859
5860 2005-08-31  Wim Taymans  <wim@fluendo.com>
5861
5862         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
5863         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5864         (gst_base_transform_chain), (gst_base_transform_change_state):
5865         * gst/base/gstbasetransform.h:
5866         Handle the case where we are not negotiated more gracefully.
5867
5868 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
5869
5870         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
5871         (gst_file_src_map_region):
5872           Set READONLY flag on mmap'ed buffers, otherwise
5873           gst_buffer_make_writable() won't work properly (#314708).
5874
5875 2005-08-31  Wim Taymans  <wim@fluendo.com>
5876
5877         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
5878         passthrough elements can even do inplace on non writable
5879         buffers (as they don't touch them).
5880
5881 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5882
5883         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5884         (gst_test_mono_source_set_property),
5885         (gst_test_mono_source_class_init), (GST_START_TEST),
5886         (gst_controller_suite):
5887           more tests (hehe I have the most)
5888         * gst/gstbus.c:
5889           describe popping messages whenusing mulltiple sources
5890         * libs/gst/controller/gst-controller.c:
5891         (gst_controlled_property_set_interpolation_mode),
5892         (gst_controlled_property_new):
5893         * libs/gst/controller/gst-controller.h:
5894         * libs/gst/controller/gst-interpolation.c:
5895           implement boolean properties
5896
5897 2005-08-31  Wim Taymans  <wim@fluendo.com>
5898
5899         * gst/gstminiobject.c: (gst_mini_object_ref):
5900         Cannot assert that the refcount has to be positive
5901         since a disposed object can be resurrected.
5902
5903 2005-08-31  Wim Taymans  <wim@fluendo.com>
5904
5905         * gst/gstpad.c: (gst_pad_init):
5906         Revert change, need to first fix badly behaving 
5907         apps.
5908
5909 2005-08-30  Wim Taymans  <wim@fluendo.com>
5910
5911         * check/elements/fakesrc.c: (setup_fakesrc):
5912         * check/elements/identity.c: (setup_identity):
5913         Activate pads before using them.
5914
5915 2005-08-30  Wim Taymans  <wim@fluendo.com>
5916
5917         * gst/base/gstadapter.c: (gst_adapter_flush):
5918         Flushing out 0 bytes is ok for this function.
5919
5920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5921         no newsegment gives a warning and sets the start/stop to 
5922         invalid.
5923
5924         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
5925         (gst_base_transform_set_passthrough):
5926         Some debug info.
5927
5928         * gst/gstminiobject.c: (gst_mini_object_ref):
5929         Check refcount here too.
5930
5931         * gst/gstpad.c: (gst_pad_init):
5932         Pads are initially flushing and refusing data.
5933
5934         * gst/gstutils.c: (gst_element_link_pads_filtered):
5935         When adding a capsfilter element make sure it has the
5936         same state as the parent bin.
5937
5938 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5939
5940         * docs/gst/tmpl/.cvsignore:
5941         * docs/gst/tmpl/gstformat.sgml:
5942         * docs/gst/tmpl/gstversion.sgml:
5943         * gst/gstbus.h:
5944         * gst/gstformat.c:
5945         * gst/gstformat.h:
5946         * gst/gstversion.h.in:
5947           more docs and two more inlined
5948
5949 2005-08-30  Wim Taymans  <wim@fluendo.com>
5950
5951         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
5952         Don't sync to clock.
5953
5954 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5955
5956         * docs/gst/gstreamer-sections.txt:
5957           ultral33t func10ns deserve to appear in the docs actually
5958         * docs/gst/tmpl/.cvsignore:
5959         * docs/gst/tmpl/gstcompat.sgml:
5960         * docs/gst/tmpl/gstconfig.sgml:
5961         * gst/check/gstcheck.c:
5962         * gst/gstcompat.h:
5963         * gst/gstconfig.h.in:
5964           inlined more docs
5965
5966 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5967
5968         * docs/gst/tmpl/.cvsignore:
5969         * docs/gst/tmpl/gstquery.sgml:
5970         * docs/gst/tmpl/gstutils.sgml:
5971         * gst/gstquery.c:
5972         * gst/gstquery.h:
5973           inlined and extended docs
5974
5975 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5976
5977         * check/gst-libs/controller.c: (GST_START_TEST),
5978         (gst_controller_suite):
5979           more tests
5980         * docs/gst/tmpl/gstutils.sgml:
5981         * docs/libs/gstreamer-libs-sections.txt:
5982         * docs/libs/tmpl/gstdataprotocol.sgml:
5983           include path fixes
5984         * examples/controller/audio-example.c: (main):
5985           controller example works now
5986         * gst/gstclock.h:
5987           doc fixes
5988         * tools/gst-inspect.c: (print_element_properties_info):
5989           show param spec flags
5990
5991 2005-08-29  Andy Wingo  <wingo@pobox.com>
5992
5993         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
5994
5995 2005-08-28  Andy Wingo  <wingo@pobox.com>
5996
5997         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
5998         as having two arguments instead of just one. Allows superclasses
5999         to access information on subclasses -- see the terrible for() loop
6000         in gtype.c:g_type_create_instance for the reason why. All callers
6001         changed.
6002
6003 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6004
6005         * docs/design/part-messages.txt:
6006           update info
6007         * docs/gst/tmpl/.cvsignore:
6008         * docs/gst/tmpl/gstcaps.sgml:
6009         * docs/gst/tmpl/gstclock.sgml:
6010         * gst/gstbus.c:
6011         * gst/gstcaps.c:
6012         * gst/gstcaps.h:
6013         * gst/gstclock.c:
6014         * gst/gstclock.h:
6015         * gst/gstmessage.c:
6016           added descriptions for bus and message
6017           inline caps and clock docs
6018
6019 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6020
6021         * gst/gstmessage.c:
6022         * gst/gstmessage.h:
6023           doc fixes
6024
6025 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6026
6027         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6028           fix div-by-zero
6029
6030 2005-08-26  Andy Wingo  <wingo@pobox.com>
6031
6032         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6033         element_set_state's return val.
6034         (test_2_elements): Add test that's been disabled for months.
6035
6036         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6037         can-activate-pull properties.
6038
6039         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6040         can-activate-pull properties. Implement is_seekable so fakesrc can
6041         operate in pull mode.
6042
6043         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6044         properties.
6045         (gst_base_sink_activate, gst_base_sink_activate_pull)
6046         (gst_base_sink_activate_push): Make activation mode choosing work.
6047         Cleanups.
6048         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6049         is right. Make pull mode work. Post an eos before pausing in pull
6050         mode.
6051         (gst_base_sink_change_state): Pay attention to the core's
6052         change_state() return val.
6053         
6054         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6055         has-getrange properties. Cleanups.
6056         
6057         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6058         has_getrange and replace with can_activate_pull and
6059         can_activate_push.
6060
6061         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6062         locking comments. Remove has_loop, has_chain and replace with
6063         can_activate_pull and can_activate_push.
6064
6065 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6066
6067         * configure.ac:
6068         * examples/Makefile.am:
6069         * examples/metadata/Makefile.am:
6070         * examples/metadata/read-metadata.c: (message_loop),
6071         (have_pad_handler), (make_pipeline), (print_tag), (main):
6072           Add metadata reading example that loops over a list of filenames,
6073           dumping any tags found.
6074
6075         * gst/gstbus.c: (gst_bus_dispose):
6076         * gst/gstelement.c: (gst_element_dispose):
6077           Release a few potentially-held references in dispose.
6078
6079 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6080
6081         * docs/gst/tmpl/gstminiobject.sgml:
6082           do *not* add tmpl/*.sgml files to CVS!
6083
6084 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6085
6086         * libs/gst/bytestream/.cvsignore:
6087         * libs/gst/bytestream/Makefile.am:
6088         * libs/gst/bytestream/adapter.c:
6089         * libs/gst/bytestream/adapter.h:
6090         * libs/gst/bytestream/bytestream.c:
6091         * libs/gst/bytestream/bytestream.h:
6092         * libs/gst/bytestream/filepad.c:
6093         * libs/gst/bytestream/filepad.h:
6094           removing obsolete files
6095
6096 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6097
6098         * docs/gst/gstreamer-docs.sgml:
6099         * docs/libs/gstreamer-libs-docs.sgml:
6100           disabed additional index entries again, as this makes docs-gen just
6101           slow and they aren't useful yet
6102         * docs/libs/gstreamer-libs-sections.txt:
6103           little -section.txt cleanup for libs
6104
6105 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6106
6107         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6108         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6109           fix up some debugging
6110         (gst_base_transform_get_unit_size),
6111         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6112         (gst_base_transform_handle_buffer):
6113         * gst/base/gstbasetransform.h:
6114           handle and store timed NEWSEGMENT events so that subclasses that
6115           calculate time by counting samples have a segment_start time they
6116           need to add to their timestamps - see audioresample
6117
6118 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6119
6120         * gst/gstbin.h:
6121           removed ';' from the end of macro defs
6122         * docs/gst/gstreamer-docs.sgml:
6123         * docs/gst/gstreamer-sections.txt:
6124         * docs/gst/tmpl/.cvsignore:
6125         * gst/gstbus.h:
6126         * gst/gstelement.c: (gst_element_class_init),
6127         (gst_element_set_state), (activate_pads),
6128         (gst_element_save_thyself):
6129         * gst/gstevent.c: (gst_event_new_newsegment):
6130         * gst/gstevent.h:
6131         * gst/gstiterator.c:
6132         * gst/gstiterator.h:
6133         * gst/gstpad.c:
6134         * gst/gstprobe.h:
6135         * gst/gstutils.c: (gst_pad_query_convert):
6136         * gst/gstutils.h:
6137           fixed parameter name mismatches between source, header and docs
6138           added some more docs, resolved the last batch of unused elements in
6139           docs (now someone needs to doc them)
6140
6141 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6142
6143         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6144         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6145           don't walk through the plugins backwards.  Where is all this
6146           reversed logic coming from ?
6147
6148 2005-08-25  Wim Taymans  <wim@fluendo.com>
6149
6150         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6151         (gst_base_transform_transform_size),
6152         (gst_base_transform_configure_caps),
6153         (gst_base_transform_get_unit_size),
6154         (gst_base_transform_buffer_alloc),
6155         (gst_base_transform_change_state):
6156         * gst/base/gstbasetransform.h:
6157         Cache caps unit_size.
6158         Make sure we cannot negotiate up and downstream at the
6159         same time.
6160
6161 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6162
6163         * gst/gst.c: (init_pre), (init_post):
6164           register the installed plugin path after the env var
6165         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6166         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6167           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6168           directories, so the tests can prefer uninstalled over installed
6169
6170 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6171
6172         * gst/base/gstbasetransform.h:
6173           comment
6174         * gst/gstpad.c:
6175           add to docs
6176
6177 2005-08-25  Wim Taymans  <wim@fluendo.com>
6178
6179         * gst/gstbin.c: (bin_bus_handler):
6180         Be a bit more conservative about the posted message.
6181         
6182         * gst/gstbus.c: (gst_bus_post):
6183         Some cleanups, warn wrong return values.
6184
6185 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6186
6187         * check/gst/gstbin.c: (GST_START_TEST):
6188         * gst/gstbin.c: (bin_bus_handler):
6189         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6190         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6191         (gst_message_new_warning), (gst_message_new_tag),
6192         (gst_message_new_state_changed), (gst_message_new_segment_start),
6193         (gst_message_new_segment_done), (gst_message_new_custom):
6194         * gst/gstmessage.h:
6195         * tools/gst-launch.c: (event_loop):
6196         * tools/gst-md5sum.c: (event_loop):
6197           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6198
6199 2005-08-25  Wim Taymans  <wim@fluendo.com>
6200
6201         * check/generic/states.c: (GST_START_TEST):
6202         Cleanup can be done at the end.
6203
6204         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6205         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6206         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6207         Oh boy.. Thanks for finding this, Thomas. 
6208
6209 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6210
6211         * docs/gst/gstreamer.types:
6212           added missing types
6213
6214 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6215
6216         * docs/gst/gstreamer-docs.sgml:
6217         * docs/gst/gstreamer-sections.txt:
6218         * docs/gst/tmpl/.cvsignore:
6219         * gst/gstbin.c:
6220         * gst/gstiterator.c:
6221         * gst/gstutils.c:
6222         * gst/registries/gstxmlregistry.h:
6223           added missing classes and symbols (123 more to go)
6224           removed removed symbols from section file
6225           fixed many doc-comments
6226
6227 2005-08-24  Wim Taymans  <wim@fluendo.com>
6228
6229         * check/generic/states.c: (GST_START_TEST):
6230         Make sure all tasks are stopped.
6231
6232         * check/gst/gstbin.c: (GST_START_TEST):
6233         Unref after usage for proper valgrinding.
6234
6235         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6236         Really wait for the task to stop before destroying the
6237         mutex.
6238
6239         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6240         (gst_queue_src_activate_push):
6241         Small cleanups. Don't stop the task when we did not start
6242         it.
6243
6244         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6245         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6246         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6247         (gst_task_join):
6248         * gst/gsttask.h:
6249         Protect the stream lock with the object lock.
6250         Disallow setting the stream lock when running.
6251         Add cleanup_all to wait for the threadpool to finish.
6252         Remove code to autoallocate a mutex if none was provided.
6253         Add _join() to wait for a task to stop.
6254         Protect the thread pool with a global lock.
6255
6256 2005-08-24  Wim Taymans  <wim@fluendo.com>
6257
6258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6259         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6260         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6261         * gst/base/gstbasesink.h:
6262         Handle newsegment events correctly.
6263         Drop buffers out of the segment range.
6264
6265 2005-08-22  Andy Wingo  <wingo@pobox.com>
6266
6267         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6268         macro, implements an interface and gstimplementsinterface for a
6269         new type.
6270
6271 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6272
6273         * check/Makefile.am:
6274         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6275           add a test that does a bunch of state changes on elements
6276           needs some fixing for valgrind
6277         * check/states/sinks.c: (gst_object_suite):
6278           whitespace
6279         * gst/gstcaps.h:
6280           add prototype for gst_caps_is_equal_fixed
6281         * gst/gstplugin.c:
6282         * gst/gstregistrypool.c:
6283           doc fixes
6284
6285 2005-08-24  Andy Wingo  <wingo@pobox.com>
6286
6287         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6288         convert a negative value. Doesn't make much sense. Mostly this is
6289         here to force callers to ensure -1 maps to -1.
6290
6291 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6292
6293         * docs/pwg/advanced-types.xml:
6294           Well done to Michael for catching my deliberate introduction
6295           of this spelling mistake. 
6296         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6297         * gst/gstelement.h:
6298           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6299           unlink pads before removing the element from the bin.
6300
6301 2005-08-24  Andy Wingo  <wingo@pobox.com>
6302
6303         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6304         the same thing as GST_DEBUG=*:4.
6305         (parse_debug_level, parse_debug_category): New helper parsers.
6306
6307 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6308
6309         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6310         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6311         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6312         (gst_base_transform_buffer_alloc),
6313         (gst_base_transform_handle_buffer):
6314           use gboolean return values and pointers to size so we can use the
6315           full GST_BUFFER_SIZE range (guint) for buffer sizes
6316           use GstPadDirection for transform_caps
6317         * gst/base/gstbasetransform.h:
6318           rename get_size to get_unit_size since that's what it is
6319         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6320           use GstPadDirection for transform_caps
6321         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6322         * gst/gstutils.h:
6323           cleanup and debugging
6324
6325 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6326
6327         * gst/gstelement.c: (gst_element_class_init),
6328         (gst_element_set_state), (activate_pads),
6329         (gst_element_save_thyself):
6330         * tools/gst-compprep.c: (main):
6331         * tools/gst-inspect.c: (print_element_properties_info):
6332         * tools/gst-xmlinspect.c: (print_element_properties):
6333           Fixed long standing mem-leak
6334
6335 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6336
6337         * check/gst/gstbin.c: (GST_START_TEST):
6338         * gst/gstbin.c: (bin_bus_handler):
6339         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6340         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6341         (gst_message_new_warning), (gst_message_new_tag),
6342         (gst_message_new_state_changed), (gst_message_new_segment_start),
6343         (gst_message_new_segment_done), (gst_message_new_custom):
6344         * gst/gstmessage.h:
6345         * tools/gst-launch.c: (event_loop):
6346         * tools/gst-md5sum.c: (event_loop):
6347           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6348           that applications can sensibly post custom messages with references
6349           to their own objects.
6350
6351 2005-08-24  Andy Wingo  <wingo@pobox.com>
6352
6353         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6354         already.
6355
6356 2005-08-24  Wim Taymans  <wim@fluendo.com>
6357
6358         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6359         (gst_base_transform_transform_caps),
6360         (gst_base_transform_transform_size),
6361         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6362         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6363         (gst_base_transform_handle_buffer):
6364         * gst/base/gstbasetransform.h:
6365         Many fixes and new features added by Thomas. Can now also do
6366         transforms with variable sizes and a custom fixate_caps function.
6367
6368 2005-08-24  Wim Taymans  <wim@fluendo.com>
6369
6370         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6371         Some debugging.
6372
6373         * gst/gstclock.h:
6374         Cast to ClockTime before formatting to time.
6375
6376         * gst/gstutils.h:
6377         Cleanups.
6378
6379 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6380
6381         * check/gst-libs/controller.c: (GST_START_TEST),
6382         (gst_controller_suite):
6383         * docs/gst/tmpl/gstcaps.sgml:
6384         * docs/gst/tmpl/gstghostpad.sgml:
6385         * docs/gst/tmpl/gstquery.sgml:
6386         * docs/gst/tmpl/gstutils.sgml:
6387         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6388         (gst_object_sink_values), (gst_object_get_value_arrays),
6389         (gst_object_get_value_array):
6390           gracefully handle helper method calls to objects that are not beeing
6391           controlled, added test case for that          
6392
6393 2005-08-23  Wim Taymans  <wim@fluendo.com>
6394
6395         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6396         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6397         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6398         (gst_event_parse_qos), (gst_event_new_seek),
6399         (gst_event_parse_seek):
6400         * gst/gstevent.h:
6401         Some more debugging output and doc cleanups.
6402
6403         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6404         Fix possible deadlock.
6405
6406 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6407
6408         * docs/gst/gstreamer-docs.sgml:
6409         * docs/gst/gstreamer-sections.txt:
6410         * docs/gst/gstreamer.types:
6411         * docs/gst/tmpl/.cvsignore:
6412         * gst/gstbin.h:
6413         * gst/gstbus.c:
6414         * gst/gstelement.c:
6415         * gst/gstevent.h:
6416           added 100 symbols from gstreamer-unused.txt to the right sections
6417           fixed more broken comments
6418           added GstBus to docs
6419
6420 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6421
6422         * docs/gst/gstreamer-sections.txt:
6423         * docs/gst/tmpl/.cvsignore:
6424         * docs/gst/tmpl/gstbin.sgml:
6425         * docs/gst/tmpl/gstbuffer.sgml:
6426         * gst/base/gstbasesrc.c:
6427         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6428         * gst/gstbuffer.c:
6429         * gst/gstbuffer.h:
6430         * tools/gst-launch.1.in:
6431           inlined more doc comments, added missing comments and fixed comments
6432           fixed typos
6433
6434 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6435
6436         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6437           some debugging
6438         * gst/gstcaps.h:
6439           whitespace fixes
6440         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6441           more debugging
6442         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6443         * gst/gststructure.h:
6444           add a fixate function for booleans; add a FIXME that these func
6445           names should probably be gst_structure_fixate_*
6446
6447 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6448
6449         * docs/gst/gstreamer-docs.sgml:
6450         * docs/gst/gstreamer-sections.txt:
6451         * gst/Makefile.am:
6452         * gst/gstbin.c: (gst_bin_get_type),
6453         (gst_bin_child_proxy_get_child_by_index),
6454         (gst_bin_child_proxy_get_children_count),
6455         (gst_bin_child_proxy_init):
6456         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6457         (gst_child_proxy_get_child_by_index),
6458         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6459         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6460         (gst_child_proxy_get), (gst_child_proxy_set_property),
6461         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6462         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6463         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6464         * gst/gstchildproxy.h:
6465         * gst/parse/grammar.y:
6466         * tools/gst-inspect.c: (print_interfaces),
6467         (print_element_properties_info), (print_element_info):
6468           ported gstchildproxy over from 0.8
6469           ported gst-inspect fixes and enhancements over from 0.8
6470
6471 2005-08-22  Wim Taymans  <wim@fluendo.com>
6472
6473         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6474         (gst_base_transform_handle_buffer):
6475         Also call the transform function if we have ANY caps.
6476
6477         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6478         Fix debug info.
6479
6480 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6481
6482         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6483           Don't pretend to handle seek events if the source is not seekable
6484
6485 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6486
6487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6488           Remove extra parameter to debug output
6489
6490         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6491         (gst_base_src_do_seek), (gst_base_src_activate_push):
6492           Fix seek event handling.
6493
6494         * gst/gstpipeline.c: (gst_pipeline_change_state):
6495         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6496         (gst_queue_src_activate_push):
6497           Don't start the src pad task on FLUSH_STOP if the pad
6498           isn't linked.
6499           Debug changes.
6500
6501 2005-08-22  Wim Taymans  <wim@fluendo.com>
6502
6503         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6504         Added check for gst_static_caps_get() refcounting.
6505
6506 2005-08-22  Wim Taymans  <wim@fluendo.com>
6507
6508         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6509         Make _static_caps_get() refcounting sane.
6510         
6511         * gst/gstelement.c: (gst_element_set_state):
6512         Add g_return_val_if_fail() to protect against segfaults.
6513
6514 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6515
6516         * docs/gst/tmpl/gstevent.sgml:
6517         * gst/gstevent.c:
6518         * gst/gstevent.h:
6519           inlined remaining docs, added missing doc comments
6520
6521 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6522
6523         * check/gst/gstbin.c: (GST_START_TEST):
6524           since we don't know when preroll is done, use refcount range
6525           check for the sink
6526         * gst/check/gstcheck.h:
6527           add macro for checking refcount range
6528
6529 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6530
6531         * check/Makefile.am:
6532           clean up environment for when registry gets built versus
6533           when actual tests are run; valgrind seems to not report
6534           leaks if GST_PLUGIN_PATH is set to some specific values
6535         * check/gst/gstbin.c: (GST_START_TEST):
6536           add more refcounting checks; maybe this exposes a
6537           preroll lock bug ?
6538         * common/check.mak:
6539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6540         * gst/check/gstcheck.h:
6541         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6542         (gst_bin_change_state):
6543         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6544           add/fix debugging/whitespace
6545
6546 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6547
6548         * check/gst/gstevent.c: (event_probe), (test_event),
6549         (GST_START_TEST):
6550          Er, don't call gst_bin_watch_for_state_change you idiot.
6551
6552 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6553
6554         * check/Makefile.am:
6555           Use CHECK_CFLAGS and CHECK_LIBS
6556         * check/gst/gstevent.c: (event_probe), (test_event),
6557         (GST_START_TEST):
6558           Don't leak events.
6559         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6560         (gst_base_src_start), (gst_base_src_stop),
6561         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6562         (gst_base_src_change_state):
6563           Sprinkle gst_base_src_stop liberally around error paths to fix
6564           problems reusing a source after failed state changes.
6565         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6566         (helper_find_suggest), (gst_type_find_helper):
6567           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6568         * gst/gstevent.h:
6569         * docs/gst/tmpl/gstevent.sgml:
6570           Migrate part of the docs from the SGML file. Wait for ensonic to
6571           tell me how I did it wrong ;)
6572         * tools/gst-typefind.c: (main):
6573           Extra robustness to state changes between files.
6574
6575 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6576
6577         * check/Makefile.am:
6578           don't valgrind the controller test - it's leaking - Stefan, HELP
6579         * gst/check/gstcheck.c: (gst_check_message_error),
6580         (gst_check_chain_func), (gst_check_setup_element),
6581         (gst_check_teardown_element), (gst_check_setup_src_pad),
6582         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6583         (gst_check_teardown_sink_pad):
6584         * gst/check/gstcheck.h:
6585           add a bunch of methods to set up elements, and src and sink pads
6586         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6587         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6588         (GST_START_TEST):
6589           use them
6590         * gst/gstmessage.c:
6591         * gst/gsttag.h:
6592           whitespace/doc fixes
6593
6594 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6595
6596         * gst/gstelement.h:
6597           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6598           be handled by the application and not always printed as well
6599
6600 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6601
6602         * check/Makefile.am:
6603           set GST_TOOLS_DIR
6604         * gst/check/gstcheck.c: (gst_check_message_error):
6605         * gst/check/gstcheck.h:
6606           add a fail_unless_equals_int
6607           add fail_unless for error messages
6608
6609 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6610
6611         * check/Makefile.am:
6612         * check/gst.supp:
6613         * common/Makefile.am:
6614         * common/check.mak:
6615         * common/gst.supp:
6616           factor out some of the common stuff so we can use it
6617
6618 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6619
6620         * check/Makefile.am:
6621         * check/gst/gstiterator.c: (GST_START_TEST):
6622         * check/gst/gstsystemclock.c: (GST_START_TEST),
6623         (gst_systemclock_suite):
6624         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6625         * gst/gstclock.c:
6626           valgrind more tests
6627
6628 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6629
6630         * check/elements/.cvsignore:
6631         * check/elements/gstfakesrc.c:
6632           rename to name of element
6633         * check/elements/identity.c: (chain_func), (event_func),
6634         (setup_identity), (cleanup_identity), (GST_START_TEST),
6635         (identity_suite), (main):
6636           add a test for identity
6637         * check/Makefile.am:
6638         * pkgconfig/Makefile.am:
6639         * pkgconfig/gstreamer-check.pc.in:
6640         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6641         * gst/check:
6642         * gst/Makefile.am:
6643         * configure.ac:
6644           move the check stuff to a library that gets installed
6645         * check/gst-libs/controller.c: (GST_START_TEST):
6646         * check/gst-libs/gdp.c:
6647         * check/gst/gst.c: (GST_START_TEST):
6648         * check/gst/gstbin.c:
6649         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6650         * check/gst/gstbus.c:
6651         * check/gst/gstcaps.c: (GST_START_TEST):
6652         * check/gst/gstelement.c:
6653         * check/gst/gstghostpad.c:
6654         * check/gst/gstiterator.c:
6655         * check/gst/gstmessage.c:
6656         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6657         * check/gst/gstobject.c:
6658         * check/gst/gstpad.c: (GST_START_TEST):
6659         * check/gst/gststructure.c: (GST_START_TEST):
6660         * check/gst/gstsystemclock.c: (GST_START_TEST),
6661         (gst_systemclock_suite):
6662         * check/gst/gsttag.c: (gst_tag_suite):
6663         * check/gst/gstvalue.c:
6664         * check/pipelines/cleanup.c:
6665         * check/pipelines/simple_launch_lines.c:
6666         * check/states/sinks.c:
6667           change include statement
6668
6669         * docs/gst/gstreamer-sections.txt:
6670         * docs/gst/tmpl/gstpad.sgml:
6671           document more pad stuff
6672         * gst/gstminiobject.c: (gst_mini_object_ref),
6673         (gst_mini_object_unref):
6674           debug refcounting
6675
6676 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * docs/gst/tmpl/gst.sgml:
6679         * gst/gst.c:
6680           eliminate another tmpl file, fix spelling in the long-description
6681
6682 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6683
6684         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6685         (test_event), (timediff), (gstevents_suite):
6686           Should fix build on 64-bit arch's
6687
6688 2005-08-18  Andy Wingo  <wingo@pobox.com>
6689
6690         Make sure that when a pipeline goes to PLAYING, that data has
6691         actually hit the sink.
6692
6693         * check/states/sinks.c (test_sink): A sink that doesn't get any
6694         data shouldn't return SUCCESS for going to either PLAYING or
6695         PAUSED. Test also the return values on the way back down.
6696
6697         * gst/gstelement.c (gst_element_set_state): When changing the
6698         state of an element currently changing state asynchronously, go to
6699         lost-state after commiting the pending state. Makes future calls
6700         to get_state continue to return ASYNC.
6701
6702         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6703         ASYNC when going to PLAYING if we still don't have preroll, as can
6704         happen with live sources.
6705
6706 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6707
6708         * docs/pwg/advanced-types.xml:
6709           Hack long paragraph into 2 chunks as a workaround for buggy
6710           jadetex version in sid and breezy that loops infinitely and
6711           eats all RAM.
6712
6713 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6714
6715         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6716         (test_event), (timediff), (gstevents_suite):
6717           Provide more error margin in clock measurements to allow for 
6718           g_get_current_time inaccuracies.
6719
6720 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6721
6722         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6723         (test_event), (timediff), (gstevents_suite):
6724            Fix error message output so I might be able to tell why the
6725            test works here but fails on the build farm.
6726
6727 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6728
6729         * check/Makefile.am:
6730         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6731         (test_event), (timediff), (gstevents_suite), (main):
6732           I wrote a test!
6733
6734         * docs/design/part-seeking.txt:
6735           Spelling correction
6736
6737         * docs/gst/tmpl/gstevent.sgml:
6738         * docs/gst/tmpl/gstfakesrc.sgml:
6739           Docs updates.
6740
6741         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6742           Treat a buffer-without-newsegment the same as a receiving 
6743           a newsegment not in time format, and disable syncing to the clock
6744           with a warning.
6745
6746         * gst/gstbus.c: (gst_bus_set_sync_handler):
6747           Assert if anyone tries to replace the existing sync_handler for bus, 
6748           as only the owner should be setting it.
6749
6750         * gst/gstevent.h:
6751           Have a fixed set of custom event enums with events identified by
6752           their structure name (as in 0.8), rather than a free-for-all
6753           allowing collisions between enum values from different plugins.
6754
6755         * gst/gstpad.c: (gst_pad_class_init):
6756           Docs change.
6757           
6758         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6759           Handle out-of-band downstream events from the sending thread.
6760
6761 2005-08-17  Andy Wingo  <wingo@pobox.com>
6762
6763         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6764         play-timeout==0 to mean no timeout at all. In that case, don't
6765         bother with a get_state or a warning, just return directly, even
6766         if it's ASYNC.
6767
6768         * gst/base/gstbasetransform.c: Debug changes.
6769
6770         * gst/gstutils.h:
6771         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6772         ensure bins post state change messages. A bit of a hack but I can't
6773         think of a way to avoid it.
6774
6775         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6776
6777 2005-08-16  Andy Wingo  <wingo@pobox.com>
6778
6779         * gst/base/gstadapter.h:
6780         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6781         peek() but you own the data. Not terribly efficient atm.
6782
6783 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6784
6785         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6786         (gst_element_found_tags):
6787         * gst/gstutils.h:
6788           Add two utility functions for tag handling.
6789
6790 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6791
6792         * docs/manual/advanced-dataaccess.xml:
6793         * docs/manual/basics-helloworld.xml:
6794           Fix docs to use _bin_add() before _link(), which fixes the examples
6795           with recent core versions (reported by Madhan Raj M
6796           <raj_madan@rediffmail.com>, #313199).
6797
6798 2005-08-16  Wim Taymans  <wim@fluendo.com>
6799
6800         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6801         Added subtract checks.
6802
6803         * docs/design/part-events.txt:
6804         Some more docs about newsegment
6805
6806         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6807         Fix FIXME
6808
6809         * gst/gstcaps.c: (gst_caps_to_string):
6810         Add comments, cleanups.
6811         
6812         * gst/gstelement.c: (gst_element_save_thyself):
6813         cleanups
6814         
6815         * gst/gstvalue.c: (gst_value_collect_int_range),
6816         (gst_string_unwrap), (gst_value_union_int_int_range),
6817         (gst_value_union_int_range_int_range),
6818         (gst_value_intersect_int_int_range),
6819         (gst_value_intersect_int_range_int_range),
6820         (gst_value_intersect_double_double_range),
6821         (gst_value_intersect_double_range_double_range),
6822         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6823         (gst_value_subtract_int_range_int),
6824         (gst_value_subtract_double_range_double),
6825         (gst_value_subtract_double_range_double_range),
6826         (gst_value_subtract_from_list), (gst_value_subtract_list),
6827         (gst_value_can_compare), (gst_value_compare_fraction):
6828         Cleanups, add comments, remove unneeded asserts.
6829
6830 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6831
6832         * tools/gst-launch.c: (event_loop):
6833           don't convert NULL structures to strings
6834
6835 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6836
6837         * docs/gst/gstreamer-sections.txt:
6838           made some defines private
6839         * docs/gst/tmpl/gstconfig.sgml:
6840         * docs/gst/tmpl/gstqueue.sgml:
6841         * docs/gst/tmpl/gsttaglist.sgml:
6842         * docs/gst/tmpl/gsttypes.sgml:
6843         * docs/gst/tmpl/gstutils.sgml:
6844         * docs/pwg/appendix-porting.xml:
6845         * gst/base/gstbasesink.h:
6846         * gst/base/gstbasesrc.c:
6847         * gst/base/gstbasesrc.h:
6848         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6849         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6850         * gst/gstelement.c: (gst_element_class_init):
6851         * gst/gstpad.c: (gst_pad_class_init):
6852         * gst/gstqueue.c: (gst_queue_class_init):
6853         * gst/gstxml.c: (gst_xml_class_init):
6854           documented all undocumented signal inline
6855         * libs/gst/controller/gst-controller.h:
6856           added padding
6857
6858 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6859
6860         * docs/pwg/appendix-porting.xml:
6861           Document _set_link_function -> _set_setcaps_function.
6862
6863 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6864
6865         * check/Makefile.am:
6866           add a .check target for running the check
6867         * check/gst-libs/controller.c: (GST_START_TEST):
6868           cosmetic fixups
6869         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6870           complete checks for gstbuffer; would be nice if I could get the
6871           gcov stuff to work so I can see if I actually completed gstbuffer.c
6872         * check/gstcheck.h:
6873           add ASSERT_BUFFER_REFCOUNT
6874
6875 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
6876
6877         * docs/gst/gstreamer-sections.txt:
6878         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
6879         * gst/gsttag.h:
6880           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
6881           spew out a warning if a tag that is already registered
6882           is re-registered, unless it is re-registered with a 
6883           different type (#308438).
6884
6885 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
6886
6887         * docs/pwg/appendix-porting.xml:
6888         * docs/pwg/building-state.xml:
6889           Add some paragraphs about state changes in 0.9 to the PWG
6890           and the porting guide, in particular about the new meaning
6891           of GST_STATE_PAUSED and how to write state change functions
6892           with concurrent access by multiple threads in mind.
6893
6894 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
6895
6896         * docs/gst/gstreamer-docs.sgml:
6897         * docs/libs/gstreamer-libs-docs.sgml:
6898           added deprecation and since indexes
6899         * libs/gst/controller/gst-controller.c:
6900         * libs/gst/controller/gst-helper.c:
6901           added since tags
6902
6903
6904 2005-08-11  Wim Taymans  <wim@fluendo.com>
6905
6906         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
6907         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
6908         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
6909         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
6910         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
6911         (gst_ghost_pad_set_target):
6912         Actually implement (re)setting the target on a ghostpad
6913         as described in the docs.
6914
6915 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6916
6917         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
6918           Check whether GST_DEBUG_NO_COLOR environment variable is
6919           set and disable coloured debug output if that is the case.
6920
6921 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6922
6923         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6924         (gst_type_find_helper):
6925           The memory returned by gst_type_find_peek() needs to
6926           stay valid until the end of a typefind function, and
6927           typefind functions may keep results from different 
6928           offsets around, so we can't just unref the buffer from
6929           the previous _peek(), but have to save all buffers 
6930           returned by _peek() until typefinding is done and only
6931           free them then.
6932
6933 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6934
6935         * docs/gst/gstreamer-sections.txt:
6936         * gst/gstutils.h:
6937           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
6938
6939 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6940
6941         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6942           Fix a pretty good memleak.
6943
6944 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6945
6946         * gst/gstiterator.h:
6947           Fix wrong include and 'make distcheck'.
6948
6949 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6950
6951         * gst/gstbin.c: (bin_bus_handler):
6952           Use gst_element_post_message() instead.
6953
6954 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6955
6956         * gst/base/gstadapter.h:
6957         * gst/base/gstbasesink.h:
6958         * gst/base/gstbasesrc.h:
6959         * gst/base/gstbasetransform.h:
6960         * gst/base/gstcollectpads.h:
6961         * gst/base/gstpushsrc.h:
6962         * gst/gstiterator.h:
6963           Add padding to our base elements' class and instance structs and
6964           to GstIterator (you will need to rebuild all plugins and apps!)
6965
6966 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6967
6968         * gst/gstbin.c: (bin_bus_handler):
6969           Make default message forwarding from child->bus to bin->bus
6970           threadsafe and make it not emit warnings if the parent has no bus.
6971
6972 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6973
6974         * gst/gstelement.c: (activate_pads):
6975           On paused->ready, set pad->caps to NULL, as is the documented
6976           behaviour in this state change. Fixes playback of series of
6977           media files when visualization is enabled in Totem.
6978
6979 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6980
6981         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6982           Allow NULL as filter-caps (which means "any").
6983
6984 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6985
6986         * docs/libs/gstreamer-libs-sections.txt:
6987         * libs/gst/controller/gst-controller.c:
6988         * libs/gst/controller/gst-controller.h:
6989         * libs/gst/controller/gst-helper.c:
6990           adding more entries to the docs and fix small doc-bugs
6991
6992 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6993
6994         * docs/gst/gstreamer-docs.sgml:
6995         * docs/gst/gstreamer-sections.txt:
6996         * docs/gst/gstreamer.types:
6997         * docs/gst/tmpl/gstbasesink.sgml:
6998         * docs/gst/tmpl/gstbasesrc.sgml:
6999         * docs/gst/tmpl/gstbasetransform.sgml:
7000         * docs/gst/tmpl/gstfakesrc.sgml:
7001         * gst/base/gstcollectpads.c:
7002         * gst/base/gstcollectpads.h:
7003         * libs/gst/controller/gst-controller.c:
7004         * libs/gst/controller/gst-controller.h:
7005         * libs/gst/controller/gst-helper.c:
7006         * libs/gst/controller/gst-interpolation.c:
7007         * libs/gst/controller/lib.c:
7008           added long/short desc for controller docs
7009           added collectpads base class docs
7010           added correct includes to base-class docs
7011
7012 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7013
7014         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7015         (gst_test_mono_source_set_property),
7016         (gst_test_mono_source_class_init), (GST_START_TEST),
7017         (gst_controller_suite):
7018         * docs/gst/gstreamer-docs.sgml:
7019         * docs/gst/gstreamer-sections.txt:
7020         * docs/gst/gstreamer.types:
7021         * docs/libs/gstreamer-libs-docs.sgml:
7022         * docs/libs/gstreamer-libs-sections.txt:
7023         * gst/base/gstadapter.c:
7024         * libs/gst/controller/gst-controller.c:
7025         (gst_controlled_property_new), (gst_controlled_property_free),
7026         (gst_controller_new_valist),
7027         (gst_controller_remove_properties_valist),
7028         (gst_controller_sink_values), (_gst_controller_finalize):
7029         * libs/gst/controller/gst-controller.h:
7030         * libs/gst/controller/gst-helper.c:
7031         (gst_object_control_properties), (gst_object_uncontrol_properties),
7032         (gst_object_get_controller), (gst_object_set_controller),
7033         (gst_object_sink_values), (gst_object_get_value_arrays),
7034         (gst_object_get_value_array):
7035           more tests (and fixes) for the controller
7036           more docs for the controller
7037           integrated companies docs for the adapter 
7038
7039 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7040
7041         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7042         (GST_START_TEST), (fakesrc_suite):
7043           add tests for sizetype
7044
7045 2005-08-04  Andy Wingo  <wingo@pobox.com>
7046
7047         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7048         fixes buffer_alloc proxying among other things.
7049
7050         * gst/base/gstbasetransform.c:
7051         * gst/base/gstbasetransform.h:
7052         Revert patch to gstbasetransform from 7-28 removing
7053         delay_configure.
7054
7055         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7056         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7057         Semantics changed, should return not the size of the output buffer
7058         but the byte size of a buffer with a given caps.
7059
7060         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7061         debug object.
7062         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7063         out) are not the pad caps until setcaps finishes.
7064         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7065         not-in-place case as well. Deal with changing from in-place to
7066         not-in-place within calling pad_alloc_buffer. Still a bit
7067         concerned about the overhead here...
7068
7069 2005-08-03  Andy Wingo  <wingo@pobox.com>
7070
7071         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7072         fixating is an error.
7073
7074 2005-08-04  Edward Hervey  <edward@fluendo.com>
7075
7076         * gst/base/gstadapter.h: 
7077         Added gst_adapter_get_type() to the header
7078
7079 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7080
7081         * check/Makefile.am:
7082         * check/gst-libs/controller.c:
7083         * libs/gst/controller/gst-controller.c:
7084         (gst_controller_new_valist):
7085           added check test suite for the controller
7086         * gst/base/gstpushsrc.c:
7087           fixed a doc typo
7088
7089 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7090
7091         * docs/gst/Makefile.am:
7092         * docs/gst/gstreamer-docs.sgml:
7093         * docs/gst/gstreamer-sections.txt:
7094         * docs/gst/gstreamer.types:
7095         * docs/gst/tmpl/gstfakesrc.sgml:
7096         * gst/base/README:
7097         * gst/base/gstbasesink.c:
7098         * gst/base/gstbasesink.h:
7099         * gst/base/gstbasesrc.c:
7100         * gst/base/gstbasesrc.h:
7101         * gst/base/gstbasetransform.c:
7102         * gst/base/gstpushsrc.c:
7103         * gst/base/gstpushsrc.h:
7104           add short/long description docs to base classes
7105           add pushsrc to the docs
7106           remove consolidated doc fragments
7107
7108 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7109
7110         * configure.ac:
7111         * docs/libs/Makefile.am:
7112         * docs/libs/gstreamer-libs-docs.sgml:
7113         * docs/libs/gstreamer-libs-sections.txt:
7114         * docs/libs/gstreamer-libs.types:
7115         * examples/Makefile.am:
7116         * examples/controller/.cvsignore:
7117         * examples/controller/Makefile.am:
7118         * examples/controller/audio-example.c: (main):
7119         * libs/gst/Makefile.am:
7120         * libs/gst/controller/.cvsignore:
7121         * libs/gst/controller/Makefile.am:
7122         * libs/gst/controller/gst-controller.c:
7123         (on_object_controlled_property_changed), (gst_timed_value_compare),
7124         (gst_timed_value_find),
7125         (gst_controlled_property_set_interpolation_mode),
7126         (gst_controlled_property_new), (gst_controlled_property_free),
7127         (gst_controller_find_controlled_property),
7128         (gst_controller_new_valist), (gst_controller_new),
7129         (gst_controller_remove_properties_valist),
7130         (gst_controller_remove_properties), (gst_controller_set),
7131         (gst_controller_set_from_list), (gst_controller_unset),
7132         (gst_controller_get), (gst_controller_get_all),
7133         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7134         (gst_controller_get_value_array),
7135         (gst_controller_set_interpolation_mode),
7136         (_gst_controller_finalize), (_gst_controller_init),
7137         (_gst_controller_class_init), (gst_controller_get_type):
7138         * libs/gst/controller/gst-controller.h:
7139         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7140         (g_object_uncontrol_properties), (g_object_get_controller),
7141         (g_object_set_controller), (g_object_sink_values),
7142         (g_object_get_value_arrays), (g_object_get_value_array):
7143         * libs/gst/controller/gst-interpolation.c:
7144         (gst_controlled_property_find_timed_value_node),
7145         (interpolate_none_get), (interpolate_trigger_get),
7146         (interpolate_trigger_get_value_array):
7147         * libs/gst/controller/lib.c: (gst_controller_init):
7148         * pkgconfig/Makefile.am:
7149         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7150         * pkgconfig/gstreamer-control.pc.in:
7151         * testsuite/Makefile.am:
7152         * testsuite/controller/.cvsignore:
7153         * testsuite/controller/Makefile.am:
7154         * testsuite/controller/interpolator.c: (main):
7155           added controller code
7156           removed dparam pc files
7157
7158 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7159         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7160         (gst_collectpads_stop):
7161           Broadcast the condition when shutting down, to make sure we wake all
7162           threads up. Shut down pads on finalize, for safety.
7163
7164 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7165         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7166         (gst_base_transform_handle_buffer),
7167         (gst_base_transform_change_state):
7168           Handle PAUSED->READY->PAUSED transition after negotiation
7169           occurred already.
7170         * gst/gstmessage.c: (gst_message_init):
7171           Extra piece of debug for new messages.
7172
7173 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7174
7175         * configure.ac:
7176         * docs/gst/tmpl/gstbasesrc.sgml:
7177         * docs/gst/tmpl/gstelement.sgml:
7178         * docs/gst/tmpl/gstevent.sgml:
7179         * docs/gst/tmpl/gstfakesrc.sgml:
7180         * docs/gst/tmpl/gstformat.sgml:
7181         * docs/gst/tmpl/gstghostpad.sgml:
7182         * docs/gst/tmpl/gstpad.sgml:
7183         * docs/gst/tmpl/gstquery.sgml:
7184         * docs/gst/tmpl/gststructure.sgml:
7185         * docs/gst/tmpl/gsttaglist.sgml:
7186         * docs/gst/tmpl/gstvalue.sgml:
7187         * docs/libs/gstreamer-libs-docs.sgml:
7188         * docs/libs/gstreamer-libs-sections.txt:
7189         * docs/libs/gstreamer-libs.types:
7190         * libs/gst/Makefile.am:
7191         * libs/gst/control/.cvsignore:
7192         * libs/gst/control/Makefile.am:
7193         * libs/gst/control/control.c:
7194         * libs/gst/control/control.h:
7195         * libs/gst/control/dparam.c:
7196         * libs/gst/control/dparam.h:
7197         * libs/gst/control/dparam_smooth.c:
7198         * libs/gst/control/dparam_smooth.h:
7199         * libs/gst/control/dparamcommon.h:
7200         * libs/gst/control/dparammanager.c:
7201         * libs/gst/control/dparammanager.h:
7202         * libs/gst/control/dplinearinterp.c:
7203         * libs/gst/control/dplinearinterp.h:
7204         * libs/gst/control/unitconvert.c:
7205         * libs/gst/control/unitconvert.h:
7206         * testsuite/Makefile.am:
7207         * testsuite/dynparams/.cvsignore:
7208         * testsuite/dynparams/Makefile.am:
7209         * testsuite/dynparams/dparamstest.c:
7210         * tools/Makefile.am:
7211         * tools/gst-inspect.c: (print_element_info), (main):
7212         * tools/gst-xmlinspect.c: (print_element_info), (main):
7213           deactivate and remove dparams (libgstcontrol)
7214
7215 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7216
7217         * gst/elements/gsttypefindelement.c:
7218         (gst_type_find_element_have_type), (gst_type_find_element_init),
7219         (stop_typefinding), (gst_type_find_element_handle_event),
7220         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7221         * gst/elements/gsttypefindelement.h:
7222           Set caps on all outgoing buffers, not just the first one.
7223
7224 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7225
7226         * gst/elements/gsttypefindelement.c:
7227         (gst_type_find_element_have_type),
7228         (gst_type_find_element_check_set_buffer_caps),
7229         (gst_type_find_element_init), (stop_typefinding),
7230         (gst_type_find_element_handle_event),
7231         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7232         * gst/elements/gsttypefindelement.h:
7233           Set caps on first outgoing buffer when we've found the type.
7234
7235 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7236
7237         * docs/gst/gstreamer-docs.sgml:
7238         * docs/gst/gstreamer-sections.txt:
7239         * docs/gst/tmpl/gstscheduler.sgml:
7240         * docs/gst/tmpl/gstschedulerfactory.sgml:
7241           Remove some old cruft from docs.
7242
7243 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7244
7245         * gst/gstpad.h:
7246           Fix inline docs for GstPadLinkReturn.
7247           
7248         * gst/gststructure.c: (gst_structure_has_name):
7249         * gst/gststructure.h:
7250         * docs/gst/gstreamer-sections.txt:
7251           New API: gst_structure_has_name().
7252
7253 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7254
7255         * configure.ac:
7256           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7257           and _LARGEFILE_SOURCE in config.h as required. Do not 
7258           export those flags in our .pc files any longer (#142209).
7259
7260           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7261
7262         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7263         (gst_file_sink_do_seek), (gst_file_sink_event),
7264         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7265           Redo seek/tell calls with large file support in mind; add some
7266           debugging messages; add log message that tells us when large
7267           file support is unavailable or not enabled for some reason.
7268
7269         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7270           Add log message that tells us when large file support 
7271           is unavailable or not enabled for some reason.
7272
7273 2005-07-29  Wim Taymans  <wim@fluendo.com>
7274
7275         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7276         Added test for removing an element with ghostpad from a bin.
7277         Fixed test as current implementation does the right thing.
7278
7279         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7280         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7281         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7282         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7283         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7284         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7285         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7286         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7287         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7288         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7289         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7290         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7291         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7292         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7293         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7294         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7295         * gst/gstghostpad.h:
7296         Clean up ghostpads, remove properties for internal stuff.
7297         Make threadsafe.
7298         Fix refcounting.
7299         Prepare for switching targets, not all use cases work yet.
7300
7301 2005-07-29  Wim Taymans  <wim@fluendo.com>
7302
7303         * docs/design/part-gstghostpad.txt:
7304         Small update.
7305
7306         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7307         (gst_bin_remove_func):
7308         Unlinking pads while holding the bin LOCK is not a good
7309         idea.
7310
7311         * gst/gstpad.c: (gst_pad_class_init),
7312         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7313         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7314         No prob setting template after creating the pad.
7315
7316 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7317
7318         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7319         (gst_bus_peek), (gst_bus_source_dispatch),
7320         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7321         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7322           gst_bus_poll may be called from other threads. Handle
7323           this nicely by not making poll_data disappear off the
7324           stack once gst_bus_poll returns.
7325           gst_bus_peek now increments the refcount on the returned
7326           message.
7327
7328 2005-07-29  Wim Taymans  <wim@fluendo.com>
7329
7330         * docs/design/part-gstghostpad.txt:
7331         Overview of current GhostPad datastructures and use
7332         cases for changing the target.
7333
7334 2005-07-28  Wim Taymans  <wim@fluendo.com>
7335
7336         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7337         Added checks for hierarchy consistency whan adding linked
7338         elements to bins.
7339
7340         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7341         Added check to test element scheduling without bin/pipeline.
7342
7343         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7344         First add elements to bin, then link.
7345         
7346         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7347         (gst_bin_remove_func):
7348         Unlink pads from elements added/removed from bin to maintain
7349         hierarchy consistency.
7350
7351 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7352
7353         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7354         (gst_base_transform_handle_buffer):
7355         * gst/base/gstbasetransform.h:
7356           Remove broken delay_configure (fixes renegotiation of software
7357           scaling pipelines); remove some leftover printf()s.
7358
7359 2005-07-28  Wim Taymans  <wim@fluendo.com>
7360
7361         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7362         Added some more tests for wrong hierarchy
7363
7364         * docs/design/part-overview.txt:
7365         Some updates.
7366
7367         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7368         Cleanups.
7369
7370         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7371         (gst_element_dispose):
7372         Some more cleanups.
7373
7374         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7375         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7376         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7377         (gst_pad_set_caps), (gst_pad_send_event):
7378         Check for correct hierarchy when linking pads. Moving to
7379         strict requirement for ghostpads when linking elements in
7380         different bins.
7381
7382         * gst/gstpad.h:
7383         Clean ups. Added WRONG_HIERARCHY return value.
7384
7385 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7386
7387         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7388           Better debug if no transform is possible.
7389
7390 2005-07-27  Wim Taymans  <wim@fluendo.com>
7391
7392         * docs/random/wtay/network-transp:
7393         Some old doc I had.
7394
7395 2005-07-27  Wim Taymans  <wim@fluendo.com>
7396
7397         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7398         (gst_dp_event_from_packet):
7399         Fix serialization of seek events.
7400
7401 2005-07-27  Wim Taymans  <wim@fluendo.com>
7402
7403         * check/gst-libs/gdp.c: (GST_START_TEST):
7404         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7405         Fix compilation and fix event serialization.
7406
7407 2005-07-27  Wim Taymans  <wim@fluendo.com>
7408
7409         * CHANGES-0.9:
7410         * docs/design/part-TODO.txt:
7411         * docs/design/part-events.txt:
7412         Some docs updates
7413
7414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7415         (gst_base_sink_event), (gst_base_sink_do_sync),
7416         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7417         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7418         (gst_base_src_do_seek), (gst_base_src_event_handler),
7419         (gst_base_src_loop):
7420         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7421         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7422         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7423         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7424         (gst_base_transform_set_passthrough),
7425         (gst_base_transform_is_passthrough):
7426         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7427         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7428         Event updates.
7429
7430         * gst/gstbuffer.h:
7431         Use faster casts.
7432
7433         * gst/gstelement.c: (gst_element_seek):
7434         * gst/gstelement.h:
7435         Update gst_element_seek.
7436
7437         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7438         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7439         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7440         (gst_event_new_eos), (gst_event_new_newsegment),
7441         (gst_event_parse_newsegment), (gst_event_new_tag),
7442         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7443         (gst_event_parse_qos), (gst_event_new_seek),
7444         (gst_event_parse_seek), (gst_event_new_navigation):
7445         * gst/gstevent.h:
7446         Make GstEvent use GstStructure. Add parsing code, make sure the
7447         API is sufficiently generic.
7448         Mark possible directions of events and serialization.
7449
7450         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7451         (_gst_message_copy), (gst_message_new_segment_start),
7452         (gst_message_new_segment_done), (gst_message_new_custom),
7453         (gst_message_parse_segment_start),
7454         (gst_message_parse_segment_done):
7455         Small cleanups.
7456
7457         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7458         (gst_pad_set_caps), (gst_pad_send_event):
7459         Update for new events. 
7460         Catch events sent in wrong directions.
7461
7462         * gst/gstqueue.c: (gst_queue_link_src),
7463         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7464         (gst_queue_handle_src_query):
7465         Event updates.
7466
7467         * gst/gsttag.c:
7468         * gst/gsttag.h:
7469         Remove event code from this file.
7470
7471         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7472         (gst_dp_event_from_packet):
7473         Event updates.
7474
7475 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7476
7477         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7478         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7479         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7480           Make debugging actually useful.
7481
7482 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7483
7484         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7485         (gst_pad_fixate_caps):
7486           Implement default fixation once again, so that gst_pad_fixate()
7487           actually does anything at all. This probably needs to be some
7488           sort of a last resort, and use profile-based fixation first, but
7489           since that doesn't exist yet, this is the best we have. Fixes
7490           visualization in Totem.
7491
7492 2005-07-22  Wim Taymans  <wim@fluendo.com>
7493
7494         * docs/design/part-events.txt:
7495         Small update.
7496
7497         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7498         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7499         (gst_base_sink_activate_pull):
7500         Some more comments.
7501
7502         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7503         (gst_fake_src_create):
7504         Fix handoff marshall.
7505
7506         * gst/elements/gstidentity.c: (gst_identity_class_init),
7507         (gst_identity_transform_ip):
7508         We're a real inplace element.
7509
7510         * gst/gstbus.c: (gst_bus_post):
7511         Added some comments.
7512
7513         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7514         * tests/muxing/case1.c: (main):
7515         * tests/sched/dynamic-pipeline.c: (main):
7516         * tests/sched/interrupt1.c: (main):
7517         * tests/sched/interrupt2.c: (main):
7518         * tests/sched/interrupt3.c: (main):
7519         * tests/sched/runxml.c: (main):
7520         * tests/sched/sched-stress.c: (main):
7521         * tests/seeking/seeking1.c: (event_received), (main):
7522         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7523         (main):
7524         * tests/threadstate/threadstate3.c: (main):
7525         * tests/threadstate/threadstate4.c: (main):
7526         * tests/threadstate/threadstate5.c: (main):
7527         Fix the tests.
7528
7529 2005-07-21  Wim Taymans  <wim@fluendo.com>
7530
7531         * docs/design/part-seeking.txt:
7532         Some small additions.
7533
7534         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7535         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7536         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7537         * gst/base/gstbasesink.h:
7538         discont values are gint64, handle the math correctly.
7539
7540         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7541         Make the basesrc report error if the source pad is not linked.
7542
7543         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7544         (gst_queue_loop), (gst_queue_handle_src_query),
7545         (gst_queue_src_activate_push):
7546         Make queue collect data even if the srcpad is not linked.
7547         Start pushing out data as soon as it is linked.
7548
7549         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7550         * gst/gstutils.h:
7551         Added gst_flow_get_name() to ease error reporting.
7552
7553 2005-07-20  Wim Taymans  <wim@fluendo.com>
7554
7555         * gst/gstmessage.c: (gst_message_new_segment_start),
7556         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7557         (gst_message_parse_segment_done):
7558         * gst/gstmessage.h:
7559         Added a bunch of messages for advanced seeking.
7560
7561         * gst/parse/grammar.y:
7562         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7563         (gst_dpman_state_changed):
7564         Fix some new-pad -> pad-added signals
7565
7566 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7567
7568         * docs/manual/appendix-porting.xml:
7569         * docs/pwg/appendix-porting.xml:
7570           Document new-pad/state-change signal renames and the FixedList
7571           type rename.
7572
7573 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7574
7575         * docs/manual/advanced-autoplugging.xml:
7576         * docs/manual/basics-helloworld.xml:
7577         * docs/manual/basics-pads.xml:
7578         * docs/random/ds/0.9-suggested-changes:
7579         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7580         * gst/gstelement.h:
7581         * gst/gstevent.h:
7582         * gst/gstformat.h:
7583         * gst/gstquery.h:
7584         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7585         (gst_structure_parse_array), (gst_structure_parse_value):
7586         * gst/gstvalue.c: (gst_type_is_fixed),
7587         (gst_value_list_prepend_value), (gst_value_list_append_value),
7588         (gst_value_list_get_size), (gst_value_list_get_value),
7589         (gst_value_transform_array_string), (gst_value_serialize_array),
7590         (gst_value_deserialize_array), (gst_value_intersect_array),
7591         (gst_value_is_fixed), (_gst_value_initialize):
7592         * gst/gstvalue.h:
7593           GstElement::new-pad -> pad-added, GstElement::state-change ->
7594           state-changed, GstValueFixedList -> GstValueArray, add format and
7595           flags as their own arguments in gst_element_seek() (should improve
7596           "bindeability"), remove function generators since they don't work
7597           under a whole bunch of compilers (they were deprecated already
7598           anyway).
7599
7600 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7601
7602         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7603         (_gst_debug_register_funcptr):
7604         * gst/gstinfo.h:
7605           Fix illegal cast on some platforms (#309253).
7606
7607 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7608
7609         * gst/gstmessage.c: (gst_message_new_custom):
7610         * gst/gstmessage.h:
7611           Add _new_custom, make _new_application a macro to _new_custom.
7612
7613 2005-07-20  Wim Taymans  <wim@fluendo.com>
7614
7615         * gst/base/gstbasesrc.c: (gst_base_src_init),
7616         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7617         * gst/base/gstbasesrc.h:
7618         Add a gboolean to decide when to push out a discont.
7619
7620         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7621         (gst_queue_loop), (gst_queue_handle_src_query),
7622         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7623         (gst_queue_set_property), (gst_queue_get_property):
7624         Some cleanups.
7625
7626         * tests/threadstate/threadstate1.c: (main):
7627         Make a thread test compile and run... very silly..
7628
7629
7630 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7631
7632         * docs/manual/appendix-porting.xml:
7633           Mention removal of libgstgconf-0.9.la and existence of gconf
7634           elements.
7635
7636 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7637
7638         * docs/pwg/advanced-clock.xml:
7639         * docs/pwg/appendix-porting.xml:
7640         * docs/pwg/intro-preface.xml:
7641         * docs/pwg/other-base.xml:
7642         * docs/pwg/other-manager.xml:
7643         * docs/pwg/other-nton.xml:
7644         * docs/pwg/other-ntoone.xml:
7645         * docs/pwg/other-oneton.xml:
7646         * docs/pwg/pwg.xml:
7647           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7648           demuxer), remove n-to-n (was never written), fix some code examples
7649           and links and update the porting section to include all this.
7650
7651 2005-07-19  Wim Taymans  <wim@fluendo.com>
7652
7653         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7654         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7655         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7656         (gst_queue_src_activate_push), (gst_queue_change_state),
7657         (gst_queue_get_property):
7658         * gst/gstqueue.h:
7659         Propagate GstFlowReturn more intelligently upstream and output
7660         an ERROR/EOS when streaming stopped due to fatal error.
7661
7662 2005-07-19  Wim Taymans  <wim@fluendo.com>
7663
7664         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7665         Don't block forever for the state change to complete, the
7666         pipeline already did with a sensible timeout.
7667
7668 2005-07-19  Wim Taymans  <wim@fluendo.com>
7669
7670         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7671         Make sure we never call the create function is we
7672         got deactivated.
7673
7674 2005-07-19  Andy Wingo  <wingo@pobox.com>
7675
7676         * gst/parse/parse.l: Attempt to solve bug #172815.
7677
7678 2005-07-19  Wim Taymans  <wim@fluendo.com>
7679
7680         * docs/design/part-clocks.txt:
7681         * docs/design/part-events.txt:
7682         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7683         Small docs updates.
7684         Only update the seeking values when we are not
7685         busy streaming.
7686
7687 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7688
7689         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7690           Oops, ignore the result of gst_pad_push_event here.
7691
7692 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7693
7694         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7695         (gst_base_src_activate_push):
7696           Send discont event from the loop function, as pads
7697           aren't activated yet in the activate_push handler.
7698
7699         * gst/gstbin.c: (bin_bus_handler):
7700           Don't leak element name.
7701
7702 2005-07-18  Andy Wingo  <wingo@pobox.com>
7703
7704         * configure.ac: Use AS_LIBTOOL_TAGS.
7705
7706 2005-07-18  Wim Taymans  <wim@fluendo.com>
7707
7708         * docs/gst/gstreamer.types:
7709         Remove deleted types.
7710
7711 2005-07-18  Wim Taymans  <wim@fluendo.com>
7712
7713         * check/elements/gstfakesrc.c: (GST_START_TEST):
7714         * configure.ac:
7715         * gst/Makefile.am:
7716         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7717         (init_popt_callback):
7718         * gst/gst.h:
7719         * gst/gst_private.h:
7720         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7721         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7722         * gst/gstbin.h:
7723         * gst/gstbus.h:
7724         * gst/gstconfig.h.in:
7725         * gst/gstelement.c: (gst_element_class_init),
7726         (gst_element_set_base_time), (gst_element_get_base_time),
7727         (iterator_fold_with_resync), (gst_element_change_state),
7728         (gst_element_dispose), (gst_element_get_bus):
7729         * gst/gstelement.h:
7730         * gst/gstelementfactory.h:
7731         * gst/gsterror.c: (_gst_core_errors_init):
7732         * gst/gsterror.h:
7733         * gst/gstevent.h:
7734         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7735         * gst/gstindex.c:
7736         * gst/gstinfo.c: (_gst_debug_init):
7737         * gst/gstmessage.c: (_gst_message_copy):
7738         * gst/gstmessage.h:
7739         * gst/gstminiobject.h:
7740         * gst/gstobject.c:
7741         * gst/gstobject.h:
7742         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7743         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7744         * gst/gstpad.h:
7745         * gst/gstparse.h:
7746         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7747         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7748         (gst_pipeline_get_last_stream_time):
7749         * gst/gstpipeline.h:
7750         * gst/gstpluginfeature.h:
7751         * gst/gstquery.h:
7752         * gst/gstscheduler.c:
7753         * gst/gstscheduler.h:
7754         * gst/gststructure.h:
7755         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7756         (gst_task_finalize), (gst_task_func), (gst_task_create),
7757         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7758         (gst_task_stop), (gst_task_pause):
7759         * gst/gsttask.h:
7760         * gst/gsttypefind.h:
7761         * gst/gsttypes.h:
7762         * gst/registries/gstlibxmlregistry.c: (load_feature),
7763         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7764         * gst/registries/gstxmlregistry.c:
7765         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7766         * gst/schedulers/threadscheduler.c:
7767         * libs/gst/control/dparammanager.h:
7768         * tools/gst-inspect.c: (print_element_list),
7769         (print_plugin_features), (print_element_features):
7770         * tools/gst-xmlinspect.c: (print_element_list),
7771         (print_plugin_info), (main):
7772         Removed plugable schedulers.
7773         Removed Scheduler/Manager from elements.
7774         Removed gsttypes.h, rearranged includes.
7775         Removed dependency pad<->element, element<>pipeline, and
7776         various others,  fix includes.
7777         implement gst_pad_get_parent() with gst_object_get_parent()
7778         Make GstTask sefcontained.
7779         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7780         timeout.
7781         Fix endless loop in iterator_fold_with_resync.
7782
7783
7784 2005-07-18  Wim Taymans  <wim@fluendo.com>
7785
7786         * gst/Makefile.am:
7787         * gst/gstarch.h:
7788         Remove old file.
7789
7790 2005-07-18  Wim Taymans  <wim@fluendo.com>
7791
7792         * gst/Makefile.am:
7793         No more cothreads.h
7794
7795 2005-07-18  Wim Taymans  <wim@fluendo.com>
7796
7797         * gst/cothreads.c:
7798         * gst/cothreads.h:
7799         Let's remove these.
7800
7801 2005-07-18  Wim Taymans  <wim@fluendo.com>
7802
7803         * docs/design/part-dynamic.txt:
7804         * docs/design/part-events.txt:
7805         * docs/design/part-seeking.txt:
7806         Some more docs in the works.
7807
7808         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7809         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7810         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7811         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7812         (gst_base_transform_handle_buffer),
7813         (gst_base_transform_sink_activate_push),
7814         (gst_base_transform_src_activate_pull),
7815         (gst_base_transform_set_passthrough),
7816         (gst_base_transform_is_passthrough):
7817         Refcounting fixes.
7818
7819         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7820         Cleanups.
7821
7822         * gst/gstevent.c: (gst_event_finalize):
7823         Set SRC to NULL.
7824
7825         * gst/gstutils.c: (gst_element_unlink),
7826         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7827         (gst_pad_proxy_setcaps):
7828         * gst/gstutils.h:
7829         Add _get_parent_element() to get a pads parent as an element.
7830
7831 2005-07-18  Wim Taymans  <wim@fluendo.com>
7832
7833         * check/gst/gstbin.c: (GST_START_TEST):
7834         Remove bogus test.
7835
7836 2005-07-18  Wim Taymans  <wim@fluendo.com>
7837
7838         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7839         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7840         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7841         (gst_base_sink_event), (gst_base_sink_do_sync),
7842         (gst_base_sink_chain), (gst_base_sink_loop),
7843         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7844         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7845         Refcounting fixes.
7846         Fix logic for returning ASYNC when not prerolled.
7847
7848 2005-07-18  Wim Taymans  <wim@fluendo.com>
7849
7850         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7851         Fix nasty refcount bug.
7852
7853 2005-07-16 Philippe Khalaf <burger@speedy.org>
7854
7855         * gst/elements/gstfdsrc.c:
7856         * gst/elements/gstfdsrc.h:
7857         * gst/elements/gstelements.c:
7858         * gst/elements/Makefile.am:
7859         Ported fdsrc to 0.9.
7860
7861 2005-07-16  Wim Taymans  <wim@fluendo.com>
7862
7863         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7864         (gst_base_sink_do_sync):
7865         Fix compile error.
7866
7867 2005-07-16  Wim Taymans  <wim@fluendo.com>
7868
7869         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7870         (gst_base_sink_event), (gst_base_sink_get_times),
7871         (gst_base_sink_do_sync), (gst_base_sink_change_state):
7872         * gst/base/gstbasesink.h:
7873         Store and use discont values when syncing buffers as described
7874         in design docs.
7875         
7876         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7877         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
7878         (gst_base_src_activate_push):
7879         Push discont event when starting.
7880
7881         * gst/elements/gstidentity.c: (gst_identity_transform):
7882         Small cleanups.
7883
7884         * gst/gstbin.c: (gst_bin_change_state):
7885         Small cleanups in base_time  distribution.
7886
7887         * gst/gstelement.c: (gst_element_set_base_time),
7888         (gst_element_get_base_time), (gst_element_change_state):
7889         * gst/gstelement.h:
7890         Added methods for the base_time of the element.
7891         Some MT fixes.
7892
7893         * gst/gstpipeline.c: (gst_pipeline_send_event),
7894         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7895         (gst_pipeline_get_last_stream_time):
7896         * gst/gstpipeline.h:
7897         MT fixes.
7898         Handle seeking as described in design doc, remove stream_time
7899         hack.
7900         Cleanups clock and stream_time selection code. Added accessors
7901         for the stream_time.
7902         
7903
7904 2005-07-16  Andy Wingo  <wingo@pobox.com>
7905
7906         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
7907         (#305291).
7908
7909 2005-07-16  Wim Taymans  <wim@fluendo.com>
7910
7911         * check/gst/gstbin.c: (GST_START_TEST):
7912         Make elements silent as the deep_notify refs the
7913         parent, which might make the test fail.
7914
7915         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7916         Don't hold the lock for too long.
7917
7918 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
7919
7920         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7921           Don't unref the caps we passed to gst_caps_make_writable() after
7922           passing them. gst_caps_make_writable() will do that for us.
7923
7924 2005-07-15  Andy Wingo  <wingo@pobox.com>
7925
7926         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
7927         (#157311).
7928
7929         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
7930         own marshalling function for the handoff signal. Properly type the
7931         buffer as a buffer. Fixes some warnings. Should do a more general
7932         solution.
7933         (gst_identity_class_init): Plug into the right marshaller.
7934
7935 2005-07-15  Wim Taymans  <wim@fluendo.com>
7936
7937         * docs/design/part-TODO.txt:
7938         * docs/design/part-clocks.txt:
7939         * docs/design/part-element-sink.txt:
7940         * docs/design/part-events.txt:
7941         * docs/design/part-gstpipeline.txt:
7942         Updated docs, mostly DISCONT related.
7943
7944 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
7945
7946         * docs/pwg/building-pads.xml:
7947           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
7948
7949 2005-07-15  Andy Wingo  <wingo@pobox.com>
7950
7951         * tools/gst-typefind.c: Update, add copyright block.
7952
7953         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
7954         Normalize and truncate caps before fixation.
7955
7956         * gst/gstcaps.h:
7957         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
7958         discards all but the first structure from its argument.
7959
7960 2005-07-15  Wim Taymans  <wim@fluendo.com>
7961
7962         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7963         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
7964         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7965         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7966         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
7967         (gst_base_transform_chain), (gst_base_transform_change_state),
7968         (gst_base_transform_set_passthrough),
7969         (gst_base_transform_is_passthrough):
7970         * gst/base/gstbasetransform.h:
7971         Make passthrough work using the bufferpools.
7972         Changed API a bit, subclasses have to write into a buffer
7973         provided by the base class.
7974         More debug info in nego functions.
7975         
7976         * gst/elements/gstidentity.c: (gst_identity_init),
7977         (gst_identity_transform):
7978         Port to new base class.
7979
7980 2005-07-15  Wim Taymans  <wim@fluendo.com>
7981
7982         * gst/gstmessage.c: (gst_message_new_state_changed):
7983         * tools/gst-launch.c: (event_loop), (main):
7984         Totally dump messages in -launch with the -m option.
7985         Fix message name for State messages,
7986
7987 2005-07-14  Wim Taymans  <wim@fluendo.com>
7988
7989         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7990         Post error messages on errors.
7991
7992 2005-07-14  Wim Taymans  <wim@fluendo.com>
7993
7994         * gst/gstcaps.c: (gst_caps_do_simplify):
7995         Remove debug info.
7996
7997         * gst/gsterror.h:
7998         Define error for stream stopped.
7999
8000         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8001         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8002         Do proper return values.
8003
8004         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8005         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8006         (gst_pad_get_range):
8007         Better return values.
8008
8009         * gst/gstpad.h:
8010         Reorganise return values, add macro to check for fatal errors.
8011
8012         * gst/gstqueue.c: (gst_queue_chain):
8013         Return proper GstFlowReturn values,
8014
8015 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8016
8017         * docs/gst/gstreamer-sections.txt:
8018         * docs/gst/gstreamer.types:
8019         * docs/gst/tmpl/gst.sgml:
8020         * docs/gst/tmpl/gstbasesink.sgml:
8021         * docs/gst/tmpl/gstbasesrc.sgml:
8022         * docs/gst/tmpl/gstbasetransform.sgml:
8023         * docs/gst/tmpl/gstbin.sgml:
8024         * docs/gst/tmpl/gstbuffer.sgml:
8025         * docs/gst/tmpl/gstcaps.sgml:
8026         * docs/gst/tmpl/gstclock.sgml:
8027         * docs/gst/tmpl/gstcompat.sgml:
8028         * docs/gst/tmpl/gstconfig.sgml:
8029         * docs/gst/tmpl/gstelement.sgml:
8030         * docs/gst/tmpl/gstelementdetails.sgml:
8031         * docs/gst/tmpl/gstelementfactory.sgml:
8032         * docs/gst/tmpl/gstenumtypes.sgml:
8033         * docs/gst/tmpl/gsterror.sgml:
8034         * docs/gst/tmpl/gstevent.sgml:
8035         * docs/gst/tmpl/gstfakesink.sgml:
8036         * docs/gst/tmpl/gstfakesrc.sgml:
8037         * docs/gst/tmpl/gstfilesink.sgml:
8038         * docs/gst/tmpl/gstfilesrc.sgml:
8039         * docs/gst/tmpl/gstfilter.sgml:
8040         * docs/gst/tmpl/gstformat.sgml:
8041         * docs/gst/tmpl/gstghostpad.sgml:
8042         * docs/gst/tmpl/gstimplementsinterface.sgml:
8043         * docs/gst/tmpl/gstindex.sgml:
8044         * docs/gst/tmpl/gstindexfactory.sgml:
8045         * docs/gst/tmpl/gstinfo.sgml:
8046         * docs/gst/tmpl/gstiterator.sgml:
8047         * docs/gst/tmpl/gstmacros.sgml:
8048         * docs/gst/tmpl/gstmemchunk.sgml:
8049         * docs/gst/tmpl/gstminiobject.sgml:
8050         * docs/gst/tmpl/gstobject.sgml:
8051         * docs/gst/tmpl/gstpad.sgml:
8052         * docs/gst/tmpl/gstpadtemplate.sgml:
8053         * docs/gst/tmpl/gstparse.sgml:
8054         * docs/gst/tmpl/gstpipeline.sgml:
8055         * docs/gst/tmpl/gstplugin.sgml:
8056         * docs/gst/tmpl/gstpluginfeature.sgml:
8057         * docs/gst/tmpl/gstquery.sgml:
8058         * docs/gst/tmpl/gstqueue.sgml:
8059         * docs/gst/tmpl/gstregistry.sgml:
8060         * docs/gst/tmpl/gstregistrypool.sgml:
8061         * docs/gst/tmpl/gstscheduler.sgml:
8062         * docs/gst/tmpl/gstschedulerfactory.sgml:
8063         * docs/gst/tmpl/gststructure.sgml:
8064         * docs/gst/tmpl/gstsystemclock.sgml:
8065         * docs/gst/tmpl/gsttaglist.sgml:
8066         * docs/gst/tmpl/gsttagsetter.sgml:
8067         * docs/gst/tmpl/gsttrace.sgml:
8068         * docs/gst/tmpl/gsttrashstack.sgml:
8069         * docs/gst/tmpl/gsttypefind.sgml:
8070         * docs/gst/tmpl/gsttypefindfactory.sgml:
8071         * docs/gst/tmpl/gsttypes.sgml:
8072         * docs/gst/tmpl/gsturihandler.sgml:
8073         * docs/gst/tmpl/gsturitype.sgml:
8074         * docs/gst/tmpl/gstutils.sgml:
8075         * docs/gst/tmpl/gstvalue.sgml:
8076         * docs/gst/tmpl/gstversion.sgml:
8077         * docs/gst/tmpl/gstxml.sgml:
8078         * docs/libs/tmpl/gstcontrol.sgml:
8079         * docs/libs/tmpl/gstdataprotocol.sgml:
8080         * docs/libs/tmpl/gstdparam.sgml:
8081         * docs/libs/tmpl/gstdplinint.sgml:
8082         * docs/libs/tmpl/gstdpman.sgml:
8083         * docs/libs/tmpl/gstdpsmooth.sgml:
8084         * docs/libs/tmpl/gstgetbits.sgml:
8085         * docs/libs/tmpl/gstunitconvert.sgml:
8086         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8087         (gst_push_src_base_init), (gst_push_src_class_init),
8088         (gst_push_src_init), (gst_push_src_create):
8089         * gst/base/gstpushsrc.h:
8090         * gst/elements/gstelements.c:
8091         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8092         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8093         (gst_fake_sink_init), (gst_fake_sink_set_property),
8094         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8095         (gst_fake_sink_event), (gst_fake_sink_preroll),
8096         (gst_fake_sink_render), (gst_fake_sink_change_state):
8097         * gst/elements/gstfakesink.h:
8098         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8099         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8100         (gst_fake_src_base_init), (gst_fake_src_class_init),
8101         (gst_fake_src_init), (gst_fake_src_event_handler),
8102         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8103         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8104         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8105         (gst_fake_src_create_buffer), (gst_fake_src_create),
8106         (gst_fake_src_start), (gst_fake_src_stop):
8107         * gst/elements/gstfakesrc.h:
8108         * gst/elements/gstfilesink.c: (_do_init),
8109         (gst_file_sink_base_init), (gst_file_sink_class_init),
8110         (gst_file_sink_init), (gst_file_sink_dispose),
8111         (gst_file_sink_set_location), (gst_file_sink_set_property),
8112         (gst_file_sink_get_property), (gst_file_sink_open_file),
8113         (gst_file_sink_close_file), (gst_file_sink_query),
8114         (gst_file_sink_event), (gst_file_sink_render),
8115         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8116         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8117         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8118         * gst/elements/gstfilesink.h:
8119         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8120         (gst_file_src_class_init), (gst_file_src_init),
8121         (gst_file_src_finalize), (gst_file_src_set_location),
8122         (gst_file_src_set_property), (gst_file_src_get_property),
8123         (gst_file_src_map_region), (gst_file_src_map_small_region),
8124         (gst_file_src_create_mmap), (gst_file_src_create_read),
8125         (gst_file_src_create), (gst_file_src_is_seekable),
8126         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8127         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8128         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8129         (gst_file_src_uri_handler_init):
8130         * gst/elements/gstfilesrc.h:
8131           more autistic cleanliness in functions/names/defines
8132
8133 2005-07-13  Andy Wingo  <wingo@pobox.com>
8134
8135         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8136         source couldn't negotiate.
8137
8138         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8139         connections again.
8140
8141         * gst/gstutils.h:
8142         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8143         function. I am channeling Hades. Put your boots on suckers!!!
8144
8145 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8146
8147         * testsuite/caps/Makefile.am:
8148         * testsuite/caps/value_compare.c:
8149         * testsuite/caps/value_intersect.c:
8150         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8151           move two testsuite apps over to the check dir
8152
8153 2005-07-12  Wim Taymans  <wim@fluendo.com>
8154
8155         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8156         Added more debug info in the negotiate process.
8157
8158         * gst/gstmessage.h:
8159         Prepare for segment playback.
8160
8161         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8162         Better debugging.
8163
8164         * gst/gstutils.c:
8165         Some more docs.
8166
8167         * tools/gst-launch.c: (main):
8168         NULL pipeline on errors.
8169
8170 2005-07-12  Andy Wingo  <wingo@pobox.com>
8171
8172         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8173         not it comes from a malloc region. Make sure our copy gets freed.
8174
8175 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8176
8177         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8178         * check/gst/gstmessage.c: (GST_START_TEST):
8179         * check/gst/gststructure.c: (GST_START_TEST),
8180         (gst_structure_suite), (main):
8181           more testing
8182         * gst/gstelement.c: (gst_element_message_full):
8183           clean up GError and debug string now that they get copied
8184         * gst/gstmessage.c: (gst_message_new_error),
8185         (gst_message_new_warning), (gst_message_parse_error),
8186         (gst_message_parse_warning):
8187           use GST_TYPE_G_ERROR for structure_new, and take copies of
8188           arguments, so that we don't mess up refcounting
8189
8190 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8191
8192         * check/Makefile.am:
8193           add per-test valgrind targets
8194         * check/gst-libs/gdp.c: (GST_START_TEST),
8195         (gst_data_protocol_suite), (main):
8196           clean up
8197
8198 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8199
8200         * check/Makefile.am:
8201           instate more valgrindable tests
8202         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8203         (GST_START_TEST), (fakesrc_suite):
8204         * check/gst/gstpad.c: (GST_START_TEST):
8205         * check/gst/gststructure.c: (GST_START_TEST):
8206           fix test leaks
8207         * docs/gst/tmpl/gstminiobject.sgml:
8208         * gst/gstpad.c: (gst_pad_finalize):
8209           fix the static mutex leak
8210
8211 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8212
8213         * check/Makefile.am:
8214           add two more tests for valgrinding
8215         * check/gst/gstvalue.c: (GST_START_TEST):
8216           test refcount of deserialized buffer, found a leak
8217         * docs/gst/gstreamer-docs.sgml:
8218         * docs/gst/gstreamer-sections.txt:
8219         * docs/gst/gstreamer.types:
8220         * docs/gst/tmpl/gstminiobject.sgml:
8221           add miniobject to docs
8222         * gst/gstminiobject.c:
8223           add some docs
8224         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8225         (gst_string_unwrap):
8226           fix a hard-to-find invalid write for one of the tests
8227           fix a leak for deserialized buffers
8228
8229 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8230
8231         * docs/pwg/advanced-events.xml:
8232         * docs/pwg/advanced-request.xml:
8233         * docs/pwg/advanced-scheduling.xml:
8234         * docs/pwg/appendix-porting.xml:
8235         * docs/pwg/building-boiler.xml:
8236         * docs/pwg/intro-preface.xml:
8237         * docs/pwg/other-ntoone.xml:
8238           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8239           of example code and explanation for pad activation, loop() and
8240           getrange() functions and a bit more. Remove old comments pointing
8241           to loop-functions.
8242         * examples/pwg/Makefile.am:
8243           Add loop/getrange examples.
8244
8245 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8246
8247         * configure.ac:
8248           check for valgrind binary + some fixes
8249         * check/gst.supp:
8250           valgrind suppressions for the tests
8251         * check/Makefile.am:
8252           add a valgrind: target that valgrinds the unit tests
8253         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8254         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8255         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8256         * check/gst/gstghostpad.c:
8257           added some cleanup
8258         * check/gst/gstdata.c:
8259           removed
8260         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8261         (thread_unref), (gst_mini_object_suite), (main):
8262           added
8263         * gst/gst.c: (gst_deinit):
8264         * gst/gst.h:
8265           add a method to clean up.
8266         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8267         (gst_system_clock_obtain):
8268           allow for disposing the system clock.
8269         * tools/gst-launch.c: (main):
8270           deinit
8271
8272 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8273
8274         * docs/gst/tmpl/gstbasesrc.sgml:
8275         * docs/gst/tmpl/gstfakesrc.sgml:
8276         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8277         (gst_base_src_init), (gst_base_src_set_property),
8278         (gst_base_src_get_property), (gst_base_src_get_range),
8279         (gst_base_src_start):
8280         * gst/base/gstbasesrc.h:
8281           add num-buffers property
8282         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8283         (gst_fakesrc_init), (gst_fakesrc_set_property),
8284         (gst_fakesrc_get_property), (gst_fakesrc_create),
8285         (gst_fakesrc_start):
8286           remove num-buffers property
8287
8288 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8289
8290         * docs/gst/gstreamer-sections.txt:
8291         * docs/gst/tmpl/gstbasesink.sgml:
8292         * docs/gst/tmpl/gstbasesrc.sgml:
8293         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8294         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8295         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8296         (gst_base_sink_set_property), (gst_base_sink_get_property),
8297         (gst_base_sink_handle_object), (gst_base_sink_event),
8298         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8299         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8300         (gst_base_sink_loop), (gst_base_sink_deactivate),
8301         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8302         (gst_base_sink_change_state):
8303         * gst/base/gstbasesink.h:
8304         * gst/base/gstbasesrc.h:
8305         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8306         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8307         (gst_filesink_init):
8308           more macro splitting
8309
8310 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8311
8312         * gst/gstelement.c: (gst_element_get_bus):
8313           add debug
8314         * tools/gst-launch.c: (check_intr), (event_loop):
8315           fix bus leaks
8316
8317 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8318
8319         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8320           fix a caps leak
8321
8322 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8323
8324         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8325         (gst_base_src_finalize):
8326           add finalize method and clean up properly
8327         * gst/gstpipeline.c: (gst_pipeline_dispose):
8328           add debug
8329
8330 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8331
8332         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8333         (gst_bin_suite):
8334           add more things to check
8335         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8336         * gst/gstelement.c:
8337           more debug
8338
8339 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8340
8341         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8342         (GST_START_TEST), (fakesrc_suite):
8343         * check/gst-libs/gdp.c: (GST_START_TEST):
8344         * check/gst/gst.c: (GST_START_TEST):
8345         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8346         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8347         * check/gst/gstbus.c: (GST_START_TEST):
8348         * check/gst/gstcaps.c: (GST_START_TEST):
8349         * check/gst/gstdata.c: (GST_START_TEST):
8350         * check/gst/gstelement.c: (GST_START_TEST):
8351         * check/gst/gstghostpad.c: (GST_START_TEST):
8352         * check/gst/gstiterator.c: (GST_START_TEST):
8353         * check/gst/gstmessage.c: (GST_START_TEST):
8354         * check/gst/gstobject.c: (GST_START_TEST):
8355         * check/gst/gstpad.c: (GST_START_TEST):
8356         * check/gst/gststructure.c: (GST_START_TEST):
8357         * check/gst/gstsystemclock.c: (GST_START_TEST),
8358         (gst_systemclock_suite):
8359         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8360         * check/gst/gstvalue.c: (GST_START_TEST):
8361         * check/pipelines/cleanup.c: (GST_START_TEST):
8362         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8363         * check/states/sinks.c: (GST_START_TEST):
8364         * check/gstcheck.c: (gst_check_init):
8365         * check/gstcheck.h:
8366           add debugging category
8367           use GST_START_TEST now, so we add a debug line
8368
8369 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8370
8371         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8372           add test for state change message on a bin
8373         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8374           add another test
8375         * gst/gstbin.c: (gst_bin_init):
8376         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8377         * gst/gstelement.c: (gst_element_post_message),
8378         (gst_element_set_state):
8379         * gst/gstelementfactory.c: (gst_element_factory_create):
8380         * gst/gstmessage.c: (gst_message_new):
8381         * gst/gstscheduler.c:
8382           various debugging additions and cleanups
8383
8384 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8385
8386         * check/Makefile.am:
8387         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8388         (main):
8389           adding tests for elements
8390         * gst/gstelement.c: (gst_element_dispose):
8391
8392 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8393
8394         * gst/registries/gstlibxmlregistry.c: (load_feature):
8395           plug more leaks.  A simple gst_init() now is leakfree, yay.
8396
8397 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8398
8399         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8400         (gst_xml_registry_load):
8401           plug another memleak
8402
8403 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8404
8405         * configure.ac:
8406           use GST_SET_ERROR_CFLAGS
8407         * docs/faq/cvs.xml:
8408           change to ERROR_CFLAGS
8409
8410 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8411
8412         * configure.ac:
8413           make GST_ERROR_CFLAGS overridable and re-enable Werror
8414         * docs/faq/cvs.xml:
8415           add a note about error CFLAGS
8416         * docs/gst/tmpl/gstfakesrc.sgml:
8417         * gst/elements/gstfakesrc.c:
8418           comment out some unused code
8419         * gst/gst.c: (split_and_iterate):
8420         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8421         (load_feature):
8422           plug some memleaks
8423
8424 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8425
8426         * common/Makefile.am:
8427         * common/gtk-doc.mak:
8428         * docs/gst/Makefile.am:
8429           factor out gtk-doc.mak
8430
8431 2005-07-07  Wim Taymans  <wim@fluendo.com>
8432
8433         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8434         (gst_thread_scheduler_dispose):
8435         Unlock the STREAM_LOCK completely.
8436
8437 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8438
8439         * check/Makefile.am:
8440         * check/elements/.cvsignore:
8441         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8442         (START_TEST), (fakesrc_suite), (main):
8443         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8444         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8445         (gst_fakesrc_create), (gst_fakesrc_start):
8446         * gst/elements/gstfakesrc.h:
8447           adding a first element test
8448
8449 2005-07-07  Andy Wingo  <wingo@pobox.com>
8450
8451         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8452         debug message.
8453
8454 2005-07-07  Wim Taymans  <wim@fluendo.com>
8455
8456         * gst/gstquery.c:
8457         * gst/gstquery.h:
8458         Remove old types
8459
8460 2005-07-07  Wim Taymans  <wim@fluendo.com>
8461
8462         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8463         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8464         Allow subclasses to implement their own negotiation.
8465
8466 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8467
8468         * docs/design/part-gstbin.txt:
8469         * docs/design/part-gstpipeline.txt:
8470           Update design notes to reflect the movement of
8471           responsibility for bus handling from GstPipeline to
8472           GstBin
8473
8474 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8475
8476         * configure.ac:
8477           Remove unnecessary queue2/3/4 examples.
8478
8479 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8480
8481         * examples/Makefile.am:
8482         * examples/helloworld/helloworld.c: (event_loop), (main):
8483         * examples/queue/queue.c: (event_loop), (main):
8484         * examples/queue2/queue2.c: (main):
8485           Update a couple of the examples to work again.
8486
8487         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8488         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8489          Spelling corrections and extra debug.
8490         
8491         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8492         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8493         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8494         * gst/gstbin.h:
8495         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8496         (gst_pipeline_change_state):
8497         * gst/gstpipeline.h:
8498           Move the bus handler for children to the GstBin, and create a
8499           separate bus for receiving messages from children to the one the
8500           bus sends 'upwards' on.
8501
8502 2005-07-06  Wim Taymans  <wim@fluendo.com>
8503
8504         * gst/base/README:
8505         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8506         (gst_base_sink_handle_object), (gst_base_sink_loop),
8507         (gst_base_sink_change_state):
8508         * gst/base/gstbasesink.h:
8509         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8510         (gst_base_src_init), (gst_base_src_setcaps),
8511         (gst_base_src_getcaps), (gst_base_src_loop),
8512         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8513         (gst_base_src_start), (gst_base_src_change_state):
8514         * gst/base/gstbasesrc.h:
8515         Make basesrc negotiate.
8516         Handle the case where preroll fails in basesink.
8517         Update README.
8518
8519 2005-07-06  Wim Taymans  <wim@fluendo.com>
8520
8521         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8522         Implement the fixate function.
8523         Clean up acceptcaps.
8524
8525 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8526
8527         * docs/pwg/building-filterfactory.xml:
8528         * docs/pwg/pwg.xml:
8529           Remove never-written filter-factory chapter; I'll add the various
8530           base classes to part 4 ("other element types") later on.
8531
8532 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8533
8534         * docs/pwg/advanced-negotiation.xml:
8535         * docs/pwg/building-boiler.xml:
8536         * docs/pwg/building-pads.xml:
8537         * docs/pwg/pwg.xml:
8538         * examples/pwg/Makefile.am:
8539           Add a chapter on caps negotiation, simplify the original code
8540           samples a bit w.r.t. caps negotiation, add link to the advanced
8541           section. Add a bunch of examples showing different use cases of
8542           different types of caps negotiation. Upstream renegotiation isn't
8543           fully documented yet since nobody knows how that works.
8544
8545 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8546
8547         * check/gst/gstpad.c:
8548         * check/gstcheck.c:
8549         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8550           if pad has no parent, return NULL as list of internal links
8551
8552 2005-07-05  Andy Wingo  <wingo@pobox.com>
8553
8554         * gst/elements/gstfilesrc.c:
8555         * gst/elements/gstfakesrc.c: 
8556         * gst/base/gstpushsrc.c:
8557         * gst/base/gstbasesrc.h: 
8558         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8559         
8560 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8561
8562         * Makefile.am:
8563           better report generation target (lcov needs a patch)
8564
8565 2005-07-05  Andy Wingo  <wingo@pobox.com>
8566
8567         * gst/elements, testsuite: Null if we got it...
8568
8569 2005-07-05  Wim Taymans  <wim@fluendo.com>
8570
8571         * configure.ac:
8572         * libs/gst/dataprotocol/Makefile.am:
8573         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8574         * libs/gst/dataprotocol/dataprotocol.h:
8575         * pkgconfig/Makefile.am:
8576         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8577         * pkgconfig/gstreamer-dataprotocol.pc.in:
8578         Ported dataprotol to 0.9. 
8579         Added pkgconfig files.
8580
8581 2005-07-05  Andy Wingo  <wingo@pobox.com>
8582
8583         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8584         Default to returning TRUE for the case when tranform_caps returns
8585         a fixed caps, like for identity or volume.
8586
8587         * check/gst/gstbus.c (pound_bus_with_messages): 
8588         * check/gst/gstmessage.c (START_TEST): 
8589         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8590         message API change.
8591
8592         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8593         logic weaks here: always run transform_caps, trying passthrough
8594         operation only if the original caps intersects with the transform.
8595
8596         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8597         source and sink caps.
8598
8599         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8600         Intersect the peer caps with the pad template before going into
8601         transform_caps.
8602         (gst_base_transform_transform_caps): More debugging.
8603
8604         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8605         src argument.
8606
8607 2005-07-04  Edward Hervey  <edward@fluendo.com>
8608
8609         * gst/gstutils.c:
8610         * gst/gstutils.h:
8611         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8612         in bindings.
8613
8614 2005-07-04  Andy Wingo  <wingo@pobox.com>
8615
8616         * check/gst/gstpad.c: Only set explicit caps on pads.
8617
8618 2005-07-01  Andy Wingo  <wingo@pobox.com>
8619
8620         * tests/network-clock.scm: Commentary update.
8621
8622         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8623         Didn't really make sense, not implementable with basetransform,
8624         etc.
8625         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8626         attempt at implementing the sync property, needs an unlock method.
8627
8628         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8629         New func, by default returns the same caps (the identity
8630         transformation).
8631         (gst_base_transform_getcaps): Uses transform_caps to return
8632         something sensible.
8633         (gst_base_transform_setcaps): Complicated logic to get caps on
8634         both pads, even if they are different, and to call set_caps once
8635         for every time both pads get their caps set.
8636         (gst_base_transform_handle_buffer): Give the ref to the transform
8637         function. Allows in-place modification of the buffer.
8638
8639         * gst/base/gstbasetransform.h (transform_caps): New class method.
8640         Given caps on one side, what can I do on the other.
8641         (set_caps): Take two caps, one for each side of the element.
8642
8643         * gst/gstpad.h:
8644         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8645         caps in place. This is safe because we can check the mutability of
8646         the caps, and a good idea because fixate functions are just called
8647         as a matter of last resort. (Not actually implemented.)
8648         (gst_pad_set_caps): If the caps we're setting is actually the same
8649         as the existing pad caps, just update the pointer without calling
8650         setcaps. Assert that caps is either NULL or fixed, as per the
8651         docs.
8652
8653         * gst/gstghostpad.c: Update for fixate changes.
8654
8655 2005-07-02  Andy Wingo  <wingo@pobox.com>
8656
8657         * gst/gstcaps.c:
8658         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8659         two refcounts makes it immutable, which is enough. Doc more.
8660
8661 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8662
8663         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8664           Put the mini_object into GValue as a mini_object,
8665           not a gpointer, since that's how we declared
8666           the signal.
8667
8668 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8669
8670         * examples/pwg/Makefile.am:
8671           Fix buildbot again.
8672
8673 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8674
8675         * docs/pwg/building-testapp.xml:
8676           Add extra check.
8677         * examples/pwg/Makefile.am:
8678           Fix buildbot.
8679
8680 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8681
8682         * configure.ac:
8683         * examples/Makefile.am:
8684         * examples/pwg/Makefile.am:
8685         * examples/pwg/extract.pl:
8686           Enable building the PWG examples.
8687         * docs/pwg/advanced-interfaces.xml:
8688           Add URI interface stub.
8689         * docs/pwg/advanced-types.xml:
8690         * docs/pwg/other-autoplugger.xml:
8691         * docs/pwg/appendix-porting.xml:
8692         * docs/pwg/pwg.xml:
8693           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8694         * docs/pwg/building-boiler.xml:
8695         * docs/pwg/building-chainfn.xml:
8696         * docs/pwg/building-pads.xml:
8697         * docs/pwg/building-props.xml:
8698         * docs/pwg/building-state.xml:
8699         * docs/pwg/building-testapp.xml:
8700           Update the building-*.xml parts for 0.9 changes. All examples
8701           code blocks compile in examples/pwg/*.
8702
8703 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8704
8705         * docs/manual/advanced-autoplugging.xml:
8706         * docs/manual/appendix-checklist.xml:
8707         * docs/manual/appendix-integration.xml:
8708         * docs/manual/highlevel-components.xml:
8709           Fix playbin/decodebin examples, update docs a bit, mention bus
8710           instead of signals in various places, mention kmplayer and
8711           kaffeine since they have a working GStreamer backend in the KDE
8712           section.
8713
8714 2005-06-30  Wim Taymans  <wim@fluendo.com>
8715
8716         * CHANGES-0.9:
8717         * docs/design/draft-ghostpads.txt:
8718         * docs/design/draft-push-pull.txt:
8719         * docs/design/draft-query.txt:
8720         * docs/design/part-TODO.txt:
8721         * docs/design/part-query.txt:
8722         Added CHANGES-0.9 doc, updated status of other docs.
8723         
8724         * gst/gstquery.h:
8725         Remove "hmm" macro
8726
8727 2005-06-30  Wim Taymans  <wim@fluendo.com>
8728
8729         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8730         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8731         (gst_base_sink_change_state):
8732         * gst/base/gstbasesink.h:
8733         Some tweaks, only EOS and a buffer complete a preroll.
8734
8735 2005-06-30  Andy Wingo  <wingo@pobox.com>
8736
8737         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8738         activate_push down to the internal pad as well.
8739
8740 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8741
8742         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8743
8744         * gst/gsttaginterface.c:
8745           Some documentation fixes (#307394 and #307397).
8746
8747 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8748
8749         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8750
8751         * gst/gstvalue.c: (gst_value_intersect_list):
8752           Fix memleak (#309125).
8753
8754 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8755
8756         * docs/manual/advanced-dataaccess.xml:
8757           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8758         * docs/manual/basics-pads.xml:
8759           Add reference for filtered caps to above chapter.
8760
8761 2005-06-30  Wim Taymans  <wim@fluendo.com>
8762
8763         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8764         (gst_bin_change_state):
8765         Probes are gone.
8766         Lame attempt at making the state change function a bit
8767         more readable.
8768
8769 2005-06-30  Wim Taymans  <wim@fluendo.com>
8770
8771         * docs/design/part-clocks.txt:
8772         * docs/design/part-element-sink.txt:
8773         * docs/design/part-events.txt:
8774         * docs/design/part-preroll.txt:
8775         * docs/design/part-states.txt:
8776         Some more tweeks and additions to the docs.
8777
8778 2005-06-30  Wim Taymans  <wim@fluendo.com>
8779
8780         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8781         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8782         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8783         (gst_pad_check_pull_range), (gst_pad_get_range),
8784         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8785         * gst/gstpad.h:
8786         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8787         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8788         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8789         (gst_pad_remove_buffer_probe):
8790         Removed atomic operations, use existing LOCK.
8791         Move exception handling out of main code path.
8792
8793 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8794
8795         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8796         (silly_return_true_function), (gst_pad_class_init),
8797         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8798         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8799         (gst_pad_send_event):
8800           Fix accumulator, add default value by using _emitv() instead
8801           of _emit() for signal emission.
8802
8803 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8804
8805         * docs/manual/advanced-dataaccess.xml:
8806         * examples/manual/Makefile.am:
8807           Add probe example.
8808         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8809           Make work (??).
8810
8811 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8812
8813         * gst/elements/gstfilesink.c: (gst_filesink_render):
8814           Simplify code so that we don't have to handle short
8815           writes and return GST_FLOW_ERROR if an error occured.
8816
8817 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8818
8819         * docs/gst/gstreamer-docs.sgml:
8820           Remove probes more.
8821
8822 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8823
8824         * docs/gst/gstreamer-sections.txt:
8825         * docs/gst/tmpl/gstpad.sgml:
8826         * docs/gst/tmpl/gstprobe.sgml:
8827         * gst/Makefile.am:
8828         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8829         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8830         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8831         (gst_pad_push_event), (gst_pad_send_event):
8832         * gst/gstpad.h:
8833         * gst/gstutils.c: (gst_pad_add_data_probe),
8834         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8835         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8836         (gst_pad_remove_buffer_probe):
8837         * gst/gstutils.h:
8838           Remove old probes, add new g-signal-based probes and some utility
8839           functions.
8840
8841 2005-06-29  Edward Hervey  <edward@fluendo.com>
8842
8843         * gst/gstelementfactory.c:
8844         * gst/gstutils.h:
8845         * gst/gstutils.c:
8846         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8847         the definition to the header file.
8848
8849 2005-06-29  Andy Wingo  <wingo@pobox.com>
8850
8851         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8852         plugins from the source directory.
8853
8854 2005-06-29  Wim Taymans  <wim@fluendo.com>
8855
8856         * docs/gst/tmpl/gstbuffer.sgml:
8857         * docs/gst/tmpl/gstclock.sgml:
8858         Some fixings for blantently wrong text.
8859
8860 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8861
8862         * check/Makefile.am:
8863         * gst/gst.c: (add_path_func), (init_pre):
8864         * gst/gstregistry.c: (gst_registry_add_path):
8865           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
8866           only scan the GST_PLUGIN_PATH locations, and not add
8867           system locations
8868
8869 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8870
8871         * docs/gst/gstreamer-sections.txt:
8872         * docs/gst/tmpl/gstbasesrc.sgml:
8873         * gst/gstelement.c:
8874         * gst/gstelement.h:
8875         * gst/gstevent.c:
8876         * gst/gstutils.c:
8877           doc fixes
8878
8879 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8880
8881         * docs/manual/advanced-autoplugging.xml:
8882           Fix autoplugging example.
8883
8884 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8885
8886         * docs/manual/advanced-autoplugging.xml:
8887         * docs/manual/mime-world.fig:
8888           Try to get autoplugging working, fix type detection. Fix text
8889           in hello-world image.
8890
8891 2005-06-29  Wim Taymans  <wim@fluendo.com>
8892
8893         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8894         (gst_base_sink_change_state):
8895         Small debug line.
8896
8897         * gst/gstclock.h:
8898         map SIGNAL and BROADCAST to the right function.
8899
8900         * gst/gstobject.h:
8901         Remove redundant braces.
8902
8903         * gst/gstpad.c: (gst_pad_set_caps):
8904         Don't call setcaps function when reseting caps to NULL.
8905
8906         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8907         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
8908         (gst_system_clock_id_unschedule):
8909         Use BROADCAST as this is what we do.
8910
8911 2005-06-29  Wim Taymans  <wim@fluendo.com>
8912
8913         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8914         We are actually prerolling before commiting the state
8915         change. 
8916
8917 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8918
8919         * docs/manual/advanced-clocks.xml:
8920         * docs/manual/advanced-interfaces.xml:
8921         * docs/manual/advanced-metadata.xml:
8922         * docs/manual/advanced-position.xml:
8923         * docs/manual/advanced-schedulers.xml:
8924         * docs/manual/advanced-threads.xml:
8925         * docs/manual/appendix-porting.xml:
8926         * docs/manual/basics-bins.xml:
8927         * docs/manual/basics-bus.xml:
8928         * docs/manual/basics-elements.xml:
8929         * docs/manual/basics-helloworld.xml:
8930         * docs/manual/basics-pads.xml:
8931         * docs/manual/highlevel-components.xml:
8932         * docs/manual/manual.xml:
8933         * docs/manual/thread.fig:
8934           Update (until threads/scheduling) Application Development Manual;
8935           remove GstThread, add GstBus, add simple porting checklist, add
8936           documentation for tag writing, clocks, make all examples until this
8937           part compile and run.
8938         * examples/manual/Makefile.am:
8939           Update from changes to Application Development Manual; add bus
8940           example, remove thread example.
8941
8942 2005-06-28  Wim Taymans  <wim@fluendo.com>
8943
8944         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
8945         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
8946         (gst_bus_source_dispatch):
8947         Add debugging messages.
8948         Make internal methods static.
8949         Handle the case where the bus is flushed in the handler.
8950         
8951         * gst/gstelement.c: (gst_element_get_bus):
8952         Fix refcount in _get_bus();
8953
8954         * gst/gstpipeline.c: (gst_pipeline_change_state),
8955         (gst_pipeline_get_clock_func):
8956         Clock refcounting fixes.
8957         Handle the case where preroll timed out more gracefully.
8958         
8959         * gst/gstsystemclock.c: (gst_system_clock_dispose):
8960         Clean up the internal thread in dispose. This is needed
8961         for subclasses that actually get disposed.
8962         
8963         * gst/schedulers/threadscheduler.c:
8964         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8965         (gst_thread_scheduler_dispose):
8966         Free thread pool in dispose.
8967
8968 2005-06-28  Andy Wingo  <wingo@pobox.com>
8969
8970         * tests/network-clock-utils.scm (debug, print-event): New utils.
8971
8972         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
8973         (*packet-loss*): Unified loss probability.
8974         (network-time): Report out-of-band events.
8975
8976         * tests/plot-data: Add support for out-of-band events. Hack it
8977         into this script instead of passing it down the pipe; should fix
8978         this later.
8979
8980 2005-06-28  Wim Taymans  <wim@fluendo.com>
8981
8982         * docs/gst/gstreamer.types:
8983         * docs/gst/tmpl/gstbasesrc.sgml:
8984         * docs/gst/tmpl/gstpad.sgml:
8985         Docs fixes.
8986
8987 2005-06-28  Wim Taymans  <wim@fluendo.com>
8988
8989         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8990         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
8991         (gst_proxy_pad_do_fixatecaps):
8992         Correctly proxy the check_pull_range function.
8993
8994 2005-06-28  Andy Wingo  <wingo@pobox.com>
8995
8996         * tests/network-clock.scm: Removed need for slib.
8997         
8998 2005-06-28  Wim Taymans  <wim@fluendo.com>
8999
9000         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9001         (gst_basesink_preroll_queue_flush):
9002         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9003         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9004         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9005         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9006         (gst_proxy_pad_set_property):
9007         * gst/gstpad.c:
9008         * gst/gstpad.h:
9009         * gst/gstqueue.c: (gst_queue_init):
9010         The deprecated pad loop function is removed now.
9011
9012 2005-06-28  Andy Wingo  <wingo@pobox.com>
9013
9014         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9015         New parameters, simulate network packet loss.
9016
9017         * tests/network-clock-utils.scm: Initialize the RNG.
9018
9019 2005-06-28  Wim Taymans  <wim@fluendo.com>
9020
9021         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9022         (gst_basesink_event), (gst_basesink_deactivate):
9023         Flushing the preroll queue always needs to unlock the waiters.
9024
9025 2005-06-28  Edward Hervey  <edward@fluendo.com>
9026
9027         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9028         Wheen a seek was successful on a pipeline, set the stream_time to the
9029         seek offset in order to have a synchronized stream_time.
9030
9031 2005-06-28  Wim Taymans  <wim@fluendo.com>
9032
9033         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9034         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9035         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9036         (gst_proxy_pad_do_fixatecaps):
9037         Call wrapper function instead of just calling the function
9038         pointers. This takes care of any locking and whatmore.
9039
9040 2005-06-28  Wim Taymans  <wim@fluendo.com>
9041
9042         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9043         (gst_pad_pull_range):
9044         * gst/gstpad.h:
9045         CONNECTED -> LINKED.
9046
9047 2005-06-28  Andy Wingo  <wingo@pobox.com>
9048
9049         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9050         source-munging commit!!!
9051
9052         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9053         (gst_object_sink): Take gpointer arguments, not GstObject --
9054         avoids casts. Like GLib.
9055
9056         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9057         activate.
9058
9059 2005-06-27  Andy Wingo  <wingo@pobox.com>
9060
9061         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9062         remaining buffer.
9063
9064         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9065         returns a sorted copy of the trace list.
9066         (gst_alloc_trace_print_live): New API, only prints traces with
9067         live objects. Sort the list.
9068         (gst_alloc_trace_print_all): Sort the list.
9069         (gst_alloc_trace_print): Align columns.
9070
9071         * gst/elements/gstttypefindelement.c:
9072         * gst/elements/gsttee.c:
9073         * gst/base/gstbasesrc.c:
9074         * gst/base/gstbasesink.c:
9075         * gst/base/gstbasetransform.c:
9076         * gst/gstqueue.c: Adapt for pad activation changes.
9077
9078         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9079         sched.
9080         (gst_pipeline_dispose): Drop ref on sched.
9081
9082         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9083         (gst_pad_activate_default): Push mode by default.
9084         (pre_activate_switch, post_activate_switch): New stubs, things to
9085         do before and after switching activation modes on pads.
9086         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9087         the pad's activate function to choose which mode to activate.
9088         Shortcut on deactivation and call the right function directly.
9089         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9090         mode.
9091         (gst_pad_activate_push): New API, same for push mode.
9092         (gst_pad_set_activate_function) 
9093         (gst_pad_set_activatepull_function) 
9094         (gst_pad_set_activatepush_function): Setters for new API.
9095
9096         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9097         Trace all miniobjects.
9098         (gst_mini_object_make_writable): Unref the arg if we copy, like
9099         gst_caps_make_writable.
9100
9101         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9102
9103         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9104         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9105         Adapt for new pad API.
9106
9107         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9108
9109         * gst/gstelement.h:
9110         * gst/gstelement.c (gst_element_iterate_src_pads) 
9111         (gst_element_iterate_sink_pads): New API functions.
9112         
9113         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9114         should fold into gstiterator.c in some form.
9115         (gst_element_pads_activate): Simplified via use of fold and
9116         delegation of decisions to gstpad->activate.
9117
9118         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9119         help in debugging.
9120
9121         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9122         class once in init, like gstmessage. Didn't run into this issue
9123         but it seems correct. Don't initialize a trace, gstminiobject does
9124         that.
9125
9126         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9127         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9128         to the bus.
9129         (assert_live_count): New util function, uses alloc traces to check
9130         cleanup.
9131
9132         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9133         To be modified when unlink drops the internal pad.
9134
9135 2005-06-27  Wim Taymans  <wim@fluendo.com>
9136
9137         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9138         (gst_bin_change_state):
9139         Cleanup the get_state() function a little, make sure it
9140         iterates the same set of elements.
9141         Added stub iterate_state_order().
9142
9143 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9144
9145         * docs/gst/gstreamer-docs.sgml:
9146         * docs/gst/gstreamer-sections.txt:
9147         * docs/gst/gstreamer.types:
9148         * docs/gst/tmpl/gstbasesink.sgml:
9149         * docs/gst/tmpl/gstbasesrc.sgml:
9150         * docs/gst/tmpl/gstbasetransform.sgml:
9151         * docs/gst/tmpl/gstelement.sgml:
9152         * docs/gst/tmpl/gstiterator.sgml:
9153         * gst/base/gstbasesrc.c:
9154         * gst/base/gstbasesrc.h:
9155         * gst/base/gstbasetransform.h:
9156         * gst/gstelement.c:
9157         * gst/gstiterator.h:
9158           adding basetransform and iterator docs
9159
9160 2005-06-27  Andy Wingo  <wingo@pobox.com>
9161
9162         * docs/design/part-activation.txt: Notes on how activation should
9163         work -- not quite implemented yet.
9164
9165 2005-06-25  Wim Taymans  <wim@fluendo.com>
9166
9167         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9168         At least get the chain function correct, needs more
9169         fixing.
9170
9171 2005-06-25  Wim Taymans  <wim@fluendo.com>
9172
9173         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9174         (gst_basesink_handle_object), (gst_basesink_event),
9175         (gst_basesink_do_sync), (gst_basesink_handle_event),
9176         (gst_basesink_change_state):
9177         * gst/gsttask.h:
9178         Right, two problems here: ghostpads don't take locks and
9179         glib _rec_mutex_lock_full() with depth==0 still locks.
9180         Catch illegal locking and g_warn them.
9181
9182 2005-06-25  Wim Taymans  <wim@fluendo.com>
9183
9184         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9185         Have to check for completion now...
9186
9187 2005-06-25  Wim Taymans  <wim@fluendo.com>
9188
9189         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9190         (gst_basesink_handle_object), (gst_basesink_event),
9191         (gst_basesink_do_sync), (gst_basesink_handle_event),
9192         (gst_basesink_change_state):
9193         * gst/gstpad.h:
9194         Unlock STREAM_LOCK whatever the recursion was.
9195
9196 2005-06-25  Wim Taymans  <wim@fluendo.com>
9197
9198         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9199         (gst_basesink_preroll_queue_empty),
9200         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9201         (gst_basesink_event), (gst_basesink_do_sync),
9202         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9203         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9204         (gst_basesink_change_state):
9205         Reworked the base sink, handle event and buffer serialisation
9206         correctly and removed possible deadlock.
9207         Handle EOS correctly.
9208
9209 2005-06-25  Wim Taymans  <wim@fluendo.com>
9210
9211         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9212         (gst_pipeline_change_state):
9213         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9214         Allow elements to post EOS in the state change function.
9215         Fix up -launch, make it exit the poll loop when the
9216         pipeline actually changed state.
9217         Fix up warning parsing in -launch.
9218
9219 2005-06-25  Wim Taymans  <wim@fluendo.com>
9220
9221         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9222         (gst_tee_sink_activate):
9223         Core takes STREAM_LOCK for us now.
9224
9225 2005-06-25  Wim Taymans  <wim@fluendo.com>
9226
9227         * gst/gstelement.c: (gst_element_get_state_func),
9228         (gst_element_set_state):
9229         * gst/gstelement.h:
9230         * gst/gstmessage.c: (gst_message_parse_error),
9231         (gst_message_parse_warning):
9232         Keep track of current target state while performing a state
9233         change so that subclasses can do something interesting.
9234         Fix parsing of warning/error messages when GError is NULL.
9235
9236 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9237
9238         * docs/gst/Makefile.am:
9239         * docs/gst/gstreamer-docs.sgml:
9240         * docs/gst/gstreamer-sections.txt:
9241         * docs/gst/gstreamer.types:
9242         * docs/gst/tmpl/gstbasesink.sgml:
9243         * docs/gst/tmpl/gstbasesrc.sgml:
9244         * docs/gst/tmpl/gstbin.sgml:
9245         * docs/gst/tmpl/gstcompat.sgml:
9246         * docs/gst/tmpl/gstfakesink.sgml:
9247         * docs/gst/tmpl/gstfakesrc.sgml:
9248         * docs/gst/tmpl/gstfilesink.sgml:
9249         * docs/gst/tmpl/gstfilesrc.sgml:
9250         * docs/gst/tmpl/gstindex.sgml:
9251         * docs/manual/appendix-quotes.xml:
9252         * gst/base/gstbasesrc.h:
9253         * gst/elements/gstfakesrc.h:
9254         * gst/gstmessage.h:
9255           start pulling in base classes and elements in our docs
9256
9257 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9258
9259         * docs/gst/Makefile.am:
9260         * docs/libs/Makefile.am:
9261           fixed make distcheck with gtk-doc 1.3
9262
9263 2005-06-23  Wim Taymans  <wim@fluendo.com>
9264
9265         * gst/gstelement.c: (gst_element_get_state_func),
9266         (gst_element_set_state), (gst_element_change_state):
9267         When the state did not change, also report NO_PREROLL
9268         when it matters.
9269
9270 2005-06-23  Wim Taymans  <wim@fluendo.com>
9271
9272         * gst/gstpad.c: (gst_pad_event_default):
9273         * gst/gstqueue.c: (gst_queue_loop):
9274         No unsafe task pausing please.
9275
9276 2005-06-23  Wim Taymans  <wim@fluendo.com>
9277
9278         * gst/schedulers/threadscheduler.c:
9279         (gst_thread_scheduler_task_start),
9280         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9281         Ref the task before pushing it on the threadpool. This
9282         makes sure that we have a ref when the threadfunction is
9283         actually called.
9284
9285 2005-06-23  Andy Wingo  <wingo@pobox.com>
9286
9287         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9288         offset is greater than the file's size.
9289
9290         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9291         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9292         * gst/gstobject.c (gst_object_class_init): Make the class lock
9293         recursive. Wim won't let me drop deep_notify. Decodebin works
9294         again, whoopdy doo.
9295
9296         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9297         internal pad, and hacks accordingly. Doesn't do it on the target
9298         pad because we change its caps. Probably catches all cases of
9299         interest tho.
9300         (gst_ghost_pad_set_property): Connect to notify::caps as
9301         appropritate.
9302
9303         * tests/network-clock.scm (plot-simulation): Pipe data to the
9304         elite python skript.
9305
9306         * tests/network-clock-utils.scm (define-parameter): New macro,
9307         defines a parameter that can be set via the command line.
9308         (set-parameter!, parse-parameter-arguments): Command line args
9309         parser.
9310
9311         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9312         stdin.
9313
9314 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9315
9316         * gst/elements/gsttypefindelement.c:
9317         (gst_type_find_element_handle_event):
9318           Don't restart typefinding on a discont.
9319         * gst/gstelement.c: (gst_element_set_state):
9320           Debug spelling fix.
9321         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9322           Allow changing mode of an active pad.
9323           Debug output fixes.
9324         * gst/registries/gstlibxmlregistry.c: (load_feature):
9325           Don't cast a static pad template to a normal pad template.
9326
9327 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9328
9329         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9330         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9331           remove gst_strtoll completely, since it didn't actually do
9332           anything more than what g_ascii_strtoull already does.
9333           check for range errors when deserializing
9334           do a cast for the unsigned cases; but further fixing needs
9335           a decision on what the interpretation of "(int)" and
9336           deserialization should be for values that fall outside the
9337           type's boundaries (ie, refuse, or interpret as casting)
9338
9339 2005-06-23  Wim Taymans  <wim@fluendo.com>
9340
9341         * check/Makefile.am:
9342         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9343         * docs/design/part-live-source.txt:
9344         * docs/design/part-states.txt:
9345         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9346         (gst_basesrc_set_live), (gst_basesrc_is_live),
9347         (gst_basesrc_get_range), (gst_basesrc_activate),
9348         (gst_basesrc_change_state):
9349         * gst/base/gstbasesrc.h:
9350         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9351         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9352         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9353         * gst/gstelement.c: (gst_element_get_state_func),
9354         (gst_element_set_state):
9355         * gst/gstelement.h:
9356         * gst/gsttypes.h:
9357         * tools/gst-launch.c: (event_loop), (main):
9358         Added support for live sources and other elements that
9359         cannot do preroll.
9360         Updated design docs, added live-source design doc.
9361         Implemented live source functionality in basesrc
9362         Fix error condition in _bin_get_state()
9363         Implement live source handling in -launch.
9364         Added check for live sources.
9365         Fixed case in GstBin where elements were changed state
9366         multiple times.
9367
9368
9369 2005-06-23  Andy Wingo  <wingo@pobox.com>
9370
9371         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9372         borken refcounting.
9373
9374         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9375         gst_caps_replace takes care of this for us.
9376
9377         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9378         gst_pad_set_caps on the target, not just its setcaps() function.
9379
9380         * tests/network-clock.scm: 
9381         * tests/network-clock-utils.scm: A network clock simulator.
9382         Something of an algorithmic testbed before doing something in C.
9383
9384 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9385
9386         * check/Makefile.am:
9387         * check/gst/capslist.h:
9388           copy over from 0.8, and add two with bitmasks specified with
9389           (int) 0xFF...
9390         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9391           add test to parse everything from capslist.h
9392         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9393         (main):
9394           add test for structure deserialization
9395         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9396           add tests for deserialization of strings to int types
9397         * gst/gststructure.c: (gst_structure_nth_field_name):
9398         * gst/gststructure.h:
9399           add a way to get the name of a field referenced by index
9400         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9401           instead of checking if the resulting long long lies between
9402           min and max, we check if the long long would fit into
9403           a number of bytes for the final type.
9404           This fixes cases where a string represents 2^32 - 1, which
9405           when cast to int would be the (valid) -1, but is bigger than
9406           G_MAXINT
9407
9408 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9409
9410         * gst/parse/grammar.y:
9411           add a log line for type deserialization
9412
9413 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9414
9415         * check/gst/gstvalue.c: (START_TEST):
9416         * gst/gstvalue.c: (gst_value_deserialize):
9417           return long long, not int, so gint64 deserialization actually
9418           works.  Is there any flag that makes the compiler check this ?
9419           Fixes #308559
9420
9421 2005-06-22  Wim Taymans  <wim@fluendo.com>
9422
9423         * gst/gstbuffer.h:
9424         Added convenience macros for setting buffers in GValue.
9425
9426 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9427
9428         * check/gst/.cvsignore:
9429         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9430           add a test deserializing int64, and comment part out because
9431           it fails, yay !
9432
9433 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9434
9435         * check/Makefile.am:
9436         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9437         * testsuite/Makefile.am:
9438         * testsuite/caps/Makefile.am:
9439         * testsuite/caps/value_serialize.c:
9440         * testsuite/test_gst_init.c:
9441           move a value_serialize test over
9442
9443 2005-06-20  Wim Taymans  <wim@fluendo.com>
9444
9445         * gst/gstpad.c:
9446         Small doc updates.
9447         
9448         * gst/gstvalue.c: (gst_value_compare_buffer),
9449         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9450         (gst_value_compare_flags), (gst_value_serialize_flags),
9451         (gst_value_deserialize_flags), (_gst_value_initialize):
9452         Fix serialisation of buffers, they are not boxed types anymore
9453
9454 2005-06-20  Wim Taymans  <wim@fluendo.com>
9455
9456         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9457         Testcase to show error in buffer-on-caps serialisation.
9458
9459 2005-06-20  Andy Wingo  <wingo@pobox.com>
9460
9461         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9462         will be adding to later.
9463
9464         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9465         if its socks fill with rocks.
9466         (gst_system_clock_obtain): Set the name on object construction.
9467         Avoid double-checked locking.
9468
9469 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9470
9471         * gst/gsturi.c: (gst_element_make_from_uri):
9472           Fix potential endless loop.
9473
9474 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * check/Makefile.am:
9477           add gsttag
9478         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9479         (main):
9480           move over from testsuite dir and clean up
9481         * configure.ac:
9482         * gst/gsttag.c:
9483         * testsuite/Makefile.am:
9484         * testsuite/tags/.cvsignore:
9485         * testsuite/tags/Makefile.am:
9486         * testsuite/tags/merge.c:
9487           remove testsuite/tags
9488
9489 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9490
9491         * docs/gst/gstreamer-sections.txt:
9492         * docs/gst/tmpl/gstenumtypes.sgml:
9493         * win32/gstenumtypes.c:
9494           clean up documentation build a little
9495
9496 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9497
9498         * check/gstcheck.h:
9499           add macros for checking refcounts on objects and caps
9500         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9501           add some more unit tests
9502         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9503         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9504           fix leaked refcounts (I hope :)) so unittest works
9505         * gst/gstpad.h:
9506           whitespace removal
9507
9508 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9509
9510         * configure.ac: back to HEAD
9511
9512 === release 0.9.1 ===
9513
9514 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         * NEWS:
9517         * RELEASE:
9518           updated
9519
9520 2005-06-17  Andy Wingo  <wingo@pobox.com>
9521
9522         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9523         assert; it's always possible that the pad gets deactivated in
9524         between the checks in gstpad.c and the implementation. Rely on
9525         finish_preroll() to return a FLUSHING or similar instead of on the
9526         assert.
9527         
9528         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9529         clock and post an EOS message if we come out of finish_preroll in
9530         the playing state.
9531
9532 2005-06-16  David Schleef  <ds@schleef.org>
9533
9534         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9535         (gst_capsfilter_set_property): Allow NULL as possible value
9536         for filter_caps property, indicating GST_CAPS_ANY.
9537
9538 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9539
9540         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9541           fix debug output
9542         * gst/schedulers/Makefile.am:
9543           use libgst prefix
9544         * gstreamer.spec.in:
9545           fix spec for it
9546
9547 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9548
9549         * gstreamer.spec.in:
9550           clean up
9551
9552 2005-06-08  Andy Wingo  <wingo@pobox.com>
9553
9554         * gst/gstutils.c: RPAD fixes all around.
9555         (gst_element_link_pads): Refcounting fixes.
9556
9557         * tools/gst-inspect.c:
9558         * tools/gst-xmlinspect.c:
9559         * parse/grammar.y:
9560         * gst/base/gsttypefindhelper.c:
9561         * gst/base/gstbasesink.c:
9562         * gst/gstqueue.c: RPAD fixes.
9563
9564         * gst/gstghostpad.h:
9565         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9566         pads. The tricky thing is they provide both source and sink
9567         interfaces, since they proxy the internal pad for the external
9568         pad, and vice versa. Implement with lower-level ProxyPad objects,
9569         with the interior proxy pad as a child of the exterior ghost pad.
9570         Should write a doc on this.
9571         
9572         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9573         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9574         gst_object API.
9575         
9576         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9577         pads are real pads. No ghost pads in this file. Not documenting
9578         the myriad s/RPAD/PAD/ and REALIZE fixes.
9579         (gst_pad_class_init): Add properties for "direction" and
9580         "template". Both are construct-only, so they can't change during
9581         the life of the pad. Fixes properly deriving from GstPad.
9582         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9583         derived objects, just set properties when creating the objects via
9584         g_object_new.
9585         (gst_pad_get_parent): Implement as a function, return NULL if the
9586         parent is not an element.
9587         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9588         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9589         
9590         * gst/gstobject.c (gst_object_class_init): Make name a construct
9591         property. Don't set it in the object init.
9592
9593         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9594         with UNKNOWN direction.
9595         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9596         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9597         (gst_element_remove_pad): Remove ghost-pad special cases.
9598         (gst_element_pads_activate): Remove rpad cruft.
9599
9600         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9601         catch the pad's-parent-not-an-element case.
9602
9603         * gst/gst.h: Include gstghostpad.h.
9604
9605         * gst/gst.c (init_post): No more real, ghost pads.
9606
9607         * gst/Makefile.am: Add gstghostpad.[ch].
9608
9609         * check/Makefile.am:
9610         * check/gst/gstbin.c:
9611         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9612         into a bin creates ghost pads, and that the refcounts are right.
9613         Partly moved from gstbin.c.
9614
9615 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9616
9617         * check/gst-libs/.cvsignore:
9618         * check/gst/.cvsignore:
9619         * check/pipelines/.cvsignore:
9620           ignore more
9621         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9622         (START_TEST), (cleanup_suite), (main):
9623           add some tests related to cleanup after running pipelines
9624
9625 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9626
9627         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9628           add a testsuite for GstBuffer
9629
9630 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * gst/gstminiobject.h:
9633           add defines for accessing the refcount
9634
9635 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9636
9637         * Makefile.am: added support for html unit test coverage reports
9638
9639 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9640
9641         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9642           Free existing caps if the capsfilter changes. Add a FIXME about
9643           setting those caps on the pads.
9644
9645         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9646           Before adding a ghost pad to a parent bin, check that there isn't
9647           already one for the element on the bin. Prevents infinite recursion
9648           when using decodebin in parse pipelines. Andy says he'll rewrite the
9649           way this works anyway, so ignore the hack.
9650
9651 2005-06-02  Andy Wingo  <wingo@pobox.com>
9652
9653         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9654         file size, pass it on to the type find helper.
9655
9656         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9657         segment_start and segment_end properly according to the seek
9658         method. Segment_end is still a bit flaky because offset can be
9659         negative for CUR and END cases, but it takes -1 as an "unset"
9660         value.
9661
9662 2005-06-02  Wim Taymans  <wim@fluendo.com>
9663
9664         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9665         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9666         (gst_basesink_activate):
9667         * gst/base/gstbasesink.h:
9668         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9669         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9670         (gst_pad_query), (gst_pad_start_task):
9671         * gst/gstpad.h:
9672         * gst/gstqueue.c: (gst_queue_bufferalloc),
9673         (gst_queue_handle_sink_event), (gst_queue_chain):
9674         Bufferalloc: return GstFlowReturn to more accuratly report
9675         why allocation failed.
9676
9677 2005-06-02  Wim Taymans  <wim@fluendo.com>
9678
9679         * gst/gstpipeline.c: (gst_pipeline_send_event):
9680         Take snapshot of state without blocking.
9681
9682 2005-06-02  Wim Taymans  <wim@fluendo.com>
9683
9684         * docs/design/part-TODO.txt:
9685         * docs/design/part-caps.txt:
9686         * docs/design/part-clocks.txt:
9687         * docs/design/part-negotiation.txt:
9688         * docs/design/part-preroll.txt:
9689         Small doc updates 
9690
9691 2005-05-30  Wim Taymans  <wim@fluendo.com>
9692
9693         * gst/elements/gstidentity.c: (gst_identity_event),
9694         (gst_identity_transform), (gst_identity_get_property):
9695         Protect last_message property as it is accessed from
9696         multiple threads.
9697
9698 2005-05-30  Wim Taymans  <wim@fluendo.com>
9699
9700         * gst/gstelement.c: (gst_element_init),
9701         (gst_element_pads_activate), (gst_element_change_state):
9702         Slicker pad activation code.
9703
9704 2005-05-30  Wim Taymans  <wim@fluendo.com>
9705
9706         * gst/Makefile.am:
9707         * gst/gstelement.h:
9708         * gst/gstelementfactory.h:
9709         * gst/gsttypes.h:
9710         Move elementfactory methods to separate .h file.
9711
9712 2005-05-30  Wim Taymans  <wim@fluendo.com>
9713
9714         * docs/design/part-overview.txt:
9715         * gst/gstsystemclock.h:
9716         Small typo fixes, doc updates.
9717
9718 2005-05-30  Wim Taymans  <wim@fluendo.com>
9719
9720         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9721         (init_popt_callback):
9722         Remove cpu-opt flag.
9723
9724 2005-05-30  Wim Taymans  <wim@fluendo.com>
9725
9726         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9727         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9728         * gst/gstbuffer.h:
9729         Avoid typechecking in places where not needed.
9730         Added accessor for malloc_data.
9731
9732 2005-05-30  Wim Taymans  <wim@fluendo.com>
9733
9734         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9735         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9736         (gst_pad_configure_sink), (gst_pad_configure_src),
9737         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9738         (gst_pad_start_task):
9739         Propagate errors from _set_caps() in configure_src/sink
9740         functions instead of returning TRUE.
9741         FLUSH events can travel up and downstream
9742
9743
9744 2005-05-30  Wim Taymans  <wim@fluendo.com>
9745
9746         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9747         (gst_basesink_activate):
9748         Handle EOS in preroll.
9749
9750 2005-05-30  Wim Taymans  <wim@fluendo.com>
9751
9752         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9753         (gst_queue_loop), (gst_queue_handle_src_event):
9754         Remove old pieces of code
9755         Flushing the queue in an upstream event is a very bad idea.
9756
9757 2005-05-26  Andy Wingo  <wingo@pobox.com>
9758
9759         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9760         gst_value_set_mini_object so as to add a ref on the object (which
9761         will be removed when the value is unset).
9762
9763         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9764         arg type in ::handoff.
9765
9766         * gst/gstelement.c (gst_element_change_state): Also deactivate
9767         pads in READY->NULL, just in case the element didn't make it to
9768         PAUSED. Wingo tested, Wim approved.
9769
9770 2005-05-26  Wim Taymans  <wim@fluendo.com>
9771
9772         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9773         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9774         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9775         A flushing pad cannot be used to alloc_buffer from.
9776
9777 2005-05-26  Wim Taymans  <wim@fluendo.com>
9778
9779         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9780         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9781         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9782         (gst_bus_create_watch), (gst_bus_add_watch_full):
9783         * gst/gstbus.h:
9784         Implement a real GSource and use g_main_context_wakeup() to
9785         signal new messages instead of the socketpair.
9786
9787 2005-05-25  Wim Taymans  <wim@fluendo.com>
9788
9789         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9790         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9791         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9792         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9793         (gst_pad_send_event), (gst_pad_start_task):
9794         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9795         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9796         (gst_queue_sink_activate), (gst_queue_src_activate),
9797         (gst_queue_change_state):
9798         * gst/gstqueue.h:
9799         Fix state changes for non sinks. We now change sinks, then elements
9800         with unconnected srcpads, then the rest.
9801         More efficient queue unlocking in flush and state changes.
9802         Set the pad activate mode even if it does not have an activate
9803         function.
9804
9805 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9806
9807         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9808           Don't go in pull mode for non-seekable sources.
9809         * gst/elements/gsttypefindelement.h:
9810         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9811         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9812         (free_entry), (stop_typefinding),
9813         (gst_type_find_element_handle_event), (find_peek),
9814         (gst_type_find_element_chain), (do_pull_typefind),
9815         (gst_type_find_element_change_state):
9816           Allow typefinding (w/o seeking) in push-mode, simplified version
9817           of what was in 0.8.
9818         * gst/gstutils.c: (gst_buffer_join):
9819         * gst/gstutils.h:
9820           gst_buffer_join() from 0.8.
9821
9822 2005-05-25  Wim Taymans  <wim@fluendo.com>
9823
9824         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9825         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9826         (gst_pad_send_event), (gst_pad_start_task):
9827         Disable attempt at mode switching until it is figured out.
9828
9829 2005-05-25  Wim Taymans  <wim@fluendo.com>
9830
9831         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9832         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9833         (gst_basesink_finish_preroll), (gst_basesink_chain),
9834         (gst_basesink_loop), (gst_basesink_activate),
9835         (gst_basesink_change_state):
9836         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9837         (gst_basesrc_get_range), (gst_basesrc_loop),
9838         (gst_basesrc_activate):
9839         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9840         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9841         (gst_real_pad_init), (gst_real_pad_set_property),
9842         (gst_real_pad_get_property), (gst_pad_set_active),
9843         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9844         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9845         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9846         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9847         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9848         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9849         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9850         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9851         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9852         (gst_pad_stop_task):
9853         * gst/gstpad.h:
9854         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9855         (gst_queue_loop), (gst_queue_src_activate):
9856         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
9857         (gst_task_get_state):
9858         * gst/gsttask.h:
9859         * gst/schedulers/threadscheduler.c:
9860         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
9861         Implement gst_pad_pause/start/stop_task(), take STREAM lock
9862         in task function.
9863         Remove ACTIVE pad flag, use FLUSHING everywhere
9864         Added _pad_chain(), _pad_get_range() to call chain/getrange 
9865         functions.
9866         Add locks around IS_FLUSHING when reading.
9867         Take STREAM lock in chain(), get_range() functions so plugins
9868         don't need to take it anymore.
9869         
9870
9871
9872 2005-05-25  Wim Taymans  <wim@fluendo.com>
9873
9874         * tools/gst-launch.c: (event_loop):
9875         Unref message after using its contents instead of
9876         before.
9877
9878 2005-05-24  Wim Taymans  <wim@fluendo.com>
9879
9880         * docs/design/draft-ghostpads.txt:
9881         * docs/design/draft-push-pull.txt:
9882         * docs/design/draft-query.txt:
9883         * docs/design/part-overview.txt:
9884         Docs updates, added general overview doc.
9885
9886 2005-05-21  David Schleef  <ds@schleef.org>
9887
9888         * docs/gst/tmpl/old/GstBin.sgml:
9889         * docs/gst/tmpl/old/GstBuffer.sgml:
9890         * docs/gst/tmpl/old/GstCaps.sgml:
9891         * docs/gst/tmpl/old/GstClock.sgml:
9892         * docs/gst/tmpl/old/GstCompat.sgml:
9893         * docs/gst/tmpl/old/GstData.sgml:
9894         * docs/gst/tmpl/old/GstElement.sgml:
9895         * docs/gst/tmpl/old/GstEvent.sgml:
9896         * docs/gst/tmpl/old/GstIndex.sgml:
9897         * docs/gst/tmpl/old/GstStructure.sgml:
9898         * docs/gst/tmpl/old/GstTag.sgml:
9899         * docs/gst/tmpl/old/cothreads.sgml:
9900         * docs/gst/tmpl/old/cothreads_compat.sgml:
9901         * docs/gst/tmpl/old/gettext.sgml:
9902         * docs/gst/tmpl/old/gobject2gtk.sgml:
9903         * docs/gst/tmpl/old/grammar.tab.sgml:
9904         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9905         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9906         * docs/gst/tmpl/old/gst_private.sgml:
9907         * docs/gst/tmpl/old/gstaggregator.sgml:
9908         * docs/gst/tmpl/old/gstarch.sgml:
9909         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9910         * docs/gst/tmpl/old/gstbufferstore.sgml:
9911         * docs/gst/tmpl/old/gstdata_private.sgml:
9912         * docs/gst/tmpl/old/gstdisksink.sgml:
9913         * docs/gst/tmpl/old/gstdisksrc.sgml:
9914         * docs/gst/tmpl/old/gstelementfactory.sgml:
9915         * docs/gst/tmpl/old/gstextratypes.sgml:
9916         * docs/gst/tmpl/old/gstfakesink.sgml:
9917         * docs/gst/tmpl/old/gstfakesrc.sgml:
9918         * docs/gst/tmpl/old/gstfdsink.sgml:
9919         * docs/gst/tmpl/old/gstfdsrc.sgml:
9920         * docs/gst/tmpl/old/gstfilesink.sgml:
9921         * docs/gst/tmpl/old/gstfilesrc.sgml:
9922         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9923         * docs/gst/tmpl/old/gstidentity.sgml:
9924         * docs/gst/tmpl/old/gstindexfactory.sgml:
9925         * docs/gst/tmpl/old/gstmarshal.sgml:
9926         * docs/gst/tmpl/old/gstmd5sink.sgml:
9927         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9928         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9929         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9930         * docs/gst/tmpl/old/gstpipefilter.sgml:
9931         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9932         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9933         * docs/gst/tmpl/old/gstshaper.sgml:
9934         * docs/gst/tmpl/old/gstspider.sgml:
9935         * docs/gst/tmpl/old/gstspideridentity.sgml:
9936         * docs/gst/tmpl/old/gststatistics.sgml:
9937         * docs/gst/tmpl/old/gsttee.sgml:
9938         * docs/gst/tmpl/old/gsttimecache.sgml:
9939         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9940         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9941         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9942         * docs/gst/tmpl/old/types.sgml:
9943           I didn't intend to add these or check them in.
9944
9945 2005-05-19  David Schleef  <ds@schleef.org>
9946
9947         * configure.ac: Use -no-common everywhere.  In a sane world, it
9948           would be the default in libtool, because without it, you can't
9949           build DLLs on Windows.
9950         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
9951         * docs/gst/gstreamer-sections.txt:
9952         * docs/gst/tmpl/gstcpu.sgml:
9953         * docs/gst/tmpl/gstdata.sgml:
9954         * docs/gst/tmpl/gstthread.sgml:
9955
9956 2005-05-19  David Schleef  <ds@schleef.org>
9957
9958         * gst/gstminiobject.c: (gst_value_set_mini_object),
9959         (gst_value_take_mini_object), (gst_value_get_mini_object):
9960         * gst/gstminiobject.h: Add GValue set/get functions.
9961
9962 2005-05-19  Wim Taymans  <wim@fluendo.com>
9963
9964         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
9965         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
9966         (gst_subbuffer_init), (gst_buffer_is_span_fast):
9967         * gst/gstbuffer.h:
9968         * gst/gstbus.c: (gst_bus_post):
9969         * gst/gstelement.c: (gst_element_get_random_pad):
9970         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
9971         Make subbufer unref the parent in finalize.
9972         some more debugging info.
9973
9974
9975 2005-05-19  Wim Taymans  <wim@fluendo.com>
9976
9977         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9978         (gst_basesink_init), (gst_basesink_finalize),
9979         (gst_basesink_activate), (gst_basesink_change_state):
9980         Don't free preroll queue too early.
9981
9982 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9983
9984         * gst/Makefile.am:
9985         * gst/ROADMAP:
9986           Hi, I'm outdated. Please shoot me.
9987
9988 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9989
9990         * gst/gstpipeline.c: (gst_pipeline_send_event):
9991           Do not access variables after they have been deleted.
9992
9993 2005-05-19  Wim Taymans  <wim@fluendo.com>
9994
9995         * tools/gst-inspect.c: (print_plugin_features):
9996         A plugin feature does unfortunatly not use the
9997         object name yet...
9998
9999 2005-05-18  Wim Taymans  <wim@fluendo.com>
10000
10001         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10002         Port _span() functions to new subbuffers.
10003
10004 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10005
10006         * gst/gstbin.c: (gst_bin_add_func):
10007           Fix clock settery in bins when adding kids after the clock has
10008           been selected.
10009
10010 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10011
10012         * gst/elements/gstidentity.c: (gst_identity_class_init):
10013           Workaround until signals support GstMiniObject.
10014
10015 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10016
10017         * gst/gstbuffer.c:
10018         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10019
10020 2005-05-18  Wim Taymans  <wim@fluendo.com>
10021
10022         * gst/base/Makefile.am:
10023         * gst/base/gstadapter.c: (gst_adapter_base_init),
10024         (gst_adapter_class_init), (gst_adapter_init),
10025         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10026         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10027         (gst_adapter_flush), (gst_adapter_available),
10028         (gst_adapter_available_fast):
10029         * gst/base/gstadapter.h:
10030         Ported and added adapter to the base classes.
10031
10032 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10033
10034         * gst/gst.c:
10035         * gst/gstmessage.c:
10036           Make sure the class is reffed/unreffed once before threads can be
10037           used.  Fixes #304551.
10038
10039 2005-05-17  Wim Taymans  <wim@fluendo.com>
10040
10041         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10042         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10043         * gst/gstminiobject.c: (gst_mini_object_get_type),
10044         (gst_mini_object_free):
10045         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10046         (gst_pad_push), (gst_pad_push_event):
10047         * gst/gstqueue.c: (gst_queue_change_state):
10048         Don't queue buffers in basesink when we are flushing.
10049         Unref buffer when flushing in basesink.
10050         Flush queue when going to READY
10051         Unref buffer when _push() returns an error.
10052         Don't free MiniObject instance when refcount is incremented
10053         in _finalize() so that we can recover objects.
10054
10055 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10056
10057         * docs/manual/advanced-schedulers.xml:
10058         * docs/manual/appendix-checklist.xml:
10059         * docs/pwg/advanced-clock.xml:
10060         * docs/pwg/advanced-interfaces.xml:
10061         * docs/pwg/advanced-request.xml:
10062         * docs/pwg/advanced-types.xml:
10063         * docs/pwg/intro-preface.xml:
10064         * examples/plugins/example.c: (gst_example_get_type),
10065         (gst_example_class_init), (gst_example_chain),
10066         (gst_example_set_property), (gst_example_get_property),
10067         (gst_example_change_state), (plugin_init):
10068         * examples/plugins/example.h:
10069           small doc fixes
10070
10071 2005-05-17  Wim Taymans  <wim@fluendo.com>
10072
10073         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10074         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10075         * gst/gstqueue.c: (gst_queue_change_state):
10076         Clear queue when going to READY.
10077         Remove IN_SETCAPS flag too.
10078
10079 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10080
10081         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10082           Remove implicit cast from gboolean to GstElementStateReturn;
10083           make sure we still return failure in paused => ready case if
10084           the parent class fails to change state and our own stop 
10085           vfunc succeeds.
10086
10087 2005-05-17  Wim Taymans  <wim@fluendo.com>
10088
10089         * tools/gst-launch.c: (event_loop):
10090         Message was unreffed too soon.
10091
10092 2005-05-16  Andy Wingo  <wingo@pobox.com>
10093
10094         * gst/gstbin.c (sink_iterator_filter): Err... um...
10095
10096         * check/gst/gstbin.c (test_ghost_pads): New test for the
10097         ghosting-if-elements-not-in-same-bin behavior.
10098
10099 2005-05-16  David Schleef  <ds@schleef.org>
10100
10101         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10102         accessing refcount directly.
10103
10104 2005-05-15  David Schleef  <ds@schleef.org>
10105
10106         * check/Makefile.am: remove GstData checks
10107         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10108         * gst/Makefile.am: add miniobject, remove data
10109         * gst/gst.h: add miniobject, remove data
10110         * gst/gstdata.c: remove
10111         * gst/gstdata.h: remove
10112         * gst/gstdata_private.h: remove
10113         * gst/gsttypes.h: remove GstEvent and GstMessage
10114         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10115         * gst/gstmarshal.list: change BOXED -> OBJECT
10116
10117         Implement GstMiniObject.
10118         * gst/gstminiobject.c:
10119         * gst/gstminiobject.h:
10120
10121         Modify to be subclasses of GstMiniObject.
10122         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10123         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10124         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10125         (gst_subbuffer_get_type), (gst_subbuffer_init),
10126         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10127         (gst_buffer_span):
10128         * gst/gstbuffer.h:
10129         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10130         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10131         (_gst_event_copy), (gst_event_new):
10132         * gst/gstevent.h:
10133         * gst/gstmessage.c: (_gst_message_initialize),
10134         (gst_message_get_type), (gst_message_class_init),
10135         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10136         (gst_message_new), (gst_message_new_error),
10137         (gst_message_new_warning), (gst_message_new_tag),
10138         (gst_message_new_state_changed), (gst_message_new_application):
10139         * gst/gstmessage.h:
10140         * gst/gstprobe.c: (gst_probe_perform),
10141         (gst_probe_dispatcher_dispatch):
10142         * gst/gstprobe.h:
10143         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10144         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10145         (_gst_query_copy), (gst_query_new):
10146
10147         Update elements for GstData -> GstMiniObject changes
10148         * gst/gstquery.h:
10149         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10150         (gst_queue_chain), (gst_queue_loop):
10151         * gst/elements/gstbufferstore.c:
10152         (gst_buffer_store_add_buffer_func),
10153         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10154         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10155         (gst_fakesink_render):
10156         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10157         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10158         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10159         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10160         (gst_filesrc_create_read):
10161         * gst/elements/gstidentity.c: (gst_identity_class_init):
10162         * gst/elements/gsttypefindelement.c:
10163         (gst_type_find_element_src_event), (free_entry_buffers),
10164         (gst_type_find_element_handle_event):
10165         * libs/gst/dataprotocol/dataprotocol.c:
10166         (gst_dp_header_from_buffer):
10167         * libs/gst/dataprotocol/dataprotocol.h:
10168         * libs/gst/dataprotocol/dp-private.h:
10169
10170 2005-05-15  David Schleef  <ds@schleef.org>
10171
10172         * gst/elements/gstelements.c: Don't include headers that were
10173         just removed.
10174
10175 2005-05-15  David Schleef  <ds@schleef.org>
10176
10177         * gst/elements/Makefile.am: Remove some elements that don't
10178         need to be in the core (or even exist at all).
10179         * gst/elements/gstaggregator.c:
10180         * gst/elements/gstaggregator.h:
10181         * gst/elements/gstmd5sink.c:
10182         * gst/elements/gstmd5sink.h:
10183         * gst/elements/gstmultifilesrc.c:
10184         * gst/elements/gstmultifilesrc.h:
10185         * gst/elements/gstpipefilter.c:
10186         * gst/elements/gstpipefilter.h:
10187         * gst/elements/gstshaper.c:
10188         * gst/elements/gstshaper.h:
10189         * gst/elements/gststatistics.c:
10190         * gst/elements/gststatistics.h:
10191         * po/POTFILES.in: Remove above files.
10192
10193 2005-05-14  Andy Wingo  <wingo@pobox.com>
10194
10195         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10196         so as to get the refs right.
10197         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10198         unreffing objects that don't pass the filter.
10199
10200         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10201         gst_element_set_bus.
10202         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10203         normal cases, this will destroy the bus.
10204
10205         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10206         object.
10207
10208         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10209         has no sinks.
10210
10211 2005-05-13  Andy Wingo  <wingo@pobox.com>
10212
10213         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10214         gst_pad_link, call pad_link_maybe_ghosting,
10215         (pad_link_maybe_ghosting): Links pads, making sure that the
10216         elements being linked are in the same bin.
10217         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10218         Helpers for pad_link_maybe_ghosting.
10219
10220 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10221
10222         * configure.ac:
10223           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10224
10225 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10226
10227         * docs/design/part-element-source.txt:
10228           Mention GstPushSrc
10229
10230 2005-05-12  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/base/gstbasesink.c: (gst_basesink_init),
10233         (gst_basesink_activate):
10234         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10235         (gst_basesrc_is_seekable):
10236         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10237         (bin_element_is_sink), (gst_bin_change_state):
10238         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10239         * gst/gstelement.h:
10240         Identify sinks by their flag to avoid overly complicated
10241         checks (fow now).
10242         Do state changes even for elements not reachable from the
10243         sinks.
10244         BaseSink is a sink now :)
10245         Some more debugging info in the basesrc.
10246
10247
10248 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10249
10250         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10251           Implement _query on a bin, similar to _send_event.
10252
10253 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10254
10255         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10256           Discont event offset format should be GST_FORMAT_BYTES,
10257           not GST_FORMAT_TIME.
10258
10259 2005-05-12  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10262         Same fix as Ronald's but without the signal. 
10263
10264 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10265
10266         * gst/gstutils.c: (gst_element_query_position):
10267           No, an element is not a pad.
10268
10269 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10270
10271         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10272         (gst_bin_get_state):
10273           If a child is removed from a bin while we remove the child from
10274           the bin and while we're retrieving its state, signal this to the
10275           get_state function so we abort the wait (instead of waiting for
10276           a timeout) and can immediately re-iterate over all other elements.
10277
10278 2005-05-12  Wim Taymans  <wim@fluendo.com>
10279
10280         * gst/base/Makefile.am:
10281         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10282         (gst_basesrc_start):
10283         * gst/base/gstbasesrc.h:
10284         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10285         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10286         (gst_pushsrc_init), (gst_pushsrc_create):
10287         * gst/base/gstpushsrc.h:
10288         Added is_seekable to BaseSrc
10289         Added simple PushSrc.
10290
10291 2005-05-11  Wim Taymans  <wim@fluendo.com>
10292
10293         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10294         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10295         (gst_element_link_pads), (gst_element_query_position),
10296         (gst_element_query_convert), (intersect_caps_func),
10297         (gst_pad_query_position), (gst_pad_query_convert):
10298         Fix refcounting in utils function.
10299         No point in trying to activate a pad when it's added, it could
10300         be added from the state change function and then we deadlock, the
10301         element has to decide what to do.
10302
10303 2005-05-10  Andy Wingo  <wingo@pobox.com>
10304
10305         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10306         *all* the arguments.
10307
10308         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10309         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10310         lock (according to the docs -- if this is wrong change the docs).
10311
10312         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10313         flush messages in the NULL state.
10314
10315         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10316         message immediately and return.
10317         (gst_bus_set_flushing): New function. If a bus is flushing, it
10318         flushes out any queued messages and immediately unrefs new
10319         messages. This is so when an element goes to NULL, all of the
10320         unhandled messages coming from it can be freed, and their
10321         references to the element dropped. In other words: message source
10322         ref considered harmful :P
10323
10324         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10325         we're finished with it.
10326
10327         * gst/gstmessage.c (gst_message_new_state_changed): 
10328
10329 2005-05-10  Wim Taymans  <wim@fluendo.com>
10330
10331         * gst/gstvalue.c: (gst_value_compare_flags),
10332         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10333         (_gst_value_initialize):
10334         Added flags serialize/deserialize/compare code.
10335
10336 2005-05-09  Andy Wingo  <wingo@pobox.com>
10337
10338         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10339         Intersect the peer's caps with our caps.
10340
10341 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10342
10343         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10344         * gst/elements/gsttypefindelement.c: (find_peek):
10345           Handle negative offsets better. Fixes decodebin.
10346
10347 2005-05-09  Wim Taymans  <wim@fluendo.com>
10348
10349         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10350         (gst_base_transform_event):
10351         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10352         Implement accept_caps.
10353         Fix silly lock/unlock mismatch in base class.
10354
10355 2005-05-09  Wim Taymans  <wim@fluendo.com>
10356
10357         * docs/design/draft-push-pull.txt:
10358         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10359         * gst/elements/gstfilesink.c: (gst_filesink_init),
10360         (gst_filesink_query):
10361         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10362         (gst_type_find_handle_src_query), (find_element_get_length):
10363         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10364         * gst/gstelement.h:
10365         * gst/gstmessage.c:
10366         * gst/gstmessage.h:
10367         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10368         (gst_real_pad_get_caps_unlocked),
10369         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10370         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10371         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10372         (gst_real_pad_dispose), (gst_real_pad_finalize),
10373         (gst_pad_load_and_link), (gst_pad_save_thyself),
10374         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10375         (gst_pad_check_pull_range), (gst_pad_pull_range),
10376         (gst_pad_template_get_type), (gst_pad_template_class_init),
10377         (gst_pad_template_init), (gst_pad_template_dispose),
10378         (name_is_valid), (gst_static_pad_template_get),
10379         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10380         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10381         (gst_pad_get_element_private), (gst_pad_start_task),
10382         (gst_pad_pause_task), (gst_pad_stop_task),
10383         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10384         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10385         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10386         (gst_ghost_pad_new):
10387         * gst/gstpad.h:
10388         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10389         (gst_query_new_position), (gst_query_set_position),
10390         (gst_query_parse_position), (gst_query_new_convert),
10391         (gst_query_set_convert), (gst_query_parse_convert):
10392         * gst/gstquery.h:
10393         * gst/gstqueryutils.c:
10394         * gst/gstqueryutils.h:
10395         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10396         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10397         (gst_queue_handle_src_query):
10398         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10399         (gst_element_query_position), (gst_element_query_convert),
10400         (intersect_caps_func), (gst_pad_query_position),
10401         (gst_pad_query_convert):
10402         * gst/gstutils.h:
10403         * tools/gst-inspect.c: (print_pad_info):
10404         * tools/gst-xmlinspect.c: (print_element_info):
10405         Remove old query functions. Ported old code.
10406         Added position/convert helper functions to gstutils.
10407         Reordered gstpad.c code, grouping relevant things.
10408         Remove gst_message_new(), always need to speficy a specific
10409         message.
10410
10411
10412 2005-05-09  Andy Wingo  <wingo@pobox.com>
10413
10414         * gst/gstiterator.h: Add some includes.
10415
10416         * gst/gstqueryutils.h: Include more headers.
10417
10418         * gst/gstpad.h:
10419         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10420         some uses of gst_pad_query.
10421
10422         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10423         NULL out parameters.
10424         (gst_query_new_position): New proc, allocates a new position
10425         query.
10426
10427         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10428         gstqueryutils.c to the build.
10429
10430         * gst/gststructure.c (gst_structure_set_valist): Implement with
10431         the generic G_VALUE_COLLECT.
10432         
10433 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10434
10435         * gst/Makefile.am: (gst_headers):
10436         Added gstqueryutils.h to the list of headers to install, that was
10437         a 'nachty' move wingo :)
10438
10439 2005-05-06  Andy Wingo  <wingo@pobox.com>
10440
10441         * gst/gstquery.h
10442         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10443         GstData, init a memchunk.
10444         (standard_definitions): Add a few query types, deprecate a few.
10445         (gst_query_get_type): New proc.
10446         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10447         implementation.
10448         (gst_query_new_application, gst_query_get_structure): New public
10449         procs.
10450
10451         * docs/design/draft-query.txt: Removed LINKS from the query types,
10452         because all the rest can be dispatched to other pads -- seemed
10453         ugly to have a query that couldn't be dispatched. internal_links
10454         is fine as a pad method.
10455
10456         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10457         in gstpad.c, but maintain binary compatibility for the moment.
10458         Will fix before 0.9 is out.
10459
10460         * gst/gstqueryutils.c: 
10461         * gst/gstqueryutils.h: New files, implement 3 methods for each
10462         query type: parse_query, parse_response, and set. Probably need an
10463         allocator as well.
10464
10465         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10466
10467         * gst/elements/gstfilesink.c (gst_filesink_query2):
10468         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10469         query_types, and formats methods.
10470
10471         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10472         (gst_pad_set_query2_function): New functions.
10473         (gst_real_pad_init): Set query2_default as the default query2
10474         function. Basically just dispatches to internally linked pads.
10475
10476         Needs review!
10477         
10478         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10479         without using the atomic operations. Only one thread can possibly
10480         be accessing the data at this point. Changed so as to avoid
10481         gst_atomic operations.
10482
10483 2005-05-06  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10486         Also set caps if we use the fallback buffer alloc.
10487
10488 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10489
10490         * docs/gst/Makefile.am:
10491         * docs/gst/gstreamer-docs.sgml:
10492         * docs/gst/gstreamer-sections.txt:
10493         * docs/gst/tmpl/gstatomic.sgml:
10494         * docs/gst/tmpl/gstmemchunk.sgml:
10495         * testsuite/elements/struct_i386.h:
10496         * win32/GStreamer.vcproj:
10497         * win32/Makefile:
10498           Purge GstAtomic stuff from docs and win32 makefiles as well
10499
10500 2005-05-06  Wim Taymans  <wim@fluendo.com>
10501
10502         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10503         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10504         * gst/gstpad.c: (gst_pad_peer_get_caps):
10505         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10506         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10507         (gst_queue_src_activate), (gst_queue_change_state):
10508         * gst/gstqueue.h:
10509         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10510         (intersect_caps_func):
10511         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10512         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10513         Some fixes for the peer_get_caps() change.
10514
10515 2005-05-06  Wim Taymans  <wim@fluendo.com>
10516
10517         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10518         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10519         (gst_basesink_activate):
10520         Actually do something with error codes returned from the push
10521         functions.
10522
10523 2005-05-06  Wim Taymans  <wim@fluendo.com>
10524
10525         * docs/design/part-element-sink.txt:
10526         * docs/design/part-element-source.txt:
10527         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10528         (gst_basesink_event), (gst_basesink_activate):
10529         * gst/base/gstbasesink.h:
10530         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10531         (gst_basesrc_activate):
10532         * gst/base/gstbasesrc.h:
10533         * gst/gstelement.c: (gst_element_pads_activate):
10534         Some more documentation.
10535         Fixed scheduling decision in _pads_activate().
10536
10537 2005-05-05  Andy Wingo  <wingo@pobox.com>
10538
10539         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10540         the test suite.
10541
10542 2005-05-05  Wim Taymans  <wim@fluendo.com>
10543
10544         * gst/base/Makefile.am:
10545         * gst/base/gstbasesink.h:
10546         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10547         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10548         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10549         (gst_collectpads_class_init), (gst_collectpads_init),
10550         (gst_collectpads_finalize), (gst_collectpads_new),
10551         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10552         (find_pad), (gst_collectpads_remove_pad),
10553         (gst_collectpads_is_active), (gst_collectpads_collect),
10554         (gst_collectpads_collect_range), (gst_collectpads_start),
10555         (gst_collectpads_stop), (gst_collectpads_peek),
10556         (gst_collectpads_pop), (gst_collectpads_available),
10557         (gst_collectpads_read), (gst_collectpads_flush),
10558         (gst_collectpads_chain):
10559         * gst/base/gstcollectpads.h:
10560         * gst/elements/Makefile.am:
10561         * gst/elements/gstelements.c:
10562         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10563         (gst_fakesink_get_times), (gst_fakesink_event),
10564         (gst_fakesink_preroll), (gst_fakesink_render):
10565         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10566         (gst_filesink_init), (gst_filesink_set_location),
10567         (gst_filesink_open_file), (gst_filesink_close_file),
10568         (gst_filesink_pad_query), (gst_filesink_event),
10569         (gst_filesink_render), (gst_filesink_change_state):
10570         * gst/elements/gstfilesink.h:
10571         Added object to help in making collect pad based elements.
10572         Ported filesink.
10573         Make event function in sink baseclass return gboolean.
10574
10575 2005-05-05  Wim Taymans  <wim@fluendo.com>
10576
10577         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10578         (gst_bin_get_by_name):
10579         * gst/gstbuffer.h:
10580         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10581         (gst_clock_finalize):
10582         * gst/gstdata.c: (gst_data_replace):
10583         * gst/gstdata.h:
10584         * gst/gstelement.c: (gst_element_request_pad),
10585         (gst_element_pads_activate):
10586         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10587         (gst_object_unref):
10588         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10589         (gst_pad_set_checkgetrange_function),
10590         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10591         (gst_pad_check_pull_range), (gst_pad_pull_range),
10592         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10593         (gst_pad_pause_task), (gst_pad_stop_task):
10594         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10595         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10596         Fix name lookup in GstBin.
10597         Added _data_replace() function and _buffer_replace()
10598         Use finalize method to clean up clock.
10599         Fix refcounting on request pads.
10600         Fix pad schedule mode error.
10601         Some more object refcounting debug info,
10602
10603
10604 2005-05-04  Andy Wingo <wingo@pobox.com>
10605
10606         * check/Makefile.am:
10607         * docs/gst/tmpl/gstatomic.sgml:
10608         * docs/gst/tmpl/gstplugin.sgml:
10609         * gst/base/gstbasesink.c: (gst_basesink_activate):
10610         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10611         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10612         (gst_basesrc_query), (gst_basesrc_set_property),
10613         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10614         (gst_basesrc_activate):
10615         * gst/base/gstbasesrc.h:
10616         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10617         (gst_base_transform_src_activate):
10618         * gst/elements/gstelements.c:
10619         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10620         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10621         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10622         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10623         (gst_type_find_element_checkgetrange),
10624         (gst_type_find_element_activate):
10625         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10626         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10627         (gst_caps_load_thyself):
10628         * gst/gstelement.c: (gst_element_pads_activate),
10629         (gst_element_save_thyself), (gst_element_restore_thyself):
10630         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10631         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10632         * gst/gstpad.h:
10633         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10634         (gst_xml_parse_file), (gst_xml_parse_memory),
10635         (gst_xml_get_element), (gst_xml_make_element):
10636         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10637         (_file_index_id_save_xml), (gst_file_index_commit):
10638         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10639         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10640         (load_paths):
10641         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10642         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10643         * tools/gst-complete.c: (main):
10644         * tools/gst-compprep.c: (main):
10645         * tools/gst-inspect.c: (print_element_properties_info):
10646         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10647         * tools/gst-xmlinspect.c: (print_element_properties):
10648         GCC 4 fixen.
10649         
10650 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10651
10652         * gst/gstplugin.c: (gst_plugin_check_module),
10653         (gst_plugin_check_file), (gst_plugin_load_file):
10654             apply patch from #172526 to make register work on MacOSX
10655
10656 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10657
10658         * docs/gst/tmpl/gstconfig.sgml:
10659         * gst/gstconfig.h.in:
10660           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10661         * testsuite/debug/printf_extension.c: (main):
10662           Do not use GST_PTR_FORMAT on pointers to types with
10663           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10664         * testsuite/elements/property.h:
10665           use correct printf format
10666
10667 2005-05-02  Wim Taymans  <wim@fluendo.com>
10668
10669         * docs/design/draft-push-pull.txt:
10670         * docs/design/draft-query.txt:
10671         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10672         (gst_basesrc_start):
10673         Added draft for new query API.
10674         Added draft for better selecting scheduling methods.
10675         Make basesrc ignore length if the subclass does not support
10676         it.
10677
10678 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10679
10680         * gst/Makefile.am:
10681           possible fixes for automake-1.5 - _LIBADD is reserved
10682
10683 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10684
10685         * docs/faq/Makefile.am:
10686         * docs/manual/Makefile.am:
10687         * docs/manuals.mak:
10688         * docs/pwg/Makefile.am:
10689         * gst/Makefile.am:
10690           possible fixes for automake-1.5
10691
10692 2005-04-28  Wim Taymans  <wim@fluendo.com>
10693
10694         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10695         (gst_basesink_pad_getcaps), (gst_basesink_init),
10696         (gst_basesink_do_sync):
10697         * gst/gstclock.c: (gst_clock_entry_new):
10698         * gst/gstevent.c: (gst_event_discont_get_value):
10699         * gst/gstpipeline.c: (pipeline_bus_handler),
10700         (gst_pipeline_change_state):
10701         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10702         Better debugging of clocking info.
10703         Allow NULL values when getting discont values.
10704
10705 2005-04-27  Wim Taymans  <wim@fluendo.com>
10706
10707         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10708         * check/gst/gstpad.c: (gst_pad_suite):
10709         Increase timeout for checks.
10710
10711 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10712
10713         * check/Makefile.am:
10714           fix the broken rule for cleanup.  Apparently this rule is
10715           only needed on FC2, so maybe this warrants further autotool
10716           inspection.
10717
10718 2005-04-26  Wim Taymans  <wim@fluendo.com>
10719
10720         * gst/gsttrashstack.h:
10721         Ooohh. a nasty one! After having a failed pop() from the stack,
10722         it's possible that the stack is empty. In that case, don't
10723         follow the NULL pointer.
10724
10725 2005-04-25  Wim Taymans  <wim@fluendo.com>
10726
10727         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10728         (gst_pad_set_checkgetrange_function),
10729         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10730         (gst_pad_check_pull_range), (gst_pad_pull_range),
10731         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10732         (gst_pad_pause_task), (gst_pad_stop_task):
10733         * gst/gstplugin.c: (gst_plugin_load):
10734         * gst/gstplugin.h:
10735         Remove gst_library_load as it does more harm than good with
10736         the new g_module flags.
10737         Revert bogus caps template check in pad linking, pad caps
10738         are important when linking not the template, which is more
10739         general than the current caps.
10740
10741 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10742
10743         * gst/autoplug/.cvsignore:
10744         * gst/autoplug/Makefile.am:
10745         * gst/autoplug/gstsearchfuncs.c:
10746         * gst/autoplug/gstsearchfuncs.h:
10747         * gst/autoplug/gstspider.c:
10748         * gst/autoplug/gstspider.h:
10749         * gst/autoplug/gstspideridentity.c:
10750         * gst/autoplug/gstspideridentity.h:
10751         * gst/autoplug/spidertest.c:
10752           Die, spider, die.
10753
10754 2005-04-25  Wim Taymans  <wim@fluendo.com>
10755
10756         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10757         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10758         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10759         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10760         * gst/gstpad.h:
10761         Added stubs for unimplemented functions. 
10762
10763 2005-04-24  David Schleef  <ds@schleef.org>
10764
10765         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10766         please fix.
10767
10768 2005-04-24  David Schleef  <ds@schleef.org>
10769
10770         Convert everything from GstAtomicInt to g_atomic_int_*, and
10771         remove gstatomic.
10772         * gst/Makefile.am:
10773         * gst/gstatomic.c:
10774         * gst/gstatomic.h:
10775         * gst/gstatomic_impl.h:
10776         * gst/gstbuffer.c:
10777         * gst/gstcaps.c:
10778         * gst/gstcaps.h:
10779         * gst/gstclock.c:
10780         * gst/gstclock.h:
10781         * gst/gstdata.c:
10782         * gst/gstdata.h:
10783         * gst/gstdata_private.h:
10784         * gst/gstevent.c:
10785         * gst/gstinfo.c:
10786         * gst/gstinfo.h:
10787         * gst/gstmessage.c:
10788         * gst/gstobject.c:
10789         * gst/gstobject.h:
10790         * gst/gststructure.c:
10791         * gst/gststructure.h:
10792         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10793         * gst/gstutils.h:
10794
10795 2005-04-24  David Schleef  <ds@schleef.org>
10796
10797         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10798         make the regressions tests work.  Remove some code that is no
10799         longer true.
10800         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10801         Disable warning for pads without templates.
10802
10803 2005-04-24  David Schleef  <ds@schleef.org>
10804
10805         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10806         functions that handle filtered links.
10807         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10808         removed functions.
10809         * gst/gstutils.c: Fix/remove utility functions that handle
10810         filtered caps.
10811         * gst/gstutils.h:
10812         * gst/gstvalue.c: Add serialization/deserialization of caps
10813         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10814         requires fixing so that the filter caps notation creates
10815         a capsfilter element and sets the filter_caps property.  I
10816         think everyone probably wants to keep the shorthand notation.
10817         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10818         * docs/gst/tmpl/gstpad.sgml:
10819
10820         * gst/elements/gstelements.c: Register capsfilter element.
10821         * gst/Makefile.am: fix spacing
10822         * docs/random/ds/0.9-suggested-changes: random
10823
10824 2005-04-23  David Schleef  <ds@schleef.org>
10825
10826         * gst/elements/Makefile.am:
10827         * gst/elements/gstcapsfilter.c: New element that acts like an
10828         identity, but filters caps.  Will eventually replace filtered
10829         caps in pad linking.
10830         * gst/gstutils.c: (gst_element_create_all_pads): New function
10831         to create all the ALWAYS pads that are registered with an
10832         element class.  This functionality should eventually be
10833         merged in with GstElement initialization.
10834         * gst/gstutils.h:
10835         * testsuite/trigger/README: part of trigger test code that should
10836         have been checked in a long time ago.
10837
10838 2005-04-23  David Schleef  <ds@schleef.org>
10839
10840         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10841         needed with new versions of libtool (nobody will confirm this),
10842         and hard to carry around.
10843         * gst/autoplug/Makefile.am:
10844         * gst/base/Makefile.am:
10845         * gst/elements/Makefile.am:
10846         * gst/indexers/Makefile.am:
10847         * gst/schedulers/Makefile.am:
10848         * libs/gst/bytestream/Makefile.am:
10849         * libs/gst/control/Makefile.am:
10850         * libs/gst/dataprotocol/Makefile.am:
10851         * libs/gst/getbits/Makefile.am:
10852
10853 2005-04-21  Wim Taymans  <wim@fluendo.com>
10854
10855         * docs/design/draft-push-pull.txt:
10856         * docs/design/part-MT-refcounting.txt:
10857         * docs/design/part-TODO.txt:
10858         * docs/design/part-caps.txt:
10859         * docs/design/part-events.txt:
10860         * docs/design/part-gstbus.txt:
10861         * docs/design/part-gstpipeline.txt:
10862         * docs/design/part-messages.txt:
10863         * docs/design/part-push-pull.txt:
10864         * docs/design/part-query.txt:
10865         Some more docs.
10866
10867 2005-04-21  Wim Taymans  <wim@fluendo.com>
10868
10869         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
10870         (gst_message_new), (gst_message_new_error),
10871         (gst_message_new_warning), (gst_message_new_tag),
10872         (gst_message_new_state_changed), (gst_message_new_application),
10873         (gst_message_get_structure):
10874         * gst/gstmessage.h:
10875         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10876         (gst_structure_copy_conditional):
10877         Use parent refcount in GstMessage to ensure GstStructure
10878         consistency.
10879         Cleaned up headers a bit.
10880         
10881
10882 2005-04-20  Wim Taymans  <wim@fluendo.com>
10883
10884         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10885         (gst_basesink_pad_getcaps), (gst_basesink_init),
10886         (gst_basesink_chain_unlocked):
10887         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
10888         (gst_type_find_helper):
10889         * gst/elements/gsttypefindelement.c:
10890         (gst_type_find_element_have_type), (gst_type_find_element_init),
10891         (stop_typefinding), (gst_type_find_element_handle_event),
10892         (find_suggest), (gst_type_find_element_chain),
10893         (gst_type_find_element_checkgetrange),
10894         (gst_type_find_element_getrange), (do_typefind),
10895         (gst_type_find_element_activate):
10896         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10897         (gst_buffer_default_free), (gst_buffer_default_copy),
10898         (gst_buffer_set_caps):
10899         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
10900         (gst_caps_replace):
10901         * gst/gstmessage.c: (gst_message_new),
10902         (gst_message_new_state_changed):
10903         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10904         (gst_pad_set_checkgetrange_function),
10905         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
10906         (gst_pad_set_caps), (gst_pad_check_pull_range),
10907         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
10908         * gst/gstpad.h:
10909         * gst/gsttypefind.c: (gst_type_find_register):
10910         Make gst_caps_replace() work like other _replace() functions.
10911         Use _caps_replace() where possible.
10912         Make sure _message_new() initialises its field.
10913         Add gst_static_pad_template_get_caps()
10914
10915
10916 2005-04-18  Andy Wingo  <wingo@pobox.com>
10917
10918         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
10919         on the peer, not the pad. I think that was a typo. Pass an extra
10920         arg to see if random access is possible. Activate the pads as
10921         PULL_RANGE if possible.
10922
10923         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
10924
10925         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
10926         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
10927         to PROP_....
10928
10929 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10930
10931         * docs/faq/using.xml:
10932           Add note on gstreamer-properties (#154996).
10933
10934 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10935
10936         * docs/random/bbb/optional-properties:
10937           Some analysis on optional properties.
10938
10939 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10940
10941         * docs/gst/tmpl/gstelementfactory.sgml:
10942         * gst/gstelement.h:
10943         * gst/gstelementfactory.c: (gst_element_factory_init),
10944         (gst_element_factory_cleanup), (gst_element_register),
10945         (__gst_element_factory_add_static_pad_template),
10946         (gst_element_factory_get_static_pad_templates),
10947         (gst_element_factory_can_src_caps),
10948         (gst_element_factory_can_sink_caps):
10949         * gst/registries/Makefile.am:
10950         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
10951         (gst_xml_registry_class_init), (gst_xml_registry_init),
10952         (gst_xml_registry_new), (gst_xml_registry_set_property),
10953         (gst_xml_registry_get_property), (get_time), (make_dir),
10954         (gst_xml_registry_get_perms_func),
10955         (plugin_times_older_than_recurse), (plugin_times_older_than),
10956         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
10957         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
10958         (add_to_char_array), (read_string), (read_uint), (read_enum),
10959         (load_pad_template), (load_feature), (load_plugin), (load_paths),
10960         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
10961         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
10962         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
10963         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
10964         (gst_xml_registry_rebuild):
10965         * gst/registries/gstlibxmlregistry.h:
10966         * tools/gst-compprep.c: (main):
10967         * tools/gst-inspect.c: (print_pad_templates_info):
10968         * tools/gst-xmlinspect.c: (print_element_info):
10969           Use libxml2 for registry parsing, use staticpadtemplates in
10970           elementfactories. Makes gst_init() +/- 10x faster.
10971
10972 2005-04-12  Wim Taymans  <wim@fluendo.com>
10973
10974         * gst/base/Makefile.am:
10975         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10976         (gst_basesink_pad_getcaps), (gst_basesink_init),
10977         (gst_basesink_event), (gst_basesink_change_state):
10978         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10979         (gst_basesrc_init), (gst_basesrc_query),
10980         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10981         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10982         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10983         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10984         (gst_basesrc_stop), (gst_basesrc_activate),
10985         (gst_basesrc_change_state):
10986         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10987         (helper_find_suggest), (gst_type_find_helper):
10988         * gst/base/gsttypefindhelper.h:
10989         * gst/elements/Makefile.am:
10990         * gst/elements/gstelements.c:
10991         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10992         (gst_fakesink_get_times), (gst_fakesink_event),
10993         (gst_fakesink_preroll), (gst_fakesink_render):
10994         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10995         (gst_fakesrc_init), (gst_fakesrc_event_handler),
10996         (gst_fakesrc_get_property), (gst_fakesrc_create),
10997         (gst_fakesrc_start), (gst_fakesrc_stop):
10998         * gst/elements/gstfakesrc.h:
10999         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11000         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11001         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11002         (gst_filesrc_create_read), (gst_filesrc_create),
11003         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11004         (gst_filesrc_start):
11005         * gst/elements/gsttypefindelement.c:
11006         (gst_type_find_element_have_type), (gst_type_find_element_init),
11007         (start_typefinding), (stop_typefinding), (push_buffer_store),
11008         (gst_type_find_element_handle_event),
11009         (gst_type_find_element_chain),
11010         (gst_type_find_element_checkgetrange),
11011         (gst_type_find_element_getrange), (do_typefind),
11012         (gst_type_find_element_activate),
11013         (gst_type_find_element_change_state):
11014         * gst/elements/gsttypefindelement.h:
11015         * gst/gstpipeline.c: (pipeline_bus_handler):
11016         Added typefind helper.
11017         Small preroll fix in the base sink.
11018         Disable typefind code in basesrc.
11019         Crude port of typefindelement.
11020         Fakesrc cleanups.
11021
11022
11023 2005-04-11  Wim Taymans  <wim@fluendo.com>
11024
11025         * check/gst/gstbus.c: (gstbus_suite):
11026         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11027         * check/gstcheck.h:
11028           Fix up the timeout so that the test does not fail.
11029
11030 2005-04-06  Wim Taymans  <wim@fluendo.com>
11031
11032         * gst/base/README:
11033         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11034         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11035         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11036         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11037         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11038         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11039         (gst_basesrc_stop), (gst_basesrc_activate),
11040         (gst_basesrc_change_state), (basesrc_find_peek),
11041         (basesrc_find_suggest), (gst_basesrc_type_find):
11042         * gst/base/gstbasesrc.h:
11043         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11044         (gst_filesrc_class_init), (gst_filesrc_init),
11045         (gst_filesrc_finalize), (gst_filesrc_set_location),
11046         (gst_filesrc_set_property), (gst_filesrc_get_property),
11047         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11048         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11049         (gst_filesrc_create_read), (gst_filesrc_create),
11050         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11051         * gst/elements/gstfilesrc.h:
11052         * gst/gstelement.c: (gst_element_get_state_func),
11053         (gst_element_lost_state), (gst_element_pads_activate):
11054         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11055         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11056         (gst_pad_pull_range):
11057         * gst/gstpad.h:
11058         More work on the generic source base class, implement seeking,
11059         query.
11060         Make filesrc extend the base source class.
11061         Added gst_pad_set_checkgetrange_function to GstPad.
11062
11063 2005-04-06  Andy Wingo  <wingo@pobox.com>
11064
11065         * pkgconfig/gstreamer-base.pc.in:
11066         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11067
11068         * pkgconfig/Makefile.am:
11069         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11070
11071 2005-04-04  Wim Taymans  <wim@fluendo.com>
11072
11073         * gst/base/Makefile.am:
11074         * gst/base/README:
11075         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11076         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11077         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11078         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11079         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11080         (gst_basesrc_base_init), (gst_basesrc_class_init),
11081         (gst_basesrc_init), (gst_basesrc_get_formats),
11082         (gst_basesrc_get_query_types), (gst_basesrc_query),
11083         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11084         (gst_basesrc_set_property), (gst_basesrc_get_property),
11085         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11086         (gst_basesrc_loop), (gst_basesrc_activate),
11087         (gst_basesrc_change_state):
11088         * gst/base/gstbasesrc.h:
11089         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11090         (gst_fakesrc_class_init), (gst_fakesrc_init),
11091         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11092         (gst_fakesrc_get_property), (gst_fakesrc_create):
11093         * gst/elements/gstfakesrc.h:
11094         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11095         (gst_filesrc_open_file), (gst_filesrc_loop),
11096         (gst_filesrc_activate), (filesrc_find_peek),
11097         (gst_filesrc_type_find):
11098         Made base source class, make fakesrc extend it.
11099         Add comments to basesink class.
11100         Some filesrc cleanup.
11101
11102 2005-03-31  David Schleef  <ds@schleef.org>
11103
11104         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11105         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11106         expected to link against libgstreamer.
11107         * gst/base/Makefile.am: link against libgstreamer
11108         * gst/elements/Makefile.am: same
11109
11110 2005-03-31  Andy Wingo  <wingo@pobox.com>
11111
11112         * tests/instantiate/Makefile.am:
11113         * tests/instantiate/caps.c: Add test to test speed of caps copy
11114         and free.
11115
11116         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11117         GMemChunk to be fair.
11118
11119         * gst/gsttrashstack.h: Remove warning about using the fallback
11120         trash stack implementation, it's still faster than malloc.
11121
11122 2005-03-30  Andy Wingo  <wingo@pobox.com>
11123
11124         * tests/complexity.c: Add a copyright.
11125
11126 2005-03-31  Wim Taymans  <wim@fluendo.com>
11127
11128         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11129         (gst_base_transform_class_init), (gst_base_transform_init),
11130         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11131         (gst_base_transform_get_property),
11132         (gst_base_transform_sink_activate),
11133         (gst_base_transform_src_activate),
11134         (gst_base_transform_change_state):
11135         * gst/base/gstbasetransform.h:
11136         * gst/elements/gstidentity.c: (gst_identity_class_init),
11137         (gst_identity_event), (gst_identity_check_perfect),
11138         (gst_identity_transform), (gst_identity_start),
11139         (gst_identity_stop):
11140         Added start/stop methods to transform base class so subclasses 
11141         don't need to deal with state changes even.
11142
11143 2005-03-31  Wim Taymans  <wim@fluendo.com>
11144
11145         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11146         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11147         * gst/gstevent.h:
11148         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11149         (gst_pad_pull_range):
11150         Added rate to the discont event to prepare for variable speed
11151         and reverse playback.
11152
11153 2005-03-29  David Schleef  <ds@schleef.org>
11154
11155         * configure.ac:
11156         * testsuite/trigger/Makefile.am:
11157         * testsuite/trigger/trigger.c: A little example program to show
11158         how trigger-based elements can work.
11159
11160 2005-03-29  Wim Taymans  <wim@fluendo.com>
11161
11162         * gst/base/Makefile.am:
11163         * gst/base/README:
11164         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11165         (gst_basesink_base_init), (gst_basesink_class_init),
11166         (gst_basesink_pad_getcaps), (gst_basesink_init),
11167         (gst_basesink_activate), (gst_basesink_change_state):
11168         * gst/base/gstbasesink.h:
11169         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11170         (gst_base_transform_base_init), (gst_base_transform_finalize),
11171         (gst_base_transform_class_init), (gst_base_transform_init),
11172         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11173         (gst_base_transform_event), (gst_base_transform_getrange),
11174         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11175         (gst_base_transform_set_property),
11176         (gst_base_transform_get_property),
11177         (gst_base_transform_sink_activate),
11178         (gst_base_transform_src_activate),
11179         (gst_base_transform_change_state):
11180         * gst/base/gstbasetransform.h:
11181         * gst/elements/gstidentity.c: (gst_identity_finalize),
11182         (gst_identity_class_init), (gst_identity_init),
11183         (gst_identity_event), (gst_identity_check_perfect),
11184         (gst_identity_transform), (gst_identity_set_property),
11185         (gst_identity_get_property), (gst_identity_change_state):
11186         * gst/elements/gstidentity.h:
11187         * gst/gstelement.c: (gst_element_get_state_func),
11188         (gst_element_lost_state), (gst_element_pads_activate):
11189         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11190         (gst_pad_check_pull_range), (gst_pad_pull_range):
11191         * gst/gstpad.h:
11192         Simplify pad activation.
11193         Added function to check if pull_range can be performed.
11194         Error out when pulling inactive or flushing pads.
11195         Removed const from refcounted types as it does not make sense.
11196         Simplify pad templates in basesink
11197         Added base class for simple 1-to-1 transforms.
11198         Make identity subclass the base transform.
11199
11200 2005-03-29  Andy Wingo  <wingo@pobox.com>
11201
11202         * docs/libs/gstreamer-libs-overrides.txt: 
11203         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11204         really don't understand what's going on, but like whatever. I want
11205         green buildbot!
11206
11207         * docs/gst/Makefile.am:
11208         * docs/libs/Makefile.am: Dist the overrides files.
11209
11210         * check/Makefile.am (clean-local): Remove .libs directories.
11211
11212         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11213         elements to EXTRA_DIST, so po/ files are happy.
11214
11215         * po/POTFILES.in: Er, remove it here.
11216
11217         * po/POTFILES: Remove gstspider.c.
11218
11219         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11220
11221         * docs/libs/gstreamer-libs-docs.sgml: 
11222         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11223         bytestream.
11224
11225         * tests/complexity.c (main): Set the length of the preroll queue
11226         on the sinks to prevent a lockup.
11227
11228         * libs/gst/dataprotocol/Makefile.am: 
11229         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11230         the same as the one in check/gst-libs/gdp.c.
11231
11232         * po/, docs/gst/: Commit automatic changes to docs and po files.
11233
11234         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11235         the versioned libgstbase.
11236
11237         * check/Makefile.am: Depend on an unversioned gst-register, seems
11238         to make autoconf happier.
11239
11240         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11241
11242 2005-03-28  Wim Taymans  <wim@fluendo.com>
11243
11244         * configure.ac:
11245         * docs/design/part-gstelement.txt:
11246         * docs/design/part-negotiation.txt:
11247         * docs/design/part-preroll.txt:
11248         * docs/design/part-scheduling.txt:
11249         * docs/design/part-states.txt:
11250         * gst/Makefile.am:
11251         * gst/base/Makefile.am:
11252         * gst/base/README:
11253         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11254         (gst_basesink_base_init), (gst_basesink_class_init),
11255         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11256         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11257         (gst_basesink_set_pad_functions),
11258         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11259         (gst_basesink_set_property), (gst_basesink_get_property),
11260         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11261         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11262         (gst_basesink_preroll_queue_push),
11263         (gst_basesink_preroll_queue_empty),
11264         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11265         (gst_basesink_event), (gst_basesink_get_times),
11266         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11267         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11268         (gst_basesink_loop), (gst_basesink_activate),
11269         (gst_basesink_change_state):
11270         * gst/base/gstbasesink.h:
11271         * gst/elements/Makefile.am:
11272         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11273         (gst_fakesink_class_init), (gst_fakesink_init),
11274         (gst_fakesink_set_property), (gst_fakesink_get_property),
11275         (gst_fakesink_get_times), (gst_fakesink_event),
11276         (gst_fakesink_preroll), (gst_fakesink_render),
11277         (gst_fakesink_change_state):
11278         * gst/elements/gstfakesink.h:
11279         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11280         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11281         * gst/gstelement.c: (gst_element_add_pad),
11282         (gst_element_get_state_func), (gst_element_abort_state),
11283         (gst_element_commit_state), (gst_element_lost_state),
11284         (gst_element_set_state), (gst_element_pads_activate):
11285         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11286         * gst/gstpipeline.c: (gst_pipeline_send_event),
11287         (gst_pipeline_change_state):
11288         Added state change code.
11289         Added/updated docs.
11290         Added sink base class, make fakesink extend the base class.
11291         Small cleanups in GstPipeline.
11292
11293 2005-03-26  David Schleef  <ds@schleef.org>
11294
11295         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11296         is broken and should be implemented in a different library.
11297         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11298         * gst/gst.h: remove gstcpu.h
11299         * gst/gstcpu.c: remove
11300         * gst/gstcpu.h: remove
11301         * gst/Makefile.am.future: Remove this file.  It's ancient.
11302
11303 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11304
11305         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11306         (gst_bin_send_event):
11307           Add default event/set_manager handlers. The set_manager handler
11308           takes care that the manager is distributed over kids that were
11309           already in the bin before the manager was set. The event handler
11310           is a utility virtual function that sends the event over all sinks,
11311           so that gst_element_send_event (bin, event); has the expected
11312           behaviour.
11313         * gst/gstpad.c: (gst_pad_event_default):
11314           Re-install default event handling for discontinuities, so that
11315           seeking works without requiring hacks in applications or extra
11316           code in sinks.
11317         * gst/gstpipeline.c: (gst_pipeline_class_init),
11318         (gst_pipeline_send_event):
11319           Half hack, half utility: set a pipeline to PAUSED for seek events,
11320           since that is the only way we can guarantee a/v sync. Means that
11321           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11322           and it "just works".
11323
11324 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11325
11326         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11327           Lock/unlock mismatch.
11328
11329 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11330
11331         * docs/faq/gst-uninstalled:
11332           add gst-plugins-base
11333         * docs/gst/Makefile.am:
11334           don't error out until docs are fixed
11335         * docs/gst/gstreamer.types:
11336           remove thread
11337
11338 2005-03-22  Wim Taymans  <wim@fluendo.com>
11339
11340         * check/Makefile.am:
11341         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11342         * gst/gststructure.c: (gst_structure_set_valist),
11343         (gst_structure_copy_conditional):
11344         Activated more tests.
11345         Added message test.
11346         Added G_TYPE_POINTER to GstStructure.
11347         
11348
11349 2005-03-22  Wim Taymans  <wim@fluendo.com>
11350
11351         * docs/design/part-TODO.txt:
11352         * docs/design/part-events.txt:
11353         * docs/design/part-gstbin.txt:
11354         * docs/design/part-gstbus.txt:
11355         * docs/design/part-gstpipeline.txt:
11356         * docs/design/part-messages.txt:
11357         * gst/gstbus.c:
11358         * gst/gstmessage.c:
11359         Docs updates
11360
11361 2005-03-21  Wim Taymans  <wim@fluendo.com>
11362
11363         * gst/gstbus.c: (gst_bus_post):
11364         Fix copy-and-paste error.
11365
11366 2005-03-21  Wim Taymans  <wim@fluendo.com>
11367
11368         * check/Makefile.am:
11369         * gst/Makefile.am:
11370         * gst/elements/Makefile.am:
11371         * gst/elements/gstelements.c:
11372         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11373         (gst_fakesink_event), (gst_fakesink_chain):
11374         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11375         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11376         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11377         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11378         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11379         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11380         (gst_fakesrc_loop), (gst_fakesrc_activate),
11381         (gst_fakesrc_change_state):
11382         * gst/elements/gstfakesrc.h:
11383         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11384         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11385         (gst_filesrc_open_file), (gst_filesrc_loop),
11386         (gst_filesrc_activate), (gst_filesrc_change_state),
11387         (filesrc_find_peek), (filesrc_find_suggest),
11388         (gst_filesrc_type_find):
11389         * gst/elements/gstidentity.c: (gst_identity_finalize),
11390         (gst_identity_class_init), (gst_identity_init),
11391         (gst_identity_proxy_getcaps), (identity_queue_push),
11392         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11393         (gst_identity_getrange), (gst_identity_chain),
11394         (gst_identity_sink_loop), (gst_identity_src_loop),
11395         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11396         (gst_identity_set_property), (gst_identity_get_property),
11397         (gst_identity_change_state):
11398         * gst/elements/gstidentity.h:
11399         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11400         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11401         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11402         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11403         (gst_tee_sink_activate):
11404         * gst/elements/gsttee.h:
11405         * gst/gst.c: (gst_register_core_elements), (init_post):
11406         * gst/gst.h:
11407         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11408         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11409         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11410         (gst_bin_change_state):
11411         * gst/gstbin.h:
11412         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11413         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11414         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11415         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11416         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11417         (bus_watch_callback), (bus_watch_destroy),
11418         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11419         (poll_timeout), (gst_bus_poll):
11420         * gst/gstbus.h:
11421         * gst/gstcaps.h:
11422         * gst/gstdata.h:
11423         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11424         (gst_element_post_message), (gst_element_message_full),
11425         (gst_element_get_state_func), (gst_element_get_state),
11426         (gst_element_abort_state), (gst_element_commit_state),
11427         (gst_element_lost_state), (gst_element_set_state),
11428         (gst_element_pads_activate), (gst_element_change_state),
11429         (gst_element_dispose), (gst_element_set_manager_func),
11430         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11431         (gst_element_set_manager), (gst_element_get_manager),
11432         (gst_element_set_bus), (gst_element_get_bus),
11433         (gst_element_set_scheduler), (gst_element_get_scheduler):
11434         * gst/gstelement.h:
11435         * gst/gstevent.c: (gst_event_new_segment_seek),
11436         (gst_event_new_flush):
11437         * gst/gstevent.h:
11438         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11439         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11440         (gst_message_new_eos), (gst_message_new_error),
11441         (gst_message_new_warning), (gst_message_new_tag),
11442         (gst_message_new_state_changed), (gst_message_new_application),
11443         (gst_message_get_structure), (gst_message_parse_tag),
11444         (gst_message_parse_state_changed), (gst_message_parse_error),
11445         (gst_message_parse_warning):
11446         * gst/gstmessage.h:
11447         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11448         (gst_real_pad_set_property), (gst_pad_set_active),
11449         (gst_pad_is_active), (gst_pad_set_blocked_async),
11450         (gst_pad_set_blocked), (gst_pad_is_blocked),
11451         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11452         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11453         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11454         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11455         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11456         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11457         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11458         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11459         (gst_pad_set_caps), (gst_pad_configure_sink),
11460         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11461         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11462         (gst_real_pad_dispose), (gst_real_pad_finalize),
11463         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11464         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11465         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11466         * gst/gstpad.h:
11467         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11468         (pipeline_bus_handler), (gst_pipeline_change_state),
11469         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11470         * gst/gstpipeline.h:
11471         * gst/gstprobe.h:
11472         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11473         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11474         (gst_queue_link_src), (gst_queue_bufferalloc),
11475         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11476         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11477         (gst_queue_loop), (gst_queue_handle_src_event),
11478         (gst_queue_handle_src_query), (gst_queue_src_activate),
11479         (gst_queue_change_state):
11480         * gst/gstqueue.h:
11481         * gst/gstscheduler.c: (gst_scheduler_init),
11482         (gst_scheduler_dispose), (gst_scheduler_create_task),
11483         (gst_scheduler_factory_create):
11484         * gst/gstscheduler.h:
11485         * gst/gststructure.c: (gst_structure_get_type),
11486         (gst_structure_copy_conditional):
11487         * gst/gststructure.h:
11488         * gst/gsttaginterface.h:
11489         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11490         (gst_task_init), (gst_task_dispose), (gst_task_create),
11491         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11492         (gst_task_pause):
11493         * gst/gsttask.h:
11494         * gst/gstthread.c:
11495         * gst/gstthread.h:
11496         * gst/gsttypes.h:
11497         * gst/schedulers/Makefile.am:
11498         * gst/schedulers/cothreads_compat.h:
11499         * gst/schedulers/entryscheduler.c:
11500         * gst/schedulers/faircothreads.c:
11501         * gst/schedulers/faircothreads.h:
11502         * gst/schedulers/fairscheduler.c:
11503         * gst/schedulers/gstbasicscheduler.c:
11504         * gst/schedulers/gstoptimalscheduler.c:
11505         * gst/schedulers/gthread-cothreads.h:
11506         * gst/schedulers/threadscheduler.c:
11507         (gst_thread_scheduler_task_get_type),
11508         (gst_thread_scheduler_task_class_init),
11509         (gst_thread_scheduler_task_init),
11510         (gst_thread_scheduler_task_start),
11511         (gst_thread_scheduler_task_stop),
11512         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11513         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11514         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11515         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11516         (plugin_init):
11517         * libs/gst/Makefile.am:
11518         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11519         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11520         (gst_file_pad_parent_set):
11521         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11522         (gst_dp_event_from_packet):
11523         * tests/complexity.c: (main):
11524         * tests/mass_elements.c: (main):
11525         * testsuite/states/locked.c: (message_received), (main):
11526         * testsuite/states/parent.c: (main):
11527         * tools/gst-inspect.c: (print_element_flag_info),
11528         (print_implementation_info), (print_pad_info):
11529         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11530         (main):
11531         * tools/gst-md5sum.c: (event_loop), (main):
11532         * tools/gst-typefind.c: (main):
11533         * tools/gst-xmlinspect.c: (print_element_info):
11534         Next big merge.
11535         Added GstBus for mainloop integration.
11536         Added GstMessage for sending notifications on the bus.
11537         Added GstTask as an abstraction for pipeline entry points.
11538         Removed GstThread.
11539         Removed Schedulers.
11540         Simplified GstQueue for multithreaded core.
11541         Made _link threadsafe, removed old capsnego.
11542         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11543         Added pad blocking functions.
11544         Reworked scheduling functions in GstPad to prepare for
11545         scheduling updates soon.
11546         Moved events out of data stream.
11547         Simplified GstEvent types.
11548         Added return values to push/pull.
11549         Removed clocking from GstElement.
11550         Added prototypes for state change function for next merge.
11551         Removed iterate from bins and state change management.
11552         Fixed some elements, disabled others for now.
11553         Fixed -inspect and -launch.
11554         Added check for GstBus.
11555
11556 2005-03-10  Wim Taymans  <wim@fluendo.com>
11557
11558         * docs/design/part-MT-refcounting.txt:
11559         * docs/design/part-clocks.txt:
11560         * docs/design/part-gstelement.txt:
11561         * docs/design/part-gstobject.txt:
11562         * docs/design/part-standards.txt:
11563         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11564         (gst_bin_remove_func), (gst_bin_remove):
11565         * gst/gstbin.h:
11566         * gst/gstbuffer.c:
11567         * gst/gstcaps.h:
11568         * testsuite/clock/clock1.c: (main):
11569         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11570         (main):
11571         * testsuite/dlopen/loadgst.c: (do_test):
11572         * testsuite/refcounting/bin.c: (add_remove_test1),
11573         (add_remove_test2), (main):
11574         * testsuite/refcounting/element.c: (main):
11575         * testsuite/refcounting/element_pad.c: (main):
11576         * testsuite/refcounting/pad.c: (main):
11577         * tools/gst-launch.c: (sigint_handler_sighandler):
11578         * tools/gst-typefind.c: (main):
11579         Doc updates.
11580         Added doc about clock.
11581         removed gst_bin_iterate_recurse_up(), marked methods
11582         for removal.
11583         Fix more testsuites.
11584
11585 2005-03-09  Wim Taymans  <wim@fluendo.com>
11586
11587         * gst/gstpad.c: (gst_pad_get_direction),
11588         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11589         (gst_pad_collect_valist):
11590         * testsuite/bins/interface.c: (main):
11591         * testsuite/caps/audioscale.c: (test_caps):
11592         * testsuite/caps/caps.c: (test1), (test2), (test3):
11593         * testsuite/caps/deserialize.c: (main):
11594         * testsuite/caps/enumcaps.c: (main):
11595         * testsuite/caps/filtercaps.c: (main):
11596         * testsuite/caps/intersect2.c: (main):
11597         * testsuite/caps/random.c: (main):
11598         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11599         * testsuite/caps/sets.c: (check_caps):
11600         * testsuite/caps/simplify.c: (check_caps), (main):
11601         * testsuite/caps/subtract.c: (check_caps):
11602         Fix _pad_get_direction wrt ghostpads.
11603         Fix caps testsuite.
11604
11605 2005-03-09  Wim Taymans  <wim@fluendo.com>
11606
11607         * check/Makefile.am:
11608         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11609         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11610         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11611         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11612         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11613         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11614         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11615         (bin_element_is_sink), (gst_bin_iterate_sinks),
11616         (gst_bin_iterate_all_by_interface):
11617         * gst/gstbin.h:
11618         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11619         (gst_element_change_state), (gst_element_dispose),
11620         (gst_element_finalize), (gst_element_set_loop_function):
11621         * gst/gstelement.h:
11622         * gst/gstiterator.c: (find_custom_fold_func):
11623         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11624         (gst_pad_collectv), (gst_pad_collect_valist),
11625         (gst_pad_template_new):
11626         * gst/gstpipeline.c: (gst_pipeline_class_init),
11627         (gst_pipeline_dispose), (gst_pipeline_set_property),
11628         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11629         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11630         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11631         * gst/gstutils.h:
11632         * gst/schedulers/entryscheduler.c:
11633         * gst/schedulers/gstbasicscheduler.c:
11634         (gst_basic_scheduler_cothreaded_chain),
11635         (gst_basic_scheduler_chain_add_element):
11636         * testsuite/bins/interface.c: (main):
11637         Added GstBin test.
11638         Added GstSystemClock test.
11639         Implemented clock distribution code in GstBin.
11640         Implemented iterate sinks method for future use.
11641         Rearranged gstelement.h
11642         Fix GstIterator comparison bug.
11643         Moved some code to GstPipeline, mostly clocking related.
11644
11645 2005-03-09  Wim Taymans  <wim@fluendo.com>
11646
11647         * configure.ac:
11648         * gst/gst_private.h:
11649         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11650         (gst_bin_remove_func), (gst_bin_remove),
11651         (gst_bin_get_by_name_recurse_up):
11652         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11653         (gst_clock_id_compare_func), (gst_clock_id_wait),
11654         (gst_clock_id_wait_async), (gst_clock_init),
11655         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11656         * gst/gstelement.h:
11657         * gst/gstinfo.c: (_gst_debug_init):
11658         * gst/gstobject.h:
11659         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11660         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11661         * gst/gstpad.h:
11662         Bump version number, we're now 0.9.0
11663         Add future debugging category.
11664         Fix NULL _unref() in _get_by_name_recurse_up
11665         Rearrange gstpad.h.
11666         Update some docs.
11667
11668 2005-03-08  Wim Taymans  <wim@fluendo.com>
11669
11670         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11671         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11672         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11673         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11674         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11675         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11676         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11677         * gst/elements/gstidentity.c: (gst_identity_class_init):
11678         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11679         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11680         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11681         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11682         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11683         (gst_tee_link):
11684         * gst/gstelement.c: (gst_element_class_init),
11685         (gst_element_base_class_init), (gst_element_init),
11686         (gst_element_get_random_pad), (gst_element_wait_state_change),
11687         (gst_element_change_state), (gst_element_dispose),
11688         (gst_element_finalize), (gst_element_set_loop_function):
11689         * gst/gstelement.h:
11690         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11691         * gst/gstthread.c: (gst_thread_class_init),
11692         (gst_thread_release_children_locks), (gst_thread_change_state):
11693         * gst/schedulers/gstbasicscheduler.c:
11694         (gst_basic_scheduler_loopfunc_wrapper),
11695         (gst_basic_scheduler_chain_wrapper),
11696         (gst_basic_scheduler_src_wrapper),
11697         (gst_basic_scheduler_remove_element):
11698         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11699         Remove threadsafe properties. Fix elements because GObject
11700         complains when installing a property before declaring a
11701         set/get_property handler.
11702         Rearrange gstelement.h file, use STATE macros for state locks.
11703         Free mutexes in the finalize method instead of dispose.
11704
11705 2005-03-08  Wim Taymans  <wim@fluendo.com>
11706
11707         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11708         * gst/gstthread.c: (gst_thread_release_children_locks):
11709         Added parentage check.
11710         Fix build og GstThread again.
11711
11712 2005-03-08  Wim Taymans  <wim@fluendo.com>
11713
11714         * docs/design/part-MT-refcounting.txt:
11715         * docs/design/part-conventions.txt:
11716         * docs/design/part-gstobject.txt:
11717         * docs/design/part-relations.txt:
11718         * docs/design/part-standards.txt:
11719         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11720         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11721         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11722         (gst_bin_iterate_all_by_interface):
11723         * gst/gstbuffer.h:
11724         * gst/gstclock.h:
11725         * gst/gstelement.c: (gst_element_class_init),
11726         (gst_element_change_state), (gst_element_set_loop_function):
11727         * gst/gstelement.h:
11728         * gst/gstiterator.c:
11729         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11730         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11731         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11732         (gst_object_set_parent), (gst_object_unparent),
11733         (gst_object_check_uniqueness):
11734         * gst/gstobject.h:
11735         Docs updates, clean up some headers.
11736
11737 2005-03-07  Wim Taymans  <wim@fluendo.com>
11738
11739         * check/.cvsignore:
11740         * check/Makefile.am:
11741         * check/gst-libs/.cvsignore:
11742         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11743         * check/gst/.cvsignore:
11744         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11745         (START_TEST), (gstbus_suite), (main):
11746         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11747         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11748         (gst_data_suite), (main):
11749         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11750         (add_fold_func), (gstiterator_suite), (main):
11751         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11752         (thread_name_object), (thread_name_object_default),
11753         (gst_object_name_compare), (gst_object_suite), (main):
11754         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11755         (gst_pad_suite), (main):
11756         * check/gstcheck.c: (gst_check_log_message_func),
11757         (gst_check_log_critical_func), (gst_check_init):
11758         * check/gstcheck.h:
11759         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11760         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11761         Added checks.
11762
11763 2005-03-07  Wim Taymans  <wim@fluendo.com>
11764
11765         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11766         (gst_list_iterator_next), (gst_list_iterator_resync),
11767         (gst_list_iterator_free), (gst_iterator_new_list),
11768         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11769         (gst_iterator_free), (gst_iterator_push), (filter_next),
11770         (filter_resync), (filter_uninit), (filter_free),
11771         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11772         (gst_iterator_foreach), (find_custom_fold_func),
11773         (gst_iterator_find_custom):
11774         * gst/gstiterator.h:
11775         Added missing files.
11776
11777 2005-03-07  Wim Taymans  <wim@fluendo.com>
11778
11779         * Makefile.am:
11780         * configure.ac:
11781         * docs/design/part-MT-refcounting.txt:
11782         * docs/design/part-conventions.txt:
11783         * docs/design/part-gstobject.txt:
11784         * docs/design/part-relations.txt:
11785         * examples/mixer/mixer.c: (main):
11786         * examples/thread/thread.c: (eos), (main):
11787         * gst/Makefile.am:
11788         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11789         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11790         (gst_spider_plug_from_srcpad):
11791         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11792         (gst_spider_identity_change_state),
11793         (gst_spider_identity_sink_loop_type_finding):
11794         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11795         * gst/elements/gstidentity.c: (gst_identity_init):
11796         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11797         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11798         * gst/elements/gsttypefindelement.c: (free_entry):
11799         * gst/gst.c:
11800         * gst/gst.h:
11801         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11802         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11803         (gst_bin_set_index), (gst_bin_set_element_sched),
11804         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11805         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11806         (gst_bin_iterate_elements), (iterate_child_recurse),
11807         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11808         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11809         (compare_interface), (gst_bin_get_by_interface),
11810         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11811         * gst/gstbin.h:
11812         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11813         (gst_buffer_default_free), (gst_buffer_default_copy),
11814         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11815         (gst_buffer_create_sub):
11816         * gst/gstbuffer.h:
11817         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11818         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11819         (gst_caps_unref), (gst_static_caps_get),
11820         (gst_caps_remove_and_get_structure), (gst_caps_append),
11821         (gst_caps_append_structure), (gst_caps_remove_structure),
11822         (gst_caps_copy_nth), (gst_caps_set_simple),
11823         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11824         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11825         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11826         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11827         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11828         (gst_caps_structure_figure_out_union),
11829         (gst_caps_switch_structures), (gst_caps_do_simplify),
11830         (gst_caps_replace), (gst_caps_from_string),
11831         (gst_caps_copy_conditional):
11832         * gst/gstcaps.h:
11833         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11834         (_gst_clock_id_free), (gst_clock_id_unref),
11835         (gst_clock_id_compare_func), (gst_clock_id_wait),
11836         (gst_clock_id_wait_async), (gst_clock_class_init),
11837         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11838         (gst_clock_get_time), (gst_clock_set_time_adjust),
11839         (gst_clock_set_property), (gst_clock_get_property):
11840         * gst/gstclock.h:
11841         * gst/gstcompat.h:
11842         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11843         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11844         * gst/gstdata.h:
11845         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11846         (gst_element_requires_clock), (gst_element_provides_clock),
11847         (gst_element_set_clock), (gst_element_clock_wait),
11848         (gst_element_wait), (gst_element_set_time_delay),
11849         (gst_element_is_indexable), (gst_element_add_pad),
11850         (gst_element_add_ghost_pad), (gst_element_remove_pad),
11851         (pad_compare_name), (gst_element_get_static_pad),
11852         (gst_element_request_pad), (gst_element_get_request_pad),
11853         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
11854         (gst_element_class_get_pad_template_list),
11855         (gst_element_class_get_pad_template), (gst_element_error_func),
11856         (gst_element_get_random_pad), (gst_element_get_event_masks),
11857         (gst_element_send_event), (gst_element_seek),
11858         (gst_element_get_query_types), (gst_element_query),
11859         (gst_element_get_formats), (gst_element_convert),
11860         (gst_element_is_locked_state), (gst_element_set_locked_state),
11861         (gst_element_sync_state_with_parent), (gst_element_change_state),
11862         (gst_element_finalize), (gst_element_yield),
11863         (gst_element_interrupt), (gst_element_set_scheduler),
11864         (gst_element_get_scheduler), (gst_element_set_loop_function):
11865         * gst/gstelement.h:
11866         * gst/gstevent.h:
11867         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
11868         (gst_format_get_by_nick), (gst_format_get_details),
11869         (gst_format_iterate_definitions):
11870         * gst/gstformat.h:
11871         * gst/gstindex.c: (gst_index_gtype_resolver):
11872         * gst/gstinfo.c:
11873         * gst/gstinfo.h:
11874         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
11875         (gst_mem_chunk_free):
11876         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
11877         (gst_object_ref), (gst_object_unref), (gst_object_sink),
11878         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
11879         (gst_object_dispatch_properties_changed),
11880         (gst_object_set_name_default), (gst_object_set_name),
11881         (gst_object_get_name), (gst_object_set_name_prefix),
11882         (gst_object_get_name_prefix), (gst_object_set_parent),
11883         (gst_object_get_parent), (gst_object_unparent),
11884         (gst_object_check_uniqueness), (gst_object_save_thyself),
11885         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
11886         (gst_object_set_property), (gst_object_get_property),
11887         (gst_object_get_path_string):
11888         * gst/gstobject.h:
11889         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11890         (gst_real_pad_init), (gst_real_pad_get_property),
11891         (gst_pad_custom_new), (gst_pad_get_direction),
11892         (gst_pad_set_active), (gst_pad_is_active),
11893         (gst_pad_set_event_function), (gst_pad_is_linked),
11894         (gst_pad_link_free), (gst_pad_link_intersect),
11895         (gst_pad_link_fixate), (gst_pad_set_caps),
11896         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
11897         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
11898         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
11899         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
11900         (gst_pad_get_caps), (gst_pad_peer_get_caps),
11901         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
11902         (gst_pad_realize), (gst_pad_get_allowed_caps),
11903         (gst_real_pad_dispose), (gst_real_pad_finalize),
11904         (gst_pad_collectv), (gst_pad_collect_valist),
11905         (gst_pad_template_dispose), (gst_pad_template_new),
11906         (gst_pad_get_internal_links):
11907         * gst/gstpad.h:
11908         * gst/gstpipeline.c: (gst_pipeline_dispose),
11909         (gst_pipeline_change_state):
11910         * gst/gstpipeline.h:
11911         * gst/gstplugin.c:
11912         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
11913         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
11914         * gst/gstpluginfeature.h:
11915         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
11916         * gst/gstquery.c: (_gst_query_type_initialize),
11917         (gst_query_type_register), (gst_query_type_get_by_nick),
11918         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
11919         * gst/gstquery.h:
11920         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
11921         * gst/gstscheduler.c: (gst_scheduler_add_element),
11922         (gst_scheduler_factory_create):
11923         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11924         (gst_structure_free), (gst_structure_set_name),
11925         (gst_structure_id_set_value), (gst_structure_set_value),
11926         (gst_structure_set_valist), (gst_structure_remove_field),
11927         (gst_structure_remove_fields),
11928         (gst_structure_remove_fields_valist),
11929         (gst_structure_remove_all_fields), (gst_structure_foreach),
11930         (gst_structure_map_in_place),
11931         (gst_caps_structure_fixate_field_nearest_int),
11932         (gst_caps_structure_fixate_field_nearest_double):
11933         * gst/gststructure.h:
11934         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11935         (gst_system_clock_init), (gst_system_clock_dispose),
11936         (gst_system_clock_async_thread),
11937         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
11938         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
11939         * gst/gstsystemclock.h:
11940         * gst/gsttag.c: (gst_tag_list_add_value_internal),
11941         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
11942         * gst/gsttaginterface.c:
11943         * gst/gstthread.c: (gst_thread_dispose),
11944         (gst_thread_release_children_locks), (gst_thread_change_state),
11945         (gst_thread_main_loop):
11946         * gst/gsttrashstack.h:
11947         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
11948         * gst/gsttypes.h:
11949         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11950         (gst_element_request_pad), (gst_element_get_pad_from_template),
11951         (gst_element_request_compatible_pad),
11952         (gst_element_get_compatible_pad_filtered),
11953         (gst_element_get_compatible_pad), (gst_element_state_get_name),
11954         (gst_element_link_pads_filtered), (gst_element_link_filtered),
11955         (gst_element_link_many), (gst_element_link),
11956         (gst_element_link_pads), (gst_element_unlink_pads),
11957         (gst_element_unlink_many), (gst_element_unlink),
11958         (gst_pad_can_link_filtered), (gst_pad_can_link),
11959         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
11960         (gst_object_default_error), (gst_bin_add_many),
11961         (gst_bin_remove_many), (gst_element_populate_std_props),
11962         (gst_element_class_install_std_props), (gst_buffer_merge),
11963         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
11964         (link_fold_func), (gst_pad_proxy_setcaps):
11965         * gst/gstutils.h:
11966         * gst/gstvalue.c: (gst_value_deserialize_string):
11967         * gst/parse/grammar.y:
11968         * gst/schedulers/gstbasicscheduler.c:
11969         (gst_basic_scheduler_cothreaded_chain),
11970         (gst_basic_scheduler_chain_recursive_add),
11971         (gst_basic_scheduler_pad_link):
11972         * gst/schedulers/gstoptimalscheduler.c:
11973         (get_group_schedule_function),
11974         (gst_opt_scheduler_state_transition),
11975         (gst_opt_scheduler_add_element), (element_get_reachables_func):
11976         * libs/gst/bytestream/bytestream.c:
11977         * libs/gst/dataprotocol/dataprotocol.c:
11978         (gst_dp_header_from_buffer):
11979         * po/nb.po:
11980         * po/ru.po:
11981         * tests/threadstate/threadstate2.c: (eos):
11982         * tools/gst-compprep.c: (main):
11983         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
11984         (print_pad_info), (print_children_info):
11985         * tools/gst-launch.c: (idle_func), (main):
11986         * tools/gst-md5sum.c: (idle_func), (main):
11987         * tools/gst-xmlinspect.c: (print_element_info):
11988         First THREADED backport attempt, focusing on adding locks and
11989         making sure the API is threadsafe. Needs more work. More docs
11990         follow this week.
11991
11992 2005-02-24  Andy Wingo  <wingo@pobox.com>
11993
11994         * tests/bench-complexity.scm:
11995         * tests/complexity.gnuplot: New files, good for running complexity
11996         benchmarks.
11997
11998         * tests/Makefile.am:
11999         * tests/complexity.c: New test, sets up N elements, at each level
12000         teeing into M streams per element. Eeeenteresting.
12001
12002         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12003         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12004         running bench-mass_elements.scm.
12005
12006         * tests/bench-mass_elements.scm: New script, runs mass_elements
12007         for various numbers of identities, outputting the results to a
12008         file. Requires guile 1.6. Just for testing.
12009
12010 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * gst/schedulers/fairscheduler.c:
12013           compile with debug disabled
12014
12015 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12016
12017         * configure.ac:
12018           hunting season on 0.9 is now OPEN