gst/gstpad.c (fixate_value): Use array functions for arrays.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-28  Andy Wingo  <wingo@pobox.com>
2
3         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4
5 2005-11-28  Edward Hervey  <edward@fluendo.com>
6
7         * tools/gst-launch.c: (main):
8         Clarify the output strings, makes it easier to translate.
9         Fixes #322626
10
11 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12
13         * gst/Makefile.am:
14           don't try and build net if we don't even have <sys/socket.h>
15
16 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
17
18         * check/Makefile.am:
19         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
21           Add tests for fdsrc seekability
22
23         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
25         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
26         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
27         * gst/elements/gstfdsrc.h:
28           fdsrc should not be a 'live' source.
29           Implement seeking on seekable fd's.
30
31         * gst/gstquery.c: (gst_query_new_seeking),
32         (gst_query_parse_seeking):
33         * gst/gstquery.h:
34           Implement SEEKING query functions: 
35             *_new_seeking and *_parse_seeking
36
37 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
38
39         * gst/gstelement.c: (gst_element_dispose):
40           don't loop forever
41
42         * gst/gstiterator.c:
43         * gst/gststructure.c:
44           doc fixes
45
46         * libs/gst/controller/gstcontroller.c:
47         (gst_controlled_property_set_interpolation_mode):
48         * libs/gst/controller/gstcontroller.h:
49         * libs/gst/controller/gstinterpolation.c:
50         (interpolate_none_get_enum_value_array):
51           support controlling enums
52
53 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
54
55         * gst/gstvalue.c:
56           Improve documentation for gst_value_union().
57
58         * gst/gstvalue.h:
59           Change return value for union, intersect and subtract functions
60           from gint to gboolean.
61
62 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
63
64         * gst/gstvalue.c: (gst_value_serialize_any_list),
65         (gst_value_transform_any_list_string),
66         (gst_value_deserialize_list), (gst_value_deserialize_array),
67         (gst_value_set_int_range), (gst_value_deserialize_int_range),
68         (gst_value_set_double_range), (gst_value_deserialize_double_range),
69         (gst_value_set_fraction_range_full),
70         (gst_value_deserialize_fraction_range),
71         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
72         (gst_value_deserialize_boolean),
73         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
74         (gst_value_serialize_float), (gst_value_deserialize_float),
75         (gst_string_wrap), (gst_value_deserialize_string),
76         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
77         (gst_value_union_int_range_int_range),
78         (gst_value_intersect_int_range_int_range),
79         (gst_value_intersect_double_range_double_range),
80         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
81         (gst_value_subtract_int_range_int_range),
82         (gst_value_subtract_double_double_range),
83         (gst_value_subtract_double_range_double_range),
84         (gst_value_deserialize_fraction):
85         * gst/gstvalue.h:
86           Use gint, gdouble and gchar in our API instead of int, double and
87           char (and make usage in gstvalue.c more consistent).
88
89 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
90
91         * check/Makefile.am:
92         * libs/gst/controller/Makefile.am:
93         * libs/gst/dataprotocol/Makefile.am:
94           fix up Makefile.am and remove GST_ENABLE_NEW
95
96 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
97
98         * configure.ac:
99         * gst/Makefile.am:
100         * gst/base/Makefile.am:
101         * gst/check/Makefile.am:
102         * gst/elements/Makefile.am:
103         * gst/net/Makefile.am:
104           update LDFLAGS use some more
105
106 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
107
108         * common/m4/gst-doc.m4:
109           Fixes #312589
110
111 2005-11-26  Edward Hervey  <edward@fluendo.com>
112
113         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
114         This shouldn't issue a g_warning since it returns NULL if it
115         couldn't find the plugin, and all functions using this behave
116         properly on a NULL return. Switching to a GST_WARNING.
117
118 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
119
120         * gst/gstbin.c: (gst_bin_handle_message_func):
121         Don't leak clock messages.
122
123 2005-11-25  Wim Taymans  <wim@fluendo.com>
124
125         * gst/gstutils.c: (gst_util_uint64_scale_int64),
126         (gst_util_uint64_scale_int):
127         Optimisations, remove unneeded vars.
128
129 2005-11-25  Wim Taymans  <wim@fluendo.com>
130
131         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
132         Added more checks for the high precision uint64 cases.
133
134         * gst/gstutils.c: (gst_util_uint64_scale_int64),
135         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
136         Implement high precission (guint64 * guint64) / guint64.
137
138 2005-11-24  Wim Taymans  <wim@fluendo.com>
139
140         * gst/base/gstbasesrc.c: (gst_base_src_query):
141         Fix wrong percentage query.
142
143         * gst/gstutils.c: (gst_util_uint64_scale),
144         (gst_util_uint64_scale_int):
145         Add some more common cases that can be handled 
146         efficiently to _scale.
147
148 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
149
150         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
151         (gst_mini_object_suite):
152           don't use check calls from threads; check probably isn't
153           threadsafe and using a lock to make it threadsafe would
154           defeat the purpose of this check
155         * gst/check/gstcheck.c:
156         * gst/check/gstcheck.h:
157           use GST_DEBUG some more
158
159 2005-11-24  Wim Taymans  <wim@fluendo.com>
160
161         * gst/gstutils.c: (gst_util_uint64_scale),
162         (gst_util_uint64_scale_int):
163         Chain trivial case to _scale_int.
164
165 2005-11-24  Wim Taymans  <wim@fluendo.com>
166
167         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
168         Added test for scaling.
169
170         * gst/gstclock.h:
171         Small doc fix.
172
173         * gst/gstutils.c: (gst_util_uint64_scale_int):
174         Implemented high precision scaling code.
175
176 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
177
178         * gst/gstinfo.h:
179           do not crash on pad==NULL
180
181 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
182
183         Patch by: Stefan Kost
184
185         * common/gtk-doc.mak:
186         * docs/gst/Makefile.am:
187         * docs/libs/Makefile.am:
188           Fix distcheck issues for the libraries docs build
189           Closes #319599.
190
191 2005-11-24  Michael Smith <msmith@fluendo.com>
192
193         * docs/manual/basics-helloworld.xml:
194           Fix bug #315027: memory leak in example code in docs.
195
196 2005-11-24  Michael Smith <msmith@fluendo.com>
197
198         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
199           Unlock the PREROLL_LOCK in a failure case.
200
201 2005-11-24  Wim Taymans  <wim@fluendo.com>
202
203         * docs/gst/gstreamer-sections.txt:
204         * gst/base/gstadapter.h:
205         * gst/base/gstbasesink.h:
206         * gst/base/gstbasesrc.h:
207         * gst/base/gstbasetransform.h:
208         * gst/base/gstpushsrc.h:
209         * gst/elements/gstfakesink.h:
210         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
211         * gst/elements/gstfakesrc.h:
212         * gst/elements/gstfilesink.h:
213         * gst/elements/gstfilesrc.h:
214         * gst/gst.c:
215         * gst/gstbin.c:
216         * gst/gstbuffer.c: (_gst_buffer_copy):
217         * gst/gstbus.h:
218         * gst/gstcaps.c:
219         * gst/gstchildproxy.c:
220         * gst/gstclock.c:
221         * gst/gstelement.c:
222         * gst/gstelementfactory.c:
223         * gst/gstelementfactory.h:
224         * gst/gstevent.c:
225         * gst/gstghostpad.h:
226         * gst/gstindex.h:
227         * gst/gstinterface.h:
228         * gst/gstminiobject.c:
229         * gst/gstminiobject.h:
230         * gst/gstpad.c:
231         * gst/gstpad.h:
232         * gst/gstpadtemplate.h:
233         * gst/gstpipeline.h:
234         * gst/gstpluginfeature.h:
235         * gst/gstquery.h:
236         * gst/gstqueue.h:
237         * gst/gsttaglist.c:
238         * gst/gsttaglist.h:
239         * gst/gsttagsetter.c:
240         * gst/gsttagsetter.h:
241         * gst/gsttrace.c:
242         * gst/gsttrace.h:
243         * gst/gsttypefind.h:
244         * gst/gsturi.h:
245         * gst/gstvalue.c:
246         * gst/net/gstnetclientclock.c:
247         * gst/net/gstnetclientclock.h:
248         * gst/net/gstnettimepacket.c:
249         * gst/net/gstnettimeprovider.c:
250         * gst/net/gstnettimeprovider.h:
251         Doc fixes.
252
253 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
254
255         * configure.ac: back to HEAD
256
257 === release 0.9.6 ===
258
259 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
260
261         * configure.ac:
262           releasing 0.9.6, "Always On Time"
263
264 2005-11-23  Wim Taymans  <wim@fluendo.com>
265
266         * docs/gst/gstreamer-sections.txt:
267         * gst/glib-compat.c:
268         * gst/gsttagsetter.c:
269         * gst/gstvalue.c:
270         * gst/net/gstnetclientclock.c:
271         * gst/net/gstnettimepacket.h:
272         Doc updates.
273
274 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
275
276         * docs/faq/using.xml:
277         * docs/libs/tmpl/gstcontrol.sgml:
278         * docs/manual/advanced-dparams.xml:
279         * docs/manual/appendix-checklist.xml:
280         * docs/manual/basics-elements.xml:
281         * docs/pwg/other-source.xml:
282         * docs/random/moving-plugins:
283         * gst/gstpad.c:
284         * tools/gst-launch.1.in:
285           remove mentions of sinesrc
286
287 2005-11-23  Michael Smith <msmith@fluendo.com>
288
289         * docs/gst/gstreamer-sections.txt:
290           Update for new API and API changes.
291         * gst/gstobject.h:
292           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
293         * gst/gstvalue.c:
294           Documentation typo fix.
295         * gst/net/gstnettimepacket.c:
296           Documentation fixes for arguments.
297
298 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
299
300         * gst/gststructure.c: (gst_structure_get_fraction),
301         (gst_structure_parse_value),
302         (gst_structure_fixate_field_nearest_fraction):
303         * gst/gststructure.h:
304         * gst/gstutils.c: (gst_util_uint64_scale_int):
305         * gst/gstutils.h:
306         * scripts/update-funcnames:
307         API Changes. 
308         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
309         Make gst_structure_fixate_field_nearest_fraction take a numerator
310         and denominator argument instead of a GValue
311         add gst_structure_get_fraction helper function.
312
313 2005-11-23  Wim Taymans  <wim@fluendo.com>
314
315         * docs/design/part-TODO.txt:
316         Update TODO.
317
318         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
319         * gst/net/gstnetclientclock.h:
320         Use parent fields for timeout and window_size.
321
322 2005-11-23  Andy Wingo  <wingo@pobox.com>
323
324         * check/net/gstnetclientclock.c (test_functioning): Adjust to
325         rate_num/rate_denom change.
326
327         * gst/net/gstnetclientclock.c
328         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
329         OBJECT_LOCK. Don't call add_observation with the lock.
330
331         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
332         fraction.
333         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
334         rate fraction.
335         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
336         deal with rate as a fraction whose numerator and denominator are
337         GstClockTime values.
338         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
339         master; the other fields are protected by the SLAVE_LOCK.
340         (do_linear_regression): Note that this must be called with the
341         SLAVE_LOCK.
342         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
343         OBJECT_LOCK. Call set_calibration instead of touching the
344         variables directly.
345         (gst_clock_set_property, gst_clock_get_property): Protect
346         master/slave parameters with the SLAVE_LOCK.
347
348         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
349         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
350         note that all of the instance variables that add_observation and
351         the set_master functions use are protected by that lock and not
352         the OBJECT_LOCK.
353         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
354
355         * gst/gstclock.c (gst_clock_add_observation): No longer requires
356         the caller to take the object lock.
357
358 2005-11-23  Wim Taymans  <wim@fluendo.com>
359
360         * gst/gsterror.c: (_gst_core_errors_init):
361         * gst/gsterror.h:
362         Add error for clock stuff.
363
364         * gst/gstpipeline.c: (gst_pipeline_change_state),
365         (gst_pipeline_set_clock):
366         Post clock error when clock cannot be used in a pipeline.
367
368 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
369
370         * docs/gst/gstreamer-sections.txt:
371           make two symbols from gstinfo private for the docs
372         * gst/base/gstcollectpads.h:
373         * gst/gstutils.c:
374           fix doc typos, update docs
375
376 2005-11-22  Wim Taymans  <wim@fluendo.com>
377
378         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
379         (gst_base_sink_wait), (gst_base_sink_do_sync),
380         (gst_base_sink_handle_event):
381         * gst/base/gstbasesink.h:
382         No need to store the clock, the parent element class already
383         has it.
384
385         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
386         Updates for clock_set returning a gboolean
387
388         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
389         (gst_clock_id_wait_async), (gst_clock_class_init),
390         (gst_clock_init), (gst_clock_finalize),
391         (gst_clock_get_internal_time), (gst_clock_get_time),
392         (gst_clock_slave_callback), (gst_clock_set_master),
393         (gst_clock_get_master), (do_linear_regression),
394         (gst_clock_add_observation), (gst_clock_set_property),
395         (gst_clock_get_property):
396         * gst/gstclock.h:
397         Implement master/slave. When setting a clock as a slave, a
398         periodic timeout is scheduled to sample master and slave times.
399         Then the slave clock is recalibrated to match offset and rate
400         of the master clock.
401         Update logging a bit.
402         Add flag so that a clock can state that is cannot be slaved to
403         another clock.
404
405         * gst/gstelement.c: (gst_element_set_clock):
406         * gst/gstelement.h:
407         The set clock returns a gboolean for when an element cannot
408         deal with the selected clock in the pipeline. 
409
410         * gst/gstpipeline.c: (gst_pipeline_change_state),
411         (gst_pipeline_set_clock):
412         * gst/gstpipeline.h:
413         Handle the case where the selected clock cannot be set on
414         the pipeline.
415
416         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
417         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
418         (gst_net_client_clock_set_property),
419         (gst_net_client_clock_get_property),
420         (gst_net_client_clock_observe_times):
421         * gst/net/gstnetclientclock.h:
422         Use regression code in GstClock parent, remove duplicated
423         functionality.
424
425 2005-11-22  Michael Smith <msmith@fluendo.com>
426
427         * gst/gstutils.c: (gst_util_clock_time_scale):
428         * gst/gstutils.h:
429         * docs/gst/gstreamer-sections.txt:
430           Rename method to have extra underscore.
431
432 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
433
434         * gst/elements/Makefile.am:
435         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
436         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
437         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
438         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
439         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
440         * gst/elements/gstfakesrc.h:
441         * gst/gstqueue.c: (queue_leaky_get_type):
442           correctly fix GEnumValues so that nick is the short lowercase
443           dashed tag
444         * tools/gst-inspect.c: (print_element_properties_info):
445           also show the nick, since it's useful to use from parse_launch
446           syntax
447           Fixes #322139
448
449 2005-11-22  Michael Smith <msmith@fluendo.com>
450
451         * gst/gstutils.c: (gst_util_clocktime_scale):
452         * gst/gstutils.h:
453         * docs/gst/gstreamer-sections.txt:
454           Add util method for scaling a clocktime by a fraction. Useful 
455           implementation is left as an exercise for the reader.
456
457 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
458
459         * gst/gstvalue.c: (gst_value_collect_fraction_range):
460         If needed, allocate storage in the destination value during
461         collection.
462
463 2005-11-22  Edward Hervey  <edward@fluendo.com>
464
465         * docs/gst/gstreamer-sections.txt:
466         * gst/Makefile.am:
467         * gst/gst.h:
468         * gst/gsturitype.c:
469         * gst/gsturitype.h:
470         * gst/gstutils.c: (gst_util_set_object_arg):
471         * tools/gst-compprep.c: (main):
472         * tools/gst-inspect.c: (print_element_properties_info):
473         Removed GstURI, closes bug #321061
474
475 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
476
477         * check/gst/gststructure.c: (GST_START_TEST):
478         * gst/gststructure.c: (gst_structure_parse_value):
479           Oops, broke automatic string type parsing.
480           Add a test to catch it in future.
481
482 2005-11-22  Andy Wingo  <wingo@pobox.com>
483
484         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
485         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
486         Actually rename the function implementations. Grr.
487
488 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
489
490         * check/gst/capslist.h:
491           Comment test cases
492         * check/gst/gststructure.c: (GST_START_TEST),
493         (gst_structure_suite):
494           Test automatic value type detection in gst_structure_from_string.
495         * gst/gststructure.c: (gst_structure_parse_value):
496           Add fraction as a type we try and guess automatically in
497           caps/structure strings.
498
499 2005-11-22  Andy Wingo  <wingo@pobox.com>
500
501         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
502
503         * gst/gsttagsetter.h:
504         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
505         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
506         (gst_tag_setter_add_tag_valist)
507         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
508         _add_values, _add_valist, and _add_valist_values. Since this is an
509         interface the function suffixes should be more explicit so
510         language binding don't end up with element.add_valist ->
511         gst_tag_setter_add_valist, for example. Fixes #322069.
512
513 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
514
515         * check/gst/gstcaps.c: (GST_START_TEST):
516           Extend caps string tests to check that a caps to string
517           conversion is reversible and produces the same caps.
518
519         * gst/gststructure.c: (gst_structure_value_get_generic_type):
520           Output "fraction" as the generic type fraction range, so caps
521           serialisation and deserialisation works.
522         * check/gst/capslist.h:
523         * gst/gstvalue.c: (gst_value_deserialize_fraction):
524           Support 'MIN' and 'MAX' for deserialising fractions.
525
526 2005-11-22  Andy Wingo  <wingo@pobox.com>
527
528         * gst/gstevent.h (gst_event_new_new_segment)
529         (gst_event_parse_new_segment, gst_event_new_buffer_size)
530         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
531         Renamed from *_newsegment, *_buffersize, *_notarget.
532
533         * scripts/update-funcnames: New script, performs the changes
534         listed above.
535
536 2005-11-22  Wim Taymans  <wim@fluendo.com>
537
538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
539         Make sure the GstFlowReturn is returned.
540
541         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
542         (gst_bus_add_signal_watch):
543         * gst/gstbus.h:
544         add gst_bus_add_signal_watch_full.
545
546         * gst/gstplugin.c: (gst_plugin_load_file):
547         Small style cleanup.
548
549 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
550
551         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
552           Block the fakesrc srcpad when we send an event, to avoid
553           contention on the stream_lock causing random test failures.
554
555 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
556
557         * check/gst/gstvalue.c: (GST_START_TEST):
558         * gst/gstvalue.c: (gst_value_fraction_subtract):
559           Fix subtraction.
560
561 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
562
563         * gst/gst.h:
564           include "gstchildproxy.h"
565         * gst/gstchildproxy.h:
566         * libs/gst/controller/gstcontroller.h:
567           use G_GNUC_NULL_TERMINATED
568
569 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
570
571         * check/gst/capslist.h:
572         * check/gst/gstcaps.c: (GST_START_TEST):
573         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
574         * gst/gststructure.c: (gst_structure_parse_range),
575         (gst_structure_fixate_field_nearest_fraction):
576         * gst/gststructure.h:
577         * gst/gstvalue.c: (gst_value_init_fraction_range),
578         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
579         (gst_value_collect_fraction_range),
580         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
581         (gst_value_set_fraction_range_full),
582         (gst_value_get_fraction_range_min),
583         (gst_value_get_fraction_range_max),
584         (gst_value_serialize_fraction_range),
585         (gst_value_transform_fraction_range_string),
586         (gst_value_compare_fraction_range),
587         (gst_value_deserialize_fraction_range),
588         (gst_value_intersect_fraction_fraction_range),
589         (gst_value_intersect_fraction_range_fraction_range),
590         (gst_value_subtract_fraction_fraction_range),
591         (gst_value_subtract_fraction_range_fraction),
592         (gst_value_subtract_fraction_range_fraction_range),
593         (gst_value_collect_fraction), (gst_value_fraction_multiply),
594         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
595         (gst_value_transform_string_fraction), (_gst_value_initialize):
596         * gst/gstvalue.h:
597           Implement fraction ranges and extend GstFraction to support
598           arithmetic subtraction, as well as deserialization from integer
599           strings such as "100"
600           Add a testsuite as for int and double range set operations
601
602 2005-11-21  Andy Wingo  <wingo@pobox.com>
603
604         * gst/gsttaglist.h: 
605         * gst/gstcaps.h: 
606         * gst/gststructure.h: Add glib-compat.h.
607
608 2005-11-21  Wim Taymans  <wim@fluendo.com>
609
610         * gst/gstbin.c: (gst_bin_change_state_func):
611         Fix for #321595
612
613 2005-11-21  Wim Taymans  <wim@fluendo.com>
614
615         * gst/gstsegment.h:
616         And add a nice define too.
617
618 2005-11-21  Wim Taymans  <wim@fluendo.com>
619
620         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
621         (gst_segment_new), (gst_segment_free), (gst_segment_init),
622         (gst_segment_set_duration), (gst_segment_set_last_stop),
623         (gst_segment_set_seek), (gst_segment_set_newsegment),
624         (gst_segment_to_stream_time), (gst_segment_to_running_time),
625         (gst_segment_clip):
626         * gst/gstsegment.h:
627         Make binding friendly.
628
629 2005-11-21  Andy Wingo  <wingo@pobox.com>
630
631         * gst/gsttagsetter.h: 
632         * gst/gsttaglist.h: 
633         * gst/gststructure.h: 
634         * gst/gstcaps.h: 
635         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
636         #319940.
637
638         * gst/gsterror.c (_gst_core_errors_init):
639         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
640         category.
641
642         * gst/Makefile.am (gst_headers): Add glib-compat.h.
643         (noinst_HEADERS): noinst the -private.
644
645 2005-11-21  Michael Smith <msmith@fluendo.com>
646
647         * gst/gstplugin.h:
648         * gst/gstregistry.h:
649           Remove unimplemented declarations for which we can see no sensible
650           use.
651
652 2005-11-21  Andy Wingo  <wingo@pobox.com>
653
654         * gst/gst.h: Include glib-compat.h.
655
656         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
657
658         * gst/glib-compat.c: Include the public and the private header.
659
660         * gst/glib-compat-private.h: Copied here from glib-compat.h.
661
662         * gst/gstvalue.c: 
663         * gst/gstpad.c: 
664         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
665
666         * check/gst/gstevent.c (create_custom_events): Check that
667         FLUSH_STOP is serialized.
668
669         * check/elements/identity.c (event_func): 
670         * check/elements/fakesrc.c (event_func): No stream lock, the core
671         takes it.
672
673         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
674         stream lock taking, yay.
675
676         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
677         ensure that core takes the stream lock.
678
679         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
680         lock name change.
681
682         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
683         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
684         it already. For the flush start we do take it though so we get the
685         right preroll state change messages.
686
687         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
688         the stream lock here, the core does it for us.
689
690         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
691         GST_STREAM_GET_LOCK.
692         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
693         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
694         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
695         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
696         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
697         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
698
699         * gst/gstpad.c: Update for stream lock name change.
700
701         * gst/base/gstbasesink.c: Update for preroll lock name change.
702
703 2005-11-21  Wim Taymans  <wim@fluendo.com>
704
705         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
706         (gst_clock_get_master):
707         * gst/gstclock.h:
708         * gst/gstsystemclock.c: (gst_system_clock_init):
709         Convert Clock flags to object flags.
710         Added methods to manage master/slave clocks.
711
712 2005-11-21  Wim Taymans  <wim@fluendo.com>
713
714         * check/gst/gstsegment.c: (GST_START_TEST):
715         * docs/design/part-TODO.txt:
716         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
717         (gst_base_sink_event), (gst_base_sink_do_sync),
718         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
719         (gst_base_sink_query), (gst_base_sink_change_state):
720         * gst/base/gstbasesink.h:
721         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
722         (gst_base_src_default_newsegment),
723         (gst_base_src_configure_segment), (gst_base_src_do_seek),
724         (gst_base_src_get_range), (gst_base_src_loop),
725         (gst_base_src_change_state):
726         * gst/base/gstbasesrc.h:
727         * gst/base/gstbasetransform.c:
728         (gst_base_transform_prepare_output_buf),
729         (gst_base_transform_event), (gst_base_transform_change_state):
730         * gst/base/gstbasetransform.h:
731         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
732         (gst_collect_pads_event):
733         * gst/base/gstcollectpads.h:
734         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
735         (gst_fake_src_create):
736         * gst/elements/gstfakesrc.h:
737         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
738         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
739         (gst_segment_set_last_stop), (gst_segment_set_seek),
740         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
741         (gst_segment_to_running_time), (gst_segment_clip):
742         * gst/gstsegment.h:
743         More segment updates, replace code in plugins with segment
744         helper functions.
745
746 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
747
748         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
749         Don't ignore sscanf results
750
751 2005-11-21  Andy Wingo  <wingo@pobox.com>
752
753         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
754
755         * *.h:
756         * *.c: Ran scripts/update-macros. Oh yes.
757
758         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
759         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
760         GST_GET_LOCK, etc.
761
762         * scripts/update-macros: New script. Run it on your files to
763         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
764         well.
765
766 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
767
768         * docs/gst/Makefile.am:
769         * docs/gst/gstreamer-docs.sgml:
770         * docs/gst/gstreamer-sections.txt:
771         * docs/gst/gstreamer.types:
772         * gst/gstinfo.h:
773           more docs fixes, add new api to the docs
774
775 2005-11-21  Andy Wingo  <wingo@pobox.com>
776
777         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
778         state_broadcast call.
779
780         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
781
782 2005-11-21  Julien MOUTTE  <julien@moutte.net>
783
784         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
785         function calls for arrays.
786
787 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
788
789         * docs/random/ensonic/media-device-daemon.txt:
790           wild idea, can this be done?
791         * docs/gst/gstreamer-sections.txt:
792         * gst/gsterror.h:
793         * gst/gstfilter.c:
794         * gst/gstfilter.h:
795         * gst/gstplugin.h:
796         * gst/gstpluginfeature.c:
797         * gst/gsttrace.c:
798         * gst/gstvalue.c:
799         * gst/gstvalue.h:
800           doc fixes and additions
801
802 2005-11-21  Andy Wingo  <wingo@pobox.com>
803
804         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
805         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
806         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
807         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
808         private to the basesrc implementation.
809
810         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
811         behalf of event function if necessary. It should no longer be
812         necessary to take the stream lock in pad's event functions. Fixes
813         #320299.
814
815 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
816         * docs/gst/gstreamer-sections.txt:
817         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
818         (gst_structure_fixate_field_nearest_double),
819         (gst_structure_fixate_field_boolean):
820         * gst/gststructure.h:
821         * win32/common/libgstreamer.def:
822         * win32/gstreamer.def:
823
824         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
825         (#322027)
826
827 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
828
829         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
830         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
831         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
832         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
833         (gst_fdsrc_uri_handler_init):
834         * gst/elements/gstfdsrc.h:
835           Port fd:// URI handler from 0.8 to fdsrc
836
837 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
838
839         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
840         (gst_value_serialize_fourcc):
841         * gst/gstvalue.h:
842           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
843           consistent with our other format defines (#320324).
844
845 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
846
847         * gst/gstvalue.c: (gst_value_is_fixed):
848           Revert previous commit. Value lists are by definition
849           not fixed, as they are a list of possible values.
850
851 2005-11-21  Andy Wingo  <wingo@pobox.com>
852
853         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
854         during the stable series if we need it. Fixes #319178.
855
856         * gst/gstevent.c (gst_event_new_filler): Removed.
857
858         * check/gst/gstevent.c: Update comment about filler events.
859
860 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
861
862         * gst/gstvalue.c: (gst_value_is_fixed):
863           Should handle both value arrays and value lists.
864
865 2005-11-21  Andy Wingo  <wingo@pobox.com>
866
867         patch by: Alessandro Dessina <alessandro nnva org>
868
869         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
870         functions to access arrays. Fixes #321962.
871
872 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
873
874         * docs/gst/gstreamer.types:
875           gst_collectpads_get_type => gst_collect_pads_get_type.
876           
877         * gst/base/gstbasetransform.c:
878           Remove unused SIGNAL_HANDOFF enum.
879
880 2005-11-21  Andy Wingo  <wingo@pobox.com>
881
882         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
883         the event type (upstream, downstream, serialized). Renamed
884         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
885         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
886         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
887
888         * gst/gstevent.c: Update for new CUSTOM event names.
889
890         * check/gst/gstevent.c: Update check for new CUSTOM event names.
891
892         * gst/gstevent.h:
893         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
894         bug #319392.
895
896 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
897
898         * docs/gst/gstreamer-sections.txt:
899         * win32/common/libgstbase.def:
900         * win32/libgstbase.def:
901         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
902         (gst_collect_pads_class_init), (gst_collect_pads_init),
903         (gst_collect_pads_finalize), (gst_collect_pads_new),
904         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
905         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
906         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
907         (gst_collect_pads_start), (gst_collect_pads_stop),
908         (gst_collect_pads_peek), (gst_collect_pads_pop),
909         (gst_collect_pads_available), (gst_collect_pads_read),
910         (gst_collect_pads_flush), (gst_collect_pads_event),
911         (gst_collect_pads_chain):
912         * gst/base/gstcollectpads.h:
913           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
914           unimplemented functions as unimplemented. Add padding to
915           GstCollectData. (#320766, #320423)
916
917 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
918
919         * gst/gstmessage.c:
920           Improve docs for DURATION message (usage of duration parameter)
921           (#320113)
922
923 2005-11-20  Wim Taymans  <wim@fluendo.com>
924
925         * check/Makefile.am:
926         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
927         (main):
928         * gst/Makefile.am:
929         * gst/gst.h:
930         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
931         (gst_segment_set_seek), (gst_segment_set_newsegment),
932         (gst_segment_to_stream_time), (gst_segment_to_running_time),
933         (gst_segment_clip):
934         * gst/gstsegment.h:
935         Added segment helper structure and methods. Not fully implemented
936         yet.
937         Added segment check.
938
939 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
940
941         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
942           Add a deserialisation test for fractions
943         * examples/metadata/read-metadata.c: (message_loop),
944         (make_pipeline), (main):
945           Fix up metadata reading sample.
946         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
947           Debug format fix
948         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
949           Don't try and fixate empty caps
950         * gst/gst_private.h:
951           Wrap in G_BEGIN_DECLS/G_END_DECLS
952         * gst/gstvalue.c: (gst_value_collect_fraction),
953         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
954         (gst_value_transform_string_fraction),
955         (gst_value_compare_fraction):
956           Add some extra guards to ensure that we don't end up 
957           with an invalid denominator of 0 in a gstfraction and
958           that fractions always get reduced.
959
960 2005-11-20  Wim Taymans  <wim@fluendo.com>
961
962         * docs/gst/gstreamer-sections.txt:
963         * gst/gstbuffer.h:
964         * gst/gstelement.c:
965         * gst/gstformat.c:
966         * gst/gstformat.h:
967         * gst/gstindex.h:
968         * gst/gstquery.c:
969         * gst/gstquery.h:
970         * gst/gstvalue.c:
971         Doc fixes.
972
973 2005-11-20  Wim Taymans  <wim@fluendo.com>
974
975         * docs/design/part-TODO.txt:
976         * gst/gstcaps.h:
977         Make a proper enum of the flag.
978
979 2005-11-19  Wim Taymans  <wim@fluendo.com>
980
981         * docs/design/part-TODO.txt:
982         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
983         (gst_format_to_quark), (gst_format_register):
984         * gst/gstformat.h:
985         * gst/gstquery.c: (_gst_query_initialize),
986         (gst_query_type_get_name), (gst_query_type_to_quark),
987         (gst_query_type_register):
988         * gst/gstquery.h:
989         Add type to quark and type to string conversions.
990
991 2005-11-19  Andy Wingo  <wingo@pobox.com>
992
993         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
994         #320097.
995
996 2005-11-19  Wim Taymans  <wim@fluendo.com>
997
998         * docs/design/part-TODO.txt:
999         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1000         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1001         (gst_bin_handle_message_func):
1002         * gst/gstbin.h:
1003         Make message handling overridable.
1004
1005 2005-11-19  Andy Wingo  <wingo@pobox.com>
1006
1007         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1008
1009         * gst/gstclock.h:
1010         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1011         be a GstClockTime.
1012         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1013         is a GstClockTime. Fixes #321710.
1014
1015         * gst/gstclock.h (GstClock): Remove offset property. Add
1016         internal_calibration and external_calibration. Fix padding. Pad
1017         also by GstClockTime so we don't run into problems.
1018
1019         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1020         (gst_clock_get_rate_offset): Remove.
1021         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1022
1023         * gst/gstutils.h:
1024         * gst/gstutils.c (g_static_rec_cond_wait)
1025         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1026
1027         * gst/gstbin.c: Remove terrible continue_state prototype.
1028
1029         * gst/gstelement.h (gst_element_continue_state): Make public.
1030
1031         * gst/gstelement.h:
1032         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1033         by continue_state. Fixes #319389.
1034
1035         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1036         Really fixes #168438. However I don't see anywhere where the
1037         filter function is called... stupid GStreamer...
1038         
1039         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1040         don't have a dispose function, so it won't get called when the
1041         object is unreffed, but oh well!
1042
1043         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1044         allows a destroy function to be set so user_data can be freed.
1045         Fixes #168438.
1046         (gst_index_set_filter): Call gst_index_set_filter_full.
1047
1048         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1049
1050         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1051         string should produce an error, given the lack of a way to
1052         represent NULL strings. Fixes #165650.
1053         
1054         * gst/gstvalue.h: 
1055         * gst/gstvalue.c (gst_value_array_append_value) 
1056         (gst_value_array_prepend_value, gst_value_array_get_size) 
1057         (gst_value_array_get_value): New API, copied from
1058         gst_value_list_*, only operates on arrays.
1059         (gst_value_list_append_value, gst_value_list_prepend_value) 
1060         (gst_value_list_concat, gst_value_list_get_size) 
1061         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1062
1063         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1064         init_list, because it works on both.
1065         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1066         (gst_value_copy_list_or_array): Renamed from copy_list.
1067         (gst_value_free_list_or_array): Renamed from free_list.
1068         (gst_value_collect_list_or_array): Renamed from collect_list.
1069         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1070         (gst_value_list_or_array_peek_pointer): Renamed from
1071         list_peek_pointer.
1072         (_gst_value_array_value_table, _gst_value_list_value_table):
1073         Update value table functions.
1074         (gst_value_compare_list_or_array): Renamed from compare_list.
1075
1076         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1077         some constness.
1078
1079         * gst/gsttaglist.c:
1080         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1081         GstTagList*. Fixes #143472.
1082
1083         * gst/gststructure.h: Clarify what the foreach/map functions can
1084         or can't do to their arguments.
1085
1086 2005-11-18  Wim Taymans  <wim@fluendo.com>
1087
1088         * gst/gstclock.c: (gst_clock_set_calibration),
1089         (gst_clock_get_calibration):
1090         Doc and API fixes.
1091         Calibration can be set with internal time equal to current
1092         internal time too.
1093
1094 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1095
1096         * gst/gsterror.c:
1097         * gst/gsterror.h:
1098           document
1099
1100 2005-11-18  Andy Wingo  <wingo@pobox.com>
1101
1102         * configure.ac: 
1103         * pkgconfig/gstreamer-net.pc.in:
1104         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1105         * pkgconfig/Makefile.am: Add net pkgconfig files.
1106
1107 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1108
1109         * gst/gstcaps.c:
1110         * gst/gstghostpad.c:
1111         * gst/gsttrace.c:
1112         * gst/gstvalue.c:
1113         * gst/gstvalue.h:
1114           docs fixes
1115
1116 2005-11-18  Andy Wingo  <wingo@pobox.com>
1117
1118         * gst/net/gstnetclientclock.c: Turn off debugging.
1119
1120         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1121         times connverge somewhat. Can't make a real test.
1122
1123         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1124         integer arithmetic. Return the minimum of the domain, which can be
1125         set as "internal" for gst_clock_set_calibration.
1126         (gst_net_client_clock_observe_times): Call _set_calibration.
1127         (gst_net_client_clock_new): Call _set_calibration instead of
1128         rate_offset.
1129
1130         * check/net/gstnetclientclock.c (test_functioning): Use the right
1131         adjustment api.
1132
1133         * gst/gstclock.h:
1134         * gst/gstclock.c (gst_clock_get_calibration) 
1135         (gst_clock_set_calibration): New functions, obsolete the ones I
1136         added yesterday. Doh. Precision issues mean we have to extrapolate
1137         from a point in the more recent past than 1970.
1138         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1139         obsolete.
1140         (gst_clock_adjust_unlocked): Use the right calibration data.
1141
1142 2005-11-18  Edward Hervey  <edward@fluendo.com>
1143
1144         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1145         Also reset the ->current_* values in READY->PAUSED
1146
1147 2005-11-18  Andy Wingo  <wingo@pobox.com>
1148
1149         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1150         Whoops, check the right fd. Also add some debugging.
1151         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1152         (do_linear_regression): Add a crapload of debugging. Subtract off
1153         the minimum values from the input series to discard unneeded bits.
1154         Use only int arithmetic. There is still double arithmetic when
1155         calculating the intercept that needs fixing. Return boolean to
1156         indicate success; FALSE would mean the domain or range is too
1157         great. Still needs fixes.
1158
1159 2005-11-18  Wim Taymans  <wim@fluendo.com>
1160
1161         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1162         For the current position in stream time, we need to subtract
1163         accumulated time.
1164         
1165         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1166         Release lock before calling the callback function of async
1167         entries.
1168
1169 2005-11-18  Andy Wingo  <wingo@pobox.com>
1170
1171         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1172         Port goes all the way to MAXUINT16.
1173
1174         * gst/net/gstnettimeprovider.c: Make the port range the same as
1175         for the kernel: 0 assigns, otherwise ports are less than
1176         MAXUINT16.
1177
1178         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1179         port change.
1180
1181         * check/net/gstnetclientclock.c (test_functioning): Add the start
1182         of another test. 
1183
1184 2005-11-18  Wim Taymans  <wim@fluendo.com>
1185
1186         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1187         (gst_bin_remove_func), (bin_bus_handler):
1188         * gst/gstbin.h:
1189         Removing a clock provider from a bin, triggers a clock lost message
1190         so that a new clock will be selected.
1191         Adding a clock to a bin triggers a clock provider message.
1192         Make sure we reselect a clock when we received a clock lost message.
1193         Keep a reference to the element that provided the clock.
1194
1195 2005-11-18  Andy Wingo  <wingo@pobox.com>
1196
1197         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1198         the clock initially so it produces values around the base time.
1199         (gst_net_client_clock_class_init): Typo fix.
1200         (gst_net_client_clock_thread): Add note on when the socket gets
1201         closed.
1202
1203 2005-11-17  Wim Taymans  <wim@fluendo.com>
1204
1205         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1206         Free remote and local time arrays.
1207
1208 2005-11-17  Wim Taymans  <wim@fluendo.com>
1209
1210         * gst/net/gstnetclientclock.c: (do_linear_regression),
1211         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1212         Fix compilation, uninitialized vars and a forgotten continue.
1213
1214 2005-11-17  Andy Wingo  <wingo@pobox.com>
1215
1216         * check/Makefile.am (check_PROGRAMS): 
1217         * check/net/gstnetclientclock.c: Add a most minimal test for the
1218         net client clock. More to come later.
1219
1220         * gst/net/gstnet.h: 
1221         * gst/net/Makefile.am: Add netclientclock.
1222
1223         * gst/net/gstnetclientclock.h:
1224         * gst/net/gstnetclientclock.c: New files, implement an untested
1225         GstClock that takes its time from a network time provider.
1226         Implements the algorithm in network-clock.scm.
1227
1228         * tests/network-clock.scm (*window-size*): Rename from
1229         *queue-length*.
1230         * tests/network-clock.scm (network-time): 
1231         * tests/network-clock-utils.scm (q-push): Update callers.
1232
1233 2005-11-17  Wim Taymans  <wim@fluendo.com>
1234
1235         * gst/gstbin.c: (gst_bin_provide_clock_func),
1236         (gst_bin_sort_iterator_new):
1237         And unref the child too..
1238
1239 2005-11-17  Wim Taymans  <wim@fluendo.com>
1240
1241         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1242         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1243         Refactor the sort iterator so it can be used while holding the
1244         LOCK too.
1245         Make clock selection select a clock closest to the source.
1246
1247 2005-11-17  Michael Smith <msmith@fluendo.com>
1248
1249         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1250         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1251         * gst/gstclock.h:
1252           Anonymous structs are a gcc (and some other compilers) extension, so
1253           don't use them. Since this is only for ABI-compatibility, and our
1254           API/ABI freeze is over in a few days, this whole thing will only
1255           last a few days, so don't bother trying to think up a meaningful
1256           name for the struct.
1257
1258 2005-11-17  Andy Wingo  <wingo@pobox.com>
1259
1260         * gst/gstclock.h (GstClock): Add rate and offset properties,
1261         preserving ABI stability. Add rate/offset accessors. Will file bug
1262         for the freeze break.
1263
1264         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1265         and offset, trying to keep precision and avoiding
1266         underflow/overflow.
1267         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1268         functions. Make gst_clock_set_time_adjust obsolete.
1269         (gst_clock_set_time_adjust): Note that this function is obsolete.
1270         Will file bug soon.
1271
1272         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1273         greppable by using GST_PADDING-1+1.
1274
1275 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1276
1277         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1278
1279         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1280           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1281
1282         * gst/gstpadtemplate.h:
1283         * gst/gstpluginfeature.h:
1284           Don't use c++ style comments in headers (#321638).
1285
1286 2005-11-16  Andy Wingo  <wingo@pobox.com>
1287
1288         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1289         buffer.
1290
1291         * check/net/gstnettimeprovider.c: Check to see that the time
1292         provider actually provides times. Works, yo!
1293
1294 2005-11-16  Wim Taymans  <wim@fluendo.com>
1295
1296         * check/Makefile.am:
1297         Enable more tests.
1298
1299         * check/elements/fakesrc.c: (GST_START_TEST):
1300         Set element to NULL before disposing it.
1301
1302 2005-11-16  Andy Wingo  <wingo@pobox.com>
1303
1304         * gst/net/Makefile.am:
1305         * gst/net/gstnet.h:
1306         * gst/net/gstnettimeprovider.c: 
1307         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1308         provider, include it from gstnet.h, and add it to the build.
1309
1310         * gst/net/gstnettimepacket.h: 
1311         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1312         sending and receiving.
1313
1314 2005-11-16  Wim Taymans  <wim@fluendo.com>
1315
1316         * check/Makefile.am:
1317         Enable valgrind check.
1318
1319         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1320         (gst_fake_src_alloc_buffer):
1321         Fix memleak.
1322
1323 2005-11-16  Wim Taymans  <wim@fluendo.com>
1324
1325         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1326         Call parent finalize too.
1327
1328 2005-11-16  Wim Taymans  <wim@fluendo.com>
1329
1330         * check/Makefile.am:
1331         Enable valgrind check that should work fine now.
1332
1333         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1334         * gst/gstqueue.c: (gst_queue_init):
1335         Fix memleaks in pad allocation.
1336
1337 2005-11-16  Andy Wingo  <wingo@pobox.com>
1338
1339         * gst/net/Makefile.am:
1340         * gst/net/gstnet.h: New part of core to hold network elements and
1341         objects. Put in core because it exposes API that applications want
1342         to use. The library is named libgstnet-tempname right now because
1343         of the existing libgstnet in gst-plugins-base. Solution is
1344         probably to rename the one in plugins-base; will file a bug for
1345         the freeze break.
1346
1347         * gst/net/gstnettimeprovider.c: 
1348         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1349         get_time call over the network.
1350
1351         * configure.ac: 
1352         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1353
1354         * check/Makefile.am:
1355         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1356         get additions shortly.
1357
1358 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1359
1360         * gst/gstpad.c: (gst_pad_new_from_static_template):
1361         * gst/gstpad.h:
1362           add gst_pad_new_from_static_template functions
1363         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1364         (gst_check_setup_sink_pad):
1365         * gst/elements/gsttee.c: (gst_tee_init):
1366           and use them
1367
1368 2005-11-16  Wim Taymans  <wim@fluendo.com>
1369
1370         * gst/gstpad.c: (gst_pad_pause_task):
1371         Removed warning, it's not really an error either.
1372
1373 2005-11-16  Wim Taymans  <wim@fluendo.com>
1374
1375         * gst/base/gstbasetransform.c:
1376         (gst_base_transform_prepare_output_buf),
1377         (gst_base_transform_event):
1378         Check if the caps are NULL, this can happen if the element
1379         is shutting down and the pad caps are set to NULL.
1380
1381 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1382
1383         * gst/elements/gsttee.c: (gst_tee_init):
1384           fix pad template leak in tee
1385
1386 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1387
1388         * gst/glib-compat.c: (g_value_dup_gst_object):
1389         * gst/glib-compat.h:
1390         * gst/gstpad.c: (gst_pad_set_property):
1391           use gst_object_ref when setting the pad template; this will
1392           trigger the pad template leaks on GLib 2.6 and the slaves
1393
1394 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1395
1396         * gst/glib-compat.c: (gst_flags_get_first_value):
1397         * gst/glib-compat.h:
1398         * gst/gstregistryxml.c:
1399           remove functions copied from GLib 2.6
1400
1401 2005-11-16  Michael Smith <msmith@fluendo.com>
1402
1403         * gst/Makefile.am:
1404           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1405           do, but only breaks with newer valgrind versions. We're not a
1406           valgrind tool, we have no link-time dependencies on libcoregrind.
1407
1408 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1409
1410         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1411           some debug changes
1412         * gst/gstmessage.h:
1413           typo fixes
1414
1415 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * gst/base/gstbasesrc.c: (gst_base_src_init):
1418         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1419         * gst/gstqueue.c: (gst_queue_init):
1420         * gst/gstregistryxml.c: (load_feature):
1421           Revert all these unrefs, they don't even pass make check !
1422
1423 2005-11-15  Johan Dahlin  <johan@gnome.org>
1424
1425         * gst/base/gstbasesrc.c: (gst_base_src_init):
1426         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1427         * gst/gstqueue.c: (gst_queue_init): 
1428         Free pad templates, fixes a couple of leaks.
1429
1430 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1431
1432         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1433
1434         * gst/gstpad.c: (gst_pad_get_property):
1435           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1436           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1437           (#321452)
1438
1439 2005-11-15  Wim Taymans  <wim@fluendo.com>
1440
1441         * gst/gstevent.c:
1442         Small doc update.
1443
1444 2005-11-15  Andy Wingo  <wingo@pobox.com>
1445
1446         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1447
1448         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1449         using GST_CLOCK_TIME_NONE to disable base time management.
1450         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1451         time if it was NONE before.
1452         (gst_pipeline_change_state): Only munge the base time if
1453         stream_time != GST_CLOCK_TIME_NONE.
1454
1455         * check/gst/gstpipeline.c (test_base_time): Punt around the
1456         problem of the probe not being called, because that's not the
1457         issue I'm looking at. Add a check that setting stream_time to NONE
1458         disables base time management.
1459         
1460 2005-11-15  Wim Taymans  <wim@fluendo.com>
1461
1462         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1463         segment_stop == -1 at startup.
1464
1465         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1466         (gst_base_transform_change_state):
1467         Init segment values at start.
1468
1469 2005-11-15  Wim Taymans  <wim@fluendo.com>
1470
1471         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1472         0 segment values are 0 in any format.
1473
1474         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1475         * gst/base/gstbasetransform.h:
1476         Parse newsegment correctly in basetransform
1477
1478         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1479         Sync to clock using updated segment values.
1480
1481 2005-11-15  Andy Wingo  <wingo@pobox.com>
1482
1483         * check/gst/gstpipeline.c (test_base_time): Add check that the
1484         base time and stream time are reset correctly.
1485
1486 2005-11-15  Wim Taymans  <wim@fluendo.com>
1487
1488         * docs/design/part-TODO.txt:
1489         Some more TODO items.
1490
1491 2005-11-15  Andy Wingo  <wingo@pobox.com>
1492
1493         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1494         error if the user selected "no clock" as the clocking method.
1495
1496         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1497         timestamps with live capture.
1498
1499         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1500         is 0 but we are a live source, timestamp the buffers using the
1501         element's clock.
1502
1503 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1504
1505         * docs/gst/gstreamer-sections.txt:
1506         * gst/gsterror.c:
1507         * gst/gstghostpad.c:
1508         * gst/gstobject.h:
1509         * gst/gstxml.c:
1510           more section docs
1511
1512 2005-11-14  Wim Taymans  <wim@fluendo.com>
1513
1514         * common/gst.supp:
1515           add suppressions from Wim's Debian machine
1516
1517 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1518
1519         * common/gst.supp:
1520           add suppressions from Andy's AMD64 Ubuntu machine
1521
1522 2005-11-14  Andy Wingo  <wingo@pobox.com>
1523
1524         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1525         STATE_LOCK not necessary. Fixes #311489.
1526
1527         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1528         #305291.
1529
1530         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1531         this function is not implemented.
1532
1533 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1534
1535         * gst/base/gstbasetransform.c:
1536         (gst_base_transform_prepare_output_buf):
1537         Ref the source pad caps while we need them.
1538         Fixes (#321386)
1539
1540 2005-11-11  Wim Taymans  <wim@fluendo.com>
1541
1542         * docs/gst/gstreamer-sections.txt:
1543         Added some docs for GstCollectData.
1544
1545         * gst/base/gstadapter.c:
1546         Some small code example fix.
1547
1548         * gst/base/gstcollectpads.c:
1549         * gst/base/gstcollectpads.h:
1550         Document some more.
1551
1552 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1553
1554         * configure.ac: back to HEAD
1555
1556 === release 0.9.5 ===
1557
1558 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1559
1560         * configure.ac:
1561           releasing 0.9.5, "Bike Lunch Day"
1562
1563 2005-11-11  Wim Taymans  <wim@fluendo.com>
1564
1565         * gst/gstbuffer.c: (_gst_buffer_copy):
1566         Copy more flags.
1567
1568         * gst/gstcaps.c: (gst_caps_is_equal):
1569         Fix some docs.
1570         Make _is_equal fast in the trivial cases.
1571
1572         * gst/gstminiobject.c:
1573         * gst/gstminiobject.h:
1574         More docs. Spifify .h file.
1575
1576         * gst/gstutils.c:
1577         Small doc update.
1578
1579 2005-11-11  Wim Taymans  <wim@fluendo.com>
1580
1581         * gst/base/gstbasetransform.c:
1582         (gst_base_transform_prepare_output_buf),
1583         (gst_base_transform_handle_buffer):
1584         Small cleanups.
1585         If we're processing a buffer and need to allocate an output
1586         buffer, we cannot accept a format change. If we did get a 
1587         format change, we have to alloc a buffer ourselves of the 
1588         right size.
1589
1590 2005-11-11  Wim Taymans  <wim@fluendo.com>
1591
1592         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1593         While checking the flag for reentrancy in the gstcaps function
1594         is nice to detect recursive invocations, it also makes it 
1595         impossible to call getcaps from multiple threads, which must be
1596         possible. So, checking for recursive calls has to go.
1597
1598 2005-11-11  Michael Smith <msmith@fluendo.com>
1599
1600         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1601           Don't sync on buffers that fall partially outside our current
1602           segment. Prevents an assertion failure/abort playing some files.
1603
1604 2005-11-10  Andy Wingo  <wingo@pobox.com>
1605
1606         * check/gst/gstbin.c (test_message_state_changed_children): Style
1607         fix..
1608
1609         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1610         gst_bus_poll with the signal watch. Ensures that poll and a signal
1611         watch see the same messages.
1612
1613         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1614         a poll and a watch at the same time get the same messages.
1615
1616 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1617
1618         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1619         * gst/gstcaps.c: (gst_caps_intersect):
1620           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1621           and it's not needed.
1622
1623 2005-11-10  Wim Taymans  <wim@fluendo.com>
1624
1625         * docs/design/part-TODO.txt:
1626         Updated todo.
1627
1628 2005-11-10  Wim Taymans  <wim@fluendo.com>
1629
1630         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1631         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1632         (gst_base_src_do_sync), (gst_base_src_get_range):
1633         Implement clock sync in base class.
1634
1635 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1636
1637         patch by: Tim-Philipp Müller <tim at centricular dot net>
1638
1639         * gst/gststructure.c: (gst_structure_parse_field),
1640         (gst_structure_from_string):
1641           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1642           so that gst_parse_launch() can deal with spaces in filtered link
1643           caps (fixes #164479)
1644         * check/gst/capslist.h:
1645         * check/gst/gststructure.c: (GST_START_TEST):
1646           add unit tests for this change
1647
1648 2005-11-10  Wim Taymans  <wim@fluendo.com>
1649
1650         * docs/gst/gstreamer-sections.txt:
1651         * gst/gstelement.c:
1652         * gst/gstelement.h:
1653         Fix docs, move some STATE macros to private.
1654
1655 2005-11-10  Wim Taymans  <wim@fluendo.com>
1656
1657         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1658         Added check for bug #317341
1659
1660         * gst/gstbuffer.c:
1661         * gst/gstbuffer.h:
1662         Some more spiffifying.
1663
1664         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1665         Call peer linkfunction if we are a source pad. Totally fixes
1666         #317341
1667
1668         * gst/gstpad.c:
1669         Update docs, source pads should call the peer linkfunction
1670         so they can atomically perform the pad link.
1671
1672 2005-11-09  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gstbuffer.c:
1675         * gst/gstbuffer.h:
1676         Uber-spiffy-spiffify some more.
1677
1678 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1679
1680         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1681         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1682         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1683         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1684         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1685         * gst/gstpad.c: (gst_pad_init):
1686           Use GST_DEBUG_FUNCPTR() more extensively.
1687
1688 2005-11-09  Wim Taymans  <wim@fluendo.com>
1689
1690         * gst/gstobject.c: (gst_object_class_init):
1691         * gst/gstobject.h:
1692         Documentation fixes.
1693
1694 2005-11-09  Edward Hervey  <edward@fluendo.com>
1695
1696         * gst/gsttypefindfactory.c:
1697         Fix docs.
1698         
1699 2005-11-09  Edward Hervey  <edward@fluendo.com>
1700
1701         * gst/base/gsttypefindhelper.c:
1702         * gst/gsttypefind.c:
1703         * gst/gsttypefind.h:
1704         Fix docs.
1705
1706 2005-11-09  Wim Taymans  <wim@fluendo.com>
1707
1708         * gst/gstiterator.c:
1709         Fix revision data.
1710
1711         * gst/gsttask.c:
1712         * gst/gsttask.h:
1713         Fix docs.
1714
1715 2005-11-09  Wim Taymans  <wim@fluendo.com>
1716
1717         * gst/gstevent.h:
1718         * gst/gsturi.h:
1719         Fix docs.
1720
1721 2005-11-09  Wim Taymans  <wim@fluendo.com>
1722
1723         * docs/gst/gstreamer-sections.txt:
1724         Moved the message async delivery private lock and cond
1725         to the private section.
1726
1727         * gst/gstmessage.c:
1728         * gst/gstmessage.h:
1729         Fixed docs.
1730
1731 2005-11-09  Edward Hervey  <edward@fluendo.com>
1732
1733         * docs/gst/gstreamer-sections.txt:
1734         * gst/gsturi.c:
1735         * gst/gsturi.h:
1736         Document GstURIHandler
1737
1738 2005-11-09  Wim Taymans  <wim@fluendo.com>
1739
1740         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1741         (gst_iterator_find_custom):
1742         * gst/gstiterator.h:
1743         Fix iterator docs.
1744
1745 2005-11-09  Wim Taymans  <wim@fluendo.com>
1746
1747         * gst/gstbin.h:
1748         Document another field.
1749
1750         * gst/gststructure.c:
1751         * gst/gststructure.h:
1752         Document.
1753
1754 2005-11-09  Wim Taymans  <wim@fluendo.com>
1755
1756         * gst/gstbin.h:
1757         Documented structs.
1758
1759 2005-11-09  Wim Taymans  <wim@fluendo.com>
1760
1761         * docs/gst/gstreamer-sections.txt:
1762         Added some new macros.
1763
1764         * gst/gstclock.c:
1765         * gst/gstclock.h:
1766         * gst/gstobject.h:
1767         Docs updates.
1768
1769 2005-11-09  Wim Taymans  <wim@fluendo.com>
1770
1771         * docs/design/part-TODO.txt:
1772         Some more items for the TODO
1773
1774         * gst/gstcaps.c:
1775         * gst/gstcaps.h:
1776         Document GstCaps.
1777
1778 2005-11-09  Andy Wingo  <wingo@pobox.com>
1779
1780         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1781         to work on something else now tho...
1782
1783         * gst/base/gstadapter.c: More adapter docs.
1784
1785         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1786         (gst_file_sink_stop): New functions, replace the state change
1787         handler.
1788         (gst_file_sink_class_init): Hook up the start and stop functions.
1789         (gst_file_sink_base_init): Don't set the state change handler any
1790         more. It was a bit ugly too, being set from here...
1791         (gst_file_sink_get_property, gst_file_sink_set_property):
1792         Cleanups...
1793         (gst_file_sink_set_location): More robust check that doesn't call
1794         GST_STATE. Ugggggg.
1795
1796 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1797
1798         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1799           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1800
1801 2005-11-08  Wim Taymans  <wim@fluendo.com>
1802
1803         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1804         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1805         (gst_base_sink_chain), (gst_base_sink_change_state):
1806         * gst/base/gstbasesink.h:
1807         * gst/base/gstbasesrc.h:
1808         * gst/gstelement.h:
1809         * gst/gstevent.h:
1810         Avoid excessive typechecking in macros.
1811
1812         * gst/gstminiobject.c: (gst_mini_object_get_type),
1813         (gst_mini_object_init), (gst_mini_object_new),
1814         (gst_mini_object_free):
1815         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1816         (gst_object_finalize):
1817         Remove cruft code, optimize alloc_trace.
1818
1819 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1820
1821         * docs/faq/gst-uninstalled:
1822           fix up PS1 for systems that try to reset it
1823
1824 2005-11-07  Wim Taymans  <wim@fluendo.com>
1825
1826         * gst/base/gstbasesrc.c: (gst_base_src_init),
1827         (gst_base_src_get_range):
1828         Set the segment_end to -1 initially. Fixed typefind.
1829
1830 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1831
1832         * gst/base/gstadapter.c:
1833           Debug category should be 'adapter', not 'GstAdapter'.
1834           
1835         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1836         (gst_collectpads_class_init), (gst_collectpads_init),
1837         (gst_collectpads_peek), (gst_collectpads_pop),
1838         (gst_collectpads_event), (gst_collectpads_chain):
1839           Add debug category and some debugging output. Use boilerplate
1840           macros. Remove some extraneous words from docs.
1841
1842 2005-11-05  Andy Wingo  <wingo@pobox.com>
1843
1844         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1845         macro.
1846
1847 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1848
1849         * docs/gst/gstreamer-sections.txt:
1850         * gst/gstcaps.h:
1851         * gst/gstinfo.c:
1852         * gst/gstminiobject.h:
1853         * gst/gstobject.h:
1854         * gst/gstutils.h:
1855           more docs added
1856
1857 2005-11-04  Wim Taymans  <wim@fluendo.com>
1858
1859         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1860         Small update to stop at the configured segment_end
1861         position.
1862
1863 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1864
1865         * gst/gstregistry.c:
1866         * gst/gstregistry.h:
1867           added missing docs
1868
1869 2005-11-04  Edward Hervey  <edward@fluendo.com>
1870
1871         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1872         Check if we are doing a segment seek and have arrived at the
1873         end of that segment.
1874
1875 2005-11-04  Wim Taymans  <wim@fluendo.com>
1876
1877         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1878         Don't leak a mutex unlock in case of an error.
1879
1880         * gst/gstbus.h:
1881         Doc fixes.
1882
1883 2005-11-04  Wim Taymans  <wim@fluendo.com>
1884
1885         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1886         (gst_bus_post):
1887         Get the context to wake up only once.
1888
1889 2005-11-03  Wim Taymans  <wim@fluendo.com>
1890
1891         * check/states/sinks.c: (GST_START_TEST):
1892         Uncomment fixed check.
1893
1894         * docs/design/part-TODO.txt:
1895         Updated TODO.
1896
1897         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1898         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1899         (gst_base_sink_get_position):
1900         If we are going to PLAYING, post the right pending state
1901         when we post the intermediate paused message.
1902
1903         * gst/gstelement.c: (gst_element_continue_state),
1904         (gst_element_set_state_func), (gst_element_change_state):
1905         Don't post state changes that were between the same state
1906         and were not ASYNC.
1907
1908 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1909
1910         * docs/gst/gstreamer-sections.txt:
1911         * gst/gstcaps.h:
1912         * gst/gstinfo.c:
1913         * gst/gstminiobject.h:
1914         * gst/gstobject.h:
1915         * gst/gstutils.h:
1916           more docs and doc style fixes
1917
1918 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1919
1920         * docs/gst/gstreamer-sections.txt:
1921         * gst/gstelement.c:
1922         * gst/gstminiobject.c:
1923         doc fixes
1924
1925 2005-11-03  Andy Wingo  <wingo@pobox.com>
1926
1927         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1928         state-changed messages actually have the right order and the right
1929         values.
1930
1931 2005-11-03  Wim Taymans  <wim@fluendo.com>
1932
1933         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1934         Added some more checks. Specifically the case where NO_PREROLL
1935         elements are in the pipeline.
1936
1937         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1938         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1939         (gst_base_sink_get_position):
1940         Post READY->PAUSED state change messages too.
1941         Fix bug where VOID was posted as pending state...
1942
1943         * gst/gstbin.c: (gst_bin_recalc_state):
1944         use _element_continue_state() to continue the state change.
1945
1946         * gst/gstelement.c: (gst_element_continue_state),
1947         (gst_element_commit_state), (gst_element_set_state_func),
1948         (gst_element_change_state), (gst_element_change_state_func):
1949         Lots of state change cleanups, assign the STATE_RETURN in
1950         a new continue_state() function that also propagates the
1951         last return value from a state change to the app.
1952         Update some debug statements with proper category.
1953
1954 2005-11-03  Wim Taymans  <wim@fluendo.com>
1955
1956         * docs/design/part-events.txt:
1957         * docs/design/part-gstpipeline.txt:
1958         * docs/design/part-messages.txt:
1959         * docs/design/part-overview.txt:
1960         * docs/design/part-seeking.txt:
1961         * docs/design/part-states.txt:
1962         * docs/design/part-trickmodes.txt:
1963         * docs/manual/advanced-position.xml:
1964         Small docs updates.
1965
1966         * gst/gstobject.h:
1967         People think !! is ugly, this looks better.
1968
1969         * gst/gstpad.c: (gst_pad_set_blocked_async):
1970         Remove !! since it's fixed elsewhere now.
1971
1972 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1973
1974         * gst/gstminiobject.h:
1975         * gst/gstobject.h:
1976           Add !! to _FLAG_IS_SET macros to make the result boolean.
1977
1978 2005-11-03  Edward Hervey  <edward@fluendo.com>
1979
1980         * gst/gstpad.c: (gst_pad_set_blocked_async):
1981         comparing a flag and a gboolean rarely returns coherent results...
1982         Added two characters (!!) to make that work correctly.
1983         
1984 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1985
1986         * gst/gstbus.c: (gst_bus_class_init):
1987           Fix some typos.
1988           
1989         * gst/gstqueue.c: (gst_queue_loop):
1990           Don't assume a miniobject that isn't a buffer is an
1991           event (it could be that there is a refcounting
1992           problem somewhere and the pointer is stale and
1993           refers to an already destroyed miniobject).
1994
1995 2005-11-03  Julien MOUTTE  <julien@moutte.net>
1996
1997         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1998
1999 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2000
2001         * docs/manual/advanced-position.xml:
2002           Update seek example and explanations to current 0.9 API.
2003
2004         * gst/elements/gsttypefindelement.c:
2005         (gst_type_find_element_activate):
2006           Remove FIXME comment now that the found caps
2007           are unreffed.
2008
2009 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2010
2011         * gst/gstregistryxml.c: (load_feature):
2012           Add another GST_STR_NULL instance
2013
2014 2005-11-02  Edward Hervey  <edward@fluendo.com>
2015
2016         * gst/gstpad.c: (handle_pad_block):
2017         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2018         
2019 2005-11-02  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/gstbin.c:
2022         Fix typo in docs.
2023
2024         * gst/gstelement.c: (gst_element_commit_state):
2025         Remove unused value.
2026
2027         * gst/gstiterator.c:
2028         Mention that the returned element is reffed in the docs.
2029
2030 2005-11-02  Wim Taymans  <wim@fluendo.com>
2031
2032         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2033         (gst_pad_push), (gst_pad_push_event):
2034         Unlock blocked pads when they are flushed.
2035
2036 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2037
2038         * docs/README:
2039         * docs/gst/gstreamer-sections.txt:
2040         * gst/gstbin.c:
2041           doc updates
2042         * gst/gstregistry.c: (gst_registry_scan_path_level):
2043           fix for a nasty little missed situation where an installed plug-in
2044           which was in the cache did not get overridden by an uninstalled one
2045           which was earlier in the plugin path because the newly created plugin
2046           for the uninstalled one (not in the registry) didn't get its
2047           ->registered set to TRUE
2048
2049 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2050
2051         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2052         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2053         (gst_collectpads_is_active), (gst_collectpads_collect),
2054         (gst_collectpads_collect_range), (gst_collectpads_start),
2055         (gst_collectpads_stop), (gst_collectpads_peek),
2056         (gst_collectpads_pop), (gst_collectpads_available),
2057         (gst_collectpads_read), (gst_collectpads_flush):
2058           Guard public API with assertions.
2059         
2060         * gst/gstpad.c:
2061           Fix docs for gst_pad_set_link_function().
2062
2063 2005-11-02  Johan Dahlin  <johan@gnome.org>
2064
2065         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2066         Unref found_caps after we used it.
2067
2068 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2069
2070         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2071           Don't try to ref NULL.
2072
2073 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2074
2075         * win32/common/config.h.in:
2076           provide a GST_FUNCTION that just gives a string for now
2077
2078 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2079
2080         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2081         (gst_object_flags_get_type), (register_gst_bin_flags),
2082         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2083         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2084         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2085         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2086         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2087         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2088         (gst_clock_flags_get_type), (register_gst_state),
2089         (gst_state_get_type), (register_gst_state_change_return),
2090         (gst_state_change_return_get_type), (register_gst_state_change),
2091         (gst_state_change_get_type), (register_gst_element_flags),
2092         (gst_element_flags_get_type), (register_gst_core_error),
2093         (gst_core_error_get_type), (register_gst_library_error),
2094         (gst_library_error_get_type), (register_gst_resource_error),
2095         (gst_resource_error_get_type), (register_gst_stream_error),
2096         (gst_stream_error_get_type), (register_gst_event_type),
2097         (gst_event_type_get_type), (register_gst_seek_type),
2098         (gst_seek_type_get_type), (register_gst_seek_flags),
2099         (gst_seek_flags_get_type), (register_gst_format),
2100         (gst_format_get_type), (register_gst_index_certainty),
2101         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2102         (gst_index_entry_type_get_type),
2103         (register_gst_index_lookup_method),
2104         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2105         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2106         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2107         (gst_index_flags_get_type), (register_gst_debug_level),
2108         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2109         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2110         (gst_iterator_result_get_type), (register_gst_iterator_item),
2111         (gst_iterator_item_get_type), (register_gst_message_type),
2112         (gst_message_type_get_type), (register_gst_mini_object_flags),
2113         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2114         (gst_pad_link_return_get_type), (register_gst_flow_return),
2115         (gst_flow_return_get_type), (register_gst_activate_mode),
2116         (gst_activate_mode_get_type), (register_gst_pad_direction),
2117         (gst_pad_direction_get_type), (register_gst_pad_flags),
2118         (gst_pad_flags_get_type), (register_gst_pad_presence),
2119         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2120         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2121         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2122         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2123         (gst_plugin_flags_get_type), (register_gst_rank),
2124         (gst_rank_get_type), (register_gst_query_type),
2125         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2126         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2127         (gst_tag_flag_get_type), (register_gst_task_state),
2128         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2129         (gst_alloc_trace_flags_get_type),
2130         (register_gst_type_find_probability),
2131         (gst_type_find_probability_get_type), (register_gst_uri_type),
2132         (gst_uri_type_get_type), (register_gst_parse_error),
2133         (gst_parse_error_get_type):
2134         * win32/common/gstversion.h:
2135           update win32 copies
2136
2137 2005-11-01  Luca Ognibene  <luogni@tin.it>
2138
2139         * gst/gst.c:
2140           fix docs. popt is dead, long live GOption.
2141
2142 2005-10-31  Wim Taymans  <wim@fluendo.com>
2143
2144         * gst/gstbuffer.h:
2145         Small doc fix.
2146
2147 2005-10-31  Andy Wingo  <wingo@pobox.com>
2148
2149         * Boo!
2150
2151         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2152
2153         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2154         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2155         the possibility of deadlocks here if code calling notify() or
2156         set() has a lock that can be taken in another notify handler (ABBA
2157         with class lock and e.g. python GIL state lock).
2158
2159 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2160
2161         * gst/gstbus.c: Doc updates.
2162
2163 2005-10-28  Wim Taymans  <wim@fluendo.com>
2164
2165         * docs/design/part-TODO.txt:
2166         * gst/gstiterator.c:
2167         * gst/gstsystemclock.c:
2168         * gst/gstsystemclock.h:
2169         Doc updates.
2170
2171 2005-10-28  Edward Hervey  <edward@fluendo.com>
2172
2173         * docs/gst/gstreamer-docs.sgml:
2174         * docs/gst/gstreamer-sections.txt:
2175         the GstURIType documentation page is private, it only defines GstURIType
2176         which should be defined in the GstURIHandler page
2177         
2178 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2179
2180         * gst/gstbin.c: (gst_bin_class_init):
2181         * gst/gstbin.h:
2182         * gst/gstutils.c:
2183         Documentation updates.
2184
2185 2005-10-28  Wim Taymans  <wim@fluendo.com>
2186
2187         * docs/gst/gstreamer-sections.txt:
2188         * gst/gstclock.c:
2189         * gst/gstclock.h:
2190         Documented the clocks.
2191
2192 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2193
2194         * docs/gst/gstreamer-sections.txt:
2195           move some macros to private sections
2196         * gst/gstminiobject.c:
2197         * gst/gstminiobject.h:
2198           add descriptions provided by ds and some more
2199         * gst/gstpad.h:
2200           mark macro as to be removed
2201
2202 2005-10-28  Wim Taymans  <wim@fluendo.com>
2203
2204         * docs/design/part-TODO.txt:
2205         Add an item to TODO.
2206
2207         * gst/gstiterator.c: (gst_iterator_fold),
2208         (gst_iterator_find_custom):
2209         * gst/gstiterator.h:
2210         Add iterator docs.
2211
2212 2005-10-28  Wim Taymans  <wim@fluendo.com>
2213
2214         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2215         (gst_base_transform_init):
2216         Don't leak class.
2217
2218         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2219         An EOS event marks the queue as completely filled.
2220
2221 2005-10-27  Wim Taymans  <wim@fluendo.com>
2222
2223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2224         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2225         Some more debugging.
2226
2227         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2228         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2229         (gst_base_transform_event), (gst_base_transform_getrange),
2230         (gst_base_transform_chain):
2231         * gst/base/gstbasetransform.h:
2232         Fix debugging,
2233         Protect transform and concurrent buffer alloc with a new lock.
2234         Try not to break ABI/API.
2235
2236 2005-10-27  Wim Taymans  <wim@fluendo.com>
2237
2238         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2239         (gst_base_src_init), (gst_base_src_query),
2240         (gst_base_src_default_newsegment),
2241         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2242         (gst_base_src_send_event), (gst_base_src_event_handler),
2243         (gst_base_src_pad_get_range), (gst_base_src_loop),
2244         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2245         (gst_base_src_start), (gst_base_src_deactivate),
2246         (gst_base_src_activate_push), (gst_base_src_change_state):
2247         Move some stuff around and cleanup things.
2248
2249 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2250
2251         * gst/base/gstbasesrc.c: (gst_base_src_query):
2252           Add missing break statements.
2253
2254 2005-10-27  Wim Taymans  <wim@fluendo.com>
2255
2256         * check/gst/gstbin.c: (GST_START_TEST):
2257         An extra refcount is taken in basesrc.
2258
2259         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2260         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2261         (gst_base_src_loop):
2262         Small cleanups, check for flushing after being unlocked from the 
2263         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2264         Don't send out EOS when going to READY.
2265
2266 2005-10-27  Wim Taymans  <wim@fluendo.com>
2267
2268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2269         (gst_base_sink_get_position):
2270         Some more debug.
2271
2272         * gst/gstbin.c: (message_check), (bin_replace_message),
2273         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2274         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2275         (bin_query_duration_init), (bin_query_duration_fold),
2276         (bin_query_duration_done), (bin_query_generic_fold),
2277         (gst_bin_query):
2278         * tools/gst-launch.c: (main):
2279         Remove old option.
2280
2281 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2282
2283         * examples/controller/audio-example.c: (main):
2284         * examples/queue/queue.c: (event_loop):
2285         * gst/base/gstbasetransform.h:
2286         * gst/gstelement.c: (gst_element_send_event):
2287         * gst/gstevent.h:
2288         * gst/gstpad.c: (gst_pad_send_event):
2289           fixing examples
2290           fixing docs typos
2291           changing log priority in error situations
2292
2293 2005-10-25  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/gstbin.c: (message_check), (bin_replace_message),
2296         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2297         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2298         (bin_query_duration_init), (bin_query_duration_fold),
2299         (bin_query_duration_done), (bin_query_generic_fold),
2300         (gst_bin_query):
2301         Some doc and debug updates.
2302         Cache previously requested query DURATION for speed. invalidate
2303         cached duration if element posts a DURATION message.
2304
2305 2005-10-25  Wim Taymans  <wim@fluendo.com>
2306
2307         * docs/design/part-TODO.txt:
2308         Update TODO.
2309
2310         * gst/gstbin.c: (message_check), (bin_replace_message),
2311         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2312         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2313         (bin_query_duration_init), (bin_query_duration_fold),
2314         (bin_query_duration_done), (bin_query_generic_fold),
2315         (gst_bin_query):
2316         Handle SEGMENT_START/DONE messages correctly.
2317         More evolved query algorithm that handles duration queries
2318         correctly.
2319
2320         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2321         (gst_element_get_state_func), (gst_element_abort_state),
2322         (gst_element_commit_state), (gst_element_lost_state):
2323         Some more debugging.
2324
2325         * gst/gstmessage.h:
2326         Added doc.
2327
2328 2005-10-25  Wim Taymans  <wim@fluendo.com>
2329
2330         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2331         Don't use invalid stream_time.
2332
2333         * gst/gstevent.c: (gst_event_new_newsegment):
2334         stream_time in newsegment cannot be undefined.
2335
2336 2005-10-24  Wim Taymans  <wim@fluendo.com>
2337
2338         * gst/gstbus.c:
2339         Doc fix.
2340
2341         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2342         (gst_queue_loop):
2343         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2344
2345 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2346
2347         * docs/libs/tmpl/gstdparam.sgml:
2348         * docs/libs/tmpl/gstdplinint.sgml:
2349         * docs/libs/tmpl/gstdpman.sgml:
2350         * docs/libs/tmpl/gstdpsmooth.sgml:
2351         * docs/libs/tmpl/gstunitconvert.sgml:
2352           these are obsolete
2353
2354 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2355
2356         * configure.ac:
2357           back to HEAD
2358
2359 === release 0.9.4 ===
2360
2361 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2362
2363         * configure.ac:
2364           releasing 0.9.4, "Tyrannosaurus Rex"
2365
2366 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2367
2368         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2369         (gst_file_sink_get_current_offset):
2370           Use fseeko() and ftello() if available. When falling back on
2371           lseek() to get the current offset, fflush() first to make sure
2372           everything is up-to-date and we get the right offset.
2373
2374 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2375
2376         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2377         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2378         * gst/gsterror.c: (_gst_stream_errors_init):
2379         * gst/gsterror.h:
2380         * gst/gstqueue.c: (gst_queue_loop):
2381         * po/POTFILES.in:
2382           remove prematurely added error category and clean up the instances
2383
2384 2005-10-21  Wim Taymans  <wim@fluendo.com>
2385
2386         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2387         (gst_base_sink_get_position), (gst_base_sink_query),
2388         (gst_base_sink_change_state):
2389         Simply set the right flag when going to playing, that's all
2390         we need to do instead of calling a function inside the object
2391         lock (that could take the lock as well and deadlock)
2392
2393 2005-10-21  Wim Taymans  <wim@fluendo.com>
2394
2395         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2396         (gst_base_src_loop):
2397         Don't warn, the peer element knows what to do best when
2398         the seek failed, it might try something else.
2399
2400 2005-10-21  Wim Taymans  <wim@fluendo.com>
2401
2402         * gst/base/gstbasesrc.c: (gst_base_src_init),
2403         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2404         Fix seeking.
2405
2406 2005-10-21  Wim Taymans  <wim@fluendo.com>
2407
2408         * docs/design/part-segments.txt:
2409         More docs.
2410
2411         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2412         Correctly set caps, even on the subbufer.
2413
2414 2005-10-21  Wim Taymans  <wim@fluendo.com>
2415
2416         * docs/gst/gstreamer-docs.sgml:
2417         * docs/gst/gstreamer-sections.txt:
2418         * gst/gstelement.h:
2419         * gst/gstevent.c:
2420         * gst/gstevent.h:
2421         * gst/gstmessage.h:
2422         * gst/gstpad.h:
2423         * gst/gstparse.h:
2424         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2425         * gst/gsttask.h:
2426         * gst/gstutils.c:
2427         * gst/gstutils.h:
2428         And 2% more doc coverage.
2429
2430 2005-10-21  Andy Wingo  <wingo@pobox.com>
2431
2432         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2433         position reporting.
2434
2435 2005-10-20  Wim Taymans  <wim@fluendo.com>
2436
2437         * gst/gsterror.c: (gst_error_get_message):
2438         * gst/gstparse.h:
2439         * gst/gstquery.h:
2440         * gst/gststructure.c:
2441         * gst/gsttrace.c:
2442         * gst/gstutils.c:
2443         More docs.
2444
2445 2005-10-20  Wim Taymans  <wim@fluendo.com>
2446
2447         * gst/gstbuffer.h:
2448         * gst/gstpad.c:
2449         * gst/gstparse.c:
2450         Another 1% more coverage.
2451
2452 2005-10-20  Wim Taymans  <wim@fluendo.com>
2453
2454         * docs/gst/gstreamer-sections.txt:
2455         * gst/gstelement.c: (gst_element_get_state_func),
2456         (gst_element_abort_state), (gst_element_commit_state),
2457         (gst_element_lost_state):
2458         * gst/gstevent.h:
2459         * gst/gstquery.c: (gst_query_set_position),
2460         (gst_query_parse_position), (gst_query_set_duration),
2461         (gst_query_parse_duration), (gst_query_new_convert):
2462         * gst/gstutils.c:
2463         Yay! 1% more docs coverage.
2464
2465 2005-10-20  Wim Taymans  <wim@fluendo.com>
2466
2467         * gst/gstpad.h:
2468         * gst/gstquery.c: (gst_query_set_position),
2469         (gst_query_parse_position), (gst_query_set_duration),
2470         (gst_query_parse_duration), (gst_query_new_convert):
2471         * gst/gstquery.h:
2472         * gst/gstutils.c: (gst_element_query_convert):
2473         * gst/gstutils.h:
2474         Docs and consistency fixes.
2475
2476 2005-10-20  Wim Taymans  <wim@fluendo.com>
2477
2478         * gst/gsttask.c:
2479         * gst/gsttask.h:
2480         More docs.
2481
2482 2005-10-20  Wim Taymans  <wim@fluendo.com>
2483
2484         * gst/gstbin.c: (message_check), (bin_replace_message),
2485         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2486         (update_degree), (gst_bin_sort_iterator_next),
2487         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2488         Reworked the message handling a bit, cache the messages instead of
2489         only the senders. alows us to do more in the future.
2490
2491 2005-10-20  Wim Taymans  <wim@fluendo.com>
2492
2493         * docs/design/part-TODO.txt:
2494         Update TODO
2495
2496         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2497         (gst_base_sink_query):
2498         Don't use clock time to report position when in EOS.
2499
2500 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2501
2502         * tools/gst-inspect.c: (print_interfaces),
2503         (print_element_properties_info), (print_element_info):
2504           Fix interface output with gst-inspect -a; don't print
2505           newlines after double/float properties.
2506
2507 2005-10-20  Wim Taymans  <wim@fluendo.com>
2508
2509         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2510         (gst_base_sink_query):
2511         Speed up current position calculation.
2512
2513         * gst/base/gstbasesrc.c: (gst_base_src_query),
2514         (gst_base_src_default_newsegment):
2515         Correctly set stream position in newsegment.
2516
2517         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2518         (update_degree), (gst_bin_sort_iterator_next),
2519         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2520         * gst/gstmessage.c: (gst_message_new_custom):
2521         Clean up debugging info
2522
2523         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2524         (gst_queue_loop), (gst_queue_handle_src_query):
2525         Pause task faster.
2526
2527 2005-10-19  Wim Taymans  <wim@fluendo.com>
2528
2529         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2530         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2531         Fix query handling again.
2532
2533 2005-10-19  Wim Taymans  <wim@fluendo.com>
2534
2535         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2536         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2537         * gst/base/gstbasesrc.c: (gst_base_src_query):
2538         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2539         * gst/elements/gsttypefindelement.c:
2540         (gst_type_find_handle_src_query), (find_element_get_length),
2541         (gst_type_find_element_activate):
2542         API change fix.
2543
2544         * gst/gstquery.c: (gst_query_new_position),
2545         (gst_query_set_position), (gst_query_parse_position),
2546         (gst_query_new_duration), (gst_query_set_duration),
2547         (gst_query_parse_duration), (gst_query_set_segment),
2548         (gst_query_parse_segment):
2549         * gst/gstquery.h:
2550         Bundling query position/duration is not a good idea since duration
2551         does not change much and we don't want to recalculate it for every
2552         position query, so they are separated again..
2553         Base value in segment query is not needed.
2554
2555         * gst/gstqueue.c: (gst_queue_handle_src_query):
2556         * gst/gstutils.c: (gst_element_query_position),
2557         (gst_element_query_duration), (gst_pad_query_position),
2558         (gst_pad_query_duration):
2559         * gst/gstutils.h:
2560         Updates for query API change.
2561         Added some docs here and there.
2562
2563 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2564
2565         * check/gst/gstbin.c: (GST_START_TEST):
2566         * check/gst/gstghostpad.c: (GST_START_TEST):
2567         * check/pipelines/cleanup.c: (GST_START_TEST):
2568           wait on thread to die so we can check refcount correctly
2569
2570 2005-10-18  Wim Taymans  <wim@fluendo.com>
2571
2572         * check/pipelines/stress.c: (GST_START_TEST):
2573         Make check a little more time consuming.
2574
2575 2005-10-18  Wim Taymans  <wim@fluendo.com>
2576
2577         * check/Makefile.am:
2578         * check/pipelines/stress.c: (GST_START_TEST),
2579         (simple_launch_lines_suite), (main):
2580         Small state change torture test.
2581
2582         * docs/design/part-states.txt:
2583         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2584         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2585         (gst_base_sink_change_state):
2586         Never take state lock from streaming thread, clean up ugly
2587         hacks. Unfortunatly core does not yet support nice ways to
2588         async commit state.
2589         
2590         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2591         (bin_bus_handler):
2592         Start state recalc if a STATE_DIRTY message is posted, but only
2593         on the toplevel bin.
2594
2595         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2596         (gst_element_get_state_func), (gst_element_abort_state),
2597         (gst_element_commit_state), (gst_element_lost_state),
2598         (gst_element_set_state_func), (gst_element_change_state):
2599         * gst/gstelement.h:
2600         State variables are now protected with the LOCK, the state
2601         lock is only used to serialize _set_state().
2602
2603 2005-10-18  Wim Taymans  <wim@fluendo.com>
2604
2605         * check/gst/gstbin.c: (GST_START_TEST):
2606         * check/gst/gstmessage.c: (GST_START_TEST):
2607         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2608         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2609         (bin_bus_handler):
2610         * gst/gstelement.c: (gst_element_abort_state),
2611         (gst_element_commit_state), (gst_element_lost_state):
2612         * gst/gstmessage.c: (gst_message_new_state_changed),
2613         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2614         (gst_message_new_segment_done), (gst_message_new_duration),
2615         (gst_message_parse_state_changed),
2616         (gst_message_parse_segment_start),
2617         (gst_message_parse_segment_done), (gst_message_parse_duration):
2618         * gst/gstmessage.h:
2619         * tools/gst-launch.c: (event_loop):
2620         Seriously, this is better than a previous commit as we only need
2621         to notify the fact that an element changed state in a streaming
2622         thread, marking the state of the parents dirty, hence the 
2623         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2624         message.
2625
2626 2005-10-18  Wim Taymans  <wim@fluendo.com>
2627
2628         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2629         (gst_bin_recalc_func):
2630         * gst/gstelement.c: (gst_element_set_clock),
2631         (gst_element_abort_state), (gst_element_lost_state):
2632         Cleanups, prepare for state change fixes.
2633
2634 2005-10-18  Wim Taymans  <wim@fluendo.com>
2635
2636         * gst/gstbin.h:
2637         * gst/gstelement.c: (gst_element_class_init),
2638         (gst_element_set_state), (gst_element_set_state_func):
2639         * gst/gstelement.h:
2640         Pending ABI changes.
2641         GThreadPool in GstBinClass to monitor async state changes.
2642         state_cookie in GstElement to detect concurrent gst/set state.
2643         set_state is now virtual too in case a very complicated element
2644         has to be constructed.
2645
2646 2005-10-18  Wim Taymans  <wim@fluendo.com>
2647
2648         * check/gst/gstbin.c: (GST_START_TEST):
2649         * check/gst/gstmessage.c: (GST_START_TEST):
2650         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2651         * gst/gstbin.c: (bin_bus_handler):
2652         * gst/gstelement.c: (gst_element_commit_state),
2653         (gst_element_lost_state):
2654         * gst/gstmessage.c: (gst_message_new_state_changed),
2655         (gst_message_new_segment_start), (gst_message_new_segment_done),
2656         (gst_message_new_duration), (gst_message_parse_state_changed),
2657         (gst_message_parse_segment_start),
2658         (gst_message_parse_segment_done), (gst_message_parse_duration):
2659         * gst/gstmessage.h:
2660         * tools/gst-launch.c: (event_loop):
2661         Make messages future proof.
2662         state-change gets a flag if it was a message comming from the
2663         streaming thread.
2664         segment-start/stop can also be specified in other formats.
2665         A message to notify an app that a pipeline changed playback 
2666         duration.
2667         Also fix a GstMessage leak in -launch
2668
2669 2005-10-18  Andy Wingo  <wingo@pobox.com>
2670
2671         * gst/gstelement.c (gst_element_dispose): More helpful message.
2672
2673 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2674
2675         reviewed by: <delete if not using a buddy>
2676
2677         * common/gtk-doc.mak:
2678
2679 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2680
2681         * gst/gstregistry.c: (gst_registry_scan_path_level):
2682           unref a plug-in we get that was already initialized
2683
2684 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2685
2686         * docs/gst/gstreamer-sections.txt:
2687         * docs/libs/gstreamer-libs-sections.txt:
2688         * gst/gstelement.h:
2689           add new api entries
2690           hide internal macro
2691
2692 2005-10-17  Andy Wingo  <wingo@pobox.com>
2693
2694         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2695         cleanup.
2696
2697         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2698
2699         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2700
2701         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2702         (gst_element_get_state_func): Better debug message.
2703         (gst_element_commit_state): s/INFO/DEBUG/.
2704         (gst_element_lost_state, gst_element_change_state): 
2705
2706         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2707         (gst_message_new_custom): s/INFO/LOG/.
2708
2709 2005-10-17  Michael Smith <msmith@fluendo.com>
2710
2711         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2712           Check if end time is valid using end time, not start time.
2713
2714 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2715
2716         * check/gst-libs/controller.c: (GST_START_TEST),
2717         (gst_controller_suite):
2718         * libs/gst/controller/gstcontroller.c:
2719         (gst_controlled_property_set_interpolation_mode):
2720         * libs/gst/controller/gstcontroller.h:
2721         * libs/gst/controller/gstinterpolation.c:
2722         * testsuite/controller/.cvsignore:
2723         * testsuite/controller/Makefile.am:
2724         * testsuite/controller/interpolator.c:
2725           merge controller testsuites
2726           fix broken tests
2727           remove mem-chunk from docs
2728
2729 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2730
2731         * gst/gstmemchunk.c:
2732         * gst/gstmemchunk.h:
2733         * gst/gsttrashstack.c:
2734         * gst/gsttrashstack.h:
2735           out.  get out.  you're fired.  to the Attic !
2736
2737 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2738
2739         * gst/gstcaps.c: (gst_caps_intersect):
2740           fix signedness issues in a (hopefully) correct way
2741         * gst/gstelement.c: (gst_element_pads_activate):
2742           some debugging
2743         * gst/gstobject.c: (gst_object_set_parent):
2744           some debugging
2745
2746 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2747
2748         * gst/gstvalue.h: Fix prototypes.
2749
2750 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2751
2752         * docs/gst/gstreamer-sections.txt:
2753         * gst/gst.c: (gst_version_string):
2754         * gst/gst.h:
2755         * gst/gstversion.h.in:
2756         * win32/common/libgstreamer.def:
2757           add gst_version_string ()
2758
2759 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2760
2761         * configure.ac:
2762           clean up further
2763         * gst/gst.c: (init_post):
2764         * win32/common/config.h.in:
2765           it's PLUGINDIR now
2766         * gst/gstcaps.c: (gst_caps_intersect):
2767           use gint64, the range could be bigger than a guint
2768
2769 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2770
2771         * gst/gstclock.h:
2772           document potential problem in 2038
2773
2774 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2775
2776         * gst/gstcaps.c: (gst_caps_intersect):
2777           Fix guint j diving under 0
2778
2779 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2780
2781         * configure.ac:
2782         * win32/common/config.h:
2783         * win32/common/config.h.in:
2784           check for process.h, declares getpid() on Windows
2785         * gst/gstinfo.c:
2786           include process.h if we have it
2787         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2788         * gst/gstmemchunk.h:
2789           fix signedness issues
2790         * win32/common/libgstreamer.def:
2791           fix get_type's
2792
2793 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2794
2795         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2796         fix. Because of unsigned ints, caps intersection was going nuts and
2797         trying to access structures with G_MAXUINT index. That fixes
2798         videotestsrc ! ffmpegcolorspace ! fakesink
2799         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2800         consistency.
2801
2802 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2803
2804         * configure.ac:
2805           use the gettext macro
2806         * gst/elements/gstelements.c:
2807         * gst/gst.c:
2808         * gst/indexers/gstindexers.c:
2809           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2810         * win32/common/config.h:
2811           updated config.h
2812         * win32/common/config.h.in:
2813           add the template to generate config.h
2814         * win32/common/gstenumtypes.c:
2815         * win32/common/gstversion.h:
2816           updated copies
2817
2818 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2819
2820         * gst/gst.c: (gst_version):
2821         * gst/gstversion.h.in:
2822           add the nano
2823
2824 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2825
2826         * gst/gstevent.h:
2827           Oops, add missing closing bracket.
2828
2829 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2830
2831         * configure.ac:
2832           use common m4's for argument checking
2833
2834 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2835
2836         * docs/gst/gstreamer-sections.txt:
2837         * gst/gstevent.h:
2838           Add GST_EVENT_TYPE_NAME() macro.
2839
2840 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2841
2842         * gst/gstinfo.c:
2843         * gst/gstpluginfeature.c:
2844         * gst/gsttask.c:
2845           privatize more symbols
2846
2847 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2848
2849         * configure.ac:
2850           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2851           everything that uses GStreamer API should have the includes
2852
2853 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2854
2855         * docs/gst/gstreamer-sections.txt:
2856         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2857         * gst/gstvalue.h:
2858           give each value a _get_type, removes the DATA exports
2859
2860 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2861
2862         * gst/gst.c:
2863         * gst/gst.h:
2864           remove _gst_registry_auto_load, not used anymore
2865         * gst/gstbin.c: (gst_bin_get_type):
2866         * gst/gstbin.h:
2867         * gst/gstelement.c: (gst_element_get_type):
2868         * gst/gstelement.h:
2869         * gst/gstobject.c: (gst_object_get_type):
2870         * gst/gstobject.h:
2871         * gst/gstpad.c: (gst_pad_get_type):
2872         * gst/gstpad.h:
2873           make _get_type functions similar, fixes data export from library
2874
2875 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2876
2877         * configure.ac:
2878           correctly make conditionals
2879         * gst/elements/Makefile.am:
2880         * gst/elements/gstelements.c:
2881           fix typo causing fdsrc not to build
2882
2883 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2884
2885         * testsuite/Makefile.am:
2886         * testsuite/bytestream/.cvsignore:
2887         * testsuite/bytestream/Makefile.am:
2888         * testsuite/bytestream/filepadsink.c:
2889         * testsuite/bytestream/gstbstest.c:
2890         * testsuite/bytestream/test1.c:
2891         * testsuite/bytestream/testfile1:
2892         * testsuite/caps/normalisation.c:
2893         * testsuite/caps/random.c: (main):
2894         * testsuite/cleanup/.cvsignore:
2895         * testsuite/cleanup/Makefile.am:
2896         * testsuite/cleanup/cleanup1.c:
2897         * testsuite/cleanup/cleanup2.c:
2898         * testsuite/cleanup/cleanup3.c:
2899         * testsuite/cleanup/cleanup4.c:
2900         * testsuite/cleanup/cleanup5.c:
2901         * testsuite/controller/interpolator.c:
2902         * testsuite/debug/printf_extension.c: (main):
2903         * testsuite/elements/tee.c:
2904         * testsuite/negotiation/.cvsignore:
2905         * testsuite/negotiation/Makefile.am:
2906         * testsuite/negotiation/pad_link.c:
2907         * testsuite/pad/Makefile.am:
2908         * testsuite/pad/chainnopull.c:
2909         * testsuite/pad/getnopush.c:
2910         * testsuite/pad/link.c:
2911         * testsuite/refcounting/sched.c: (create_pipeline):
2912         * testsuite/registry/Makefile.am:
2913         * testsuite/registry/gst-print-formats.c:
2914         * testsuite/schedulers/.cvsignore:
2915         * testsuite/schedulers/142183-2.c:
2916         * testsuite/schedulers/142183.c:
2917         * testsuite/schedulers/143777-2.c:
2918         * testsuite/schedulers/143777.c:
2919         * testsuite/schedulers/147713.c:
2920         * testsuite/schedulers/147819.c:
2921         * testsuite/schedulers/147894-2.c:
2922         * testsuite/schedulers/147894.c:
2923         * testsuite/schedulers/Makefile.am:
2924         * testsuite/schedulers/group_link.c:
2925         * testsuite/schedulers/queue_link.c:
2926         * testsuite/schedulers/relink.c:
2927         * testsuite/schedulers/unlink.c:
2928         * testsuite/schedulers/unref.c:
2929         * testsuite/schedulers/useless_iteration.c:
2930         * testsuite/states/bin.c:
2931           clean out/remove some stuff from the testsuite directories
2932
2933 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2934
2935         * configure.ac:
2936           check for some headers
2937         * gst/elements/Makefile.am:
2938         * gst/elements/gstelements.c:
2939           don't compile fdsrc without sys/socket.h
2940         * gst/indexers/Makefile.am:
2941         * gst/indexers/gstindexers.c: (plugin_init):
2942           don't compile fileindex without mmap
2943
2944 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2945
2946         * configure.ac:
2947           reorganize
2948           clean up
2949           document more
2950           remove cruft
2951         * check/Makefile.am:
2952         * docs/gst/Makefile.am:
2953         * examples/helloworld/Makefile.am:
2954         * gst/Makefile.am:
2955         * gst/base/Makefile.am:
2956         * gst/check/Makefile.am:
2957         * gst/elements/Makefile.am:
2958         * gst/indexers/Makefile.am:
2959         * gst/parse/Makefile.am:
2960         * libs/gst/controller/Makefile.am:
2961         * libs/gst/dataprotocol/Makefile.am:
2962         * examples/helloworld/helloworld.c: (event_loop):
2963           compile fixes, though it's not being compiled currently
2964
2965 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2966
2967         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2968           Add some simple tests for the new taglist date API.
2969
2970 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2971
2972         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2973         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2974           Beautify 'last-message' output: print 'none' for buffer timestamps
2975           and durations if none is set; improve alignment with next messages.
2976
2977 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2980         * gst/gstpluginfeature.h:
2981         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2982         * gst/gstregistry.h:
2983         * docs/gst/gstreamer-sections.txt:
2984           Add new API to check plugin feature version requirements.
2985
2986         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2987           Some basic tests for the above.         
2988
2989 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2990
2991         * gst/gststructure.c: (gst_structure_to_string):
2992           guard against NULL printf - happens when for example
2993           a message structure with GstClock gets serialized
2994
2995 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2996
2997         * gst/base/gstcollectpads.c: (gst_collectpads_event):
2998           Fix presumable copy'n'pasto.
2999
3000 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3001
3002         * gst/elements/gstfakesrc.h:
3003         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3004         * gst/elements/gsttypefindelement.c:
3005           fix some signedness
3006         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3007           I wonder if this could actually write +2GB files before
3008
3009 2005-10-13  Andy Wingo  <wingo@pobox.com>
3010
3011         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3012         Fix Timmeke Waymans bug.
3013         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3014         string of the proper length to gst_caps_from_string. There's a
3015         potential for, before this fix, that this could cause someone
3016         connecting over the network to cause a segfault if the payload is
3017         not NUL-terminated.
3018
3019 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3020
3021         * docs/design/draft-push-pull.txt:
3022         * docs/design/part-overview.txt:
3023         * docs/random/TODO-pre-0.9:
3024         * docs/random/old/ChangeLog.gstreamer:
3025         * gst/base/gstpushsrc.c:
3026         * gst/gstclock.c:
3027           fixed typos
3028
3029 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3030
3031         * gst/glib-compat.c: (gst_flags_get_first_value):
3032         * gst/glib-compat.h:
3033         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3034         (gst_value_compare_double), (gst_value_serialize_flags):
3035           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3036           infinite loop
3037
3038 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3039
3040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3041         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3042           fix up debugging
3043         * tools/gst-launch.c: (event_loop):
3044           print out clock nicely
3045
3046 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3047
3048         * docs/gst/gstreamer-sections.txt:
3049         * gst/gsttaglist.h:
3050         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3051         (gst_tag_list_get_date_index):
3052           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3053           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3054
3055 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3056
3057         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3058         (gst_collectpads_chain):
3059         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3060         in CollectData.
3061
3062 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3063
3064         * docs/gst/gstreamer-sections.txt:
3065         * gst/gst.c:
3066         * gst/gsterror.h:
3067         * tools/gst-inspect.c: (main):
3068         * tools/gst-launch.c: (main):
3069         * tools/gst-run.c: (main):
3070         * tools/gst-xmlinspect.c: (main):
3071           fix GOption context leaks
3072           doc fixes
3073
3074 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3075
3076         * gst/gstbus.c:
3077           use HAVE_UNISTD_H
3078         * win32/common/config.h:
3079           update config
3080         * win32/vs6/grammar.dsp:
3081         * win32/vs6/libgstelements.dsp:
3082         * win32/vs6/libgstreamer.dsp:
3083           update vs6 files
3084
3085 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3086
3087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3088         * gst/base/gstbasesrc.c: (gst_base_src_query):
3089           fix more guint64<->gdouble conversions
3090
3091 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3092
3093         * Makefile.am:
3094           add win32-update target
3095         * win32/common/gstconfig.h:
3096         * win32/common/gstenumtypes.c:
3097         * win32/common/gstenumtypes.h:
3098         * win32/common/gstversion.h:
3099           add files that visual studio can't generate
3100
3101 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3102
3103         * Makefile.am:
3104           add a win32-update target
3105         * configure.ac:
3106
3107 2005-10-12  Wim Taymans  <wim@fluendo.com>
3108
3109         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3110         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3111         * gst/gstelement.c: (gst_element_commit_state),
3112         (gst_element_set_state):
3113         Protect flags with proper lock.
3114         unref provided cached clock in dispose.
3115
3116 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3117
3118         * gst/gst.c:
3119         * gst/gstminiobject.h:
3120         * gst/gstpad.h:
3121         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3122           removed unused flags from miniobject
3123           doc fixes
3124
3125 2005-10-12  Wim Taymans  <wim@fluendo.com>
3126
3127         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3128         (gst_file_sink_event), (gst_file_sink_render):
3129         Flush before seeking.
3130
3131 2005-10-12  Andy Wingo  <wingo@pobox.com>
3132
3133         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3134         always been the case.
3135
3136 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3137
3138         * check/gst/gstbin.c: (GST_START_TEST):
3139         * docs/gst/gstreamer-sections.txt:
3140         * gst/base/gstbasesink.c: (gst_base_sink_init):
3141         * gst/base/gstbasesrc.c: (gst_base_src_init),
3142         (gst_base_src_get_range), (gst_base_src_check_get_range),
3143         (gst_base_src_start), (gst_base_src_stop):
3144         * gst/base/gstbasesrc.h:
3145         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3146         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3147         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3148         (bin_bus_handler):
3149         * gst/gstbin.h:
3150         * gst/gstbuffer.h:
3151         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3152         * gst/gstbus.h:
3153         * gst/gstelement.c: (gst_element_is_locked_state),
3154         (gst_element_set_locked_state), (gst_element_commit_state),
3155         (gst_element_set_state):
3156         * gst/gstelement.h:
3157         * gst/gstindex.c: (gst_index_init):
3158         * gst/gstindex.h:
3159         * gst/gstminiobject.h:
3160         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3161         (gst_object_set_parent):
3162         * gst/gstobject.h:
3163         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3164         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3165         * gst/gstpad.h:
3166         * gst/gstpadtemplate.h:
3167         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3168         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3169         * gst/gstpipeline.h:
3170         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3171         (gst_file_index_commit):
3172         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3173         * testsuite/pad/link.c: (gst_test_src_init),
3174         (gst_test_filter_init), (gst_test_sink_init):
3175         * testsuite/states/locked.c: (main):
3176           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3177           moved bitshift from macro to enum definition
3178
3179 2005-10-12  Wim Taymans  <wim@fluendo.com>
3180
3181         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3182         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3183         (gst_file_sink_render):
3184         Some more debugging info.
3185
3186 2005-10-12  Wim Taymans  <wim@fluendo.com>
3187
3188         * docs/design/part-states.txt:
3189         * tools/gst-launch.c: (main):
3190         Some doc updates.
3191         Revert non-intentional change.
3192
3193 2005-10-12  Wim Taymans  <wim@fluendo.com>
3194
3195         * check/gst/gstbin.c: (GST_START_TEST):
3196         * check/gst/gstelement.c: (GST_START_TEST):
3197         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3198         * check/gst/gstghostpad.c: (GST_START_TEST):
3199         * check/gst/gstpipeline.c: (GST_START_TEST):
3200         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3201         * check/states/sinks.c: (GST_START_TEST):
3202         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3203         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3204         (gst_bin_remove_func), (gst_bin_get_state_func),
3205         (gst_bin_recalc_state), (gst_bin_change_state_func),
3206         (bin_bus_handler):
3207         * gst/gstelement.c: (gst_element_get_state_func),
3208         (gst_element_get_state), (gst_element_abort_state),
3209         (gst_element_commit_state), (gst_element_set_state),
3210         (gst_element_change_state), (gst_element_change_state_func):
3211         * gst/gstelement.h:
3212         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3213         (gst_pipeline_provide_clock_func):
3214         * gst/gstutils.c: (gst_element_link_pads_filtered):
3215         * tools/gst-launch.c: (main):
3216         * tools/gst-typefind.c: (main):
3217         Use GstClockTime in _get_state() instead of GTimeVal.
3218         Remove old code in gstutils.c
3219
3220 2005-10-12  Andy Wingo  <wingo@pobox.com>
3221
3222         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3223         removed.
3224
3225         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3226         there is no task. Shouldn't affect any code, as nothing in our
3227         plugins checks this return value.
3228         (gst_pad_stop_task): Also take the stream lock if the pad has no
3229         task. Docs updated.
3230
3231 2005-10-12  Wim Taymans  <wim@fluendo.com>
3232
3233         * gst/gstpad.c: (pre_activate), (post_activate),
3234         (gst_pad_activate_pull), (gst_pad_activate_push):
3235         Cleanup activation code. Reset old state if
3236         activation failed.
3237
3238 2005-10-12  Wim Taymans  <wim@fluendo.com>
3239
3240         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3241         (gst_base_sink_change_state):
3242         No need to prerol after receiving EOS.
3243
3244         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3245         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3246         * gst/elements/gstidentity.c: (gst_identity_event):
3247         Print events more verbosely.
3248
3249 2005-10-12  Wim Taymans  <wim@fluendo.com>
3250
3251         * check/Makefile.am:
3252         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3253         * check/states/sinks2.c:
3254         Moved sinks2 testcode in sinks check.
3255
3256         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3257         (gst_bin_remove_func), (gst_bin_recalc_state),
3258         (gst_bin_change_state_func), (bin_bus_handler):
3259         Fix potential race condition when _get_state() iterated over an
3260         ASYNC element right before it posted a state completion.
3261
3262         * gst/gstclock.h:
3263         Do proper cast here.
3264
3265         * gst/gstevent.c: (gst_event_new_newsegment),
3266         (gst_event_parse_newsegment):
3267         A playback rate of 0.0 is not allowed.
3268
3269 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3270
3271         * win32/common/config.h:
3272         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3273         (_trewinddir), (_ttelldir), (_tseekdir):
3274         * win32/common/dirent.h:
3275         * win32/common/gtchar.h:
3276         * win32/common/libgstbase.def:
3277         * win32/common/libgstreamer.def:
3278         * win32/vs6/grammar.dsp:
3279         * win32/vs6/gst_inspect.dsp:
3280         * win32/vs6/gst_launch.dsp:
3281         * win32/vs6/gstreamer.dsw:
3282         * win32/vs6/libgstbase.dsp:
3283         * win32/vs6/libgstelements.dsp:
3284         * win32/vs6/libgstreamer.dsp:
3285           Visual Studio 6 project files, and a new common directory.
3286           Phear.
3287
3288 2005-10-11  Wim Taymans  <wim@fluendo.com>
3289
3290         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3291         (gst_base_sink_do_sync), (gst_base_sink_query),
3292         (gst_base_sink_change_state):
3293         * gst/base/gstbasesink.h:
3294         Correctly parse newsegment info.
3295
3296 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3297
3298         * gst/gst.c: (init_post):
3299           split plugin paths correctly
3300
3301 2005-10-11  Wim Taymans  <wim@fluendo.com>
3302
3303         * check/gst/gstevent.c: (GST_START_TEST):
3304         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3305         (gst_base_sink_change_state):
3306         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3307         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3308         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3309         * gst/gstevent.c: (gst_event_new_newsegment),
3310         (gst_event_parse_newsegment):
3311         * gst/gstevent.h:
3312         Added extra flag to newsegment for future API freeze.
3313         Updated check and base elements.
3314
3315 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3316
3317         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3318         (gst_collectpads_add_pad), (gst_collectpads_pop),
3319         (gst_collectpads_event), (gst_collectpads_chain):
3320         * gst/base/gstcollectpads.h: Handle EOS correctly.
3321
3322 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3323
3324         * tools/gst-launch.c: (main):
3325           more null protecting
3326
3327 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3328
3329         * gst/gst-i18n-lib.h:
3330           check for ENABLE_NLS, not GETTEXT_PACKAGE
3331         * gst/gstregistry.c: (gst_registry_add_plugin),
3332         (gst_registry_scan_path_level),
3333         (_gst_registry_remove_cache_plugins):
3334           protect possibly NULL strings
3335         * gst/parse/types.h:
3336           config.h already included before
3337         * tools/gst-inspect.c: (main):
3338           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3339           check for ENABLE_NLS, not GETTEXT_PACKAGE
3340         * tools/gst-launch.c: (main):
3341           check for ENABLE_NLS, not GETTEXT_PACKAGE
3342
3343 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3344
3345         * configure.ac:
3346           if we don't have glib, fail before testing 2.8
3347         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3348           fix a leak, should fix plugins-base testsuite
3349
3350 2005-10-11  Andy Wingo  <wingo@pobox.com>
3351
3352         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3353         take the mode we're going to as an arg. Go head and set the mode
3354         and flushing flags now, so that if the activate function starts a
3355         thread all the flags will be in the right state.
3356         (post_activate): Renamed also. Just handle making sure streaming
3357         finishes for the deactivation case, and setting the deactivated
3358         mode.
3359         (gst_pad_set_active): Complain loudly if deactivation fails.
3360         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3361         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3362         remove the terrible hack.
3363
3364 2005-10-11  Wim Taymans  <wim@fluendo.com>
3365
3366         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3367         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3368         (gst_bin_recalc_state), (gst_bin_change_state_func),
3369         (gst_bin_dispose), (bin_bus_handler):
3370         * gst/gstbin.h:
3371         Prepare to make current EOS message queue more generic.
3372         Fix some typos.
3373
3374         * gst/gstevent.c: (gst_event_new_newsegment),
3375         (gst_event_parse_newsegment):
3376         * gst/gstevent.h:
3377         Rename base to stream_time.
3378
3379         * gst/gstmessage.h:
3380         Fix typo in docs.
3381
3382 2005-10-11  Wim Taymans  <wim@fluendo.com>
3383
3384         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3385         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3386         (gst_bin_change_state_func), (bin_bus_handler):
3387         * gst/gstbin.h:
3388         Work on proper clock selection.
3389
3390 2005-10-11  Edward Hervey  <edward@fluendo.com>
3391
3392         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3393         * libs/gst/controller/gstcontroller.h:
3394         Added GList* version of _remove_properties() in order to be able to wrap
3395         it in bindings.
3396
3397 2005-10-11  Wim Taymans  <wim@fluendo.com>
3398
3399         * docs/design/part-states.txt:
3400         Some more docs.
3401
3402         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3403         (gst_bin_change_state_func), (bin_bus_handler):
3404         Doc updates. Don't distribute the same clock over and over again.
3405
3406         * gst/gstclock.c:
3407         * gst/gstclock.h:
3408         Doc updates.
3409
3410         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3411         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3412         (gst_pad_send_event):
3413         * gst/gstpad.h:
3414         Make probe emission threadsafe again.
3415         Register quarks and move _get_name() from utils.
3416         Doc updates.
3417
3418         * gst/gstpipeline.c: (gst_pipeline_class_init),
3419         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3420         Only redistribute the clock of it changed.
3421
3422         * gst/gstsystemclock.h:
3423         Doc updates. 
3424
3425         * gst/gstutils.c:
3426         * gst/gstutils.h:
3427         Moved the _flow_get_name() to GstPad.
3428
3429 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3430
3431         * check/gst-libs/gdp.c: (GST_START_TEST):
3432         * check/gst/gstcaps.c: (GST_START_TEST):
3433         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3434         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3435         (gst_dp_packet_from_caps):
3436           fix more valgrind warnings before turning up the heat
3437
3438 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3439
3440         * gst/parse/grammar.y:
3441           some cleanup before the hacking
3442
3443 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3444
3445         * gst/base/gstbasesrc.c: (gst_base_src_query):
3446           use conversions
3447         * gst/gstutils.c: (gst_guint64_to_gdouble),
3448         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3449         * gst/gstutils.h:
3450           externalize, basesrc uses it
3451           obviously the implementation needs testing
3452
3453 2005-10-10  Wim Taymans  <wim@fluendo.com>
3454
3455         * tests/sched/Makefile.am:
3456         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3457         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3458
3459 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3460
3461         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3462           apparently converting from guint64 to double is not implemented
3463           on MSVC
3464
3465 2005-10-10  Wim Taymans  <wim@fluendo.com>
3466
3467         * check/Makefile.am:
3468         * check/generic/states.c: (GST_START_TEST):
3469         * check/gst/gstbin.c: (GST_START_TEST):
3470         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3471         * check/states/sinks.c: (GST_START_TEST):
3472         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3473         (main):
3474         Check fixes, use API as stated in design docs, remove hacks.
3475
3476         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3477         (gst_base_sink_change_state):
3478         Catch stopping our task while we're shutting down.
3479
3480         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3481         (gst_bin_remove_func), (gst_bin_get_state_func),
3482         (gst_bin_recalc_state), (gst_bin_change_state_func),
3483         (bin_bus_handler):
3484         * gst/gstbin.h:
3485         * gst/gstelement.c: (gst_element_init),
3486         (gst_element_get_state_func), (gst_element_abort_state),
3487         (gst_element_commit_state), (gst_element_lost_state),
3488         (gst_element_set_state), (gst_element_change_state),
3489         (gst_element_change_state_func):
3490         * gst/gstelement.h:
3491         New state change algorithm (see #318116)
3492
3493         * gst/gstpipeline.c: (gst_pipeline_class_init),
3494         (gst_pipeline_init), (gst_pipeline_set_property),
3495         (gst_pipeline_get_property), (do_pipeline_seek),
3496         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3497         * gst/gstpipeline.h:
3498         Remove crude state change hacks.
3499
3500         * gst/gstutils.h:
3501         Remove crude hacks.
3502
3503         * tools/gst-launch.c: (main):
3504         Fixes for state change. Needs some more work to fully use the
3505         new stuff.
3506
3507 2005-10-10  Andy Wingo  <wingo@pobox.com>
3508
3509         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3510
3511         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3512         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3513         issue.
3514
3515 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3516
3517         * gst/gstiterator.c: (gst_iterator_new):
3518           Fix my previous commit: GTypes passed to gst_iterator_new()
3519           can be fundamental types.
3520
3521 2005-10-10  Wim Taymans  <wim@fluendo.com>
3522
3523         * gst/gstelement.c: (gst_element_iterate_pad_list),
3524         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3525         (gst_element_iterate_sink_pads):
3526         Use src/sink pads lists for the respective iterators instead
3527         of filtering.
3528
3529 2005-10-10  Andy Wingo  <wingo@pobox.com>
3530
3531         Merged in popt removal + GOption addition patch from Ronald, bug
3532         #169772.
3533
3534         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3535         GstElement macros around, remove popt-related symbols, add goption
3536         stuff.
3537
3538         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3539         
3540         * docs/gst/Makefile.am:
3541         * docs/libs/Makefile.am: No POPT_CFLAGS.
3542         
3543         * examples/manual/Makefile.am:
3544         * docs/manual/basics-init.xml: Doc updates with an example.
3545         
3546         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3547         (gst_init), (parse_one_option), (parse_goption_arg):
3548         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3549         bit of hand merging and debugging to get the GOption stuff working
3550         tho.
3551         
3552         * tests/Makefile.am:
3553         * tools/Makefile.am:
3554         * tools/gst-inspect.c: (main):
3555         * tools/gst-launch.c: (main):
3556         * tools/gst-run.c: (main):
3557         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3558
3559 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3560
3561         * gst/gstiterator.c: (gst_iterator_new):
3562           Add assertions to make sure passed GType is likely to really
3563           be a GType (as the compiler won't catch it if the size and
3564           GType arguments get mixed up, see #318447).
3565
3566 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3567
3568         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3569
3570         * gst/gstbin.c: (gst_bin_iterate_sorted):
3571           Pass GType and size arguments to gst_iterator_new() in the right
3572           order (maybe we should make _new() take the GType as first argument
3573           just like _new_list()?) (#318447).
3574           
3575
3576 2005-10-10  Wim Taymans  <wim@fluendo.com>
3577
3578         * gst/gstelement.c: (gst_element_finalize):
3579         And free the GStaticRecMutex too
3580
3581 2005-10-10  Andy Wingo  <wingo@pobox.com>
3582
3583         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3584         Allocate and free the mutex properly.
3585
3586         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3587         New macros.
3588         (GstElement): The state_lock is now recursive. Rebuild your
3589         plugins, suckers. Old macros adapted.
3590
3591         * docs/gst/gstreamer-sections.txt: Doc updates.
3592
3593         * gst/gstutils.h:
3594         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3595         (g_static_rec_cond_wait): Ported from state changes patch, while
3596         we wait on bug #317802 to be solved in a well-distributed GLib.
3597
3598         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3599         gst_element_change_state, variable name changes.
3600         (gst_element_change_state): Split out of gst_element_set_state in
3601         preparation for the state change merge. Doesn't pay attention to
3602         the 'transition' argument.
3603         (gst_element_set_state): Updates, hopefully purely cosmetic.
3604         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3605         state change patch.
3606         (gst_element_get_state_func): Renamed from get_state, cosmetic
3607         changes.
3608
3609 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3610
3611         * gst/elements/gstelements.c:
3612         * win32/GStreamer.vcproj:
3613         * win32/config.h:
3614         * win32/dirent.c: (_tseekdir):
3615         * win32/gst-inspect.vcproj:
3616         * win32/gst-launch.vcproj:
3617         * win32/gstconfig.h:
3618         * win32/gstelements.vcproj:
3619         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3620         * win32/gstreamer.def:
3621         * win32/msvc71.sln:
3622           updates for the win32 build (patch from Sebastien Moutte)
3623
3624 2005-10-10  Andy Wingo  <wingo@pobox.com>
3625
3626         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3627         gst_bin_get_state, cleaned up (but no logic changes).
3628         (bin_element_is_sink): Comment updates.
3629         (sink_iterator_filter): Remove needless cast.
3630         (gst_bin_iterate_sinks): Doc update.
3631         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3632         cleaned up (but no logic changes).
3633
3634         * check/states/sinks.c (test_src_sink): Cleanups from the state
3635         change patch.
3636         (test_livesrc_sink): Sync on the state.
3637
3638         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3639         the state change patch.
3640
3641         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3642         change patch.
3643
3644         * check/gst/gstbin.c: Merge in some style fixes and additional
3645         checks from Wim's state change patch.
3646
3647 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3648
3649         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3650         (gst_type_find_helper):
3651           Check whether we have the requested data already in our list of
3652           cached buffers before pulling a new buffer; also make the buffer
3653           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3654
3655 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3656
3657         * gst/gstcaps.c:
3658         * gst/gstevent.c:
3659           doc updates
3660         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3661           don't use long long, it's not portable.  Replacing with
3662           gint64 seems to work; let's hope no skeletons fall out of the closet.
3663
3664 2005-10-10  Andy Wingo  <wingo@pobox.com>
3665
3666         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3667
3668 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3669
3670         * docs/gst/gstreamer-sections.txt:
3671         * gst/gstevent.c:
3672         * gst/gstevent.h:
3673         * gst/gstinfo.c:
3674         * gst/gstinfo.h:
3675         * gst/gstmessage.c: (gst_message_parse_state_changed):
3676         * gst/gstpad.c:
3677         * gst/gstpad.h:
3678           more docs, fix compilation
3679
3680 2005-10-09  Philippe Khalaf <burger@speedy.org>
3681         * gst/gstmessage.c:
3682           Fixed a few forgotten variables on previous commit
3683
3684 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3685
3686         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3687           Fix evil typefind crasher: getrange() might return a short
3688           buffer at the end of a file, but gst_type_find_peek() must
3689           either return the full data as requested or NULL, but
3690           never a short buffer.
3691
3692 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3693
3694         * gst/gstmessage.c: (gst_message_new_state_changed),
3695         (gst_message_parse_state_changed):
3696         * gst/gstmessage.h:
3697           don't use "new", it's a C++ keyword
3698
3699 2005-10-08  Wim Taymans  <wim@fluendo.com>
3700
3701         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3702         * gst/gstelement.c: (gst_element_post_message):
3703         * gst/gstpipeline.c: (gst_pipeline_change_state):
3704         Small docs and debug updates.
3705
3706 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3707
3708         * docs/gst/gstreamer-sections.txt:
3709         * gst/gstelementfactory.c:
3710         * gst/gstevent.c:
3711         * gst/gsttaglist.c:
3712           more docs
3713
3714 2005-10-08  Wim Taymans  <wim@fluendo.com>
3715
3716         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3717         (gst_bin_dispose), (bin_bus_handler):
3718         Fix typos, add comments.
3719         Clear EOS list when going to PAUSED from any direction and do it
3720         in a threadsafe way.
3721         Get base time in a threadsafe way too.
3722         Fix confusing debug in the change_state function.
3723         Various other small cleanups.
3724         
3725         * gst/gstelement.c: (gst_element_post_message):
3726         Fix very verbose bus posting code.
3727
3728         * gst/gstpipeline.c: (gst_pipeline_class_init),
3729         (gst_pipeline_set_property), (gst_pipeline_get_property),
3730         (gst_pipeline_change_state):
3731         Small ARG_ -> PROP_ cleanup
3732
3733 2005-10-08  Wim Taymans  <wim@fluendo.com>
3734
3735         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3736         Do a less CPU demanding EOS check because we can.
3737
3738 2005-10-08  Wim Taymans  <wim@fluendo.com>
3739
3740         * libs/gst/dataprotocol/dataprotocol.c:
3741         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3742         (gst_dp_packet_from_event):
3743         * libs/gst/dataprotocol/dataprotocol.h:
3744         * libs/gst/dataprotocol/dp-private.h:
3745         It's about time we bump the version number.
3746         Since event types don't fit in the guint8 anymore describing
3747         the payload type, make payload type 16 bits wide.
3748
3749 2005-10-08  Wim Taymans  <wim@fluendo.com>
3750
3751         * docs/design/part-TODO.txt:
3752         * docs/design/part-clocks.txt:
3753         * docs/design/part-events.txt:
3754         * docs/design/part-gstbin.txt:
3755         * docs/design/part-gstelement.txt:
3756         * docs/design/part-gstpipeline.txt:
3757         * docs/design/part-live-source.txt:
3758         * docs/design/part-messages.txt:
3759         * docs/design/part-overview.txt:
3760         * docs/design/part-states.txt:
3761         Many doc updates.
3762
3763 2005-10-08  Wim Taymans  <wim@fluendo.com>
3764
3765         * gst/gstevent.c:
3766         * gst/gstevent.h:
3767         Fix event quark registration.
3768         Add some space between events so we can insert them in the
3769         right groups.
3770
3771 2005-10-08  Wim Taymans  <wim@fluendo.com>
3772
3773         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3774         (gst_base_sink_handle_buffer):
3775         Better log message.
3776
3777         * gst/gstbus.h:
3778         * gst/gstelement.h:
3779         More docs.
3780
3781         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3782         (gst_queue_set_property), (gst_queue_get_property):
3783         * gst/gstqueue.h:
3784         Remove old unused properties.
3785
3786 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3787         * docs/gst/gstreamer-sections.txt:
3788         * gst/gstmessage.c:
3789         * gst/gstmessage.h:
3790         * gst/gstminiobject.c:
3791         * gst/gstminiobject.h:
3792         * gst/gstobject.h:
3793         * gst/gstpad.h:
3794         * gst/gstutils.h:
3795           lots of new docs and doc fixes
3796
3797 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3798
3799         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3800         * gst/gstplugin.h:
3801         * gst/gstregistry.c: (gst_registry_lookup_locked),
3802         (gst_registry_scan_path_level):
3803         * gst/gstregistryxml.c: (load_plugin):
3804           Only ever load one plugin for a given plugin basename.
3805           This ensures correct overriding of GST_PLUGIN_PATH over
3806           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3807           system installed plugins.
3808
3809 2005-10-08  Wim Taymans  <wim@fluendo.com>
3810
3811         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3812         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3813         Prepare for doing QOS.
3814
3815 2005-10-08  Wim Taymans  <wim@fluendo.com>
3816
3817         * check/gst/gstbin.c: (GST_START_TEST):
3818         * check/pipelines/cleanup.c: (GST_START_TEST):
3819         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3820         Allow new clock message too.
3821
3822 2005-10-08  Wim Taymans  <wim@fluendo.com>
3823
3824         * gst/gstmessage.c: (gst_message_new_error),
3825         (gst_message_new_warning), (gst_message_new_tag),
3826         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3827         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3828         (gst_message_new_segment_start), (gst_message_new_segment_done),
3829         (gst_message_parse_state_changed),
3830         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3831         (gst_message_parse_new_clock):
3832         * gst/gstmessage.h:
3833         Also carry the clock in question.
3834
3835 2005-10-08  Wim Taymans  <wim@fluendo.com>
3836
3837         * gst/gstmessage.c: (gst_message_new_custom),
3838         (gst_message_new_eos), (gst_message_new_error),
3839         (gst_message_new_warning), (gst_message_new_tag),
3840         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3841         (gst_message_new_new_clock), (gst_message_new_segment_start),
3842         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3843         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3844         * gst/gstmessage.h:
3845         Clean up.
3846         Added clock related messages.
3847
3848         * gst/gstpipeline.c: (gst_pipeline_change_state):
3849         Post message when the clock changed.
3850
3851         * tools/gst-launch.c: (event_loop):
3852         Print new clock.
3853
3854 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3855
3856         * tools/gst-inspect.c: (print_element_properties_info):
3857           Can't pass NULL strings to g_print() on windows.
3858
3859 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3860
3861         * docs/Makefile.am:
3862         * docs/gst/Makefile.am:
3863         * docs/gst/gstreamer-docs.sgml:
3864         * docs/gst/running.xml:
3865         * docs/version.entities.in:
3866           add a chapter on running GStreamer.
3867           document GST_DEBUG and GST_PLUGIN* env vars
3868
3869 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * Makefile.am:
3872           remove include dir
3873         * configure.ac:
3874           remove PLUGINS_BUILDDIR stuff
3875         * gst/gst.c: (init_post):
3876           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3877         * idiottest.mak:
3878           remove, it was condescending and not needed
3879
3880 2005-10-08  Wim Taymans  <wim@fluendo.com>
3881
3882         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3883         (gst_base_sink_handle_object), (gst_base_sink_event),
3884         (gst_base_sink_wait), (gst_base_sink_handle_event),
3885         (gst_base_sink_change_state):
3886         * gst/base/gstbasesink.h:
3887         Repost EOS message while going to PLAYING if still EOS.
3888         Make sure that when receiving a FLUSH_START we don't attempt
3889         to sync on the clock anymore.
3890
3891 2005-10-08  Wim Taymans  <wim@fluendo.com>
3892
3893         * tools/gst-launch.c: (event_loop):
3894         Better message printout.
3895
3896 2005-10-08  Wim Taymans  <wim@fluendo.com>
3897
3898         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3899         (gst_bin_child_proxy_get_children_count):
3900         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3901         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3902         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3903         (gst_child_proxy_set_valist):
3904         * gst/parse/grammar.y:
3905         Make ChildProxy threadsafe and fix mem leaks.
3906
3907 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3908
3909         * gst/gst.c: (init_post):
3910           debug the GST_PLUGIN_ env vars
3911
3912 2005-10-08  Wim Taymans  <wim@fluendo.com>
3913
3914         * check/gst/gstbin.c: (GST_START_TEST):
3915         * check/gst/gstmessage.c: (GST_START_TEST):
3916         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3917         * gst/gstelement.c: (gst_element_commit_state),
3918         (gst_element_lost_state):
3919         * gst/gstmessage.c: (gst_message_new_state_changed),
3920         (gst_message_parse_state_changed):
3921         * gst/gstmessage.h:
3922         * tools/gst-launch.c: (event_loop):
3923         Added extra field to STATE_CHANGE message with the pending
3924         state, which will be different from the new state soon.
3925
3926 2005-10-08  Wim Taymans  <wim@fluendo.com>
3927
3928         * gst/gstbus.c: (gst_bus_pop):
3929         * gst/gstclock.c:
3930         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3931         Small cleanups and doc updates.
3932
3933 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3934
3935         * gst/gst.c: (init_pre):
3936         * gst/gstbin.c: (gst_bin_add_func):
3937           log distributing clocks and base time
3938         * gst/gstregistry.c: (gst_registry_add_plugin),
3939         (gst_registry_scan_path_level), (gst_registry_scan_path):
3940           clean up the debugging output a little
3941         * gst/gstutils.c: (gst_element_state_get_name):
3942           warn about a memleak (I've actually seen this be used, though
3943           it was probably a bug)
3944
3945 2005-10-07  Wim Taymans  <wim@fluendo.com>
3946
3947         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3948         (gst_base_src_init), (gst_base_src_default_newsegment),
3949         (gst_base_src_newsegment), (gst_base_src_do_seek),
3950         (gst_base_src_loop), (gst_base_src_start):
3951         * gst/base/gstbasesrc.h:
3952         Make the newsegment event customizable by subclasses.
3953
3954 2005-10-07  Wim Taymans  <wim@fluendo.com>
3955
3956         * gst/gstevent.c: (gst_event_new_buffersize),
3957         (gst_event_parse_buffersize):
3958         * gst/gstevent.h:
3959         New event for future idea.
3960
3961 2005-10-07  Andy Wingo  <wingo@pobox.com>
3962
3963         * gst/gstelement.c (gst_element_post_message): Doc update.
3964
3965         * docs/gst/gstreamer-sections.txt: Update.
3966
3967         * gst/gstmessage.c (gst_message_new_application): Made into a
3968         function like honest API calls.
3969         (gst_message_new_element): New message type.
3970
3971         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3972
3973         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3974         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3975         times.
3976
3977         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3978         NO_PREROLL from gst_element_change_state to fall through.
3979
3980 2005-10-07  Wim Taymans  <wim@fluendo.com>
3981
3982         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3983         (gst_ghost_pad_do_activate_push):
3984         Activating a ghostpad with no internal pad in push mode
3985         is ok.
3986
3987 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3988
3989         * gst/gstobject.h:
3990           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3991           Fixes compilation on Windows.
3992
3993 2005-10-07  Michael Smith <msmith@fluendo.com>
3994
3995         * tools/gst-inspect.c:
3996           Print out feature and plugin count at the end when printing out
3997           all features.
3998
3999 2005-10-04  Michael Smith <msmith@fluendo.com>
4000
4001         * gst/gsterror.c: (_gst_stream_errors_init):
4002           Add another error string used in a few existing plugins.
4003
4004         * gst/gstplugin.c:
4005         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4006         * tools/gst-inspect.c: (print_element_info):
4007           When a feature disappears from a plugin (and the feature exists in
4008           the cached registry file), things went horribly wrong. This isn't a
4009           complete fix, we should actually be removing the 'missing' features
4010           from the features list when we load the actual plugin. That's not
4011           yet implemented. 
4012
4013 2005-10-04  Johan Dahlin  <johan@gnome.org>
4014
4015         * check/gst/gstiterator.c: (GST_START_TEST):
4016         * gst/gstbin.c: (gst_bin_iterate_elements),
4017         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4018         * gst/gstelement.c: (gst_element_iterate_pads):
4019         * gst/gstformat.c: (gst_format_iterate_definitions):
4020         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4021         (gst_iterator_new_list), (gst_iterator_filter):
4022         * gst/gstiterator.h:
4023         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4024         Add a GType to GstIterator, update callsites and tests.
4025
4026 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4027
4028         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4029           give events a chance to be handled by event probes when the pad
4030           is not linked
4031
4032 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4033
4034         * gst/gstevent.c: (gst_event_type_get_name),
4035         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4036         * gst/gstevent.h:
4037           add string representations for event types
4038
4039 2005-10-06  Wim Taymans  <wim@fluendo.com>
4040
4041         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4042         Don't use NULL pointers.
4043
4044 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4045
4046         * gst/gst_private.h:
4047         * gst/gstbus.c:
4048         * gst/gstelement.c:
4049         * gst/gstinfo.c:
4050         * gst/gstpluginfeature.c:
4051           widen the debug category in output to fit the biggest one we have
4052           add a bus category and use it
4053           play with the colors
4054           fix up some categories
4055
4056 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4057
4058         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4059           add push activation of sink ghost pads.
4060           Andye, please verify
4061
4062 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4063
4064         * gst/gstutils.c: (gst_element_link_pads):
4065           fix a bug in the case where neither element has a pad
4066         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4067           add a test for that case
4068
4069 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4070
4071         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4072           emit have-data before checking for peers.  This allows
4073           for probe handlers to connect elements.  This helps autopluggers.
4074         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4075         (gst_pad_suite):
4076           add six checks, linked/unlinked with no/true/false probe
4077
4078 2005-10-04  Wim Taymans  <wim@fluendo.com>
4079
4080         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4081         (gst_fake_sink_event), (gst_fake_sink_preroll),
4082         (gst_fake_sink_render), (gst_fake_sink_change_state):
4083         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4084         (gst_fake_src_get_property), (gst_fake_src_create),
4085         (gst_fake_src_stop):
4086         * gst/elements/gstidentity.c: (gst_identity_stop):
4087         Protect last_message with lock.
4088
4089 2005-10-04  Edward Hervey  <edward@fluendo.com>
4090
4091         * gst/gstformat.h: 
4092         Added precision in the comments for GST_FORMAT_DEFAULT
4093
4094 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4095
4096         * tools/gst-launch.c: (main):
4097           Don't try to run erroneous pipelines.
4098
4099 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4100
4101         * gst/gstbus.c: We don't need this header.
4102
4103 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4104
4105         * configure.ac:
4106           back to development
4107
4108 === release 0.9.3 ===
4109
4110 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4111
4112         * README:
4113         * configure.ac:
4114           Releasing 0.9.3, "Unregistered"
4115
4116 2005-10-03  Andy Wingo  <wingo@pobox.com>
4117
4118         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4119         whereby calling a pad's activatepush() function can start a thread
4120         that starts to push or pull before the pad gets the FLUSHING flag
4121         unset. Hack around it by holding the stream lock until the flag is
4122         set. Need to replace this with a proper solution. Together with
4123         the ghost pad fixes, this fixes mp3 playing/tagreading.
4124
4125         * docs/design/part-gstghostpad.txt: Add a note about activation of
4126         proxy pads outside of ghost pads.
4127
4128         * gst/gstghostpad.c: Implement the ghost pad activation design.
4129
4130 2005-10-02  Andy Wingo  <wingo@pobox.com>
4131
4132         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4133         It is volatile, after all.
4134
4135         * docs/design/part-gstghostpad.txt: Flesh out activation with
4136         ghost pads.
4137
4138         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4139         GST_DEBUG_FUNCPTR.
4140
4141 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4142
4143         * configure.ac:
4144           Fix (unused) AM_CONDITIONAL tests.
4145
4146 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4147
4148         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4149
4150         * gst/gstutils.c: (gst_pad_query_convert):
4151           Add assertion that makes sure src_val is >=0, just like
4152           gst_query_new_convert() has. (#315895)
4153
4154 2005-09-30  Edward Hervey  <edward@fluendo.com>
4155
4156         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4157         Let's not iterate pads we're not interested in, it avoids getting 
4158         sky-high refcounts on sinkpad.
4159
4160 2005-09-30  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/gstelement.c: (gst_element_set_state),
4163         (gst_element_change_state):
4164         Small tweak, element in ASYNC remains ASYNC.
4165
4166 2005-09-30  Wim Taymans  <wim@fluendo.com>
4167
4168         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4169         Only error is an error.
4170
4171         * gst/gstbin.c: (gst_bin_change_state):
4172         Better debugging.
4173
4174         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4175         Also call pad_block in pad alloc.
4176
4177         * gst/gstutils.c: (gst_flow_get_name):
4178         Better debugging.
4179
4180 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4181
4182         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4183         (gst_base_src_get_range):
4184           Fix documentation typos. Add some more debug info.
4185
4186 2005-09-29  David Schleef  <ds@schleef.org>
4187
4188         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4189           more end-user friendly.
4190         * tools/gst-inspect.c: (main): Check if command-line argument is
4191           a file and attempt to load that file as a plugin.
4192
4193 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4194
4195         * check/gst/gstbin.c:
4196         * check/states/sinks.c:
4197           fix tests for the new warning
4198         * check/gst/gstpipeline.c:
4199           add a test for pipeline and bus interaction
4200         * gst/gstelement.c:
4201           elements should be NULL if they get disposed; add a warning if not
4202
4203 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4204
4205         * gst/gstobject.c:
4206           for 2.6 refcounting, make debug log more correct by printing
4207           the actual refcounts at the time of swap (Wim)
4208
4209 2005-09-29  Andy Wingo  <wingo@pobox.com>
4210
4211         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4212         removes signal watches previously added via
4213         gst_bus_add_signal_watch.
4214         (gst_bus_add_signal_watch): Don't return the source id, just store
4215         it on the bus if there wasn't an id already.
4216
4217         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4218         add_signal_watch and remove_signal_watch.
4219
4220 2005-09-29  Edward Hervey  <edward@fluendo.com>
4221
4222         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4223         Better if we actually iterate the list :)
4224
4225 2005-09-29  Wim Taymans  <wim@fluendo.com>
4226
4227         * check/gst/gstbin.c: (GST_START_TEST):
4228         Change for new bus API.
4229
4230         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4231         (send_messages), (GST_START_TEST), (gstbus_suite):
4232         Change for new bus signal API.
4233
4234         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4235         (gst_bus_source_prepare), (gst_bus_source_check),
4236         (gst_bus_create_watch), (gst_bus_add_watch_full),
4237         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4238         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4239         * gst/gstbus.h:
4240         Remove support for multiple GSources operating on different
4241         message types as it is too complex and unneeded when using
4242         signals.
4243         Added support for receiving signals from the bus.
4244
4245 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4246
4247         * docs/libs/tmpl/gstdataprotocol.sgml:
4248         * docs/manual/advanced-dataaccess.xml:
4249         * gst/elements/gstcapsfilter.c:
4250         * gst/gstutils.c:
4251           rename filter-caps to caps property
4252
4253 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4254
4255         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4256           More robust fraction string parsing.
4257
4258         * docs/pwg/appendix-porting.xml:
4259           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4260
4261 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4262
4263         * gst/gstcaps.c: (gst_caps_do_simplify):
4264           Thou shalt not free a structure and then continue using it
4265           in the next loop iteration.
4266
4267         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4268         (gst_caps_suite):
4269           Add test case for caps simplification.
4270
4271 2005-09-29  Wim Taymans  <wim@fluendo.com>
4272
4273         * check/gst/gstbin.c: (GST_START_TEST):
4274         Oops.
4275
4276 2005-09-29  Wim Taymans  <wim@fluendo.com>
4277
4278         * check/gst/gstbin.c: (GST_START_TEST):
4279         Add bus to bin.
4280
4281         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4282         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4283         (find_element), (gst_bin_sort_iterator_next),
4284         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4285         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4286         (gst_bin_change_state), (gst_bin_dispose):
4287         A bin does not have a bus, it gets the bus from the parent.
4288
4289         * gst/gstelement.c: (gst_element_requires_clock),
4290         (gst_element_provides_clock), (gst_element_is_indexable),
4291         (gst_element_is_locked_state), (gst_element_change_state),
4292         (gst_element_set_bus_func):
4293         Small cleanups.
4294
4295         * gst/gstpipeline.c: (gst_pipeline_class_init),
4296         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4297         The pipeline provides a bus.
4298
4299 2005-09-28  Johan Dahlin  <johan@gnome.org>
4300
4301         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4302         gst_structure_get_enum instead of gst_structure_get_int
4303
4304         * gst/gststructure.c (gst_structure_get_enum): Impl.
4305
4306         * gst/gststructure.h (gst_structure_get_enum): Add
4307
4308         * docs/gst/gstreamer-sections.txt: Ditto
4309
4310         * gst/gstmessage.c (gst_message_new_state_changed): Use
4311         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4312         which does introspection.
4313         Reviewed by Christian Schaller
4314
4315 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4316
4317         * gst/gstinfo.c: (gst_debug_log_default):
4318           don't do dummy g_strdup()s
4319         * libs/gst/controller/gstcontroller.c:
4320         (on_object_controlled_property_changed),
4321         (gst_controlled_property_new), (gst_controller_new_valist),
4322         (gst_controller_new_list),
4323         (gst_controller_remove_properties_valist), (gst_controller_set),
4324         (gst_controller_get), (gst_controller_sync_values),
4325         (gst_controller_get_value_array), (_gst_controller_class_init),
4326         (gst_controller_get_type):
4327         * libs/gst/controller/gstcontroller.h:
4328         * libs/gst/controller/gstinterpolation.c:
4329         (gst_controlled_property_find_timed_value_node):
4330           convert // to /**/ comments
4331
4332 2005-09-28  Wim Taymans  <wim@fluendo.com>
4333
4334         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4335         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4336         (gst_bus_sync_signal_handler):
4337         * gst/gstbus.h:
4338         Added async-message and sync-message signals to the bus.
4339         Added helper BusFunc to emit signals for all posted messages.
4340
4341         * gst/gstmessage.c: (gst_message_type_get_name),
4342         (gst_message_type_to_quark), (gst_message_get_type):
4343         * gst/gstmessage.h:
4344         Register quarks for message names.
4345
4346 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4347
4348         * docs/libs/gstreamer-libs-sections.txt:
4349         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4350         (gst_controller_new_list):
4351         * libs/gst/controller/gstcontroller.h:
4352           added another constructor for language bindings
4353
4354 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4357           add another check
4358         * gst/gstbus.c:
4359           add some doc
4360         * gst/gstinfo.c: (_gst_debug_init):
4361           slightly more readable color for refcount debugging
4362
4363 2005-09-28  Wim Taymans  <wim@fluendo.com>
4364
4365         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4366         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4367         (find_element), (gst_bin_sort_iterator_next),
4368         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4369         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4370         (gst_bin_change_state), (gst_bin_dispose):
4371         Small doc fixes. get_clock -> provide_clock.
4372
4373         * gst/gstelement.c: (gst_element_class_init),
4374         (gst_element_provides_clock), (gst_element_provide_clock),
4375         (gst_element_get_clock), (gst_element_commit_state),
4376         (gst_element_lost_state):
4377         * gst/gstelement.h:
4378         Make get/set_clock() symetric. Add provide_clock vmethod since
4379         that is actually what this function does.
4380
4381         * gst/gstpipeline.c: (gst_pipeline_class_init),
4382         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4383         (gst_pipeline_get_clock):
4384         get_clock -> provide_clock.
4385
4386 2005-09-28  Andy Wingo  <wingo@pobox.com>
4387
4388         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4389         lieu of real docs...
4390
4391         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4392
4393 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4394
4395         * gst/elements/gstcapsfilter.c:
4396         * gst/elements/gstfakesink.c:
4397         * gst/elements/gstfakesrc.c:
4398         * gst/elements/gstfdsink.c:
4399         * gst/elements/gstfdsrc.c:
4400         * gst/elements/gstfilesink.c:
4401         * gst/elements/gstfilesrc.c:
4402         * gst/elements/gstidentity.c:
4403         * gst/elements/gsttee.c:
4404         * gst/elements/gsttypefindelement.c:
4405           Make element details static.
4406
4407 2005-09-28  Wim Taymans  <wim@fluendo.com>
4408
4409         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4410         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4411         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4412         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4413         (gst_bin_change_state), (gst_bin_dispose):
4414         Some documentation updates.
4415         Clean up dispose handlers.
4416
4417         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4418         * gst/gstpad.c: (gst_pad_dispose):
4419         Clean up dispose handler.
4420
4421         * gst/gstpipeline.c: (gst_pipeline_change_state):
4422         Removed spurious UNLOCK.
4423
4424 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4425
4426         * docs/gst/gstreamer-sections.txt:
4427         * gst/base/gstbasesrc.h:
4428         * gst/gstelement.h:
4429         * gst/gstevent.h:
4430         * gst/gstobject.h:
4431         * gst/gstpad.h:
4432         * gst/gstpipeline.c:
4433         * gst/gstpipeline.h:
4434         * gst/gstutils.h:
4435         * gst/gstxml.h:
4436           added two new functions to the docs
4437                 documents all undocumented GstXXXFlags
4438                 completed some incomplete docs 
4439
4440 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4441
4442         * gst/gstbin.c: (gst_bin_dispose):
4443         * gst/gstelement.c: (gst_element_dispose):
4444           remove now useless and leaky resurrection code in dispose
4445         * gst/base/gstbasesrc.c: (gst_base_src_init):
4446         * gst/gstelementfactory.c: (gst_element_factory_create):
4447         * gst/gstobject.c: (gst_object_set_parent):
4448           add some debugging
4449
4450 2005-09-27  Wim Taymans  <wim@fluendo.com>
4451
4452         * docs/design/part-TODO.txt:
4453         Update TODO.
4454
4455         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4456         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4457         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4458         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4459         (gst_bin_change_state):
4460         * gst/gstelement.h:
4461         Remove element variable, we keep element info in the iterator now.
4462
4463 2005-09-27  Andy Wingo  <wingo@pobox.com>
4464
4465         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4466         values.
4467
4468 2005-09-27  Wim Taymans  <wim@fluendo.com>
4469
4470         * check/gst/gstbin.c: (GST_START_TEST):
4471         Enable check that works now.
4472
4473         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4474         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4475         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4476         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4477         (gst_bin_change_state):
4478         * gst/gstbin.h:
4479         Redid the state change algorithm using a topological sort algo.
4480         Handles all cases correctly.
4481         Exposed iterator for state change order.
4482
4483         * gst/gstelement.h:
4484         Temp storage for state changes. Need to get rid of this soon.
4485
4486 2005-09-27  Wim Taymans  <wim@fluendo.com>
4487
4488         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4489         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4490         (link_fold_func), (gst_pad_proxy_setcaps):
4491         Leak fixes, the fold functions need to unref the passed object and
4492         _get_parent_*() returns ref to parent.
4493
4494 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4495
4496         * check/gst/gstbuffer.c: (test_make_writable):
4497           Plug leak in test case and fix 'make check-valgrind'
4498
4499 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4500
4501         * gst/gstbuffer.c: (gst_subbuffer_init):
4502           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4503           works correctly in all circumstances (we could have just copied
4504           the parent buffer's readonly flag, but conceptually it seems
4505           cleaner to mark all subbuffers as read-only). (based on patch
4506           by Alessandro Decina, #314710).
4507         
4508         * check/gst/gstbuffer.c: (create_read_only_buffer),
4509         (test_make_writable), (test_subbuffer_make_writable),
4510         (gst_test_suite):
4511           Add some tests for gst_buffer_make_writable().
4512
4513 2005-09-27  Wim Taymans  <wim@fluendo.com>
4514
4515         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4516         use gst_object_has_ancestor().
4517
4518         * gst/gstobject.c: (gst_object_has_ancestor):
4519         * gst/gstobject.h:
4520         gst_object_has_ancestor() copied from gstbin.c as it is a
4521         usefull function.
4522
4523         * tests/instantiate/create.c: (create_all_elements):
4524         * tests/lat.c: (handoff_src), (handoff_sink):
4525         * tests/sched/runxml.c: (main):
4526         * tests/seeking/seeking1.c: (main):
4527         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4528         (main):
4529         Fix compilation of some tests.
4530
4531 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4532
4533         * gst/gsterror.h:
4534           Remove comment. GST_TYPE_G_ERROR is here to stay,
4535           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4536           (#316961, #300610).
4537
4538 2005-09-26  Wim Taymans  <wim@fluendo.com>
4539
4540         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4541         Added check that shows error in state change order.
4542
4543 2005-09-26  Wim Taymans  <wim@fluendo.com>
4544
4545         * gst/gstbin.c: (gst_bin_change_state):
4546         Make state change function use 3 queues again, we were
4547         adding elements in the wrong order.
4548
4549         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4550         Some debug info,
4551
4552         * gst/gstpad.c: (gst_pad_dispose):
4553         Added some debug info first.
4554
4555 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4556
4557         * docs/design/draft-push-pull.txt:
4558         * docs/design/part-events.txt:
4559         * docs/design/part-overview.txt:
4560         * docs/design/part-scheduling.txt:
4561           Replace all _pull_region() with _pull_range()
4562           
4563 2005-09-26  Andy Wingo  <wingo@pobox.com>
4564
4565         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4566
4567         * check/gst-libs/controller.c: Update for controller api change.
4568
4569         * configure.ac: 
4570         * tests/Makefile.am:
4571         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4572         over by GLib bug 118439.
4573         
4574         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4575         routines to a function.
4576
4577         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4578
4579         * libs/gst/controller/gsthelper.c:
4580         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4581         (gst_object_sync_values): Renamed from sink_values. Ugh.
4582
4583         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4584
4585         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4586         Renamed from controller_key, as it is exported.
4587
4588         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4589
4590 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4591
4592         * gst/Makefile.am:
4593         * gst/gst.h:
4594         * gst/gstpad.h:
4595         * gst/gstpadtemplate.h:
4596         * gst/gstquery.c:
4597         * gst/gstquery.h:
4598         * gst/gstqueryutils.c:
4599         * gst/gstqueryutils.h:
4600           remove queryutils headers after moving the two used functions
4601           to gstquery.  also fixes build problem for gstsiddec
4602
4603 2005-09-26  Michael Smith <msmith@fluendo.com>
4604
4605         * tools/gst-launch.1.in:
4606         Correct documentation in manpage of debug syntax
4607
4608 2005-09-26  Wim Taymans  <wim@fluendo.com>
4609
4610         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4611         (gst_base_src_is_seekable), (gst_base_src_change_state):
4612         Some more debugging info.
4613
4614 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4615
4616         * docs/gst/gstreamer-sections.txt:
4617         * gst/base/gstbasetransform.h:
4618         * gst/gstindex.h:
4619           added more docs
4620
4621 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4622
4623         * docs/gst/.cvsignore:
4624         * docs/gst/tmpl/.cvsignore:
4625         * docs/gst/tmpl/gstpipeline.sgml:
4626         * docs/gst/tmpl/gstplugin.sgml:
4627         * gst/gstpipeline.c:
4628         * gst/gstplugin.c:
4629         * gst/gstplugin.h:
4630           inlined the last two docs files
4631           removed the tmpl directory from cvs (no more conflicts here!)
4632
4633 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4634
4635         * docs/gst/gstreamer-sections.txt:
4636         * docs/gst/tmpl/.cvsignore:
4637         * docs/gst/tmpl/gstpad.sgml:
4638         * docs/gst/tmpl/gstpadtemplate.sgml:
4639         * gst/Makefile.am:
4640         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4641         (gst_pad_finalize), (gst_pad_set_pad_template):
4642         * gst/gstpad.h:
4643         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4644         (gst_pad_template_class_init), (gst_pad_template_init),
4645         (gst_pad_template_dispose), (name_is_valid),
4646         (gst_static_pad_template_get), (gst_pad_template_new),
4647         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4648         (gst_pad_template_pad_created):
4649         * gst/gstpadtemplate.h:
4650           inlined two more docs
4651           factored gstpadtemplate out of gstpad
4652
4653 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4654
4655         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4656         (test_children_state_change_order_semi_sink):
4657           Fix test case: we can't rely on a fixed state change order when
4658           going from READY => PAUSED because the sink might commit its 
4659           new state first when the first buffer created by the source 
4660           reaches the sink before the source has finished its change state.
4661           (Test case still fails at times, see #316856, comment 5 onwards)
4662
4663 2005-09-24  Wim Taymans  <wim@fluendo.com>
4664
4665         * docs/design/part-events.txt:
4666         * docs/design/part-gstbus.txt:
4667         * docs/design/part-gstpipeline.txt:
4668         * docs/design/part-messages.txt:
4669         * docs/design/part-overview.txt:
4670         * docs/design/part-segments.txt:
4671         * gst/gstbin.c:
4672         * gst/gstbuffer.c:
4673         * gst/gstclock.c:
4674         * gst/gstelement.c:
4675         * gst/gstevent.c:
4676         * gst/gstfilter.c:
4677         * gst/gstiterator.c:
4678         Various documentation updates.
4679
4680 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4681
4682         * gst/gstclock.h:
4683           Well, that's embarassing.  Luckily we weren't using
4684           GST_CLOCK_DIFF anywhere.
4685
4686 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4687
4688         * common/gtk-doc.mak:
4689           don't fail on building XML, FC4 slave shows a bunch of doc
4690           missing bits that I don't get
4691         * gst/gstpad.c:
4692         * gst/gstpipeline.c:
4693         * gst/gststructure.c:
4694           some doc updates
4695
4696 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4697
4698         * docs/design/part-gstbin.txt:
4699         * docs/design/part-gstbus.txt:
4700         * gst/gstbus.c:
4701           Add blurb about how the bus goes into flushing mode and
4702           drops all messages when its bin goes from READY into NULL 
4703           state.
4704
4705 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4706
4707         * docs/gst/gstreamer-sections.txt:
4708         * gst/gststructure.c: (gst_structure_get_clock_time):
4709         * gst/gststructure.h:
4710           add a method to get a GstClockTime out of a structure
4711
4712 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4713
4714         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4715         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4716           Added test to check state change order in bins (can still be made
4717           to fail here under heavy disk load; bails out with 'Push on pad
4718           fakesink:sink0, but it was not activated in push mode').
4719
4720         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4721           Fix state change order when there is only a semi sink (#316856)
4722
4723         * gst/gstbus.c: (gst_bus_class_init):
4724           Use _class_peek_parent(), not _class_ref(); fix docs to say
4725           'default main context' instead of 'mainloop' where that is
4726           what's meant.
4727
4728         * gst/gstelement.c: (gst_element_commit_state),
4729         (gst_element_set_state):
4730           Fix typos in debug messages
4731
4732 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4733
4734         * docs/README:
4735         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4736         * gst/gstpluginfeature.c:
4737         * gst/gstutils.c:
4738           various doc updates
4739         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4740           change an assert into an error until it gets fixed properly
4741
4742 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4743
4744         * docs/gst/gstreamer-sections.txt:
4745         * docs/gst/tmpl/.cvsignore:
4746         * docs/gst/tmpl/gstelement.sgml:
4747         * docs/gst/tmpl/gstinfo.sgml:
4748         * docs/gst/tmpl/gstobject.sgml:
4749         * gst/gstelement.c:
4750         * gst/gstelement.h:
4751         * gst/gstinfo.c:
4752         * gst/gstinfo.h:
4753         * gst/gstobject.c: (gst_object_class_init):
4754         * gst/gstobject.h:
4755           inlined 3 more biiiig doc files and added some missing docs on the fly
4756
4757 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4758
4759         * check/gst/.cvsignore:
4760         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4761         * gst/gstregistryxml.c: (load_plugin),
4762         (gst_registry_xml_save_plugin):
4763           put back source in registry.  add checks for find_plugin.
4764         * testsuite/states/bin.c: (assert_state), (empty_bin),
4765         (test_adding_one_element), (main):
4766         * testsuite/states/locked.c: (main):
4767           some compile/run fixes
4768
4769 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4770
4771         * check/gst/gstvalue.c: (GST_START_TEST):
4772           fix leaks in the test itself
4773
4774 2005-09-22  Wim Taymans  <wim@fluendo.com>
4775
4776         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4777         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4778         (gst_base_sink_query):
4779         Prepare for more accurate position reporting and query
4780         handling.
4781
4782         * gst/gstelement.c: (gst_element_send_event),
4783         (gst_element_set_state):
4784         Add some comment.
4785
4786 2005-09-22  Wim Taymans  <wim@fluendo.com>
4787
4788         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4789         (gst_query_parse_segment):
4790         * gst/gstquery.h:
4791         More documentation.
4792         Add segment query for future use.
4793
4794 2005-09-22  Wim Taymans  <wim@fluendo.com>
4795
4796         * gst/gstbin.c: (gst_bin_add_func):
4797         Some more debug info.
4798
4799         * gst/gstelement.c: (gst_element_send_event):
4800         Simplify send_event
4801
4802         * gst/gstelement.h:
4803         Don't know how flags got broken.
4804
4805         * gst/gstquery.h:
4806         Added new query.
4807
4808 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4809
4810         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4811           Add simplistic test suite for GST_TYPE_DATE serialisation and
4812           deserialisation.
4813
4814 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4815
4816         * docs/gst/gstreamer-sections.txt:
4817         * gst/gststructure.c: (gst_structure_set_valist),
4818         (gst_structure_get_date):
4819         * gst/gststructure.h:
4820         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4821         (gst_date_copy), (gst_value_compare_date),
4822         (gst_value_serialize_date), (gst_value_deserialize_date),
4823         (gst_value_transform_date_string),
4824         (gst_value_transform_string_date), (_gst_value_initialize):
4825         * gst/gstvalue.h:
4826           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4827           bunch of utility functions along with a hack that checks that
4828           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4829           is required. Part of the grand scheme in #170777.
4830
4831 2005-09-22  Andy Wingo  <wingo@pobox.com>
4832
4833         * gst/gstconfig.h.in: Psych out gtk-doc.
4834
4835         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4836
4837         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4838
4839         * tools/gst-inspect.c (print_element_list): Plug some
4840         inconsequential leaks.
4841
4842         * gst/gstregistry.c (gst_registry_get_default): Doc.
4843
4844         * check/gst/gstplugin.c: 
4845         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4846         * gst/gstelementfactory.c (gst_element_factory_create): 
4847         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4848         refcount changes.
4849
4850         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4851         (gst_plugin_feature_load): Doc, don't eat refs.
4852
4853         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4854         (gst_plugin_list_free): Doc.
4855         (gst_plugin_load_file): Doc updates.
4856
4857         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4858         accessors returning refcounted objects, return a ref.
4859
4860         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4861         accessor for caps. IDEMPOTENCE. Oh yes.
4862
4863 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4864
4865         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4866
4867         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4868         (_gst_debug_register_funcptr):
4869           Add mutex to serialise access to the hash table with
4870           the function pointer => function name string mapping;
4871           make that hash table static scope (#316809).
4872
4873         * gst/registries/.cvsignore:
4874           Remove left-over file.
4875
4876 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4877
4878         * docs/pwg/appendix-porting.xml:
4879           And something about newsegment events and caps-on-buffers to
4880           the porting guide (feel free to improve).
4881
4882 2005-09-21  Andy Wingo  <wingo@pobox.com>
4883
4884         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4885         data and event probes on the same pad.
4886         (test_buffer_probe_once): Test that removing probes from within
4887         the probe functions works.
4888
4889 2005-09-21  Andy Wingo  <wingo@pobox.com>
4890
4891         * check/gst/gstutils.c: New file.
4892         (test_buffer_probe_n_times): A simple buffer probe test. More to
4893         come, foolios.
4894
4895         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4896         have-data::buffer, not have-data.
4897         (gst_pad_add_event_probe): Likewise for have-data::event.
4898         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4899         peer' isn't quite right yet though.
4900         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4901         (gst_pad_remove_data_probe): Change to take the guint handler_id
4902         as their arg, not the function+data, which is more glib-like.
4903
4904         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4905         the signal emission to indicate if the data is a buffer or an
4906         event.
4907         (gst_pad_get_type): Initialize buffer and event quarks.
4908         (gst_pad_class_init): have-data is now a detailed signal, yes it
4909         is.
4910
4911 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4912
4913         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4914         * gst/gstutils.c: (gst_util_set_value_from_string),
4915         (gst_util_set_object_arg):
4916           Don't put functional code in g_return_if_fail() or
4917           g_return_val_if_fail() statements, otherwise things will 
4918           break when G_DISABLE_CHECKS is defined during compilation.
4919
4920 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4921
4922         * docs/gst/tmpl/.cvsignore:
4923         * docs/gst/tmpl/gstvalue.sgml:
4924         * gst/gstvalue.c:
4925         * gst/gstvalue.h:
4926           inlied another one and added  some obvious docs
4927
4928 2005-09-21  Wim Taymans  <wim@fluendo.com>
4929
4930         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4931         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4932         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4933         (gst_fdsrc_get_property), (gst_fdsrc_create):
4934         * gst/elements/gstfdsrc.h:
4935         Properly implement fdsrc. Removed signal and timeout,
4936         better implemented somewhere else.
4937
4938 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4939
4940         * docs/gst/tmpl/.cvsignore:
4941         * docs/gst/tmpl/gstimplementsinterface.sgml:
4942         * gst/gstinterface.c:
4943           inlined more docs
4944
4945 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4946
4947         * docs/gst/gstreamer-sections.txt:
4948         * docs/gst/tmpl/.cvsignore:
4949         * docs/gst/tmpl/gstenumtypes.sgml:
4950           remove obsolete doc file
4951
4952 2005-09-21  David Schleef  <ds@schleef.org>
4953
4954         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4955         little beer, fix a little leak.
4956
4957 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4958
4959         * docs/gst/gstreamer-docs.sgml:
4960         * docs/gst/gstreamer-sections.txt:
4961         * docs/gst/tmpl/.cvsignore:
4962         * gst/Makefile.am:
4963         * gst/gst.h:
4964         * gst/gstbin.c:
4965         * gst/gstelement.h:
4966         * gst/gstindex.c: (gst_index_class_init):
4967         * gst/gstindex.h:
4968         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4969         (gst_index_factory_class_init), (gst_index_factory_init),
4970         (gst_index_factory_finalize), (gst_index_factory_new),
4971         (gst_index_factory_destroy), (gst_index_factory_find),
4972         (gst_index_factory_create), (gst_index_factory_make):
4973         * gst/gstindexfactory.h:
4974         * gst/gstpluginfeature.c:
4975         * gst/gstpluginfeature.h:
4976         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4977           more docs inlined, splitted gstindex.{c,h}
4978
4979 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4980
4981         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4982           fix a leak
4983
4984 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4985
4986         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4987           Set sync to FALSE by default.
4988
4989 2005-09-20  Wim Taymans  <wim@fluendo.com>
4990
4991         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4992         (gst_base_sink_init):
4993         Make sync property settable from subclass.
4994
4995         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4996         (gst_fake_sink_change_state):
4997         Set sync to FALSE by default.
4998
4999 2005-09-20  Wim Taymans  <wim@fluendo.com>
5000
5001         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5002         * tools/gst-launch.c: (main):
5003         The timeout handler should have lower priority than the source
5004         so we don't timeout before popping a message with 0 timeout.
5005         Dump error messages after failed state change.
5006
5007 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         * tools/gst-inspect.c: (print_element_properties_info):
5010           Fix two typos.
5011
5012 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5013
5014         * check/gst/gstevent.c:
5015         * gst/elements/gstfakesink.c:
5016         * gst/elements/gstfakesink.h:
5017           remove the sync property from fakesink.
5018           has the side effect of setting sync TRUE
5019           for fakesink, which is a change.  Anyone who knows how
5020           to fix this nicely in a GObject-y way, feel free.
5021
5022 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5023
5024         * docs/gst/gstreamer-docs.sgml:
5025           remove probe refsection
5026
5027 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5028
5029         * check/Makefile.am:
5030           disable valgrinding the controller test again
5031         * docs/gst/gstreamer-sections.txt:
5032           update for api-changes
5033
5034 2005-09-20  Wim Taymans  <wim@fluendo.com>
5035
5036         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5037         (gst_base_sink_set_property), (gst_base_sink_get_property),
5038         (gst_base_sink_do_sync):
5039         * gst/base/gstbasesink.h:
5040         Added sync property to basesink to disable clock sync.
5041
5042 2005-09-20  Andy Wingo  <wingo@pobox.com>
5043
5044         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5045         eating the caller's refcount.
5046
5047         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5048         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5049         refcount.
5050
5051         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5052         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5053         of GLib 2.8 public, so we can know which refcount to check in
5054         tests.
5055
5056         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5057         (gst_object_init): Only set the gst refcount if we're going ahead
5058         with the refcount hack.
5059
5060 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5061
5062         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5063         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5064           more leaks plumbed, added more debug-logging
5065         * gst/gstmacros.h:
5066           whitespace fix
5067
5068 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5069
5070         * gst/gstmessage.c:
5071           remove include of gstmemchunk.h
5072
5073 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5074
5075         * gst/gstclock.c: (_gst_clock_id_free):
5076           Commit from the Political Party For More Atomic CVS Commits,
5077           so that people don't waste too much of their day fishing
5078           out obvious leaks out of massive commits.
5079           Oh, and fix a pretty damn obvious leak in the memchunk
5080           removal code.
5081
5082 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5083
5084         * check/Makefile.am:
5085         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5086           plug mem-leak, re-add to valgrindable tests
5087
5088 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5089
5090         * gst/gstplugin.h:
5091           unbreak the build for those who have chronic arthritis
5092           and typing "make check" is just too taxing on the hands
5093
5094 2005-09-20  Andy Wingo  <wingo@pobox.com>
5095
5096         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5097         really want it out, you should fix plugins at the same time.
5098
5099 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5100
5101         * configure.ac:
5102         * docs/gst/gstreamer-sections.txt:
5103         * gst/gstobject.c:
5104           added missing symbols to api docs
5105           disable ref-count hack if we have glib >= 2.8
5106
5107 2005-09-19  David Schleef  <ds@schleef.org>
5108
5109         * docs/gst/Makefile.am: Ignore a few more internal headers
5110         * docs/gst/gstreamer-docs.sgml: Remove old sections
5111         * docs/gst/gstreamer-sections.txt: Remove old sections
5112         * docs/gst/tmpl/gstobject.sgml: update
5113         * docs/gst/tmpl/gstplugin.sgml: update
5114         * docs/gst/tmpl/gstpluginfeature.sgml: update
5115         * docs/random/ds/0.9-suggested-changes: update.
5116         * gst/Makefile.am: remove memchunk and trashstack, since they're
5117           not used.
5118         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5119         * gst/gst.h: don't include some headers
5120         * gst/gstchildproxy.c: add gstmarshal.h
5121         * gst/gstclock.c: Don't use memchunks
5122         * gst/gstminiobject.c: Add some docs
5123         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5124         * gst/gstobject.h: same
5125         * gst/gstplugin.c: include gstmacros.h
5126         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5127         * gst/gstquery.c: don't use memchunks
5128         * gst/gstregistry.c: rename gst_registry_deinit()
5129         * gst/gstregistry.h: same
5130
5131 2005-09-19  David Schleef  <ds@schleef.org>
5132
5133         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5134         * docs/libs/gstreamer-libs-sections.txt:
5135         * docs/libs/tmpl/gstgetbits.sgml:
5136         * docs/libs/tmpl/gstputbits.sgml:
5137
5138 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5139
5140         * win32/gstenumtypes.c:
5141         * win32/gstenumtypes.h:
5142           Update.
5143
5144 2005-09-19  Wim Taymans  <wim@fluendo.com>
5145
5146         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5147         Automatically PAUSE and RESUME a pipeline when a flushing seek
5148         is performed.
5149
5150 2005-09-19  Andy Wingo  <wingo@pobox.com>
5151
5152         * gst/gstregistry.h: Spacing fixen.
5153
5154 2005-09-19  Wim Taymans  <wim@fluendo.com>
5155
5156         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5157         Handle state change failure more correctly.
5158
5159 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5160
5161         * check/Makefile.am:
5162         * check/pipelines/cleanup.c: (run_pipeline):
5163         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5164         (GST_START_TEST):
5165           enable cleanup again after fixing the leak
5166         * docs/README:
5167           some more info on docs
5168
5169 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5170
5171         * check/Makefile.am:
5172           re-enable tests now that leaks are plugged
5173         * check/gst/gst.c:
5174         * check/gst/gstbin.c:
5175         * check/gst/gstpipeline.c:
5176           add some more tests while fixing leaks
5177         * common/check.mak:
5178           make sure binaries are uptodate when valgrinding/gdbing
5179         * gst/gst.c:
5180         * gst/gstelementfactory.c:
5181           remove a ref too many, and add a FIXME for when we get
5182           round to disposing of classes
5183         * gst/gstplugin.c:
5184           fix the refcounting when loading a plugin from a file and
5185           the code pretends that the pointer is the same even though
5186           of course it can change
5187         * gst/gstpluginfeature.c:
5188           unref plugins marked cached (a bit confusing as a name)
5189           as the docs state should be done
5190           various doc additions to explain refcounting
5191         * gst/gstregistry.c:
5192         * gst/gstregistryxml.c:
5193           debugging
5194
5195 2005-09-19  Wim Taymans  <wim@fluendo.com>
5196
5197         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5198         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5199         (send_messages), (GST_START_TEST), (gstbus_suite):
5200         * check/gst/gstpipeline.c: (GST_START_TEST):
5201         * check/pipelines/cleanup.c: (run_pipeline):
5202         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5203         (GST_START_TEST):
5204         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5205         (gst_bus_source_check), (gst_bus_source_dispatch),
5206         (gst_bus_create_watch), (gst_bus_add_watch_full),
5207         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5208         * gst/gstbus.h:
5209         * tools/gst-launch.c: (event_loop):
5210         * tools/gst-md5sum.c: (event_loop):
5211         GstBusHandler -> GstBusFunc, return value has the same meaning as
5212         any other GSource (FALSE == remove source).
5213         _add_watch() and _add_watch_full() now take a MessageType mask to
5214         only handle specific types of messages.
5215         _poll() returns the GstMessage instead of the message type to avoid
5216         race conditions.
5217         _have_pending() takes a MessageType mask now too.
5218         Added testsuite for multiple bus watches.
5219         Fix testsuites and applications for new bus API.
5220
5221 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5222
5223         * check/Makefile.am:
5224           mark a bunch of the tests as to fix until we fix them
5225
5226 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5227
5228         * common/check.mak:
5229           use GST_PLUGIN settings for valgrind tests as well, so we're
5230           valgrinding the correct thing
5231         * gst/gst.c: (init_post):
5232           plug another leak
5233
5234 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5235
5236         * gst/gst.c: (init_post), (gst_deinit):
5237         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5238         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5239         * gst/gstindex.c: (gst_index_factory_class_init),
5240         (gst_index_factory_finalize):
5241         * gst/gstobject.c: (gst_object_dispose):
5242         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5243         (gst_plugin_load_file), (gst_plugin_desc_free):
5244         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5245         (gst_plugin_feature_finalize):
5246         * gst/gstregistry.c: (gst_registry_class_init),
5247         (gst_registry_init), (gst_registry_finalize),
5248         (gst_registry_get_default), (gst_registry_deinit):
5249         * gst/gstregistry.h:
5250         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5251           various cleanups and memleak plugging.  make valgrind is happy now.
5252
5253 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5254
5255         * common/check.mak:
5256           add a check-valgrind target
5257
5258 2005-09-18  David Schleef  <ds@schleef.org>
5259
5260         * tools/gst-inspect.c: Revert the GOption code.
5261
5262 2005-09-17  David Schleef  <ds@schleef.org>
5263
5264         * check/Makefile.am: Fix environment variables.
5265         * check/gst/gstplugin.c: Fix for API changes.
5266         * tools/gst-inspect.c: Fix for API changes.
5267         * tools/gst-xmlinspect.c: Fix for API changes.
5268         * gst/gstelementfactory.c:
5269         * gst/gstplugin.c:
5270         * gst/gstplugin.h:
5271         * gst/gstpluginfeature.c:
5272         * gst/gstpluginfeature.h:
5273         * gst/gstregistry.c:
5274         * gst/gstregistry.h:
5275         * gst/gstregistryxml.c:
5276         * gst/gsttypefind.c:
5277         * gst/gsttypefindfactory.c:
5278         * gst/indexers/gstfileindex.c:
5279         * gst/indexers/gstmemindex.c:
5280         * gst/schedulers/Makefile.am:
5281           Change registry to keep track of both plugins and features,
5282           removing the feature tracking from plugins themselves.
5283
5284 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5285
5286         * check/Makefile.am:
5287         * tools/gst-register.1.in:
5288           remove gst-register
5289
5290 2005-09-15  David Schleef  <ds@schleef.org>
5291
5292         * check/gst/gstplugin.c:
5293         * gst/gstelementfactory.c:
5294         * gst/gstplugin.c:
5295         * gst/gstpluginfeature.c:
5296         * gst/gstregistry.c:
5297           Getting tired of debugging.  Disabled all the unreffing of
5298           plugins and features, which fixes the segfaults, but of
5299           course leaks like crazy.  At least playbin works.
5300
5301 2005-09-15  David Schleef  <ds@schleef.org>
5302
5303         * check/gst/gstplugin.c: (register_check_elements),
5304         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5305         More testing
5306         * gst/elements/gsttypefindelement.c: Fix refcounting.
5307         * gst/gsttypefind.c:
5308         * gst/gsttypefindfactory.c:
5309         * gst/gsttypefindfactory.h:
5310
5311 2005-09-15  David Schleef  <ds@schleef.org>
5312
5313         * gst/gstindex.c: get refcounting correct.
5314         * gst/gstregistry.c: Handle the case where a feature/plugin is
5315           not found.
5316
5317 2005-09-15  David Schleef  <ds@schleef.org>
5318
5319         * check/Makefile.am:
5320         * check/gst/gstplugin.c: Add test
5321         * gst/gstplugin.c: Fix problems noticed by testsuite
5322         * gst/gstplugin.h:
5323         * gst/gstregistry.c: 
5324         * gst/gstregistry.h:
5325
5326 2005-09-15  David Schleef  <ds@schleef.org>
5327
5328         * gst/gstplugin.c: Implement semi-decent recounting and locking
5329           in plugins and plugin features.
5330         * gst/gstplugin.h:
5331         * gst/gstpluginfeature.c:
5332         * gst/gstpluginfeature.h:
5333         * gst/gstregistry.c:
5334
5335 2005-09-15  Michael Smith <msmith@fluendo.com>
5336
5337         * gst/gstregistry.c: (gst_registry_get_feature_list):
5338           Implement this. Makes oggdemux work; decodebin still broken.
5339
5340 2005-09-14  David Schleef  <ds@schleef.org>
5341
5342         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5343           #316076)
5344         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5345         * gst/check/Makefile.am:
5346         * libs/gst/controller/Makefile.am:
5347         * libs/gst/dataprotocol/Makefile.am:
5348
5349 2005-09-14  David Schleef  <ds@schleef.org>
5350
5351         * configure.ac: Remove getbits library.  Nothing uses it, and
5352           it should be in something like liboil if someone did want
5353           to use it.
5354         * libs/gst/Makefile.am:
5355         * libs/gst/getbits/Makefile.am:
5356         * libs/gst/getbits/gbtest.c:
5357         * libs/gst/getbits/getbits.c:
5358         * libs/gst/getbits/getbits.h:
5359         * libs/gst/getbits/gstgetbits_generic.c:
5360         * libs/gst/getbits/gstgetbits_i386.s:
5361         * libs/gst/getbits/gstgetbits_inl.h:
5362
5363 2005-09-14  David Schleef  <ds@schleef.org>
5364
5365         * gst/Makefile.am: Dist glib-compat.h
5366
5367 2005-09-14  David Schleef  <ds@schleef.org>
5368
5369         * configure.ac: Remove gst/registries, since it's no longer used.
5370         * gst/registries/Makefile.am:
5371         * gst/registries/gstlibxmlregistry.c:
5372         * gst/registries/gstlibxmlregistry.h:
5373         * gst/registries/gstxmlregistry.c:
5374         * gst/registries/gstxmlregistry.h:
5375         * gst/registries/registrytest.c:
5376
5377 2005-09-14  David Schleef  <ds@schleef.org>
5378
5379         * gst/glib-compat.h:
5380         * gst/gstregistryxml.c:
5381           Convergence is near.  Seriously.
5382
5383 2005-09-14  David Schleef  <ds@schleef.org>
5384
5385         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5386         * gst/glib-compat.h:
5387           Attempt #4 to appease the buildbots.
5388
5389 2005-09-14  David Schleef  <ds@schleef.org>
5390
5391         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5392           Attempt #3.
5393
5394 2005-09-14  David Schleef  <ds@schleef.org>
5395
5396         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5397         Attempt #2.
5398
5399 2005-09-14  David Schleef  <ds@schleef.org>
5400
5401         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5402           the new functions.
5403
5404 2005-09-14  David Schleef  <ds@schleef.org>
5405
5406         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5407         * gst/glib-compat.h: Add some functions that are in newer versions
5408           of glib than we care to require.
5409         * gst/gstregistryxml.c: Use them.
5410
5411 2005-09-14  David Schleef  <ds@schleef.org>
5412
5413         * po/POTFILES.in: remove gst-register.c
5414
5415 2005-09-14  David Schleef  <ds@schleef.org>
5416
5417         * docs/gst/gstreamer-docs.sgml:
5418         * docs/gst/gstreamer-sections.txt:
5419         * docs/gst/gstreamer.types:
5420         * docs/gst/tmpl/gstelement.sgml:
5421         * docs/gst/tmpl/gstplugin.sgml:
5422         * docs/gst/tmpl/gstpluginfeature.sgml:
5423           Documentation updates for registry changes.
5424
5425 2005-09-14  David Schleef  <ds@schleef.org>
5426
5427         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5428           because we don't require glib-2.8.
5429
5430 2005-09-14  David Schleef  <ds@schleef.org>
5431
5432         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5433           registries directory.
5434
5435 2005-09-14  David Schleef  <ds@schleef.org>
5436
5437         * check/Makefile.am:
5438         * check/generic/states.c:
5439         * gst/Makefile.am:
5440         * gst/gst.c:
5441         * gst/gst.h:
5442         * gst/gst_private.h:
5443         * gst/gstelementfactory.c:
5444         * gst/gstindex.c:
5445         * gst/gstinfo.c:
5446         * gst/gstplugin.c:
5447         * gst/gstplugin.h:
5448         * gst/gstpluginfeature.c:
5449         * gst/gstpluginfeature.h:
5450         * gst/gstregistry.c:
5451         * gst/gstregistry.h:
5452         * gst/gstregistrypool.c: remove
5453         * gst/gstregistrypool.h: remove
5454         * gst/gsttypefind.c:
5455         * gst/gsttypefindfactory.c:
5456         * gst/gsturi.c:
5457         * tools/Makefile.am:
5458         * tools/gst-compprep.c:
5459         * tools/gst-inspect.c:
5460         * tools/gst-register.c: remove
5461         * tools/gst-xmlinspect.c:
5462           Registry rewrite.  Changes registry from being a file created
5463           by a tool into a simple cache file created automatically by 
5464           libgstreamer.  Removed gst-register (because it's no longer
5465           needed).  Remove registry pools, because we only have one
5466           registry implementation (XML).  Fix up other subsystems as
5467           necessary.
5468
5469 2005-09-13  Michael Smith <msmith@fluendo.com>
5470
5471         * gst/gstconfig.h.in:
5472           Don't Use windows linking attributes for MinGW. Fixes #316157
5473
5474 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * gst/gstutils.c: (set_state_async_thread_func),
5477         (gst_element_set_state_async):
5478           Apparently people think it's better if this function doesn't
5479           try to set the state to whatever state was asked for on the first
5480           call to this function for any object.  Seriously.
5481
5482 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5483
5484         * check/gst/gstpipeline.c: (GST_START_TEST):
5485         * docs/gst/gstreamer-sections.txt:
5486         * gst/gstutils.c: (set_state_async_thread_func),
5487         (gst_element_set_state_async):
5488         * gst/gstutils.h:
5489           add a "gst_element_set_state_async" method that
5490           sets the state and starts a thread to make sure the state
5491           change completes as best as it can
5492
5493 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5494
5495         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5496           codify design+behaviour in testsuite after discussion
5497
5498 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5499
5500         * docs/gst/tmpl/gstelement.sgml:
5501         * docs/manual/appendix-quotes.xml:
5502           add a quote
5503         * gst/gstelement.c: (gst_element_set_state):
5504           add some debug
5505
5506 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5507
5508         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5509         (gst_base_transform_prepare_output_buf),
5510         (gst_base_transform_handle_buffer):
5511         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5512         (gst_capsfilter_prepare_buf):
5513           Remove the requirement for sub-classes to call the parent
5514           implementation of prepare_output_buffer with a wrapper function.
5515           
5516         * gst/gsttaglist.h:
5517         * gst/gsttagsetter.h:
5518           Fix #define wrapper
5519
5520 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5521
5522         * docs/gst/gstreamer-sections.txt:
5523           more doc cleanups
5524
5525 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5526
5527         * docs/gst/gstreamer-sections.txt:
5528         * docs/gst/tmpl/gstelement.sgml:
5529         * docs/gst/tmpl/gstplugin.sgml:
5530         * gst/gstminiobject.c:
5531         * gst/gstvalue.h:
5532           docs now stop throwing warnings
5533
5534 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5535
5536         * docs/gst/gstreamer-sections.txt:
5537         * docs/gst/gstreamer.types:
5538         * docs/gst/tmpl/gstpad.sgml:
5539         * docs/gst/tmpl/gsttypes.sgml:
5540         * gst/base/gstadapter.h:
5541         * gst/base/gstbasesink.h:
5542         * gst/base/gstbasesrc.h:
5543         * gst/gstbin.h:
5544         * gst/gstbuffer.h:
5545         * gst/gstbus.h:
5546         * gst/gstcaps.h:
5547         * gst/gstclock.h:
5548         * gst/gstelement.h:
5549         * gst/gstevent.h:
5550         * gst/gstmessage.h:
5551         * gst/gstpad.h:
5552         * gst/gststructure.c:
5553         * gst/registries/gstlibxmlregistry.h:
5554           various documentation fixes
5555
5556 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5557
5558         * docs/gst/gstreamer-sections.txt:
5559         * docs/gst/tmpl/gstvalue.sgml:
5560           rearrange gstvalue section
5561         * gst/gstutils.c: (gst_element_state_get_name):
5562           NONE -> VOID
5563         * gst/gstvalue.c: (_gst_value_initialize):
5564         * gst/gstvalue.h:
5565           doc updates
5566
5567 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5568
5569         * check/gst-libs/controller.c:
5570           Header include fix.
5571         * gst/base/gstbasetransform.c:
5572         (gst_base_transform_default_prepare_buf),
5573         (gst_base_transform_handle_buffer):
5574         * gst/base/gstbasetransform.h:
5575           Some more basetransform changes and fixes to enable sub-classes
5576           that modify buffer metadata only.
5577         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5578         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5579         (gst_capsfilter_prepare_buf):
5580           If the output pad has fixed allowed caps and input buffers 
5581           don't have any, set the fixed caps on outgoing buffers.
5582
5583 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5584         * check/elements/identity.c: (GST_START_TEST):
5585           Make the error a little clearer when the test fails because
5586           identity made a copy of the buffer.
5587         * docs/gst/gstreamer-sections.txt:
5588           New symbols in gstbasetransform.h
5589         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5590         (gst_base_transform_init), (gst_base_transform_transform_size),
5591         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5592         (gst_base_transform_default_prepare_buf),
5593         (gst_base_transform_get_unit_size),
5594         (gst_base_transform_buffer_alloc),
5595         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5596         (gst_base_transform_change_state),
5597         (gst_base_transform_set_passthrough),
5598         (gst_base_transform_set_in_place),
5599         (gst_base_transform_is_in_place):
5600         * gst/base/gstbasetransform.h:
5601           Change BaseTransform to separate in_place operate from same_caps
5602           output. in_place implies that the element can perform the transform
5603           on incoming buffers in-place, even if the caps on the output are
5604           different.
5605           Sub-class elements can now implement special buffer allocation
5606           methods for outgoing buffers if they wish to.
5607           Big documentation addition.
5608         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5609         * gst/elements/gstelements.c:
5610           Changes for basetransform modifications.
5611         * gst/elements/Makefile.am:
5612         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5613           Compile fix. Extra debug output.
5614
5615 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5618         (gst_pad_suite):
5619           add tests for valid pad naming
5620         * gst/check/gstcheck.c: (gst_check_log_message_func),
5621         (gst_check_log_critical_func):
5622           add ASSERT_WARNING
5623           remove printing of code, it is fragile when the code contains
5624           % and the line number is enough info
5625         * gst/check/gstcheck.h:
5626         * gst/gstpad.c: (gst_pad_template_new):
5627           fix memleaks
5628
5629 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5630
5631         * configure.ac:
5632           say what CHECK flags we use
5633         * docs/libs/gstreamer-libs.types:
5634         * libs/gst/controller/Makefile.am:
5635         * libs/gst/controller/gst-controller.c:
5636         * libs/gst/controller/gst-controller.h:
5637         * libs/gst/controller/gst-helper.c:
5638         * libs/gst/controller/gst-interpolation.c:
5639         * libs/gst/controller/gstcontroller.c:
5640         * libs/gst/controller/gsthelper.c:
5641         * libs/gst/controller/gstinterpolation.c:
5642         * tools/gst-inspect.c: (print_plugin_info):
5643           we don't use dashes in header names
5644
5645 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5646
5647         * check/Makefile.am:
5648         * check/gst/.cvsignore:
5649         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5650         (gst_pipeline_suite), (main):
5651           adding a test for pipelines and state changes
5652         * gst/gstutils.c: (get_state_func):
5653           add some debugging
5654         * gstreamer.spec.in:
5655           fix up spec file
5656
5657 2005-09-08  Michael Smith <msmith@fluendo.com>
5658
5659         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5660         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5661         (gst_file_src_is_seekable), (gst_file_src_get_size),
5662         (gst_file_src_start):
5663         * gst/elements/gstfilesrc.h:
5664           Various fixes for unseekable, unmmapable, and non-normal files, so
5665           that fallback to read() rather than mmap() works.
5666         * gst/gstevent.c: (gst_event_new_newsegment):
5667           Allow newsegment events with segment_start == segment_end, as will
5668           correctly happen if you use filesrc on a zero-size file, for
5669           example.
5670
5671 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5672
5673         * gst/gstplugin.c: (gst_plugin_load_file):
5674           Call g_module_close when we don't load the module
5675
5676         * gst/registries/gstlibxmlregistry.c:
5677         (gst_xml_registry_get_property):
5678           Port leak fix from 0.8
5679
5680 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5681
5682         * docs/gst/gstreamer-docs.sgml:
5683         * docs/gst/tmpl/.cvsignore:
5684         * docs/gst/tmpl/gsttrace.sgml:
5685         * docs/gst/tmpl/gsttrashstack.sgml:
5686         * gst/Makefile.am:
5687         * gst/gst.h:
5688         * gst/gstelement.h:
5689         * gst/gstevent.h:
5690         * gst/gstmessage.c:
5691         * gst/gstmessage.h:
5692         * gst/gsttag.c:
5693         * gst/gsttag.h:
5694         * gst/gsttaginterface.c:
5695         * gst/gsttaginterface.h:
5696         * gst/gsttaglist.c:
5697         * gst/gsttaglist.h:
5698         * gst/gsttagsetter.c:
5699         * gst/gsttagsetter.h:
5700         * gst/gsttrace.c:
5701         * gst/gsttrace.h:
5702         * gst/gsttrashstack.c:
5703           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5704           inlined docs for gsttrace, gsttrashstack
5705
5706 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5707
5708         * gst/Makefile.am:
5709         * gst/elements/gstbufferstore.h:
5710         * gst/elements/gsttypefindelement.c:
5711         * gst/elements/gsttypefindelement.h:
5712         * gst/gst.h:
5713         * gst/gsttypefind.c:
5714         * gst/gsttypefind.h:
5715         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5716         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5717         (gst_type_find_factory_dispose),
5718         (gst_type_find_factory_unload_thyself),
5719         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5720         (gst_type_find_factory_get_caps),
5721         (gst_type_find_factory_get_extensions),
5722         (gst_type_find_factory_call_function):
5723         * gst/gsttypefindfactory.h:
5724         * gst/registries/gstlibxmlregistry.c:
5725         * gst/registries/gstxmlregistry.c:
5726           splitted gsttypefind into gsttypefind, gsttypefindfactory
5727
5728 2005-09-07  Andy Wingo  <wingo@pobox.com>
5729
5730         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5731         condition whereby the pad's task function is entered before the
5732         pad_mode variable was set.
5733
5734 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5735
5736         * gst/gstpad.c: (gst_pad_alloc_buffer):
5737           Catch misbehaving pad_alloc functions that don't
5738           set up caps and do it for them.
5739
5740 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5741
5742         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5743           test for pipe!=NULL
5744         * docs/gst/tmpl/.cvsignore:
5745         * docs/gst/tmpl/gstmemchunk.sgml:
5746         * docs/gst/tmpl/gstparse.sgml:
5747         * docs/gst/tmpl/gsttaglist.sgml:
5748         * docs/gst/tmpl/gsttagsetter.sgml:
5749         * docs/gst/tmpl/gsttypefind.sgml:
5750         * docs/gst/tmpl/gsttypefindfactory.sgml:
5751         * gst/gstmemchunk.c:
5752         * gst/gstparse.c:
5753         * gst/gsttag.c:
5754         * gst/gsttaginterface.c:
5755         * gst/gsttypefind.c:
5756         * gst/gsttypefind.h:
5757           inlined more docs
5758
5759 === release 0.9.2 ===
5760
5761 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5762
5763         * NEWS:
5764         * RELEASE:
5765         * configure.ac:
5766           releasing 0.9.2, "South"
5767
5768 2005-09-05  Andy Wingo  <wingo@pobox.com>
5769
5770         * gst/registries/gstxmlregistry.h:
5771         * gst/registries/gstxmlregistry.c: Um... resurrect...
5772         
5773         * gst/registries/gstxmlregistry.h:
5774         * gst/registries/gstxmlregistry.c: and update to newer API.
5775         Incidentally they should be a bit faster now that they don't have
5776         to parse the caps.
5777         
5778 2005-09-05  Andy Wingo  <wingo@pobox.com>
5779
5780         * gst/registries/gstxmlregistry.h:
5781         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5782         replaced by the libxml registry a while back
5783
5784 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5785
5786         * docs/gst/tmpl/gstplugin.sgml:
5787         * gst/elements/gstelements.c:
5788         * gst/gst.c:
5789         * gst/gstplugin.c: (gst_plugin_register_func),
5790         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5791         (gst_plugin_get_source):
5792         * gst/gstplugin.h:
5793         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5794         (gst_xml_registry_save_plugin):
5795         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5796         (gst_xml_registry_save_plugin):
5797         * tools/gst-inspect.c: (print_plugin_info):
5798           add a "source" plugin description field, to represent the source
5799           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5800           will set it to PACKAGE, which is automake's idea of the name of
5801           the source project.
5802
5803 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5804
5805         * Makefile.am:
5806         * autogen.sh:
5807         * configure.ac:
5808         * docs/Makefile.am:
5809         * docs/faq/Makefile.am:
5810         * docs/gst/tmpl/gstelement.sgml:
5811         * docs/gst/tmpl/gsttypes.sgml:
5812         * docs/htmlinstall.mak:
5813         * docs/manual/Makefile.am:
5814         * docs/pwg/Makefile.am:
5815           reorganize doc build a little
5816           split out docbook and gtk-doc stuff
5817           have two separate --enable's and enable them through autogen
5818           but disable by default in configure (to be similar to other
5819           projects)
5820         * gstreamer.spec.in:
5821           clean up docs install
5822         * po/af.po:
5823         * po/az.po:
5824         * po/ca.po:
5825         * po/cs.po:
5826         * po/de.po:
5827         * po/en_GB.po:
5828         * po/fr.po:
5829         * po/it.po:
5830         * po/nb.po:
5831         * po/nl.po:
5832         * po/ru.po:
5833         * po/sq.po:
5834         * po/sr.po:
5835         * po/sv.po:
5836         * po/tr.po:
5837         * po/uk.po:
5838         * po/vi.po:
5839           translation updates
5840
5841 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5842
5843         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5844           Add comment.
5845           
5846         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5847         (gst_fake_sink_change_state):
5848           Make state change function thread-safe.
5849           
5850         * gst/gstpad.c: (gst_pad_alloc_buffer):
5851           Set offset on generic buffer allocated by fallback.
5852
5853 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5854
5855         * docs/gst/gstreamer-sections.txt:
5856         * docs/gst/tmpl/gstelement.sgml:
5857         * gst/gstpad.c:
5858         * libs/gst/controller/gst-controller.c:
5859         (gst_controlled_property_set_interpolation_mode),
5860         (gst_controlled_property_new),
5861         (gst_controller_find_controlled_property):
5862          run the wingo-magic script against the docs
5863
5864 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5865
5866         * docs/gst/gstreamer-docs.sgml:
5867         * docs/gst/gstreamer-sections.txt:
5868         * docs/gst/tmpl/.cvsignore:
5869         * docs/gst/tmpl/gstelementdetails.sgml:
5870         * docs/gst/tmpl/gstelementfactory.sgml:
5871         * gst/gst.c:
5872         * gst/gstbus.c:
5873         * gst/gstelementfactory.c:
5874         * gst/gstelementfactory.h:
5875           merged elementdetails docs into elementfactory docs
5876           inlined both
5877
5878 2005-09-02  Andy Wingo  <wingo@pobox.com>
5879
5880         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5881         consider this enum an enum and not a flags.
5882
5883 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5884
5885         * docs/gst/gstreamer-docs.sgml:
5886         * docs/gst/tmpl/.cvsignore:
5887         * docs/gst/tmpl/gstghostpad.sgml:
5888         * docs/gst/tmpl/gstiterator.sgml:
5889         * docs/gst/tmpl/gstmacros.sgml:
5890         * docs/gst/tmpl/gstrealpad.sgml:
5891         * docs/gst/tmpl/gstregistry.sgml:
5892         * docs/gst/tmpl/gstregistrypool.sgml:
5893         * docs/gst/tmpl/gststructure.sgml:
5894         * docs/gst/tmpl/gstsystemclock.sgml:
5895         * docs/gst/tmpl/gsttrace.sgml:
5896         * gst/gstghostpad.c:
5897         * gst/gstmacros.h:
5898         * gst/gstmemchunk.c:
5899         * gst/gstmemchunk.h:
5900         * gst/gstqueue.c:
5901         * gst/gstregistry.c:
5902         * gst/gstregistrypool.c:
5903         * gst/gststructure.c:
5904         * gst/gstsystemclock.c:
5905           more docs inlined
5906
5907 2005-09-02  Andy Wingo  <wingo@pobox.com>
5908
5909         * gst/gstelement.h (GstState): Renamed from GstElementState,
5910         changed to be a normal enum instead of flags.
5911         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5912         munged to be GST_STATE_CHANGE_*.
5913         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5914         work with the new state representation.
5915         (GstStateChange): New enumeration of possible state transitions.
5916         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5917         (GstElementClass::change_state): Pass the GstStateChange along as
5918         an argument. Helps language bindings, so they don't have to use
5919         tricky lock-needing macros like GST_STATE_CHANGE ().
5920
5921         * scripts/update-states (file): New script. Run it on a file to
5922         update it for state naming and API changes. Updates files in
5923         place.
5924
5925         * All files updated for the new API.
5926
5927 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5928
5929         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5930         * gst/gstutils.c: (gst_util_set_value_from_string),
5931         (gst_util_set_object_arg):
5932           fix a bunch of unchecked return values
5933         * tools/gst-complete.c: (main):
5934         * gstreamer.spec.in:
5935           clean up a little
5936
5937 2005-09-01  Wim Taymans  <wim@fluendo.com>
5938
5939         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5940         (gst_base_sink_event), (gst_base_sink_do_sync),
5941         (gst_base_sink_handle_event):
5942         * gst/base/gstbasesink.h:
5943         Handle newsegments more correctly.
5944
5945         * gst/gstbus.c:
5946         Fix docs.
5947
5948         * gst/gstevent.c: (gst_event_new_newsegment):
5949         A newsegment cannot have a start_time of -1
5950
5951 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5952
5953         * win32/gstenumtypes.c:
5954         * win32/gstenumtypes.h:
5955           Update
5956
5957 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5958
5959         * libs/gst/controller/gst-controller.c:
5960         (gst_controlled_property_set_interpolation_mode),
5961         (gst_controlled_property_new):
5962          fixed boolean again
5963
5964 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5965
5966         * docs/faq/gst-uninstalled:
5967           add -good
5968         * gst/gstevent.c:
5969         * gst/gstevent.h:
5970           remove wrong docs
5971         * gst/gstutils.c: (gst_element_link_filtered):
5972         * gst/gstutils.h:
5973           add gst_element_link_filtered
5974
5975 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5976
5977         * docs/gst/gstreamer-docs.sgml:
5978         * docs/gst/gstreamer-sections.txt:
5979         * docs/gst/tmpl/.cvsignore:
5980         * docs/gst/tmpl/gsterror.sgml:
5981         * docs/gst/tmpl/gstfilter.sgml:
5982         * docs/gst/tmpl/gsturihandler.sgml:
5983         * docs/gst/tmpl/gsturitype.sgml:
5984         * docs/gst/tmpl/gstutils.sgml:
5985         * docs/gst/tmpl/gstxml.sgml:
5986         * gst/gsterror.c:
5987         * gst/gsterror.h:
5988         * gst/gstfilter.c:
5989         * gst/gsturi.c:
5990         * gst/gsturitype.c:
5991         * gst/gstutils.c:
5992         * gst/gstxml.c:
5993           inlined more docs, fixed double id-ref
5994
5995 2005-08-31  Wim Taymans  <wim@fluendo.com>
5996
5997         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5998         (gst_base_transform_handle_buffer):
5999         Passthrough elements don't need the caps as they don't care.
6000
6001 2005-08-31  Wim Taymans  <wim@fluendo.com>
6002
6003         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6004         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6005         Don't leak refcounts on buffers.
6006
6007 2005-08-31  Wim Taymans  <wim@fluendo.com>
6008
6009         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6010         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6011         (gst_base_transform_chain), (gst_base_transform_change_state):
6012         * gst/base/gstbasetransform.h:
6013         Handle the case where we are not negotiated more gracefully.
6014
6015 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6016
6017         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6018         (gst_file_src_map_region):
6019           Set READONLY flag on mmap'ed buffers, otherwise
6020           gst_buffer_make_writable() won't work properly (#314708).
6021
6022 2005-08-31  Wim Taymans  <wim@fluendo.com>
6023
6024         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6025         passthrough elements can even do inplace on non writable
6026         buffers (as they don't touch them).
6027
6028 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6029
6030         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6031         (gst_test_mono_source_set_property),
6032         (gst_test_mono_source_class_init), (GST_START_TEST),
6033         (gst_controller_suite):
6034           more tests (hehe I have the most)
6035         * gst/gstbus.c:
6036           describe popping messages whenusing mulltiple sources
6037         * libs/gst/controller/gst-controller.c:
6038         (gst_controlled_property_set_interpolation_mode),
6039         (gst_controlled_property_new):
6040         * libs/gst/controller/gst-controller.h:
6041         * libs/gst/controller/gst-interpolation.c:
6042           implement boolean properties
6043
6044 2005-08-31  Wim Taymans  <wim@fluendo.com>
6045
6046         * gst/gstminiobject.c: (gst_mini_object_ref):
6047         Cannot assert that the refcount has to be positive
6048         since a disposed object can be resurrected.
6049
6050 2005-08-31  Wim Taymans  <wim@fluendo.com>
6051
6052         * gst/gstpad.c: (gst_pad_init):
6053         Revert change, need to first fix badly behaving 
6054         apps.
6055
6056 2005-08-30  Wim Taymans  <wim@fluendo.com>
6057
6058         * check/elements/fakesrc.c: (setup_fakesrc):
6059         * check/elements/identity.c: (setup_identity):
6060         Activate pads before using them.
6061
6062 2005-08-30  Wim Taymans  <wim@fluendo.com>
6063
6064         * gst/base/gstadapter.c: (gst_adapter_flush):
6065         Flushing out 0 bytes is ok for this function.
6066
6067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6068         no newsegment gives a warning and sets the start/stop to 
6069         invalid.
6070
6071         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6072         (gst_base_transform_set_passthrough):
6073         Some debug info.
6074
6075         * gst/gstminiobject.c: (gst_mini_object_ref):
6076         Check refcount here too.
6077
6078         * gst/gstpad.c: (gst_pad_init):
6079         Pads are initially flushing and refusing data.
6080
6081         * gst/gstutils.c: (gst_element_link_pads_filtered):
6082         When adding a capsfilter element make sure it has the
6083         same state as the parent bin.
6084
6085 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6086
6087         * docs/gst/tmpl/.cvsignore:
6088         * docs/gst/tmpl/gstformat.sgml:
6089         * docs/gst/tmpl/gstversion.sgml:
6090         * gst/gstbus.h:
6091         * gst/gstformat.c:
6092         * gst/gstformat.h:
6093         * gst/gstversion.h.in:
6094           more docs and two more inlined
6095
6096 2005-08-30  Wim Taymans  <wim@fluendo.com>
6097
6098         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6099         Don't sync to clock.
6100
6101 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6102
6103         * docs/gst/gstreamer-sections.txt:
6104           ultral33t func10ns deserve to appear in the docs actually
6105         * docs/gst/tmpl/.cvsignore:
6106         * docs/gst/tmpl/gstcompat.sgml:
6107         * docs/gst/tmpl/gstconfig.sgml:
6108         * gst/check/gstcheck.c:
6109         * gst/gstcompat.h:
6110         * gst/gstconfig.h.in:
6111           inlined more docs
6112
6113 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6114
6115         * docs/gst/tmpl/.cvsignore:
6116         * docs/gst/tmpl/gstquery.sgml:
6117         * docs/gst/tmpl/gstutils.sgml:
6118         * gst/gstquery.c:
6119         * gst/gstquery.h:
6120           inlined and extended docs
6121
6122 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6123
6124         * check/gst-libs/controller.c: (GST_START_TEST),
6125         (gst_controller_suite):
6126           more tests
6127         * docs/gst/tmpl/gstutils.sgml:
6128         * docs/libs/gstreamer-libs-sections.txt:
6129         * docs/libs/tmpl/gstdataprotocol.sgml:
6130           include path fixes
6131         * examples/controller/audio-example.c: (main):
6132           controller example works now
6133         * gst/gstclock.h:
6134           doc fixes
6135         * tools/gst-inspect.c: (print_element_properties_info):
6136           show param spec flags
6137
6138 2005-08-29  Andy Wingo  <wingo@pobox.com>
6139
6140         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6141
6142 2005-08-28  Andy Wingo  <wingo@pobox.com>
6143
6144         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6145         as having two arguments instead of just one. Allows superclasses
6146         to access information on subclasses -- see the terrible for() loop
6147         in gtype.c:g_type_create_instance for the reason why. All callers
6148         changed.
6149
6150 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6151
6152         * docs/design/part-messages.txt:
6153           update info
6154         * docs/gst/tmpl/.cvsignore:
6155         * docs/gst/tmpl/gstcaps.sgml:
6156         * docs/gst/tmpl/gstclock.sgml:
6157         * gst/gstbus.c:
6158         * gst/gstcaps.c:
6159         * gst/gstcaps.h:
6160         * gst/gstclock.c:
6161         * gst/gstclock.h:
6162         * gst/gstmessage.c:
6163           added descriptions for bus and message
6164           inline caps and clock docs
6165
6166 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6167
6168         * gst/gstmessage.c:
6169         * gst/gstmessage.h:
6170           doc fixes
6171
6172 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6173
6174         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6175           fix div-by-zero
6176
6177 2005-08-26  Andy Wingo  <wingo@pobox.com>
6178
6179         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6180         element_set_state's return val.
6181         (test_2_elements): Add test that's been disabled for months.
6182
6183         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6184         can-activate-pull properties.
6185
6186         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6187         can-activate-pull properties. Implement is_seekable so fakesrc can
6188         operate in pull mode.
6189
6190         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6191         properties.
6192         (gst_base_sink_activate, gst_base_sink_activate_pull)
6193         (gst_base_sink_activate_push): Make activation mode choosing work.
6194         Cleanups.
6195         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6196         is right. Make pull mode work. Post an eos before pausing in pull
6197         mode.
6198         (gst_base_sink_change_state): Pay attention to the core's
6199         change_state() return val.
6200         
6201         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6202         has-getrange properties. Cleanups.
6203         
6204         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6205         has_getrange and replace with can_activate_pull and
6206         can_activate_push.
6207
6208         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6209         locking comments. Remove has_loop, has_chain and replace with
6210         can_activate_pull and can_activate_push.
6211
6212 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6213
6214         * configure.ac:
6215         * examples/Makefile.am:
6216         * examples/metadata/Makefile.am:
6217         * examples/metadata/read-metadata.c: (message_loop),
6218         (have_pad_handler), (make_pipeline), (print_tag), (main):
6219           Add metadata reading example that loops over a list of filenames,
6220           dumping any tags found.
6221
6222         * gst/gstbus.c: (gst_bus_dispose):
6223         * gst/gstelement.c: (gst_element_dispose):
6224           Release a few potentially-held references in dispose.
6225
6226 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6227
6228         * docs/gst/tmpl/gstminiobject.sgml:
6229           do *not* add tmpl/*.sgml files to CVS!
6230
6231 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6232
6233         * libs/gst/bytestream/.cvsignore:
6234         * libs/gst/bytestream/Makefile.am:
6235         * libs/gst/bytestream/adapter.c:
6236         * libs/gst/bytestream/adapter.h:
6237         * libs/gst/bytestream/bytestream.c:
6238         * libs/gst/bytestream/bytestream.h:
6239         * libs/gst/bytestream/filepad.c:
6240         * libs/gst/bytestream/filepad.h:
6241           removing obsolete files
6242
6243 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6244
6245         * docs/gst/gstreamer-docs.sgml:
6246         * docs/libs/gstreamer-libs-docs.sgml:
6247           disabed additional index entries again, as this makes docs-gen just
6248           slow and they aren't useful yet
6249         * docs/libs/gstreamer-libs-sections.txt:
6250           little -section.txt cleanup for libs
6251
6252 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6253
6254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6255         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6256           fix up some debugging
6257         (gst_base_transform_get_unit_size),
6258         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6259         (gst_base_transform_handle_buffer):
6260         * gst/base/gstbasetransform.h:
6261           handle and store timed NEWSEGMENT events so that subclasses that
6262           calculate time by counting samples have a segment_start time they
6263           need to add to their timestamps - see audioresample
6264
6265 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6266
6267         * gst/gstbin.h:
6268           removed ';' from the end of macro defs
6269         * docs/gst/gstreamer-docs.sgml:
6270         * docs/gst/gstreamer-sections.txt:
6271         * docs/gst/tmpl/.cvsignore:
6272         * gst/gstbus.h:
6273         * gst/gstelement.c: (gst_element_class_init),
6274         (gst_element_set_state), (activate_pads),
6275         (gst_element_save_thyself):
6276         * gst/gstevent.c: (gst_event_new_newsegment):
6277         * gst/gstevent.h:
6278         * gst/gstiterator.c:
6279         * gst/gstiterator.h:
6280         * gst/gstpad.c:
6281         * gst/gstprobe.h:
6282         * gst/gstutils.c: (gst_pad_query_convert):
6283         * gst/gstutils.h:
6284           fixed parameter name mismatches between source, header and docs
6285           added some more docs, resolved the last batch of unused elements in
6286           docs (now someone needs to doc them)
6287
6288 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6289
6290         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6291         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6292           don't walk through the plugins backwards.  Where is all this
6293           reversed logic coming from ?
6294
6295 2005-08-25  Wim Taymans  <wim@fluendo.com>
6296
6297         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6298         (gst_base_transform_transform_size),
6299         (gst_base_transform_configure_caps),
6300         (gst_base_transform_get_unit_size),
6301         (gst_base_transform_buffer_alloc),
6302         (gst_base_transform_change_state):
6303         * gst/base/gstbasetransform.h:
6304         Cache caps unit_size.
6305         Make sure we cannot negotiate up and downstream at the
6306         same time.
6307
6308 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6309
6310         * gst/gst.c: (init_pre), (init_post):
6311           register the installed plugin path after the env var
6312         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6313         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6314           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6315           directories, so the tests can prefer uninstalled over installed
6316
6317 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6318
6319         * gst/base/gstbasetransform.h:
6320           comment
6321         * gst/gstpad.c:
6322           add to docs
6323
6324 2005-08-25  Wim Taymans  <wim@fluendo.com>
6325
6326         * gst/gstbin.c: (bin_bus_handler):
6327         Be a bit more conservative about the posted message.
6328         
6329         * gst/gstbus.c: (gst_bus_post):
6330         Some cleanups, warn wrong return values.
6331
6332 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6333
6334         * check/gst/gstbin.c: (GST_START_TEST):
6335         * gst/gstbin.c: (bin_bus_handler):
6336         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6337         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6338         (gst_message_new_warning), (gst_message_new_tag),
6339         (gst_message_new_state_changed), (gst_message_new_segment_start),
6340         (gst_message_new_segment_done), (gst_message_new_custom):
6341         * gst/gstmessage.h:
6342         * tools/gst-launch.c: (event_loop):
6343         * tools/gst-md5sum.c: (event_loop):
6344           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6345
6346 2005-08-25  Wim Taymans  <wim@fluendo.com>
6347
6348         * check/generic/states.c: (GST_START_TEST):
6349         Cleanup can be done at the end.
6350
6351         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6352         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6353         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6354         Oh boy.. Thanks for finding this, Thomas. 
6355
6356 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6357
6358         * docs/gst/gstreamer.types:
6359           added missing types
6360
6361 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6362
6363         * docs/gst/gstreamer-docs.sgml:
6364         * docs/gst/gstreamer-sections.txt:
6365         * docs/gst/tmpl/.cvsignore:
6366         * gst/gstbin.c:
6367         * gst/gstiterator.c:
6368         * gst/gstutils.c:
6369         * gst/registries/gstxmlregistry.h:
6370           added missing classes and symbols (123 more to go)
6371           removed removed symbols from section file
6372           fixed many doc-comments
6373
6374 2005-08-24  Wim Taymans  <wim@fluendo.com>
6375
6376         * check/generic/states.c: (GST_START_TEST):
6377         Make sure all tasks are stopped.
6378
6379         * check/gst/gstbin.c: (GST_START_TEST):
6380         Unref after usage for proper valgrinding.
6381
6382         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6383         Really wait for the task to stop before destroying the
6384         mutex.
6385
6386         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6387         (gst_queue_src_activate_push):
6388         Small cleanups. Don't stop the task when we did not start
6389         it.
6390
6391         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6392         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6393         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6394         (gst_task_join):
6395         * gst/gsttask.h:
6396         Protect the stream lock with the object lock.
6397         Disallow setting the stream lock when running.
6398         Add cleanup_all to wait for the threadpool to finish.
6399         Remove code to autoallocate a mutex if none was provided.
6400         Add _join() to wait for a task to stop.
6401         Protect the thread pool with a global lock.
6402
6403 2005-08-24  Wim Taymans  <wim@fluendo.com>
6404
6405         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6406         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6407         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6408         * gst/base/gstbasesink.h:
6409         Handle newsegment events correctly.
6410         Drop buffers out of the segment range.
6411
6412 2005-08-22  Andy Wingo  <wingo@pobox.com>
6413
6414         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6415         macro, implements an interface and gstimplementsinterface for a
6416         new type.
6417
6418 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6419
6420         * check/Makefile.am:
6421         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6422           add a test that does a bunch of state changes on elements
6423           needs some fixing for valgrind
6424         * check/states/sinks.c: (gst_object_suite):
6425           whitespace
6426         * gst/gstcaps.h:
6427           add prototype for gst_caps_is_equal_fixed
6428         * gst/gstplugin.c:
6429         * gst/gstregistrypool.c:
6430           doc fixes
6431
6432 2005-08-24  Andy Wingo  <wingo@pobox.com>
6433
6434         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6435         convert a negative value. Doesn't make much sense. Mostly this is
6436         here to force callers to ensure -1 maps to -1.
6437
6438 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6439
6440         * docs/pwg/advanced-types.xml:
6441           Well done to Michael for catching my deliberate introduction
6442           of this spelling mistake. 
6443         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6444         * gst/gstelement.h:
6445           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6446           unlink pads before removing the element from the bin.
6447
6448 2005-08-24  Andy Wingo  <wingo@pobox.com>
6449
6450         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6451         the same thing as GST_DEBUG=*:4.
6452         (parse_debug_level, parse_debug_category): New helper parsers.
6453
6454 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6455
6456         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6457         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6458         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6459         (gst_base_transform_buffer_alloc),
6460         (gst_base_transform_handle_buffer):
6461           use gboolean return values and pointers to size so we can use the
6462           full GST_BUFFER_SIZE range (guint) for buffer sizes
6463           use GstPadDirection for transform_caps
6464         * gst/base/gstbasetransform.h:
6465           rename get_size to get_unit_size since that's what it is
6466         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6467           use GstPadDirection for transform_caps
6468         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6469         * gst/gstutils.h:
6470           cleanup and debugging
6471
6472 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6473
6474         * gst/gstelement.c: (gst_element_class_init),
6475         (gst_element_set_state), (activate_pads),
6476         (gst_element_save_thyself):
6477         * tools/gst-compprep.c: (main):
6478         * tools/gst-inspect.c: (print_element_properties_info):
6479         * tools/gst-xmlinspect.c: (print_element_properties):
6480           Fixed long standing mem-leak
6481
6482 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6483
6484         * check/gst/gstbin.c: (GST_START_TEST):
6485         * gst/gstbin.c: (bin_bus_handler):
6486         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6487         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6488         (gst_message_new_warning), (gst_message_new_tag),
6489         (gst_message_new_state_changed), (gst_message_new_segment_start),
6490         (gst_message_new_segment_done), (gst_message_new_custom):
6491         * gst/gstmessage.h:
6492         * tools/gst-launch.c: (event_loop):
6493         * tools/gst-md5sum.c: (event_loop):
6494           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6495           that applications can sensibly post custom messages with references
6496           to their own objects.
6497
6498 2005-08-24  Andy Wingo  <wingo@pobox.com>
6499
6500         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6501         already.
6502
6503 2005-08-24  Wim Taymans  <wim@fluendo.com>
6504
6505         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6506         (gst_base_transform_transform_caps),
6507         (gst_base_transform_transform_size),
6508         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6509         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6510         (gst_base_transform_handle_buffer):
6511         * gst/base/gstbasetransform.h:
6512         Many fixes and new features added by Thomas. Can now also do
6513         transforms with variable sizes and a custom fixate_caps function.
6514
6515 2005-08-24  Wim Taymans  <wim@fluendo.com>
6516
6517         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6518         Some debugging.
6519
6520         * gst/gstclock.h:
6521         Cast to ClockTime before formatting to time.
6522
6523         * gst/gstutils.h:
6524         Cleanups.
6525
6526 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6527
6528         * check/gst-libs/controller.c: (GST_START_TEST),
6529         (gst_controller_suite):
6530         * docs/gst/tmpl/gstcaps.sgml:
6531         * docs/gst/tmpl/gstghostpad.sgml:
6532         * docs/gst/tmpl/gstquery.sgml:
6533         * docs/gst/tmpl/gstutils.sgml:
6534         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6535         (gst_object_sink_values), (gst_object_get_value_arrays),
6536         (gst_object_get_value_array):
6537           gracefully handle helper method calls to objects that are not beeing
6538           controlled, added test case for that          
6539
6540 2005-08-23  Wim Taymans  <wim@fluendo.com>
6541
6542         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6543         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6544         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6545         (gst_event_parse_qos), (gst_event_new_seek),
6546         (gst_event_parse_seek):
6547         * gst/gstevent.h:
6548         Some more debugging output and doc cleanups.
6549
6550         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6551         Fix possible deadlock.
6552
6553 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6554
6555         * docs/gst/gstreamer-docs.sgml:
6556         * docs/gst/gstreamer-sections.txt:
6557         * docs/gst/gstreamer.types:
6558         * docs/gst/tmpl/.cvsignore:
6559         * gst/gstbin.h:
6560         * gst/gstbus.c:
6561         * gst/gstelement.c:
6562         * gst/gstevent.h:
6563           added 100 symbols from gstreamer-unused.txt to the right sections
6564           fixed more broken comments
6565           added GstBus to docs
6566
6567 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6568
6569         * docs/gst/gstreamer-sections.txt:
6570         * docs/gst/tmpl/.cvsignore:
6571         * docs/gst/tmpl/gstbin.sgml:
6572         * docs/gst/tmpl/gstbuffer.sgml:
6573         * gst/base/gstbasesrc.c:
6574         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6575         * gst/gstbuffer.c:
6576         * gst/gstbuffer.h:
6577         * tools/gst-launch.1.in:
6578           inlined more doc comments, added missing comments and fixed comments
6579           fixed typos
6580
6581 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6582
6583         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6584           some debugging
6585         * gst/gstcaps.h:
6586           whitespace fixes
6587         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6588           more debugging
6589         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6590         * gst/gststructure.h:
6591           add a fixate function for booleans; add a FIXME that these func
6592           names should probably be gst_structure_fixate_*
6593
6594 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6595
6596         * docs/gst/gstreamer-docs.sgml:
6597         * docs/gst/gstreamer-sections.txt:
6598         * gst/Makefile.am:
6599         * gst/gstbin.c: (gst_bin_get_type),
6600         (gst_bin_child_proxy_get_child_by_index),
6601         (gst_bin_child_proxy_get_children_count),
6602         (gst_bin_child_proxy_init):
6603         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6604         (gst_child_proxy_get_child_by_index),
6605         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6606         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6607         (gst_child_proxy_get), (gst_child_proxy_set_property),
6608         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6609         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6610         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6611         * gst/gstchildproxy.h:
6612         * gst/parse/grammar.y:
6613         * tools/gst-inspect.c: (print_interfaces),
6614         (print_element_properties_info), (print_element_info):
6615           ported gstchildproxy over from 0.8
6616           ported gst-inspect fixes and enhancements over from 0.8
6617
6618 2005-08-22  Wim Taymans  <wim@fluendo.com>
6619
6620         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6621         (gst_base_transform_handle_buffer):
6622         Also call the transform function if we have ANY caps.
6623
6624         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6625         Fix debug info.
6626
6627 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6628
6629         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6630           Don't pretend to handle seek events if the source is not seekable
6631
6632 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6633
6634         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6635           Remove extra parameter to debug output
6636
6637         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6638         (gst_base_src_do_seek), (gst_base_src_activate_push):
6639           Fix seek event handling.
6640
6641         * gst/gstpipeline.c: (gst_pipeline_change_state):
6642         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6643         (gst_queue_src_activate_push):
6644           Don't start the src pad task on FLUSH_STOP if the pad
6645           isn't linked.
6646           Debug changes.
6647
6648 2005-08-22  Wim Taymans  <wim@fluendo.com>
6649
6650         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6651         Added check for gst_static_caps_get() refcounting.
6652
6653 2005-08-22  Wim Taymans  <wim@fluendo.com>
6654
6655         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6656         Make _static_caps_get() refcounting sane.
6657         
6658         * gst/gstelement.c: (gst_element_set_state):
6659         Add g_return_val_if_fail() to protect against segfaults.
6660
6661 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6662
6663         * docs/gst/tmpl/gstevent.sgml:
6664         * gst/gstevent.c:
6665         * gst/gstevent.h:
6666           inlined remaining docs, added missing doc comments
6667
6668 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6669
6670         * check/gst/gstbin.c: (GST_START_TEST):
6671           since we don't know when preroll is done, use refcount range
6672           check for the sink
6673         * gst/check/gstcheck.h:
6674           add macro for checking refcount range
6675
6676 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6677
6678         * check/Makefile.am:
6679           clean up environment for when registry gets built versus
6680           when actual tests are run; valgrind seems to not report
6681           leaks if GST_PLUGIN_PATH is set to some specific values
6682         * check/gst/gstbin.c: (GST_START_TEST):
6683           add more refcounting checks; maybe this exposes a
6684           preroll lock bug ?
6685         * common/check.mak:
6686         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6687         * gst/check/gstcheck.h:
6688         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6689         (gst_bin_change_state):
6690         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6691           add/fix debugging/whitespace
6692
6693 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6694
6695         * check/gst/gstevent.c: (event_probe), (test_event),
6696         (GST_START_TEST):
6697          Er, don't call gst_bin_watch_for_state_change you idiot.
6698
6699 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6700
6701         * check/Makefile.am:
6702           Use CHECK_CFLAGS and CHECK_LIBS
6703         * check/gst/gstevent.c: (event_probe), (test_event),
6704         (GST_START_TEST):
6705           Don't leak events.
6706         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6707         (gst_base_src_start), (gst_base_src_stop),
6708         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6709         (gst_base_src_change_state):
6710           Sprinkle gst_base_src_stop liberally around error paths to fix
6711           problems reusing a source after failed state changes.
6712         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6713         (helper_find_suggest), (gst_type_find_helper):
6714           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6715         * gst/gstevent.h:
6716         * docs/gst/tmpl/gstevent.sgml:
6717           Migrate part of the docs from the SGML file. Wait for ensonic to
6718           tell me how I did it wrong ;)
6719         * tools/gst-typefind.c: (main):
6720           Extra robustness to state changes between files.
6721
6722 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6723
6724         * check/Makefile.am:
6725           don't valgrind the controller test - it's leaking - Stefan, HELP
6726         * gst/check/gstcheck.c: (gst_check_message_error),
6727         (gst_check_chain_func), (gst_check_setup_element),
6728         (gst_check_teardown_element), (gst_check_setup_src_pad),
6729         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6730         (gst_check_teardown_sink_pad):
6731         * gst/check/gstcheck.h:
6732           add a bunch of methods to set up elements, and src and sink pads
6733         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6734         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6735         (GST_START_TEST):
6736           use them
6737         * gst/gstmessage.c:
6738         * gst/gsttag.h:
6739           whitespace/doc fixes
6740
6741 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6742
6743         * gst/gstelement.h:
6744           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6745           be handled by the application and not always printed as well
6746
6747 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6748
6749         * check/Makefile.am:
6750           set GST_TOOLS_DIR
6751         * gst/check/gstcheck.c: (gst_check_message_error):
6752         * gst/check/gstcheck.h:
6753           add a fail_unless_equals_int
6754           add fail_unless for error messages
6755
6756 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6757
6758         * check/Makefile.am:
6759         * check/gst.supp:
6760         * common/Makefile.am:
6761         * common/check.mak:
6762         * common/gst.supp:
6763           factor out some of the common stuff so we can use it
6764
6765 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6766
6767         * check/Makefile.am:
6768         * check/gst/gstiterator.c: (GST_START_TEST):
6769         * check/gst/gstsystemclock.c: (GST_START_TEST),
6770         (gst_systemclock_suite):
6771         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6772         * gst/gstclock.c:
6773           valgrind more tests
6774
6775 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6776
6777         * check/elements/.cvsignore:
6778         * check/elements/gstfakesrc.c:
6779           rename to name of element
6780         * check/elements/identity.c: (chain_func), (event_func),
6781         (setup_identity), (cleanup_identity), (GST_START_TEST),
6782         (identity_suite), (main):
6783           add a test for identity
6784         * check/Makefile.am:
6785         * pkgconfig/Makefile.am:
6786         * pkgconfig/gstreamer-check.pc.in:
6787         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6788         * gst/check:
6789         * gst/Makefile.am:
6790         * configure.ac:
6791           move the check stuff to a library that gets installed
6792         * check/gst-libs/controller.c: (GST_START_TEST):
6793         * check/gst-libs/gdp.c:
6794         * check/gst/gst.c: (GST_START_TEST):
6795         * check/gst/gstbin.c:
6796         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6797         * check/gst/gstbus.c:
6798         * check/gst/gstcaps.c: (GST_START_TEST):
6799         * check/gst/gstelement.c:
6800         * check/gst/gstghostpad.c:
6801         * check/gst/gstiterator.c:
6802         * check/gst/gstmessage.c:
6803         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6804         * check/gst/gstobject.c:
6805         * check/gst/gstpad.c: (GST_START_TEST):
6806         * check/gst/gststructure.c: (GST_START_TEST):
6807         * check/gst/gstsystemclock.c: (GST_START_TEST),
6808         (gst_systemclock_suite):
6809         * check/gst/gsttag.c: (gst_tag_suite):
6810         * check/gst/gstvalue.c:
6811         * check/pipelines/cleanup.c:
6812         * check/pipelines/simple_launch_lines.c:
6813         * check/states/sinks.c:
6814           change include statement
6815
6816         * docs/gst/gstreamer-sections.txt:
6817         * docs/gst/tmpl/gstpad.sgml:
6818           document more pad stuff
6819         * gst/gstminiobject.c: (gst_mini_object_ref),
6820         (gst_mini_object_unref):
6821           debug refcounting
6822
6823 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6824
6825         * docs/gst/tmpl/gst.sgml:
6826         * gst/gst.c:
6827           eliminate another tmpl file, fix spelling in the long-description
6828
6829 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6830
6831         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6832         (test_event), (timediff), (gstevents_suite):
6833           Should fix build on 64-bit arch's
6834
6835 2005-08-18  Andy Wingo  <wingo@pobox.com>
6836
6837         Make sure that when a pipeline goes to PLAYING, that data has
6838         actually hit the sink.
6839
6840         * check/states/sinks.c (test_sink): A sink that doesn't get any
6841         data shouldn't return SUCCESS for going to either PLAYING or
6842         PAUSED. Test also the return values on the way back down.
6843
6844         * gst/gstelement.c (gst_element_set_state): When changing the
6845         state of an element currently changing state asynchronously, go to
6846         lost-state after commiting the pending state. Makes future calls
6847         to get_state continue to return ASYNC.
6848
6849         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6850         ASYNC when going to PLAYING if we still don't have preroll, as can
6851         happen with live sources.
6852
6853 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6854
6855         * docs/pwg/advanced-types.xml:
6856           Hack long paragraph into 2 chunks as a workaround for buggy
6857           jadetex version in sid and breezy that loops infinitely and
6858           eats all RAM.
6859
6860 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6861
6862         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6863         (test_event), (timediff), (gstevents_suite):
6864           Provide more error margin in clock measurements to allow for 
6865           g_get_current_time inaccuracies.
6866
6867 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6868
6869         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6870         (test_event), (timediff), (gstevents_suite):
6871            Fix error message output so I might be able to tell why the
6872            test works here but fails on the build farm.
6873
6874 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6875
6876         * check/Makefile.am:
6877         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6878         (test_event), (timediff), (gstevents_suite), (main):
6879           I wrote a test!
6880
6881         * docs/design/part-seeking.txt:
6882           Spelling correction
6883
6884         * docs/gst/tmpl/gstevent.sgml:
6885         * docs/gst/tmpl/gstfakesrc.sgml:
6886           Docs updates.
6887
6888         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6889           Treat a buffer-without-newsegment the same as a receiving 
6890           a newsegment not in time format, and disable syncing to the clock
6891           with a warning.
6892
6893         * gst/gstbus.c: (gst_bus_set_sync_handler):
6894           Assert if anyone tries to replace the existing sync_handler for bus, 
6895           as only the owner should be setting it.
6896
6897         * gst/gstevent.h:
6898           Have a fixed set of custom event enums with events identified by
6899           their structure name (as in 0.8), rather than a free-for-all
6900           allowing collisions between enum values from different plugins.
6901
6902         * gst/gstpad.c: (gst_pad_class_init):
6903           Docs change.
6904           
6905         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6906           Handle out-of-band downstream events from the sending thread.
6907
6908 2005-08-17  Andy Wingo  <wingo@pobox.com>
6909
6910         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6911         play-timeout==0 to mean no timeout at all. In that case, don't
6912         bother with a get_state or a warning, just return directly, even
6913         if it's ASYNC.
6914
6915         * gst/base/gstbasetransform.c: Debug changes.
6916
6917         * gst/gstutils.h:
6918         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6919         ensure bins post state change messages. A bit of a hack but I can't
6920         think of a way to avoid it.
6921
6922         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6923
6924 2005-08-16  Andy Wingo  <wingo@pobox.com>
6925
6926         * gst/base/gstadapter.h:
6927         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6928         peek() but you own the data. Not terribly efficient atm.
6929
6930 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6931
6932         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6933         (gst_element_found_tags):
6934         * gst/gstutils.h:
6935           Add two utility functions for tag handling.
6936
6937 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6938
6939         * docs/manual/advanced-dataaccess.xml:
6940         * docs/manual/basics-helloworld.xml:
6941           Fix docs to use _bin_add() before _link(), which fixes the examples
6942           with recent core versions (reported by Madhan Raj M
6943           <raj_madan@rediffmail.com>, #313199).
6944
6945 2005-08-16  Wim Taymans  <wim@fluendo.com>
6946
6947         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6948         Added subtract checks.
6949
6950         * docs/design/part-events.txt:
6951         Some more docs about newsegment
6952
6953         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6954         Fix FIXME
6955
6956         * gst/gstcaps.c: (gst_caps_to_string):
6957         Add comments, cleanups.
6958         
6959         * gst/gstelement.c: (gst_element_save_thyself):
6960         cleanups
6961         
6962         * gst/gstvalue.c: (gst_value_collect_int_range),
6963         (gst_string_unwrap), (gst_value_union_int_int_range),
6964         (gst_value_union_int_range_int_range),
6965         (gst_value_intersect_int_int_range),
6966         (gst_value_intersect_int_range_int_range),
6967         (gst_value_intersect_double_double_range),
6968         (gst_value_intersect_double_range_double_range),
6969         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6970         (gst_value_subtract_int_range_int),
6971         (gst_value_subtract_double_range_double),
6972         (gst_value_subtract_double_range_double_range),
6973         (gst_value_subtract_from_list), (gst_value_subtract_list),
6974         (gst_value_can_compare), (gst_value_compare_fraction):
6975         Cleanups, add comments, remove unneeded asserts.
6976
6977 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6978
6979         * tools/gst-launch.c: (event_loop):
6980           don't convert NULL structures to strings
6981
6982 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6983
6984         * docs/gst/gstreamer-sections.txt:
6985           made some defines private
6986         * docs/gst/tmpl/gstconfig.sgml:
6987         * docs/gst/tmpl/gstqueue.sgml:
6988         * docs/gst/tmpl/gsttaglist.sgml:
6989         * docs/gst/tmpl/gsttypes.sgml:
6990         * docs/gst/tmpl/gstutils.sgml:
6991         * docs/pwg/appendix-porting.xml:
6992         * gst/base/gstbasesink.h:
6993         * gst/base/gstbasesrc.c:
6994         * gst/base/gstbasesrc.h:
6995         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6996         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6997         * gst/gstelement.c: (gst_element_class_init):
6998         * gst/gstpad.c: (gst_pad_class_init):
6999         * gst/gstqueue.c: (gst_queue_class_init):
7000         * gst/gstxml.c: (gst_xml_class_init):
7001           documented all undocumented signal inline
7002         * libs/gst/controller/gst-controller.h:
7003           added padding
7004
7005 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7006
7007         * docs/pwg/appendix-porting.xml:
7008           Document _set_link_function -> _set_setcaps_function.
7009
7010 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7011
7012         * check/Makefile.am:
7013           add a .check target for running the check
7014         * check/gst-libs/controller.c: (GST_START_TEST):
7015           cosmetic fixups
7016         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7017           complete checks for gstbuffer; would be nice if I could get the
7018           gcov stuff to work so I can see if I actually completed gstbuffer.c
7019         * check/gstcheck.h:
7020           add ASSERT_BUFFER_REFCOUNT
7021
7022 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7023
7024         * docs/gst/gstreamer-sections.txt:
7025         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7026         * gst/gsttag.h:
7027           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7028           spew out a warning if a tag that is already registered
7029           is re-registered, unless it is re-registered with a 
7030           different type (#308438).
7031
7032 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7033
7034         * docs/pwg/appendix-porting.xml:
7035         * docs/pwg/building-state.xml:
7036           Add some paragraphs about state changes in 0.9 to the PWG
7037           and the porting guide, in particular about the new meaning
7038           of GST_STATE_PAUSED and how to write state change functions
7039           with concurrent access by multiple threads in mind.
7040
7041 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7042
7043         * docs/gst/gstreamer-docs.sgml:
7044         * docs/libs/gstreamer-libs-docs.sgml:
7045           added deprecation and since indexes
7046         * libs/gst/controller/gst-controller.c:
7047         * libs/gst/controller/gst-helper.c:
7048           added since tags
7049
7050
7051 2005-08-11  Wim Taymans  <wim@fluendo.com>
7052
7053         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7054         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7055         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7056         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7057         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7058         (gst_ghost_pad_set_target):
7059         Actually implement (re)setting the target on a ghostpad
7060         as described in the docs.
7061
7062 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7063
7064         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7065           Check whether GST_DEBUG_NO_COLOR environment variable is
7066           set and disable coloured debug output if that is the case.
7067
7068 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7069
7070         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7071         (gst_type_find_helper):
7072           The memory returned by gst_type_find_peek() needs to
7073           stay valid until the end of a typefind function, and
7074           typefind functions may keep results from different 
7075           offsets around, so we can't just unref the buffer from
7076           the previous _peek(), but have to save all buffers 
7077           returned by _peek() until typefinding is done and only
7078           free them then.
7079
7080 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7081
7082         * docs/gst/gstreamer-sections.txt:
7083         * gst/gstutils.h:
7084           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7085
7086 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7087
7088         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7089           Fix a pretty good memleak.
7090
7091 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7092
7093         * gst/gstiterator.h:
7094           Fix wrong include and 'make distcheck'.
7095
7096 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7097
7098         * gst/gstbin.c: (bin_bus_handler):
7099           Use gst_element_post_message() instead.
7100
7101 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7102
7103         * gst/base/gstadapter.h:
7104         * gst/base/gstbasesink.h:
7105         * gst/base/gstbasesrc.h:
7106         * gst/base/gstbasetransform.h:
7107         * gst/base/gstcollectpads.h:
7108         * gst/base/gstpushsrc.h:
7109         * gst/gstiterator.h:
7110           Add padding to our base elements' class and instance structs and
7111           to GstIterator (you will need to rebuild all plugins and apps!)
7112
7113 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7114
7115         * gst/gstbin.c: (bin_bus_handler):
7116           Make default message forwarding from child->bus to bin->bus
7117           threadsafe and make it not emit warnings if the parent has no bus.
7118
7119 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7120
7121         * gst/gstelement.c: (activate_pads):
7122           On paused->ready, set pad->caps to NULL, as is the documented
7123           behaviour in this state change. Fixes playback of series of
7124           media files when visualization is enabled in Totem.
7125
7126 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7127
7128         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7129           Allow NULL as filter-caps (which means "any").
7130
7131 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7132
7133         * docs/libs/gstreamer-libs-sections.txt:
7134         * libs/gst/controller/gst-controller.c:
7135         * libs/gst/controller/gst-controller.h:
7136         * libs/gst/controller/gst-helper.c:
7137           adding more entries to the docs and fix small doc-bugs
7138
7139 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7140
7141         * docs/gst/gstreamer-docs.sgml:
7142         * docs/gst/gstreamer-sections.txt:
7143         * docs/gst/gstreamer.types:
7144         * docs/gst/tmpl/gstbasesink.sgml:
7145         * docs/gst/tmpl/gstbasesrc.sgml:
7146         * docs/gst/tmpl/gstbasetransform.sgml:
7147         * docs/gst/tmpl/gstfakesrc.sgml:
7148         * gst/base/gstcollectpads.c:
7149         * gst/base/gstcollectpads.h:
7150         * libs/gst/controller/gst-controller.c:
7151         * libs/gst/controller/gst-controller.h:
7152         * libs/gst/controller/gst-helper.c:
7153         * libs/gst/controller/gst-interpolation.c:
7154         * libs/gst/controller/lib.c:
7155           added long/short desc for controller docs
7156           added collectpads base class docs
7157           added correct includes to base-class docs
7158
7159 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7160
7161         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7162         (gst_test_mono_source_set_property),
7163         (gst_test_mono_source_class_init), (GST_START_TEST),
7164         (gst_controller_suite):
7165         * docs/gst/gstreamer-docs.sgml:
7166         * docs/gst/gstreamer-sections.txt:
7167         * docs/gst/gstreamer.types:
7168         * docs/libs/gstreamer-libs-docs.sgml:
7169         * docs/libs/gstreamer-libs-sections.txt:
7170         * gst/base/gstadapter.c:
7171         * libs/gst/controller/gst-controller.c:
7172         (gst_controlled_property_new), (gst_controlled_property_free),
7173         (gst_controller_new_valist),
7174         (gst_controller_remove_properties_valist),
7175         (gst_controller_sink_values), (_gst_controller_finalize):
7176         * libs/gst/controller/gst-controller.h:
7177         * libs/gst/controller/gst-helper.c:
7178         (gst_object_control_properties), (gst_object_uncontrol_properties),
7179         (gst_object_get_controller), (gst_object_set_controller),
7180         (gst_object_sink_values), (gst_object_get_value_arrays),
7181         (gst_object_get_value_array):
7182           more tests (and fixes) for the controller
7183           more docs for the controller
7184           integrated companies docs for the adapter 
7185
7186 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7187
7188         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7189         (GST_START_TEST), (fakesrc_suite):
7190           add tests for sizetype
7191
7192 2005-08-04  Andy Wingo  <wingo@pobox.com>
7193
7194         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7195         fixes buffer_alloc proxying among other things.
7196
7197         * gst/base/gstbasetransform.c:
7198         * gst/base/gstbasetransform.h:
7199         Revert patch to gstbasetransform from 7-28 removing
7200         delay_configure.
7201
7202         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7203         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7204         Semantics changed, should return not the size of the output buffer
7205         but the byte size of a buffer with a given caps.
7206
7207         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7208         debug object.
7209         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7210         out) are not the pad caps until setcaps finishes.
7211         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7212         not-in-place case as well. Deal with changing from in-place to
7213         not-in-place within calling pad_alloc_buffer. Still a bit
7214         concerned about the overhead here...
7215
7216 2005-08-03  Andy Wingo  <wingo@pobox.com>
7217
7218         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7219         fixating is an error.
7220
7221 2005-08-04  Edward Hervey  <edward@fluendo.com>
7222
7223         * gst/base/gstadapter.h: 
7224         Added gst_adapter_get_type() to the header
7225
7226 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7227
7228         * check/Makefile.am:
7229         * check/gst-libs/controller.c:
7230         * libs/gst/controller/gst-controller.c:
7231         (gst_controller_new_valist):
7232           added check test suite for the controller
7233         * gst/base/gstpushsrc.c:
7234           fixed a doc typo
7235
7236 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7237
7238         * docs/gst/Makefile.am:
7239         * docs/gst/gstreamer-docs.sgml:
7240         * docs/gst/gstreamer-sections.txt:
7241         * docs/gst/gstreamer.types:
7242         * docs/gst/tmpl/gstfakesrc.sgml:
7243         * gst/base/README:
7244         * gst/base/gstbasesink.c:
7245         * gst/base/gstbasesink.h:
7246         * gst/base/gstbasesrc.c:
7247         * gst/base/gstbasesrc.h:
7248         * gst/base/gstbasetransform.c:
7249         * gst/base/gstpushsrc.c:
7250         * gst/base/gstpushsrc.h:
7251           add short/long description docs to base classes
7252           add pushsrc to the docs
7253           remove consolidated doc fragments
7254
7255 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7256
7257         * configure.ac:
7258         * docs/libs/Makefile.am:
7259         * docs/libs/gstreamer-libs-docs.sgml:
7260         * docs/libs/gstreamer-libs-sections.txt:
7261         * docs/libs/gstreamer-libs.types:
7262         * examples/Makefile.am:
7263         * examples/controller/.cvsignore:
7264         * examples/controller/Makefile.am:
7265         * examples/controller/audio-example.c: (main):
7266         * libs/gst/Makefile.am:
7267         * libs/gst/controller/.cvsignore:
7268         * libs/gst/controller/Makefile.am:
7269         * libs/gst/controller/gst-controller.c:
7270         (on_object_controlled_property_changed), (gst_timed_value_compare),
7271         (gst_timed_value_find),
7272         (gst_controlled_property_set_interpolation_mode),
7273         (gst_controlled_property_new), (gst_controlled_property_free),
7274         (gst_controller_find_controlled_property),
7275         (gst_controller_new_valist), (gst_controller_new),
7276         (gst_controller_remove_properties_valist),
7277         (gst_controller_remove_properties), (gst_controller_set),
7278         (gst_controller_set_from_list), (gst_controller_unset),
7279         (gst_controller_get), (gst_controller_get_all),
7280         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7281         (gst_controller_get_value_array),
7282         (gst_controller_set_interpolation_mode),
7283         (_gst_controller_finalize), (_gst_controller_init),
7284         (_gst_controller_class_init), (gst_controller_get_type):
7285         * libs/gst/controller/gst-controller.h:
7286         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7287         (g_object_uncontrol_properties), (g_object_get_controller),
7288         (g_object_set_controller), (g_object_sink_values),
7289         (g_object_get_value_arrays), (g_object_get_value_array):
7290         * libs/gst/controller/gst-interpolation.c:
7291         (gst_controlled_property_find_timed_value_node),
7292         (interpolate_none_get), (interpolate_trigger_get),
7293         (interpolate_trigger_get_value_array):
7294         * libs/gst/controller/lib.c: (gst_controller_init):
7295         * pkgconfig/Makefile.am:
7296         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7297         * pkgconfig/gstreamer-control.pc.in:
7298         * testsuite/Makefile.am:
7299         * testsuite/controller/.cvsignore:
7300         * testsuite/controller/Makefile.am:
7301         * testsuite/controller/interpolator.c: (main):
7302           added controller code
7303           removed dparam pc files
7304
7305 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7306         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7307         (gst_collectpads_stop):
7308           Broadcast the condition when shutting down, to make sure we wake all
7309           threads up. Shut down pads on finalize, for safety.
7310
7311 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7312         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7313         (gst_base_transform_handle_buffer),
7314         (gst_base_transform_change_state):
7315           Handle PAUSED->READY->PAUSED transition after negotiation
7316           occurred already.
7317         * gst/gstmessage.c: (gst_message_init):
7318           Extra piece of debug for new messages.
7319
7320 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7321
7322         * configure.ac:
7323         * docs/gst/tmpl/gstbasesrc.sgml:
7324         * docs/gst/tmpl/gstelement.sgml:
7325         * docs/gst/tmpl/gstevent.sgml:
7326         * docs/gst/tmpl/gstfakesrc.sgml:
7327         * docs/gst/tmpl/gstformat.sgml:
7328         * docs/gst/tmpl/gstghostpad.sgml:
7329         * docs/gst/tmpl/gstpad.sgml:
7330         * docs/gst/tmpl/gstquery.sgml:
7331         * docs/gst/tmpl/gststructure.sgml:
7332         * docs/gst/tmpl/gsttaglist.sgml:
7333         * docs/gst/tmpl/gstvalue.sgml:
7334         * docs/libs/gstreamer-libs-docs.sgml:
7335         * docs/libs/gstreamer-libs-sections.txt:
7336         * docs/libs/gstreamer-libs.types:
7337         * libs/gst/Makefile.am:
7338         * libs/gst/control/.cvsignore:
7339         * libs/gst/control/Makefile.am:
7340         * libs/gst/control/control.c:
7341         * libs/gst/control/control.h:
7342         * libs/gst/control/dparam.c:
7343         * libs/gst/control/dparam.h:
7344         * libs/gst/control/dparam_smooth.c:
7345         * libs/gst/control/dparam_smooth.h:
7346         * libs/gst/control/dparamcommon.h:
7347         * libs/gst/control/dparammanager.c:
7348         * libs/gst/control/dparammanager.h:
7349         * libs/gst/control/dplinearinterp.c:
7350         * libs/gst/control/dplinearinterp.h:
7351         * libs/gst/control/unitconvert.c:
7352         * libs/gst/control/unitconvert.h:
7353         * testsuite/Makefile.am:
7354         * testsuite/dynparams/.cvsignore:
7355         * testsuite/dynparams/Makefile.am:
7356         * testsuite/dynparams/dparamstest.c:
7357         * tools/Makefile.am:
7358         * tools/gst-inspect.c: (print_element_info), (main):
7359         * tools/gst-xmlinspect.c: (print_element_info), (main):
7360           deactivate and remove dparams (libgstcontrol)
7361
7362 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7363
7364         * gst/elements/gsttypefindelement.c:
7365         (gst_type_find_element_have_type), (gst_type_find_element_init),
7366         (stop_typefinding), (gst_type_find_element_handle_event),
7367         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7368         * gst/elements/gsttypefindelement.h:
7369           Set caps on all outgoing buffers, not just the first one.
7370
7371 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7372
7373         * gst/elements/gsttypefindelement.c:
7374         (gst_type_find_element_have_type),
7375         (gst_type_find_element_check_set_buffer_caps),
7376         (gst_type_find_element_init), (stop_typefinding),
7377         (gst_type_find_element_handle_event),
7378         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7379         * gst/elements/gsttypefindelement.h:
7380           Set caps on first outgoing buffer when we've found the type.
7381
7382 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7383
7384         * docs/gst/gstreamer-docs.sgml:
7385         * docs/gst/gstreamer-sections.txt:
7386         * docs/gst/tmpl/gstscheduler.sgml:
7387         * docs/gst/tmpl/gstschedulerfactory.sgml:
7388           Remove some old cruft from docs.
7389
7390 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7391
7392         * gst/gstpad.h:
7393           Fix inline docs for GstPadLinkReturn.
7394           
7395         * gst/gststructure.c: (gst_structure_has_name):
7396         * gst/gststructure.h:
7397         * docs/gst/gstreamer-sections.txt:
7398           New API: gst_structure_has_name().
7399
7400 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7401
7402         * configure.ac:
7403           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7404           and _LARGEFILE_SOURCE in config.h as required. Do not 
7405           export those flags in our .pc files any longer (#142209).
7406
7407           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7408
7409         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7410         (gst_file_sink_do_seek), (gst_file_sink_event),
7411         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7412           Redo seek/tell calls with large file support in mind; add some
7413           debugging messages; add log message that tells us when large
7414           file support is unavailable or not enabled for some reason.
7415
7416         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7417           Add log message that tells us when large file support 
7418           is unavailable or not enabled for some reason.
7419
7420 2005-07-29  Wim Taymans  <wim@fluendo.com>
7421
7422         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7423         Added test for removing an element with ghostpad from a bin.
7424         Fixed test as current implementation does the right thing.
7425
7426         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7427         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7428         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7429         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7430         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7431         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7432         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7433         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7434         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7435         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7436         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7437         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7438         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7439         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7440         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7441         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7442         * gst/gstghostpad.h:
7443         Clean up ghostpads, remove properties for internal stuff.
7444         Make threadsafe.
7445         Fix refcounting.
7446         Prepare for switching targets, not all use cases work yet.
7447
7448 2005-07-29  Wim Taymans  <wim@fluendo.com>
7449
7450         * docs/design/part-gstghostpad.txt:
7451         Small update.
7452
7453         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7454         (gst_bin_remove_func):
7455         Unlinking pads while holding the bin LOCK is not a good
7456         idea.
7457
7458         * gst/gstpad.c: (gst_pad_class_init),
7459         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7460         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7461         No prob setting template after creating the pad.
7462
7463 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7464
7465         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7466         (gst_bus_peek), (gst_bus_source_dispatch),
7467         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7468         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7469           gst_bus_poll may be called from other threads. Handle
7470           this nicely by not making poll_data disappear off the
7471           stack once gst_bus_poll returns.
7472           gst_bus_peek now increments the refcount on the returned
7473           message.
7474
7475 2005-07-29  Wim Taymans  <wim@fluendo.com>
7476
7477         * docs/design/part-gstghostpad.txt:
7478         Overview of current GhostPad datastructures and use
7479         cases for changing the target.
7480
7481 2005-07-28  Wim Taymans  <wim@fluendo.com>
7482
7483         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7484         Added checks for hierarchy consistency whan adding linked
7485         elements to bins.
7486
7487         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7488         Added check to test element scheduling without bin/pipeline.
7489
7490         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7491         First add elements to bin, then link.
7492         
7493         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7494         (gst_bin_remove_func):
7495         Unlink pads from elements added/removed from bin to maintain
7496         hierarchy consistency.
7497
7498 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7499
7500         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7501         (gst_base_transform_handle_buffer):
7502         * gst/base/gstbasetransform.h:
7503           Remove broken delay_configure (fixes renegotiation of software
7504           scaling pipelines); remove some leftover printf()s.
7505
7506 2005-07-28  Wim Taymans  <wim@fluendo.com>
7507
7508         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7509         Added some more tests for wrong hierarchy
7510
7511         * docs/design/part-overview.txt:
7512         Some updates.
7513
7514         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7515         Cleanups.
7516
7517         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7518         (gst_element_dispose):
7519         Some more cleanups.
7520
7521         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7522         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7523         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7524         (gst_pad_set_caps), (gst_pad_send_event):
7525         Check for correct hierarchy when linking pads. Moving to
7526         strict requirement for ghostpads when linking elements in
7527         different bins.
7528
7529         * gst/gstpad.h:
7530         Clean ups. Added WRONG_HIERARCHY return value.
7531
7532 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7533
7534         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7535           Better debug if no transform is possible.
7536
7537 2005-07-27  Wim Taymans  <wim@fluendo.com>
7538
7539         * docs/random/wtay/network-transp:
7540         Some old doc I had.
7541
7542 2005-07-27  Wim Taymans  <wim@fluendo.com>
7543
7544         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7545         (gst_dp_event_from_packet):
7546         Fix serialization of seek events.
7547
7548 2005-07-27  Wim Taymans  <wim@fluendo.com>
7549
7550         * check/gst-libs/gdp.c: (GST_START_TEST):
7551         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7552         Fix compilation and fix event serialization.
7553
7554 2005-07-27  Wim Taymans  <wim@fluendo.com>
7555
7556         * CHANGES-0.9:
7557         * docs/design/part-TODO.txt:
7558         * docs/design/part-events.txt:
7559         Some docs updates
7560
7561         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7562         (gst_base_sink_event), (gst_base_sink_do_sync),
7563         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7564         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7565         (gst_base_src_do_seek), (gst_base_src_event_handler),
7566         (gst_base_src_loop):
7567         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7568         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7569         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7570         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7571         (gst_base_transform_set_passthrough),
7572         (gst_base_transform_is_passthrough):
7573         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7574         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7575         Event updates.
7576
7577         * gst/gstbuffer.h:
7578         Use faster casts.
7579
7580         * gst/gstelement.c: (gst_element_seek):
7581         * gst/gstelement.h:
7582         Update gst_element_seek.
7583
7584         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7585         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7586         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7587         (gst_event_new_eos), (gst_event_new_newsegment),
7588         (gst_event_parse_newsegment), (gst_event_new_tag),
7589         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7590         (gst_event_parse_qos), (gst_event_new_seek),
7591         (gst_event_parse_seek), (gst_event_new_navigation):
7592         * gst/gstevent.h:
7593         Make GstEvent use GstStructure. Add parsing code, make sure the
7594         API is sufficiently generic.
7595         Mark possible directions of events and serialization.
7596
7597         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7598         (_gst_message_copy), (gst_message_new_segment_start),
7599         (gst_message_new_segment_done), (gst_message_new_custom),
7600         (gst_message_parse_segment_start),
7601         (gst_message_parse_segment_done):
7602         Small cleanups.
7603
7604         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7605         (gst_pad_set_caps), (gst_pad_send_event):
7606         Update for new events. 
7607         Catch events sent in wrong directions.
7608
7609         * gst/gstqueue.c: (gst_queue_link_src),
7610         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7611         (gst_queue_handle_src_query):
7612         Event updates.
7613
7614         * gst/gsttag.c:
7615         * gst/gsttag.h:
7616         Remove event code from this file.
7617
7618         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7619         (gst_dp_event_from_packet):
7620         Event updates.
7621
7622 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7623
7624         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7625         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7626         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7627           Make debugging actually useful.
7628
7629 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7630
7631         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7632         (gst_pad_fixate_caps):
7633           Implement default fixation once again, so that gst_pad_fixate()
7634           actually does anything at all. This probably needs to be some
7635           sort of a last resort, and use profile-based fixation first, but
7636           since that doesn't exist yet, this is the best we have. Fixes
7637           visualization in Totem.
7638
7639 2005-07-22  Wim Taymans  <wim@fluendo.com>
7640
7641         * docs/design/part-events.txt:
7642         Small update.
7643
7644         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7645         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7646         (gst_base_sink_activate_pull):
7647         Some more comments.
7648
7649         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7650         (gst_fake_src_create):
7651         Fix handoff marshall.
7652
7653         * gst/elements/gstidentity.c: (gst_identity_class_init),
7654         (gst_identity_transform_ip):
7655         We're a real inplace element.
7656
7657         * gst/gstbus.c: (gst_bus_post):
7658         Added some comments.
7659
7660         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7661         * tests/muxing/case1.c: (main):
7662         * tests/sched/dynamic-pipeline.c: (main):
7663         * tests/sched/interrupt1.c: (main):
7664         * tests/sched/interrupt2.c: (main):
7665         * tests/sched/interrupt3.c: (main):
7666         * tests/sched/runxml.c: (main):
7667         * tests/sched/sched-stress.c: (main):
7668         * tests/seeking/seeking1.c: (event_received), (main):
7669         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7670         (main):
7671         * tests/threadstate/threadstate3.c: (main):
7672         * tests/threadstate/threadstate4.c: (main):
7673         * tests/threadstate/threadstate5.c: (main):
7674         Fix the tests.
7675
7676 2005-07-21  Wim Taymans  <wim@fluendo.com>
7677
7678         * docs/design/part-seeking.txt:
7679         Some small additions.
7680
7681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7682         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7683         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7684         * gst/base/gstbasesink.h:
7685         discont values are gint64, handle the math correctly.
7686
7687         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7688         Make the basesrc report error if the source pad is not linked.
7689
7690         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7691         (gst_queue_loop), (gst_queue_handle_src_query),
7692         (gst_queue_src_activate_push):
7693         Make queue collect data even if the srcpad is not linked.
7694         Start pushing out data as soon as it is linked.
7695
7696         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7697         * gst/gstutils.h:
7698         Added gst_flow_get_name() to ease error reporting.
7699
7700 2005-07-20  Wim Taymans  <wim@fluendo.com>
7701
7702         * gst/gstmessage.c: (gst_message_new_segment_start),
7703         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7704         (gst_message_parse_segment_done):
7705         * gst/gstmessage.h:
7706         Added a bunch of messages for advanced seeking.
7707
7708         * gst/parse/grammar.y:
7709         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7710         (gst_dpman_state_changed):
7711         Fix some new-pad -> pad-added signals
7712
7713 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7714
7715         * docs/manual/appendix-porting.xml:
7716         * docs/pwg/appendix-porting.xml:
7717           Document new-pad/state-change signal renames and the FixedList
7718           type rename.
7719
7720 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7721
7722         * docs/manual/advanced-autoplugging.xml:
7723         * docs/manual/basics-helloworld.xml:
7724         * docs/manual/basics-pads.xml:
7725         * docs/random/ds/0.9-suggested-changes:
7726         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7727         * gst/gstelement.h:
7728         * gst/gstevent.h:
7729         * gst/gstformat.h:
7730         * gst/gstquery.h:
7731         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7732         (gst_structure_parse_array), (gst_structure_parse_value):
7733         * gst/gstvalue.c: (gst_type_is_fixed),
7734         (gst_value_list_prepend_value), (gst_value_list_append_value),
7735         (gst_value_list_get_size), (gst_value_list_get_value),
7736         (gst_value_transform_array_string), (gst_value_serialize_array),
7737         (gst_value_deserialize_array), (gst_value_intersect_array),
7738         (gst_value_is_fixed), (_gst_value_initialize):
7739         * gst/gstvalue.h:
7740           GstElement::new-pad -> pad-added, GstElement::state-change ->
7741           state-changed, GstValueFixedList -> GstValueArray, add format and
7742           flags as their own arguments in gst_element_seek() (should improve
7743           "bindeability"), remove function generators since they don't work
7744           under a whole bunch of compilers (they were deprecated already
7745           anyway).
7746
7747 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7748
7749         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7750         (_gst_debug_register_funcptr):
7751         * gst/gstinfo.h:
7752           Fix illegal cast on some platforms (#309253).
7753
7754 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7755
7756         * gst/gstmessage.c: (gst_message_new_custom):
7757         * gst/gstmessage.h:
7758           Add _new_custom, make _new_application a macro to _new_custom.
7759
7760 2005-07-20  Wim Taymans  <wim@fluendo.com>
7761
7762         * gst/base/gstbasesrc.c: (gst_base_src_init),
7763         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7764         * gst/base/gstbasesrc.h:
7765         Add a gboolean to decide when to push out a discont.
7766
7767         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7768         (gst_queue_loop), (gst_queue_handle_src_query),
7769         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7770         (gst_queue_set_property), (gst_queue_get_property):
7771         Some cleanups.
7772
7773         * tests/threadstate/threadstate1.c: (main):
7774         Make a thread test compile and run... very silly..
7775
7776
7777 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7778
7779         * docs/manual/appendix-porting.xml:
7780           Mention removal of libgstgconf-0.9.la and existence of gconf
7781           elements.
7782
7783 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7784
7785         * docs/pwg/advanced-clock.xml:
7786         * docs/pwg/appendix-porting.xml:
7787         * docs/pwg/intro-preface.xml:
7788         * docs/pwg/other-base.xml:
7789         * docs/pwg/other-manager.xml:
7790         * docs/pwg/other-nton.xml:
7791         * docs/pwg/other-ntoone.xml:
7792         * docs/pwg/other-oneton.xml:
7793         * docs/pwg/pwg.xml:
7794           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7795           demuxer), remove n-to-n (was never written), fix some code examples
7796           and links and update the porting section to include all this.
7797
7798 2005-07-19  Wim Taymans  <wim@fluendo.com>
7799
7800         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7801         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7802         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7803         (gst_queue_src_activate_push), (gst_queue_change_state),
7804         (gst_queue_get_property):
7805         * gst/gstqueue.h:
7806         Propagate GstFlowReturn more intelligently upstream and output
7807         an ERROR/EOS when streaming stopped due to fatal error.
7808
7809 2005-07-19  Wim Taymans  <wim@fluendo.com>
7810
7811         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7812         Don't block forever for the state change to complete, the
7813         pipeline already did with a sensible timeout.
7814
7815 2005-07-19  Wim Taymans  <wim@fluendo.com>
7816
7817         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7818         Make sure we never call the create function is we
7819         got deactivated.
7820
7821 2005-07-19  Andy Wingo  <wingo@pobox.com>
7822
7823         * gst/parse/parse.l: Attempt to solve bug #172815.
7824
7825 2005-07-19  Wim Taymans  <wim@fluendo.com>
7826
7827         * docs/design/part-clocks.txt:
7828         * docs/design/part-events.txt:
7829         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7830         Small docs updates.
7831         Only update the seeking values when we are not
7832         busy streaming.
7833
7834 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7835
7836         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7837           Oops, ignore the result of gst_pad_push_event here.
7838
7839 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7840
7841         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7842         (gst_base_src_activate_push):
7843           Send discont event from the loop function, as pads
7844           aren't activated yet in the activate_push handler.
7845
7846         * gst/gstbin.c: (bin_bus_handler):
7847           Don't leak element name.
7848
7849 2005-07-18  Andy Wingo  <wingo@pobox.com>
7850
7851         * configure.ac: Use AS_LIBTOOL_TAGS.
7852
7853 2005-07-18  Wim Taymans  <wim@fluendo.com>
7854
7855         * docs/gst/gstreamer.types:
7856         Remove deleted types.
7857
7858 2005-07-18  Wim Taymans  <wim@fluendo.com>
7859
7860         * check/elements/gstfakesrc.c: (GST_START_TEST):
7861         * configure.ac:
7862         * gst/Makefile.am:
7863         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7864         (init_popt_callback):
7865         * gst/gst.h:
7866         * gst/gst_private.h:
7867         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7868         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7869         * gst/gstbin.h:
7870         * gst/gstbus.h:
7871         * gst/gstconfig.h.in:
7872         * gst/gstelement.c: (gst_element_class_init),
7873         (gst_element_set_base_time), (gst_element_get_base_time),
7874         (iterator_fold_with_resync), (gst_element_change_state),
7875         (gst_element_dispose), (gst_element_get_bus):
7876         * gst/gstelement.h:
7877         * gst/gstelementfactory.h:
7878         * gst/gsterror.c: (_gst_core_errors_init):
7879         * gst/gsterror.h:
7880         * gst/gstevent.h:
7881         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7882         * gst/gstindex.c:
7883         * gst/gstinfo.c: (_gst_debug_init):
7884         * gst/gstmessage.c: (_gst_message_copy):
7885         * gst/gstmessage.h:
7886         * gst/gstminiobject.h:
7887         * gst/gstobject.c:
7888         * gst/gstobject.h:
7889         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7890         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7891         * gst/gstpad.h:
7892         * gst/gstparse.h:
7893         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7894         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7895         (gst_pipeline_get_last_stream_time):
7896         * gst/gstpipeline.h:
7897         * gst/gstpluginfeature.h:
7898         * gst/gstquery.h:
7899         * gst/gstscheduler.c:
7900         * gst/gstscheduler.h:
7901         * gst/gststructure.h:
7902         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7903         (gst_task_finalize), (gst_task_func), (gst_task_create),
7904         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7905         (gst_task_stop), (gst_task_pause):
7906         * gst/gsttask.h:
7907         * gst/gsttypefind.h:
7908         * gst/gsttypes.h:
7909         * gst/registries/gstlibxmlregistry.c: (load_feature),
7910         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7911         * gst/registries/gstxmlregistry.c:
7912         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7913         * gst/schedulers/threadscheduler.c:
7914         * libs/gst/control/dparammanager.h:
7915         * tools/gst-inspect.c: (print_element_list),
7916         (print_plugin_features), (print_element_features):
7917         * tools/gst-xmlinspect.c: (print_element_list),
7918         (print_plugin_info), (main):
7919         Removed plugable schedulers.
7920         Removed Scheduler/Manager from elements.
7921         Removed gsttypes.h, rearranged includes.
7922         Removed dependency pad<->element, element<>pipeline, and
7923         various others,  fix includes.
7924         implement gst_pad_get_parent() with gst_object_get_parent()
7925         Make GstTask sefcontained.
7926         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7927         timeout.
7928         Fix endless loop in iterator_fold_with_resync.
7929
7930
7931 2005-07-18  Wim Taymans  <wim@fluendo.com>
7932
7933         * gst/Makefile.am:
7934         * gst/gstarch.h:
7935         Remove old file.
7936
7937 2005-07-18  Wim Taymans  <wim@fluendo.com>
7938
7939         * gst/Makefile.am:
7940         No more cothreads.h
7941
7942 2005-07-18  Wim Taymans  <wim@fluendo.com>
7943
7944         * gst/cothreads.c:
7945         * gst/cothreads.h:
7946         Let's remove these.
7947
7948 2005-07-18  Wim Taymans  <wim@fluendo.com>
7949
7950         * docs/design/part-dynamic.txt:
7951         * docs/design/part-events.txt:
7952         * docs/design/part-seeking.txt:
7953         Some more docs in the works.
7954
7955         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7956         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7957         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7958         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7959         (gst_base_transform_handle_buffer),
7960         (gst_base_transform_sink_activate_push),
7961         (gst_base_transform_src_activate_pull),
7962         (gst_base_transform_set_passthrough),
7963         (gst_base_transform_is_passthrough):
7964         Refcounting fixes.
7965
7966         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7967         Cleanups.
7968
7969         * gst/gstevent.c: (gst_event_finalize):
7970         Set SRC to NULL.
7971
7972         * gst/gstutils.c: (gst_element_unlink),
7973         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7974         (gst_pad_proxy_setcaps):
7975         * gst/gstutils.h:
7976         Add _get_parent_element() to get a pads parent as an element.
7977
7978 2005-07-18  Wim Taymans  <wim@fluendo.com>
7979
7980         * check/gst/gstbin.c: (GST_START_TEST):
7981         Remove bogus test.
7982
7983 2005-07-18  Wim Taymans  <wim@fluendo.com>
7984
7985         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7986         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7987         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7988         (gst_base_sink_event), (gst_base_sink_do_sync),
7989         (gst_base_sink_chain), (gst_base_sink_loop),
7990         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7991         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7992         Refcounting fixes.
7993         Fix logic for returning ASYNC when not prerolled.
7994
7995 2005-07-18  Wim Taymans  <wim@fluendo.com>
7996
7997         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7998         Fix nasty refcount bug.
7999
8000 2005-07-16 Philippe Khalaf <burger@speedy.org>
8001
8002         * gst/elements/gstfdsrc.c:
8003         * gst/elements/gstfdsrc.h:
8004         * gst/elements/gstelements.c:
8005         * gst/elements/Makefile.am:
8006         Ported fdsrc to 0.9.
8007
8008 2005-07-16  Wim Taymans  <wim@fluendo.com>
8009
8010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8011         (gst_base_sink_do_sync):
8012         Fix compile error.
8013
8014 2005-07-16  Wim Taymans  <wim@fluendo.com>
8015
8016         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8017         (gst_base_sink_event), (gst_base_sink_get_times),
8018         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8019         * gst/base/gstbasesink.h:
8020         Store and use discont values when syncing buffers as described
8021         in design docs.
8022         
8023         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8024         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8025         (gst_base_src_activate_push):
8026         Push discont event when starting.
8027
8028         * gst/elements/gstidentity.c: (gst_identity_transform):
8029         Small cleanups.
8030
8031         * gst/gstbin.c: (gst_bin_change_state):
8032         Small cleanups in base_time  distribution.
8033
8034         * gst/gstelement.c: (gst_element_set_base_time),
8035         (gst_element_get_base_time), (gst_element_change_state):
8036         * gst/gstelement.h:
8037         Added methods for the base_time of the element.
8038         Some MT fixes.
8039
8040         * gst/gstpipeline.c: (gst_pipeline_send_event),
8041         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8042         (gst_pipeline_get_last_stream_time):
8043         * gst/gstpipeline.h:
8044         MT fixes.
8045         Handle seeking as described in design doc, remove stream_time
8046         hack.
8047         Cleanups clock and stream_time selection code. Added accessors
8048         for the stream_time.
8049         
8050
8051 2005-07-16  Andy Wingo  <wingo@pobox.com>
8052
8053         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8054         (#305291).
8055
8056 2005-07-16  Wim Taymans  <wim@fluendo.com>
8057
8058         * check/gst/gstbin.c: (GST_START_TEST):
8059         Make elements silent as the deep_notify refs the
8060         parent, which might make the test fail.
8061
8062         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8063         Don't hold the lock for too long.
8064
8065 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8066
8067         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8068           Don't unref the caps we passed to gst_caps_make_writable() after
8069           passing them. gst_caps_make_writable() will do that for us.
8070
8071 2005-07-15  Andy Wingo  <wingo@pobox.com>
8072
8073         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8074         (#157311).
8075
8076         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8077         own marshalling function for the handoff signal. Properly type the
8078         buffer as a buffer. Fixes some warnings. Should do a more general
8079         solution.
8080         (gst_identity_class_init): Plug into the right marshaller.
8081
8082 2005-07-15  Wim Taymans  <wim@fluendo.com>
8083
8084         * docs/design/part-TODO.txt:
8085         * docs/design/part-clocks.txt:
8086         * docs/design/part-element-sink.txt:
8087         * docs/design/part-events.txt:
8088         * docs/design/part-gstpipeline.txt:
8089         Updated docs, mostly DISCONT related.
8090
8091 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8092
8093         * docs/pwg/building-pads.xml:
8094           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8095
8096 2005-07-15  Andy Wingo  <wingo@pobox.com>
8097
8098         * tools/gst-typefind.c: Update, add copyright block.
8099
8100         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8101         Normalize and truncate caps before fixation.
8102
8103         * gst/gstcaps.h:
8104         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8105         discards all but the first structure from its argument.
8106
8107 2005-07-15  Wim Taymans  <wim@fluendo.com>
8108
8109         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8110         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8111         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8112         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8113         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8114         (gst_base_transform_chain), (gst_base_transform_change_state),
8115         (gst_base_transform_set_passthrough),
8116         (gst_base_transform_is_passthrough):
8117         * gst/base/gstbasetransform.h:
8118         Make passthrough work using the bufferpools.
8119         Changed API a bit, subclasses have to write into a buffer
8120         provided by the base class.
8121         More debug info in nego functions.
8122         
8123         * gst/elements/gstidentity.c: (gst_identity_init),
8124         (gst_identity_transform):
8125         Port to new base class.
8126
8127 2005-07-15  Wim Taymans  <wim@fluendo.com>
8128
8129         * gst/gstmessage.c: (gst_message_new_state_changed):
8130         * tools/gst-launch.c: (event_loop), (main):
8131         Totally dump messages in -launch with the -m option.
8132         Fix message name for State messages,
8133
8134 2005-07-14  Wim Taymans  <wim@fluendo.com>
8135
8136         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8137         Post error messages on errors.
8138
8139 2005-07-14  Wim Taymans  <wim@fluendo.com>
8140
8141         * gst/gstcaps.c: (gst_caps_do_simplify):
8142         Remove debug info.
8143
8144         * gst/gsterror.h:
8145         Define error for stream stopped.
8146
8147         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8148         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8149         Do proper return values.
8150
8151         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8152         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8153         (gst_pad_get_range):
8154         Better return values.
8155
8156         * gst/gstpad.h:
8157         Reorganise return values, add macro to check for fatal errors.
8158
8159         * gst/gstqueue.c: (gst_queue_chain):
8160         Return proper GstFlowReturn values,
8161
8162 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8163
8164         * docs/gst/gstreamer-sections.txt:
8165         * docs/gst/gstreamer.types:
8166         * docs/gst/tmpl/gst.sgml:
8167         * docs/gst/tmpl/gstbasesink.sgml:
8168         * docs/gst/tmpl/gstbasesrc.sgml:
8169         * docs/gst/tmpl/gstbasetransform.sgml:
8170         * docs/gst/tmpl/gstbin.sgml:
8171         * docs/gst/tmpl/gstbuffer.sgml:
8172         * docs/gst/tmpl/gstcaps.sgml:
8173         * docs/gst/tmpl/gstclock.sgml:
8174         * docs/gst/tmpl/gstcompat.sgml:
8175         * docs/gst/tmpl/gstconfig.sgml:
8176         * docs/gst/tmpl/gstelement.sgml:
8177         * docs/gst/tmpl/gstelementdetails.sgml:
8178         * docs/gst/tmpl/gstelementfactory.sgml:
8179         * docs/gst/tmpl/gstenumtypes.sgml:
8180         * docs/gst/tmpl/gsterror.sgml:
8181         * docs/gst/tmpl/gstevent.sgml:
8182         * docs/gst/tmpl/gstfakesink.sgml:
8183         * docs/gst/tmpl/gstfakesrc.sgml:
8184         * docs/gst/tmpl/gstfilesink.sgml:
8185         * docs/gst/tmpl/gstfilesrc.sgml:
8186         * docs/gst/tmpl/gstfilter.sgml:
8187         * docs/gst/tmpl/gstformat.sgml:
8188         * docs/gst/tmpl/gstghostpad.sgml:
8189         * docs/gst/tmpl/gstimplementsinterface.sgml:
8190         * docs/gst/tmpl/gstindex.sgml:
8191         * docs/gst/tmpl/gstindexfactory.sgml:
8192         * docs/gst/tmpl/gstinfo.sgml:
8193         * docs/gst/tmpl/gstiterator.sgml:
8194         * docs/gst/tmpl/gstmacros.sgml:
8195         * docs/gst/tmpl/gstmemchunk.sgml:
8196         * docs/gst/tmpl/gstminiobject.sgml:
8197         * docs/gst/tmpl/gstobject.sgml:
8198         * docs/gst/tmpl/gstpad.sgml:
8199         * docs/gst/tmpl/gstpadtemplate.sgml:
8200         * docs/gst/tmpl/gstparse.sgml:
8201         * docs/gst/tmpl/gstpipeline.sgml:
8202         * docs/gst/tmpl/gstplugin.sgml:
8203         * docs/gst/tmpl/gstpluginfeature.sgml:
8204         * docs/gst/tmpl/gstquery.sgml:
8205         * docs/gst/tmpl/gstqueue.sgml:
8206         * docs/gst/tmpl/gstregistry.sgml:
8207         * docs/gst/tmpl/gstregistrypool.sgml:
8208         * docs/gst/tmpl/gstscheduler.sgml:
8209         * docs/gst/tmpl/gstschedulerfactory.sgml:
8210         * docs/gst/tmpl/gststructure.sgml:
8211         * docs/gst/tmpl/gstsystemclock.sgml:
8212         * docs/gst/tmpl/gsttaglist.sgml:
8213         * docs/gst/tmpl/gsttagsetter.sgml:
8214         * docs/gst/tmpl/gsttrace.sgml:
8215         * docs/gst/tmpl/gsttrashstack.sgml:
8216         * docs/gst/tmpl/gsttypefind.sgml:
8217         * docs/gst/tmpl/gsttypefindfactory.sgml:
8218         * docs/gst/tmpl/gsttypes.sgml:
8219         * docs/gst/tmpl/gsturihandler.sgml:
8220         * docs/gst/tmpl/gsturitype.sgml:
8221         * docs/gst/tmpl/gstutils.sgml:
8222         * docs/gst/tmpl/gstvalue.sgml:
8223         * docs/gst/tmpl/gstversion.sgml:
8224         * docs/gst/tmpl/gstxml.sgml:
8225         * docs/libs/tmpl/gstcontrol.sgml:
8226         * docs/libs/tmpl/gstdataprotocol.sgml:
8227         * docs/libs/tmpl/gstdparam.sgml:
8228         * docs/libs/tmpl/gstdplinint.sgml:
8229         * docs/libs/tmpl/gstdpman.sgml:
8230         * docs/libs/tmpl/gstdpsmooth.sgml:
8231         * docs/libs/tmpl/gstgetbits.sgml:
8232         * docs/libs/tmpl/gstunitconvert.sgml:
8233         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8234         (gst_push_src_base_init), (gst_push_src_class_init),
8235         (gst_push_src_init), (gst_push_src_create):
8236         * gst/base/gstpushsrc.h:
8237         * gst/elements/gstelements.c:
8238         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8239         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8240         (gst_fake_sink_init), (gst_fake_sink_set_property),
8241         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8242         (gst_fake_sink_event), (gst_fake_sink_preroll),
8243         (gst_fake_sink_render), (gst_fake_sink_change_state):
8244         * gst/elements/gstfakesink.h:
8245         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8246         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8247         (gst_fake_src_base_init), (gst_fake_src_class_init),
8248         (gst_fake_src_init), (gst_fake_src_event_handler),
8249         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8250         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8251         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8252         (gst_fake_src_create_buffer), (gst_fake_src_create),
8253         (gst_fake_src_start), (gst_fake_src_stop):
8254         * gst/elements/gstfakesrc.h:
8255         * gst/elements/gstfilesink.c: (_do_init),
8256         (gst_file_sink_base_init), (gst_file_sink_class_init),
8257         (gst_file_sink_init), (gst_file_sink_dispose),
8258         (gst_file_sink_set_location), (gst_file_sink_set_property),
8259         (gst_file_sink_get_property), (gst_file_sink_open_file),
8260         (gst_file_sink_close_file), (gst_file_sink_query),
8261         (gst_file_sink_event), (gst_file_sink_render),
8262         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8263         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8264         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8265         * gst/elements/gstfilesink.h:
8266         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8267         (gst_file_src_class_init), (gst_file_src_init),
8268         (gst_file_src_finalize), (gst_file_src_set_location),
8269         (gst_file_src_set_property), (gst_file_src_get_property),
8270         (gst_file_src_map_region), (gst_file_src_map_small_region),
8271         (gst_file_src_create_mmap), (gst_file_src_create_read),
8272         (gst_file_src_create), (gst_file_src_is_seekable),
8273         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8274         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8275         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8276         (gst_file_src_uri_handler_init):
8277         * gst/elements/gstfilesrc.h:
8278           more autistic cleanliness in functions/names/defines
8279
8280 2005-07-13  Andy Wingo  <wingo@pobox.com>
8281
8282         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8283         source couldn't negotiate.
8284
8285         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8286         connections again.
8287
8288         * gst/gstutils.h:
8289         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8290         function. I am channeling Hades. Put your boots on suckers!!!
8291
8292 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8293
8294         * testsuite/caps/Makefile.am:
8295         * testsuite/caps/value_compare.c:
8296         * testsuite/caps/value_intersect.c:
8297         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8298           move two testsuite apps over to the check dir
8299
8300 2005-07-12  Wim Taymans  <wim@fluendo.com>
8301
8302         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8303         Added more debug info in the negotiate process.
8304
8305         * gst/gstmessage.h:
8306         Prepare for segment playback.
8307
8308         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8309         Better debugging.
8310
8311         * gst/gstutils.c:
8312         Some more docs.
8313
8314         * tools/gst-launch.c: (main):
8315         NULL pipeline on errors.
8316
8317 2005-07-12  Andy Wingo  <wingo@pobox.com>
8318
8319         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8320         not it comes from a malloc region. Make sure our copy gets freed.
8321
8322 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8323
8324         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8325         * check/gst/gstmessage.c: (GST_START_TEST):
8326         * check/gst/gststructure.c: (GST_START_TEST),
8327         (gst_structure_suite), (main):
8328           more testing
8329         * gst/gstelement.c: (gst_element_message_full):
8330           clean up GError and debug string now that they get copied
8331         * gst/gstmessage.c: (gst_message_new_error),
8332         (gst_message_new_warning), (gst_message_parse_error),
8333         (gst_message_parse_warning):
8334           use GST_TYPE_G_ERROR for structure_new, and take copies of
8335           arguments, so that we don't mess up refcounting
8336
8337 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8338
8339         * check/Makefile.am:
8340           add per-test valgrind targets
8341         * check/gst-libs/gdp.c: (GST_START_TEST),
8342         (gst_data_protocol_suite), (main):
8343           clean up
8344
8345 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8346
8347         * check/Makefile.am:
8348           instate more valgrindable tests
8349         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8350         (GST_START_TEST), (fakesrc_suite):
8351         * check/gst/gstpad.c: (GST_START_TEST):
8352         * check/gst/gststructure.c: (GST_START_TEST):
8353           fix test leaks
8354         * docs/gst/tmpl/gstminiobject.sgml:
8355         * gst/gstpad.c: (gst_pad_finalize):
8356           fix the static mutex leak
8357
8358 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8359
8360         * check/Makefile.am:
8361           add two more tests for valgrinding
8362         * check/gst/gstvalue.c: (GST_START_TEST):
8363           test refcount of deserialized buffer, found a leak
8364         * docs/gst/gstreamer-docs.sgml:
8365         * docs/gst/gstreamer-sections.txt:
8366         * docs/gst/gstreamer.types:
8367         * docs/gst/tmpl/gstminiobject.sgml:
8368           add miniobject to docs
8369         * gst/gstminiobject.c:
8370           add some docs
8371         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8372         (gst_string_unwrap):
8373           fix a hard-to-find invalid write for one of the tests
8374           fix a leak for deserialized buffers
8375
8376 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8377
8378         * docs/pwg/advanced-events.xml:
8379         * docs/pwg/advanced-request.xml:
8380         * docs/pwg/advanced-scheduling.xml:
8381         * docs/pwg/appendix-porting.xml:
8382         * docs/pwg/building-boiler.xml:
8383         * docs/pwg/intro-preface.xml:
8384         * docs/pwg/other-ntoone.xml:
8385           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8386           of example code and explanation for pad activation, loop() and
8387           getrange() functions and a bit more. Remove old comments pointing
8388           to loop-functions.
8389         * examples/pwg/Makefile.am:
8390           Add loop/getrange examples.
8391
8392 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8393
8394         * configure.ac:
8395           check for valgrind binary + some fixes
8396         * check/gst.supp:
8397           valgrind suppressions for the tests
8398         * check/Makefile.am:
8399           add a valgrind: target that valgrinds the unit tests
8400         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8401         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8402         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8403         * check/gst/gstghostpad.c:
8404           added some cleanup
8405         * check/gst/gstdata.c:
8406           removed
8407         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8408         (thread_unref), (gst_mini_object_suite), (main):
8409           added
8410         * gst/gst.c: (gst_deinit):
8411         * gst/gst.h:
8412           add a method to clean up.
8413         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8414         (gst_system_clock_obtain):
8415           allow for disposing the system clock.
8416         * tools/gst-launch.c: (main):
8417           deinit
8418
8419 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8420
8421         * docs/gst/tmpl/gstbasesrc.sgml:
8422         * docs/gst/tmpl/gstfakesrc.sgml:
8423         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8424         (gst_base_src_init), (gst_base_src_set_property),
8425         (gst_base_src_get_property), (gst_base_src_get_range),
8426         (gst_base_src_start):
8427         * gst/base/gstbasesrc.h:
8428           add num-buffers property
8429         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8430         (gst_fakesrc_init), (gst_fakesrc_set_property),
8431         (gst_fakesrc_get_property), (gst_fakesrc_create),
8432         (gst_fakesrc_start):
8433           remove num-buffers property
8434
8435 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8436
8437         * docs/gst/gstreamer-sections.txt:
8438         * docs/gst/tmpl/gstbasesink.sgml:
8439         * docs/gst/tmpl/gstbasesrc.sgml:
8440         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8441         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8442         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8443         (gst_base_sink_set_property), (gst_base_sink_get_property),
8444         (gst_base_sink_handle_object), (gst_base_sink_event),
8445         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8446         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8447         (gst_base_sink_loop), (gst_base_sink_deactivate),
8448         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8449         (gst_base_sink_change_state):
8450         * gst/base/gstbasesink.h:
8451         * gst/base/gstbasesrc.h:
8452         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8453         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8454         (gst_filesink_init):
8455           more macro splitting
8456
8457 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8458
8459         * gst/gstelement.c: (gst_element_get_bus):
8460           add debug
8461         * tools/gst-launch.c: (check_intr), (event_loop):
8462           fix bus leaks
8463
8464 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8465
8466         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8467           fix a caps leak
8468
8469 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8470
8471         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8472         (gst_base_src_finalize):
8473           add finalize method and clean up properly
8474         * gst/gstpipeline.c: (gst_pipeline_dispose):
8475           add debug
8476
8477 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8478
8479         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8480         (gst_bin_suite):
8481           add more things to check
8482         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8483         * gst/gstelement.c:
8484           more debug
8485
8486 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8487
8488         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8489         (GST_START_TEST), (fakesrc_suite):
8490         * check/gst-libs/gdp.c: (GST_START_TEST):
8491         * check/gst/gst.c: (GST_START_TEST):
8492         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8493         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8494         * check/gst/gstbus.c: (GST_START_TEST):
8495         * check/gst/gstcaps.c: (GST_START_TEST):
8496         * check/gst/gstdata.c: (GST_START_TEST):
8497         * check/gst/gstelement.c: (GST_START_TEST):
8498         * check/gst/gstghostpad.c: (GST_START_TEST):
8499         * check/gst/gstiterator.c: (GST_START_TEST):
8500         * check/gst/gstmessage.c: (GST_START_TEST):
8501         * check/gst/gstobject.c: (GST_START_TEST):
8502         * check/gst/gstpad.c: (GST_START_TEST):
8503         * check/gst/gststructure.c: (GST_START_TEST):
8504         * check/gst/gstsystemclock.c: (GST_START_TEST),
8505         (gst_systemclock_suite):
8506         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8507         * check/gst/gstvalue.c: (GST_START_TEST):
8508         * check/pipelines/cleanup.c: (GST_START_TEST):
8509         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8510         * check/states/sinks.c: (GST_START_TEST):
8511         * check/gstcheck.c: (gst_check_init):
8512         * check/gstcheck.h:
8513           add debugging category
8514           use GST_START_TEST now, so we add a debug line
8515
8516 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8517
8518         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8519           add test for state change message on a bin
8520         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8521           add another test
8522         * gst/gstbin.c: (gst_bin_init):
8523         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8524         * gst/gstelement.c: (gst_element_post_message),
8525         (gst_element_set_state):
8526         * gst/gstelementfactory.c: (gst_element_factory_create):
8527         * gst/gstmessage.c: (gst_message_new):
8528         * gst/gstscheduler.c:
8529           various debugging additions and cleanups
8530
8531 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8532
8533         * check/Makefile.am:
8534         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8535         (main):
8536           adding tests for elements
8537         * gst/gstelement.c: (gst_element_dispose):
8538
8539 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8540
8541         * gst/registries/gstlibxmlregistry.c: (load_feature):
8542           plug more leaks.  A simple gst_init() now is leakfree, yay.
8543
8544 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8545
8546         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8547         (gst_xml_registry_load):
8548           plug another memleak
8549
8550 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8551
8552         * configure.ac:
8553           use GST_SET_ERROR_CFLAGS
8554         * docs/faq/cvs.xml:
8555           change to ERROR_CFLAGS
8556
8557 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8558
8559         * configure.ac:
8560           make GST_ERROR_CFLAGS overridable and re-enable Werror
8561         * docs/faq/cvs.xml:
8562           add a note about error CFLAGS
8563         * docs/gst/tmpl/gstfakesrc.sgml:
8564         * gst/elements/gstfakesrc.c:
8565           comment out some unused code
8566         * gst/gst.c: (split_and_iterate):
8567         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8568         (load_feature):
8569           plug some memleaks
8570
8571 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8572
8573         * common/Makefile.am:
8574         * common/gtk-doc.mak:
8575         * docs/gst/Makefile.am:
8576           factor out gtk-doc.mak
8577
8578 2005-07-07  Wim Taymans  <wim@fluendo.com>
8579
8580         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8581         (gst_thread_scheduler_dispose):
8582         Unlock the STREAM_LOCK completely.
8583
8584 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8585
8586         * check/Makefile.am:
8587         * check/elements/.cvsignore:
8588         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8589         (START_TEST), (fakesrc_suite), (main):
8590         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8591         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8592         (gst_fakesrc_create), (gst_fakesrc_start):
8593         * gst/elements/gstfakesrc.h:
8594           adding a first element test
8595
8596 2005-07-07  Andy Wingo  <wingo@pobox.com>
8597
8598         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8599         debug message.
8600
8601 2005-07-07  Wim Taymans  <wim@fluendo.com>
8602
8603         * gst/gstquery.c:
8604         * gst/gstquery.h:
8605         Remove old types
8606
8607 2005-07-07  Wim Taymans  <wim@fluendo.com>
8608
8609         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8610         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8611         Allow subclasses to implement their own negotiation.
8612
8613 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8614
8615         * docs/design/part-gstbin.txt:
8616         * docs/design/part-gstpipeline.txt:
8617           Update design notes to reflect the movement of
8618           responsibility for bus handling from GstPipeline to
8619           GstBin
8620
8621 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8622
8623         * configure.ac:
8624           Remove unnecessary queue2/3/4 examples.
8625
8626 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8627
8628         * examples/Makefile.am:
8629         * examples/helloworld/helloworld.c: (event_loop), (main):
8630         * examples/queue/queue.c: (event_loop), (main):
8631         * examples/queue2/queue2.c: (main):
8632           Update a couple of the examples to work again.
8633
8634         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8635         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8636          Spelling corrections and extra debug.
8637         
8638         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8639         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8640         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8641         * gst/gstbin.h:
8642         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8643         (gst_pipeline_change_state):
8644         * gst/gstpipeline.h:
8645           Move the bus handler for children to the GstBin, and create a
8646           separate bus for receiving messages from children to the one the
8647           bus sends 'upwards' on.
8648
8649 2005-07-06  Wim Taymans  <wim@fluendo.com>
8650
8651         * gst/base/README:
8652         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8653         (gst_base_sink_handle_object), (gst_base_sink_loop),
8654         (gst_base_sink_change_state):
8655         * gst/base/gstbasesink.h:
8656         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8657         (gst_base_src_init), (gst_base_src_setcaps),
8658         (gst_base_src_getcaps), (gst_base_src_loop),
8659         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8660         (gst_base_src_start), (gst_base_src_change_state):
8661         * gst/base/gstbasesrc.h:
8662         Make basesrc negotiate.
8663         Handle the case where preroll fails in basesink.
8664         Update README.
8665
8666 2005-07-06  Wim Taymans  <wim@fluendo.com>
8667
8668         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8669         Implement the fixate function.
8670         Clean up acceptcaps.
8671
8672 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8673
8674         * docs/pwg/building-filterfactory.xml:
8675         * docs/pwg/pwg.xml:
8676           Remove never-written filter-factory chapter; I'll add the various
8677           base classes to part 4 ("other element types") later on.
8678
8679 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8680
8681         * docs/pwg/advanced-negotiation.xml:
8682         * docs/pwg/building-boiler.xml:
8683         * docs/pwg/building-pads.xml:
8684         * docs/pwg/pwg.xml:
8685         * examples/pwg/Makefile.am:
8686           Add a chapter on caps negotiation, simplify the original code
8687           samples a bit w.r.t. caps negotiation, add link to the advanced
8688           section. Add a bunch of examples showing different use cases of
8689           different types of caps negotiation. Upstream renegotiation isn't
8690           fully documented yet since nobody knows how that works.
8691
8692 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8693
8694         * check/gst/gstpad.c:
8695         * check/gstcheck.c:
8696         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8697           if pad has no parent, return NULL as list of internal links
8698
8699 2005-07-05  Andy Wingo  <wingo@pobox.com>
8700
8701         * gst/elements/gstfilesrc.c:
8702         * gst/elements/gstfakesrc.c: 
8703         * gst/base/gstpushsrc.c:
8704         * gst/base/gstbasesrc.h: 
8705         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8706         
8707 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8708
8709         * Makefile.am:
8710           better report generation target (lcov needs a patch)
8711
8712 2005-07-05  Andy Wingo  <wingo@pobox.com>
8713
8714         * gst/elements, testsuite: Null if we got it...
8715
8716 2005-07-05  Wim Taymans  <wim@fluendo.com>
8717
8718         * configure.ac:
8719         * libs/gst/dataprotocol/Makefile.am:
8720         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8721         * libs/gst/dataprotocol/dataprotocol.h:
8722         * pkgconfig/Makefile.am:
8723         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8724         * pkgconfig/gstreamer-dataprotocol.pc.in:
8725         Ported dataprotol to 0.9. 
8726         Added pkgconfig files.
8727
8728 2005-07-05  Andy Wingo  <wingo@pobox.com>
8729
8730         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8731         Default to returning TRUE for the case when tranform_caps returns
8732         a fixed caps, like for identity or volume.
8733
8734         * check/gst/gstbus.c (pound_bus_with_messages): 
8735         * check/gst/gstmessage.c (START_TEST): 
8736         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8737         message API change.
8738
8739         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8740         logic weaks here: always run transform_caps, trying passthrough
8741         operation only if the original caps intersects with the transform.
8742
8743         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8744         source and sink caps.
8745
8746         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8747         Intersect the peer caps with the pad template before going into
8748         transform_caps.
8749         (gst_base_transform_transform_caps): More debugging.
8750
8751         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8752         src argument.
8753
8754 2005-07-04  Edward Hervey  <edward@fluendo.com>
8755
8756         * gst/gstutils.c:
8757         * gst/gstutils.h:
8758         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8759         in bindings.
8760
8761 2005-07-04  Andy Wingo  <wingo@pobox.com>
8762
8763         * check/gst/gstpad.c: Only set explicit caps on pads.
8764
8765 2005-07-01  Andy Wingo  <wingo@pobox.com>
8766
8767         * tests/network-clock.scm: Commentary update.
8768
8769         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8770         Didn't really make sense, not implementable with basetransform,
8771         etc.
8772         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8773         attempt at implementing the sync property, needs an unlock method.
8774
8775         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8776         New func, by default returns the same caps (the identity
8777         transformation).
8778         (gst_base_transform_getcaps): Uses transform_caps to return
8779         something sensible.
8780         (gst_base_transform_setcaps): Complicated logic to get caps on
8781         both pads, even if they are different, and to call set_caps once
8782         for every time both pads get their caps set.
8783         (gst_base_transform_handle_buffer): Give the ref to the transform
8784         function. Allows in-place modification of the buffer.
8785
8786         * gst/base/gstbasetransform.h (transform_caps): New class method.
8787         Given caps on one side, what can I do on the other.
8788         (set_caps): Take two caps, one for each side of the element.
8789
8790         * gst/gstpad.h:
8791         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8792         caps in place. This is safe because we can check the mutability of
8793         the caps, and a good idea because fixate functions are just called
8794         as a matter of last resort. (Not actually implemented.)
8795         (gst_pad_set_caps): If the caps we're setting is actually the same
8796         as the existing pad caps, just update the pointer without calling
8797         setcaps. Assert that caps is either NULL or fixed, as per the
8798         docs.
8799
8800         * gst/gstghostpad.c: Update for fixate changes.
8801
8802 2005-07-02  Andy Wingo  <wingo@pobox.com>
8803
8804         * gst/gstcaps.c:
8805         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8806         two refcounts makes it immutable, which is enough. Doc more.
8807
8808 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8809
8810         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8811           Put the mini_object into GValue as a mini_object,
8812           not a gpointer, since that's how we declared
8813           the signal.
8814
8815 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8816
8817         * examples/pwg/Makefile.am:
8818           Fix buildbot again.
8819
8820 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8821
8822         * docs/pwg/building-testapp.xml:
8823           Add extra check.
8824         * examples/pwg/Makefile.am:
8825           Fix buildbot.
8826
8827 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8828
8829         * configure.ac:
8830         * examples/Makefile.am:
8831         * examples/pwg/Makefile.am:
8832         * examples/pwg/extract.pl:
8833           Enable building the PWG examples.
8834         * docs/pwg/advanced-interfaces.xml:
8835           Add URI interface stub.
8836         * docs/pwg/advanced-types.xml:
8837         * docs/pwg/other-autoplugger.xml:
8838         * docs/pwg/appendix-porting.xml:
8839         * docs/pwg/pwg.xml:
8840           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8841         * docs/pwg/building-boiler.xml:
8842         * docs/pwg/building-chainfn.xml:
8843         * docs/pwg/building-pads.xml:
8844         * docs/pwg/building-props.xml:
8845         * docs/pwg/building-state.xml:
8846         * docs/pwg/building-testapp.xml:
8847           Update the building-*.xml parts for 0.9 changes. All examples
8848           code blocks compile in examples/pwg/*.
8849
8850 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8851
8852         * docs/manual/advanced-autoplugging.xml:
8853         * docs/manual/appendix-checklist.xml:
8854         * docs/manual/appendix-integration.xml:
8855         * docs/manual/highlevel-components.xml:
8856           Fix playbin/decodebin examples, update docs a bit, mention bus
8857           instead of signals in various places, mention kmplayer and
8858           kaffeine since they have a working GStreamer backend in the KDE
8859           section.
8860
8861 2005-06-30  Wim Taymans  <wim@fluendo.com>
8862
8863         * CHANGES-0.9:
8864         * docs/design/draft-ghostpads.txt:
8865         * docs/design/draft-push-pull.txt:
8866         * docs/design/draft-query.txt:
8867         * docs/design/part-TODO.txt:
8868         * docs/design/part-query.txt:
8869         Added CHANGES-0.9 doc, updated status of other docs.
8870         
8871         * gst/gstquery.h:
8872         Remove "hmm" macro
8873
8874 2005-06-30  Wim Taymans  <wim@fluendo.com>
8875
8876         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8877         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8878         (gst_base_sink_change_state):
8879         * gst/base/gstbasesink.h:
8880         Some tweaks, only EOS and a buffer complete a preroll.
8881
8882 2005-06-30  Andy Wingo  <wingo@pobox.com>
8883
8884         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8885         activate_push down to the internal pad as well.
8886
8887 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8888
8889         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8890
8891         * gst/gsttaginterface.c:
8892           Some documentation fixes (#307394 and #307397).
8893
8894 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8895
8896         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8897
8898         * gst/gstvalue.c: (gst_value_intersect_list):
8899           Fix memleak (#309125).
8900
8901 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8902
8903         * docs/manual/advanced-dataaccess.xml:
8904           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8905         * docs/manual/basics-pads.xml:
8906           Add reference for filtered caps to above chapter.
8907
8908 2005-06-30  Wim Taymans  <wim@fluendo.com>
8909
8910         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8911         (gst_bin_change_state):
8912         Probes are gone.
8913         Lame attempt at making the state change function a bit
8914         more readable.
8915
8916 2005-06-30  Wim Taymans  <wim@fluendo.com>
8917
8918         * docs/design/part-clocks.txt:
8919         * docs/design/part-element-sink.txt:
8920         * docs/design/part-events.txt:
8921         * docs/design/part-preroll.txt:
8922         * docs/design/part-states.txt:
8923         Some more tweeks and additions to the docs.
8924
8925 2005-06-30  Wim Taymans  <wim@fluendo.com>
8926
8927         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8928         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8929         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8930         (gst_pad_check_pull_range), (gst_pad_get_range),
8931         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8932         * gst/gstpad.h:
8933         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8934         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8935         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8936         (gst_pad_remove_buffer_probe):
8937         Removed atomic operations, use existing LOCK.
8938         Move exception handling out of main code path.
8939
8940 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8941
8942         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8943         (silly_return_true_function), (gst_pad_class_init),
8944         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8945         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8946         (gst_pad_send_event):
8947           Fix accumulator, add default value by using _emitv() instead
8948           of _emit() for signal emission.
8949
8950 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8951
8952         * docs/manual/advanced-dataaccess.xml:
8953         * examples/manual/Makefile.am:
8954           Add probe example.
8955         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8956           Make work (??).
8957
8958 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8959
8960         * gst/elements/gstfilesink.c: (gst_filesink_render):
8961           Simplify code so that we don't have to handle short
8962           writes and return GST_FLOW_ERROR if an error occured.
8963
8964 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8965
8966         * docs/gst/gstreamer-docs.sgml:
8967           Remove probes more.
8968
8969 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8970
8971         * docs/gst/gstreamer-sections.txt:
8972         * docs/gst/tmpl/gstpad.sgml:
8973         * docs/gst/tmpl/gstprobe.sgml:
8974         * gst/Makefile.am:
8975         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8976         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8977         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8978         (gst_pad_push_event), (gst_pad_send_event):
8979         * gst/gstpad.h:
8980         * gst/gstutils.c: (gst_pad_add_data_probe),
8981         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8982         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8983         (gst_pad_remove_buffer_probe):
8984         * gst/gstutils.h:
8985           Remove old probes, add new g-signal-based probes and some utility
8986           functions.
8987
8988 2005-06-29  Edward Hervey  <edward@fluendo.com>
8989
8990         * gst/gstelementfactory.c:
8991         * gst/gstutils.h:
8992         * gst/gstutils.c:
8993         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8994         the definition to the header file.
8995
8996 2005-06-29  Andy Wingo  <wingo@pobox.com>
8997
8998         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8999         plugins from the source directory.
9000
9001 2005-06-29  Wim Taymans  <wim@fluendo.com>
9002
9003         * docs/gst/tmpl/gstbuffer.sgml:
9004         * docs/gst/tmpl/gstclock.sgml:
9005         Some fixings for blantently wrong text.
9006
9007 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9008
9009         * check/Makefile.am:
9010         * gst/gst.c: (add_path_func), (init_pre):
9011         * gst/gstregistry.c: (gst_registry_add_path):
9012           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9013           only scan the GST_PLUGIN_PATH locations, and not add
9014           system locations
9015
9016 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9017
9018         * docs/gst/gstreamer-sections.txt:
9019         * docs/gst/tmpl/gstbasesrc.sgml:
9020         * gst/gstelement.c:
9021         * gst/gstelement.h:
9022         * gst/gstevent.c:
9023         * gst/gstutils.c:
9024           doc fixes
9025
9026 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9027
9028         * docs/manual/advanced-autoplugging.xml:
9029           Fix autoplugging example.
9030
9031 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9032
9033         * docs/manual/advanced-autoplugging.xml:
9034         * docs/manual/mime-world.fig:
9035           Try to get autoplugging working, fix type detection. Fix text
9036           in hello-world image.
9037
9038 2005-06-29  Wim Taymans  <wim@fluendo.com>
9039
9040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9041         (gst_base_sink_change_state):
9042         Small debug line.
9043
9044         * gst/gstclock.h:
9045         map SIGNAL and BROADCAST to the right function.
9046
9047         * gst/gstobject.h:
9048         Remove redundant braces.
9049
9050         * gst/gstpad.c: (gst_pad_set_caps):
9051         Don't call setcaps function when reseting caps to NULL.
9052
9053         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9054         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9055         (gst_system_clock_id_unschedule):
9056         Use BROADCAST as this is what we do.
9057
9058 2005-06-29  Wim Taymans  <wim@fluendo.com>
9059
9060         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9061         We are actually prerolling before commiting the state
9062         change. 
9063
9064 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9065
9066         * docs/manual/advanced-clocks.xml:
9067         * docs/manual/advanced-interfaces.xml:
9068         * docs/manual/advanced-metadata.xml:
9069         * docs/manual/advanced-position.xml:
9070         * docs/manual/advanced-schedulers.xml:
9071         * docs/manual/advanced-threads.xml:
9072         * docs/manual/appendix-porting.xml:
9073         * docs/manual/basics-bins.xml:
9074         * docs/manual/basics-bus.xml:
9075         * docs/manual/basics-elements.xml:
9076         * docs/manual/basics-helloworld.xml:
9077         * docs/manual/basics-pads.xml:
9078         * docs/manual/highlevel-components.xml:
9079         * docs/manual/manual.xml:
9080         * docs/manual/thread.fig:
9081           Update (until threads/scheduling) Application Development Manual;
9082           remove GstThread, add GstBus, add simple porting checklist, add
9083           documentation for tag writing, clocks, make all examples until this
9084           part compile and run.
9085         * examples/manual/Makefile.am:
9086           Update from changes to Application Development Manual; add bus
9087           example, remove thread example.
9088
9089 2005-06-28  Wim Taymans  <wim@fluendo.com>
9090
9091         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9092         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9093         (gst_bus_source_dispatch):
9094         Add debugging messages.
9095         Make internal methods static.
9096         Handle the case where the bus is flushed in the handler.
9097         
9098         * gst/gstelement.c: (gst_element_get_bus):
9099         Fix refcount in _get_bus();
9100
9101         * gst/gstpipeline.c: (gst_pipeline_change_state),
9102         (gst_pipeline_get_clock_func):
9103         Clock refcounting fixes.
9104         Handle the case where preroll timed out more gracefully.
9105         
9106         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9107         Clean up the internal thread in dispose. This is needed
9108         for subclasses that actually get disposed.
9109         
9110         * gst/schedulers/threadscheduler.c:
9111         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9112         (gst_thread_scheduler_dispose):
9113         Free thread pool in dispose.
9114
9115 2005-06-28  Andy Wingo  <wingo@pobox.com>
9116
9117         * tests/network-clock-utils.scm (debug, print-event): New utils.
9118
9119         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9120         (*packet-loss*): Unified loss probability.
9121         (network-time): Report out-of-band events.
9122
9123         * tests/plot-data: Add support for out-of-band events. Hack it
9124         into this script instead of passing it down the pipe; should fix
9125         this later.
9126
9127 2005-06-28  Wim Taymans  <wim@fluendo.com>
9128
9129         * docs/gst/gstreamer.types:
9130         * docs/gst/tmpl/gstbasesrc.sgml:
9131         * docs/gst/tmpl/gstpad.sgml:
9132         Docs fixes.
9133
9134 2005-06-28  Wim Taymans  <wim@fluendo.com>
9135
9136         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9137         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9138         (gst_proxy_pad_do_fixatecaps):
9139         Correctly proxy the check_pull_range function.
9140
9141 2005-06-28  Andy Wingo  <wingo@pobox.com>
9142
9143         * tests/network-clock.scm: Removed need for slib.
9144         
9145 2005-06-28  Wim Taymans  <wim@fluendo.com>
9146
9147         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9148         (gst_basesink_preroll_queue_flush):
9149         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9150         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9151         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9152         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9153         (gst_proxy_pad_set_property):
9154         * gst/gstpad.c:
9155         * gst/gstpad.h:
9156         * gst/gstqueue.c: (gst_queue_init):
9157         The deprecated pad loop function is removed now.
9158
9159 2005-06-28  Andy Wingo  <wingo@pobox.com>
9160
9161         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9162         New parameters, simulate network packet loss.
9163
9164         * tests/network-clock-utils.scm: Initialize the RNG.
9165
9166 2005-06-28  Wim Taymans  <wim@fluendo.com>
9167
9168         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9169         (gst_basesink_event), (gst_basesink_deactivate):
9170         Flushing the preroll queue always needs to unlock the waiters.
9171
9172 2005-06-28  Edward Hervey  <edward@fluendo.com>
9173
9174         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9175         Wheen a seek was successful on a pipeline, set the stream_time to the
9176         seek offset in order to have a synchronized stream_time.
9177
9178 2005-06-28  Wim Taymans  <wim@fluendo.com>
9179
9180         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9181         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9182         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9183         (gst_proxy_pad_do_fixatecaps):
9184         Call wrapper function instead of just calling the function
9185         pointers. This takes care of any locking and whatmore.
9186
9187 2005-06-28  Wim Taymans  <wim@fluendo.com>
9188
9189         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9190         (gst_pad_pull_range):
9191         * gst/gstpad.h:
9192         CONNECTED -> LINKED.
9193
9194 2005-06-28  Andy Wingo  <wingo@pobox.com>
9195
9196         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9197         source-munging commit!!!
9198
9199         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9200         (gst_object_sink): Take gpointer arguments, not GstObject --
9201         avoids casts. Like GLib.
9202
9203         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9204         activate.
9205
9206 2005-06-27  Andy Wingo  <wingo@pobox.com>
9207
9208         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9209         remaining buffer.
9210
9211         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9212         returns a sorted copy of the trace list.
9213         (gst_alloc_trace_print_live): New API, only prints traces with
9214         live objects. Sort the list.
9215         (gst_alloc_trace_print_all): Sort the list.
9216         (gst_alloc_trace_print): Align columns.
9217
9218         * gst/elements/gstttypefindelement.c:
9219         * gst/elements/gsttee.c:
9220         * gst/base/gstbasesrc.c:
9221         * gst/base/gstbasesink.c:
9222         * gst/base/gstbasetransform.c:
9223         * gst/gstqueue.c: Adapt for pad activation changes.
9224
9225         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9226         sched.
9227         (gst_pipeline_dispose): Drop ref on sched.
9228
9229         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9230         (gst_pad_activate_default): Push mode by default.
9231         (pre_activate_switch, post_activate_switch): New stubs, things to
9232         do before and after switching activation modes on pads.
9233         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9234         the pad's activate function to choose which mode to activate.
9235         Shortcut on deactivation and call the right function directly.
9236         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9237         mode.
9238         (gst_pad_activate_push): New API, same for push mode.
9239         (gst_pad_set_activate_function) 
9240         (gst_pad_set_activatepull_function) 
9241         (gst_pad_set_activatepush_function): Setters for new API.
9242
9243         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9244         Trace all miniobjects.
9245         (gst_mini_object_make_writable): Unref the arg if we copy, like
9246         gst_caps_make_writable.
9247
9248         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9249
9250         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9251         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9252         Adapt for new pad API.
9253
9254         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9255
9256         * gst/gstelement.h:
9257         * gst/gstelement.c (gst_element_iterate_src_pads) 
9258         (gst_element_iterate_sink_pads): New API functions.
9259         
9260         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9261         should fold into gstiterator.c in some form.
9262         (gst_element_pads_activate): Simplified via use of fold and
9263         delegation of decisions to gstpad->activate.
9264
9265         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9266         help in debugging.
9267
9268         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9269         class once in init, like gstmessage. Didn't run into this issue
9270         but it seems correct. Don't initialize a trace, gstminiobject does
9271         that.
9272
9273         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9274         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9275         to the bus.
9276         (assert_live_count): New util function, uses alloc traces to check
9277         cleanup.
9278
9279         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9280         To be modified when unlink drops the internal pad.
9281
9282 2005-06-27  Wim Taymans  <wim@fluendo.com>
9283
9284         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9285         (gst_bin_change_state):
9286         Cleanup the get_state() function a little, make sure it
9287         iterates the same set of elements.
9288         Added stub iterate_state_order().
9289
9290 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9291
9292         * docs/gst/gstreamer-docs.sgml:
9293         * docs/gst/gstreamer-sections.txt:
9294         * docs/gst/gstreamer.types:
9295         * docs/gst/tmpl/gstbasesink.sgml:
9296         * docs/gst/tmpl/gstbasesrc.sgml:
9297         * docs/gst/tmpl/gstbasetransform.sgml:
9298         * docs/gst/tmpl/gstelement.sgml:
9299         * docs/gst/tmpl/gstiterator.sgml:
9300         * gst/base/gstbasesrc.c:
9301         * gst/base/gstbasesrc.h:
9302         * gst/base/gstbasetransform.h:
9303         * gst/gstelement.c:
9304         * gst/gstiterator.h:
9305           adding basetransform and iterator docs
9306
9307 2005-06-27  Andy Wingo  <wingo@pobox.com>
9308
9309         * docs/design/part-activation.txt: Notes on how activation should
9310         work -- not quite implemented yet.
9311
9312 2005-06-25  Wim Taymans  <wim@fluendo.com>
9313
9314         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9315         At least get the chain function correct, needs more
9316         fixing.
9317
9318 2005-06-25  Wim Taymans  <wim@fluendo.com>
9319
9320         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9321         (gst_basesink_handle_object), (gst_basesink_event),
9322         (gst_basesink_do_sync), (gst_basesink_handle_event),
9323         (gst_basesink_change_state):
9324         * gst/gsttask.h:
9325         Right, two problems here: ghostpads don't take locks and
9326         glib _rec_mutex_lock_full() with depth==0 still locks.
9327         Catch illegal locking and g_warn them.
9328
9329 2005-06-25  Wim Taymans  <wim@fluendo.com>
9330
9331         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9332         Have to check for completion now...
9333
9334 2005-06-25  Wim Taymans  <wim@fluendo.com>
9335
9336         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9337         (gst_basesink_handle_object), (gst_basesink_event),
9338         (gst_basesink_do_sync), (gst_basesink_handle_event),
9339         (gst_basesink_change_state):
9340         * gst/gstpad.h:
9341         Unlock STREAM_LOCK whatever the recursion was.
9342
9343 2005-06-25  Wim Taymans  <wim@fluendo.com>
9344
9345         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9346         (gst_basesink_preroll_queue_empty),
9347         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9348         (gst_basesink_event), (gst_basesink_do_sync),
9349         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9350         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9351         (gst_basesink_change_state):
9352         Reworked the base sink, handle event and buffer serialisation
9353         correctly and removed possible deadlock.
9354         Handle EOS correctly.
9355
9356 2005-06-25  Wim Taymans  <wim@fluendo.com>
9357
9358         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9359         (gst_pipeline_change_state):
9360         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9361         Allow elements to post EOS in the state change function.
9362         Fix up -launch, make it exit the poll loop when the
9363         pipeline actually changed state.
9364         Fix up warning parsing in -launch.
9365
9366 2005-06-25  Wim Taymans  <wim@fluendo.com>
9367
9368         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9369         (gst_tee_sink_activate):
9370         Core takes STREAM_LOCK for us now.
9371
9372 2005-06-25  Wim Taymans  <wim@fluendo.com>
9373
9374         * gst/gstelement.c: (gst_element_get_state_func),
9375         (gst_element_set_state):
9376         * gst/gstelement.h:
9377         * gst/gstmessage.c: (gst_message_parse_error),
9378         (gst_message_parse_warning):
9379         Keep track of current target state while performing a state
9380         change so that subclasses can do something interesting.
9381         Fix parsing of warning/error messages when GError is NULL.
9382
9383 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9384
9385         * docs/gst/Makefile.am:
9386         * docs/gst/gstreamer-docs.sgml:
9387         * docs/gst/gstreamer-sections.txt:
9388         * docs/gst/gstreamer.types:
9389         * docs/gst/tmpl/gstbasesink.sgml:
9390         * docs/gst/tmpl/gstbasesrc.sgml:
9391         * docs/gst/tmpl/gstbin.sgml:
9392         * docs/gst/tmpl/gstcompat.sgml:
9393         * docs/gst/tmpl/gstfakesink.sgml:
9394         * docs/gst/tmpl/gstfakesrc.sgml:
9395         * docs/gst/tmpl/gstfilesink.sgml:
9396         * docs/gst/tmpl/gstfilesrc.sgml:
9397         * docs/gst/tmpl/gstindex.sgml:
9398         * docs/manual/appendix-quotes.xml:
9399         * gst/base/gstbasesrc.h:
9400         * gst/elements/gstfakesrc.h:
9401         * gst/gstmessage.h:
9402           start pulling in base classes and elements in our docs
9403
9404 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9405
9406         * docs/gst/Makefile.am:
9407         * docs/libs/Makefile.am:
9408           fixed make distcheck with gtk-doc 1.3
9409
9410 2005-06-23  Wim Taymans  <wim@fluendo.com>
9411
9412         * gst/gstelement.c: (gst_element_get_state_func),
9413         (gst_element_set_state), (gst_element_change_state):
9414         When the state did not change, also report NO_PREROLL
9415         when it matters.
9416
9417 2005-06-23  Wim Taymans  <wim@fluendo.com>
9418
9419         * gst/gstpad.c: (gst_pad_event_default):
9420         * gst/gstqueue.c: (gst_queue_loop):
9421         No unsafe task pausing please.
9422
9423 2005-06-23  Wim Taymans  <wim@fluendo.com>
9424
9425         * gst/schedulers/threadscheduler.c:
9426         (gst_thread_scheduler_task_start),
9427         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9428         Ref the task before pushing it on the threadpool. This
9429         makes sure that we have a ref when the threadfunction is
9430         actually called.
9431
9432 2005-06-23  Andy Wingo  <wingo@pobox.com>
9433
9434         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9435         offset is greater than the file's size.
9436
9437         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9438         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9439         * gst/gstobject.c (gst_object_class_init): Make the class lock
9440         recursive. Wim won't let me drop deep_notify. Decodebin works
9441         again, whoopdy doo.
9442
9443         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9444         internal pad, and hacks accordingly. Doesn't do it on the target
9445         pad because we change its caps. Probably catches all cases of
9446         interest tho.
9447         (gst_ghost_pad_set_property): Connect to notify::caps as
9448         appropritate.
9449
9450         * tests/network-clock.scm (plot-simulation): Pipe data to the
9451         elite python skript.
9452
9453         * tests/network-clock-utils.scm (define-parameter): New macro,
9454         defines a parameter that can be set via the command line.
9455         (set-parameter!, parse-parameter-arguments): Command line args
9456         parser.
9457
9458         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9459         stdin.
9460
9461 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9462
9463         * gst/elements/gsttypefindelement.c:
9464         (gst_type_find_element_handle_event):
9465           Don't restart typefinding on a discont.
9466         * gst/gstelement.c: (gst_element_set_state):
9467           Debug spelling fix.
9468         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9469           Allow changing mode of an active pad.
9470           Debug output fixes.
9471         * gst/registries/gstlibxmlregistry.c: (load_feature):
9472           Don't cast a static pad template to a normal pad template.
9473
9474 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9477         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9478           remove gst_strtoll completely, since it didn't actually do
9479           anything more than what g_ascii_strtoull already does.
9480           check for range errors when deserializing
9481           do a cast for the unsigned cases; but further fixing needs
9482           a decision on what the interpretation of "(int)" and
9483           deserialization should be for values that fall outside the
9484           type's boundaries (ie, refuse, or interpret as casting)
9485
9486 2005-06-23  Wim Taymans  <wim@fluendo.com>
9487
9488         * check/Makefile.am:
9489         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9490         * docs/design/part-live-source.txt:
9491         * docs/design/part-states.txt:
9492         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9493         (gst_basesrc_set_live), (gst_basesrc_is_live),
9494         (gst_basesrc_get_range), (gst_basesrc_activate),
9495         (gst_basesrc_change_state):
9496         * gst/base/gstbasesrc.h:
9497         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9498         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9499         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9500         * gst/gstelement.c: (gst_element_get_state_func),
9501         (gst_element_set_state):
9502         * gst/gstelement.h:
9503         * gst/gsttypes.h:
9504         * tools/gst-launch.c: (event_loop), (main):
9505         Added support for live sources and other elements that
9506         cannot do preroll.
9507         Updated design docs, added live-source design doc.
9508         Implemented live source functionality in basesrc
9509         Fix error condition in _bin_get_state()
9510         Implement live source handling in -launch.
9511         Added check for live sources.
9512         Fixed case in GstBin where elements were changed state
9513         multiple times.
9514
9515
9516 2005-06-23  Andy Wingo  <wingo@pobox.com>
9517
9518         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9519         borken refcounting.
9520
9521         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9522         gst_caps_replace takes care of this for us.
9523
9524         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9525         gst_pad_set_caps on the target, not just its setcaps() function.
9526
9527         * tests/network-clock.scm: 
9528         * tests/network-clock-utils.scm: A network clock simulator.
9529         Something of an algorithmic testbed before doing something in C.
9530
9531 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9532
9533         * check/Makefile.am:
9534         * check/gst/capslist.h:
9535           copy over from 0.8, and add two with bitmasks specified with
9536           (int) 0xFF...
9537         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9538           add test to parse everything from capslist.h
9539         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9540         (main):
9541           add test for structure deserialization
9542         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9543           add tests for deserialization of strings to int types
9544         * gst/gststructure.c: (gst_structure_nth_field_name):
9545         * gst/gststructure.h:
9546           add a way to get the name of a field referenced by index
9547         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9548           instead of checking if the resulting long long lies between
9549           min and max, we check if the long long would fit into
9550           a number of bytes for the final type.
9551           This fixes cases where a string represents 2^32 - 1, which
9552           when cast to int would be the (valid) -1, but is bigger than
9553           G_MAXINT
9554
9555 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9556
9557         * gst/parse/grammar.y:
9558           add a log line for type deserialization
9559
9560 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9561
9562         * check/gst/gstvalue.c: (START_TEST):
9563         * gst/gstvalue.c: (gst_value_deserialize):
9564           return long long, not int, so gint64 deserialization actually
9565           works.  Is there any flag that makes the compiler check this ?
9566           Fixes #308559
9567
9568 2005-06-22  Wim Taymans  <wim@fluendo.com>
9569
9570         * gst/gstbuffer.h:
9571         Added convenience macros for setting buffers in GValue.
9572
9573 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9574
9575         * check/gst/.cvsignore:
9576         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9577           add a test deserializing int64, and comment part out because
9578           it fails, yay !
9579
9580 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9581
9582         * check/Makefile.am:
9583         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9584         * testsuite/Makefile.am:
9585         * testsuite/caps/Makefile.am:
9586         * testsuite/caps/value_serialize.c:
9587         * testsuite/test_gst_init.c:
9588           move a value_serialize test over
9589
9590 2005-06-20  Wim Taymans  <wim@fluendo.com>
9591
9592         * gst/gstpad.c:
9593         Small doc updates.
9594         
9595         * gst/gstvalue.c: (gst_value_compare_buffer),
9596         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9597         (gst_value_compare_flags), (gst_value_serialize_flags),
9598         (gst_value_deserialize_flags), (_gst_value_initialize):
9599         Fix serialisation of buffers, they are not boxed types anymore
9600
9601 2005-06-20  Wim Taymans  <wim@fluendo.com>
9602
9603         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9604         Testcase to show error in buffer-on-caps serialisation.
9605
9606 2005-06-20  Andy Wingo  <wingo@pobox.com>
9607
9608         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9609         will be adding to later.
9610
9611         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9612         if its socks fill with rocks.
9613         (gst_system_clock_obtain): Set the name on object construction.
9614         Avoid double-checked locking.
9615
9616 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9617
9618         * gst/gsturi.c: (gst_element_make_from_uri):
9619           Fix potential endless loop.
9620
9621 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9622
9623         * check/Makefile.am:
9624           add gsttag
9625         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9626         (main):
9627           move over from testsuite dir and clean up
9628         * configure.ac:
9629         * gst/gsttag.c:
9630         * testsuite/Makefile.am:
9631         * testsuite/tags/.cvsignore:
9632         * testsuite/tags/Makefile.am:
9633         * testsuite/tags/merge.c:
9634           remove testsuite/tags
9635
9636 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9637
9638         * docs/gst/gstreamer-sections.txt:
9639         * docs/gst/tmpl/gstenumtypes.sgml:
9640         * win32/gstenumtypes.c:
9641           clean up documentation build a little
9642
9643 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9644
9645         * check/gstcheck.h:
9646           add macros for checking refcounts on objects and caps
9647         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9648           add some more unit tests
9649         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9650         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9651           fix leaked refcounts (I hope :)) so unittest works
9652         * gst/gstpad.h:
9653           whitespace removal
9654
9655 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9656
9657         * configure.ac: back to HEAD
9658
9659 === release 0.9.1 ===
9660
9661 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9662
9663         * NEWS:
9664         * RELEASE:
9665           updated
9666
9667 2005-06-17  Andy Wingo  <wingo@pobox.com>
9668
9669         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9670         assert; it's always possible that the pad gets deactivated in
9671         between the checks in gstpad.c and the implementation. Rely on
9672         finish_preroll() to return a FLUSHING or similar instead of on the
9673         assert.
9674         
9675         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9676         clock and post an EOS message if we come out of finish_preroll in
9677         the playing state.
9678
9679 2005-06-16  David Schleef  <ds@schleef.org>
9680
9681         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9682         (gst_capsfilter_set_property): Allow NULL as possible value
9683         for filter_caps property, indicating GST_CAPS_ANY.
9684
9685 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9688           fix debug output
9689         * gst/schedulers/Makefile.am:
9690           use libgst prefix
9691         * gstreamer.spec.in:
9692           fix spec for it
9693
9694 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9695
9696         * gstreamer.spec.in:
9697           clean up
9698
9699 2005-06-08  Andy Wingo  <wingo@pobox.com>
9700
9701         * gst/gstutils.c: RPAD fixes all around.
9702         (gst_element_link_pads): Refcounting fixes.
9703
9704         * tools/gst-inspect.c:
9705         * tools/gst-xmlinspect.c:
9706         * parse/grammar.y:
9707         * gst/base/gsttypefindhelper.c:
9708         * gst/base/gstbasesink.c:
9709         * gst/gstqueue.c: RPAD fixes.
9710
9711         * gst/gstghostpad.h:
9712         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9713         pads. The tricky thing is they provide both source and sink
9714         interfaces, since they proxy the internal pad for the external
9715         pad, and vice versa. Implement with lower-level ProxyPad objects,
9716         with the interior proxy pad as a child of the exterior ghost pad.
9717         Should write a doc on this.
9718         
9719         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9720         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9721         gst_object API.
9722         
9723         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9724         pads are real pads. No ghost pads in this file. Not documenting
9725         the myriad s/RPAD/PAD/ and REALIZE fixes.
9726         (gst_pad_class_init): Add properties for "direction" and
9727         "template". Both are construct-only, so they can't change during
9728         the life of the pad. Fixes properly deriving from GstPad.
9729         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9730         derived objects, just set properties when creating the objects via
9731         g_object_new.
9732         (gst_pad_get_parent): Implement as a function, return NULL if the
9733         parent is not an element.
9734         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9735         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9736         
9737         * gst/gstobject.c (gst_object_class_init): Make name a construct
9738         property. Don't set it in the object init.
9739
9740         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9741         with UNKNOWN direction.
9742         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9743         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9744         (gst_element_remove_pad): Remove ghost-pad special cases.
9745         (gst_element_pads_activate): Remove rpad cruft.
9746
9747         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9748         catch the pad's-parent-not-an-element case.
9749
9750         * gst/gst.h: Include gstghostpad.h.
9751
9752         * gst/gst.c (init_post): No more real, ghost pads.
9753
9754         * gst/Makefile.am: Add gstghostpad.[ch].
9755
9756         * check/Makefile.am:
9757         * check/gst/gstbin.c:
9758         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9759         into a bin creates ghost pads, and that the refcounts are right.
9760         Partly moved from gstbin.c.
9761
9762 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * check/gst-libs/.cvsignore:
9765         * check/gst/.cvsignore:
9766         * check/pipelines/.cvsignore:
9767           ignore more
9768         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9769         (START_TEST), (cleanup_suite), (main):
9770           add some tests related to cleanup after running pipelines
9771
9772 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9773
9774         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9775           add a testsuite for GstBuffer
9776
9777 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9778
9779         * gst/gstminiobject.h:
9780           add defines for accessing the refcount
9781
9782 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9783
9784         * Makefile.am: added support for html unit test coverage reports
9785
9786 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9787
9788         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9789           Free existing caps if the capsfilter changes. Add a FIXME about
9790           setting those caps on the pads.
9791
9792         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9793           Before adding a ghost pad to a parent bin, check that there isn't
9794           already one for the element on the bin. Prevents infinite recursion
9795           when using decodebin in parse pipelines. Andy says he'll rewrite the
9796           way this works anyway, so ignore the hack.
9797
9798 2005-06-02  Andy Wingo  <wingo@pobox.com>
9799
9800         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9801         file size, pass it on to the type find helper.
9802
9803         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9804         segment_start and segment_end properly according to the seek
9805         method. Segment_end is still a bit flaky because offset can be
9806         negative for CUR and END cases, but it takes -1 as an "unset"
9807         value.
9808
9809 2005-06-02  Wim Taymans  <wim@fluendo.com>
9810
9811         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9812         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9813         (gst_basesink_activate):
9814         * gst/base/gstbasesink.h:
9815         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9816         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9817         (gst_pad_query), (gst_pad_start_task):
9818         * gst/gstpad.h:
9819         * gst/gstqueue.c: (gst_queue_bufferalloc),
9820         (gst_queue_handle_sink_event), (gst_queue_chain):
9821         Bufferalloc: return GstFlowReturn to more accuratly report
9822         why allocation failed.
9823
9824 2005-06-02  Wim Taymans  <wim@fluendo.com>
9825
9826         * gst/gstpipeline.c: (gst_pipeline_send_event):
9827         Take snapshot of state without blocking.
9828
9829 2005-06-02  Wim Taymans  <wim@fluendo.com>
9830
9831         * docs/design/part-TODO.txt:
9832         * docs/design/part-caps.txt:
9833         * docs/design/part-clocks.txt:
9834         * docs/design/part-negotiation.txt:
9835         * docs/design/part-preroll.txt:
9836         Small doc updates 
9837
9838 2005-05-30  Wim Taymans  <wim@fluendo.com>
9839
9840         * gst/elements/gstidentity.c: (gst_identity_event),
9841         (gst_identity_transform), (gst_identity_get_property):
9842         Protect last_message property as it is accessed from
9843         multiple threads.
9844
9845 2005-05-30  Wim Taymans  <wim@fluendo.com>
9846
9847         * gst/gstelement.c: (gst_element_init),
9848         (gst_element_pads_activate), (gst_element_change_state):
9849         Slicker pad activation code.
9850
9851 2005-05-30  Wim Taymans  <wim@fluendo.com>
9852
9853         * gst/Makefile.am:
9854         * gst/gstelement.h:
9855         * gst/gstelementfactory.h:
9856         * gst/gsttypes.h:
9857         Move elementfactory methods to separate .h file.
9858
9859 2005-05-30  Wim Taymans  <wim@fluendo.com>
9860
9861         * docs/design/part-overview.txt:
9862         * gst/gstsystemclock.h:
9863         Small typo fixes, doc updates.
9864
9865 2005-05-30  Wim Taymans  <wim@fluendo.com>
9866
9867         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9868         (init_popt_callback):
9869         Remove cpu-opt flag.
9870
9871 2005-05-30  Wim Taymans  <wim@fluendo.com>
9872
9873         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9874         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9875         * gst/gstbuffer.h:
9876         Avoid typechecking in places where not needed.
9877         Added accessor for malloc_data.
9878
9879 2005-05-30  Wim Taymans  <wim@fluendo.com>
9880
9881         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9882         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9883         (gst_pad_configure_sink), (gst_pad_configure_src),
9884         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9885         (gst_pad_start_task):
9886         Propagate errors from _set_caps() in configure_src/sink
9887         functions instead of returning TRUE.
9888         FLUSH events can travel up and downstream
9889
9890
9891 2005-05-30  Wim Taymans  <wim@fluendo.com>
9892
9893         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9894         (gst_basesink_activate):
9895         Handle EOS in preroll.
9896
9897 2005-05-30  Wim Taymans  <wim@fluendo.com>
9898
9899         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9900         (gst_queue_loop), (gst_queue_handle_src_event):
9901         Remove old pieces of code
9902         Flushing the queue in an upstream event is a very bad idea.
9903
9904 2005-05-26  Andy Wingo  <wingo@pobox.com>
9905
9906         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9907         gst_value_set_mini_object so as to add a ref on the object (which
9908         will be removed when the value is unset).
9909
9910         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9911         arg type in ::handoff.
9912
9913         * gst/gstelement.c (gst_element_change_state): Also deactivate
9914         pads in READY->NULL, just in case the element didn't make it to
9915         PAUSED. Wingo tested, Wim approved.
9916
9917 2005-05-26  Wim Taymans  <wim@fluendo.com>
9918
9919         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9920         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9921         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9922         A flushing pad cannot be used to alloc_buffer from.
9923
9924 2005-05-26  Wim Taymans  <wim@fluendo.com>
9925
9926         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9927         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9928         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9929         (gst_bus_create_watch), (gst_bus_add_watch_full):
9930         * gst/gstbus.h:
9931         Implement a real GSource and use g_main_context_wakeup() to
9932         signal new messages instead of the socketpair.
9933
9934 2005-05-25  Wim Taymans  <wim@fluendo.com>
9935
9936         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9937         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9938         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9939         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9940         (gst_pad_send_event), (gst_pad_start_task):
9941         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9942         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9943         (gst_queue_sink_activate), (gst_queue_src_activate),
9944         (gst_queue_change_state):
9945         * gst/gstqueue.h:
9946         Fix state changes for non sinks. We now change sinks, then elements
9947         with unconnected srcpads, then the rest.
9948         More efficient queue unlocking in flush and state changes.
9949         Set the pad activate mode even if it does not have an activate
9950         function.
9951
9952 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9953
9954         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9955           Don't go in pull mode for non-seekable sources.
9956         * gst/elements/gsttypefindelement.h:
9957         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9958         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9959         (free_entry), (stop_typefinding),
9960         (gst_type_find_element_handle_event), (find_peek),
9961         (gst_type_find_element_chain), (do_pull_typefind),
9962         (gst_type_find_element_change_state):
9963           Allow typefinding (w/o seeking) in push-mode, simplified version
9964           of what was in 0.8.
9965         * gst/gstutils.c: (gst_buffer_join):
9966         * gst/gstutils.h:
9967           gst_buffer_join() from 0.8.
9968
9969 2005-05-25  Wim Taymans  <wim@fluendo.com>
9970
9971         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9972         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9973         (gst_pad_send_event), (gst_pad_start_task):
9974         Disable attempt at mode switching until it is figured out.
9975
9976 2005-05-25  Wim Taymans  <wim@fluendo.com>
9977
9978         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9979         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9980         (gst_basesink_finish_preroll), (gst_basesink_chain),
9981         (gst_basesink_loop), (gst_basesink_activate),
9982         (gst_basesink_change_state):
9983         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9984         (gst_basesrc_get_range), (gst_basesrc_loop),
9985         (gst_basesrc_activate):
9986         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9987         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9988         (gst_real_pad_init), (gst_real_pad_set_property),
9989         (gst_real_pad_get_property), (gst_pad_set_active),
9990         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9991         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9992         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9993         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9994         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9995         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9996         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9997         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9998         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9999         (gst_pad_stop_task):
10000         * gst/gstpad.h:
10001         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10002         (gst_queue_loop), (gst_queue_src_activate):
10003         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10004         (gst_task_get_state):
10005         * gst/gsttask.h:
10006         * gst/schedulers/threadscheduler.c:
10007         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10008         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10009         in task function.
10010         Remove ACTIVE pad flag, use FLUSHING everywhere
10011         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10012         functions.
10013         Add locks around IS_FLUSHING when reading.
10014         Take STREAM lock in chain(), get_range() functions so plugins
10015         don't need to take it anymore.
10016         
10017
10018
10019 2005-05-25  Wim Taymans  <wim@fluendo.com>
10020
10021         * tools/gst-launch.c: (event_loop):
10022         Unref message after using its contents instead of
10023         before.
10024
10025 2005-05-24  Wim Taymans  <wim@fluendo.com>
10026
10027         * docs/design/draft-ghostpads.txt:
10028         * docs/design/draft-push-pull.txt:
10029         * docs/design/draft-query.txt:
10030         * docs/design/part-overview.txt:
10031         Docs updates, added general overview doc.
10032
10033 2005-05-21  David Schleef  <ds@schleef.org>
10034
10035         * docs/gst/tmpl/old/GstBin.sgml:
10036         * docs/gst/tmpl/old/GstBuffer.sgml:
10037         * docs/gst/tmpl/old/GstCaps.sgml:
10038         * docs/gst/tmpl/old/GstClock.sgml:
10039         * docs/gst/tmpl/old/GstCompat.sgml:
10040         * docs/gst/tmpl/old/GstData.sgml:
10041         * docs/gst/tmpl/old/GstElement.sgml:
10042         * docs/gst/tmpl/old/GstEvent.sgml:
10043         * docs/gst/tmpl/old/GstIndex.sgml:
10044         * docs/gst/tmpl/old/GstStructure.sgml:
10045         * docs/gst/tmpl/old/GstTag.sgml:
10046         * docs/gst/tmpl/old/cothreads.sgml:
10047         * docs/gst/tmpl/old/cothreads_compat.sgml:
10048         * docs/gst/tmpl/old/gettext.sgml:
10049         * docs/gst/tmpl/old/gobject2gtk.sgml:
10050         * docs/gst/tmpl/old/grammar.tab.sgml:
10051         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10052         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10053         * docs/gst/tmpl/old/gst_private.sgml:
10054         * docs/gst/tmpl/old/gstaggregator.sgml:
10055         * docs/gst/tmpl/old/gstarch.sgml:
10056         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10057         * docs/gst/tmpl/old/gstbufferstore.sgml:
10058         * docs/gst/tmpl/old/gstdata_private.sgml:
10059         * docs/gst/tmpl/old/gstdisksink.sgml:
10060         * docs/gst/tmpl/old/gstdisksrc.sgml:
10061         * docs/gst/tmpl/old/gstelementfactory.sgml:
10062         * docs/gst/tmpl/old/gstextratypes.sgml:
10063         * docs/gst/tmpl/old/gstfakesink.sgml:
10064         * docs/gst/tmpl/old/gstfakesrc.sgml:
10065         * docs/gst/tmpl/old/gstfdsink.sgml:
10066         * docs/gst/tmpl/old/gstfdsrc.sgml:
10067         * docs/gst/tmpl/old/gstfilesink.sgml:
10068         * docs/gst/tmpl/old/gstfilesrc.sgml:
10069         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10070         * docs/gst/tmpl/old/gstidentity.sgml:
10071         * docs/gst/tmpl/old/gstindexfactory.sgml:
10072         * docs/gst/tmpl/old/gstmarshal.sgml:
10073         * docs/gst/tmpl/old/gstmd5sink.sgml:
10074         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10075         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10076         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10077         * docs/gst/tmpl/old/gstpipefilter.sgml:
10078         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10079         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10080         * docs/gst/tmpl/old/gstshaper.sgml:
10081         * docs/gst/tmpl/old/gstspider.sgml:
10082         * docs/gst/tmpl/old/gstspideridentity.sgml:
10083         * docs/gst/tmpl/old/gststatistics.sgml:
10084         * docs/gst/tmpl/old/gsttee.sgml:
10085         * docs/gst/tmpl/old/gsttimecache.sgml:
10086         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10087         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10088         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10089         * docs/gst/tmpl/old/types.sgml:
10090           I didn't intend to add these or check them in.
10091
10092 2005-05-19  David Schleef  <ds@schleef.org>
10093
10094         * configure.ac: Use -no-common everywhere.  In a sane world, it
10095           would be the default in libtool, because without it, you can't
10096           build DLLs on Windows.
10097         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10098         * docs/gst/gstreamer-sections.txt:
10099         * docs/gst/tmpl/gstcpu.sgml:
10100         * docs/gst/tmpl/gstdata.sgml:
10101         * docs/gst/tmpl/gstthread.sgml:
10102
10103 2005-05-19  David Schleef  <ds@schleef.org>
10104
10105         * gst/gstminiobject.c: (gst_value_set_mini_object),
10106         (gst_value_take_mini_object), (gst_value_get_mini_object):
10107         * gst/gstminiobject.h: Add GValue set/get functions.
10108
10109 2005-05-19  Wim Taymans  <wim@fluendo.com>
10110
10111         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10112         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10113         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10114         * gst/gstbuffer.h:
10115         * gst/gstbus.c: (gst_bus_post):
10116         * gst/gstelement.c: (gst_element_get_random_pad):
10117         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10118         Make subbufer unref the parent in finalize.
10119         some more debugging info.
10120
10121
10122 2005-05-19  Wim Taymans  <wim@fluendo.com>
10123
10124         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10125         (gst_basesink_init), (gst_basesink_finalize),
10126         (gst_basesink_activate), (gst_basesink_change_state):
10127         Don't free preroll queue too early.
10128
10129 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10130
10131         * gst/Makefile.am:
10132         * gst/ROADMAP:
10133           Hi, I'm outdated. Please shoot me.
10134
10135 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10136
10137         * gst/gstpipeline.c: (gst_pipeline_send_event):
10138           Do not access variables after they have been deleted.
10139
10140 2005-05-19  Wim Taymans  <wim@fluendo.com>
10141
10142         * tools/gst-inspect.c: (print_plugin_features):
10143         A plugin feature does unfortunatly not use the
10144         object name yet...
10145
10146 2005-05-18  Wim Taymans  <wim@fluendo.com>
10147
10148         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10149         Port _span() functions to new subbuffers.
10150
10151 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10152
10153         * gst/gstbin.c: (gst_bin_add_func):
10154           Fix clock settery in bins when adding kids after the clock has
10155           been selected.
10156
10157 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10158
10159         * gst/elements/gstidentity.c: (gst_identity_class_init):
10160           Workaround until signals support GstMiniObject.
10161
10162 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10163
10164         * gst/gstbuffer.c:
10165         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10166
10167 2005-05-18  Wim Taymans  <wim@fluendo.com>
10168
10169         * gst/base/Makefile.am:
10170         * gst/base/gstadapter.c: (gst_adapter_base_init),
10171         (gst_adapter_class_init), (gst_adapter_init),
10172         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10173         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10174         (gst_adapter_flush), (gst_adapter_available),
10175         (gst_adapter_available_fast):
10176         * gst/base/gstadapter.h:
10177         Ported and added adapter to the base classes.
10178
10179 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10180
10181         * gst/gst.c:
10182         * gst/gstmessage.c:
10183           Make sure the class is reffed/unreffed once before threads can be
10184           used.  Fixes #304551.
10185
10186 2005-05-17  Wim Taymans  <wim@fluendo.com>
10187
10188         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10189         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10190         * gst/gstminiobject.c: (gst_mini_object_get_type),
10191         (gst_mini_object_free):
10192         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10193         (gst_pad_push), (gst_pad_push_event):
10194         * gst/gstqueue.c: (gst_queue_change_state):
10195         Don't queue buffers in basesink when we are flushing.
10196         Unref buffer when flushing in basesink.
10197         Flush queue when going to READY
10198         Unref buffer when _push() returns an error.
10199         Don't free MiniObject instance when refcount is incremented
10200         in _finalize() so that we can recover objects.
10201
10202 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10203
10204         * docs/manual/advanced-schedulers.xml:
10205         * docs/manual/appendix-checklist.xml:
10206         * docs/pwg/advanced-clock.xml:
10207         * docs/pwg/advanced-interfaces.xml:
10208         * docs/pwg/advanced-request.xml:
10209         * docs/pwg/advanced-types.xml:
10210         * docs/pwg/intro-preface.xml:
10211         * examples/plugins/example.c: (gst_example_get_type),
10212         (gst_example_class_init), (gst_example_chain),
10213         (gst_example_set_property), (gst_example_get_property),
10214         (gst_example_change_state), (plugin_init):
10215         * examples/plugins/example.h:
10216           small doc fixes
10217
10218 2005-05-17  Wim Taymans  <wim@fluendo.com>
10219
10220         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10221         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10222         * gst/gstqueue.c: (gst_queue_change_state):
10223         Clear queue when going to READY.
10224         Remove IN_SETCAPS flag too.
10225
10226 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10227
10228         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10229           Remove implicit cast from gboolean to GstElementStateReturn;
10230           make sure we still return failure in paused => ready case if
10231           the parent class fails to change state and our own stop 
10232           vfunc succeeds.
10233
10234 2005-05-17  Wim Taymans  <wim@fluendo.com>
10235
10236         * tools/gst-launch.c: (event_loop):
10237         Message was unreffed too soon.
10238
10239 2005-05-16  Andy Wingo  <wingo@pobox.com>
10240
10241         * gst/gstbin.c (sink_iterator_filter): Err... um...
10242
10243         * check/gst/gstbin.c (test_ghost_pads): New test for the
10244         ghosting-if-elements-not-in-same-bin behavior.
10245
10246 2005-05-16  David Schleef  <ds@schleef.org>
10247
10248         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10249         accessing refcount directly.
10250
10251 2005-05-15  David Schleef  <ds@schleef.org>
10252
10253         * check/Makefile.am: remove GstData checks
10254         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10255         * gst/Makefile.am: add miniobject, remove data
10256         * gst/gst.h: add miniobject, remove data
10257         * gst/gstdata.c: remove
10258         * gst/gstdata.h: remove
10259         * gst/gstdata_private.h: remove
10260         * gst/gsttypes.h: remove GstEvent and GstMessage
10261         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10262         * gst/gstmarshal.list: change BOXED -> OBJECT
10263
10264         Implement GstMiniObject.
10265         * gst/gstminiobject.c:
10266         * gst/gstminiobject.h:
10267
10268         Modify to be subclasses of GstMiniObject.
10269         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10270         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10271         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10272         (gst_subbuffer_get_type), (gst_subbuffer_init),
10273         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10274         (gst_buffer_span):
10275         * gst/gstbuffer.h:
10276         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10277         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10278         (_gst_event_copy), (gst_event_new):
10279         * gst/gstevent.h:
10280         * gst/gstmessage.c: (_gst_message_initialize),
10281         (gst_message_get_type), (gst_message_class_init),
10282         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10283         (gst_message_new), (gst_message_new_error),
10284         (gst_message_new_warning), (gst_message_new_tag),
10285         (gst_message_new_state_changed), (gst_message_new_application):
10286         * gst/gstmessage.h:
10287         * gst/gstprobe.c: (gst_probe_perform),
10288         (gst_probe_dispatcher_dispatch):
10289         * gst/gstprobe.h:
10290         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10291         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10292         (_gst_query_copy), (gst_query_new):
10293
10294         Update elements for GstData -> GstMiniObject changes
10295         * gst/gstquery.h:
10296         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10297         (gst_queue_chain), (gst_queue_loop):
10298         * gst/elements/gstbufferstore.c:
10299         (gst_buffer_store_add_buffer_func),
10300         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10301         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10302         (gst_fakesink_render):
10303         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10304         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10305         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10306         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10307         (gst_filesrc_create_read):
10308         * gst/elements/gstidentity.c: (gst_identity_class_init):
10309         * gst/elements/gsttypefindelement.c:
10310         (gst_type_find_element_src_event), (free_entry_buffers),
10311         (gst_type_find_element_handle_event):
10312         * libs/gst/dataprotocol/dataprotocol.c:
10313         (gst_dp_header_from_buffer):
10314         * libs/gst/dataprotocol/dataprotocol.h:
10315         * libs/gst/dataprotocol/dp-private.h:
10316
10317 2005-05-15  David Schleef  <ds@schleef.org>
10318
10319         * gst/elements/gstelements.c: Don't include headers that were
10320         just removed.
10321
10322 2005-05-15  David Schleef  <ds@schleef.org>
10323
10324         * gst/elements/Makefile.am: Remove some elements that don't
10325         need to be in the core (or even exist at all).
10326         * gst/elements/gstaggregator.c:
10327         * gst/elements/gstaggregator.h:
10328         * gst/elements/gstmd5sink.c:
10329         * gst/elements/gstmd5sink.h:
10330         * gst/elements/gstmultifilesrc.c:
10331         * gst/elements/gstmultifilesrc.h:
10332         * gst/elements/gstpipefilter.c:
10333         * gst/elements/gstpipefilter.h:
10334         * gst/elements/gstshaper.c:
10335         * gst/elements/gstshaper.h:
10336         * gst/elements/gststatistics.c:
10337         * gst/elements/gststatistics.h:
10338         * po/POTFILES.in: Remove above files.
10339
10340 2005-05-14  Andy Wingo  <wingo@pobox.com>
10341
10342         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10343         so as to get the refs right.
10344         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10345         unreffing objects that don't pass the filter.
10346
10347         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10348         gst_element_set_bus.
10349         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10350         normal cases, this will destroy the bus.
10351
10352         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10353         object.
10354
10355         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10356         has no sinks.
10357
10358 2005-05-13  Andy Wingo  <wingo@pobox.com>
10359
10360         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10361         gst_pad_link, call pad_link_maybe_ghosting,
10362         (pad_link_maybe_ghosting): Links pads, making sure that the
10363         elements being linked are in the same bin.
10364         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10365         Helpers for pad_link_maybe_ghosting.
10366
10367 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10368
10369         * configure.ac:
10370           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10371
10372 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10373
10374         * docs/design/part-element-source.txt:
10375           Mention GstPushSrc
10376
10377 2005-05-12  Wim Taymans  <wim@fluendo.com>
10378
10379         * gst/base/gstbasesink.c: (gst_basesink_init),
10380         (gst_basesink_activate):
10381         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10382         (gst_basesrc_is_seekable):
10383         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10384         (bin_element_is_sink), (gst_bin_change_state):
10385         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10386         * gst/gstelement.h:
10387         Identify sinks by their flag to avoid overly complicated
10388         checks (fow now).
10389         Do state changes even for elements not reachable from the
10390         sinks.
10391         BaseSink is a sink now :)
10392         Some more debugging info in the basesrc.
10393
10394
10395 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10396
10397         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10398           Implement _query on a bin, similar to _send_event.
10399
10400 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10401
10402         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10403           Discont event offset format should be GST_FORMAT_BYTES,
10404           not GST_FORMAT_TIME.
10405
10406 2005-05-12  Wim Taymans  <wim@fluendo.com>
10407
10408         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10409         Same fix as Ronald's but without the signal. 
10410
10411 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10412
10413         * gst/gstutils.c: (gst_element_query_position):
10414           No, an element is not a pad.
10415
10416 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10417
10418         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10419         (gst_bin_get_state):
10420           If a child is removed from a bin while we remove the child from
10421           the bin and while we're retrieving its state, signal this to the
10422           get_state function so we abort the wait (instead of waiting for
10423           a timeout) and can immediately re-iterate over all other elements.
10424
10425 2005-05-12  Wim Taymans  <wim@fluendo.com>
10426
10427         * gst/base/Makefile.am:
10428         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10429         (gst_basesrc_start):
10430         * gst/base/gstbasesrc.h:
10431         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10432         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10433         (gst_pushsrc_init), (gst_pushsrc_create):
10434         * gst/base/gstpushsrc.h:
10435         Added is_seekable to BaseSrc
10436         Added simple PushSrc.
10437
10438 2005-05-11  Wim Taymans  <wim@fluendo.com>
10439
10440         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10441         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10442         (gst_element_link_pads), (gst_element_query_position),
10443         (gst_element_query_convert), (intersect_caps_func),
10444         (gst_pad_query_position), (gst_pad_query_convert):
10445         Fix refcounting in utils function.
10446         No point in trying to activate a pad when it's added, it could
10447         be added from the state change function and then we deadlock, the
10448         element has to decide what to do.
10449
10450 2005-05-10  Andy Wingo  <wingo@pobox.com>
10451
10452         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10453         *all* the arguments.
10454
10455         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10456         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10457         lock (according to the docs -- if this is wrong change the docs).
10458
10459         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10460         flush messages in the NULL state.
10461
10462         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10463         message immediately and return.
10464         (gst_bus_set_flushing): New function. If a bus is flushing, it
10465         flushes out any queued messages and immediately unrefs new
10466         messages. This is so when an element goes to NULL, all of the
10467         unhandled messages coming from it can be freed, and their
10468         references to the element dropped. In other words: message source
10469         ref considered harmful :P
10470
10471         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10472         we're finished with it.
10473
10474         * gst/gstmessage.c (gst_message_new_state_changed): 
10475
10476 2005-05-10  Wim Taymans  <wim@fluendo.com>
10477
10478         * gst/gstvalue.c: (gst_value_compare_flags),
10479         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10480         (_gst_value_initialize):
10481         Added flags serialize/deserialize/compare code.
10482
10483 2005-05-09  Andy Wingo  <wingo@pobox.com>
10484
10485         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10486         Intersect the peer's caps with our caps.
10487
10488 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10489
10490         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10491         * gst/elements/gsttypefindelement.c: (find_peek):
10492           Handle negative offsets better. Fixes decodebin.
10493
10494 2005-05-09  Wim Taymans  <wim@fluendo.com>
10495
10496         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10497         (gst_base_transform_event):
10498         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10499         Implement accept_caps.
10500         Fix silly lock/unlock mismatch in base class.
10501
10502 2005-05-09  Wim Taymans  <wim@fluendo.com>
10503
10504         * docs/design/draft-push-pull.txt:
10505         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10506         * gst/elements/gstfilesink.c: (gst_filesink_init),
10507         (gst_filesink_query):
10508         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10509         (gst_type_find_handle_src_query), (find_element_get_length):
10510         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10511         * gst/gstelement.h:
10512         * gst/gstmessage.c:
10513         * gst/gstmessage.h:
10514         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10515         (gst_real_pad_get_caps_unlocked),
10516         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10517         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10518         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10519         (gst_real_pad_dispose), (gst_real_pad_finalize),
10520         (gst_pad_load_and_link), (gst_pad_save_thyself),
10521         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10522         (gst_pad_check_pull_range), (gst_pad_pull_range),
10523         (gst_pad_template_get_type), (gst_pad_template_class_init),
10524         (gst_pad_template_init), (gst_pad_template_dispose),
10525         (name_is_valid), (gst_static_pad_template_get),
10526         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10527         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10528         (gst_pad_get_element_private), (gst_pad_start_task),
10529         (gst_pad_pause_task), (gst_pad_stop_task),
10530         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10531         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10532         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10533         (gst_ghost_pad_new):
10534         * gst/gstpad.h:
10535         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10536         (gst_query_new_position), (gst_query_set_position),
10537         (gst_query_parse_position), (gst_query_new_convert),
10538         (gst_query_set_convert), (gst_query_parse_convert):
10539         * gst/gstquery.h:
10540         * gst/gstqueryutils.c:
10541         * gst/gstqueryutils.h:
10542         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10543         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10544         (gst_queue_handle_src_query):
10545         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10546         (gst_element_query_position), (gst_element_query_convert),
10547         (intersect_caps_func), (gst_pad_query_position),
10548         (gst_pad_query_convert):
10549         * gst/gstutils.h:
10550         * tools/gst-inspect.c: (print_pad_info):
10551         * tools/gst-xmlinspect.c: (print_element_info):
10552         Remove old query functions. Ported old code.
10553         Added position/convert helper functions to gstutils.
10554         Reordered gstpad.c code, grouping relevant things.
10555         Remove gst_message_new(), always need to speficy a specific
10556         message.
10557
10558
10559 2005-05-09  Andy Wingo  <wingo@pobox.com>
10560
10561         * gst/gstiterator.h: Add some includes.
10562
10563         * gst/gstqueryutils.h: Include more headers.
10564
10565         * gst/gstpad.h:
10566         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10567         some uses of gst_pad_query.
10568
10569         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10570         NULL out parameters.
10571         (gst_query_new_position): New proc, allocates a new position
10572         query.
10573
10574         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10575         gstqueryutils.c to the build.
10576
10577         * gst/gststructure.c (gst_structure_set_valist): Implement with
10578         the generic G_VALUE_COLLECT.
10579         
10580 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10581
10582         * gst/Makefile.am: (gst_headers):
10583         Added gstqueryutils.h to the list of headers to install, that was
10584         a 'nachty' move wingo :)
10585
10586 2005-05-06  Andy Wingo  <wingo@pobox.com>
10587
10588         * gst/gstquery.h
10589         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10590         GstData, init a memchunk.
10591         (standard_definitions): Add a few query types, deprecate a few.
10592         (gst_query_get_type): New proc.
10593         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10594         implementation.
10595         (gst_query_new_application, gst_query_get_structure): New public
10596         procs.
10597
10598         * docs/design/draft-query.txt: Removed LINKS from the query types,
10599         because all the rest can be dispatched to other pads -- seemed
10600         ugly to have a query that couldn't be dispatched. internal_links
10601         is fine as a pad method.
10602
10603         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10604         in gstpad.c, but maintain binary compatibility for the moment.
10605         Will fix before 0.9 is out.
10606
10607         * gst/gstqueryutils.c: 
10608         * gst/gstqueryutils.h: New files, implement 3 methods for each
10609         query type: parse_query, parse_response, and set. Probably need an
10610         allocator as well.
10611
10612         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10613
10614         * gst/elements/gstfilesink.c (gst_filesink_query2):
10615         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10616         query_types, and formats methods.
10617
10618         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10619         (gst_pad_set_query2_function): New functions.
10620         (gst_real_pad_init): Set query2_default as the default query2
10621         function. Basically just dispatches to internally linked pads.
10622
10623         Needs review!
10624         
10625         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10626         without using the atomic operations. Only one thread can possibly
10627         be accessing the data at this point. Changed so as to avoid
10628         gst_atomic operations.
10629
10630 2005-05-06  Wim Taymans  <wim@fluendo.com>
10631
10632         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10633         Also set caps if we use the fallback buffer alloc.
10634
10635 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10636
10637         * docs/gst/Makefile.am:
10638         * docs/gst/gstreamer-docs.sgml:
10639         * docs/gst/gstreamer-sections.txt:
10640         * docs/gst/tmpl/gstatomic.sgml:
10641         * docs/gst/tmpl/gstmemchunk.sgml:
10642         * testsuite/elements/struct_i386.h:
10643         * win32/GStreamer.vcproj:
10644         * win32/Makefile:
10645           Purge GstAtomic stuff from docs and win32 makefiles as well
10646
10647 2005-05-06  Wim Taymans  <wim@fluendo.com>
10648
10649         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10650         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10651         * gst/gstpad.c: (gst_pad_peer_get_caps):
10652         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10653         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10654         (gst_queue_src_activate), (gst_queue_change_state):
10655         * gst/gstqueue.h:
10656         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10657         (intersect_caps_func):
10658         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10659         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10660         Some fixes for the peer_get_caps() change.
10661
10662 2005-05-06  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10665         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10666         (gst_basesink_activate):
10667         Actually do something with error codes returned from the push
10668         functions.
10669
10670 2005-05-06  Wim Taymans  <wim@fluendo.com>
10671
10672         * docs/design/part-element-sink.txt:
10673         * docs/design/part-element-source.txt:
10674         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10675         (gst_basesink_event), (gst_basesink_activate):
10676         * gst/base/gstbasesink.h:
10677         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10678         (gst_basesrc_activate):
10679         * gst/base/gstbasesrc.h:
10680         * gst/gstelement.c: (gst_element_pads_activate):
10681         Some more documentation.
10682         Fixed scheduling decision in _pads_activate().
10683
10684 2005-05-05  Andy Wingo  <wingo@pobox.com>
10685
10686         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10687         the test suite.
10688
10689 2005-05-05  Wim Taymans  <wim@fluendo.com>
10690
10691         * gst/base/Makefile.am:
10692         * gst/base/gstbasesink.h:
10693         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10694         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10695         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10696         (gst_collectpads_class_init), (gst_collectpads_init),
10697         (gst_collectpads_finalize), (gst_collectpads_new),
10698         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10699         (find_pad), (gst_collectpads_remove_pad),
10700         (gst_collectpads_is_active), (gst_collectpads_collect),
10701         (gst_collectpads_collect_range), (gst_collectpads_start),
10702         (gst_collectpads_stop), (gst_collectpads_peek),
10703         (gst_collectpads_pop), (gst_collectpads_available),
10704         (gst_collectpads_read), (gst_collectpads_flush),
10705         (gst_collectpads_chain):
10706         * gst/base/gstcollectpads.h:
10707         * gst/elements/Makefile.am:
10708         * gst/elements/gstelements.c:
10709         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10710         (gst_fakesink_get_times), (gst_fakesink_event),
10711         (gst_fakesink_preroll), (gst_fakesink_render):
10712         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10713         (gst_filesink_init), (gst_filesink_set_location),
10714         (gst_filesink_open_file), (gst_filesink_close_file),
10715         (gst_filesink_pad_query), (gst_filesink_event),
10716         (gst_filesink_render), (gst_filesink_change_state):
10717         * gst/elements/gstfilesink.h:
10718         Added object to help in making collect pad based elements.
10719         Ported filesink.
10720         Make event function in sink baseclass return gboolean.
10721
10722 2005-05-05  Wim Taymans  <wim@fluendo.com>
10723
10724         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10725         (gst_bin_get_by_name):
10726         * gst/gstbuffer.h:
10727         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10728         (gst_clock_finalize):
10729         * gst/gstdata.c: (gst_data_replace):
10730         * gst/gstdata.h:
10731         * gst/gstelement.c: (gst_element_request_pad),
10732         (gst_element_pads_activate):
10733         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10734         (gst_object_unref):
10735         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10736         (gst_pad_set_checkgetrange_function),
10737         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10738         (gst_pad_check_pull_range), (gst_pad_pull_range),
10739         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10740         (gst_pad_pause_task), (gst_pad_stop_task):
10741         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10742         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10743         Fix name lookup in GstBin.
10744         Added _data_replace() function and _buffer_replace()
10745         Use finalize method to clean up clock.
10746         Fix refcounting on request pads.
10747         Fix pad schedule mode error.
10748         Some more object refcounting debug info,
10749
10750
10751 2005-05-04  Andy Wingo <wingo@pobox.com>
10752
10753         * check/Makefile.am:
10754         * docs/gst/tmpl/gstatomic.sgml:
10755         * docs/gst/tmpl/gstplugin.sgml:
10756         * gst/base/gstbasesink.c: (gst_basesink_activate):
10757         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10758         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10759         (gst_basesrc_query), (gst_basesrc_set_property),
10760         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10761         (gst_basesrc_activate):
10762         * gst/base/gstbasesrc.h:
10763         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10764         (gst_base_transform_src_activate):
10765         * gst/elements/gstelements.c:
10766         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10767         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10768         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10769         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10770         (gst_type_find_element_checkgetrange),
10771         (gst_type_find_element_activate):
10772         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10773         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10774         (gst_caps_load_thyself):
10775         * gst/gstelement.c: (gst_element_pads_activate),
10776         (gst_element_save_thyself), (gst_element_restore_thyself):
10777         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10778         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10779         * gst/gstpad.h:
10780         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10781         (gst_xml_parse_file), (gst_xml_parse_memory),
10782         (gst_xml_get_element), (gst_xml_make_element):
10783         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10784         (_file_index_id_save_xml), (gst_file_index_commit):
10785         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10786         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10787         (load_paths):
10788         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10789         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10790         * tools/gst-complete.c: (main):
10791         * tools/gst-compprep.c: (main):
10792         * tools/gst-inspect.c: (print_element_properties_info):
10793         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10794         * tools/gst-xmlinspect.c: (print_element_properties):
10795         GCC 4 fixen.
10796         
10797 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10798
10799         * gst/gstplugin.c: (gst_plugin_check_module),
10800         (gst_plugin_check_file), (gst_plugin_load_file):
10801             apply patch from #172526 to make register work on MacOSX
10802
10803 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10804
10805         * docs/gst/tmpl/gstconfig.sgml:
10806         * gst/gstconfig.h.in:
10807           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10808         * testsuite/debug/printf_extension.c: (main):
10809           Do not use GST_PTR_FORMAT on pointers to types with
10810           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10811         * testsuite/elements/property.h:
10812           use correct printf format
10813
10814 2005-05-02  Wim Taymans  <wim@fluendo.com>
10815
10816         * docs/design/draft-push-pull.txt:
10817         * docs/design/draft-query.txt:
10818         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10819         (gst_basesrc_start):
10820         Added draft for new query API.
10821         Added draft for better selecting scheduling methods.
10822         Make basesrc ignore length if the subclass does not support
10823         it.
10824
10825 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10826
10827         * gst/Makefile.am:
10828           possible fixes for automake-1.5 - _LIBADD is reserved
10829
10830 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10831
10832         * docs/faq/Makefile.am:
10833         * docs/manual/Makefile.am:
10834         * docs/manuals.mak:
10835         * docs/pwg/Makefile.am:
10836         * gst/Makefile.am:
10837           possible fixes for automake-1.5
10838
10839 2005-04-28  Wim Taymans  <wim@fluendo.com>
10840
10841         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10842         (gst_basesink_pad_getcaps), (gst_basesink_init),
10843         (gst_basesink_do_sync):
10844         * gst/gstclock.c: (gst_clock_entry_new):
10845         * gst/gstevent.c: (gst_event_discont_get_value):
10846         * gst/gstpipeline.c: (pipeline_bus_handler),
10847         (gst_pipeline_change_state):
10848         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10849         Better debugging of clocking info.
10850         Allow NULL values when getting discont values.
10851
10852 2005-04-27  Wim Taymans  <wim@fluendo.com>
10853
10854         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10855         * check/gst/gstpad.c: (gst_pad_suite):
10856         Increase timeout for checks.
10857
10858 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10859
10860         * check/Makefile.am:
10861           fix the broken rule for cleanup.  Apparently this rule is
10862           only needed on FC2, so maybe this warrants further autotool
10863           inspection.
10864
10865 2005-04-26  Wim Taymans  <wim@fluendo.com>
10866
10867         * gst/gsttrashstack.h:
10868         Ooohh. a nasty one! After having a failed pop() from the stack,
10869         it's possible that the stack is empty. In that case, don't
10870         follow the NULL pointer.
10871
10872 2005-04-25  Wim Taymans  <wim@fluendo.com>
10873
10874         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10875         (gst_pad_set_checkgetrange_function),
10876         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10877         (gst_pad_check_pull_range), (gst_pad_pull_range),
10878         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10879         (gst_pad_pause_task), (gst_pad_stop_task):
10880         * gst/gstplugin.c: (gst_plugin_load):
10881         * gst/gstplugin.h:
10882         Remove gst_library_load as it does more harm than good with
10883         the new g_module flags.
10884         Revert bogus caps template check in pad linking, pad caps
10885         are important when linking not the template, which is more
10886         general than the current caps.
10887
10888 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10889
10890         * gst/autoplug/.cvsignore:
10891         * gst/autoplug/Makefile.am:
10892         * gst/autoplug/gstsearchfuncs.c:
10893         * gst/autoplug/gstsearchfuncs.h:
10894         * gst/autoplug/gstspider.c:
10895         * gst/autoplug/gstspider.h:
10896         * gst/autoplug/gstspideridentity.c:
10897         * gst/autoplug/gstspideridentity.h:
10898         * gst/autoplug/spidertest.c:
10899           Die, spider, die.
10900
10901 2005-04-25  Wim Taymans  <wim@fluendo.com>
10902
10903         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10904         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10905         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10906         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10907         * gst/gstpad.h:
10908         Added stubs for unimplemented functions. 
10909
10910 2005-04-24  David Schleef  <ds@schleef.org>
10911
10912         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10913         please fix.
10914
10915 2005-04-24  David Schleef  <ds@schleef.org>
10916
10917         Convert everything from GstAtomicInt to g_atomic_int_*, and
10918         remove gstatomic.
10919         * gst/Makefile.am:
10920         * gst/gstatomic.c:
10921         * gst/gstatomic.h:
10922         * gst/gstatomic_impl.h:
10923         * gst/gstbuffer.c:
10924         * gst/gstcaps.c:
10925         * gst/gstcaps.h:
10926         * gst/gstclock.c:
10927         * gst/gstclock.h:
10928         * gst/gstdata.c:
10929         * gst/gstdata.h:
10930         * gst/gstdata_private.h:
10931         * gst/gstevent.c:
10932         * gst/gstinfo.c:
10933         * gst/gstinfo.h:
10934         * gst/gstmessage.c:
10935         * gst/gstobject.c:
10936         * gst/gstobject.h:
10937         * gst/gststructure.c:
10938         * gst/gststructure.h:
10939         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10940         * gst/gstutils.h:
10941
10942 2005-04-24  David Schleef  <ds@schleef.org>
10943
10944         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10945         make the regressions tests work.  Remove some code that is no
10946         longer true.
10947         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10948         Disable warning for pads without templates.
10949
10950 2005-04-24  David Schleef  <ds@schleef.org>
10951
10952         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10953         functions that handle filtered links.
10954         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10955         removed functions.
10956         * gst/gstutils.c: Fix/remove utility functions that handle
10957         filtered caps.
10958         * gst/gstutils.h:
10959         * gst/gstvalue.c: Add serialization/deserialization of caps
10960         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10961         requires fixing so that the filter caps notation creates
10962         a capsfilter element and sets the filter_caps property.  I
10963         think everyone probably wants to keep the shorthand notation.
10964         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10965         * docs/gst/tmpl/gstpad.sgml:
10966
10967         * gst/elements/gstelements.c: Register capsfilter element.
10968         * gst/Makefile.am: fix spacing
10969         * docs/random/ds/0.9-suggested-changes: random
10970
10971 2005-04-23  David Schleef  <ds@schleef.org>
10972
10973         * gst/elements/Makefile.am:
10974         * gst/elements/gstcapsfilter.c: New element that acts like an
10975         identity, but filters caps.  Will eventually replace filtered
10976         caps in pad linking.
10977         * gst/gstutils.c: (gst_element_create_all_pads): New function
10978         to create all the ALWAYS pads that are registered with an
10979         element class.  This functionality should eventually be
10980         merged in with GstElement initialization.
10981         * gst/gstutils.h:
10982         * testsuite/trigger/README: part of trigger test code that should
10983         have been checked in a long time ago.
10984
10985 2005-04-23  David Schleef  <ds@schleef.org>
10986
10987         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10988         needed with new versions of libtool (nobody will confirm this),
10989         and hard to carry around.
10990         * gst/autoplug/Makefile.am:
10991         * gst/base/Makefile.am:
10992         * gst/elements/Makefile.am:
10993         * gst/indexers/Makefile.am:
10994         * gst/schedulers/Makefile.am:
10995         * libs/gst/bytestream/Makefile.am:
10996         * libs/gst/control/Makefile.am:
10997         * libs/gst/dataprotocol/Makefile.am:
10998         * libs/gst/getbits/Makefile.am:
10999
11000 2005-04-21  Wim Taymans  <wim@fluendo.com>
11001
11002         * docs/design/draft-push-pull.txt:
11003         * docs/design/part-MT-refcounting.txt:
11004         * docs/design/part-TODO.txt:
11005         * docs/design/part-caps.txt:
11006         * docs/design/part-events.txt:
11007         * docs/design/part-gstbus.txt:
11008         * docs/design/part-gstpipeline.txt:
11009         * docs/design/part-messages.txt:
11010         * docs/design/part-push-pull.txt:
11011         * docs/design/part-query.txt:
11012         Some more docs.
11013
11014 2005-04-21  Wim Taymans  <wim@fluendo.com>
11015
11016         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11017         (gst_message_new), (gst_message_new_error),
11018         (gst_message_new_warning), (gst_message_new_tag),
11019         (gst_message_new_state_changed), (gst_message_new_application),
11020         (gst_message_get_structure):
11021         * gst/gstmessage.h:
11022         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11023         (gst_structure_copy_conditional):
11024         Use parent refcount in GstMessage to ensure GstStructure
11025         consistency.
11026         Cleaned up headers a bit.
11027         
11028
11029 2005-04-20  Wim Taymans  <wim@fluendo.com>
11030
11031         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11032         (gst_basesink_pad_getcaps), (gst_basesink_init),
11033         (gst_basesink_chain_unlocked):
11034         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11035         (gst_type_find_helper):
11036         * gst/elements/gsttypefindelement.c:
11037         (gst_type_find_element_have_type), (gst_type_find_element_init),
11038         (stop_typefinding), (gst_type_find_element_handle_event),
11039         (find_suggest), (gst_type_find_element_chain),
11040         (gst_type_find_element_checkgetrange),
11041         (gst_type_find_element_getrange), (do_typefind),
11042         (gst_type_find_element_activate):
11043         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11044         (gst_buffer_default_free), (gst_buffer_default_copy),
11045         (gst_buffer_set_caps):
11046         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11047         (gst_caps_replace):
11048         * gst/gstmessage.c: (gst_message_new),
11049         (gst_message_new_state_changed):
11050         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11051         (gst_pad_set_checkgetrange_function),
11052         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11053         (gst_pad_set_caps), (gst_pad_check_pull_range),
11054         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11055         * gst/gstpad.h:
11056         * gst/gsttypefind.c: (gst_type_find_register):
11057         Make gst_caps_replace() work like other _replace() functions.
11058         Use _caps_replace() where possible.
11059         Make sure _message_new() initialises its field.
11060         Add gst_static_pad_template_get_caps()
11061
11062
11063 2005-04-18  Andy Wingo  <wingo@pobox.com>
11064
11065         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11066         on the peer, not the pad. I think that was a typo. Pass an extra
11067         arg to see if random access is possible. Activate the pads as
11068         PULL_RANGE if possible.
11069
11070         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11071
11072         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11073         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11074         to PROP_....
11075
11076 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11077
11078         * docs/faq/using.xml:
11079           Add note on gstreamer-properties (#154996).
11080
11081 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11082
11083         * docs/random/bbb/optional-properties:
11084           Some analysis on optional properties.
11085
11086 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11087
11088         * docs/gst/tmpl/gstelementfactory.sgml:
11089         * gst/gstelement.h:
11090         * gst/gstelementfactory.c: (gst_element_factory_init),
11091         (gst_element_factory_cleanup), (gst_element_register),
11092         (__gst_element_factory_add_static_pad_template),
11093         (gst_element_factory_get_static_pad_templates),
11094         (gst_element_factory_can_src_caps),
11095         (gst_element_factory_can_sink_caps):
11096         * gst/registries/Makefile.am:
11097         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11098         (gst_xml_registry_class_init), (gst_xml_registry_init),
11099         (gst_xml_registry_new), (gst_xml_registry_set_property),
11100         (gst_xml_registry_get_property), (get_time), (make_dir),
11101         (gst_xml_registry_get_perms_func),
11102         (plugin_times_older_than_recurse), (plugin_times_older_than),
11103         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11104         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11105         (add_to_char_array), (read_string), (read_uint), (read_enum),
11106         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11107         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11108         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11109         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11110         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11111         (gst_xml_registry_rebuild):
11112         * gst/registries/gstlibxmlregistry.h:
11113         * tools/gst-compprep.c: (main):
11114         * tools/gst-inspect.c: (print_pad_templates_info):
11115         * tools/gst-xmlinspect.c: (print_element_info):
11116           Use libxml2 for registry parsing, use staticpadtemplates in
11117           elementfactories. Makes gst_init() +/- 10x faster.
11118
11119 2005-04-12  Wim Taymans  <wim@fluendo.com>
11120
11121         * gst/base/Makefile.am:
11122         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11123         (gst_basesink_pad_getcaps), (gst_basesink_init),
11124         (gst_basesink_event), (gst_basesink_change_state):
11125         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11126         (gst_basesrc_init), (gst_basesrc_query),
11127         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11128         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11129         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11130         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11131         (gst_basesrc_stop), (gst_basesrc_activate),
11132         (gst_basesrc_change_state):
11133         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11134         (helper_find_suggest), (gst_type_find_helper):
11135         * gst/base/gsttypefindhelper.h:
11136         * gst/elements/Makefile.am:
11137         * gst/elements/gstelements.c:
11138         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11139         (gst_fakesink_get_times), (gst_fakesink_event),
11140         (gst_fakesink_preroll), (gst_fakesink_render):
11141         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11142         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11143         (gst_fakesrc_get_property), (gst_fakesrc_create),
11144         (gst_fakesrc_start), (gst_fakesrc_stop):
11145         * gst/elements/gstfakesrc.h:
11146         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11147         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11148         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11149         (gst_filesrc_create_read), (gst_filesrc_create),
11150         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11151         (gst_filesrc_start):
11152         * gst/elements/gsttypefindelement.c:
11153         (gst_type_find_element_have_type), (gst_type_find_element_init),
11154         (start_typefinding), (stop_typefinding), (push_buffer_store),
11155         (gst_type_find_element_handle_event),
11156         (gst_type_find_element_chain),
11157         (gst_type_find_element_checkgetrange),
11158         (gst_type_find_element_getrange), (do_typefind),
11159         (gst_type_find_element_activate),
11160         (gst_type_find_element_change_state):
11161         * gst/elements/gsttypefindelement.h:
11162         * gst/gstpipeline.c: (pipeline_bus_handler):
11163         Added typefind helper.
11164         Small preroll fix in the base sink.
11165         Disable typefind code in basesrc.
11166         Crude port of typefindelement.
11167         Fakesrc cleanups.
11168
11169
11170 2005-04-11  Wim Taymans  <wim@fluendo.com>
11171
11172         * check/gst/gstbus.c: (gstbus_suite):
11173         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11174         * check/gstcheck.h:
11175           Fix up the timeout so that the test does not fail.
11176
11177 2005-04-06  Wim Taymans  <wim@fluendo.com>
11178
11179         * gst/base/README:
11180         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11181         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11182         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11183         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11184         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11185         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11186         (gst_basesrc_stop), (gst_basesrc_activate),
11187         (gst_basesrc_change_state), (basesrc_find_peek),
11188         (basesrc_find_suggest), (gst_basesrc_type_find):
11189         * gst/base/gstbasesrc.h:
11190         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11191         (gst_filesrc_class_init), (gst_filesrc_init),
11192         (gst_filesrc_finalize), (gst_filesrc_set_location),
11193         (gst_filesrc_set_property), (gst_filesrc_get_property),
11194         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11195         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11196         (gst_filesrc_create_read), (gst_filesrc_create),
11197         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11198         * gst/elements/gstfilesrc.h:
11199         * gst/gstelement.c: (gst_element_get_state_func),
11200         (gst_element_lost_state), (gst_element_pads_activate):
11201         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11202         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11203         (gst_pad_pull_range):
11204         * gst/gstpad.h:
11205         More work on the generic source base class, implement seeking,
11206         query.
11207         Make filesrc extend the base source class.
11208         Added gst_pad_set_checkgetrange_function to GstPad.
11209
11210 2005-04-06  Andy Wingo  <wingo@pobox.com>
11211
11212         * pkgconfig/gstreamer-base.pc.in:
11213         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11214
11215         * pkgconfig/Makefile.am:
11216         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11217
11218 2005-04-04  Wim Taymans  <wim@fluendo.com>
11219
11220         * gst/base/Makefile.am:
11221         * gst/base/README:
11222         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11223         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11224         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11225         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11226         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11227         (gst_basesrc_base_init), (gst_basesrc_class_init),
11228         (gst_basesrc_init), (gst_basesrc_get_formats),
11229         (gst_basesrc_get_query_types), (gst_basesrc_query),
11230         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11231         (gst_basesrc_set_property), (gst_basesrc_get_property),
11232         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11233         (gst_basesrc_loop), (gst_basesrc_activate),
11234         (gst_basesrc_change_state):
11235         * gst/base/gstbasesrc.h:
11236         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11237         (gst_fakesrc_class_init), (gst_fakesrc_init),
11238         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11239         (gst_fakesrc_get_property), (gst_fakesrc_create):
11240         * gst/elements/gstfakesrc.h:
11241         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11242         (gst_filesrc_open_file), (gst_filesrc_loop),
11243         (gst_filesrc_activate), (filesrc_find_peek),
11244         (gst_filesrc_type_find):
11245         Made base source class, make fakesrc extend it.
11246         Add comments to basesink class.
11247         Some filesrc cleanup.
11248
11249 2005-03-31  David Schleef  <ds@schleef.org>
11250
11251         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11252         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11253         expected to link against libgstreamer.
11254         * gst/base/Makefile.am: link against libgstreamer
11255         * gst/elements/Makefile.am: same
11256
11257 2005-03-31  Andy Wingo  <wingo@pobox.com>
11258
11259         * tests/instantiate/Makefile.am:
11260         * tests/instantiate/caps.c: Add test to test speed of caps copy
11261         and free.
11262
11263         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11264         GMemChunk to be fair.
11265
11266         * gst/gsttrashstack.h: Remove warning about using the fallback
11267         trash stack implementation, it's still faster than malloc.
11268
11269 2005-03-30  Andy Wingo  <wingo@pobox.com>
11270
11271         * tests/complexity.c: Add a copyright.
11272
11273 2005-03-31  Wim Taymans  <wim@fluendo.com>
11274
11275         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11276         (gst_base_transform_class_init), (gst_base_transform_init),
11277         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11278         (gst_base_transform_get_property),
11279         (gst_base_transform_sink_activate),
11280         (gst_base_transform_src_activate),
11281         (gst_base_transform_change_state):
11282         * gst/base/gstbasetransform.h:
11283         * gst/elements/gstidentity.c: (gst_identity_class_init),
11284         (gst_identity_event), (gst_identity_check_perfect),
11285         (gst_identity_transform), (gst_identity_start),
11286         (gst_identity_stop):
11287         Added start/stop methods to transform base class so subclasses 
11288         don't need to deal with state changes even.
11289
11290 2005-03-31  Wim Taymans  <wim@fluendo.com>
11291
11292         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11293         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11294         * gst/gstevent.h:
11295         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11296         (gst_pad_pull_range):
11297         Added rate to the discont event to prepare for variable speed
11298         and reverse playback.
11299
11300 2005-03-29  David Schleef  <ds@schleef.org>
11301
11302         * configure.ac:
11303         * testsuite/trigger/Makefile.am:
11304         * testsuite/trigger/trigger.c: A little example program to show
11305         how trigger-based elements can work.
11306
11307 2005-03-29  Wim Taymans  <wim@fluendo.com>
11308
11309         * gst/base/Makefile.am:
11310         * gst/base/README:
11311         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11312         (gst_basesink_base_init), (gst_basesink_class_init),
11313         (gst_basesink_pad_getcaps), (gst_basesink_init),
11314         (gst_basesink_activate), (gst_basesink_change_state):
11315         * gst/base/gstbasesink.h:
11316         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11317         (gst_base_transform_base_init), (gst_base_transform_finalize),
11318         (gst_base_transform_class_init), (gst_base_transform_init),
11319         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11320         (gst_base_transform_event), (gst_base_transform_getrange),
11321         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11322         (gst_base_transform_set_property),
11323         (gst_base_transform_get_property),
11324         (gst_base_transform_sink_activate),
11325         (gst_base_transform_src_activate),
11326         (gst_base_transform_change_state):
11327         * gst/base/gstbasetransform.h:
11328         * gst/elements/gstidentity.c: (gst_identity_finalize),
11329         (gst_identity_class_init), (gst_identity_init),
11330         (gst_identity_event), (gst_identity_check_perfect),
11331         (gst_identity_transform), (gst_identity_set_property),
11332         (gst_identity_get_property), (gst_identity_change_state):
11333         * gst/elements/gstidentity.h:
11334         * gst/gstelement.c: (gst_element_get_state_func),
11335         (gst_element_lost_state), (gst_element_pads_activate):
11336         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11337         (gst_pad_check_pull_range), (gst_pad_pull_range):
11338         * gst/gstpad.h:
11339         Simplify pad activation.
11340         Added function to check if pull_range can be performed.
11341         Error out when pulling inactive or flushing pads.
11342         Removed const from refcounted types as it does not make sense.
11343         Simplify pad templates in basesink
11344         Added base class for simple 1-to-1 transforms.
11345         Make identity subclass the base transform.
11346
11347 2005-03-29  Andy Wingo  <wingo@pobox.com>
11348
11349         * docs/libs/gstreamer-libs-overrides.txt: 
11350         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11351         really don't understand what's going on, but like whatever. I want
11352         green buildbot!
11353
11354         * docs/gst/Makefile.am:
11355         * docs/libs/Makefile.am: Dist the overrides files.
11356
11357         * check/Makefile.am (clean-local): Remove .libs directories.
11358
11359         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11360         elements to EXTRA_DIST, so po/ files are happy.
11361
11362         * po/POTFILES.in: Er, remove it here.
11363
11364         * po/POTFILES: Remove gstspider.c.
11365
11366         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11367
11368         * docs/libs/gstreamer-libs-docs.sgml: 
11369         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11370         bytestream.
11371
11372         * tests/complexity.c (main): Set the length of the preroll queue
11373         on the sinks to prevent a lockup.
11374
11375         * libs/gst/dataprotocol/Makefile.am: 
11376         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11377         the same as the one in check/gst-libs/gdp.c.
11378
11379         * po/, docs/gst/: Commit automatic changes to docs and po files.
11380
11381         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11382         the versioned libgstbase.
11383
11384         * check/Makefile.am: Depend on an unversioned gst-register, seems
11385         to make autoconf happier.
11386
11387         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11388
11389 2005-03-28  Wim Taymans  <wim@fluendo.com>
11390
11391         * configure.ac:
11392         * docs/design/part-gstelement.txt:
11393         * docs/design/part-negotiation.txt:
11394         * docs/design/part-preroll.txt:
11395         * docs/design/part-scheduling.txt:
11396         * docs/design/part-states.txt:
11397         * gst/Makefile.am:
11398         * gst/base/Makefile.am:
11399         * gst/base/README:
11400         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11401         (gst_basesink_base_init), (gst_basesink_class_init),
11402         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11403         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11404         (gst_basesink_set_pad_functions),
11405         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11406         (gst_basesink_set_property), (gst_basesink_get_property),
11407         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11408         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11409         (gst_basesink_preroll_queue_push),
11410         (gst_basesink_preroll_queue_empty),
11411         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11412         (gst_basesink_event), (gst_basesink_get_times),
11413         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11414         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11415         (gst_basesink_loop), (gst_basesink_activate),
11416         (gst_basesink_change_state):
11417         * gst/base/gstbasesink.h:
11418         * gst/elements/Makefile.am:
11419         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11420         (gst_fakesink_class_init), (gst_fakesink_init),
11421         (gst_fakesink_set_property), (gst_fakesink_get_property),
11422         (gst_fakesink_get_times), (gst_fakesink_event),
11423         (gst_fakesink_preroll), (gst_fakesink_render),
11424         (gst_fakesink_change_state):
11425         * gst/elements/gstfakesink.h:
11426         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11427         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11428         * gst/gstelement.c: (gst_element_add_pad),
11429         (gst_element_get_state_func), (gst_element_abort_state),
11430         (gst_element_commit_state), (gst_element_lost_state),
11431         (gst_element_set_state), (gst_element_pads_activate):
11432         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11433         * gst/gstpipeline.c: (gst_pipeline_send_event),
11434         (gst_pipeline_change_state):
11435         Added state change code.
11436         Added/updated docs.
11437         Added sink base class, make fakesink extend the base class.
11438         Small cleanups in GstPipeline.
11439
11440 2005-03-26  David Schleef  <ds@schleef.org>
11441
11442         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11443         is broken and should be implemented in a different library.
11444         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11445         * gst/gst.h: remove gstcpu.h
11446         * gst/gstcpu.c: remove
11447         * gst/gstcpu.h: remove
11448         * gst/Makefile.am.future: Remove this file.  It's ancient.
11449
11450 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11451
11452         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11453         (gst_bin_send_event):
11454           Add default event/set_manager handlers. The set_manager handler
11455           takes care that the manager is distributed over kids that were
11456           already in the bin before the manager was set. The event handler
11457           is a utility virtual function that sends the event over all sinks,
11458           so that gst_element_send_event (bin, event); has the expected
11459           behaviour.
11460         * gst/gstpad.c: (gst_pad_event_default):
11461           Re-install default event handling for discontinuities, so that
11462           seeking works without requiring hacks in applications or extra
11463           code in sinks.
11464         * gst/gstpipeline.c: (gst_pipeline_class_init),
11465         (gst_pipeline_send_event):
11466           Half hack, half utility: set a pipeline to PAUSED for seek events,
11467           since that is the only way we can guarantee a/v sync. Means that
11468           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11469           and it "just works".
11470
11471 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11472
11473         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11474           Lock/unlock mismatch.
11475
11476 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11477
11478         * docs/faq/gst-uninstalled:
11479           add gst-plugins-base
11480         * docs/gst/Makefile.am:
11481           don't error out until docs are fixed
11482         * docs/gst/gstreamer.types:
11483           remove thread
11484
11485 2005-03-22  Wim Taymans  <wim@fluendo.com>
11486
11487         * check/Makefile.am:
11488         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11489         * gst/gststructure.c: (gst_structure_set_valist),
11490         (gst_structure_copy_conditional):
11491         Activated more tests.
11492         Added message test.
11493         Added G_TYPE_POINTER to GstStructure.
11494         
11495
11496 2005-03-22  Wim Taymans  <wim@fluendo.com>
11497
11498         * docs/design/part-TODO.txt:
11499         * docs/design/part-events.txt:
11500         * docs/design/part-gstbin.txt:
11501         * docs/design/part-gstbus.txt:
11502         * docs/design/part-gstpipeline.txt:
11503         * docs/design/part-messages.txt:
11504         * gst/gstbus.c:
11505         * gst/gstmessage.c:
11506         Docs updates
11507
11508 2005-03-21  Wim Taymans  <wim@fluendo.com>
11509
11510         * gst/gstbus.c: (gst_bus_post):
11511         Fix copy-and-paste error.
11512
11513 2005-03-21  Wim Taymans  <wim@fluendo.com>
11514
11515         * check/Makefile.am:
11516         * gst/Makefile.am:
11517         * gst/elements/Makefile.am:
11518         * gst/elements/gstelements.c:
11519         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11520         (gst_fakesink_event), (gst_fakesink_chain):
11521         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11522         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11523         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11524         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11525         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11526         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11527         (gst_fakesrc_loop), (gst_fakesrc_activate),
11528         (gst_fakesrc_change_state):
11529         * gst/elements/gstfakesrc.h:
11530         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11531         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11532         (gst_filesrc_open_file), (gst_filesrc_loop),
11533         (gst_filesrc_activate), (gst_filesrc_change_state),
11534         (filesrc_find_peek), (filesrc_find_suggest),
11535         (gst_filesrc_type_find):
11536         * gst/elements/gstidentity.c: (gst_identity_finalize),
11537         (gst_identity_class_init), (gst_identity_init),
11538         (gst_identity_proxy_getcaps), (identity_queue_push),
11539         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11540         (gst_identity_getrange), (gst_identity_chain),
11541         (gst_identity_sink_loop), (gst_identity_src_loop),
11542         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11543         (gst_identity_set_property), (gst_identity_get_property),
11544         (gst_identity_change_state):
11545         * gst/elements/gstidentity.h:
11546         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11547         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11548         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11549         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11550         (gst_tee_sink_activate):
11551         * gst/elements/gsttee.h:
11552         * gst/gst.c: (gst_register_core_elements), (init_post):
11553         * gst/gst.h:
11554         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11555         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11556         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11557         (gst_bin_change_state):
11558         * gst/gstbin.h:
11559         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11560         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11561         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11562         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11563         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11564         (bus_watch_callback), (bus_watch_destroy),
11565         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11566         (poll_timeout), (gst_bus_poll):
11567         * gst/gstbus.h:
11568         * gst/gstcaps.h:
11569         * gst/gstdata.h:
11570         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11571         (gst_element_post_message), (gst_element_message_full),
11572         (gst_element_get_state_func), (gst_element_get_state),
11573         (gst_element_abort_state), (gst_element_commit_state),
11574         (gst_element_lost_state), (gst_element_set_state),
11575         (gst_element_pads_activate), (gst_element_change_state),
11576         (gst_element_dispose), (gst_element_set_manager_func),
11577         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11578         (gst_element_set_manager), (gst_element_get_manager),
11579         (gst_element_set_bus), (gst_element_get_bus),
11580         (gst_element_set_scheduler), (gst_element_get_scheduler):
11581         * gst/gstelement.h:
11582         * gst/gstevent.c: (gst_event_new_segment_seek),
11583         (gst_event_new_flush):
11584         * gst/gstevent.h:
11585         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11586         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11587         (gst_message_new_eos), (gst_message_new_error),
11588         (gst_message_new_warning), (gst_message_new_tag),
11589         (gst_message_new_state_changed), (gst_message_new_application),
11590         (gst_message_get_structure), (gst_message_parse_tag),
11591         (gst_message_parse_state_changed), (gst_message_parse_error),
11592         (gst_message_parse_warning):
11593         * gst/gstmessage.h:
11594         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11595         (gst_real_pad_set_property), (gst_pad_set_active),
11596         (gst_pad_is_active), (gst_pad_set_blocked_async),
11597         (gst_pad_set_blocked), (gst_pad_is_blocked),
11598         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11599         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11600         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11601         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11602         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11603         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11604         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11605         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11606         (gst_pad_set_caps), (gst_pad_configure_sink),
11607         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11608         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11609         (gst_real_pad_dispose), (gst_real_pad_finalize),
11610         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11611         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11612         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11613         * gst/gstpad.h:
11614         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11615         (pipeline_bus_handler), (gst_pipeline_change_state),
11616         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11617         * gst/gstpipeline.h:
11618         * gst/gstprobe.h:
11619         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11620         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11621         (gst_queue_link_src), (gst_queue_bufferalloc),
11622         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11623         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11624         (gst_queue_loop), (gst_queue_handle_src_event),
11625         (gst_queue_handle_src_query), (gst_queue_src_activate),
11626         (gst_queue_change_state):
11627         * gst/gstqueue.h:
11628         * gst/gstscheduler.c: (gst_scheduler_init),
11629         (gst_scheduler_dispose), (gst_scheduler_create_task),
11630         (gst_scheduler_factory_create):
11631         * gst/gstscheduler.h:
11632         * gst/gststructure.c: (gst_structure_get_type),
11633         (gst_structure_copy_conditional):
11634         * gst/gststructure.h:
11635         * gst/gsttaginterface.h:
11636         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11637         (gst_task_init), (gst_task_dispose), (gst_task_create),
11638         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11639         (gst_task_pause):
11640         * gst/gsttask.h:
11641         * gst/gstthread.c:
11642         * gst/gstthread.h:
11643         * gst/gsttypes.h:
11644         * gst/schedulers/Makefile.am:
11645         * gst/schedulers/cothreads_compat.h:
11646         * gst/schedulers/entryscheduler.c:
11647         * gst/schedulers/faircothreads.c:
11648         * gst/schedulers/faircothreads.h:
11649         * gst/schedulers/fairscheduler.c:
11650         * gst/schedulers/gstbasicscheduler.c:
11651         * gst/schedulers/gstoptimalscheduler.c:
11652         * gst/schedulers/gthread-cothreads.h:
11653         * gst/schedulers/threadscheduler.c:
11654         (gst_thread_scheduler_task_get_type),
11655         (gst_thread_scheduler_task_class_init),
11656         (gst_thread_scheduler_task_init),
11657         (gst_thread_scheduler_task_start),
11658         (gst_thread_scheduler_task_stop),
11659         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11660         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11661         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11662         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11663         (plugin_init):
11664         * libs/gst/Makefile.am:
11665         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11666         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11667         (gst_file_pad_parent_set):
11668         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11669         (gst_dp_event_from_packet):
11670         * tests/complexity.c: (main):
11671         * tests/mass_elements.c: (main):
11672         * testsuite/states/locked.c: (message_received), (main):
11673         * testsuite/states/parent.c: (main):
11674         * tools/gst-inspect.c: (print_element_flag_info),
11675         (print_implementation_info), (print_pad_info):
11676         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11677         (main):
11678         * tools/gst-md5sum.c: (event_loop), (main):
11679         * tools/gst-typefind.c: (main):
11680         * tools/gst-xmlinspect.c: (print_element_info):
11681         Next big merge.
11682         Added GstBus for mainloop integration.
11683         Added GstMessage for sending notifications on the bus.
11684         Added GstTask as an abstraction for pipeline entry points.
11685         Removed GstThread.
11686         Removed Schedulers.
11687         Simplified GstQueue for multithreaded core.
11688         Made _link threadsafe, removed old capsnego.
11689         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11690         Added pad blocking functions.
11691         Reworked scheduling functions in GstPad to prepare for
11692         scheduling updates soon.
11693         Moved events out of data stream.
11694         Simplified GstEvent types.
11695         Added return values to push/pull.
11696         Removed clocking from GstElement.
11697         Added prototypes for state change function for next merge.
11698         Removed iterate from bins and state change management.
11699         Fixed some elements, disabled others for now.
11700         Fixed -inspect and -launch.
11701         Added check for GstBus.
11702
11703 2005-03-10  Wim Taymans  <wim@fluendo.com>
11704
11705         * docs/design/part-MT-refcounting.txt:
11706         * docs/design/part-clocks.txt:
11707         * docs/design/part-gstelement.txt:
11708         * docs/design/part-gstobject.txt:
11709         * docs/design/part-standards.txt:
11710         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11711         (gst_bin_remove_func), (gst_bin_remove):
11712         * gst/gstbin.h:
11713         * gst/gstbuffer.c:
11714         * gst/gstcaps.h:
11715         * testsuite/clock/clock1.c: (main):
11716         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11717         (main):
11718         * testsuite/dlopen/loadgst.c: (do_test):
11719         * testsuite/refcounting/bin.c: (add_remove_test1),
11720         (add_remove_test2), (main):
11721         * testsuite/refcounting/element.c: (main):
11722         * testsuite/refcounting/element_pad.c: (main):
11723         * testsuite/refcounting/pad.c: (main):
11724         * tools/gst-launch.c: (sigint_handler_sighandler):
11725         * tools/gst-typefind.c: (main):
11726         Doc updates.
11727         Added doc about clock.
11728         removed gst_bin_iterate_recurse_up(), marked methods
11729         for removal.
11730         Fix more testsuites.
11731
11732 2005-03-09  Wim Taymans  <wim@fluendo.com>
11733
11734         * gst/gstpad.c: (gst_pad_get_direction),
11735         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11736         (gst_pad_collect_valist):
11737         * testsuite/bins/interface.c: (main):
11738         * testsuite/caps/audioscale.c: (test_caps):
11739         * testsuite/caps/caps.c: (test1), (test2), (test3):
11740         * testsuite/caps/deserialize.c: (main):
11741         * testsuite/caps/enumcaps.c: (main):
11742         * testsuite/caps/filtercaps.c: (main):
11743         * testsuite/caps/intersect2.c: (main):
11744         * testsuite/caps/random.c: (main):
11745         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11746         * testsuite/caps/sets.c: (check_caps):
11747         * testsuite/caps/simplify.c: (check_caps), (main):
11748         * testsuite/caps/subtract.c: (check_caps):
11749         Fix _pad_get_direction wrt ghostpads.
11750         Fix caps testsuite.
11751
11752 2005-03-09  Wim Taymans  <wim@fluendo.com>
11753
11754         * check/Makefile.am:
11755         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11756         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11757         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11758         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11759         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11760         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11761         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11762         (bin_element_is_sink), (gst_bin_iterate_sinks),
11763         (gst_bin_iterate_all_by_interface):
11764         * gst/gstbin.h:
11765         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11766         (gst_element_change_state), (gst_element_dispose),
11767         (gst_element_finalize), (gst_element_set_loop_function):
11768         * gst/gstelement.h:
11769         * gst/gstiterator.c: (find_custom_fold_func):
11770         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11771         (gst_pad_collectv), (gst_pad_collect_valist),
11772         (gst_pad_template_new):
11773         * gst/gstpipeline.c: (gst_pipeline_class_init),
11774         (gst_pipeline_dispose), (gst_pipeline_set_property),
11775         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11776         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11777         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11778         * gst/gstutils.h:
11779         * gst/schedulers/entryscheduler.c:
11780         * gst/schedulers/gstbasicscheduler.c:
11781         (gst_basic_scheduler_cothreaded_chain),
11782         (gst_basic_scheduler_chain_add_element):
11783         * testsuite/bins/interface.c: (main):
11784         Added GstBin test.
11785         Added GstSystemClock test.
11786         Implemented clock distribution code in GstBin.
11787         Implemented iterate sinks method for future use.
11788         Rearranged gstelement.h
11789         Fix GstIterator comparison bug.
11790         Moved some code to GstPipeline, mostly clocking related.
11791
11792 2005-03-09  Wim Taymans  <wim@fluendo.com>
11793
11794         * configure.ac:
11795         * gst/gst_private.h:
11796         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11797         (gst_bin_remove_func), (gst_bin_remove),
11798         (gst_bin_get_by_name_recurse_up):
11799         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11800         (gst_clock_id_compare_func), (gst_clock_id_wait),
11801         (gst_clock_id_wait_async), (gst_clock_init),
11802         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11803         * gst/gstelement.h:
11804         * gst/gstinfo.c: (_gst_debug_init):
11805         * gst/gstobject.h:
11806         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11807         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11808         * gst/gstpad.h:
11809         Bump version number, we're now 0.9.0
11810         Add future debugging category.
11811         Fix NULL _unref() in _get_by_name_recurse_up
11812         Rearrange gstpad.h.
11813         Update some docs.
11814
11815 2005-03-08  Wim Taymans  <wim@fluendo.com>
11816
11817         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11818         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11819         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11820         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11821         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11822         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11823         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11824         * gst/elements/gstidentity.c: (gst_identity_class_init):
11825         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11826         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11827         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11828         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11829         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11830         (gst_tee_link):
11831         * gst/gstelement.c: (gst_element_class_init),
11832         (gst_element_base_class_init), (gst_element_init),
11833         (gst_element_get_random_pad), (gst_element_wait_state_change),
11834         (gst_element_change_state), (gst_element_dispose),
11835         (gst_element_finalize), (gst_element_set_loop_function):
11836         * gst/gstelement.h:
11837         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11838         * gst/gstthread.c: (gst_thread_class_init),
11839         (gst_thread_release_children_locks), (gst_thread_change_state):
11840         * gst/schedulers/gstbasicscheduler.c:
11841         (gst_basic_scheduler_loopfunc_wrapper),
11842         (gst_basic_scheduler_chain_wrapper),
11843         (gst_basic_scheduler_src_wrapper),
11844         (gst_basic_scheduler_remove_element):
11845         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11846         Remove threadsafe properties. Fix elements because GObject
11847         complains when installing a property before declaring a
11848         set/get_property handler.
11849         Rearrange gstelement.h file, use STATE macros for state locks.
11850         Free mutexes in the finalize method instead of dispose.
11851
11852 2005-03-08  Wim Taymans  <wim@fluendo.com>
11853
11854         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11855         * gst/gstthread.c: (gst_thread_release_children_locks):
11856         Added parentage check.
11857         Fix build og GstThread again.
11858
11859 2005-03-08  Wim Taymans  <wim@fluendo.com>
11860
11861         * docs/design/part-MT-refcounting.txt:
11862         * docs/design/part-conventions.txt:
11863         * docs/design/part-gstobject.txt:
11864         * docs/design/part-relations.txt:
11865         * docs/design/part-standards.txt:
11866         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11867         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11868         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11869         (gst_bin_iterate_all_by_interface):
11870         * gst/gstbuffer.h:
11871         * gst/gstclock.h:
11872         * gst/gstelement.c: (gst_element_class_init),
11873         (gst_element_change_state), (gst_element_set_loop_function):
11874         * gst/gstelement.h:
11875         * gst/gstiterator.c:
11876         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11877         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11878         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11879         (gst_object_set_parent), (gst_object_unparent),
11880         (gst_object_check_uniqueness):
11881         * gst/gstobject.h:
11882         Docs updates, clean up some headers.
11883
11884 2005-03-07  Wim Taymans  <wim@fluendo.com>
11885
11886         * check/.cvsignore:
11887         * check/Makefile.am:
11888         * check/gst-libs/.cvsignore:
11889         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11890         * check/gst/.cvsignore:
11891         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11892         (START_TEST), (gstbus_suite), (main):
11893         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11894         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11895         (gst_data_suite), (main):
11896         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11897         (add_fold_func), (gstiterator_suite), (main):
11898         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11899         (thread_name_object), (thread_name_object_default),
11900         (gst_object_name_compare), (gst_object_suite), (main):
11901         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11902         (gst_pad_suite), (main):
11903         * check/gstcheck.c: (gst_check_log_message_func),
11904         (gst_check_log_critical_func), (gst_check_init):
11905         * check/gstcheck.h:
11906         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11907         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11908         Added checks.
11909
11910 2005-03-07  Wim Taymans  <wim@fluendo.com>
11911
11912         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11913         (gst_list_iterator_next), (gst_list_iterator_resync),
11914         (gst_list_iterator_free), (gst_iterator_new_list),
11915         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11916         (gst_iterator_free), (gst_iterator_push), (filter_next),
11917         (filter_resync), (filter_uninit), (filter_free),
11918         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11919         (gst_iterator_foreach), (find_custom_fold_func),
11920         (gst_iterator_find_custom):
11921         * gst/gstiterator.h:
11922         Added missing files.
11923
11924 2005-03-07  Wim Taymans  <wim@fluendo.com>
11925
11926         * Makefile.am:
11927         * configure.ac:
11928         * docs/design/part-MT-refcounting.txt:
11929         * docs/design/part-conventions.txt:
11930         * docs/design/part-gstobject.txt:
11931         * docs/design/part-relations.txt:
11932         * examples/mixer/mixer.c: (main):
11933         * examples/thread/thread.c: (eos), (main):
11934         * gst/Makefile.am:
11935         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11936         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11937         (gst_spider_plug_from_srcpad):
11938         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11939         (gst_spider_identity_change_state),
11940         (gst_spider_identity_sink_loop_type_finding):
11941         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11942         * gst/elements/gstidentity.c: (gst_identity_init):
11943         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11944         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11945         * gst/elements/gsttypefindelement.c: (free_entry):
11946         * gst/gst.c:
11947         * gst/gst.h:
11948         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11949         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11950         (gst_bin_set_index), (gst_bin_set_element_sched),
11951         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11952         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11953         (gst_bin_iterate_elements), (iterate_child_recurse),
11954         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11955         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11956         (compare_interface), (gst_bin_get_by_interface),
11957         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11958         * gst/gstbin.h:
11959         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11960         (gst_buffer_default_free), (gst_buffer_default_copy),
11961         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11962         (gst_buffer_create_sub):
11963         * gst/gstbuffer.h:
11964         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11965         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11966         (gst_caps_unref), (gst_static_caps_get),
11967         (gst_caps_remove_and_get_structure), (gst_caps_append),
11968         (gst_caps_append_structure), (gst_caps_remove_structure),
11969         (gst_caps_copy_nth), (gst_caps_set_simple),
11970         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11971         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11972         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11973         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11974         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11975         (gst_caps_structure_figure_out_union),
11976         (gst_caps_switch_structures), (gst_caps_do_simplify),
11977         (gst_caps_replace), (gst_caps_from_string),
11978         (gst_caps_copy_conditional):
11979         * gst/gstcaps.h:
11980         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11981         (_gst_clock_id_free), (gst_clock_id_unref),
11982         (gst_clock_id_compare_func), (gst_clock_id_wait),
11983         (gst_clock_id_wait_async), (gst_clock_class_init),
11984         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11985         (gst_clock_get_time), (gst_clock_set_time_adjust),
11986         (gst_clock_set_property), (gst_clock_get_property):
11987         * gst/gstclock.h:
11988         * gst/gstcompat.h:
11989         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11990         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11991         * gst/gstdata.h:
11992         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11993         (gst_element_requires_clock), (gst_element_provides_clock),
11994         (gst_element_set_clock), (gst_element_clock_wait),
11995         (gst_element_wait), (gst_element_set_time_delay),
11996         (gst_element_is_indexable), (gst_element_add_pad),
11997         (gst_element_add_ghost_pad), (gst_element_remove_pad),
11998         (pad_compare_name), (gst_element_get_static_pad),
11999         (gst_element_request_pad), (gst_element_get_request_pad),
12000         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12001         (gst_element_class_get_pad_template_list),
12002         (gst_element_class_get_pad_template), (gst_element_error_func),
12003         (gst_element_get_random_pad), (gst_element_get_event_masks),
12004         (gst_element_send_event), (gst_element_seek),
12005         (gst_element_get_query_types), (gst_element_query),
12006         (gst_element_get_formats), (gst_element_convert),
12007         (gst_element_is_locked_state), (gst_element_set_locked_state),
12008         (gst_element_sync_state_with_parent), (gst_element_change_state),
12009         (gst_element_finalize), (gst_element_yield),
12010         (gst_element_interrupt), (gst_element_set_scheduler),
12011         (gst_element_get_scheduler), (gst_element_set_loop_function):
12012         * gst/gstelement.h:
12013         * gst/gstevent.h:
12014         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12015         (gst_format_get_by_nick), (gst_format_get_details),
12016         (gst_format_iterate_definitions):
12017         * gst/gstformat.h:
12018         * gst/gstindex.c: (gst_index_gtype_resolver):
12019         * gst/gstinfo.c:
12020         * gst/gstinfo.h:
12021         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12022         (gst_mem_chunk_free):
12023         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12024         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12025         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12026         (gst_object_dispatch_properties_changed),
12027         (gst_object_set_name_default), (gst_object_set_name),
12028         (gst_object_get_name), (gst_object_set_name_prefix),
12029         (gst_object_get_name_prefix), (gst_object_set_parent),
12030         (gst_object_get_parent), (gst_object_unparent),
12031         (gst_object_check_uniqueness), (gst_object_save_thyself),
12032         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12033         (gst_object_set_property), (gst_object_get_property),
12034         (gst_object_get_path_string):
12035         * gst/gstobject.h:
12036         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12037         (gst_real_pad_init), (gst_real_pad_get_property),
12038         (gst_pad_custom_new), (gst_pad_get_direction),
12039         (gst_pad_set_active), (gst_pad_is_active),
12040         (gst_pad_set_event_function), (gst_pad_is_linked),
12041         (gst_pad_link_free), (gst_pad_link_intersect),
12042         (gst_pad_link_fixate), (gst_pad_set_caps),
12043         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12044         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12045         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12046         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12047         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12048         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12049         (gst_pad_realize), (gst_pad_get_allowed_caps),
12050         (gst_real_pad_dispose), (gst_real_pad_finalize),
12051         (gst_pad_collectv), (gst_pad_collect_valist),
12052         (gst_pad_template_dispose), (gst_pad_template_new),
12053         (gst_pad_get_internal_links):
12054         * gst/gstpad.h:
12055         * gst/gstpipeline.c: (gst_pipeline_dispose),
12056         (gst_pipeline_change_state):
12057         * gst/gstpipeline.h:
12058         * gst/gstplugin.c:
12059         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12060         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12061         * gst/gstpluginfeature.h:
12062         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12063         * gst/gstquery.c: (_gst_query_type_initialize),
12064         (gst_query_type_register), (gst_query_type_get_by_nick),
12065         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12066         * gst/gstquery.h:
12067         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12068         * gst/gstscheduler.c: (gst_scheduler_add_element),
12069         (gst_scheduler_factory_create):
12070         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12071         (gst_structure_free), (gst_structure_set_name),
12072         (gst_structure_id_set_value), (gst_structure_set_value),
12073         (gst_structure_set_valist), (gst_structure_remove_field),
12074         (gst_structure_remove_fields),
12075         (gst_structure_remove_fields_valist),
12076         (gst_structure_remove_all_fields), (gst_structure_foreach),
12077         (gst_structure_map_in_place),
12078         (gst_caps_structure_fixate_field_nearest_int),
12079         (gst_caps_structure_fixate_field_nearest_double):
12080         * gst/gststructure.h:
12081         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12082         (gst_system_clock_init), (gst_system_clock_dispose),
12083         (gst_system_clock_async_thread),
12084         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12085         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12086         * gst/gstsystemclock.h:
12087         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12088         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12089         * gst/gsttaginterface.c:
12090         * gst/gstthread.c: (gst_thread_dispose),
12091         (gst_thread_release_children_locks), (gst_thread_change_state),
12092         (gst_thread_main_loop):
12093         * gst/gsttrashstack.h:
12094         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12095         * gst/gsttypes.h:
12096         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12097         (gst_element_request_pad), (gst_element_get_pad_from_template),
12098         (gst_element_request_compatible_pad),
12099         (gst_element_get_compatible_pad_filtered),
12100         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12101         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12102         (gst_element_link_many), (gst_element_link),
12103         (gst_element_link_pads), (gst_element_unlink_pads),
12104         (gst_element_unlink_many), (gst_element_unlink),
12105         (gst_pad_can_link_filtered), (gst_pad_can_link),
12106         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12107         (gst_object_default_error), (gst_bin_add_many),
12108         (gst_bin_remove_many), (gst_element_populate_std_props),
12109         (gst_element_class_install_std_props), (gst_buffer_merge),
12110         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12111         (link_fold_func), (gst_pad_proxy_setcaps):
12112         * gst/gstutils.h:
12113         * gst/gstvalue.c: (gst_value_deserialize_string):
12114         * gst/parse/grammar.y:
12115         * gst/schedulers/gstbasicscheduler.c:
12116         (gst_basic_scheduler_cothreaded_chain),
12117         (gst_basic_scheduler_chain_recursive_add),
12118         (gst_basic_scheduler_pad_link):
12119         * gst/schedulers/gstoptimalscheduler.c:
12120         (get_group_schedule_function),
12121         (gst_opt_scheduler_state_transition),
12122         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12123         * libs/gst/bytestream/bytestream.c:
12124         * libs/gst/dataprotocol/dataprotocol.c:
12125         (gst_dp_header_from_buffer):
12126         * po/nb.po:
12127         * po/ru.po:
12128         * tests/threadstate/threadstate2.c: (eos):
12129         * tools/gst-compprep.c: (main):
12130         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12131         (print_pad_info), (print_children_info):
12132         * tools/gst-launch.c: (idle_func), (main):
12133         * tools/gst-md5sum.c: (idle_func), (main):
12134         * tools/gst-xmlinspect.c: (print_element_info):
12135         First THREADED backport attempt, focusing on adding locks and
12136         making sure the API is threadsafe. Needs more work. More docs
12137         follow this week.
12138
12139 2005-02-24  Andy Wingo  <wingo@pobox.com>
12140
12141         * tests/bench-complexity.scm:
12142         * tests/complexity.gnuplot: New files, good for running complexity
12143         benchmarks.
12144
12145         * tests/Makefile.am:
12146         * tests/complexity.c: New test, sets up N elements, at each level
12147         teeing into M streams per element. Eeeenteresting.
12148
12149         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12150         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12151         running bench-mass_elements.scm.
12152
12153         * tests/bench-mass_elements.scm: New script, runs mass_elements
12154         for various numbers of identities, outputting the results to a
12155         file. Requires guile 1.6. Just for testing.
12156
12157 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12158
12159         * gst/schedulers/fairscheduler.c:
12160           compile with debug disabled
12161
12162 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12163
12164         * configure.ac:
12165           hunting season on 0.9 is now OPEN