Makefile.am: don't run checks if we don't have check
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * Makefile.am:
4           don't run checks if we don't have check
5         * common/check.mak:
6           remove the registry when running make torture
7         * docs/gst/gstreamer-sections.txt:
8           remove second multiply
9         * gst/gstqueue.c: (gst_queue_loop):
10           fix a compile warning when disabling debug
11
12 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13
14         * gst/gstinfo.h:
15         Hey! Let's print the pad name if the pointer != NULL instead
16         of when it == NULL :-)
17
18 2005-11-28  Wim Taymans  <wim@fluendo.com>
19
20         * check/gst/gstutils.c: (GST_START_TEST):
21         Updated check, add some scaling accuracy checking code.
22
23         * gst/gstutils.c: (gst_util_div128_64),
24         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
25         (gst_util_uint64_scale_int):
26         Fix 6 times faster division code. Optimize for common 
27         1/1 and less common X/1 cases.
28
29 2005-11-28  Wim Taymans  <wim@fluendo.com>
30
31         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
32         More checks.
33
34         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
35         (do_linear_regression), (gst_clock_add_observation):
36         Cleanups.
37         Release lock when the clock cannot be slaved.
38         Catch the case where the regression returned an invalid denominator.
39
40         * gst/gstutils.c: (gst_util_div128_64_iterate),
41         (gst_util_div128_64), (gst_util_uint64_scale_int64),
42         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
43         Add protentially more performant non-iterative 128/64 divide function
44         that unfortunatly does not work yet.
45         Shortcut the trivial 0/X = 0 case.
46         Remove the warnings on overflow.
47
48 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
49
50         * gst/gstplugin.c: (gst_plugin_register_func):
51           everything causing a plugin not to load should be at least a WARNING
52
53 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
54
55         * docs/random/ensonic/dparams.txt:
56           some TODOs for the next dev cycle
57         * libs/gst/controller/gstcontroller.c:
58         (gst_controlled_property_set_interpolation_mode),
59         (gst_controlled_property_new):
60         * libs/gst/controller/gstcontroller.h:
61           use base type to assign acccessor functions
62
63 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
64
65         * check/Makefile.am:
66         Oops, that should have been top_srcdir
67
68 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
69
70         * check/Makefile.am:
71         * check/elements/fdsrc.c: (GST_START_TEST):
72         Use a cmdline define to specify the location of a file to use for
73         testing, to avoid breaking distcheck.
74
75 2005-11-28  Andy Wingo  <wingo@pobox.com>
76
77         * gst/gstpad.c (fixate_value): Use array functions for arrays.
78
79 2005-11-28  Edward Hervey  <edward@fluendo.com>
80
81         * tools/gst-launch.c: (main):
82         Clarify the output strings, makes it easier to translate.
83         Fixes #322626
84
85 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
86
87         * gst/Makefile.am:
88           don't try and build net if we don't even have <sys/socket.h>
89
90 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
91
92         * check/Makefile.am:
93         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
94         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
95           Add tests for fdsrc seekability
96
97         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
98         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
99         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
100         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
101         * gst/elements/gstfdsrc.h:
102           fdsrc should not be a 'live' source.
103           Implement seeking on seekable fd's.
104
105         * gst/gstquery.c: (gst_query_new_seeking),
106         (gst_query_parse_seeking):
107         * gst/gstquery.h:
108           Implement SEEKING query functions: 
109             *_new_seeking and *_parse_seeking
110
111 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
112
113         * gst/gstelement.c: (gst_element_dispose):
114           don't loop forever
115
116         * gst/gstiterator.c:
117         * gst/gststructure.c:
118           doc fixes
119
120         * libs/gst/controller/gstcontroller.c:
121         (gst_controlled_property_set_interpolation_mode):
122         * libs/gst/controller/gstcontroller.h:
123         * libs/gst/controller/gstinterpolation.c:
124         (interpolate_none_get_enum_value_array):
125           support controlling enums
126
127 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
128
129         * gst/gstvalue.c:
130           Improve documentation for gst_value_union().
131
132         * gst/gstvalue.h:
133           Change return value for union, intersect and subtract functions
134           from gint to gboolean.
135
136 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
137
138         * gst/gstvalue.c: (gst_value_serialize_any_list),
139         (gst_value_transform_any_list_string),
140         (gst_value_deserialize_list), (gst_value_deserialize_array),
141         (gst_value_set_int_range), (gst_value_deserialize_int_range),
142         (gst_value_set_double_range), (gst_value_deserialize_double_range),
143         (gst_value_set_fraction_range_full),
144         (gst_value_deserialize_fraction_range),
145         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
146         (gst_value_deserialize_boolean),
147         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
148         (gst_value_serialize_float), (gst_value_deserialize_float),
149         (gst_string_wrap), (gst_value_deserialize_string),
150         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
151         (gst_value_union_int_range_int_range),
152         (gst_value_intersect_int_range_int_range),
153         (gst_value_intersect_double_range_double_range),
154         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
155         (gst_value_subtract_int_range_int_range),
156         (gst_value_subtract_double_double_range),
157         (gst_value_subtract_double_range_double_range),
158         (gst_value_deserialize_fraction):
159         * gst/gstvalue.h:
160           Use gint, gdouble and gchar in our API instead of int, double and
161           char (and make usage in gstvalue.c more consistent).
162
163 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
164
165         * check/Makefile.am:
166         * libs/gst/controller/Makefile.am:
167         * libs/gst/dataprotocol/Makefile.am:
168           fix up Makefile.am and remove GST_ENABLE_NEW
169
170 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
171
172         * configure.ac:
173         * gst/Makefile.am:
174         * gst/base/Makefile.am:
175         * gst/check/Makefile.am:
176         * gst/elements/Makefile.am:
177         * gst/net/Makefile.am:
178           update LDFLAGS use some more
179
180 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
181
182         * common/m4/gst-doc.m4:
183           Fixes #312589
184
185 2005-11-26  Edward Hervey  <edward@fluendo.com>
186
187         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
188         This shouldn't issue a g_warning since it returns NULL if it
189         couldn't find the plugin, and all functions using this behave
190         properly on a NULL return. Switching to a GST_WARNING.
191
192 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
193
194         * gst/gstbin.c: (gst_bin_handle_message_func):
195         Don't leak clock messages.
196
197 2005-11-25  Wim Taymans  <wim@fluendo.com>
198
199         * gst/gstutils.c: (gst_util_uint64_scale_int64),
200         (gst_util_uint64_scale_int):
201         Optimisations, remove unneeded vars.
202
203 2005-11-25  Wim Taymans  <wim@fluendo.com>
204
205         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
206         Added more checks for the high precision uint64 cases.
207
208         * gst/gstutils.c: (gst_util_uint64_scale_int64),
209         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
210         Implement high precission (guint64 * guint64) / guint64.
211
212 2005-11-24  Wim Taymans  <wim@fluendo.com>
213
214         * gst/base/gstbasesrc.c: (gst_base_src_query):
215         Fix wrong percentage query.
216
217         * gst/gstutils.c: (gst_util_uint64_scale),
218         (gst_util_uint64_scale_int):
219         Add some more common cases that can be handled 
220         efficiently to _scale.
221
222 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
223
224         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
225         (gst_mini_object_suite):
226           don't use check calls from threads; check probably isn't
227           threadsafe and using a lock to make it threadsafe would
228           defeat the purpose of this check
229         * gst/check/gstcheck.c:
230         * gst/check/gstcheck.h:
231           use GST_DEBUG some more
232
233 2005-11-24  Wim Taymans  <wim@fluendo.com>
234
235         * gst/gstutils.c: (gst_util_uint64_scale),
236         (gst_util_uint64_scale_int):
237         Chain trivial case to _scale_int.
238
239 2005-11-24  Wim Taymans  <wim@fluendo.com>
240
241         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
242         Added test for scaling.
243
244         * gst/gstclock.h:
245         Small doc fix.
246
247         * gst/gstutils.c: (gst_util_uint64_scale_int):
248         Implemented high precision scaling code.
249
250 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
251
252         * gst/gstinfo.h:
253           do not crash on pad==NULL
254
255 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
256
257         Patch by: Stefan Kost
258
259         * common/gtk-doc.mak:
260         * docs/gst/Makefile.am:
261         * docs/libs/Makefile.am:
262           Fix distcheck issues for the libraries docs build
263           Closes #319599.
264
265 2005-11-24  Michael Smith <msmith@fluendo.com>
266
267         * docs/manual/basics-helloworld.xml:
268           Fix bug #315027: memory leak in example code in docs.
269
270 2005-11-24  Michael Smith <msmith@fluendo.com>
271
272         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
273           Unlock the PREROLL_LOCK in a failure case.
274
275 2005-11-24  Wim Taymans  <wim@fluendo.com>
276
277         * docs/gst/gstreamer-sections.txt:
278         * gst/base/gstadapter.h:
279         * gst/base/gstbasesink.h:
280         * gst/base/gstbasesrc.h:
281         * gst/base/gstbasetransform.h:
282         * gst/base/gstpushsrc.h:
283         * gst/elements/gstfakesink.h:
284         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
285         * gst/elements/gstfakesrc.h:
286         * gst/elements/gstfilesink.h:
287         * gst/elements/gstfilesrc.h:
288         * gst/gst.c:
289         * gst/gstbin.c:
290         * gst/gstbuffer.c: (_gst_buffer_copy):
291         * gst/gstbus.h:
292         * gst/gstcaps.c:
293         * gst/gstchildproxy.c:
294         * gst/gstclock.c:
295         * gst/gstelement.c:
296         * gst/gstelementfactory.c:
297         * gst/gstelementfactory.h:
298         * gst/gstevent.c:
299         * gst/gstghostpad.h:
300         * gst/gstindex.h:
301         * gst/gstinterface.h:
302         * gst/gstminiobject.c:
303         * gst/gstminiobject.h:
304         * gst/gstpad.c:
305         * gst/gstpad.h:
306         * gst/gstpadtemplate.h:
307         * gst/gstpipeline.h:
308         * gst/gstpluginfeature.h:
309         * gst/gstquery.h:
310         * gst/gstqueue.h:
311         * gst/gsttaglist.c:
312         * gst/gsttaglist.h:
313         * gst/gsttagsetter.c:
314         * gst/gsttagsetter.h:
315         * gst/gsttrace.c:
316         * gst/gsttrace.h:
317         * gst/gsttypefind.h:
318         * gst/gsturi.h:
319         * gst/gstvalue.c:
320         * gst/net/gstnetclientclock.c:
321         * gst/net/gstnetclientclock.h:
322         * gst/net/gstnettimepacket.c:
323         * gst/net/gstnettimeprovider.c:
324         * gst/net/gstnettimeprovider.h:
325         Doc fixes.
326
327 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
328
329         * configure.ac: back to HEAD
330
331 === release 0.9.6 ===
332
333 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
334
335         * configure.ac:
336           releasing 0.9.6, "Always On Time"
337
338 2005-11-23  Wim Taymans  <wim@fluendo.com>
339
340         * docs/gst/gstreamer-sections.txt:
341         * gst/glib-compat.c:
342         * gst/gsttagsetter.c:
343         * gst/gstvalue.c:
344         * gst/net/gstnetclientclock.c:
345         * gst/net/gstnettimepacket.h:
346         Doc updates.
347
348 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
349
350         * docs/faq/using.xml:
351         * docs/libs/tmpl/gstcontrol.sgml:
352         * docs/manual/advanced-dparams.xml:
353         * docs/manual/appendix-checklist.xml:
354         * docs/manual/basics-elements.xml:
355         * docs/pwg/other-source.xml:
356         * docs/random/moving-plugins:
357         * gst/gstpad.c:
358         * tools/gst-launch.1.in:
359           remove mentions of sinesrc
360
361 2005-11-23  Michael Smith <msmith@fluendo.com>
362
363         * docs/gst/gstreamer-sections.txt:
364           Update for new API and API changes.
365         * gst/gstobject.h:
366           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
367         * gst/gstvalue.c:
368           Documentation typo fix.
369         * gst/net/gstnettimepacket.c:
370           Documentation fixes for arguments.
371
372 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
373
374         * gst/gststructure.c: (gst_structure_get_fraction),
375         (gst_structure_parse_value),
376         (gst_structure_fixate_field_nearest_fraction):
377         * gst/gststructure.h:
378         * gst/gstutils.c: (gst_util_uint64_scale_int):
379         * gst/gstutils.h:
380         * scripts/update-funcnames:
381         API Changes. 
382         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
383         Make gst_structure_fixate_field_nearest_fraction take a numerator
384         and denominator argument instead of a GValue
385         add gst_structure_get_fraction helper function.
386
387 2005-11-23  Wim Taymans  <wim@fluendo.com>
388
389         * docs/design/part-TODO.txt:
390         Update TODO.
391
392         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
393         * gst/net/gstnetclientclock.h:
394         Use parent fields for timeout and window_size.
395
396 2005-11-23  Andy Wingo  <wingo@pobox.com>
397
398         * check/net/gstnetclientclock.c (test_functioning): Adjust to
399         rate_num/rate_denom change.
400
401         * gst/net/gstnetclientclock.c
402         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
403         OBJECT_LOCK. Don't call add_observation with the lock.
404
405         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
406         fraction.
407         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
408         rate fraction.
409         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
410         deal with rate as a fraction whose numerator and denominator are
411         GstClockTime values.
412         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
413         master; the other fields are protected by the SLAVE_LOCK.
414         (do_linear_regression): Note that this must be called with the
415         SLAVE_LOCK.
416         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
417         OBJECT_LOCK. Call set_calibration instead of touching the
418         variables directly.
419         (gst_clock_set_property, gst_clock_get_property): Protect
420         master/slave parameters with the SLAVE_LOCK.
421
422         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
423         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
424         note that all of the instance variables that add_observation and
425         the set_master functions use are protected by that lock and not
426         the OBJECT_LOCK.
427         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
428
429         * gst/gstclock.c (gst_clock_add_observation): No longer requires
430         the caller to take the object lock.
431
432 2005-11-23  Wim Taymans  <wim@fluendo.com>
433
434         * gst/gsterror.c: (_gst_core_errors_init):
435         * gst/gsterror.h:
436         Add error for clock stuff.
437
438         * gst/gstpipeline.c: (gst_pipeline_change_state),
439         (gst_pipeline_set_clock):
440         Post clock error when clock cannot be used in a pipeline.
441
442 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
443
444         * docs/gst/gstreamer-sections.txt:
445           make two symbols from gstinfo private for the docs
446         * gst/base/gstcollectpads.h:
447         * gst/gstutils.c:
448           fix doc typos, update docs
449
450 2005-11-22  Wim Taymans  <wim@fluendo.com>
451
452         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
453         (gst_base_sink_wait), (gst_base_sink_do_sync),
454         (gst_base_sink_handle_event):
455         * gst/base/gstbasesink.h:
456         No need to store the clock, the parent element class already
457         has it.
458
459         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
460         Updates for clock_set returning a gboolean
461
462         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
463         (gst_clock_id_wait_async), (gst_clock_class_init),
464         (gst_clock_init), (gst_clock_finalize),
465         (gst_clock_get_internal_time), (gst_clock_get_time),
466         (gst_clock_slave_callback), (gst_clock_set_master),
467         (gst_clock_get_master), (do_linear_regression),
468         (gst_clock_add_observation), (gst_clock_set_property),
469         (gst_clock_get_property):
470         * gst/gstclock.h:
471         Implement master/slave. When setting a clock as a slave, a
472         periodic timeout is scheduled to sample master and slave times.
473         Then the slave clock is recalibrated to match offset and rate
474         of the master clock.
475         Update logging a bit.
476         Add flag so that a clock can state that is cannot be slaved to
477         another clock.
478
479         * gst/gstelement.c: (gst_element_set_clock):
480         * gst/gstelement.h:
481         The set clock returns a gboolean for when an element cannot
482         deal with the selected clock in the pipeline. 
483
484         * gst/gstpipeline.c: (gst_pipeline_change_state),
485         (gst_pipeline_set_clock):
486         * gst/gstpipeline.h:
487         Handle the case where the selected clock cannot be set on
488         the pipeline.
489
490         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
491         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
492         (gst_net_client_clock_set_property),
493         (gst_net_client_clock_get_property),
494         (gst_net_client_clock_observe_times):
495         * gst/net/gstnetclientclock.h:
496         Use regression code in GstClock parent, remove duplicated
497         functionality.
498
499 2005-11-22  Michael Smith <msmith@fluendo.com>
500
501         * gst/gstutils.c: (gst_util_clock_time_scale):
502         * gst/gstutils.h:
503         * docs/gst/gstreamer-sections.txt:
504           Rename method to have extra underscore.
505
506 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
507
508         * gst/elements/Makefile.am:
509         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
510         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
511         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
512         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
513         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
514         * gst/elements/gstfakesrc.h:
515         * gst/gstqueue.c: (queue_leaky_get_type):
516           correctly fix GEnumValues so that nick is the short lowercase
517           dashed tag
518         * tools/gst-inspect.c: (print_element_properties_info):
519           also show the nick, since it's useful to use from parse_launch
520           syntax
521           Fixes #322139
522
523 2005-11-22  Michael Smith <msmith@fluendo.com>
524
525         * gst/gstutils.c: (gst_util_clocktime_scale):
526         * gst/gstutils.h:
527         * docs/gst/gstreamer-sections.txt:
528           Add util method for scaling a clocktime by a fraction. Useful 
529           implementation is left as an exercise for the reader.
530
531 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
532
533         * gst/gstvalue.c: (gst_value_collect_fraction_range):
534         If needed, allocate storage in the destination value during
535         collection.
536
537 2005-11-22  Edward Hervey  <edward@fluendo.com>
538
539         * docs/gst/gstreamer-sections.txt:
540         * gst/Makefile.am:
541         * gst/gst.h:
542         * gst/gsturitype.c:
543         * gst/gsturitype.h:
544         * gst/gstutils.c: (gst_util_set_object_arg):
545         * tools/gst-compprep.c: (main):
546         * tools/gst-inspect.c: (print_element_properties_info):
547         Removed GstURI, closes bug #321061
548
549 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
550
551         * check/gst/gststructure.c: (GST_START_TEST):
552         * gst/gststructure.c: (gst_structure_parse_value):
553           Oops, broke automatic string type parsing.
554           Add a test to catch it in future.
555
556 2005-11-22  Andy Wingo  <wingo@pobox.com>
557
558         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
559         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
560         Actually rename the function implementations. Grr.
561
562 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
563
564         * check/gst/capslist.h:
565           Comment test cases
566         * check/gst/gststructure.c: (GST_START_TEST),
567         (gst_structure_suite):
568           Test automatic value type detection in gst_structure_from_string.
569         * gst/gststructure.c: (gst_structure_parse_value):
570           Add fraction as a type we try and guess automatically in
571           caps/structure strings.
572
573 2005-11-22  Andy Wingo  <wingo@pobox.com>
574
575         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
576
577         * gst/gsttagsetter.h:
578         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
579         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
580         (gst_tag_setter_add_tag_valist)
581         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
582         _add_values, _add_valist, and _add_valist_values. Since this is an
583         interface the function suffixes should be more explicit so
584         language binding don't end up with element.add_valist ->
585         gst_tag_setter_add_valist, for example. Fixes #322069.
586
587 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
588
589         * check/gst/gstcaps.c: (GST_START_TEST):
590           Extend caps string tests to check that a caps to string
591           conversion is reversible and produces the same caps.
592
593         * gst/gststructure.c: (gst_structure_value_get_generic_type):
594           Output "fraction" as the generic type fraction range, so caps
595           serialisation and deserialisation works.
596         * check/gst/capslist.h:
597         * gst/gstvalue.c: (gst_value_deserialize_fraction):
598           Support 'MIN' and 'MAX' for deserialising fractions.
599
600 2005-11-22  Andy Wingo  <wingo@pobox.com>
601
602         * gst/gstevent.h (gst_event_new_new_segment)
603         (gst_event_parse_new_segment, gst_event_new_buffer_size)
604         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
605         Renamed from *_newsegment, *_buffersize, *_notarget.
606
607         * scripts/update-funcnames: New script, performs the changes
608         listed above.
609
610 2005-11-22  Wim Taymans  <wim@fluendo.com>
611
612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
613         Make sure the GstFlowReturn is returned.
614
615         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
616         (gst_bus_add_signal_watch):
617         * gst/gstbus.h:
618         add gst_bus_add_signal_watch_full.
619
620         * gst/gstplugin.c: (gst_plugin_load_file):
621         Small style cleanup.
622
623 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
624
625         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
626           Block the fakesrc srcpad when we send an event, to avoid
627           contention on the stream_lock causing random test failures.
628
629 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
630
631         * check/gst/gstvalue.c: (GST_START_TEST):
632         * gst/gstvalue.c: (gst_value_fraction_subtract):
633           Fix subtraction.
634
635 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
636
637         * gst/gst.h:
638           include "gstchildproxy.h"
639         * gst/gstchildproxy.h:
640         * libs/gst/controller/gstcontroller.h:
641           use G_GNUC_NULL_TERMINATED
642
643 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
644
645         * check/gst/capslist.h:
646         * check/gst/gstcaps.c: (GST_START_TEST):
647         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
648         * gst/gststructure.c: (gst_structure_parse_range),
649         (gst_structure_fixate_field_nearest_fraction):
650         * gst/gststructure.h:
651         * gst/gstvalue.c: (gst_value_init_fraction_range),
652         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
653         (gst_value_collect_fraction_range),
654         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
655         (gst_value_set_fraction_range_full),
656         (gst_value_get_fraction_range_min),
657         (gst_value_get_fraction_range_max),
658         (gst_value_serialize_fraction_range),
659         (gst_value_transform_fraction_range_string),
660         (gst_value_compare_fraction_range),
661         (gst_value_deserialize_fraction_range),
662         (gst_value_intersect_fraction_fraction_range),
663         (gst_value_intersect_fraction_range_fraction_range),
664         (gst_value_subtract_fraction_fraction_range),
665         (gst_value_subtract_fraction_range_fraction),
666         (gst_value_subtract_fraction_range_fraction_range),
667         (gst_value_collect_fraction), (gst_value_fraction_multiply),
668         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
669         (gst_value_transform_string_fraction), (_gst_value_initialize):
670         * gst/gstvalue.h:
671           Implement fraction ranges and extend GstFraction to support
672           arithmetic subtraction, as well as deserialization from integer
673           strings such as "100"
674           Add a testsuite as for int and double range set operations
675
676 2005-11-21  Andy Wingo  <wingo@pobox.com>
677
678         * gst/gsttaglist.h: 
679         * gst/gstcaps.h: 
680         * gst/gststructure.h: Add glib-compat.h.
681
682 2005-11-21  Wim Taymans  <wim@fluendo.com>
683
684         * gst/gstbin.c: (gst_bin_change_state_func):
685         Fix for #321595
686
687 2005-11-21  Wim Taymans  <wim@fluendo.com>
688
689         * gst/gstsegment.h:
690         And add a nice define too.
691
692 2005-11-21  Wim Taymans  <wim@fluendo.com>
693
694         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
695         (gst_segment_new), (gst_segment_free), (gst_segment_init),
696         (gst_segment_set_duration), (gst_segment_set_last_stop),
697         (gst_segment_set_seek), (gst_segment_set_newsegment),
698         (gst_segment_to_stream_time), (gst_segment_to_running_time),
699         (gst_segment_clip):
700         * gst/gstsegment.h:
701         Make binding friendly.
702
703 2005-11-21  Andy Wingo  <wingo@pobox.com>
704
705         * gst/gsttagsetter.h: 
706         * gst/gsttaglist.h: 
707         * gst/gststructure.h: 
708         * gst/gstcaps.h: 
709         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
710         #319940.
711
712         * gst/gsterror.c (_gst_core_errors_init):
713         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
714         category.
715
716         * gst/Makefile.am (gst_headers): Add glib-compat.h.
717         (noinst_HEADERS): noinst the -private.
718
719 2005-11-21  Michael Smith <msmith@fluendo.com>
720
721         * gst/gstplugin.h:
722         * gst/gstregistry.h:
723           Remove unimplemented declarations for which we can see no sensible
724           use.
725
726 2005-11-21  Andy Wingo  <wingo@pobox.com>
727
728         * gst/gst.h: Include glib-compat.h.
729
730         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
731
732         * gst/glib-compat.c: Include the public and the private header.
733
734         * gst/glib-compat-private.h: Copied here from glib-compat.h.
735
736         * gst/gstvalue.c: 
737         * gst/gstpad.c: 
738         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
739
740         * check/gst/gstevent.c (create_custom_events): Check that
741         FLUSH_STOP is serialized.
742
743         * check/elements/identity.c (event_func): 
744         * check/elements/fakesrc.c (event_func): No stream lock, the core
745         takes it.
746
747         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
748         stream lock taking, yay.
749
750         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
751         ensure that core takes the stream lock.
752
753         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
754         lock name change.
755
756         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
757         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
758         it already. For the flush start we do take it though so we get the
759         right preroll state change messages.
760
761         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
762         the stream lock here, the core does it for us.
763
764         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
765         GST_STREAM_GET_LOCK.
766         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
767         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
768         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
769         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
770         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
771         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
772
773         * gst/gstpad.c: Update for stream lock name change.
774
775         * gst/base/gstbasesink.c: Update for preroll lock name change.
776
777 2005-11-21  Wim Taymans  <wim@fluendo.com>
778
779         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
780         (gst_clock_get_master):
781         * gst/gstclock.h:
782         * gst/gstsystemclock.c: (gst_system_clock_init):
783         Convert Clock flags to object flags.
784         Added methods to manage master/slave clocks.
785
786 2005-11-21  Wim Taymans  <wim@fluendo.com>
787
788         * check/gst/gstsegment.c: (GST_START_TEST):
789         * docs/design/part-TODO.txt:
790         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
791         (gst_base_sink_event), (gst_base_sink_do_sync),
792         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
793         (gst_base_sink_query), (gst_base_sink_change_state):
794         * gst/base/gstbasesink.h:
795         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
796         (gst_base_src_default_newsegment),
797         (gst_base_src_configure_segment), (gst_base_src_do_seek),
798         (gst_base_src_get_range), (gst_base_src_loop),
799         (gst_base_src_change_state):
800         * gst/base/gstbasesrc.h:
801         * gst/base/gstbasetransform.c:
802         (gst_base_transform_prepare_output_buf),
803         (gst_base_transform_event), (gst_base_transform_change_state):
804         * gst/base/gstbasetransform.h:
805         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
806         (gst_collect_pads_event):
807         * gst/base/gstcollectpads.h:
808         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
809         (gst_fake_src_create):
810         * gst/elements/gstfakesrc.h:
811         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
812         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
813         (gst_segment_set_last_stop), (gst_segment_set_seek),
814         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
815         (gst_segment_to_running_time), (gst_segment_clip):
816         * gst/gstsegment.h:
817         More segment updates, replace code in plugins with segment
818         helper functions.
819
820 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
821
822         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
823         Don't ignore sscanf results
824
825 2005-11-21  Andy Wingo  <wingo@pobox.com>
826
827         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
828
829         * *.h:
830         * *.c: Ran scripts/update-macros. Oh yes.
831
832         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
833         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
834         GST_GET_LOCK, etc.
835
836         * scripts/update-macros: New script. Run it on your files to
837         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
838         well.
839
840 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
841
842         * docs/gst/Makefile.am:
843         * docs/gst/gstreamer-docs.sgml:
844         * docs/gst/gstreamer-sections.txt:
845         * docs/gst/gstreamer.types:
846         * gst/gstinfo.h:
847           more docs fixes, add new api to the docs
848
849 2005-11-21  Andy Wingo  <wingo@pobox.com>
850
851         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
852         state_broadcast call.
853
854         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
855
856 2005-11-21  Julien MOUTTE  <julien@moutte.net>
857
858         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
859         function calls for arrays.
860
861 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
862
863         * docs/random/ensonic/media-device-daemon.txt:
864           wild idea, can this be done?
865         * docs/gst/gstreamer-sections.txt:
866         * gst/gsterror.h:
867         * gst/gstfilter.c:
868         * gst/gstfilter.h:
869         * gst/gstplugin.h:
870         * gst/gstpluginfeature.c:
871         * gst/gsttrace.c:
872         * gst/gstvalue.c:
873         * gst/gstvalue.h:
874           doc fixes and additions
875
876 2005-11-21  Andy Wingo  <wingo@pobox.com>
877
878         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
879         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
880         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
881         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
882         private to the basesrc implementation.
883
884         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
885         behalf of event function if necessary. It should no longer be
886         necessary to take the stream lock in pad's event functions. Fixes
887         #320299.
888
889 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
890         * docs/gst/gstreamer-sections.txt:
891         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
892         (gst_structure_fixate_field_nearest_double),
893         (gst_structure_fixate_field_boolean):
894         * gst/gststructure.h:
895         * win32/common/libgstreamer.def:
896         * win32/gstreamer.def:
897
898         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
899         (#322027)
900
901 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
902
903         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
904         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
905         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
906         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
907         (gst_fdsrc_uri_handler_init):
908         * gst/elements/gstfdsrc.h:
909           Port fd:// URI handler from 0.8 to fdsrc
910
911 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
912
913         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
914         (gst_value_serialize_fourcc):
915         * gst/gstvalue.h:
916           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
917           consistent with our other format defines (#320324).
918
919 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
920
921         * gst/gstvalue.c: (gst_value_is_fixed):
922           Revert previous commit. Value lists are by definition
923           not fixed, as they are a list of possible values.
924
925 2005-11-21  Andy Wingo  <wingo@pobox.com>
926
927         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
928         during the stable series if we need it. Fixes #319178.
929
930         * gst/gstevent.c (gst_event_new_filler): Removed.
931
932         * check/gst/gstevent.c: Update comment about filler events.
933
934 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
935
936         * gst/gstvalue.c: (gst_value_is_fixed):
937           Should handle both value arrays and value lists.
938
939 2005-11-21  Andy Wingo  <wingo@pobox.com>
940
941         patch by: Alessandro Dessina <alessandro nnva org>
942
943         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
944         functions to access arrays. Fixes #321962.
945
946 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
947
948         * docs/gst/gstreamer.types:
949           gst_collectpads_get_type => gst_collect_pads_get_type.
950           
951         * gst/base/gstbasetransform.c:
952           Remove unused SIGNAL_HANDOFF enum.
953
954 2005-11-21  Andy Wingo  <wingo@pobox.com>
955
956         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
957         the event type (upstream, downstream, serialized). Renamed
958         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
959         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
960         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
961
962         * gst/gstevent.c: Update for new CUSTOM event names.
963
964         * check/gst/gstevent.c: Update check for new CUSTOM event names.
965
966         * gst/gstevent.h:
967         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
968         bug #319392.
969
970 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
971
972         * docs/gst/gstreamer-sections.txt:
973         * win32/common/libgstbase.def:
974         * win32/libgstbase.def:
975         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
976         (gst_collect_pads_class_init), (gst_collect_pads_init),
977         (gst_collect_pads_finalize), (gst_collect_pads_new),
978         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
979         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
980         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
981         (gst_collect_pads_start), (gst_collect_pads_stop),
982         (gst_collect_pads_peek), (gst_collect_pads_pop),
983         (gst_collect_pads_available), (gst_collect_pads_read),
984         (gst_collect_pads_flush), (gst_collect_pads_event),
985         (gst_collect_pads_chain):
986         * gst/base/gstcollectpads.h:
987           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
988           unimplemented functions as unimplemented. Add padding to
989           GstCollectData. (#320766, #320423)
990
991 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
992
993         * gst/gstmessage.c:
994           Improve docs for DURATION message (usage of duration parameter)
995           (#320113)
996
997 2005-11-20  Wim Taymans  <wim@fluendo.com>
998
999         * check/Makefile.am:
1000         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1001         (main):
1002         * gst/Makefile.am:
1003         * gst/gst.h:
1004         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1005         (gst_segment_set_seek), (gst_segment_set_newsegment),
1006         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1007         (gst_segment_clip):
1008         * gst/gstsegment.h:
1009         Added segment helper structure and methods. Not fully implemented
1010         yet.
1011         Added segment check.
1012
1013 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1014
1015         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1016           Add a deserialisation test for fractions
1017         * examples/metadata/read-metadata.c: (message_loop),
1018         (make_pipeline), (main):
1019           Fix up metadata reading sample.
1020         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1021           Debug format fix
1022         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1023           Don't try and fixate empty caps
1024         * gst/gst_private.h:
1025           Wrap in G_BEGIN_DECLS/G_END_DECLS
1026         * gst/gstvalue.c: (gst_value_collect_fraction),
1027         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1028         (gst_value_transform_string_fraction),
1029         (gst_value_compare_fraction):
1030           Add some extra guards to ensure that we don't end up 
1031           with an invalid denominator of 0 in a gstfraction and
1032           that fractions always get reduced.
1033
1034 2005-11-20  Wim Taymans  <wim@fluendo.com>
1035
1036         * docs/gst/gstreamer-sections.txt:
1037         * gst/gstbuffer.h:
1038         * gst/gstelement.c:
1039         * gst/gstformat.c:
1040         * gst/gstformat.h:
1041         * gst/gstindex.h:
1042         * gst/gstquery.c:
1043         * gst/gstquery.h:
1044         * gst/gstvalue.c:
1045         Doc fixes.
1046
1047 2005-11-20  Wim Taymans  <wim@fluendo.com>
1048
1049         * docs/design/part-TODO.txt:
1050         * gst/gstcaps.h:
1051         Make a proper enum of the flag.
1052
1053 2005-11-19  Wim Taymans  <wim@fluendo.com>
1054
1055         * docs/design/part-TODO.txt:
1056         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1057         (gst_format_to_quark), (gst_format_register):
1058         * gst/gstformat.h:
1059         * gst/gstquery.c: (_gst_query_initialize),
1060         (gst_query_type_get_name), (gst_query_type_to_quark),
1061         (gst_query_type_register):
1062         * gst/gstquery.h:
1063         Add type to quark and type to string conversions.
1064
1065 2005-11-19  Andy Wingo  <wingo@pobox.com>
1066
1067         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1068         #320097.
1069
1070 2005-11-19  Wim Taymans  <wim@fluendo.com>
1071
1072         * docs/design/part-TODO.txt:
1073         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1074         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1075         (gst_bin_handle_message_func):
1076         * gst/gstbin.h:
1077         Make message handling overridable.
1078
1079 2005-11-19  Andy Wingo  <wingo@pobox.com>
1080
1081         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1082
1083         * gst/gstclock.h:
1084         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1085         be a GstClockTime.
1086         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1087         is a GstClockTime. Fixes #321710.
1088
1089         * gst/gstclock.h (GstClock): Remove offset property. Add
1090         internal_calibration and external_calibration. Fix padding. Pad
1091         also by GstClockTime so we don't run into problems.
1092
1093         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1094         (gst_clock_get_rate_offset): Remove.
1095         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1096
1097         * gst/gstutils.h:
1098         * gst/gstutils.c (g_static_rec_cond_wait)
1099         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1100
1101         * gst/gstbin.c: Remove terrible continue_state prototype.
1102
1103         * gst/gstelement.h (gst_element_continue_state): Make public.
1104
1105         * gst/gstelement.h:
1106         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1107         by continue_state. Fixes #319389.
1108
1109         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1110         Really fixes #168438. However I don't see anywhere where the
1111         filter function is called... stupid GStreamer...
1112         
1113         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1114         don't have a dispose function, so it won't get called when the
1115         object is unreffed, but oh well!
1116
1117         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1118         allows a destroy function to be set so user_data can be freed.
1119         Fixes #168438.
1120         (gst_index_set_filter): Call gst_index_set_filter_full.
1121
1122         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1123
1124         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1125         string should produce an error, given the lack of a way to
1126         represent NULL strings. Fixes #165650.
1127         
1128         * gst/gstvalue.h: 
1129         * gst/gstvalue.c (gst_value_array_append_value) 
1130         (gst_value_array_prepend_value, gst_value_array_get_size) 
1131         (gst_value_array_get_value): New API, copied from
1132         gst_value_list_*, only operates on arrays.
1133         (gst_value_list_append_value, gst_value_list_prepend_value) 
1134         (gst_value_list_concat, gst_value_list_get_size) 
1135         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1136
1137         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1138         init_list, because it works on both.
1139         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1140         (gst_value_copy_list_or_array): Renamed from copy_list.
1141         (gst_value_free_list_or_array): Renamed from free_list.
1142         (gst_value_collect_list_or_array): Renamed from collect_list.
1143         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1144         (gst_value_list_or_array_peek_pointer): Renamed from
1145         list_peek_pointer.
1146         (_gst_value_array_value_table, _gst_value_list_value_table):
1147         Update value table functions.
1148         (gst_value_compare_list_or_array): Renamed from compare_list.
1149
1150         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1151         some constness.
1152
1153         * gst/gsttaglist.c:
1154         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1155         GstTagList*. Fixes #143472.
1156
1157         * gst/gststructure.h: Clarify what the foreach/map functions can
1158         or can't do to their arguments.
1159
1160 2005-11-18  Wim Taymans  <wim@fluendo.com>
1161
1162         * gst/gstclock.c: (gst_clock_set_calibration),
1163         (gst_clock_get_calibration):
1164         Doc and API fixes.
1165         Calibration can be set with internal time equal to current
1166         internal time too.
1167
1168 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1169
1170         * gst/gsterror.c:
1171         * gst/gsterror.h:
1172           document
1173
1174 2005-11-18  Andy Wingo  <wingo@pobox.com>
1175
1176         * configure.ac: 
1177         * pkgconfig/gstreamer-net.pc.in:
1178         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1179         * pkgconfig/Makefile.am: Add net pkgconfig files.
1180
1181 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1182
1183         * gst/gstcaps.c:
1184         * gst/gstghostpad.c:
1185         * gst/gsttrace.c:
1186         * gst/gstvalue.c:
1187         * gst/gstvalue.h:
1188           docs fixes
1189
1190 2005-11-18  Andy Wingo  <wingo@pobox.com>
1191
1192         * gst/net/gstnetclientclock.c: Turn off debugging.
1193
1194         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1195         times connverge somewhat. Can't make a real test.
1196
1197         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1198         integer arithmetic. Return the minimum of the domain, which can be
1199         set as "internal" for gst_clock_set_calibration.
1200         (gst_net_client_clock_observe_times): Call _set_calibration.
1201         (gst_net_client_clock_new): Call _set_calibration instead of
1202         rate_offset.
1203
1204         * check/net/gstnetclientclock.c (test_functioning): Use the right
1205         adjustment api.
1206
1207         * gst/gstclock.h:
1208         * gst/gstclock.c (gst_clock_get_calibration) 
1209         (gst_clock_set_calibration): New functions, obsolete the ones I
1210         added yesterday. Doh. Precision issues mean we have to extrapolate
1211         from a point in the more recent past than 1970.
1212         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1213         obsolete.
1214         (gst_clock_adjust_unlocked): Use the right calibration data.
1215
1216 2005-11-18  Edward Hervey  <edward@fluendo.com>
1217
1218         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1219         Also reset the ->current_* values in READY->PAUSED
1220
1221 2005-11-18  Andy Wingo  <wingo@pobox.com>
1222
1223         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1224         Whoops, check the right fd. Also add some debugging.
1225         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1226         (do_linear_regression): Add a crapload of debugging. Subtract off
1227         the minimum values from the input series to discard unneeded bits.
1228         Use only int arithmetic. There is still double arithmetic when
1229         calculating the intercept that needs fixing. Return boolean to
1230         indicate success; FALSE would mean the domain or range is too
1231         great. Still needs fixes.
1232
1233 2005-11-18  Wim Taymans  <wim@fluendo.com>
1234
1235         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1236         For the current position in stream time, we need to subtract
1237         accumulated time.
1238         
1239         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1240         Release lock before calling the callback function of async
1241         entries.
1242
1243 2005-11-18  Andy Wingo  <wingo@pobox.com>
1244
1245         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1246         Port goes all the way to MAXUINT16.
1247
1248         * gst/net/gstnettimeprovider.c: Make the port range the same as
1249         for the kernel: 0 assigns, otherwise ports are less than
1250         MAXUINT16.
1251
1252         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1253         port change.
1254
1255         * check/net/gstnetclientclock.c (test_functioning): Add the start
1256         of another test. 
1257
1258 2005-11-18  Wim Taymans  <wim@fluendo.com>
1259
1260         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1261         (gst_bin_remove_func), (bin_bus_handler):
1262         * gst/gstbin.h:
1263         Removing a clock provider from a bin, triggers a clock lost message
1264         so that a new clock will be selected.
1265         Adding a clock to a bin triggers a clock provider message.
1266         Make sure we reselect a clock when we received a clock lost message.
1267         Keep a reference to the element that provided the clock.
1268
1269 2005-11-18  Andy Wingo  <wingo@pobox.com>
1270
1271         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1272         the clock initially so it produces values around the base time.
1273         (gst_net_client_clock_class_init): Typo fix.
1274         (gst_net_client_clock_thread): Add note on when the socket gets
1275         closed.
1276
1277 2005-11-17  Wim Taymans  <wim@fluendo.com>
1278
1279         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1280         Free remote and local time arrays.
1281
1282 2005-11-17  Wim Taymans  <wim@fluendo.com>
1283
1284         * gst/net/gstnetclientclock.c: (do_linear_regression),
1285         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1286         Fix compilation, uninitialized vars and a forgotten continue.
1287
1288 2005-11-17  Andy Wingo  <wingo@pobox.com>
1289
1290         * check/Makefile.am (check_PROGRAMS): 
1291         * check/net/gstnetclientclock.c: Add a most minimal test for the
1292         net client clock. More to come later.
1293
1294         * gst/net/gstnet.h: 
1295         * gst/net/Makefile.am: Add netclientclock.
1296
1297         * gst/net/gstnetclientclock.h:
1298         * gst/net/gstnetclientclock.c: New files, implement an untested
1299         GstClock that takes its time from a network time provider.
1300         Implements the algorithm in network-clock.scm.
1301
1302         * tests/network-clock.scm (*window-size*): Rename from
1303         *queue-length*.
1304         * tests/network-clock.scm (network-time): 
1305         * tests/network-clock-utils.scm (q-push): Update callers.
1306
1307 2005-11-17  Wim Taymans  <wim@fluendo.com>
1308
1309         * gst/gstbin.c: (gst_bin_provide_clock_func),
1310         (gst_bin_sort_iterator_new):
1311         And unref the child too..
1312
1313 2005-11-17  Wim Taymans  <wim@fluendo.com>
1314
1315         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1316         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1317         Refactor the sort iterator so it can be used while holding the
1318         LOCK too.
1319         Make clock selection select a clock closest to the source.
1320
1321 2005-11-17  Michael Smith <msmith@fluendo.com>
1322
1323         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1324         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1325         * gst/gstclock.h:
1326           Anonymous structs are a gcc (and some other compilers) extension, so
1327           don't use them. Since this is only for ABI-compatibility, and our
1328           API/ABI freeze is over in a few days, this whole thing will only
1329           last a few days, so don't bother trying to think up a meaningful
1330           name for the struct.
1331
1332 2005-11-17  Andy Wingo  <wingo@pobox.com>
1333
1334         * gst/gstclock.h (GstClock): Add rate and offset properties,
1335         preserving ABI stability. Add rate/offset accessors. Will file bug
1336         for the freeze break.
1337
1338         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1339         and offset, trying to keep precision and avoiding
1340         underflow/overflow.
1341         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1342         functions. Make gst_clock_set_time_adjust obsolete.
1343         (gst_clock_set_time_adjust): Note that this function is obsolete.
1344         Will file bug soon.
1345
1346         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1347         greppable by using GST_PADDING-1+1.
1348
1349 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1350
1351         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1352
1353         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1354           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1355
1356         * gst/gstpadtemplate.h:
1357         * gst/gstpluginfeature.h:
1358           Don't use c++ style comments in headers (#321638).
1359
1360 2005-11-16  Andy Wingo  <wingo@pobox.com>
1361
1362         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1363         buffer.
1364
1365         * check/net/gstnettimeprovider.c: Check to see that the time
1366         provider actually provides times. Works, yo!
1367
1368 2005-11-16  Wim Taymans  <wim@fluendo.com>
1369
1370         * check/Makefile.am:
1371         Enable more tests.
1372
1373         * check/elements/fakesrc.c: (GST_START_TEST):
1374         Set element to NULL before disposing it.
1375
1376 2005-11-16  Andy Wingo  <wingo@pobox.com>
1377
1378         * gst/net/Makefile.am:
1379         * gst/net/gstnet.h:
1380         * gst/net/gstnettimeprovider.c: 
1381         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1382         provider, include it from gstnet.h, and add it to the build.
1383
1384         * gst/net/gstnettimepacket.h: 
1385         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1386         sending and receiving.
1387
1388 2005-11-16  Wim Taymans  <wim@fluendo.com>
1389
1390         * check/Makefile.am:
1391         Enable valgrind check.
1392
1393         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1394         (gst_fake_src_alloc_buffer):
1395         Fix memleak.
1396
1397 2005-11-16  Wim Taymans  <wim@fluendo.com>
1398
1399         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1400         Call parent finalize too.
1401
1402 2005-11-16  Wim Taymans  <wim@fluendo.com>
1403
1404         * check/Makefile.am:
1405         Enable valgrind check that should work fine now.
1406
1407         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1408         * gst/gstqueue.c: (gst_queue_init):
1409         Fix memleaks in pad allocation.
1410
1411 2005-11-16  Andy Wingo  <wingo@pobox.com>
1412
1413         * gst/net/Makefile.am:
1414         * gst/net/gstnet.h: New part of core to hold network elements and
1415         objects. Put in core because it exposes API that applications want
1416         to use. The library is named libgstnet-tempname right now because
1417         of the existing libgstnet in gst-plugins-base. Solution is
1418         probably to rename the one in plugins-base; will file a bug for
1419         the freeze break.
1420
1421         * gst/net/gstnettimeprovider.c: 
1422         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1423         get_time call over the network.
1424
1425         * configure.ac: 
1426         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1427
1428         * check/Makefile.am:
1429         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1430         get additions shortly.
1431
1432 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1433
1434         * gst/gstpad.c: (gst_pad_new_from_static_template):
1435         * gst/gstpad.h:
1436           add gst_pad_new_from_static_template functions
1437         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1438         (gst_check_setup_sink_pad):
1439         * gst/elements/gsttee.c: (gst_tee_init):
1440           and use them
1441
1442 2005-11-16  Wim Taymans  <wim@fluendo.com>
1443
1444         * gst/gstpad.c: (gst_pad_pause_task):
1445         Removed warning, it's not really an error either.
1446
1447 2005-11-16  Wim Taymans  <wim@fluendo.com>
1448
1449         * gst/base/gstbasetransform.c:
1450         (gst_base_transform_prepare_output_buf),
1451         (gst_base_transform_event):
1452         Check if the caps are NULL, this can happen if the element
1453         is shutting down and the pad caps are set to NULL.
1454
1455 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1456
1457         * gst/elements/gsttee.c: (gst_tee_init):
1458           fix pad template leak in tee
1459
1460 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1461
1462         * gst/glib-compat.c: (g_value_dup_gst_object):
1463         * gst/glib-compat.h:
1464         * gst/gstpad.c: (gst_pad_set_property):
1465           use gst_object_ref when setting the pad template; this will
1466           trigger the pad template leaks on GLib 2.6 and the slaves
1467
1468 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1469
1470         * gst/glib-compat.c: (gst_flags_get_first_value):
1471         * gst/glib-compat.h:
1472         * gst/gstregistryxml.c:
1473           remove functions copied from GLib 2.6
1474
1475 2005-11-16  Michael Smith <msmith@fluendo.com>
1476
1477         * gst/Makefile.am:
1478           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1479           do, but only breaks with newer valgrind versions. We're not a
1480           valgrind tool, we have no link-time dependencies on libcoregrind.
1481
1482 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1483
1484         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1485           some debug changes
1486         * gst/gstmessage.h:
1487           typo fixes
1488
1489 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1490
1491         * gst/base/gstbasesrc.c: (gst_base_src_init):
1492         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1493         * gst/gstqueue.c: (gst_queue_init):
1494         * gst/gstregistryxml.c: (load_feature):
1495           Revert all these unrefs, they don't even pass make check !
1496
1497 2005-11-15  Johan Dahlin  <johan@gnome.org>
1498
1499         * gst/base/gstbasesrc.c: (gst_base_src_init):
1500         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1501         * gst/gstqueue.c: (gst_queue_init): 
1502         Free pad templates, fixes a couple of leaks.
1503
1504 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1505
1506         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1507
1508         * gst/gstpad.c: (gst_pad_get_property):
1509           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1510           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1511           (#321452)
1512
1513 2005-11-15  Wim Taymans  <wim@fluendo.com>
1514
1515         * gst/gstevent.c:
1516         Small doc update.
1517
1518 2005-11-15  Andy Wingo  <wingo@pobox.com>
1519
1520         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1521
1522         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1523         using GST_CLOCK_TIME_NONE to disable base time management.
1524         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1525         time if it was NONE before.
1526         (gst_pipeline_change_state): Only munge the base time if
1527         stream_time != GST_CLOCK_TIME_NONE.
1528
1529         * check/gst/gstpipeline.c (test_base_time): Punt around the
1530         problem of the probe not being called, because that's not the
1531         issue I'm looking at. Add a check that setting stream_time to NONE
1532         disables base time management.
1533         
1534 2005-11-15  Wim Taymans  <wim@fluendo.com>
1535
1536         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1537         segment_stop == -1 at startup.
1538
1539         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1540         (gst_base_transform_change_state):
1541         Init segment values at start.
1542
1543 2005-11-15  Wim Taymans  <wim@fluendo.com>
1544
1545         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1546         0 segment values are 0 in any format.
1547
1548         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1549         * gst/base/gstbasetransform.h:
1550         Parse newsegment correctly in basetransform
1551
1552         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1553         Sync to clock using updated segment values.
1554
1555 2005-11-15  Andy Wingo  <wingo@pobox.com>
1556
1557         * check/gst/gstpipeline.c (test_base_time): Add check that the
1558         base time and stream time are reset correctly.
1559
1560 2005-11-15  Wim Taymans  <wim@fluendo.com>
1561
1562         * docs/design/part-TODO.txt:
1563         Some more TODO items.
1564
1565 2005-11-15  Andy Wingo  <wingo@pobox.com>
1566
1567         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1568         error if the user selected "no clock" as the clocking method.
1569
1570         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1571         timestamps with live capture.
1572
1573         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1574         is 0 but we are a live source, timestamp the buffers using the
1575         element's clock.
1576
1577 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1578
1579         * docs/gst/gstreamer-sections.txt:
1580         * gst/gsterror.c:
1581         * gst/gstghostpad.c:
1582         * gst/gstobject.h:
1583         * gst/gstxml.c:
1584           more section docs
1585
1586 2005-11-14  Wim Taymans  <wim@fluendo.com>
1587
1588         * common/gst.supp:
1589           add suppressions from Wim's Debian machine
1590
1591 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1592
1593         * common/gst.supp:
1594           add suppressions from Andy's AMD64 Ubuntu machine
1595
1596 2005-11-14  Andy Wingo  <wingo@pobox.com>
1597
1598         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1599         STATE_LOCK not necessary. Fixes #311489.
1600
1601         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1602         #305291.
1603
1604         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1605         this function is not implemented.
1606
1607 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1608
1609         * gst/base/gstbasetransform.c:
1610         (gst_base_transform_prepare_output_buf):
1611         Ref the source pad caps while we need them.
1612         Fixes (#321386)
1613
1614 2005-11-11  Wim Taymans  <wim@fluendo.com>
1615
1616         * docs/gst/gstreamer-sections.txt:
1617         Added some docs for GstCollectData.
1618
1619         * gst/base/gstadapter.c:
1620         Some small code example fix.
1621
1622         * gst/base/gstcollectpads.c:
1623         * gst/base/gstcollectpads.h:
1624         Document some more.
1625
1626 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1627
1628         * configure.ac: back to HEAD
1629
1630 === release 0.9.5 ===
1631
1632 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1633
1634         * configure.ac:
1635           releasing 0.9.5, "Bike Lunch Day"
1636
1637 2005-11-11  Wim Taymans  <wim@fluendo.com>
1638
1639         * gst/gstbuffer.c: (_gst_buffer_copy):
1640         Copy more flags.
1641
1642         * gst/gstcaps.c: (gst_caps_is_equal):
1643         Fix some docs.
1644         Make _is_equal fast in the trivial cases.
1645
1646         * gst/gstminiobject.c:
1647         * gst/gstminiobject.h:
1648         More docs. Spifify .h file.
1649
1650         * gst/gstutils.c:
1651         Small doc update.
1652
1653 2005-11-11  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/base/gstbasetransform.c:
1656         (gst_base_transform_prepare_output_buf),
1657         (gst_base_transform_handle_buffer):
1658         Small cleanups.
1659         If we're processing a buffer and need to allocate an output
1660         buffer, we cannot accept a format change. If we did get a 
1661         format change, we have to alloc a buffer ourselves of the 
1662         right size.
1663
1664 2005-11-11  Wim Taymans  <wim@fluendo.com>
1665
1666         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1667         While checking the flag for reentrancy in the gstcaps function
1668         is nice to detect recursive invocations, it also makes it 
1669         impossible to call getcaps from multiple threads, which must be
1670         possible. So, checking for recursive calls has to go.
1671
1672 2005-11-11  Michael Smith <msmith@fluendo.com>
1673
1674         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1675           Don't sync on buffers that fall partially outside our current
1676           segment. Prevents an assertion failure/abort playing some files.
1677
1678 2005-11-10  Andy Wingo  <wingo@pobox.com>
1679
1680         * check/gst/gstbin.c (test_message_state_changed_children): Style
1681         fix..
1682
1683         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1684         gst_bus_poll with the signal watch. Ensures that poll and a signal
1685         watch see the same messages.
1686
1687         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1688         a poll and a watch at the same time get the same messages.
1689
1690 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1691
1692         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1693         * gst/gstcaps.c: (gst_caps_intersect):
1694           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1695           and it's not needed.
1696
1697 2005-11-10  Wim Taymans  <wim@fluendo.com>
1698
1699         * docs/design/part-TODO.txt:
1700         Updated todo.
1701
1702 2005-11-10  Wim Taymans  <wim@fluendo.com>
1703
1704         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1705         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1706         (gst_base_src_do_sync), (gst_base_src_get_range):
1707         Implement clock sync in base class.
1708
1709 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1710
1711         patch by: Tim-Philipp Müller <tim at centricular dot net>
1712
1713         * gst/gststructure.c: (gst_structure_parse_field),
1714         (gst_structure_from_string):
1715           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1716           so that gst_parse_launch() can deal with spaces in filtered link
1717           caps (fixes #164479)
1718         * check/gst/capslist.h:
1719         * check/gst/gststructure.c: (GST_START_TEST):
1720           add unit tests for this change
1721
1722 2005-11-10  Wim Taymans  <wim@fluendo.com>
1723
1724         * docs/gst/gstreamer-sections.txt:
1725         * gst/gstelement.c:
1726         * gst/gstelement.h:
1727         Fix docs, move some STATE macros to private.
1728
1729 2005-11-10  Wim Taymans  <wim@fluendo.com>
1730
1731         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1732         Added check for bug #317341
1733
1734         * gst/gstbuffer.c:
1735         * gst/gstbuffer.h:
1736         Some more spiffifying.
1737
1738         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1739         Call peer linkfunction if we are a source pad. Totally fixes
1740         #317341
1741
1742         * gst/gstpad.c:
1743         Update docs, source pads should call the peer linkfunction
1744         so they can atomically perform the pad link.
1745
1746 2005-11-09  Wim Taymans  <wim@fluendo.com>
1747
1748         * gst/gstbuffer.c:
1749         * gst/gstbuffer.h:
1750         Uber-spiffy-spiffify some more.
1751
1752 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1753
1754         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1755         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1756         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1757         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1758         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1759         * gst/gstpad.c: (gst_pad_init):
1760           Use GST_DEBUG_FUNCPTR() more extensively.
1761
1762 2005-11-09  Wim Taymans  <wim@fluendo.com>
1763
1764         * gst/gstobject.c: (gst_object_class_init):
1765         * gst/gstobject.h:
1766         Documentation fixes.
1767
1768 2005-11-09  Edward Hervey  <edward@fluendo.com>
1769
1770         * gst/gsttypefindfactory.c:
1771         Fix docs.
1772         
1773 2005-11-09  Edward Hervey  <edward@fluendo.com>
1774
1775         * gst/base/gsttypefindhelper.c:
1776         * gst/gsttypefind.c:
1777         * gst/gsttypefind.h:
1778         Fix docs.
1779
1780 2005-11-09  Wim Taymans  <wim@fluendo.com>
1781
1782         * gst/gstiterator.c:
1783         Fix revision data.
1784
1785         * gst/gsttask.c:
1786         * gst/gsttask.h:
1787         Fix docs.
1788
1789 2005-11-09  Wim Taymans  <wim@fluendo.com>
1790
1791         * gst/gstevent.h:
1792         * gst/gsturi.h:
1793         Fix docs.
1794
1795 2005-11-09  Wim Taymans  <wim@fluendo.com>
1796
1797         * docs/gst/gstreamer-sections.txt:
1798         Moved the message async delivery private lock and cond
1799         to the private section.
1800
1801         * gst/gstmessage.c:
1802         * gst/gstmessage.h:
1803         Fixed docs.
1804
1805 2005-11-09  Edward Hervey  <edward@fluendo.com>
1806
1807         * docs/gst/gstreamer-sections.txt:
1808         * gst/gsturi.c:
1809         * gst/gsturi.h:
1810         Document GstURIHandler
1811
1812 2005-11-09  Wim Taymans  <wim@fluendo.com>
1813
1814         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1815         (gst_iterator_find_custom):
1816         * gst/gstiterator.h:
1817         Fix iterator docs.
1818
1819 2005-11-09  Wim Taymans  <wim@fluendo.com>
1820
1821         * gst/gstbin.h:
1822         Document another field.
1823
1824         * gst/gststructure.c:
1825         * gst/gststructure.h:
1826         Document.
1827
1828 2005-11-09  Wim Taymans  <wim@fluendo.com>
1829
1830         * gst/gstbin.h:
1831         Documented structs.
1832
1833 2005-11-09  Wim Taymans  <wim@fluendo.com>
1834
1835         * docs/gst/gstreamer-sections.txt:
1836         Added some new macros.
1837
1838         * gst/gstclock.c:
1839         * gst/gstclock.h:
1840         * gst/gstobject.h:
1841         Docs updates.
1842
1843 2005-11-09  Wim Taymans  <wim@fluendo.com>
1844
1845         * docs/design/part-TODO.txt:
1846         Some more items for the TODO
1847
1848         * gst/gstcaps.c:
1849         * gst/gstcaps.h:
1850         Document GstCaps.
1851
1852 2005-11-09  Andy Wingo  <wingo@pobox.com>
1853
1854         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1855         to work on something else now tho...
1856
1857         * gst/base/gstadapter.c: More adapter docs.
1858
1859         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1860         (gst_file_sink_stop): New functions, replace the state change
1861         handler.
1862         (gst_file_sink_class_init): Hook up the start and stop functions.
1863         (gst_file_sink_base_init): Don't set the state change handler any
1864         more. It was a bit ugly too, being set from here...
1865         (gst_file_sink_get_property, gst_file_sink_set_property):
1866         Cleanups...
1867         (gst_file_sink_set_location): More robust check that doesn't call
1868         GST_STATE. Ugggggg.
1869
1870 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1873           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1874
1875 2005-11-08  Wim Taymans  <wim@fluendo.com>
1876
1877         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1878         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1879         (gst_base_sink_chain), (gst_base_sink_change_state):
1880         * gst/base/gstbasesink.h:
1881         * gst/base/gstbasesrc.h:
1882         * gst/gstelement.h:
1883         * gst/gstevent.h:
1884         Avoid excessive typechecking in macros.
1885
1886         * gst/gstminiobject.c: (gst_mini_object_get_type),
1887         (gst_mini_object_init), (gst_mini_object_new),
1888         (gst_mini_object_free):
1889         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1890         (gst_object_finalize):
1891         Remove cruft code, optimize alloc_trace.
1892
1893 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1894
1895         * docs/faq/gst-uninstalled:
1896           fix up PS1 for systems that try to reset it
1897
1898 2005-11-07  Wim Taymans  <wim@fluendo.com>
1899
1900         * gst/base/gstbasesrc.c: (gst_base_src_init),
1901         (gst_base_src_get_range):
1902         Set the segment_end to -1 initially. Fixed typefind.
1903
1904 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1905
1906         * gst/base/gstadapter.c:
1907           Debug category should be 'adapter', not 'GstAdapter'.
1908           
1909         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1910         (gst_collectpads_class_init), (gst_collectpads_init),
1911         (gst_collectpads_peek), (gst_collectpads_pop),
1912         (gst_collectpads_event), (gst_collectpads_chain):
1913           Add debug category and some debugging output. Use boilerplate
1914           macros. Remove some extraneous words from docs.
1915
1916 2005-11-05  Andy Wingo  <wingo@pobox.com>
1917
1918         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1919         macro.
1920
1921 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1922
1923         * docs/gst/gstreamer-sections.txt:
1924         * gst/gstcaps.h:
1925         * gst/gstinfo.c:
1926         * gst/gstminiobject.h:
1927         * gst/gstobject.h:
1928         * gst/gstutils.h:
1929           more docs added
1930
1931 2005-11-04  Wim Taymans  <wim@fluendo.com>
1932
1933         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1934         Small update to stop at the configured segment_end
1935         position.
1936
1937 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1938
1939         * gst/gstregistry.c:
1940         * gst/gstregistry.h:
1941           added missing docs
1942
1943 2005-11-04  Edward Hervey  <edward@fluendo.com>
1944
1945         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1946         Check if we are doing a segment seek and have arrived at the
1947         end of that segment.
1948
1949 2005-11-04  Wim Taymans  <wim@fluendo.com>
1950
1951         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1952         Don't leak a mutex unlock in case of an error.
1953
1954         * gst/gstbus.h:
1955         Doc fixes.
1956
1957 2005-11-04  Wim Taymans  <wim@fluendo.com>
1958
1959         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1960         (gst_bus_post):
1961         Get the context to wake up only once.
1962
1963 2005-11-03  Wim Taymans  <wim@fluendo.com>
1964
1965         * check/states/sinks.c: (GST_START_TEST):
1966         Uncomment fixed check.
1967
1968         * docs/design/part-TODO.txt:
1969         Updated TODO.
1970
1971         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1972         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1973         (gst_base_sink_get_position):
1974         If we are going to PLAYING, post the right pending state
1975         when we post the intermediate paused message.
1976
1977         * gst/gstelement.c: (gst_element_continue_state),
1978         (gst_element_set_state_func), (gst_element_change_state):
1979         Don't post state changes that were between the same state
1980         and were not ASYNC.
1981
1982 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1983
1984         * docs/gst/gstreamer-sections.txt:
1985         * gst/gstcaps.h:
1986         * gst/gstinfo.c:
1987         * gst/gstminiobject.h:
1988         * gst/gstobject.h:
1989         * gst/gstutils.h:
1990           more docs and doc style fixes
1991
1992 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1993
1994         * docs/gst/gstreamer-sections.txt:
1995         * gst/gstelement.c:
1996         * gst/gstminiobject.c:
1997         doc fixes
1998
1999 2005-11-03  Andy Wingo  <wingo@pobox.com>
2000
2001         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2002         state-changed messages actually have the right order and the right
2003         values.
2004
2005 2005-11-03  Wim Taymans  <wim@fluendo.com>
2006
2007         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2008         Added some more checks. Specifically the case where NO_PREROLL
2009         elements are in the pipeline.
2010
2011         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2012         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2013         (gst_base_sink_get_position):
2014         Post READY->PAUSED state change messages too.
2015         Fix bug where VOID was posted as pending state...
2016
2017         * gst/gstbin.c: (gst_bin_recalc_state):
2018         use _element_continue_state() to continue the state change.
2019
2020         * gst/gstelement.c: (gst_element_continue_state),
2021         (gst_element_commit_state), (gst_element_set_state_func),
2022         (gst_element_change_state), (gst_element_change_state_func):
2023         Lots of state change cleanups, assign the STATE_RETURN in
2024         a new continue_state() function that also propagates the
2025         last return value from a state change to the app.
2026         Update some debug statements with proper category.
2027
2028 2005-11-03  Wim Taymans  <wim@fluendo.com>
2029
2030         * docs/design/part-events.txt:
2031         * docs/design/part-gstpipeline.txt:
2032         * docs/design/part-messages.txt:
2033         * docs/design/part-overview.txt:
2034         * docs/design/part-seeking.txt:
2035         * docs/design/part-states.txt:
2036         * docs/design/part-trickmodes.txt:
2037         * docs/manual/advanced-position.xml:
2038         Small docs updates.
2039
2040         * gst/gstobject.h:
2041         People think !! is ugly, this looks better.
2042
2043         * gst/gstpad.c: (gst_pad_set_blocked_async):
2044         Remove !! since it's fixed elsewhere now.
2045
2046 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2047
2048         * gst/gstminiobject.h:
2049         * gst/gstobject.h:
2050           Add !! to _FLAG_IS_SET macros to make the result boolean.
2051
2052 2005-11-03  Edward Hervey  <edward@fluendo.com>
2053
2054         * gst/gstpad.c: (gst_pad_set_blocked_async):
2055         comparing a flag and a gboolean rarely returns coherent results...
2056         Added two characters (!!) to make that work correctly.
2057         
2058 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2059
2060         * gst/gstbus.c: (gst_bus_class_init):
2061           Fix some typos.
2062           
2063         * gst/gstqueue.c: (gst_queue_loop):
2064           Don't assume a miniobject that isn't a buffer is an
2065           event (it could be that there is a refcounting
2066           problem somewhere and the pointer is stale and
2067           refers to an already destroyed miniobject).
2068
2069 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2070
2071         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2072
2073 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2074
2075         * docs/manual/advanced-position.xml:
2076           Update seek example and explanations to current 0.9 API.
2077
2078         * gst/elements/gsttypefindelement.c:
2079         (gst_type_find_element_activate):
2080           Remove FIXME comment now that the found caps
2081           are unreffed.
2082
2083 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2084
2085         * gst/gstregistryxml.c: (load_feature):
2086           Add another GST_STR_NULL instance
2087
2088 2005-11-02  Edward Hervey  <edward@fluendo.com>
2089
2090         * gst/gstpad.c: (handle_pad_block):
2091         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2092         
2093 2005-11-02  Wim Taymans  <wim@fluendo.com>
2094
2095         * gst/gstbin.c:
2096         Fix typo in docs.
2097
2098         * gst/gstelement.c: (gst_element_commit_state):
2099         Remove unused value.
2100
2101         * gst/gstiterator.c:
2102         Mention that the returned element is reffed in the docs.
2103
2104 2005-11-02  Wim Taymans  <wim@fluendo.com>
2105
2106         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2107         (gst_pad_push), (gst_pad_push_event):
2108         Unlock blocked pads when they are flushed.
2109
2110 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2111
2112         * docs/README:
2113         * docs/gst/gstreamer-sections.txt:
2114         * gst/gstbin.c:
2115           doc updates
2116         * gst/gstregistry.c: (gst_registry_scan_path_level):
2117           fix for a nasty little missed situation where an installed plug-in
2118           which was in the cache did not get overridden by an uninstalled one
2119           which was earlier in the plugin path because the newly created plugin
2120           for the uninstalled one (not in the registry) didn't get its
2121           ->registered set to TRUE
2122
2123 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2124
2125         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2126         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2127         (gst_collectpads_is_active), (gst_collectpads_collect),
2128         (gst_collectpads_collect_range), (gst_collectpads_start),
2129         (gst_collectpads_stop), (gst_collectpads_peek),
2130         (gst_collectpads_pop), (gst_collectpads_available),
2131         (gst_collectpads_read), (gst_collectpads_flush):
2132           Guard public API with assertions.
2133         
2134         * gst/gstpad.c:
2135           Fix docs for gst_pad_set_link_function().
2136
2137 2005-11-02  Johan Dahlin  <johan@gnome.org>
2138
2139         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2140         Unref found_caps after we used it.
2141
2142 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2143
2144         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2145           Don't try to ref NULL.
2146
2147 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2148
2149         * win32/common/config.h.in:
2150           provide a GST_FUNCTION that just gives a string for now
2151
2152 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2153
2154         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2155         (gst_object_flags_get_type), (register_gst_bin_flags),
2156         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2157         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2158         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2159         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2160         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2161         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2162         (gst_clock_flags_get_type), (register_gst_state),
2163         (gst_state_get_type), (register_gst_state_change_return),
2164         (gst_state_change_return_get_type), (register_gst_state_change),
2165         (gst_state_change_get_type), (register_gst_element_flags),
2166         (gst_element_flags_get_type), (register_gst_core_error),
2167         (gst_core_error_get_type), (register_gst_library_error),
2168         (gst_library_error_get_type), (register_gst_resource_error),
2169         (gst_resource_error_get_type), (register_gst_stream_error),
2170         (gst_stream_error_get_type), (register_gst_event_type),
2171         (gst_event_type_get_type), (register_gst_seek_type),
2172         (gst_seek_type_get_type), (register_gst_seek_flags),
2173         (gst_seek_flags_get_type), (register_gst_format),
2174         (gst_format_get_type), (register_gst_index_certainty),
2175         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2176         (gst_index_entry_type_get_type),
2177         (register_gst_index_lookup_method),
2178         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2179         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2180         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2181         (gst_index_flags_get_type), (register_gst_debug_level),
2182         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2183         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2184         (gst_iterator_result_get_type), (register_gst_iterator_item),
2185         (gst_iterator_item_get_type), (register_gst_message_type),
2186         (gst_message_type_get_type), (register_gst_mini_object_flags),
2187         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2188         (gst_pad_link_return_get_type), (register_gst_flow_return),
2189         (gst_flow_return_get_type), (register_gst_activate_mode),
2190         (gst_activate_mode_get_type), (register_gst_pad_direction),
2191         (gst_pad_direction_get_type), (register_gst_pad_flags),
2192         (gst_pad_flags_get_type), (register_gst_pad_presence),
2193         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2194         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2195         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2196         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2197         (gst_plugin_flags_get_type), (register_gst_rank),
2198         (gst_rank_get_type), (register_gst_query_type),
2199         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2200         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2201         (gst_tag_flag_get_type), (register_gst_task_state),
2202         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2203         (gst_alloc_trace_flags_get_type),
2204         (register_gst_type_find_probability),
2205         (gst_type_find_probability_get_type), (register_gst_uri_type),
2206         (gst_uri_type_get_type), (register_gst_parse_error),
2207         (gst_parse_error_get_type):
2208         * win32/common/gstversion.h:
2209           update win32 copies
2210
2211 2005-11-01  Luca Ognibene  <luogni@tin.it>
2212
2213         * gst/gst.c:
2214           fix docs. popt is dead, long live GOption.
2215
2216 2005-10-31  Wim Taymans  <wim@fluendo.com>
2217
2218         * gst/gstbuffer.h:
2219         Small doc fix.
2220
2221 2005-10-31  Andy Wingo  <wingo@pobox.com>
2222
2223         * Boo!
2224
2225         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2226
2227         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2228         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2229         the possibility of deadlocks here if code calling notify() or
2230         set() has a lock that can be taken in another notify handler (ABBA
2231         with class lock and e.g. python GIL state lock).
2232
2233 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2234
2235         * gst/gstbus.c: Doc updates.
2236
2237 2005-10-28  Wim Taymans  <wim@fluendo.com>
2238
2239         * docs/design/part-TODO.txt:
2240         * gst/gstiterator.c:
2241         * gst/gstsystemclock.c:
2242         * gst/gstsystemclock.h:
2243         Doc updates.
2244
2245 2005-10-28  Edward Hervey  <edward@fluendo.com>
2246
2247         * docs/gst/gstreamer-docs.sgml:
2248         * docs/gst/gstreamer-sections.txt:
2249         the GstURIType documentation page is private, it only defines GstURIType
2250         which should be defined in the GstURIHandler page
2251         
2252 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2253
2254         * gst/gstbin.c: (gst_bin_class_init):
2255         * gst/gstbin.h:
2256         * gst/gstutils.c:
2257         Documentation updates.
2258
2259 2005-10-28  Wim Taymans  <wim@fluendo.com>
2260
2261         * docs/gst/gstreamer-sections.txt:
2262         * gst/gstclock.c:
2263         * gst/gstclock.h:
2264         Documented the clocks.
2265
2266 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2267
2268         * docs/gst/gstreamer-sections.txt:
2269           move some macros to private sections
2270         * gst/gstminiobject.c:
2271         * gst/gstminiobject.h:
2272           add descriptions provided by ds and some more
2273         * gst/gstpad.h:
2274           mark macro as to be removed
2275
2276 2005-10-28  Wim Taymans  <wim@fluendo.com>
2277
2278         * docs/design/part-TODO.txt:
2279         Add an item to TODO.
2280
2281         * gst/gstiterator.c: (gst_iterator_fold),
2282         (gst_iterator_find_custom):
2283         * gst/gstiterator.h:
2284         Add iterator docs.
2285
2286 2005-10-28  Wim Taymans  <wim@fluendo.com>
2287
2288         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2289         (gst_base_transform_init):
2290         Don't leak class.
2291
2292         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2293         An EOS event marks the queue as completely filled.
2294
2295 2005-10-27  Wim Taymans  <wim@fluendo.com>
2296
2297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2298         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2299         Some more debugging.
2300
2301         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2302         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2303         (gst_base_transform_event), (gst_base_transform_getrange),
2304         (gst_base_transform_chain):
2305         * gst/base/gstbasetransform.h:
2306         Fix debugging,
2307         Protect transform and concurrent buffer alloc with a new lock.
2308         Try not to break ABI/API.
2309
2310 2005-10-27  Wim Taymans  <wim@fluendo.com>
2311
2312         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2313         (gst_base_src_init), (gst_base_src_query),
2314         (gst_base_src_default_newsegment),
2315         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2316         (gst_base_src_send_event), (gst_base_src_event_handler),
2317         (gst_base_src_pad_get_range), (gst_base_src_loop),
2318         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2319         (gst_base_src_start), (gst_base_src_deactivate),
2320         (gst_base_src_activate_push), (gst_base_src_change_state):
2321         Move some stuff around and cleanup things.
2322
2323 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2324
2325         * gst/base/gstbasesrc.c: (gst_base_src_query):
2326           Add missing break statements.
2327
2328 2005-10-27  Wim Taymans  <wim@fluendo.com>
2329
2330         * check/gst/gstbin.c: (GST_START_TEST):
2331         An extra refcount is taken in basesrc.
2332
2333         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2334         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2335         (gst_base_src_loop):
2336         Small cleanups, check for flushing after being unlocked from the 
2337         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2338         Don't send out EOS when going to READY.
2339
2340 2005-10-27  Wim Taymans  <wim@fluendo.com>
2341
2342         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2343         (gst_base_sink_get_position):
2344         Some more debug.
2345
2346         * gst/gstbin.c: (message_check), (bin_replace_message),
2347         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2348         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2349         (bin_query_duration_init), (bin_query_duration_fold),
2350         (bin_query_duration_done), (bin_query_generic_fold),
2351         (gst_bin_query):
2352         * tools/gst-launch.c: (main):
2353         Remove old option.
2354
2355 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2356
2357         * examples/controller/audio-example.c: (main):
2358         * examples/queue/queue.c: (event_loop):
2359         * gst/base/gstbasetransform.h:
2360         * gst/gstelement.c: (gst_element_send_event):
2361         * gst/gstevent.h:
2362         * gst/gstpad.c: (gst_pad_send_event):
2363           fixing examples
2364           fixing docs typos
2365           changing log priority in error situations
2366
2367 2005-10-25  Wim Taymans  <wim@fluendo.com>
2368
2369         * gst/gstbin.c: (message_check), (bin_replace_message),
2370         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2371         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2372         (bin_query_duration_init), (bin_query_duration_fold),
2373         (bin_query_duration_done), (bin_query_generic_fold),
2374         (gst_bin_query):
2375         Some doc and debug updates.
2376         Cache previously requested query DURATION for speed. invalidate
2377         cached duration if element posts a DURATION message.
2378
2379 2005-10-25  Wim Taymans  <wim@fluendo.com>
2380
2381         * docs/design/part-TODO.txt:
2382         Update TODO.
2383
2384         * gst/gstbin.c: (message_check), (bin_replace_message),
2385         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2386         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2387         (bin_query_duration_init), (bin_query_duration_fold),
2388         (bin_query_duration_done), (bin_query_generic_fold),
2389         (gst_bin_query):
2390         Handle SEGMENT_START/DONE messages correctly.
2391         More evolved query algorithm that handles duration queries
2392         correctly.
2393
2394         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2395         (gst_element_get_state_func), (gst_element_abort_state),
2396         (gst_element_commit_state), (gst_element_lost_state):
2397         Some more debugging.
2398
2399         * gst/gstmessage.h:
2400         Added doc.
2401
2402 2005-10-25  Wim Taymans  <wim@fluendo.com>
2403
2404         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2405         Don't use invalid stream_time.
2406
2407         * gst/gstevent.c: (gst_event_new_newsegment):
2408         stream_time in newsegment cannot be undefined.
2409
2410 2005-10-24  Wim Taymans  <wim@fluendo.com>
2411
2412         * gst/gstbus.c:
2413         Doc fix.
2414
2415         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2416         (gst_queue_loop):
2417         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2418
2419 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2420
2421         * docs/libs/tmpl/gstdparam.sgml:
2422         * docs/libs/tmpl/gstdplinint.sgml:
2423         * docs/libs/tmpl/gstdpman.sgml:
2424         * docs/libs/tmpl/gstdpsmooth.sgml:
2425         * docs/libs/tmpl/gstunitconvert.sgml:
2426           these are obsolete
2427
2428 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2429
2430         * configure.ac:
2431           back to HEAD
2432
2433 === release 0.9.4 ===
2434
2435 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2436
2437         * configure.ac:
2438           releasing 0.9.4, "Tyrannosaurus Rex"
2439
2440 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2441
2442         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2443         (gst_file_sink_get_current_offset):
2444           Use fseeko() and ftello() if available. When falling back on
2445           lseek() to get the current offset, fflush() first to make sure
2446           everything is up-to-date and we get the right offset.
2447
2448 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2449
2450         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2451         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2452         * gst/gsterror.c: (_gst_stream_errors_init):
2453         * gst/gsterror.h:
2454         * gst/gstqueue.c: (gst_queue_loop):
2455         * po/POTFILES.in:
2456           remove prematurely added error category and clean up the instances
2457
2458 2005-10-21  Wim Taymans  <wim@fluendo.com>
2459
2460         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2461         (gst_base_sink_get_position), (gst_base_sink_query),
2462         (gst_base_sink_change_state):
2463         Simply set the right flag when going to playing, that's all
2464         we need to do instead of calling a function inside the object
2465         lock (that could take the lock as well and deadlock)
2466
2467 2005-10-21  Wim Taymans  <wim@fluendo.com>
2468
2469         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2470         (gst_base_src_loop):
2471         Don't warn, the peer element knows what to do best when
2472         the seek failed, it might try something else.
2473
2474 2005-10-21  Wim Taymans  <wim@fluendo.com>
2475
2476         * gst/base/gstbasesrc.c: (gst_base_src_init),
2477         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2478         Fix seeking.
2479
2480 2005-10-21  Wim Taymans  <wim@fluendo.com>
2481
2482         * docs/design/part-segments.txt:
2483         More docs.
2484
2485         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2486         Correctly set caps, even on the subbufer.
2487
2488 2005-10-21  Wim Taymans  <wim@fluendo.com>
2489
2490         * docs/gst/gstreamer-docs.sgml:
2491         * docs/gst/gstreamer-sections.txt:
2492         * gst/gstelement.h:
2493         * gst/gstevent.c:
2494         * gst/gstevent.h:
2495         * gst/gstmessage.h:
2496         * gst/gstpad.h:
2497         * gst/gstparse.h:
2498         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2499         * gst/gsttask.h:
2500         * gst/gstutils.c:
2501         * gst/gstutils.h:
2502         And 2% more doc coverage.
2503
2504 2005-10-21  Andy Wingo  <wingo@pobox.com>
2505
2506         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2507         position reporting.
2508
2509 2005-10-20  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/gsterror.c: (gst_error_get_message):
2512         * gst/gstparse.h:
2513         * gst/gstquery.h:
2514         * gst/gststructure.c:
2515         * gst/gsttrace.c:
2516         * gst/gstutils.c:
2517         More docs.
2518
2519 2005-10-20  Wim Taymans  <wim@fluendo.com>
2520
2521         * gst/gstbuffer.h:
2522         * gst/gstpad.c:
2523         * gst/gstparse.c:
2524         Another 1% more coverage.
2525
2526 2005-10-20  Wim Taymans  <wim@fluendo.com>
2527
2528         * docs/gst/gstreamer-sections.txt:
2529         * gst/gstelement.c: (gst_element_get_state_func),
2530         (gst_element_abort_state), (gst_element_commit_state),
2531         (gst_element_lost_state):
2532         * gst/gstevent.h:
2533         * gst/gstquery.c: (gst_query_set_position),
2534         (gst_query_parse_position), (gst_query_set_duration),
2535         (gst_query_parse_duration), (gst_query_new_convert):
2536         * gst/gstutils.c:
2537         Yay! 1% more docs coverage.
2538
2539 2005-10-20  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/gstpad.h:
2542         * gst/gstquery.c: (gst_query_set_position),
2543         (gst_query_parse_position), (gst_query_set_duration),
2544         (gst_query_parse_duration), (gst_query_new_convert):
2545         * gst/gstquery.h:
2546         * gst/gstutils.c: (gst_element_query_convert):
2547         * gst/gstutils.h:
2548         Docs and consistency fixes.
2549
2550 2005-10-20  Wim Taymans  <wim@fluendo.com>
2551
2552         * gst/gsttask.c:
2553         * gst/gsttask.h:
2554         More docs.
2555
2556 2005-10-20  Wim Taymans  <wim@fluendo.com>
2557
2558         * gst/gstbin.c: (message_check), (bin_replace_message),
2559         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2560         (update_degree), (gst_bin_sort_iterator_next),
2561         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2562         Reworked the message handling a bit, cache the messages instead of
2563         only the senders. alows us to do more in the future.
2564
2565 2005-10-20  Wim Taymans  <wim@fluendo.com>
2566
2567         * docs/design/part-TODO.txt:
2568         Update TODO
2569
2570         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2571         (gst_base_sink_query):
2572         Don't use clock time to report position when in EOS.
2573
2574 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2575
2576         * tools/gst-inspect.c: (print_interfaces),
2577         (print_element_properties_info), (print_element_info):
2578           Fix interface output with gst-inspect -a; don't print
2579           newlines after double/float properties.
2580
2581 2005-10-20  Wim Taymans  <wim@fluendo.com>
2582
2583         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2584         (gst_base_sink_query):
2585         Speed up current position calculation.
2586
2587         * gst/base/gstbasesrc.c: (gst_base_src_query),
2588         (gst_base_src_default_newsegment):
2589         Correctly set stream position in newsegment.
2590
2591         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2592         (update_degree), (gst_bin_sort_iterator_next),
2593         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2594         * gst/gstmessage.c: (gst_message_new_custom):
2595         Clean up debugging info
2596
2597         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2598         (gst_queue_loop), (gst_queue_handle_src_query):
2599         Pause task faster.
2600
2601 2005-10-19  Wim Taymans  <wim@fluendo.com>
2602
2603         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2604         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2605         Fix query handling again.
2606
2607 2005-10-19  Wim Taymans  <wim@fluendo.com>
2608
2609         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2610         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2611         * gst/base/gstbasesrc.c: (gst_base_src_query):
2612         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2613         * gst/elements/gsttypefindelement.c:
2614         (gst_type_find_handle_src_query), (find_element_get_length),
2615         (gst_type_find_element_activate):
2616         API change fix.
2617
2618         * gst/gstquery.c: (gst_query_new_position),
2619         (gst_query_set_position), (gst_query_parse_position),
2620         (gst_query_new_duration), (gst_query_set_duration),
2621         (gst_query_parse_duration), (gst_query_set_segment),
2622         (gst_query_parse_segment):
2623         * gst/gstquery.h:
2624         Bundling query position/duration is not a good idea since duration
2625         does not change much and we don't want to recalculate it for every
2626         position query, so they are separated again..
2627         Base value in segment query is not needed.
2628
2629         * gst/gstqueue.c: (gst_queue_handle_src_query):
2630         * gst/gstutils.c: (gst_element_query_position),
2631         (gst_element_query_duration), (gst_pad_query_position),
2632         (gst_pad_query_duration):
2633         * gst/gstutils.h:
2634         Updates for query API change.
2635         Added some docs here and there.
2636
2637 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2638
2639         * check/gst/gstbin.c: (GST_START_TEST):
2640         * check/gst/gstghostpad.c: (GST_START_TEST):
2641         * check/pipelines/cleanup.c: (GST_START_TEST):
2642           wait on thread to die so we can check refcount correctly
2643
2644 2005-10-18  Wim Taymans  <wim@fluendo.com>
2645
2646         * check/pipelines/stress.c: (GST_START_TEST):
2647         Make check a little more time consuming.
2648
2649 2005-10-18  Wim Taymans  <wim@fluendo.com>
2650
2651         * check/Makefile.am:
2652         * check/pipelines/stress.c: (GST_START_TEST),
2653         (simple_launch_lines_suite), (main):
2654         Small state change torture test.
2655
2656         * docs/design/part-states.txt:
2657         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2658         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2659         (gst_base_sink_change_state):
2660         Never take state lock from streaming thread, clean up ugly
2661         hacks. Unfortunatly core does not yet support nice ways to
2662         async commit state.
2663         
2664         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2665         (bin_bus_handler):
2666         Start state recalc if a STATE_DIRTY message is posted, but only
2667         on the toplevel bin.
2668
2669         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2670         (gst_element_get_state_func), (gst_element_abort_state),
2671         (gst_element_commit_state), (gst_element_lost_state),
2672         (gst_element_set_state_func), (gst_element_change_state):
2673         * gst/gstelement.h:
2674         State variables are now protected with the LOCK, the state
2675         lock is only used to serialize _set_state().
2676
2677 2005-10-18  Wim Taymans  <wim@fluendo.com>
2678
2679         * check/gst/gstbin.c: (GST_START_TEST):
2680         * check/gst/gstmessage.c: (GST_START_TEST):
2681         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2682         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2683         (bin_bus_handler):
2684         * gst/gstelement.c: (gst_element_abort_state),
2685         (gst_element_commit_state), (gst_element_lost_state):
2686         * gst/gstmessage.c: (gst_message_new_state_changed),
2687         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2688         (gst_message_new_segment_done), (gst_message_new_duration),
2689         (gst_message_parse_state_changed),
2690         (gst_message_parse_segment_start),
2691         (gst_message_parse_segment_done), (gst_message_parse_duration):
2692         * gst/gstmessage.h:
2693         * tools/gst-launch.c: (event_loop):
2694         Seriously, this is better than a previous commit as we only need
2695         to notify the fact that an element changed state in a streaming
2696         thread, marking the state of the parents dirty, hence the 
2697         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2698         message.
2699
2700 2005-10-18  Wim Taymans  <wim@fluendo.com>
2701
2702         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2703         (gst_bin_recalc_func):
2704         * gst/gstelement.c: (gst_element_set_clock),
2705         (gst_element_abort_state), (gst_element_lost_state):
2706         Cleanups, prepare for state change fixes.
2707
2708 2005-10-18  Wim Taymans  <wim@fluendo.com>
2709
2710         * gst/gstbin.h:
2711         * gst/gstelement.c: (gst_element_class_init),
2712         (gst_element_set_state), (gst_element_set_state_func):
2713         * gst/gstelement.h:
2714         Pending ABI changes.
2715         GThreadPool in GstBinClass to monitor async state changes.
2716         state_cookie in GstElement to detect concurrent gst/set state.
2717         set_state is now virtual too in case a very complicated element
2718         has to be constructed.
2719
2720 2005-10-18  Wim Taymans  <wim@fluendo.com>
2721
2722         * check/gst/gstbin.c: (GST_START_TEST):
2723         * check/gst/gstmessage.c: (GST_START_TEST):
2724         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2725         * gst/gstbin.c: (bin_bus_handler):
2726         * gst/gstelement.c: (gst_element_commit_state),
2727         (gst_element_lost_state):
2728         * gst/gstmessage.c: (gst_message_new_state_changed),
2729         (gst_message_new_segment_start), (gst_message_new_segment_done),
2730         (gst_message_new_duration), (gst_message_parse_state_changed),
2731         (gst_message_parse_segment_start),
2732         (gst_message_parse_segment_done), (gst_message_parse_duration):
2733         * gst/gstmessage.h:
2734         * tools/gst-launch.c: (event_loop):
2735         Make messages future proof.
2736         state-change gets a flag if it was a message comming from the
2737         streaming thread.
2738         segment-start/stop can also be specified in other formats.
2739         A message to notify an app that a pipeline changed playback 
2740         duration.
2741         Also fix a GstMessage leak in -launch
2742
2743 2005-10-18  Andy Wingo  <wingo@pobox.com>
2744
2745         * gst/gstelement.c (gst_element_dispose): More helpful message.
2746
2747 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2748
2749         reviewed by: <delete if not using a buddy>
2750
2751         * common/gtk-doc.mak:
2752
2753 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2754
2755         * gst/gstregistry.c: (gst_registry_scan_path_level):
2756           unref a plug-in we get that was already initialized
2757
2758 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2759
2760         * docs/gst/gstreamer-sections.txt:
2761         * docs/libs/gstreamer-libs-sections.txt:
2762         * gst/gstelement.h:
2763           add new api entries
2764           hide internal macro
2765
2766 2005-10-17  Andy Wingo  <wingo@pobox.com>
2767
2768         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2769         cleanup.
2770
2771         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2772
2773         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2774
2775         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2776         (gst_element_get_state_func): Better debug message.
2777         (gst_element_commit_state): s/INFO/DEBUG/.
2778         (gst_element_lost_state, gst_element_change_state): 
2779
2780         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2781         (gst_message_new_custom): s/INFO/LOG/.
2782
2783 2005-10-17  Michael Smith <msmith@fluendo.com>
2784
2785         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2786           Check if end time is valid using end time, not start time.
2787
2788 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2789
2790         * check/gst-libs/controller.c: (GST_START_TEST),
2791         (gst_controller_suite):
2792         * libs/gst/controller/gstcontroller.c:
2793         (gst_controlled_property_set_interpolation_mode):
2794         * libs/gst/controller/gstcontroller.h:
2795         * libs/gst/controller/gstinterpolation.c:
2796         * testsuite/controller/.cvsignore:
2797         * testsuite/controller/Makefile.am:
2798         * testsuite/controller/interpolator.c:
2799           merge controller testsuites
2800           fix broken tests
2801           remove mem-chunk from docs
2802
2803 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2804
2805         * gst/gstmemchunk.c:
2806         * gst/gstmemchunk.h:
2807         * gst/gsttrashstack.c:
2808         * gst/gsttrashstack.h:
2809           out.  get out.  you're fired.  to the Attic !
2810
2811 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2812
2813         * gst/gstcaps.c: (gst_caps_intersect):
2814           fix signedness issues in a (hopefully) correct way
2815         * gst/gstelement.c: (gst_element_pads_activate):
2816           some debugging
2817         * gst/gstobject.c: (gst_object_set_parent):
2818           some debugging
2819
2820 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2821
2822         * gst/gstvalue.h: Fix prototypes.
2823
2824 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2825
2826         * docs/gst/gstreamer-sections.txt:
2827         * gst/gst.c: (gst_version_string):
2828         * gst/gst.h:
2829         * gst/gstversion.h.in:
2830         * win32/common/libgstreamer.def:
2831           add gst_version_string ()
2832
2833 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2834
2835         * configure.ac:
2836           clean up further
2837         * gst/gst.c: (init_post):
2838         * win32/common/config.h.in:
2839           it's PLUGINDIR now
2840         * gst/gstcaps.c: (gst_caps_intersect):
2841           use gint64, the range could be bigger than a guint
2842
2843 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2844
2845         * gst/gstclock.h:
2846           document potential problem in 2038
2847
2848 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2849
2850         * gst/gstcaps.c: (gst_caps_intersect):
2851           Fix guint j diving under 0
2852
2853 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2854
2855         * configure.ac:
2856         * win32/common/config.h:
2857         * win32/common/config.h.in:
2858           check for process.h, declares getpid() on Windows
2859         * gst/gstinfo.c:
2860           include process.h if we have it
2861         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2862         * gst/gstmemchunk.h:
2863           fix signedness issues
2864         * win32/common/libgstreamer.def:
2865           fix get_type's
2866
2867 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2868
2869         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2870         fix. Because of unsigned ints, caps intersection was going nuts and
2871         trying to access structures with G_MAXUINT index. That fixes
2872         videotestsrc ! ffmpegcolorspace ! fakesink
2873         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2874         consistency.
2875
2876 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2877
2878         * configure.ac:
2879           use the gettext macro
2880         * gst/elements/gstelements.c:
2881         * gst/gst.c:
2882         * gst/indexers/gstindexers.c:
2883           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2884         * win32/common/config.h:
2885           updated config.h
2886         * win32/common/config.h.in:
2887           add the template to generate config.h
2888         * win32/common/gstenumtypes.c:
2889         * win32/common/gstversion.h:
2890           updated copies
2891
2892 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2893
2894         * gst/gst.c: (gst_version):
2895         * gst/gstversion.h.in:
2896           add the nano
2897
2898 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2899
2900         * gst/gstevent.h:
2901           Oops, add missing closing bracket.
2902
2903 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2904
2905         * configure.ac:
2906           use common m4's for argument checking
2907
2908 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2909
2910         * docs/gst/gstreamer-sections.txt:
2911         * gst/gstevent.h:
2912           Add GST_EVENT_TYPE_NAME() macro.
2913
2914 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2915
2916         * gst/gstinfo.c:
2917         * gst/gstpluginfeature.c:
2918         * gst/gsttask.c:
2919           privatize more symbols
2920
2921 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2922
2923         * configure.ac:
2924           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2925           everything that uses GStreamer API should have the includes
2926
2927 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2928
2929         * docs/gst/gstreamer-sections.txt:
2930         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2931         * gst/gstvalue.h:
2932           give each value a _get_type, removes the DATA exports
2933
2934 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2935
2936         * gst/gst.c:
2937         * gst/gst.h:
2938           remove _gst_registry_auto_load, not used anymore
2939         * gst/gstbin.c: (gst_bin_get_type):
2940         * gst/gstbin.h:
2941         * gst/gstelement.c: (gst_element_get_type):
2942         * gst/gstelement.h:
2943         * gst/gstobject.c: (gst_object_get_type):
2944         * gst/gstobject.h:
2945         * gst/gstpad.c: (gst_pad_get_type):
2946         * gst/gstpad.h:
2947           make _get_type functions similar, fixes data export from library
2948
2949 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2950
2951         * configure.ac:
2952           correctly make conditionals
2953         * gst/elements/Makefile.am:
2954         * gst/elements/gstelements.c:
2955           fix typo causing fdsrc not to build
2956
2957 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * testsuite/Makefile.am:
2960         * testsuite/bytestream/.cvsignore:
2961         * testsuite/bytestream/Makefile.am:
2962         * testsuite/bytestream/filepadsink.c:
2963         * testsuite/bytestream/gstbstest.c:
2964         * testsuite/bytestream/test1.c:
2965         * testsuite/bytestream/testfile1:
2966         * testsuite/caps/normalisation.c:
2967         * testsuite/caps/random.c: (main):
2968         * testsuite/cleanup/.cvsignore:
2969         * testsuite/cleanup/Makefile.am:
2970         * testsuite/cleanup/cleanup1.c:
2971         * testsuite/cleanup/cleanup2.c:
2972         * testsuite/cleanup/cleanup3.c:
2973         * testsuite/cleanup/cleanup4.c:
2974         * testsuite/cleanup/cleanup5.c:
2975         * testsuite/controller/interpolator.c:
2976         * testsuite/debug/printf_extension.c: (main):
2977         * testsuite/elements/tee.c:
2978         * testsuite/negotiation/.cvsignore:
2979         * testsuite/negotiation/Makefile.am:
2980         * testsuite/negotiation/pad_link.c:
2981         * testsuite/pad/Makefile.am:
2982         * testsuite/pad/chainnopull.c:
2983         * testsuite/pad/getnopush.c:
2984         * testsuite/pad/link.c:
2985         * testsuite/refcounting/sched.c: (create_pipeline):
2986         * testsuite/registry/Makefile.am:
2987         * testsuite/registry/gst-print-formats.c:
2988         * testsuite/schedulers/.cvsignore:
2989         * testsuite/schedulers/142183-2.c:
2990         * testsuite/schedulers/142183.c:
2991         * testsuite/schedulers/143777-2.c:
2992         * testsuite/schedulers/143777.c:
2993         * testsuite/schedulers/147713.c:
2994         * testsuite/schedulers/147819.c:
2995         * testsuite/schedulers/147894-2.c:
2996         * testsuite/schedulers/147894.c:
2997         * testsuite/schedulers/Makefile.am:
2998         * testsuite/schedulers/group_link.c:
2999         * testsuite/schedulers/queue_link.c:
3000         * testsuite/schedulers/relink.c:
3001         * testsuite/schedulers/unlink.c:
3002         * testsuite/schedulers/unref.c:
3003         * testsuite/schedulers/useless_iteration.c:
3004         * testsuite/states/bin.c:
3005           clean out/remove some stuff from the testsuite directories
3006
3007 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3008
3009         * configure.ac:
3010           check for some headers
3011         * gst/elements/Makefile.am:
3012         * gst/elements/gstelements.c:
3013           don't compile fdsrc without sys/socket.h
3014         * gst/indexers/Makefile.am:
3015         * gst/indexers/gstindexers.c: (plugin_init):
3016           don't compile fileindex without mmap
3017
3018 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3019
3020         * configure.ac:
3021           reorganize
3022           clean up
3023           document more
3024           remove cruft
3025         * check/Makefile.am:
3026         * docs/gst/Makefile.am:
3027         * examples/helloworld/Makefile.am:
3028         * gst/Makefile.am:
3029         * gst/base/Makefile.am:
3030         * gst/check/Makefile.am:
3031         * gst/elements/Makefile.am:
3032         * gst/indexers/Makefile.am:
3033         * gst/parse/Makefile.am:
3034         * libs/gst/controller/Makefile.am:
3035         * libs/gst/dataprotocol/Makefile.am:
3036         * examples/helloworld/helloworld.c: (event_loop):
3037           compile fixes, though it's not being compiled currently
3038
3039 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3040
3041         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3042           Add some simple tests for the new taglist date API.
3043
3044 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3045
3046         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3047         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3048           Beautify 'last-message' output: print 'none' for buffer timestamps
3049           and durations if none is set; improve alignment with next messages.
3050
3051 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3052
3053         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3054         * gst/gstpluginfeature.h:
3055         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3056         * gst/gstregistry.h:
3057         * docs/gst/gstreamer-sections.txt:
3058           Add new API to check plugin feature version requirements.
3059
3060         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3061           Some basic tests for the above.         
3062
3063 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3064
3065         * gst/gststructure.c: (gst_structure_to_string):
3066           guard against NULL printf - happens when for example
3067           a message structure with GstClock gets serialized
3068
3069 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3072           Fix presumable copy'n'pasto.
3073
3074 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3075
3076         * gst/elements/gstfakesrc.h:
3077         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3078         * gst/elements/gsttypefindelement.c:
3079           fix some signedness
3080         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3081           I wonder if this could actually write +2GB files before
3082
3083 2005-10-13  Andy Wingo  <wingo@pobox.com>
3084
3085         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3086         Fix Timmeke Waymans bug.
3087         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3088         string of the proper length to gst_caps_from_string. There's a
3089         potential for, before this fix, that this could cause someone
3090         connecting over the network to cause a segfault if the payload is
3091         not NUL-terminated.
3092
3093 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3094
3095         * docs/design/draft-push-pull.txt:
3096         * docs/design/part-overview.txt:
3097         * docs/random/TODO-pre-0.9:
3098         * docs/random/old/ChangeLog.gstreamer:
3099         * gst/base/gstpushsrc.c:
3100         * gst/gstclock.c:
3101           fixed typos
3102
3103 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3104
3105         * gst/glib-compat.c: (gst_flags_get_first_value):
3106         * gst/glib-compat.h:
3107         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3108         (gst_value_compare_double), (gst_value_serialize_flags):
3109           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3110           infinite loop
3111
3112 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3113
3114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3115         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3116           fix up debugging
3117         * tools/gst-launch.c: (event_loop):
3118           print out clock nicely
3119
3120 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3121
3122         * docs/gst/gstreamer-sections.txt:
3123         * gst/gsttaglist.h:
3124         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3125         (gst_tag_list_get_date_index):
3126           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3127           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3128
3129 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3130
3131         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3132         (gst_collectpads_chain):
3133         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3134         in CollectData.
3135
3136 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3137
3138         * docs/gst/gstreamer-sections.txt:
3139         * gst/gst.c:
3140         * gst/gsterror.h:
3141         * tools/gst-inspect.c: (main):
3142         * tools/gst-launch.c: (main):
3143         * tools/gst-run.c: (main):
3144         * tools/gst-xmlinspect.c: (main):
3145           fix GOption context leaks
3146           doc fixes
3147
3148 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3149
3150         * gst/gstbus.c:
3151           use HAVE_UNISTD_H
3152         * win32/common/config.h:
3153           update config
3154         * win32/vs6/grammar.dsp:
3155         * win32/vs6/libgstelements.dsp:
3156         * win32/vs6/libgstreamer.dsp:
3157           update vs6 files
3158
3159 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3160
3161         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3162         * gst/base/gstbasesrc.c: (gst_base_src_query):
3163           fix more guint64<->gdouble conversions
3164
3165 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3166
3167         * Makefile.am:
3168           add win32-update target
3169         * win32/common/gstconfig.h:
3170         * win32/common/gstenumtypes.c:
3171         * win32/common/gstenumtypes.h:
3172         * win32/common/gstversion.h:
3173           add files that visual studio can't generate
3174
3175 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3176
3177         * Makefile.am:
3178           add a win32-update target
3179         * configure.ac:
3180
3181 2005-10-12  Wim Taymans  <wim@fluendo.com>
3182
3183         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3184         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3185         * gst/gstelement.c: (gst_element_commit_state),
3186         (gst_element_set_state):
3187         Protect flags with proper lock.
3188         unref provided cached clock in dispose.
3189
3190 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3191
3192         * gst/gst.c:
3193         * gst/gstminiobject.h:
3194         * gst/gstpad.h:
3195         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3196           removed unused flags from miniobject
3197           doc fixes
3198
3199 2005-10-12  Wim Taymans  <wim@fluendo.com>
3200
3201         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3202         (gst_file_sink_event), (gst_file_sink_render):
3203         Flush before seeking.
3204
3205 2005-10-12  Andy Wingo  <wingo@pobox.com>
3206
3207         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3208         always been the case.
3209
3210 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3211
3212         * check/gst/gstbin.c: (GST_START_TEST):
3213         * docs/gst/gstreamer-sections.txt:
3214         * gst/base/gstbasesink.c: (gst_base_sink_init):
3215         * gst/base/gstbasesrc.c: (gst_base_src_init),
3216         (gst_base_src_get_range), (gst_base_src_check_get_range),
3217         (gst_base_src_start), (gst_base_src_stop):
3218         * gst/base/gstbasesrc.h:
3219         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3220         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3221         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3222         (bin_bus_handler):
3223         * gst/gstbin.h:
3224         * gst/gstbuffer.h:
3225         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3226         * gst/gstbus.h:
3227         * gst/gstelement.c: (gst_element_is_locked_state),
3228         (gst_element_set_locked_state), (gst_element_commit_state),
3229         (gst_element_set_state):
3230         * gst/gstelement.h:
3231         * gst/gstindex.c: (gst_index_init):
3232         * gst/gstindex.h:
3233         * gst/gstminiobject.h:
3234         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3235         (gst_object_set_parent):
3236         * gst/gstobject.h:
3237         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3238         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3239         * gst/gstpad.h:
3240         * gst/gstpadtemplate.h:
3241         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3242         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3243         * gst/gstpipeline.h:
3244         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3245         (gst_file_index_commit):
3246         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3247         * testsuite/pad/link.c: (gst_test_src_init),
3248         (gst_test_filter_init), (gst_test_sink_init):
3249         * testsuite/states/locked.c: (main):
3250           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3251           moved bitshift from macro to enum definition
3252
3253 2005-10-12  Wim Taymans  <wim@fluendo.com>
3254
3255         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3256         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3257         (gst_file_sink_render):
3258         Some more debugging info.
3259
3260 2005-10-12  Wim Taymans  <wim@fluendo.com>
3261
3262         * docs/design/part-states.txt:
3263         * tools/gst-launch.c: (main):
3264         Some doc updates.
3265         Revert non-intentional change.
3266
3267 2005-10-12  Wim Taymans  <wim@fluendo.com>
3268
3269         * check/gst/gstbin.c: (GST_START_TEST):
3270         * check/gst/gstelement.c: (GST_START_TEST):
3271         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3272         * check/gst/gstghostpad.c: (GST_START_TEST):
3273         * check/gst/gstpipeline.c: (GST_START_TEST):
3274         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3275         * check/states/sinks.c: (GST_START_TEST):
3276         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3277         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3278         (gst_bin_remove_func), (gst_bin_get_state_func),
3279         (gst_bin_recalc_state), (gst_bin_change_state_func),
3280         (bin_bus_handler):
3281         * gst/gstelement.c: (gst_element_get_state_func),
3282         (gst_element_get_state), (gst_element_abort_state),
3283         (gst_element_commit_state), (gst_element_set_state),
3284         (gst_element_change_state), (gst_element_change_state_func):
3285         * gst/gstelement.h:
3286         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3287         (gst_pipeline_provide_clock_func):
3288         * gst/gstutils.c: (gst_element_link_pads_filtered):
3289         * tools/gst-launch.c: (main):
3290         * tools/gst-typefind.c: (main):
3291         Use GstClockTime in _get_state() instead of GTimeVal.
3292         Remove old code in gstutils.c
3293
3294 2005-10-12  Andy Wingo  <wingo@pobox.com>
3295
3296         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3297         removed.
3298
3299         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3300         there is no task. Shouldn't affect any code, as nothing in our
3301         plugins checks this return value.
3302         (gst_pad_stop_task): Also take the stream lock if the pad has no
3303         task. Docs updated.
3304
3305 2005-10-12  Wim Taymans  <wim@fluendo.com>
3306
3307         * gst/gstpad.c: (pre_activate), (post_activate),
3308         (gst_pad_activate_pull), (gst_pad_activate_push):
3309         Cleanup activation code. Reset old state if
3310         activation failed.
3311
3312 2005-10-12  Wim Taymans  <wim@fluendo.com>
3313
3314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3315         (gst_base_sink_change_state):
3316         No need to prerol after receiving EOS.
3317
3318         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3319         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3320         * gst/elements/gstidentity.c: (gst_identity_event):
3321         Print events more verbosely.
3322
3323 2005-10-12  Wim Taymans  <wim@fluendo.com>
3324
3325         * check/Makefile.am:
3326         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3327         * check/states/sinks2.c:
3328         Moved sinks2 testcode in sinks check.
3329
3330         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3331         (gst_bin_remove_func), (gst_bin_recalc_state),
3332         (gst_bin_change_state_func), (bin_bus_handler):
3333         Fix potential race condition when _get_state() iterated over an
3334         ASYNC element right before it posted a state completion.
3335
3336         * gst/gstclock.h:
3337         Do proper cast here.
3338
3339         * gst/gstevent.c: (gst_event_new_newsegment),
3340         (gst_event_parse_newsegment):
3341         A playback rate of 0.0 is not allowed.
3342
3343 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3344
3345         * win32/common/config.h:
3346         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3347         (_trewinddir), (_ttelldir), (_tseekdir):
3348         * win32/common/dirent.h:
3349         * win32/common/gtchar.h:
3350         * win32/common/libgstbase.def:
3351         * win32/common/libgstreamer.def:
3352         * win32/vs6/grammar.dsp:
3353         * win32/vs6/gst_inspect.dsp:
3354         * win32/vs6/gst_launch.dsp:
3355         * win32/vs6/gstreamer.dsw:
3356         * win32/vs6/libgstbase.dsp:
3357         * win32/vs6/libgstelements.dsp:
3358         * win32/vs6/libgstreamer.dsp:
3359           Visual Studio 6 project files, and a new common directory.
3360           Phear.
3361
3362 2005-10-11  Wim Taymans  <wim@fluendo.com>
3363
3364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3365         (gst_base_sink_do_sync), (gst_base_sink_query),
3366         (gst_base_sink_change_state):
3367         * gst/base/gstbasesink.h:
3368         Correctly parse newsegment info.
3369
3370 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3371
3372         * gst/gst.c: (init_post):
3373           split plugin paths correctly
3374
3375 2005-10-11  Wim Taymans  <wim@fluendo.com>
3376
3377         * check/gst/gstevent.c: (GST_START_TEST):
3378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3379         (gst_base_sink_change_state):
3380         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3381         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3382         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3383         * gst/gstevent.c: (gst_event_new_newsegment),
3384         (gst_event_parse_newsegment):
3385         * gst/gstevent.h:
3386         Added extra flag to newsegment for future API freeze.
3387         Updated check and base elements.
3388
3389 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3390
3391         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3392         (gst_collectpads_add_pad), (gst_collectpads_pop),
3393         (gst_collectpads_event), (gst_collectpads_chain):
3394         * gst/base/gstcollectpads.h: Handle EOS correctly.
3395
3396 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3397
3398         * tools/gst-launch.c: (main):
3399           more null protecting
3400
3401 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3402
3403         * gst/gst-i18n-lib.h:
3404           check for ENABLE_NLS, not GETTEXT_PACKAGE
3405         * gst/gstregistry.c: (gst_registry_add_plugin),
3406         (gst_registry_scan_path_level),
3407         (_gst_registry_remove_cache_plugins):
3408           protect possibly NULL strings
3409         * gst/parse/types.h:
3410           config.h already included before
3411         * tools/gst-inspect.c: (main):
3412           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3413           check for ENABLE_NLS, not GETTEXT_PACKAGE
3414         * tools/gst-launch.c: (main):
3415           check for ENABLE_NLS, not GETTEXT_PACKAGE
3416
3417 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3418
3419         * configure.ac:
3420           if we don't have glib, fail before testing 2.8
3421         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3422           fix a leak, should fix plugins-base testsuite
3423
3424 2005-10-11  Andy Wingo  <wingo@pobox.com>
3425
3426         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3427         take the mode we're going to as an arg. Go head and set the mode
3428         and flushing flags now, so that if the activate function starts a
3429         thread all the flags will be in the right state.
3430         (post_activate): Renamed also. Just handle making sure streaming
3431         finishes for the deactivation case, and setting the deactivated
3432         mode.
3433         (gst_pad_set_active): Complain loudly if deactivation fails.
3434         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3435         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3436         remove the terrible hack.
3437
3438 2005-10-11  Wim Taymans  <wim@fluendo.com>
3439
3440         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3441         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3442         (gst_bin_recalc_state), (gst_bin_change_state_func),
3443         (gst_bin_dispose), (bin_bus_handler):
3444         * gst/gstbin.h:
3445         Prepare to make current EOS message queue more generic.
3446         Fix some typos.
3447
3448         * gst/gstevent.c: (gst_event_new_newsegment),
3449         (gst_event_parse_newsegment):
3450         * gst/gstevent.h:
3451         Rename base to stream_time.
3452
3453         * gst/gstmessage.h:
3454         Fix typo in docs.
3455
3456 2005-10-11  Wim Taymans  <wim@fluendo.com>
3457
3458         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3459         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3460         (gst_bin_change_state_func), (bin_bus_handler):
3461         * gst/gstbin.h:
3462         Work on proper clock selection.
3463
3464 2005-10-11  Edward Hervey  <edward@fluendo.com>
3465
3466         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3467         * libs/gst/controller/gstcontroller.h:
3468         Added GList* version of _remove_properties() in order to be able to wrap
3469         it in bindings.
3470
3471 2005-10-11  Wim Taymans  <wim@fluendo.com>
3472
3473         * docs/design/part-states.txt:
3474         Some more docs.
3475
3476         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3477         (gst_bin_change_state_func), (bin_bus_handler):
3478         Doc updates. Don't distribute the same clock over and over again.
3479
3480         * gst/gstclock.c:
3481         * gst/gstclock.h:
3482         Doc updates.
3483
3484         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3485         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3486         (gst_pad_send_event):
3487         * gst/gstpad.h:
3488         Make probe emission threadsafe again.
3489         Register quarks and move _get_name() from utils.
3490         Doc updates.
3491
3492         * gst/gstpipeline.c: (gst_pipeline_class_init),
3493         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3494         Only redistribute the clock of it changed.
3495
3496         * gst/gstsystemclock.h:
3497         Doc updates. 
3498
3499         * gst/gstutils.c:
3500         * gst/gstutils.h:
3501         Moved the _flow_get_name() to GstPad.
3502
3503 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3504
3505         * check/gst-libs/gdp.c: (GST_START_TEST):
3506         * check/gst/gstcaps.c: (GST_START_TEST):
3507         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3508         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3509         (gst_dp_packet_from_caps):
3510           fix more valgrind warnings before turning up the heat
3511
3512 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3513
3514         * gst/parse/grammar.y:
3515           some cleanup before the hacking
3516
3517 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3518
3519         * gst/base/gstbasesrc.c: (gst_base_src_query):
3520           use conversions
3521         * gst/gstutils.c: (gst_guint64_to_gdouble),
3522         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3523         * gst/gstutils.h:
3524           externalize, basesrc uses it
3525           obviously the implementation needs testing
3526
3527 2005-10-10  Wim Taymans  <wim@fluendo.com>
3528
3529         * tests/sched/Makefile.am:
3530         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3531         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3532
3533 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3534
3535         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3536           apparently converting from guint64 to double is not implemented
3537           on MSVC
3538
3539 2005-10-10  Wim Taymans  <wim@fluendo.com>
3540
3541         * check/Makefile.am:
3542         * check/generic/states.c: (GST_START_TEST):
3543         * check/gst/gstbin.c: (GST_START_TEST):
3544         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3545         * check/states/sinks.c: (GST_START_TEST):
3546         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3547         (main):
3548         Check fixes, use API as stated in design docs, remove hacks.
3549
3550         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3551         (gst_base_sink_change_state):
3552         Catch stopping our task while we're shutting down.
3553
3554         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3555         (gst_bin_remove_func), (gst_bin_get_state_func),
3556         (gst_bin_recalc_state), (gst_bin_change_state_func),
3557         (bin_bus_handler):
3558         * gst/gstbin.h:
3559         * gst/gstelement.c: (gst_element_init),
3560         (gst_element_get_state_func), (gst_element_abort_state),
3561         (gst_element_commit_state), (gst_element_lost_state),
3562         (gst_element_set_state), (gst_element_change_state),
3563         (gst_element_change_state_func):
3564         * gst/gstelement.h:
3565         New state change algorithm (see #318116)
3566
3567         * gst/gstpipeline.c: (gst_pipeline_class_init),
3568         (gst_pipeline_init), (gst_pipeline_set_property),
3569         (gst_pipeline_get_property), (do_pipeline_seek),
3570         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3571         * gst/gstpipeline.h:
3572         Remove crude state change hacks.
3573
3574         * gst/gstutils.h:
3575         Remove crude hacks.
3576
3577         * tools/gst-launch.c: (main):
3578         Fixes for state change. Needs some more work to fully use the
3579         new stuff.
3580
3581 2005-10-10  Andy Wingo  <wingo@pobox.com>
3582
3583         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3584
3585         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3586         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3587         issue.
3588
3589 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3590
3591         * gst/gstiterator.c: (gst_iterator_new):
3592           Fix my previous commit: GTypes passed to gst_iterator_new()
3593           can be fundamental types.
3594
3595 2005-10-10  Wim Taymans  <wim@fluendo.com>
3596
3597         * gst/gstelement.c: (gst_element_iterate_pad_list),
3598         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3599         (gst_element_iterate_sink_pads):
3600         Use src/sink pads lists for the respective iterators instead
3601         of filtering.
3602
3603 2005-10-10  Andy Wingo  <wingo@pobox.com>
3604
3605         Merged in popt removal + GOption addition patch from Ronald, bug
3606         #169772.
3607
3608         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3609         GstElement macros around, remove popt-related symbols, add goption
3610         stuff.
3611
3612         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3613         
3614         * docs/gst/Makefile.am:
3615         * docs/libs/Makefile.am: No POPT_CFLAGS.
3616         
3617         * examples/manual/Makefile.am:
3618         * docs/manual/basics-init.xml: Doc updates with an example.
3619         
3620         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3621         (gst_init), (parse_one_option), (parse_goption_arg):
3622         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3623         bit of hand merging and debugging to get the GOption stuff working
3624         tho.
3625         
3626         * tests/Makefile.am:
3627         * tools/Makefile.am:
3628         * tools/gst-inspect.c: (main):
3629         * tools/gst-launch.c: (main):
3630         * tools/gst-run.c: (main):
3631         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3632
3633 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3634
3635         * gst/gstiterator.c: (gst_iterator_new):
3636           Add assertions to make sure passed GType is likely to really
3637           be a GType (as the compiler won't catch it if the size and
3638           GType arguments get mixed up, see #318447).
3639
3640 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3641
3642         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         * gst/gstbin.c: (gst_bin_iterate_sorted):
3645           Pass GType and size arguments to gst_iterator_new() in the right
3646           order (maybe we should make _new() take the GType as first argument
3647           just like _new_list()?) (#318447).
3648           
3649
3650 2005-10-10  Wim Taymans  <wim@fluendo.com>
3651
3652         * gst/gstelement.c: (gst_element_finalize):
3653         And free the GStaticRecMutex too
3654
3655 2005-10-10  Andy Wingo  <wingo@pobox.com>
3656
3657         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3658         Allocate and free the mutex properly.
3659
3660         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3661         New macros.
3662         (GstElement): The state_lock is now recursive. Rebuild your
3663         plugins, suckers. Old macros adapted.
3664
3665         * docs/gst/gstreamer-sections.txt: Doc updates.
3666
3667         * gst/gstutils.h:
3668         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3669         (g_static_rec_cond_wait): Ported from state changes patch, while
3670         we wait on bug #317802 to be solved in a well-distributed GLib.
3671
3672         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3673         gst_element_change_state, variable name changes.
3674         (gst_element_change_state): Split out of gst_element_set_state in
3675         preparation for the state change merge. Doesn't pay attention to
3676         the 'transition' argument.
3677         (gst_element_set_state): Updates, hopefully purely cosmetic.
3678         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3679         state change patch.
3680         (gst_element_get_state_func): Renamed from get_state, cosmetic
3681         changes.
3682
3683 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3684
3685         * gst/elements/gstelements.c:
3686         * win32/GStreamer.vcproj:
3687         * win32/config.h:
3688         * win32/dirent.c: (_tseekdir):
3689         * win32/gst-inspect.vcproj:
3690         * win32/gst-launch.vcproj:
3691         * win32/gstconfig.h:
3692         * win32/gstelements.vcproj:
3693         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3694         * win32/gstreamer.def:
3695         * win32/msvc71.sln:
3696           updates for the win32 build (patch from Sebastien Moutte)
3697
3698 2005-10-10  Andy Wingo  <wingo@pobox.com>
3699
3700         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3701         gst_bin_get_state, cleaned up (but no logic changes).
3702         (bin_element_is_sink): Comment updates.
3703         (sink_iterator_filter): Remove needless cast.
3704         (gst_bin_iterate_sinks): Doc update.
3705         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3706         cleaned up (but no logic changes).
3707
3708         * check/states/sinks.c (test_src_sink): Cleanups from the state
3709         change patch.
3710         (test_livesrc_sink): Sync on the state.
3711
3712         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3713         the state change patch.
3714
3715         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3716         change patch.
3717
3718         * check/gst/gstbin.c: Merge in some style fixes and additional
3719         checks from Wim's state change patch.
3720
3721 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3722
3723         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3724         (gst_type_find_helper):
3725           Check whether we have the requested data already in our list of
3726           cached buffers before pulling a new buffer; also make the buffer
3727           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3728
3729 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3730
3731         * gst/gstcaps.c:
3732         * gst/gstevent.c:
3733           doc updates
3734         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3735           don't use long long, it's not portable.  Replacing with
3736           gint64 seems to work; let's hope no skeletons fall out of the closet.
3737
3738 2005-10-10  Andy Wingo  <wingo@pobox.com>
3739
3740         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3741
3742 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3743
3744         * docs/gst/gstreamer-sections.txt:
3745         * gst/gstevent.c:
3746         * gst/gstevent.h:
3747         * gst/gstinfo.c:
3748         * gst/gstinfo.h:
3749         * gst/gstmessage.c: (gst_message_parse_state_changed):
3750         * gst/gstpad.c:
3751         * gst/gstpad.h:
3752           more docs, fix compilation
3753
3754 2005-10-09  Philippe Khalaf <burger@speedy.org>
3755         * gst/gstmessage.c:
3756           Fixed a few forgotten variables on previous commit
3757
3758 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3759
3760         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3761           Fix evil typefind crasher: getrange() might return a short
3762           buffer at the end of a file, but gst_type_find_peek() must
3763           either return the full data as requested or NULL, but
3764           never a short buffer.
3765
3766 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3767
3768         * gst/gstmessage.c: (gst_message_new_state_changed),
3769         (gst_message_parse_state_changed):
3770         * gst/gstmessage.h:
3771           don't use "new", it's a C++ keyword
3772
3773 2005-10-08  Wim Taymans  <wim@fluendo.com>
3774
3775         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3776         * gst/gstelement.c: (gst_element_post_message):
3777         * gst/gstpipeline.c: (gst_pipeline_change_state):
3778         Small docs and debug updates.
3779
3780 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3781
3782         * docs/gst/gstreamer-sections.txt:
3783         * gst/gstelementfactory.c:
3784         * gst/gstevent.c:
3785         * gst/gsttaglist.c:
3786           more docs
3787
3788 2005-10-08  Wim Taymans  <wim@fluendo.com>
3789
3790         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3791         (gst_bin_dispose), (bin_bus_handler):
3792         Fix typos, add comments.
3793         Clear EOS list when going to PAUSED from any direction and do it
3794         in a threadsafe way.
3795         Get base time in a threadsafe way too.
3796         Fix confusing debug in the change_state function.
3797         Various other small cleanups.
3798         
3799         * gst/gstelement.c: (gst_element_post_message):
3800         Fix very verbose bus posting code.
3801
3802         * gst/gstpipeline.c: (gst_pipeline_class_init),
3803         (gst_pipeline_set_property), (gst_pipeline_get_property),
3804         (gst_pipeline_change_state):
3805         Small ARG_ -> PROP_ cleanup
3806
3807 2005-10-08  Wim Taymans  <wim@fluendo.com>
3808
3809         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3810         Do a less CPU demanding EOS check because we can.
3811
3812 2005-10-08  Wim Taymans  <wim@fluendo.com>
3813
3814         * libs/gst/dataprotocol/dataprotocol.c:
3815         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3816         (gst_dp_packet_from_event):
3817         * libs/gst/dataprotocol/dataprotocol.h:
3818         * libs/gst/dataprotocol/dp-private.h:
3819         It's about time we bump the version number.
3820         Since event types don't fit in the guint8 anymore describing
3821         the payload type, make payload type 16 bits wide.
3822
3823 2005-10-08  Wim Taymans  <wim@fluendo.com>
3824
3825         * docs/design/part-TODO.txt:
3826         * docs/design/part-clocks.txt:
3827         * docs/design/part-events.txt:
3828         * docs/design/part-gstbin.txt:
3829         * docs/design/part-gstelement.txt:
3830         * docs/design/part-gstpipeline.txt:
3831         * docs/design/part-live-source.txt:
3832         * docs/design/part-messages.txt:
3833         * docs/design/part-overview.txt:
3834         * docs/design/part-states.txt:
3835         Many doc updates.
3836
3837 2005-10-08  Wim Taymans  <wim@fluendo.com>
3838
3839         * gst/gstevent.c:
3840         * gst/gstevent.h:
3841         Fix event quark registration.
3842         Add some space between events so we can insert them in the
3843         right groups.
3844
3845 2005-10-08  Wim Taymans  <wim@fluendo.com>
3846
3847         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3848         (gst_base_sink_handle_buffer):
3849         Better log message.
3850
3851         * gst/gstbus.h:
3852         * gst/gstelement.h:
3853         More docs.
3854
3855         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3856         (gst_queue_set_property), (gst_queue_get_property):
3857         * gst/gstqueue.h:
3858         Remove old unused properties.
3859
3860 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3861         * docs/gst/gstreamer-sections.txt:
3862         * gst/gstmessage.c:
3863         * gst/gstmessage.h:
3864         * gst/gstminiobject.c:
3865         * gst/gstminiobject.h:
3866         * gst/gstobject.h:
3867         * gst/gstpad.h:
3868         * gst/gstutils.h:
3869           lots of new docs and doc fixes
3870
3871 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3872
3873         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3874         * gst/gstplugin.h:
3875         * gst/gstregistry.c: (gst_registry_lookup_locked),
3876         (gst_registry_scan_path_level):
3877         * gst/gstregistryxml.c: (load_plugin):
3878           Only ever load one plugin for a given plugin basename.
3879           This ensures correct overriding of GST_PLUGIN_PATH over
3880           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3881           system installed plugins.
3882
3883 2005-10-08  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3886         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3887         Prepare for doing QOS.
3888
3889 2005-10-08  Wim Taymans  <wim@fluendo.com>
3890
3891         * check/gst/gstbin.c: (GST_START_TEST):
3892         * check/pipelines/cleanup.c: (GST_START_TEST):
3893         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3894         Allow new clock message too.
3895
3896 2005-10-08  Wim Taymans  <wim@fluendo.com>
3897
3898         * gst/gstmessage.c: (gst_message_new_error),
3899         (gst_message_new_warning), (gst_message_new_tag),
3900         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3901         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3902         (gst_message_new_segment_start), (gst_message_new_segment_done),
3903         (gst_message_parse_state_changed),
3904         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3905         (gst_message_parse_new_clock):
3906         * gst/gstmessage.h:
3907         Also carry the clock in question.
3908
3909 2005-10-08  Wim Taymans  <wim@fluendo.com>
3910
3911         * gst/gstmessage.c: (gst_message_new_custom),
3912         (gst_message_new_eos), (gst_message_new_error),
3913         (gst_message_new_warning), (gst_message_new_tag),
3914         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3915         (gst_message_new_new_clock), (gst_message_new_segment_start),
3916         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3917         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3918         * gst/gstmessage.h:
3919         Clean up.
3920         Added clock related messages.
3921
3922         * gst/gstpipeline.c: (gst_pipeline_change_state):
3923         Post message when the clock changed.
3924
3925         * tools/gst-launch.c: (event_loop):
3926         Print new clock.
3927
3928 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3929
3930         * tools/gst-inspect.c: (print_element_properties_info):
3931           Can't pass NULL strings to g_print() on windows.
3932
3933 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3934
3935         * docs/Makefile.am:
3936         * docs/gst/Makefile.am:
3937         * docs/gst/gstreamer-docs.sgml:
3938         * docs/gst/running.xml:
3939         * docs/version.entities.in:
3940           add a chapter on running GStreamer.
3941           document GST_DEBUG and GST_PLUGIN* env vars
3942
3943 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3944
3945         * Makefile.am:
3946           remove include dir
3947         * configure.ac:
3948           remove PLUGINS_BUILDDIR stuff
3949         * gst/gst.c: (init_post):
3950           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3951         * idiottest.mak:
3952           remove, it was condescending and not needed
3953
3954 2005-10-08  Wim Taymans  <wim@fluendo.com>
3955
3956         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3957         (gst_base_sink_handle_object), (gst_base_sink_event),
3958         (gst_base_sink_wait), (gst_base_sink_handle_event),
3959         (gst_base_sink_change_state):
3960         * gst/base/gstbasesink.h:
3961         Repost EOS message while going to PLAYING if still EOS.
3962         Make sure that when receiving a FLUSH_START we don't attempt
3963         to sync on the clock anymore.
3964
3965 2005-10-08  Wim Taymans  <wim@fluendo.com>
3966
3967         * tools/gst-launch.c: (event_loop):
3968         Better message printout.
3969
3970 2005-10-08  Wim Taymans  <wim@fluendo.com>
3971
3972         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3973         (gst_bin_child_proxy_get_children_count):
3974         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3975         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3976         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3977         (gst_child_proxy_set_valist):
3978         * gst/parse/grammar.y:
3979         Make ChildProxy threadsafe and fix mem leaks.
3980
3981 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3982
3983         * gst/gst.c: (init_post):
3984           debug the GST_PLUGIN_ env vars
3985
3986 2005-10-08  Wim Taymans  <wim@fluendo.com>
3987
3988         * check/gst/gstbin.c: (GST_START_TEST):
3989         * check/gst/gstmessage.c: (GST_START_TEST):
3990         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3991         * gst/gstelement.c: (gst_element_commit_state),
3992         (gst_element_lost_state):
3993         * gst/gstmessage.c: (gst_message_new_state_changed),
3994         (gst_message_parse_state_changed):
3995         * gst/gstmessage.h:
3996         * tools/gst-launch.c: (event_loop):
3997         Added extra field to STATE_CHANGE message with the pending
3998         state, which will be different from the new state soon.
3999
4000 2005-10-08  Wim Taymans  <wim@fluendo.com>
4001
4002         * gst/gstbus.c: (gst_bus_pop):
4003         * gst/gstclock.c:
4004         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4005         Small cleanups and doc updates.
4006
4007 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4008
4009         * gst/gst.c: (init_pre):
4010         * gst/gstbin.c: (gst_bin_add_func):
4011           log distributing clocks and base time
4012         * gst/gstregistry.c: (gst_registry_add_plugin),
4013         (gst_registry_scan_path_level), (gst_registry_scan_path):
4014           clean up the debugging output a little
4015         * gst/gstutils.c: (gst_element_state_get_name):
4016           warn about a memleak (I've actually seen this be used, though
4017           it was probably a bug)
4018
4019 2005-10-07  Wim Taymans  <wim@fluendo.com>
4020
4021         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4022         (gst_base_src_init), (gst_base_src_default_newsegment),
4023         (gst_base_src_newsegment), (gst_base_src_do_seek),
4024         (gst_base_src_loop), (gst_base_src_start):
4025         * gst/base/gstbasesrc.h:
4026         Make the newsegment event customizable by subclasses.
4027
4028 2005-10-07  Wim Taymans  <wim@fluendo.com>
4029
4030         * gst/gstevent.c: (gst_event_new_buffersize),
4031         (gst_event_parse_buffersize):
4032         * gst/gstevent.h:
4033         New event for future idea.
4034
4035 2005-10-07  Andy Wingo  <wingo@pobox.com>
4036
4037         * gst/gstelement.c (gst_element_post_message): Doc update.
4038
4039         * docs/gst/gstreamer-sections.txt: Update.
4040
4041         * gst/gstmessage.c (gst_message_new_application): Made into a
4042         function like honest API calls.
4043         (gst_message_new_element): New message type.
4044
4045         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4046
4047         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4048         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4049         times.
4050
4051         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4052         NO_PREROLL from gst_element_change_state to fall through.
4053
4054 2005-10-07  Wim Taymans  <wim@fluendo.com>
4055
4056         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4057         (gst_ghost_pad_do_activate_push):
4058         Activating a ghostpad with no internal pad in push mode
4059         is ok.
4060
4061 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4062
4063         * gst/gstobject.h:
4064           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4065           Fixes compilation on Windows.
4066
4067 2005-10-07  Michael Smith <msmith@fluendo.com>
4068
4069         * tools/gst-inspect.c:
4070           Print out feature and plugin count at the end when printing out
4071           all features.
4072
4073 2005-10-04  Michael Smith <msmith@fluendo.com>
4074
4075         * gst/gsterror.c: (_gst_stream_errors_init):
4076           Add another error string used in a few existing plugins.
4077
4078         * gst/gstplugin.c:
4079         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4080         * tools/gst-inspect.c: (print_element_info):
4081           When a feature disappears from a plugin (and the feature exists in
4082           the cached registry file), things went horribly wrong. This isn't a
4083           complete fix, we should actually be removing the 'missing' features
4084           from the features list when we load the actual plugin. That's not
4085           yet implemented. 
4086
4087 2005-10-04  Johan Dahlin  <johan@gnome.org>
4088
4089         * check/gst/gstiterator.c: (GST_START_TEST):
4090         * gst/gstbin.c: (gst_bin_iterate_elements),
4091         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4092         * gst/gstelement.c: (gst_element_iterate_pads):
4093         * gst/gstformat.c: (gst_format_iterate_definitions):
4094         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4095         (gst_iterator_new_list), (gst_iterator_filter):
4096         * gst/gstiterator.h:
4097         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4098         Add a GType to GstIterator, update callsites and tests.
4099
4100 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4101
4102         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4103           give events a chance to be handled by event probes when the pad
4104           is not linked
4105
4106 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4107
4108         * gst/gstevent.c: (gst_event_type_get_name),
4109         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4110         * gst/gstevent.h:
4111           add string representations for event types
4112
4113 2005-10-06  Wim Taymans  <wim@fluendo.com>
4114
4115         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4116         Don't use NULL pointers.
4117
4118 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4119
4120         * gst/gst_private.h:
4121         * gst/gstbus.c:
4122         * gst/gstelement.c:
4123         * gst/gstinfo.c:
4124         * gst/gstpluginfeature.c:
4125           widen the debug category in output to fit the biggest one we have
4126           add a bus category and use it
4127           play with the colors
4128           fix up some categories
4129
4130 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4131
4132         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4133           add push activation of sink ghost pads.
4134           Andye, please verify
4135
4136 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4137
4138         * gst/gstutils.c: (gst_element_link_pads):
4139           fix a bug in the case where neither element has a pad
4140         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4141           add a test for that case
4142
4143 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4144
4145         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4146           emit have-data before checking for peers.  This allows
4147           for probe handlers to connect elements.  This helps autopluggers.
4148         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4149         (gst_pad_suite):
4150           add six checks, linked/unlinked with no/true/false probe
4151
4152 2005-10-04  Wim Taymans  <wim@fluendo.com>
4153
4154         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4155         (gst_fake_sink_event), (gst_fake_sink_preroll),
4156         (gst_fake_sink_render), (gst_fake_sink_change_state):
4157         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4158         (gst_fake_src_get_property), (gst_fake_src_create),
4159         (gst_fake_src_stop):
4160         * gst/elements/gstidentity.c: (gst_identity_stop):
4161         Protect last_message with lock.
4162
4163 2005-10-04  Edward Hervey  <edward@fluendo.com>
4164
4165         * gst/gstformat.h: 
4166         Added precision in the comments for GST_FORMAT_DEFAULT
4167
4168 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4169
4170         * tools/gst-launch.c: (main):
4171           Don't try to run erroneous pipelines.
4172
4173 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4174
4175         * gst/gstbus.c: We don't need this header.
4176
4177 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4178
4179         * configure.ac:
4180           back to development
4181
4182 === release 0.9.3 ===
4183
4184 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4185
4186         * README:
4187         * configure.ac:
4188           Releasing 0.9.3, "Unregistered"
4189
4190 2005-10-03  Andy Wingo  <wingo@pobox.com>
4191
4192         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4193         whereby calling a pad's activatepush() function can start a thread
4194         that starts to push or pull before the pad gets the FLUSHING flag
4195         unset. Hack around it by holding the stream lock until the flag is
4196         set. Need to replace this with a proper solution. Together with
4197         the ghost pad fixes, this fixes mp3 playing/tagreading.
4198
4199         * docs/design/part-gstghostpad.txt: Add a note about activation of
4200         proxy pads outside of ghost pads.
4201
4202         * gst/gstghostpad.c: Implement the ghost pad activation design.
4203
4204 2005-10-02  Andy Wingo  <wingo@pobox.com>
4205
4206         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4207         It is volatile, after all.
4208
4209         * docs/design/part-gstghostpad.txt: Flesh out activation with
4210         ghost pads.
4211
4212         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4213         GST_DEBUG_FUNCPTR.
4214
4215 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4216
4217         * configure.ac:
4218           Fix (unused) AM_CONDITIONAL tests.
4219
4220 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4221
4222         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4223
4224         * gst/gstutils.c: (gst_pad_query_convert):
4225           Add assertion that makes sure src_val is >=0, just like
4226           gst_query_new_convert() has. (#315895)
4227
4228 2005-09-30  Edward Hervey  <edward@fluendo.com>
4229
4230         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4231         Let's not iterate pads we're not interested in, it avoids getting 
4232         sky-high refcounts on sinkpad.
4233
4234 2005-09-30  Wim Taymans  <wim@fluendo.com>
4235
4236         * gst/gstelement.c: (gst_element_set_state),
4237         (gst_element_change_state):
4238         Small tweak, element in ASYNC remains ASYNC.
4239
4240 2005-09-30  Wim Taymans  <wim@fluendo.com>
4241
4242         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4243         Only error is an error.
4244
4245         * gst/gstbin.c: (gst_bin_change_state):
4246         Better debugging.
4247
4248         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4249         Also call pad_block in pad alloc.
4250
4251         * gst/gstutils.c: (gst_flow_get_name):
4252         Better debugging.
4253
4254 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4255
4256         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4257         (gst_base_src_get_range):
4258           Fix documentation typos. Add some more debug info.
4259
4260 2005-09-29  David Schleef  <ds@schleef.org>
4261
4262         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4263           more end-user friendly.
4264         * tools/gst-inspect.c: (main): Check if command-line argument is
4265           a file and attempt to load that file as a plugin.
4266
4267 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4268
4269         * check/gst/gstbin.c:
4270         * check/states/sinks.c:
4271           fix tests for the new warning
4272         * check/gst/gstpipeline.c:
4273           add a test for pipeline and bus interaction
4274         * gst/gstelement.c:
4275           elements should be NULL if they get disposed; add a warning if not
4276
4277 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4278
4279         * gst/gstobject.c:
4280           for 2.6 refcounting, make debug log more correct by printing
4281           the actual refcounts at the time of swap (Wim)
4282
4283 2005-09-29  Andy Wingo  <wingo@pobox.com>
4284
4285         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4286         removes signal watches previously added via
4287         gst_bus_add_signal_watch.
4288         (gst_bus_add_signal_watch): Don't return the source id, just store
4289         it on the bus if there wasn't an id already.
4290
4291         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4292         add_signal_watch and remove_signal_watch.
4293
4294 2005-09-29  Edward Hervey  <edward@fluendo.com>
4295
4296         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4297         Better if we actually iterate the list :)
4298
4299 2005-09-29  Wim Taymans  <wim@fluendo.com>
4300
4301         * check/gst/gstbin.c: (GST_START_TEST):
4302         Change for new bus API.
4303
4304         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4305         (send_messages), (GST_START_TEST), (gstbus_suite):
4306         Change for new bus signal API.
4307
4308         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4309         (gst_bus_source_prepare), (gst_bus_source_check),
4310         (gst_bus_create_watch), (gst_bus_add_watch_full),
4311         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4312         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4313         * gst/gstbus.h:
4314         Remove support for multiple GSources operating on different
4315         message types as it is too complex and unneeded when using
4316         signals.
4317         Added support for receiving signals from the bus.
4318
4319 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4320
4321         * docs/libs/tmpl/gstdataprotocol.sgml:
4322         * docs/manual/advanced-dataaccess.xml:
4323         * gst/elements/gstcapsfilter.c:
4324         * gst/gstutils.c:
4325           rename filter-caps to caps property
4326
4327 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4328
4329         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4330           More robust fraction string parsing.
4331
4332         * docs/pwg/appendix-porting.xml:
4333           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4334
4335 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4336
4337         * gst/gstcaps.c: (gst_caps_do_simplify):
4338           Thou shalt not free a structure and then continue using it
4339           in the next loop iteration.
4340
4341         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4342         (gst_caps_suite):
4343           Add test case for caps simplification.
4344
4345 2005-09-29  Wim Taymans  <wim@fluendo.com>
4346
4347         * check/gst/gstbin.c: (GST_START_TEST):
4348         Oops.
4349
4350 2005-09-29  Wim Taymans  <wim@fluendo.com>
4351
4352         * check/gst/gstbin.c: (GST_START_TEST):
4353         Add bus to bin.
4354
4355         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4356         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4357         (find_element), (gst_bin_sort_iterator_next),
4358         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4359         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4360         (gst_bin_change_state), (gst_bin_dispose):
4361         A bin does not have a bus, it gets the bus from the parent.
4362
4363         * gst/gstelement.c: (gst_element_requires_clock),
4364         (gst_element_provides_clock), (gst_element_is_indexable),
4365         (gst_element_is_locked_state), (gst_element_change_state),
4366         (gst_element_set_bus_func):
4367         Small cleanups.
4368
4369         * gst/gstpipeline.c: (gst_pipeline_class_init),
4370         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4371         The pipeline provides a bus.
4372
4373 2005-09-28  Johan Dahlin  <johan@gnome.org>
4374
4375         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4376         gst_structure_get_enum instead of gst_structure_get_int
4377
4378         * gst/gststructure.c (gst_structure_get_enum): Impl.
4379
4380         * gst/gststructure.h (gst_structure_get_enum): Add
4381
4382         * docs/gst/gstreamer-sections.txt: Ditto
4383
4384         * gst/gstmessage.c (gst_message_new_state_changed): Use
4385         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4386         which does introspection.
4387         Reviewed by Christian Schaller
4388
4389 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4390
4391         * gst/gstinfo.c: (gst_debug_log_default):
4392           don't do dummy g_strdup()s
4393         * libs/gst/controller/gstcontroller.c:
4394         (on_object_controlled_property_changed),
4395         (gst_controlled_property_new), (gst_controller_new_valist),
4396         (gst_controller_new_list),
4397         (gst_controller_remove_properties_valist), (gst_controller_set),
4398         (gst_controller_get), (gst_controller_sync_values),
4399         (gst_controller_get_value_array), (_gst_controller_class_init),
4400         (gst_controller_get_type):
4401         * libs/gst/controller/gstcontroller.h:
4402         * libs/gst/controller/gstinterpolation.c:
4403         (gst_controlled_property_find_timed_value_node):
4404           convert // to /**/ comments
4405
4406 2005-09-28  Wim Taymans  <wim@fluendo.com>
4407
4408         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4409         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4410         (gst_bus_sync_signal_handler):
4411         * gst/gstbus.h:
4412         Added async-message and sync-message signals to the bus.
4413         Added helper BusFunc to emit signals for all posted messages.
4414
4415         * gst/gstmessage.c: (gst_message_type_get_name),
4416         (gst_message_type_to_quark), (gst_message_get_type):
4417         * gst/gstmessage.h:
4418         Register quarks for message names.
4419
4420 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4421
4422         * docs/libs/gstreamer-libs-sections.txt:
4423         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4424         (gst_controller_new_list):
4425         * libs/gst/controller/gstcontroller.h:
4426           added another constructor for language bindings
4427
4428 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4429
4430         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4431           add another check
4432         * gst/gstbus.c:
4433           add some doc
4434         * gst/gstinfo.c: (_gst_debug_init):
4435           slightly more readable color for refcount debugging
4436
4437 2005-09-28  Wim Taymans  <wim@fluendo.com>
4438
4439         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4440         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4441         (find_element), (gst_bin_sort_iterator_next),
4442         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4443         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4444         (gst_bin_change_state), (gst_bin_dispose):
4445         Small doc fixes. get_clock -> provide_clock.
4446
4447         * gst/gstelement.c: (gst_element_class_init),
4448         (gst_element_provides_clock), (gst_element_provide_clock),
4449         (gst_element_get_clock), (gst_element_commit_state),
4450         (gst_element_lost_state):
4451         * gst/gstelement.h:
4452         Make get/set_clock() symetric. Add provide_clock vmethod since
4453         that is actually what this function does.
4454
4455         * gst/gstpipeline.c: (gst_pipeline_class_init),
4456         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4457         (gst_pipeline_get_clock):
4458         get_clock -> provide_clock.
4459
4460 2005-09-28  Andy Wingo  <wingo@pobox.com>
4461
4462         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4463         lieu of real docs...
4464
4465         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4466
4467 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4468
4469         * gst/elements/gstcapsfilter.c:
4470         * gst/elements/gstfakesink.c:
4471         * gst/elements/gstfakesrc.c:
4472         * gst/elements/gstfdsink.c:
4473         * gst/elements/gstfdsrc.c:
4474         * gst/elements/gstfilesink.c:
4475         * gst/elements/gstfilesrc.c:
4476         * gst/elements/gstidentity.c:
4477         * gst/elements/gsttee.c:
4478         * gst/elements/gsttypefindelement.c:
4479           Make element details static.
4480
4481 2005-09-28  Wim Taymans  <wim@fluendo.com>
4482
4483         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4484         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4485         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4486         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4487         (gst_bin_change_state), (gst_bin_dispose):
4488         Some documentation updates.
4489         Clean up dispose handlers.
4490
4491         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4492         * gst/gstpad.c: (gst_pad_dispose):
4493         Clean up dispose handler.
4494
4495         * gst/gstpipeline.c: (gst_pipeline_change_state):
4496         Removed spurious UNLOCK.
4497
4498 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4499
4500         * docs/gst/gstreamer-sections.txt:
4501         * gst/base/gstbasesrc.h:
4502         * gst/gstelement.h:
4503         * gst/gstevent.h:
4504         * gst/gstobject.h:
4505         * gst/gstpad.h:
4506         * gst/gstpipeline.c:
4507         * gst/gstpipeline.h:
4508         * gst/gstutils.h:
4509         * gst/gstxml.h:
4510           added two new functions to the docs
4511                 documents all undocumented GstXXXFlags
4512                 completed some incomplete docs 
4513
4514 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4515
4516         * gst/gstbin.c: (gst_bin_dispose):
4517         * gst/gstelement.c: (gst_element_dispose):
4518           remove now useless and leaky resurrection code in dispose
4519         * gst/base/gstbasesrc.c: (gst_base_src_init):
4520         * gst/gstelementfactory.c: (gst_element_factory_create):
4521         * gst/gstobject.c: (gst_object_set_parent):
4522           add some debugging
4523
4524 2005-09-27  Wim Taymans  <wim@fluendo.com>
4525
4526         * docs/design/part-TODO.txt:
4527         Update TODO.
4528
4529         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4530         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4531         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4532         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4533         (gst_bin_change_state):
4534         * gst/gstelement.h:
4535         Remove element variable, we keep element info in the iterator now.
4536
4537 2005-09-27  Andy Wingo  <wingo@pobox.com>
4538
4539         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4540         values.
4541
4542 2005-09-27  Wim Taymans  <wim@fluendo.com>
4543
4544         * check/gst/gstbin.c: (GST_START_TEST):
4545         Enable check that works now.
4546
4547         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4548         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4549         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4550         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4551         (gst_bin_change_state):
4552         * gst/gstbin.h:
4553         Redid the state change algorithm using a topological sort algo.
4554         Handles all cases correctly.
4555         Exposed iterator for state change order.
4556
4557         * gst/gstelement.h:
4558         Temp storage for state changes. Need to get rid of this soon.
4559
4560 2005-09-27  Wim Taymans  <wim@fluendo.com>
4561
4562         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4563         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4564         (link_fold_func), (gst_pad_proxy_setcaps):
4565         Leak fixes, the fold functions need to unref the passed object and
4566         _get_parent_*() returns ref to parent.
4567
4568 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4569
4570         * check/gst/gstbuffer.c: (test_make_writable):
4571           Plug leak in test case and fix 'make check-valgrind'
4572
4573 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4574
4575         * gst/gstbuffer.c: (gst_subbuffer_init):
4576           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4577           works correctly in all circumstances (we could have just copied
4578           the parent buffer's readonly flag, but conceptually it seems
4579           cleaner to mark all subbuffers as read-only). (based on patch
4580           by Alessandro Decina, #314710).
4581         
4582         * check/gst/gstbuffer.c: (create_read_only_buffer),
4583         (test_make_writable), (test_subbuffer_make_writable),
4584         (gst_test_suite):
4585           Add some tests for gst_buffer_make_writable().
4586
4587 2005-09-27  Wim Taymans  <wim@fluendo.com>
4588
4589         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4590         use gst_object_has_ancestor().
4591
4592         * gst/gstobject.c: (gst_object_has_ancestor):
4593         * gst/gstobject.h:
4594         gst_object_has_ancestor() copied from gstbin.c as it is a
4595         usefull function.
4596
4597         * tests/instantiate/create.c: (create_all_elements):
4598         * tests/lat.c: (handoff_src), (handoff_sink):
4599         * tests/sched/runxml.c: (main):
4600         * tests/seeking/seeking1.c: (main):
4601         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4602         (main):
4603         Fix compilation of some tests.
4604
4605 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4606
4607         * gst/gsterror.h:
4608           Remove comment. GST_TYPE_G_ERROR is here to stay,
4609           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4610           (#316961, #300610).
4611
4612 2005-09-26  Wim Taymans  <wim@fluendo.com>
4613
4614         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4615         Added check that shows error in state change order.
4616
4617 2005-09-26  Wim Taymans  <wim@fluendo.com>
4618
4619         * gst/gstbin.c: (gst_bin_change_state):
4620         Make state change function use 3 queues again, we were
4621         adding elements in the wrong order.
4622
4623         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4624         Some debug info,
4625
4626         * gst/gstpad.c: (gst_pad_dispose):
4627         Added some debug info first.
4628
4629 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4630
4631         * docs/design/draft-push-pull.txt:
4632         * docs/design/part-events.txt:
4633         * docs/design/part-overview.txt:
4634         * docs/design/part-scheduling.txt:
4635           Replace all _pull_region() with _pull_range()
4636           
4637 2005-09-26  Andy Wingo  <wingo@pobox.com>
4638
4639         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4640
4641         * check/gst-libs/controller.c: Update for controller api change.
4642
4643         * configure.ac: 
4644         * tests/Makefile.am:
4645         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4646         over by GLib bug 118439.
4647         
4648         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4649         routines to a function.
4650
4651         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4652
4653         * libs/gst/controller/gsthelper.c:
4654         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4655         (gst_object_sync_values): Renamed from sink_values. Ugh.
4656
4657         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4658
4659         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4660         Renamed from controller_key, as it is exported.
4661
4662         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4663
4664 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4665
4666         * gst/Makefile.am:
4667         * gst/gst.h:
4668         * gst/gstpad.h:
4669         * gst/gstpadtemplate.h:
4670         * gst/gstquery.c:
4671         * gst/gstquery.h:
4672         * gst/gstqueryutils.c:
4673         * gst/gstqueryutils.h:
4674           remove queryutils headers after moving the two used functions
4675           to gstquery.  also fixes build problem for gstsiddec
4676
4677 2005-09-26  Michael Smith <msmith@fluendo.com>
4678
4679         * tools/gst-launch.1.in:
4680         Correct documentation in manpage of debug syntax
4681
4682 2005-09-26  Wim Taymans  <wim@fluendo.com>
4683
4684         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4685         (gst_base_src_is_seekable), (gst_base_src_change_state):
4686         Some more debugging info.
4687
4688 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4689
4690         * docs/gst/gstreamer-sections.txt:
4691         * gst/base/gstbasetransform.h:
4692         * gst/gstindex.h:
4693           added more docs
4694
4695 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4696
4697         * docs/gst/.cvsignore:
4698         * docs/gst/tmpl/.cvsignore:
4699         * docs/gst/tmpl/gstpipeline.sgml:
4700         * docs/gst/tmpl/gstplugin.sgml:
4701         * gst/gstpipeline.c:
4702         * gst/gstplugin.c:
4703         * gst/gstplugin.h:
4704           inlined the last two docs files
4705           removed the tmpl directory from cvs (no more conflicts here!)
4706
4707 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4708
4709         * docs/gst/gstreamer-sections.txt:
4710         * docs/gst/tmpl/.cvsignore:
4711         * docs/gst/tmpl/gstpad.sgml:
4712         * docs/gst/tmpl/gstpadtemplate.sgml:
4713         * gst/Makefile.am:
4714         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4715         (gst_pad_finalize), (gst_pad_set_pad_template):
4716         * gst/gstpad.h:
4717         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4718         (gst_pad_template_class_init), (gst_pad_template_init),
4719         (gst_pad_template_dispose), (name_is_valid),
4720         (gst_static_pad_template_get), (gst_pad_template_new),
4721         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4722         (gst_pad_template_pad_created):
4723         * gst/gstpadtemplate.h:
4724           inlined two more docs
4725           factored gstpadtemplate out of gstpad
4726
4727 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4728
4729         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4730         (test_children_state_change_order_semi_sink):
4731           Fix test case: we can't rely on a fixed state change order when
4732           going from READY => PAUSED because the sink might commit its 
4733           new state first when the first buffer created by the source 
4734           reaches the sink before the source has finished its change state.
4735           (Test case still fails at times, see #316856, comment 5 onwards)
4736
4737 2005-09-24  Wim Taymans  <wim@fluendo.com>
4738
4739         * docs/design/part-events.txt:
4740         * docs/design/part-gstbus.txt:
4741         * docs/design/part-gstpipeline.txt:
4742         * docs/design/part-messages.txt:
4743         * docs/design/part-overview.txt:
4744         * docs/design/part-segments.txt:
4745         * gst/gstbin.c:
4746         * gst/gstbuffer.c:
4747         * gst/gstclock.c:
4748         * gst/gstelement.c:
4749         * gst/gstevent.c:
4750         * gst/gstfilter.c:
4751         * gst/gstiterator.c:
4752         Various documentation updates.
4753
4754 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4755
4756         * gst/gstclock.h:
4757           Well, that's embarassing.  Luckily we weren't using
4758           GST_CLOCK_DIFF anywhere.
4759
4760 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4761
4762         * common/gtk-doc.mak:
4763           don't fail on building XML, FC4 slave shows a bunch of doc
4764           missing bits that I don't get
4765         * gst/gstpad.c:
4766         * gst/gstpipeline.c:
4767         * gst/gststructure.c:
4768           some doc updates
4769
4770 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4771
4772         * docs/design/part-gstbin.txt:
4773         * docs/design/part-gstbus.txt:
4774         * gst/gstbus.c:
4775           Add blurb about how the bus goes into flushing mode and
4776           drops all messages when its bin goes from READY into NULL 
4777           state.
4778
4779 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4780
4781         * docs/gst/gstreamer-sections.txt:
4782         * gst/gststructure.c: (gst_structure_get_clock_time):
4783         * gst/gststructure.h:
4784           add a method to get a GstClockTime out of a structure
4785
4786 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4787
4788         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4789         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4790           Added test to check state change order in bins (can still be made
4791           to fail here under heavy disk load; bails out with 'Push on pad
4792           fakesink:sink0, but it was not activated in push mode').
4793
4794         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4795           Fix state change order when there is only a semi sink (#316856)
4796
4797         * gst/gstbus.c: (gst_bus_class_init):
4798           Use _class_peek_parent(), not _class_ref(); fix docs to say
4799           'default main context' instead of 'mainloop' where that is
4800           what's meant.
4801
4802         * gst/gstelement.c: (gst_element_commit_state),
4803         (gst_element_set_state):
4804           Fix typos in debug messages
4805
4806 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4807
4808         * docs/README:
4809         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4810         * gst/gstpluginfeature.c:
4811         * gst/gstutils.c:
4812           various doc updates
4813         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4814           change an assert into an error until it gets fixed properly
4815
4816 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4817
4818         * docs/gst/gstreamer-sections.txt:
4819         * docs/gst/tmpl/.cvsignore:
4820         * docs/gst/tmpl/gstelement.sgml:
4821         * docs/gst/tmpl/gstinfo.sgml:
4822         * docs/gst/tmpl/gstobject.sgml:
4823         * gst/gstelement.c:
4824         * gst/gstelement.h:
4825         * gst/gstinfo.c:
4826         * gst/gstinfo.h:
4827         * gst/gstobject.c: (gst_object_class_init):
4828         * gst/gstobject.h:
4829           inlined 3 more biiiig doc files and added some missing docs on the fly
4830
4831 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4832
4833         * check/gst/.cvsignore:
4834         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4835         * gst/gstregistryxml.c: (load_plugin),
4836         (gst_registry_xml_save_plugin):
4837           put back source in registry.  add checks for find_plugin.
4838         * testsuite/states/bin.c: (assert_state), (empty_bin),
4839         (test_adding_one_element), (main):
4840         * testsuite/states/locked.c: (main):
4841           some compile/run fixes
4842
4843 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4844
4845         * check/gst/gstvalue.c: (GST_START_TEST):
4846           fix leaks in the test itself
4847
4848 2005-09-22  Wim Taymans  <wim@fluendo.com>
4849
4850         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4851         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4852         (gst_base_sink_query):
4853         Prepare for more accurate position reporting and query
4854         handling.
4855
4856         * gst/gstelement.c: (gst_element_send_event),
4857         (gst_element_set_state):
4858         Add some comment.
4859
4860 2005-09-22  Wim Taymans  <wim@fluendo.com>
4861
4862         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4863         (gst_query_parse_segment):
4864         * gst/gstquery.h:
4865         More documentation.
4866         Add segment query for future use.
4867
4868 2005-09-22  Wim Taymans  <wim@fluendo.com>
4869
4870         * gst/gstbin.c: (gst_bin_add_func):
4871         Some more debug info.
4872
4873         * gst/gstelement.c: (gst_element_send_event):
4874         Simplify send_event
4875
4876         * gst/gstelement.h:
4877         Don't know how flags got broken.
4878
4879         * gst/gstquery.h:
4880         Added new query.
4881
4882 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4883
4884         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4885           Add simplistic test suite for GST_TYPE_DATE serialisation and
4886           deserialisation.
4887
4888 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4889
4890         * docs/gst/gstreamer-sections.txt:
4891         * gst/gststructure.c: (gst_structure_set_valist),
4892         (gst_structure_get_date):
4893         * gst/gststructure.h:
4894         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4895         (gst_date_copy), (gst_value_compare_date),
4896         (gst_value_serialize_date), (gst_value_deserialize_date),
4897         (gst_value_transform_date_string),
4898         (gst_value_transform_string_date), (_gst_value_initialize):
4899         * gst/gstvalue.h:
4900           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4901           bunch of utility functions along with a hack that checks that
4902           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4903           is required. Part of the grand scheme in #170777.
4904
4905 2005-09-22  Andy Wingo  <wingo@pobox.com>
4906
4907         * gst/gstconfig.h.in: Psych out gtk-doc.
4908
4909         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4910
4911         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4912
4913         * tools/gst-inspect.c (print_element_list): Plug some
4914         inconsequential leaks.
4915
4916         * gst/gstregistry.c (gst_registry_get_default): Doc.
4917
4918         * check/gst/gstplugin.c: 
4919         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4920         * gst/gstelementfactory.c (gst_element_factory_create): 
4921         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4922         refcount changes.
4923
4924         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4925         (gst_plugin_feature_load): Doc, don't eat refs.
4926
4927         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4928         (gst_plugin_list_free): Doc.
4929         (gst_plugin_load_file): Doc updates.
4930
4931         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4932         accessors returning refcounted objects, return a ref.
4933
4934         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4935         accessor for caps. IDEMPOTENCE. Oh yes.
4936
4937 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4938
4939         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4940
4941         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4942         (_gst_debug_register_funcptr):
4943           Add mutex to serialise access to the hash table with
4944           the function pointer => function name string mapping;
4945           make that hash table static scope (#316809).
4946
4947         * gst/registries/.cvsignore:
4948           Remove left-over file.
4949
4950 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4951
4952         * docs/pwg/appendix-porting.xml:
4953           And something about newsegment events and caps-on-buffers to
4954           the porting guide (feel free to improve).
4955
4956 2005-09-21  Andy Wingo  <wingo@pobox.com>
4957
4958         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4959         data and event probes on the same pad.
4960         (test_buffer_probe_once): Test that removing probes from within
4961         the probe functions works.
4962
4963 2005-09-21  Andy Wingo  <wingo@pobox.com>
4964
4965         * check/gst/gstutils.c: New file.
4966         (test_buffer_probe_n_times): A simple buffer probe test. More to
4967         come, foolios.
4968
4969         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4970         have-data::buffer, not have-data.
4971         (gst_pad_add_event_probe): Likewise for have-data::event.
4972         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4973         peer' isn't quite right yet though.
4974         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4975         (gst_pad_remove_data_probe): Change to take the guint handler_id
4976         as their arg, not the function+data, which is more glib-like.
4977
4978         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4979         the signal emission to indicate if the data is a buffer or an
4980         event.
4981         (gst_pad_get_type): Initialize buffer and event quarks.
4982         (gst_pad_class_init): have-data is now a detailed signal, yes it
4983         is.
4984
4985 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4986
4987         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4988         * gst/gstutils.c: (gst_util_set_value_from_string),
4989         (gst_util_set_object_arg):
4990           Don't put functional code in g_return_if_fail() or
4991           g_return_val_if_fail() statements, otherwise things will 
4992           break when G_DISABLE_CHECKS is defined during compilation.
4993
4994 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4995
4996         * docs/gst/tmpl/.cvsignore:
4997         * docs/gst/tmpl/gstvalue.sgml:
4998         * gst/gstvalue.c:
4999         * gst/gstvalue.h:
5000           inlied another one and added  some obvious docs
5001
5002 2005-09-21  Wim Taymans  <wim@fluendo.com>
5003
5004         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5005         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5006         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5007         (gst_fdsrc_get_property), (gst_fdsrc_create):
5008         * gst/elements/gstfdsrc.h:
5009         Properly implement fdsrc. Removed signal and timeout,
5010         better implemented somewhere else.
5011
5012 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5013
5014         * docs/gst/tmpl/.cvsignore:
5015         * docs/gst/tmpl/gstimplementsinterface.sgml:
5016         * gst/gstinterface.c:
5017           inlined more docs
5018
5019 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5020
5021         * docs/gst/gstreamer-sections.txt:
5022         * docs/gst/tmpl/.cvsignore:
5023         * docs/gst/tmpl/gstenumtypes.sgml:
5024           remove obsolete doc file
5025
5026 2005-09-21  David Schleef  <ds@schleef.org>
5027
5028         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5029         little beer, fix a little leak.
5030
5031 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5032
5033         * docs/gst/gstreamer-docs.sgml:
5034         * docs/gst/gstreamer-sections.txt:
5035         * docs/gst/tmpl/.cvsignore:
5036         * gst/Makefile.am:
5037         * gst/gst.h:
5038         * gst/gstbin.c:
5039         * gst/gstelement.h:
5040         * gst/gstindex.c: (gst_index_class_init):
5041         * gst/gstindex.h:
5042         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5043         (gst_index_factory_class_init), (gst_index_factory_init),
5044         (gst_index_factory_finalize), (gst_index_factory_new),
5045         (gst_index_factory_destroy), (gst_index_factory_find),
5046         (gst_index_factory_create), (gst_index_factory_make):
5047         * gst/gstindexfactory.h:
5048         * gst/gstpluginfeature.c:
5049         * gst/gstpluginfeature.h:
5050         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5051           more docs inlined, splitted gstindex.{c,h}
5052
5053 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5054
5055         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5056           fix a leak
5057
5058 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5059
5060         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5061           Set sync to FALSE by default.
5062
5063 2005-09-20  Wim Taymans  <wim@fluendo.com>
5064
5065         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5066         (gst_base_sink_init):
5067         Make sync property settable from subclass.
5068
5069         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5070         (gst_fake_sink_change_state):
5071         Set sync to FALSE by default.
5072
5073 2005-09-20  Wim Taymans  <wim@fluendo.com>
5074
5075         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5076         * tools/gst-launch.c: (main):
5077         The timeout handler should have lower priority than the source
5078         so we don't timeout before popping a message with 0 timeout.
5079         Dump error messages after failed state change.
5080
5081 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5082
5083         * tools/gst-inspect.c: (print_element_properties_info):
5084           Fix two typos.
5085
5086 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5087
5088         * check/gst/gstevent.c:
5089         * gst/elements/gstfakesink.c:
5090         * gst/elements/gstfakesink.h:
5091           remove the sync property from fakesink.
5092           has the side effect of setting sync TRUE
5093           for fakesink, which is a change.  Anyone who knows how
5094           to fix this nicely in a GObject-y way, feel free.
5095
5096 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5097
5098         * docs/gst/gstreamer-docs.sgml:
5099           remove probe refsection
5100
5101 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5102
5103         * check/Makefile.am:
5104           disable valgrinding the controller test again
5105         * docs/gst/gstreamer-sections.txt:
5106           update for api-changes
5107
5108 2005-09-20  Wim Taymans  <wim@fluendo.com>
5109
5110         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5111         (gst_base_sink_set_property), (gst_base_sink_get_property),
5112         (gst_base_sink_do_sync):
5113         * gst/base/gstbasesink.h:
5114         Added sync property to basesink to disable clock sync.
5115
5116 2005-09-20  Andy Wingo  <wingo@pobox.com>
5117
5118         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5119         eating the caller's refcount.
5120
5121         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5122         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5123         refcount.
5124
5125         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5126         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5127         of GLib 2.8 public, so we can know which refcount to check in
5128         tests.
5129
5130         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5131         (gst_object_init): Only set the gst refcount if we're going ahead
5132         with the refcount hack.
5133
5134 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5135
5136         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5137         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5138           more leaks plumbed, added more debug-logging
5139         * gst/gstmacros.h:
5140           whitespace fix
5141
5142 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5143
5144         * gst/gstmessage.c:
5145           remove include of gstmemchunk.h
5146
5147 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5148
5149         * gst/gstclock.c: (_gst_clock_id_free):
5150           Commit from the Political Party For More Atomic CVS Commits,
5151           so that people don't waste too much of their day fishing
5152           out obvious leaks out of massive commits.
5153           Oh, and fix a pretty damn obvious leak in the memchunk
5154           removal code.
5155
5156 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5157
5158         * check/Makefile.am:
5159         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5160           plug mem-leak, re-add to valgrindable tests
5161
5162 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5163
5164         * gst/gstplugin.h:
5165           unbreak the build for those who have chronic arthritis
5166           and typing "make check" is just too taxing on the hands
5167
5168 2005-09-20  Andy Wingo  <wingo@pobox.com>
5169
5170         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5171         really want it out, you should fix plugins at the same time.
5172
5173 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5174
5175         * configure.ac:
5176         * docs/gst/gstreamer-sections.txt:
5177         * gst/gstobject.c:
5178           added missing symbols to api docs
5179           disable ref-count hack if we have glib >= 2.8
5180
5181 2005-09-19  David Schleef  <ds@schleef.org>
5182
5183         * docs/gst/Makefile.am: Ignore a few more internal headers
5184         * docs/gst/gstreamer-docs.sgml: Remove old sections
5185         * docs/gst/gstreamer-sections.txt: Remove old sections
5186         * docs/gst/tmpl/gstobject.sgml: update
5187         * docs/gst/tmpl/gstplugin.sgml: update
5188         * docs/gst/tmpl/gstpluginfeature.sgml: update
5189         * docs/random/ds/0.9-suggested-changes: update.
5190         * gst/Makefile.am: remove memchunk and trashstack, since they're
5191           not used.
5192         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5193         * gst/gst.h: don't include some headers
5194         * gst/gstchildproxy.c: add gstmarshal.h
5195         * gst/gstclock.c: Don't use memchunks
5196         * gst/gstminiobject.c: Add some docs
5197         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5198         * gst/gstobject.h: same
5199         * gst/gstplugin.c: include gstmacros.h
5200         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5201         * gst/gstquery.c: don't use memchunks
5202         * gst/gstregistry.c: rename gst_registry_deinit()
5203         * gst/gstregistry.h: same
5204
5205 2005-09-19  David Schleef  <ds@schleef.org>
5206
5207         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5208         * docs/libs/gstreamer-libs-sections.txt:
5209         * docs/libs/tmpl/gstgetbits.sgml:
5210         * docs/libs/tmpl/gstputbits.sgml:
5211
5212 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5213
5214         * win32/gstenumtypes.c:
5215         * win32/gstenumtypes.h:
5216           Update.
5217
5218 2005-09-19  Wim Taymans  <wim@fluendo.com>
5219
5220         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5221         Automatically PAUSE and RESUME a pipeline when a flushing seek
5222         is performed.
5223
5224 2005-09-19  Andy Wingo  <wingo@pobox.com>
5225
5226         * gst/gstregistry.h: Spacing fixen.
5227
5228 2005-09-19  Wim Taymans  <wim@fluendo.com>
5229
5230         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5231         Handle state change failure more correctly.
5232
5233 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5234
5235         * check/Makefile.am:
5236         * check/pipelines/cleanup.c: (run_pipeline):
5237         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5238         (GST_START_TEST):
5239           enable cleanup again after fixing the leak
5240         * docs/README:
5241           some more info on docs
5242
5243 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5244
5245         * check/Makefile.am:
5246           re-enable tests now that leaks are plugged
5247         * check/gst/gst.c:
5248         * check/gst/gstbin.c:
5249         * check/gst/gstpipeline.c:
5250           add some more tests while fixing leaks
5251         * common/check.mak:
5252           make sure binaries are uptodate when valgrinding/gdbing
5253         * gst/gst.c:
5254         * gst/gstelementfactory.c:
5255           remove a ref too many, and add a FIXME for when we get
5256           round to disposing of classes
5257         * gst/gstplugin.c:
5258           fix the refcounting when loading a plugin from a file and
5259           the code pretends that the pointer is the same even though
5260           of course it can change
5261         * gst/gstpluginfeature.c:
5262           unref plugins marked cached (a bit confusing as a name)
5263           as the docs state should be done
5264           various doc additions to explain refcounting
5265         * gst/gstregistry.c:
5266         * gst/gstregistryxml.c:
5267           debugging
5268
5269 2005-09-19  Wim Taymans  <wim@fluendo.com>
5270
5271         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5272         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5273         (send_messages), (GST_START_TEST), (gstbus_suite):
5274         * check/gst/gstpipeline.c: (GST_START_TEST):
5275         * check/pipelines/cleanup.c: (run_pipeline):
5276         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5277         (GST_START_TEST):
5278         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5279         (gst_bus_source_check), (gst_bus_source_dispatch),
5280         (gst_bus_create_watch), (gst_bus_add_watch_full),
5281         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5282         * gst/gstbus.h:
5283         * tools/gst-launch.c: (event_loop):
5284         * tools/gst-md5sum.c: (event_loop):
5285         GstBusHandler -> GstBusFunc, return value has the same meaning as
5286         any other GSource (FALSE == remove source).
5287         _add_watch() and _add_watch_full() now take a MessageType mask to
5288         only handle specific types of messages.
5289         _poll() returns the GstMessage instead of the message type to avoid
5290         race conditions.
5291         _have_pending() takes a MessageType mask now too.
5292         Added testsuite for multiple bus watches.
5293         Fix testsuites and applications for new bus API.
5294
5295 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5296
5297         * check/Makefile.am:
5298           mark a bunch of the tests as to fix until we fix them
5299
5300 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5301
5302         * common/check.mak:
5303           use GST_PLUGIN settings for valgrind tests as well, so we're
5304           valgrinding the correct thing
5305         * gst/gst.c: (init_post):
5306           plug another leak
5307
5308 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5309
5310         * gst/gst.c: (init_post), (gst_deinit):
5311         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5312         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5313         * gst/gstindex.c: (gst_index_factory_class_init),
5314         (gst_index_factory_finalize):
5315         * gst/gstobject.c: (gst_object_dispose):
5316         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5317         (gst_plugin_load_file), (gst_plugin_desc_free):
5318         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5319         (gst_plugin_feature_finalize):
5320         * gst/gstregistry.c: (gst_registry_class_init),
5321         (gst_registry_init), (gst_registry_finalize),
5322         (gst_registry_get_default), (gst_registry_deinit):
5323         * gst/gstregistry.h:
5324         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5325           various cleanups and memleak plugging.  make valgrind is happy now.
5326
5327 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5328
5329         * common/check.mak:
5330           add a check-valgrind target
5331
5332 2005-09-18  David Schleef  <ds@schleef.org>
5333
5334         * tools/gst-inspect.c: Revert the GOption code.
5335
5336 2005-09-17  David Schleef  <ds@schleef.org>
5337
5338         * check/Makefile.am: Fix environment variables.
5339         * check/gst/gstplugin.c: Fix for API changes.
5340         * tools/gst-inspect.c: Fix for API changes.
5341         * tools/gst-xmlinspect.c: Fix for API changes.
5342         * gst/gstelementfactory.c:
5343         * gst/gstplugin.c:
5344         * gst/gstplugin.h:
5345         * gst/gstpluginfeature.c:
5346         * gst/gstpluginfeature.h:
5347         * gst/gstregistry.c:
5348         * gst/gstregistry.h:
5349         * gst/gstregistryxml.c:
5350         * gst/gsttypefind.c:
5351         * gst/gsttypefindfactory.c:
5352         * gst/indexers/gstfileindex.c:
5353         * gst/indexers/gstmemindex.c:
5354         * gst/schedulers/Makefile.am:
5355           Change registry to keep track of both plugins and features,
5356           removing the feature tracking from plugins themselves.
5357
5358 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5359
5360         * check/Makefile.am:
5361         * tools/gst-register.1.in:
5362           remove gst-register
5363
5364 2005-09-15  David Schleef  <ds@schleef.org>
5365
5366         * check/gst/gstplugin.c:
5367         * gst/gstelementfactory.c:
5368         * gst/gstplugin.c:
5369         * gst/gstpluginfeature.c:
5370         * gst/gstregistry.c:
5371           Getting tired of debugging.  Disabled all the unreffing of
5372           plugins and features, which fixes the segfaults, but of
5373           course leaks like crazy.  At least playbin works.
5374
5375 2005-09-15  David Schleef  <ds@schleef.org>
5376
5377         * check/gst/gstplugin.c: (register_check_elements),
5378         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5379         More testing
5380         * gst/elements/gsttypefindelement.c: Fix refcounting.
5381         * gst/gsttypefind.c:
5382         * gst/gsttypefindfactory.c:
5383         * gst/gsttypefindfactory.h:
5384
5385 2005-09-15  David Schleef  <ds@schleef.org>
5386
5387         * gst/gstindex.c: get refcounting correct.
5388         * gst/gstregistry.c: Handle the case where a feature/plugin is
5389           not found.
5390
5391 2005-09-15  David Schleef  <ds@schleef.org>
5392
5393         * check/Makefile.am:
5394         * check/gst/gstplugin.c: Add test
5395         * gst/gstplugin.c: Fix problems noticed by testsuite
5396         * gst/gstplugin.h:
5397         * gst/gstregistry.c: 
5398         * gst/gstregistry.h:
5399
5400 2005-09-15  David Schleef  <ds@schleef.org>
5401
5402         * gst/gstplugin.c: Implement semi-decent recounting and locking
5403           in plugins and plugin features.
5404         * gst/gstplugin.h:
5405         * gst/gstpluginfeature.c:
5406         * gst/gstpluginfeature.h:
5407         * gst/gstregistry.c:
5408
5409 2005-09-15  Michael Smith <msmith@fluendo.com>
5410
5411         * gst/gstregistry.c: (gst_registry_get_feature_list):
5412           Implement this. Makes oggdemux work; decodebin still broken.
5413
5414 2005-09-14  David Schleef  <ds@schleef.org>
5415
5416         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5417           #316076)
5418         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5419         * gst/check/Makefile.am:
5420         * libs/gst/controller/Makefile.am:
5421         * libs/gst/dataprotocol/Makefile.am:
5422
5423 2005-09-14  David Schleef  <ds@schleef.org>
5424
5425         * configure.ac: Remove getbits library.  Nothing uses it, and
5426           it should be in something like liboil if someone did want
5427           to use it.
5428         * libs/gst/Makefile.am:
5429         * libs/gst/getbits/Makefile.am:
5430         * libs/gst/getbits/gbtest.c:
5431         * libs/gst/getbits/getbits.c:
5432         * libs/gst/getbits/getbits.h:
5433         * libs/gst/getbits/gstgetbits_generic.c:
5434         * libs/gst/getbits/gstgetbits_i386.s:
5435         * libs/gst/getbits/gstgetbits_inl.h:
5436
5437 2005-09-14  David Schleef  <ds@schleef.org>
5438
5439         * gst/Makefile.am: Dist glib-compat.h
5440
5441 2005-09-14  David Schleef  <ds@schleef.org>
5442
5443         * configure.ac: Remove gst/registries, since it's no longer used.
5444         * gst/registries/Makefile.am:
5445         * gst/registries/gstlibxmlregistry.c:
5446         * gst/registries/gstlibxmlregistry.h:
5447         * gst/registries/gstxmlregistry.c:
5448         * gst/registries/gstxmlregistry.h:
5449         * gst/registries/registrytest.c:
5450
5451 2005-09-14  David Schleef  <ds@schleef.org>
5452
5453         * gst/glib-compat.h:
5454         * gst/gstregistryxml.c:
5455           Convergence is near.  Seriously.
5456
5457 2005-09-14  David Schleef  <ds@schleef.org>
5458
5459         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5460         * gst/glib-compat.h:
5461           Attempt #4 to appease the buildbots.
5462
5463 2005-09-14  David Schleef  <ds@schleef.org>
5464
5465         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5466           Attempt #3.
5467
5468 2005-09-14  David Schleef  <ds@schleef.org>
5469
5470         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5471         Attempt #2.
5472
5473 2005-09-14  David Schleef  <ds@schleef.org>
5474
5475         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5476           the new functions.
5477
5478 2005-09-14  David Schleef  <ds@schleef.org>
5479
5480         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5481         * gst/glib-compat.h: Add some functions that are in newer versions
5482           of glib than we care to require.
5483         * gst/gstregistryxml.c: Use them.
5484
5485 2005-09-14  David Schleef  <ds@schleef.org>
5486
5487         * po/POTFILES.in: remove gst-register.c
5488
5489 2005-09-14  David Schleef  <ds@schleef.org>
5490
5491         * docs/gst/gstreamer-docs.sgml:
5492         * docs/gst/gstreamer-sections.txt:
5493         * docs/gst/gstreamer.types:
5494         * docs/gst/tmpl/gstelement.sgml:
5495         * docs/gst/tmpl/gstplugin.sgml:
5496         * docs/gst/tmpl/gstpluginfeature.sgml:
5497           Documentation updates for registry changes.
5498
5499 2005-09-14  David Schleef  <ds@schleef.org>
5500
5501         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5502           because we don't require glib-2.8.
5503
5504 2005-09-14  David Schleef  <ds@schleef.org>
5505
5506         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5507           registries directory.
5508
5509 2005-09-14  David Schleef  <ds@schleef.org>
5510
5511         * check/Makefile.am:
5512         * check/generic/states.c:
5513         * gst/Makefile.am:
5514         * gst/gst.c:
5515         * gst/gst.h:
5516         * gst/gst_private.h:
5517         * gst/gstelementfactory.c:
5518         * gst/gstindex.c:
5519         * gst/gstinfo.c:
5520         * gst/gstplugin.c:
5521         * gst/gstplugin.h:
5522         * gst/gstpluginfeature.c:
5523         * gst/gstpluginfeature.h:
5524         * gst/gstregistry.c:
5525         * gst/gstregistry.h:
5526         * gst/gstregistrypool.c: remove
5527         * gst/gstregistrypool.h: remove
5528         * gst/gsttypefind.c:
5529         * gst/gsttypefindfactory.c:
5530         * gst/gsturi.c:
5531         * tools/Makefile.am:
5532         * tools/gst-compprep.c:
5533         * tools/gst-inspect.c:
5534         * tools/gst-register.c: remove
5535         * tools/gst-xmlinspect.c:
5536           Registry rewrite.  Changes registry from being a file created
5537           by a tool into a simple cache file created automatically by 
5538           libgstreamer.  Removed gst-register (because it's no longer
5539           needed).  Remove registry pools, because we only have one
5540           registry implementation (XML).  Fix up other subsystems as
5541           necessary.
5542
5543 2005-09-13  Michael Smith <msmith@fluendo.com>
5544
5545         * gst/gstconfig.h.in:
5546           Don't Use windows linking attributes for MinGW. Fixes #316157
5547
5548 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5549
5550         * gst/gstutils.c: (set_state_async_thread_func),
5551         (gst_element_set_state_async):
5552           Apparently people think it's better if this function doesn't
5553           try to set the state to whatever state was asked for on the first
5554           call to this function for any object.  Seriously.
5555
5556 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5557
5558         * check/gst/gstpipeline.c: (GST_START_TEST):
5559         * docs/gst/gstreamer-sections.txt:
5560         * gst/gstutils.c: (set_state_async_thread_func),
5561         (gst_element_set_state_async):
5562         * gst/gstutils.h:
5563           add a "gst_element_set_state_async" method that
5564           sets the state and starts a thread to make sure the state
5565           change completes as best as it can
5566
5567 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5568
5569         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5570           codify design+behaviour in testsuite after discussion
5571
5572 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5573
5574         * docs/gst/tmpl/gstelement.sgml:
5575         * docs/manual/appendix-quotes.xml:
5576           add a quote
5577         * gst/gstelement.c: (gst_element_set_state):
5578           add some debug
5579
5580 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5581
5582         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5583         (gst_base_transform_prepare_output_buf),
5584         (gst_base_transform_handle_buffer):
5585         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5586         (gst_capsfilter_prepare_buf):
5587           Remove the requirement for sub-classes to call the parent
5588           implementation of prepare_output_buffer with a wrapper function.
5589           
5590         * gst/gsttaglist.h:
5591         * gst/gsttagsetter.h:
5592           Fix #define wrapper
5593
5594 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5595
5596         * docs/gst/gstreamer-sections.txt:
5597           more doc cleanups
5598
5599 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5600
5601         * docs/gst/gstreamer-sections.txt:
5602         * docs/gst/tmpl/gstelement.sgml:
5603         * docs/gst/tmpl/gstplugin.sgml:
5604         * gst/gstminiobject.c:
5605         * gst/gstvalue.h:
5606           docs now stop throwing warnings
5607
5608 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5609
5610         * docs/gst/gstreamer-sections.txt:
5611         * docs/gst/gstreamer.types:
5612         * docs/gst/tmpl/gstpad.sgml:
5613         * docs/gst/tmpl/gsttypes.sgml:
5614         * gst/base/gstadapter.h:
5615         * gst/base/gstbasesink.h:
5616         * gst/base/gstbasesrc.h:
5617         * gst/gstbin.h:
5618         * gst/gstbuffer.h:
5619         * gst/gstbus.h:
5620         * gst/gstcaps.h:
5621         * gst/gstclock.h:
5622         * gst/gstelement.h:
5623         * gst/gstevent.h:
5624         * gst/gstmessage.h:
5625         * gst/gstpad.h:
5626         * gst/gststructure.c:
5627         * gst/registries/gstlibxmlregistry.h:
5628           various documentation fixes
5629
5630 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5631
5632         * docs/gst/gstreamer-sections.txt:
5633         * docs/gst/tmpl/gstvalue.sgml:
5634           rearrange gstvalue section
5635         * gst/gstutils.c: (gst_element_state_get_name):
5636           NONE -> VOID
5637         * gst/gstvalue.c: (_gst_value_initialize):
5638         * gst/gstvalue.h:
5639           doc updates
5640
5641 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5642
5643         * check/gst-libs/controller.c:
5644           Header include fix.
5645         * gst/base/gstbasetransform.c:
5646         (gst_base_transform_default_prepare_buf),
5647         (gst_base_transform_handle_buffer):
5648         * gst/base/gstbasetransform.h:
5649           Some more basetransform changes and fixes to enable sub-classes
5650           that modify buffer metadata only.
5651         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5652         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5653         (gst_capsfilter_prepare_buf):
5654           If the output pad has fixed allowed caps and input buffers 
5655           don't have any, set the fixed caps on outgoing buffers.
5656
5657 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5658         * check/elements/identity.c: (GST_START_TEST):
5659           Make the error a little clearer when the test fails because
5660           identity made a copy of the buffer.
5661         * docs/gst/gstreamer-sections.txt:
5662           New symbols in gstbasetransform.h
5663         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5664         (gst_base_transform_init), (gst_base_transform_transform_size),
5665         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5666         (gst_base_transform_default_prepare_buf),
5667         (gst_base_transform_get_unit_size),
5668         (gst_base_transform_buffer_alloc),
5669         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5670         (gst_base_transform_change_state),
5671         (gst_base_transform_set_passthrough),
5672         (gst_base_transform_set_in_place),
5673         (gst_base_transform_is_in_place):
5674         * gst/base/gstbasetransform.h:
5675           Change BaseTransform to separate in_place operate from same_caps
5676           output. in_place implies that the element can perform the transform
5677           on incoming buffers in-place, even if the caps on the output are
5678           different.
5679           Sub-class elements can now implement special buffer allocation
5680           methods for outgoing buffers if they wish to.
5681           Big documentation addition.
5682         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5683         * gst/elements/gstelements.c:
5684           Changes for basetransform modifications.
5685         * gst/elements/Makefile.am:
5686         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5687           Compile fix. Extra debug output.
5688
5689 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5690
5691         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5692         (gst_pad_suite):
5693           add tests for valid pad naming
5694         * gst/check/gstcheck.c: (gst_check_log_message_func),
5695         (gst_check_log_critical_func):
5696           add ASSERT_WARNING
5697           remove printing of code, it is fragile when the code contains
5698           % and the line number is enough info
5699         * gst/check/gstcheck.h:
5700         * gst/gstpad.c: (gst_pad_template_new):
5701           fix memleaks
5702
5703 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5704
5705         * configure.ac:
5706           say what CHECK flags we use
5707         * docs/libs/gstreamer-libs.types:
5708         * libs/gst/controller/Makefile.am:
5709         * libs/gst/controller/gst-controller.c:
5710         * libs/gst/controller/gst-controller.h:
5711         * libs/gst/controller/gst-helper.c:
5712         * libs/gst/controller/gst-interpolation.c:
5713         * libs/gst/controller/gstcontroller.c:
5714         * libs/gst/controller/gsthelper.c:
5715         * libs/gst/controller/gstinterpolation.c:
5716         * tools/gst-inspect.c: (print_plugin_info):
5717           we don't use dashes in header names
5718
5719 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5720
5721         * check/Makefile.am:
5722         * check/gst/.cvsignore:
5723         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5724         (gst_pipeline_suite), (main):
5725           adding a test for pipelines and state changes
5726         * gst/gstutils.c: (get_state_func):
5727           add some debugging
5728         * gstreamer.spec.in:
5729           fix up spec file
5730
5731 2005-09-08  Michael Smith <msmith@fluendo.com>
5732
5733         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5734         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5735         (gst_file_src_is_seekable), (gst_file_src_get_size),
5736         (gst_file_src_start):
5737         * gst/elements/gstfilesrc.h:
5738           Various fixes for unseekable, unmmapable, and non-normal files, so
5739           that fallback to read() rather than mmap() works.
5740         * gst/gstevent.c: (gst_event_new_newsegment):
5741           Allow newsegment events with segment_start == segment_end, as will
5742           correctly happen if you use filesrc on a zero-size file, for
5743           example.
5744
5745 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5746
5747         * gst/gstplugin.c: (gst_plugin_load_file):
5748           Call g_module_close when we don't load the module
5749
5750         * gst/registries/gstlibxmlregistry.c:
5751         (gst_xml_registry_get_property):
5752           Port leak fix from 0.8
5753
5754 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5755
5756         * docs/gst/gstreamer-docs.sgml:
5757         * docs/gst/tmpl/.cvsignore:
5758         * docs/gst/tmpl/gsttrace.sgml:
5759         * docs/gst/tmpl/gsttrashstack.sgml:
5760         * gst/Makefile.am:
5761         * gst/gst.h:
5762         * gst/gstelement.h:
5763         * gst/gstevent.h:
5764         * gst/gstmessage.c:
5765         * gst/gstmessage.h:
5766         * gst/gsttag.c:
5767         * gst/gsttag.h:
5768         * gst/gsttaginterface.c:
5769         * gst/gsttaginterface.h:
5770         * gst/gsttaglist.c:
5771         * gst/gsttaglist.h:
5772         * gst/gsttagsetter.c:
5773         * gst/gsttagsetter.h:
5774         * gst/gsttrace.c:
5775         * gst/gsttrace.h:
5776         * gst/gsttrashstack.c:
5777           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5778           inlined docs for gsttrace, gsttrashstack
5779
5780 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5781
5782         * gst/Makefile.am:
5783         * gst/elements/gstbufferstore.h:
5784         * gst/elements/gsttypefindelement.c:
5785         * gst/elements/gsttypefindelement.h:
5786         * gst/gst.h:
5787         * gst/gsttypefind.c:
5788         * gst/gsttypefind.h:
5789         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5790         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5791         (gst_type_find_factory_dispose),
5792         (gst_type_find_factory_unload_thyself),
5793         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5794         (gst_type_find_factory_get_caps),
5795         (gst_type_find_factory_get_extensions),
5796         (gst_type_find_factory_call_function):
5797         * gst/gsttypefindfactory.h:
5798         * gst/registries/gstlibxmlregistry.c:
5799         * gst/registries/gstxmlregistry.c:
5800           splitted gsttypefind into gsttypefind, gsttypefindfactory
5801
5802 2005-09-07  Andy Wingo  <wingo@pobox.com>
5803
5804         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5805         condition whereby the pad's task function is entered before the
5806         pad_mode variable was set.
5807
5808 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5809
5810         * gst/gstpad.c: (gst_pad_alloc_buffer):
5811           Catch misbehaving pad_alloc functions that don't
5812           set up caps and do it for them.
5813
5814 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5815
5816         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5817           test for pipe!=NULL
5818         * docs/gst/tmpl/.cvsignore:
5819         * docs/gst/tmpl/gstmemchunk.sgml:
5820         * docs/gst/tmpl/gstparse.sgml:
5821         * docs/gst/tmpl/gsttaglist.sgml:
5822         * docs/gst/tmpl/gsttagsetter.sgml:
5823         * docs/gst/tmpl/gsttypefind.sgml:
5824         * docs/gst/tmpl/gsttypefindfactory.sgml:
5825         * gst/gstmemchunk.c:
5826         * gst/gstparse.c:
5827         * gst/gsttag.c:
5828         * gst/gsttaginterface.c:
5829         * gst/gsttypefind.c:
5830         * gst/gsttypefind.h:
5831           inlined more docs
5832
5833 === release 0.9.2 ===
5834
5835 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5836
5837         * NEWS:
5838         * RELEASE:
5839         * configure.ac:
5840           releasing 0.9.2, "South"
5841
5842 2005-09-05  Andy Wingo  <wingo@pobox.com>
5843
5844         * gst/registries/gstxmlregistry.h:
5845         * gst/registries/gstxmlregistry.c: Um... resurrect...
5846         
5847         * gst/registries/gstxmlregistry.h:
5848         * gst/registries/gstxmlregistry.c: and update to newer API.
5849         Incidentally they should be a bit faster now that they don't have
5850         to parse the caps.
5851         
5852 2005-09-05  Andy Wingo  <wingo@pobox.com>
5853
5854         * gst/registries/gstxmlregistry.h:
5855         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5856         replaced by the libxml registry a while back
5857
5858 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5859
5860         * docs/gst/tmpl/gstplugin.sgml:
5861         * gst/elements/gstelements.c:
5862         * gst/gst.c:
5863         * gst/gstplugin.c: (gst_plugin_register_func),
5864         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5865         (gst_plugin_get_source):
5866         * gst/gstplugin.h:
5867         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5868         (gst_xml_registry_save_plugin):
5869         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5870         (gst_xml_registry_save_plugin):
5871         * tools/gst-inspect.c: (print_plugin_info):
5872           add a "source" plugin description field, to represent the source
5873           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5874           will set it to PACKAGE, which is automake's idea of the name of
5875           the source project.
5876
5877 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5878
5879         * Makefile.am:
5880         * autogen.sh:
5881         * configure.ac:
5882         * docs/Makefile.am:
5883         * docs/faq/Makefile.am:
5884         * docs/gst/tmpl/gstelement.sgml:
5885         * docs/gst/tmpl/gsttypes.sgml:
5886         * docs/htmlinstall.mak:
5887         * docs/manual/Makefile.am:
5888         * docs/pwg/Makefile.am:
5889           reorganize doc build a little
5890           split out docbook and gtk-doc stuff
5891           have two separate --enable's and enable them through autogen
5892           but disable by default in configure (to be similar to other
5893           projects)
5894         * gstreamer.spec.in:
5895           clean up docs install
5896         * po/af.po:
5897         * po/az.po:
5898         * po/ca.po:
5899         * po/cs.po:
5900         * po/de.po:
5901         * po/en_GB.po:
5902         * po/fr.po:
5903         * po/it.po:
5904         * po/nb.po:
5905         * po/nl.po:
5906         * po/ru.po:
5907         * po/sq.po:
5908         * po/sr.po:
5909         * po/sv.po:
5910         * po/tr.po:
5911         * po/uk.po:
5912         * po/vi.po:
5913           translation updates
5914
5915 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5916
5917         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5918           Add comment.
5919           
5920         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5921         (gst_fake_sink_change_state):
5922           Make state change function thread-safe.
5923           
5924         * gst/gstpad.c: (gst_pad_alloc_buffer):
5925           Set offset on generic buffer allocated by fallback.
5926
5927 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5928
5929         * docs/gst/gstreamer-sections.txt:
5930         * docs/gst/tmpl/gstelement.sgml:
5931         * gst/gstpad.c:
5932         * libs/gst/controller/gst-controller.c:
5933         (gst_controlled_property_set_interpolation_mode),
5934         (gst_controlled_property_new),
5935         (gst_controller_find_controlled_property):
5936          run the wingo-magic script against the docs
5937
5938 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5939
5940         * docs/gst/gstreamer-docs.sgml:
5941         * docs/gst/gstreamer-sections.txt:
5942         * docs/gst/tmpl/.cvsignore:
5943         * docs/gst/tmpl/gstelementdetails.sgml:
5944         * docs/gst/tmpl/gstelementfactory.sgml:
5945         * gst/gst.c:
5946         * gst/gstbus.c:
5947         * gst/gstelementfactory.c:
5948         * gst/gstelementfactory.h:
5949           merged elementdetails docs into elementfactory docs
5950           inlined both
5951
5952 2005-09-02  Andy Wingo  <wingo@pobox.com>
5953
5954         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5955         consider this enum an enum and not a flags.
5956
5957 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5958
5959         * docs/gst/gstreamer-docs.sgml:
5960         * docs/gst/tmpl/.cvsignore:
5961         * docs/gst/tmpl/gstghostpad.sgml:
5962         * docs/gst/tmpl/gstiterator.sgml:
5963         * docs/gst/tmpl/gstmacros.sgml:
5964         * docs/gst/tmpl/gstrealpad.sgml:
5965         * docs/gst/tmpl/gstregistry.sgml:
5966         * docs/gst/tmpl/gstregistrypool.sgml:
5967         * docs/gst/tmpl/gststructure.sgml:
5968         * docs/gst/tmpl/gstsystemclock.sgml:
5969         * docs/gst/tmpl/gsttrace.sgml:
5970         * gst/gstghostpad.c:
5971         * gst/gstmacros.h:
5972         * gst/gstmemchunk.c:
5973         * gst/gstmemchunk.h:
5974         * gst/gstqueue.c:
5975         * gst/gstregistry.c:
5976         * gst/gstregistrypool.c:
5977         * gst/gststructure.c:
5978         * gst/gstsystemclock.c:
5979           more docs inlined
5980
5981 2005-09-02  Andy Wingo  <wingo@pobox.com>
5982
5983         * gst/gstelement.h (GstState): Renamed from GstElementState,
5984         changed to be a normal enum instead of flags.
5985         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5986         munged to be GST_STATE_CHANGE_*.
5987         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5988         work with the new state representation.
5989         (GstStateChange): New enumeration of possible state transitions.
5990         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5991         (GstElementClass::change_state): Pass the GstStateChange along as
5992         an argument. Helps language bindings, so they don't have to use
5993         tricky lock-needing macros like GST_STATE_CHANGE ().
5994
5995         * scripts/update-states (file): New script. Run it on a file to
5996         update it for state naming and API changes. Updates files in
5997         place.
5998
5999         * All files updated for the new API.
6000
6001 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6002
6003         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6004         * gst/gstutils.c: (gst_util_set_value_from_string),
6005         (gst_util_set_object_arg):
6006           fix a bunch of unchecked return values
6007         * tools/gst-complete.c: (main):
6008         * gstreamer.spec.in:
6009           clean up a little
6010
6011 2005-09-01  Wim Taymans  <wim@fluendo.com>
6012
6013         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6014         (gst_base_sink_event), (gst_base_sink_do_sync),
6015         (gst_base_sink_handle_event):
6016         * gst/base/gstbasesink.h:
6017         Handle newsegments more correctly.
6018
6019         * gst/gstbus.c:
6020         Fix docs.
6021
6022         * gst/gstevent.c: (gst_event_new_newsegment):
6023         A newsegment cannot have a start_time of -1
6024
6025 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6026
6027         * win32/gstenumtypes.c:
6028         * win32/gstenumtypes.h:
6029           Update
6030
6031 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6032
6033         * libs/gst/controller/gst-controller.c:
6034         (gst_controlled_property_set_interpolation_mode),
6035         (gst_controlled_property_new):
6036          fixed boolean again
6037
6038 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6039
6040         * docs/faq/gst-uninstalled:
6041           add -good
6042         * gst/gstevent.c:
6043         * gst/gstevent.h:
6044           remove wrong docs
6045         * gst/gstutils.c: (gst_element_link_filtered):
6046         * gst/gstutils.h:
6047           add gst_element_link_filtered
6048
6049 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6050
6051         * docs/gst/gstreamer-docs.sgml:
6052         * docs/gst/gstreamer-sections.txt:
6053         * docs/gst/tmpl/.cvsignore:
6054         * docs/gst/tmpl/gsterror.sgml:
6055         * docs/gst/tmpl/gstfilter.sgml:
6056         * docs/gst/tmpl/gsturihandler.sgml:
6057         * docs/gst/tmpl/gsturitype.sgml:
6058         * docs/gst/tmpl/gstutils.sgml:
6059         * docs/gst/tmpl/gstxml.sgml:
6060         * gst/gsterror.c:
6061         * gst/gsterror.h:
6062         * gst/gstfilter.c:
6063         * gst/gsturi.c:
6064         * gst/gsturitype.c:
6065         * gst/gstutils.c:
6066         * gst/gstxml.c:
6067           inlined more docs, fixed double id-ref
6068
6069 2005-08-31  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6072         (gst_base_transform_handle_buffer):
6073         Passthrough elements don't need the caps as they don't care.
6074
6075 2005-08-31  Wim Taymans  <wim@fluendo.com>
6076
6077         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6078         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6079         Don't leak refcounts on buffers.
6080
6081 2005-08-31  Wim Taymans  <wim@fluendo.com>
6082
6083         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6084         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6085         (gst_base_transform_chain), (gst_base_transform_change_state):
6086         * gst/base/gstbasetransform.h:
6087         Handle the case where we are not negotiated more gracefully.
6088
6089 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6090
6091         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6092         (gst_file_src_map_region):
6093           Set READONLY flag on mmap'ed buffers, otherwise
6094           gst_buffer_make_writable() won't work properly (#314708).
6095
6096 2005-08-31  Wim Taymans  <wim@fluendo.com>
6097
6098         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6099         passthrough elements can even do inplace on non writable
6100         buffers (as they don't touch them).
6101
6102 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6103
6104         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6105         (gst_test_mono_source_set_property),
6106         (gst_test_mono_source_class_init), (GST_START_TEST),
6107         (gst_controller_suite):
6108           more tests (hehe I have the most)
6109         * gst/gstbus.c:
6110           describe popping messages whenusing mulltiple sources
6111         * libs/gst/controller/gst-controller.c:
6112         (gst_controlled_property_set_interpolation_mode),
6113         (gst_controlled_property_new):
6114         * libs/gst/controller/gst-controller.h:
6115         * libs/gst/controller/gst-interpolation.c:
6116           implement boolean properties
6117
6118 2005-08-31  Wim Taymans  <wim@fluendo.com>
6119
6120         * gst/gstminiobject.c: (gst_mini_object_ref):
6121         Cannot assert that the refcount has to be positive
6122         since a disposed object can be resurrected.
6123
6124 2005-08-31  Wim Taymans  <wim@fluendo.com>
6125
6126         * gst/gstpad.c: (gst_pad_init):
6127         Revert change, need to first fix badly behaving 
6128         apps.
6129
6130 2005-08-30  Wim Taymans  <wim@fluendo.com>
6131
6132         * check/elements/fakesrc.c: (setup_fakesrc):
6133         * check/elements/identity.c: (setup_identity):
6134         Activate pads before using them.
6135
6136 2005-08-30  Wim Taymans  <wim@fluendo.com>
6137
6138         * gst/base/gstadapter.c: (gst_adapter_flush):
6139         Flushing out 0 bytes is ok for this function.
6140
6141         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6142         no newsegment gives a warning and sets the start/stop to 
6143         invalid.
6144
6145         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6146         (gst_base_transform_set_passthrough):
6147         Some debug info.
6148
6149         * gst/gstminiobject.c: (gst_mini_object_ref):
6150         Check refcount here too.
6151
6152         * gst/gstpad.c: (gst_pad_init):
6153         Pads are initially flushing and refusing data.
6154
6155         * gst/gstutils.c: (gst_element_link_pads_filtered):
6156         When adding a capsfilter element make sure it has the
6157         same state as the parent bin.
6158
6159 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6160
6161         * docs/gst/tmpl/.cvsignore:
6162         * docs/gst/tmpl/gstformat.sgml:
6163         * docs/gst/tmpl/gstversion.sgml:
6164         * gst/gstbus.h:
6165         * gst/gstformat.c:
6166         * gst/gstformat.h:
6167         * gst/gstversion.h.in:
6168           more docs and two more inlined
6169
6170 2005-08-30  Wim Taymans  <wim@fluendo.com>
6171
6172         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6173         Don't sync to clock.
6174
6175 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6176
6177         * docs/gst/gstreamer-sections.txt:
6178           ultral33t func10ns deserve to appear in the docs actually
6179         * docs/gst/tmpl/.cvsignore:
6180         * docs/gst/tmpl/gstcompat.sgml:
6181         * docs/gst/tmpl/gstconfig.sgml:
6182         * gst/check/gstcheck.c:
6183         * gst/gstcompat.h:
6184         * gst/gstconfig.h.in:
6185           inlined more docs
6186
6187 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6188
6189         * docs/gst/tmpl/.cvsignore:
6190         * docs/gst/tmpl/gstquery.sgml:
6191         * docs/gst/tmpl/gstutils.sgml:
6192         * gst/gstquery.c:
6193         * gst/gstquery.h:
6194           inlined and extended docs
6195
6196 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6197
6198         * check/gst-libs/controller.c: (GST_START_TEST),
6199         (gst_controller_suite):
6200           more tests
6201         * docs/gst/tmpl/gstutils.sgml:
6202         * docs/libs/gstreamer-libs-sections.txt:
6203         * docs/libs/tmpl/gstdataprotocol.sgml:
6204           include path fixes
6205         * examples/controller/audio-example.c: (main):
6206           controller example works now
6207         * gst/gstclock.h:
6208           doc fixes
6209         * tools/gst-inspect.c: (print_element_properties_info):
6210           show param spec flags
6211
6212 2005-08-29  Andy Wingo  <wingo@pobox.com>
6213
6214         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6215
6216 2005-08-28  Andy Wingo  <wingo@pobox.com>
6217
6218         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6219         as having two arguments instead of just one. Allows superclasses
6220         to access information on subclasses -- see the terrible for() loop
6221         in gtype.c:g_type_create_instance for the reason why. All callers
6222         changed.
6223
6224 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6225
6226         * docs/design/part-messages.txt:
6227           update info
6228         * docs/gst/tmpl/.cvsignore:
6229         * docs/gst/tmpl/gstcaps.sgml:
6230         * docs/gst/tmpl/gstclock.sgml:
6231         * gst/gstbus.c:
6232         * gst/gstcaps.c:
6233         * gst/gstcaps.h:
6234         * gst/gstclock.c:
6235         * gst/gstclock.h:
6236         * gst/gstmessage.c:
6237           added descriptions for bus and message
6238           inline caps and clock docs
6239
6240 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6241
6242         * gst/gstmessage.c:
6243         * gst/gstmessage.h:
6244           doc fixes
6245
6246 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6247
6248         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6249           fix div-by-zero
6250
6251 2005-08-26  Andy Wingo  <wingo@pobox.com>
6252
6253         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6254         element_set_state's return val.
6255         (test_2_elements): Add test that's been disabled for months.
6256
6257         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6258         can-activate-pull properties.
6259
6260         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6261         can-activate-pull properties. Implement is_seekable so fakesrc can
6262         operate in pull mode.
6263
6264         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6265         properties.
6266         (gst_base_sink_activate, gst_base_sink_activate_pull)
6267         (gst_base_sink_activate_push): Make activation mode choosing work.
6268         Cleanups.
6269         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6270         is right. Make pull mode work. Post an eos before pausing in pull
6271         mode.
6272         (gst_base_sink_change_state): Pay attention to the core's
6273         change_state() return val.
6274         
6275         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6276         has-getrange properties. Cleanups.
6277         
6278         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6279         has_getrange and replace with can_activate_pull and
6280         can_activate_push.
6281
6282         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6283         locking comments. Remove has_loop, has_chain and replace with
6284         can_activate_pull and can_activate_push.
6285
6286 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6287
6288         * configure.ac:
6289         * examples/Makefile.am:
6290         * examples/metadata/Makefile.am:
6291         * examples/metadata/read-metadata.c: (message_loop),
6292         (have_pad_handler), (make_pipeline), (print_tag), (main):
6293           Add metadata reading example that loops over a list of filenames,
6294           dumping any tags found.
6295
6296         * gst/gstbus.c: (gst_bus_dispose):
6297         * gst/gstelement.c: (gst_element_dispose):
6298           Release a few potentially-held references in dispose.
6299
6300 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6301
6302         * docs/gst/tmpl/gstminiobject.sgml:
6303           do *not* add tmpl/*.sgml files to CVS!
6304
6305 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6306
6307         * libs/gst/bytestream/.cvsignore:
6308         * libs/gst/bytestream/Makefile.am:
6309         * libs/gst/bytestream/adapter.c:
6310         * libs/gst/bytestream/adapter.h:
6311         * libs/gst/bytestream/bytestream.c:
6312         * libs/gst/bytestream/bytestream.h:
6313         * libs/gst/bytestream/filepad.c:
6314         * libs/gst/bytestream/filepad.h:
6315           removing obsolete files
6316
6317 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6318
6319         * docs/gst/gstreamer-docs.sgml:
6320         * docs/libs/gstreamer-libs-docs.sgml:
6321           disabed additional index entries again, as this makes docs-gen just
6322           slow and they aren't useful yet
6323         * docs/libs/gstreamer-libs-sections.txt:
6324           little -section.txt cleanup for libs
6325
6326 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6327
6328         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6329         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6330           fix up some debugging
6331         (gst_base_transform_get_unit_size),
6332         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6333         (gst_base_transform_handle_buffer):
6334         * gst/base/gstbasetransform.h:
6335           handle and store timed NEWSEGMENT events so that subclasses that
6336           calculate time by counting samples have a segment_start time they
6337           need to add to their timestamps - see audioresample
6338
6339 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6340
6341         * gst/gstbin.h:
6342           removed ';' from the end of macro defs
6343         * docs/gst/gstreamer-docs.sgml:
6344         * docs/gst/gstreamer-sections.txt:
6345         * docs/gst/tmpl/.cvsignore:
6346         * gst/gstbus.h:
6347         * gst/gstelement.c: (gst_element_class_init),
6348         (gst_element_set_state), (activate_pads),
6349         (gst_element_save_thyself):
6350         * gst/gstevent.c: (gst_event_new_newsegment):
6351         * gst/gstevent.h:
6352         * gst/gstiterator.c:
6353         * gst/gstiterator.h:
6354         * gst/gstpad.c:
6355         * gst/gstprobe.h:
6356         * gst/gstutils.c: (gst_pad_query_convert):
6357         * gst/gstutils.h:
6358           fixed parameter name mismatches between source, header and docs
6359           added some more docs, resolved the last batch of unused elements in
6360           docs (now someone needs to doc them)
6361
6362 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6363
6364         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6365         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6366           don't walk through the plugins backwards.  Where is all this
6367           reversed logic coming from ?
6368
6369 2005-08-25  Wim Taymans  <wim@fluendo.com>
6370
6371         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6372         (gst_base_transform_transform_size),
6373         (gst_base_transform_configure_caps),
6374         (gst_base_transform_get_unit_size),
6375         (gst_base_transform_buffer_alloc),
6376         (gst_base_transform_change_state):
6377         * gst/base/gstbasetransform.h:
6378         Cache caps unit_size.
6379         Make sure we cannot negotiate up and downstream at the
6380         same time.
6381
6382 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6383
6384         * gst/gst.c: (init_pre), (init_post):
6385           register the installed plugin path after the env var
6386         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6387         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6388           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6389           directories, so the tests can prefer uninstalled over installed
6390
6391 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6392
6393         * gst/base/gstbasetransform.h:
6394           comment
6395         * gst/gstpad.c:
6396           add to docs
6397
6398 2005-08-25  Wim Taymans  <wim@fluendo.com>
6399
6400         * gst/gstbin.c: (bin_bus_handler):
6401         Be a bit more conservative about the posted message.
6402         
6403         * gst/gstbus.c: (gst_bus_post):
6404         Some cleanups, warn wrong return values.
6405
6406 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6407
6408         * check/gst/gstbin.c: (GST_START_TEST):
6409         * gst/gstbin.c: (bin_bus_handler):
6410         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6411         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6412         (gst_message_new_warning), (gst_message_new_tag),
6413         (gst_message_new_state_changed), (gst_message_new_segment_start),
6414         (gst_message_new_segment_done), (gst_message_new_custom):
6415         * gst/gstmessage.h:
6416         * tools/gst-launch.c: (event_loop):
6417         * tools/gst-md5sum.c: (event_loop):
6418           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6419
6420 2005-08-25  Wim Taymans  <wim@fluendo.com>
6421
6422         * check/generic/states.c: (GST_START_TEST):
6423         Cleanup can be done at the end.
6424
6425         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6426         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6427         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6428         Oh boy.. Thanks for finding this, Thomas. 
6429
6430 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6431
6432         * docs/gst/gstreamer.types:
6433           added missing types
6434
6435 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6436
6437         * docs/gst/gstreamer-docs.sgml:
6438         * docs/gst/gstreamer-sections.txt:
6439         * docs/gst/tmpl/.cvsignore:
6440         * gst/gstbin.c:
6441         * gst/gstiterator.c:
6442         * gst/gstutils.c:
6443         * gst/registries/gstxmlregistry.h:
6444           added missing classes and symbols (123 more to go)
6445           removed removed symbols from section file
6446           fixed many doc-comments
6447
6448 2005-08-24  Wim Taymans  <wim@fluendo.com>
6449
6450         * check/generic/states.c: (GST_START_TEST):
6451         Make sure all tasks are stopped.
6452
6453         * check/gst/gstbin.c: (GST_START_TEST):
6454         Unref after usage for proper valgrinding.
6455
6456         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6457         Really wait for the task to stop before destroying the
6458         mutex.
6459
6460         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6461         (gst_queue_src_activate_push):
6462         Small cleanups. Don't stop the task when we did not start
6463         it.
6464
6465         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6466         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6467         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6468         (gst_task_join):
6469         * gst/gsttask.h:
6470         Protect the stream lock with the object lock.
6471         Disallow setting the stream lock when running.
6472         Add cleanup_all to wait for the threadpool to finish.
6473         Remove code to autoallocate a mutex if none was provided.
6474         Add _join() to wait for a task to stop.
6475         Protect the thread pool with a global lock.
6476
6477 2005-08-24  Wim Taymans  <wim@fluendo.com>
6478
6479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6480         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6481         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6482         * gst/base/gstbasesink.h:
6483         Handle newsegment events correctly.
6484         Drop buffers out of the segment range.
6485
6486 2005-08-22  Andy Wingo  <wingo@pobox.com>
6487
6488         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6489         macro, implements an interface and gstimplementsinterface for a
6490         new type.
6491
6492 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6493
6494         * check/Makefile.am:
6495         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6496           add a test that does a bunch of state changes on elements
6497           needs some fixing for valgrind
6498         * check/states/sinks.c: (gst_object_suite):
6499           whitespace
6500         * gst/gstcaps.h:
6501           add prototype for gst_caps_is_equal_fixed
6502         * gst/gstplugin.c:
6503         * gst/gstregistrypool.c:
6504           doc fixes
6505
6506 2005-08-24  Andy Wingo  <wingo@pobox.com>
6507
6508         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6509         convert a negative value. Doesn't make much sense. Mostly this is
6510         here to force callers to ensure -1 maps to -1.
6511
6512 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6513
6514         * docs/pwg/advanced-types.xml:
6515           Well done to Michael for catching my deliberate introduction
6516           of this spelling mistake. 
6517         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6518         * gst/gstelement.h:
6519           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6520           unlink pads before removing the element from the bin.
6521
6522 2005-08-24  Andy Wingo  <wingo@pobox.com>
6523
6524         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6525         the same thing as GST_DEBUG=*:4.
6526         (parse_debug_level, parse_debug_category): New helper parsers.
6527
6528 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6529
6530         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6531         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6532         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6533         (gst_base_transform_buffer_alloc),
6534         (gst_base_transform_handle_buffer):
6535           use gboolean return values and pointers to size so we can use the
6536           full GST_BUFFER_SIZE range (guint) for buffer sizes
6537           use GstPadDirection for transform_caps
6538         * gst/base/gstbasetransform.h:
6539           rename get_size to get_unit_size since that's what it is
6540         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6541           use GstPadDirection for transform_caps
6542         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6543         * gst/gstutils.h:
6544           cleanup and debugging
6545
6546 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6547
6548         * gst/gstelement.c: (gst_element_class_init),
6549         (gst_element_set_state), (activate_pads),
6550         (gst_element_save_thyself):
6551         * tools/gst-compprep.c: (main):
6552         * tools/gst-inspect.c: (print_element_properties_info):
6553         * tools/gst-xmlinspect.c: (print_element_properties):
6554           Fixed long standing mem-leak
6555
6556 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6557
6558         * check/gst/gstbin.c: (GST_START_TEST):
6559         * gst/gstbin.c: (bin_bus_handler):
6560         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6561         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6562         (gst_message_new_warning), (gst_message_new_tag),
6563         (gst_message_new_state_changed), (gst_message_new_segment_start),
6564         (gst_message_new_segment_done), (gst_message_new_custom):
6565         * gst/gstmessage.h:
6566         * tools/gst-launch.c: (event_loop):
6567         * tools/gst-md5sum.c: (event_loop):
6568           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6569           that applications can sensibly post custom messages with references
6570           to their own objects.
6571
6572 2005-08-24  Andy Wingo  <wingo@pobox.com>
6573
6574         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6575         already.
6576
6577 2005-08-24  Wim Taymans  <wim@fluendo.com>
6578
6579         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6580         (gst_base_transform_transform_caps),
6581         (gst_base_transform_transform_size),
6582         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6583         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6584         (gst_base_transform_handle_buffer):
6585         * gst/base/gstbasetransform.h:
6586         Many fixes and new features added by Thomas. Can now also do
6587         transforms with variable sizes and a custom fixate_caps function.
6588
6589 2005-08-24  Wim Taymans  <wim@fluendo.com>
6590
6591         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6592         Some debugging.
6593
6594         * gst/gstclock.h:
6595         Cast to ClockTime before formatting to time.
6596
6597         * gst/gstutils.h:
6598         Cleanups.
6599
6600 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6601
6602         * check/gst-libs/controller.c: (GST_START_TEST),
6603         (gst_controller_suite):
6604         * docs/gst/tmpl/gstcaps.sgml:
6605         * docs/gst/tmpl/gstghostpad.sgml:
6606         * docs/gst/tmpl/gstquery.sgml:
6607         * docs/gst/tmpl/gstutils.sgml:
6608         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6609         (gst_object_sink_values), (gst_object_get_value_arrays),
6610         (gst_object_get_value_array):
6611           gracefully handle helper method calls to objects that are not beeing
6612           controlled, added test case for that          
6613
6614 2005-08-23  Wim Taymans  <wim@fluendo.com>
6615
6616         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6617         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6618         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6619         (gst_event_parse_qos), (gst_event_new_seek),
6620         (gst_event_parse_seek):
6621         * gst/gstevent.h:
6622         Some more debugging output and doc cleanups.
6623
6624         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6625         Fix possible deadlock.
6626
6627 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6628
6629         * docs/gst/gstreamer-docs.sgml:
6630         * docs/gst/gstreamer-sections.txt:
6631         * docs/gst/gstreamer.types:
6632         * docs/gst/tmpl/.cvsignore:
6633         * gst/gstbin.h:
6634         * gst/gstbus.c:
6635         * gst/gstelement.c:
6636         * gst/gstevent.h:
6637           added 100 symbols from gstreamer-unused.txt to the right sections
6638           fixed more broken comments
6639           added GstBus to docs
6640
6641 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6642
6643         * docs/gst/gstreamer-sections.txt:
6644         * docs/gst/tmpl/.cvsignore:
6645         * docs/gst/tmpl/gstbin.sgml:
6646         * docs/gst/tmpl/gstbuffer.sgml:
6647         * gst/base/gstbasesrc.c:
6648         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6649         * gst/gstbuffer.c:
6650         * gst/gstbuffer.h:
6651         * tools/gst-launch.1.in:
6652           inlined more doc comments, added missing comments and fixed comments
6653           fixed typos
6654
6655 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6656
6657         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6658           some debugging
6659         * gst/gstcaps.h:
6660           whitespace fixes
6661         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6662           more debugging
6663         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6664         * gst/gststructure.h:
6665           add a fixate function for booleans; add a FIXME that these func
6666           names should probably be gst_structure_fixate_*
6667
6668 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6669
6670         * docs/gst/gstreamer-docs.sgml:
6671         * docs/gst/gstreamer-sections.txt:
6672         * gst/Makefile.am:
6673         * gst/gstbin.c: (gst_bin_get_type),
6674         (gst_bin_child_proxy_get_child_by_index),
6675         (gst_bin_child_proxy_get_children_count),
6676         (gst_bin_child_proxy_init):
6677         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6678         (gst_child_proxy_get_child_by_index),
6679         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6680         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6681         (gst_child_proxy_get), (gst_child_proxy_set_property),
6682         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6683         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6684         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6685         * gst/gstchildproxy.h:
6686         * gst/parse/grammar.y:
6687         * tools/gst-inspect.c: (print_interfaces),
6688         (print_element_properties_info), (print_element_info):
6689           ported gstchildproxy over from 0.8
6690           ported gst-inspect fixes and enhancements over from 0.8
6691
6692 2005-08-22  Wim Taymans  <wim@fluendo.com>
6693
6694         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6695         (gst_base_transform_handle_buffer):
6696         Also call the transform function if we have ANY caps.
6697
6698         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6699         Fix debug info.
6700
6701 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6702
6703         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6704           Don't pretend to handle seek events if the source is not seekable
6705
6706 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6707
6708         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6709           Remove extra parameter to debug output
6710
6711         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6712         (gst_base_src_do_seek), (gst_base_src_activate_push):
6713           Fix seek event handling.
6714
6715         * gst/gstpipeline.c: (gst_pipeline_change_state):
6716         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6717         (gst_queue_src_activate_push):
6718           Don't start the src pad task on FLUSH_STOP if the pad
6719           isn't linked.
6720           Debug changes.
6721
6722 2005-08-22  Wim Taymans  <wim@fluendo.com>
6723
6724         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6725         Added check for gst_static_caps_get() refcounting.
6726
6727 2005-08-22  Wim Taymans  <wim@fluendo.com>
6728
6729         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6730         Make _static_caps_get() refcounting sane.
6731         
6732         * gst/gstelement.c: (gst_element_set_state):
6733         Add g_return_val_if_fail() to protect against segfaults.
6734
6735 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6736
6737         * docs/gst/tmpl/gstevent.sgml:
6738         * gst/gstevent.c:
6739         * gst/gstevent.h:
6740           inlined remaining docs, added missing doc comments
6741
6742 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6743
6744         * check/gst/gstbin.c: (GST_START_TEST):
6745           since we don't know when preroll is done, use refcount range
6746           check for the sink
6747         * gst/check/gstcheck.h:
6748           add macro for checking refcount range
6749
6750 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6751
6752         * check/Makefile.am:
6753           clean up environment for when registry gets built versus
6754           when actual tests are run; valgrind seems to not report
6755           leaks if GST_PLUGIN_PATH is set to some specific values
6756         * check/gst/gstbin.c: (GST_START_TEST):
6757           add more refcounting checks; maybe this exposes a
6758           preroll lock bug ?
6759         * common/check.mak:
6760         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6761         * gst/check/gstcheck.h:
6762         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6763         (gst_bin_change_state):
6764         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6765           add/fix debugging/whitespace
6766
6767 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6768
6769         * check/gst/gstevent.c: (event_probe), (test_event),
6770         (GST_START_TEST):
6771          Er, don't call gst_bin_watch_for_state_change you idiot.
6772
6773 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6774
6775         * check/Makefile.am:
6776           Use CHECK_CFLAGS and CHECK_LIBS
6777         * check/gst/gstevent.c: (event_probe), (test_event),
6778         (GST_START_TEST):
6779           Don't leak events.
6780         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6781         (gst_base_src_start), (gst_base_src_stop),
6782         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6783         (gst_base_src_change_state):
6784           Sprinkle gst_base_src_stop liberally around error paths to fix
6785           problems reusing a source after failed state changes.
6786         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6787         (helper_find_suggest), (gst_type_find_helper):
6788           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6789         * gst/gstevent.h:
6790         * docs/gst/tmpl/gstevent.sgml:
6791           Migrate part of the docs from the SGML file. Wait for ensonic to
6792           tell me how I did it wrong ;)
6793         * tools/gst-typefind.c: (main):
6794           Extra robustness to state changes between files.
6795
6796 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6797
6798         * check/Makefile.am:
6799           don't valgrind the controller test - it's leaking - Stefan, HELP
6800         * gst/check/gstcheck.c: (gst_check_message_error),
6801         (gst_check_chain_func), (gst_check_setup_element),
6802         (gst_check_teardown_element), (gst_check_setup_src_pad),
6803         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6804         (gst_check_teardown_sink_pad):
6805         * gst/check/gstcheck.h:
6806           add a bunch of methods to set up elements, and src and sink pads
6807         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6808         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6809         (GST_START_TEST):
6810           use them
6811         * gst/gstmessage.c:
6812         * gst/gsttag.h:
6813           whitespace/doc fixes
6814
6815 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6816
6817         * gst/gstelement.h:
6818           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6819           be handled by the application and not always printed as well
6820
6821 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6822
6823         * check/Makefile.am:
6824           set GST_TOOLS_DIR
6825         * gst/check/gstcheck.c: (gst_check_message_error):
6826         * gst/check/gstcheck.h:
6827           add a fail_unless_equals_int
6828           add fail_unless for error messages
6829
6830 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6831
6832         * check/Makefile.am:
6833         * check/gst.supp:
6834         * common/Makefile.am:
6835         * common/check.mak:
6836         * common/gst.supp:
6837           factor out some of the common stuff so we can use it
6838
6839 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6840
6841         * check/Makefile.am:
6842         * check/gst/gstiterator.c: (GST_START_TEST):
6843         * check/gst/gstsystemclock.c: (GST_START_TEST),
6844         (gst_systemclock_suite):
6845         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6846         * gst/gstclock.c:
6847           valgrind more tests
6848
6849 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6850
6851         * check/elements/.cvsignore:
6852         * check/elements/gstfakesrc.c:
6853           rename to name of element
6854         * check/elements/identity.c: (chain_func), (event_func),
6855         (setup_identity), (cleanup_identity), (GST_START_TEST),
6856         (identity_suite), (main):
6857           add a test for identity
6858         * check/Makefile.am:
6859         * pkgconfig/Makefile.am:
6860         * pkgconfig/gstreamer-check.pc.in:
6861         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6862         * gst/check:
6863         * gst/Makefile.am:
6864         * configure.ac:
6865           move the check stuff to a library that gets installed
6866         * check/gst-libs/controller.c: (GST_START_TEST):
6867         * check/gst-libs/gdp.c:
6868         * check/gst/gst.c: (GST_START_TEST):
6869         * check/gst/gstbin.c:
6870         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6871         * check/gst/gstbus.c:
6872         * check/gst/gstcaps.c: (GST_START_TEST):
6873         * check/gst/gstelement.c:
6874         * check/gst/gstghostpad.c:
6875         * check/gst/gstiterator.c:
6876         * check/gst/gstmessage.c:
6877         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6878         * check/gst/gstobject.c:
6879         * check/gst/gstpad.c: (GST_START_TEST):
6880         * check/gst/gststructure.c: (GST_START_TEST):
6881         * check/gst/gstsystemclock.c: (GST_START_TEST),
6882         (gst_systemclock_suite):
6883         * check/gst/gsttag.c: (gst_tag_suite):
6884         * check/gst/gstvalue.c:
6885         * check/pipelines/cleanup.c:
6886         * check/pipelines/simple_launch_lines.c:
6887         * check/states/sinks.c:
6888           change include statement
6889
6890         * docs/gst/gstreamer-sections.txt:
6891         * docs/gst/tmpl/gstpad.sgml:
6892           document more pad stuff
6893         * gst/gstminiobject.c: (gst_mini_object_ref),
6894         (gst_mini_object_unref):
6895           debug refcounting
6896
6897 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6898
6899         * docs/gst/tmpl/gst.sgml:
6900         * gst/gst.c:
6901           eliminate another tmpl file, fix spelling in the long-description
6902
6903 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6904
6905         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6906         (test_event), (timediff), (gstevents_suite):
6907           Should fix build on 64-bit arch's
6908
6909 2005-08-18  Andy Wingo  <wingo@pobox.com>
6910
6911         Make sure that when a pipeline goes to PLAYING, that data has
6912         actually hit the sink.
6913
6914         * check/states/sinks.c (test_sink): A sink that doesn't get any
6915         data shouldn't return SUCCESS for going to either PLAYING or
6916         PAUSED. Test also the return values on the way back down.
6917
6918         * gst/gstelement.c (gst_element_set_state): When changing the
6919         state of an element currently changing state asynchronously, go to
6920         lost-state after commiting the pending state. Makes future calls
6921         to get_state continue to return ASYNC.
6922
6923         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6924         ASYNC when going to PLAYING if we still don't have preroll, as can
6925         happen with live sources.
6926
6927 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6928
6929         * docs/pwg/advanced-types.xml:
6930           Hack long paragraph into 2 chunks as a workaround for buggy
6931           jadetex version in sid and breezy that loops infinitely and
6932           eats all RAM.
6933
6934 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6935
6936         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6937         (test_event), (timediff), (gstevents_suite):
6938           Provide more error margin in clock measurements to allow for 
6939           g_get_current_time inaccuracies.
6940
6941 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6942
6943         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6944         (test_event), (timediff), (gstevents_suite):
6945            Fix error message output so I might be able to tell why the
6946            test works here but fails on the build farm.
6947
6948 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6949
6950         * check/Makefile.am:
6951         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6952         (test_event), (timediff), (gstevents_suite), (main):
6953           I wrote a test!
6954
6955         * docs/design/part-seeking.txt:
6956           Spelling correction
6957
6958         * docs/gst/tmpl/gstevent.sgml:
6959         * docs/gst/tmpl/gstfakesrc.sgml:
6960           Docs updates.
6961
6962         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6963           Treat a buffer-without-newsegment the same as a receiving 
6964           a newsegment not in time format, and disable syncing to the clock
6965           with a warning.
6966
6967         * gst/gstbus.c: (gst_bus_set_sync_handler):
6968           Assert if anyone tries to replace the existing sync_handler for bus, 
6969           as only the owner should be setting it.
6970
6971         * gst/gstevent.h:
6972           Have a fixed set of custom event enums with events identified by
6973           their structure name (as in 0.8), rather than a free-for-all
6974           allowing collisions between enum values from different plugins.
6975
6976         * gst/gstpad.c: (gst_pad_class_init):
6977           Docs change.
6978           
6979         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6980           Handle out-of-band downstream events from the sending thread.
6981
6982 2005-08-17  Andy Wingo  <wingo@pobox.com>
6983
6984         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6985         play-timeout==0 to mean no timeout at all. In that case, don't
6986         bother with a get_state or a warning, just return directly, even
6987         if it's ASYNC.
6988
6989         * gst/base/gstbasetransform.c: Debug changes.
6990
6991         * gst/gstutils.h:
6992         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6993         ensure bins post state change messages. A bit of a hack but I can't
6994         think of a way to avoid it.
6995
6996         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6997
6998 2005-08-16  Andy Wingo  <wingo@pobox.com>
6999
7000         * gst/base/gstadapter.h:
7001         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7002         peek() but you own the data. Not terribly efficient atm.
7003
7004 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7005
7006         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7007         (gst_element_found_tags):
7008         * gst/gstutils.h:
7009           Add two utility functions for tag handling.
7010
7011 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7012
7013         * docs/manual/advanced-dataaccess.xml:
7014         * docs/manual/basics-helloworld.xml:
7015           Fix docs to use _bin_add() before _link(), which fixes the examples
7016           with recent core versions (reported by Madhan Raj M
7017           <raj_madan@rediffmail.com>, #313199).
7018
7019 2005-08-16  Wim Taymans  <wim@fluendo.com>
7020
7021         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7022         Added subtract checks.
7023
7024         * docs/design/part-events.txt:
7025         Some more docs about newsegment
7026
7027         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7028         Fix FIXME
7029
7030         * gst/gstcaps.c: (gst_caps_to_string):
7031         Add comments, cleanups.
7032         
7033         * gst/gstelement.c: (gst_element_save_thyself):
7034         cleanups
7035         
7036         * gst/gstvalue.c: (gst_value_collect_int_range),
7037         (gst_string_unwrap), (gst_value_union_int_int_range),
7038         (gst_value_union_int_range_int_range),
7039         (gst_value_intersect_int_int_range),
7040         (gst_value_intersect_int_range_int_range),
7041         (gst_value_intersect_double_double_range),
7042         (gst_value_intersect_double_range_double_range),
7043         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7044         (gst_value_subtract_int_range_int),
7045         (gst_value_subtract_double_range_double),
7046         (gst_value_subtract_double_range_double_range),
7047         (gst_value_subtract_from_list), (gst_value_subtract_list),
7048         (gst_value_can_compare), (gst_value_compare_fraction):
7049         Cleanups, add comments, remove unneeded asserts.
7050
7051 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7052
7053         * tools/gst-launch.c: (event_loop):
7054           don't convert NULL structures to strings
7055
7056 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7057
7058         * docs/gst/gstreamer-sections.txt:
7059           made some defines private
7060         * docs/gst/tmpl/gstconfig.sgml:
7061         * docs/gst/tmpl/gstqueue.sgml:
7062         * docs/gst/tmpl/gsttaglist.sgml:
7063         * docs/gst/tmpl/gsttypes.sgml:
7064         * docs/gst/tmpl/gstutils.sgml:
7065         * docs/pwg/appendix-porting.xml:
7066         * gst/base/gstbasesink.h:
7067         * gst/base/gstbasesrc.c:
7068         * gst/base/gstbasesrc.h:
7069         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7070         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7071         * gst/gstelement.c: (gst_element_class_init):
7072         * gst/gstpad.c: (gst_pad_class_init):
7073         * gst/gstqueue.c: (gst_queue_class_init):
7074         * gst/gstxml.c: (gst_xml_class_init):
7075           documented all undocumented signal inline
7076         * libs/gst/controller/gst-controller.h:
7077           added padding
7078
7079 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7080
7081         * docs/pwg/appendix-porting.xml:
7082           Document _set_link_function -> _set_setcaps_function.
7083
7084 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7085
7086         * check/Makefile.am:
7087           add a .check target for running the check
7088         * check/gst-libs/controller.c: (GST_START_TEST):
7089           cosmetic fixups
7090         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7091           complete checks for gstbuffer; would be nice if I could get the
7092           gcov stuff to work so I can see if I actually completed gstbuffer.c
7093         * check/gstcheck.h:
7094           add ASSERT_BUFFER_REFCOUNT
7095
7096 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7097
7098         * docs/gst/gstreamer-sections.txt:
7099         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7100         * gst/gsttag.h:
7101           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7102           spew out a warning if a tag that is already registered
7103           is re-registered, unless it is re-registered with a 
7104           different type (#308438).
7105
7106 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7107
7108         * docs/pwg/appendix-porting.xml:
7109         * docs/pwg/building-state.xml:
7110           Add some paragraphs about state changes in 0.9 to the PWG
7111           and the porting guide, in particular about the new meaning
7112           of GST_STATE_PAUSED and how to write state change functions
7113           with concurrent access by multiple threads in mind.
7114
7115 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7116
7117         * docs/gst/gstreamer-docs.sgml:
7118         * docs/libs/gstreamer-libs-docs.sgml:
7119           added deprecation and since indexes
7120         * libs/gst/controller/gst-controller.c:
7121         * libs/gst/controller/gst-helper.c:
7122           added since tags
7123
7124
7125 2005-08-11  Wim Taymans  <wim@fluendo.com>
7126
7127         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7128         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7129         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7130         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7131         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7132         (gst_ghost_pad_set_target):
7133         Actually implement (re)setting the target on a ghostpad
7134         as described in the docs.
7135
7136 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7137
7138         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7139           Check whether GST_DEBUG_NO_COLOR environment variable is
7140           set and disable coloured debug output if that is the case.
7141
7142 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7143
7144         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7145         (gst_type_find_helper):
7146           The memory returned by gst_type_find_peek() needs to
7147           stay valid until the end of a typefind function, and
7148           typefind functions may keep results from different 
7149           offsets around, so we can't just unref the buffer from
7150           the previous _peek(), but have to save all buffers 
7151           returned by _peek() until typefinding is done and only
7152           free them then.
7153
7154 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7155
7156         * docs/gst/gstreamer-sections.txt:
7157         * gst/gstutils.h:
7158           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7159
7160 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7161
7162         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7163           Fix a pretty good memleak.
7164
7165 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7166
7167         * gst/gstiterator.h:
7168           Fix wrong include and 'make distcheck'.
7169
7170 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7171
7172         * gst/gstbin.c: (bin_bus_handler):
7173           Use gst_element_post_message() instead.
7174
7175 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7176
7177         * gst/base/gstadapter.h:
7178         * gst/base/gstbasesink.h:
7179         * gst/base/gstbasesrc.h:
7180         * gst/base/gstbasetransform.h:
7181         * gst/base/gstcollectpads.h:
7182         * gst/base/gstpushsrc.h:
7183         * gst/gstiterator.h:
7184           Add padding to our base elements' class and instance structs and
7185           to GstIterator (you will need to rebuild all plugins and apps!)
7186
7187 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7188
7189         * gst/gstbin.c: (bin_bus_handler):
7190           Make default message forwarding from child->bus to bin->bus
7191           threadsafe and make it not emit warnings if the parent has no bus.
7192
7193 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7194
7195         * gst/gstelement.c: (activate_pads):
7196           On paused->ready, set pad->caps to NULL, as is the documented
7197           behaviour in this state change. Fixes playback of series of
7198           media files when visualization is enabled in Totem.
7199
7200 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7201
7202         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7203           Allow NULL as filter-caps (which means "any").
7204
7205 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7206
7207         * docs/libs/gstreamer-libs-sections.txt:
7208         * libs/gst/controller/gst-controller.c:
7209         * libs/gst/controller/gst-controller.h:
7210         * libs/gst/controller/gst-helper.c:
7211           adding more entries to the docs and fix small doc-bugs
7212
7213 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7214
7215         * docs/gst/gstreamer-docs.sgml:
7216         * docs/gst/gstreamer-sections.txt:
7217         * docs/gst/gstreamer.types:
7218         * docs/gst/tmpl/gstbasesink.sgml:
7219         * docs/gst/tmpl/gstbasesrc.sgml:
7220         * docs/gst/tmpl/gstbasetransform.sgml:
7221         * docs/gst/tmpl/gstfakesrc.sgml:
7222         * gst/base/gstcollectpads.c:
7223         * gst/base/gstcollectpads.h:
7224         * libs/gst/controller/gst-controller.c:
7225         * libs/gst/controller/gst-controller.h:
7226         * libs/gst/controller/gst-helper.c:
7227         * libs/gst/controller/gst-interpolation.c:
7228         * libs/gst/controller/lib.c:
7229           added long/short desc for controller docs
7230           added collectpads base class docs
7231           added correct includes to base-class docs
7232
7233 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7234
7235         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7236         (gst_test_mono_source_set_property),
7237         (gst_test_mono_source_class_init), (GST_START_TEST),
7238         (gst_controller_suite):
7239         * docs/gst/gstreamer-docs.sgml:
7240         * docs/gst/gstreamer-sections.txt:
7241         * docs/gst/gstreamer.types:
7242         * docs/libs/gstreamer-libs-docs.sgml:
7243         * docs/libs/gstreamer-libs-sections.txt:
7244         * gst/base/gstadapter.c:
7245         * libs/gst/controller/gst-controller.c:
7246         (gst_controlled_property_new), (gst_controlled_property_free),
7247         (gst_controller_new_valist),
7248         (gst_controller_remove_properties_valist),
7249         (gst_controller_sink_values), (_gst_controller_finalize):
7250         * libs/gst/controller/gst-controller.h:
7251         * libs/gst/controller/gst-helper.c:
7252         (gst_object_control_properties), (gst_object_uncontrol_properties),
7253         (gst_object_get_controller), (gst_object_set_controller),
7254         (gst_object_sink_values), (gst_object_get_value_arrays),
7255         (gst_object_get_value_array):
7256           more tests (and fixes) for the controller
7257           more docs for the controller
7258           integrated companies docs for the adapter 
7259
7260 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7261
7262         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7263         (GST_START_TEST), (fakesrc_suite):
7264           add tests for sizetype
7265
7266 2005-08-04  Andy Wingo  <wingo@pobox.com>
7267
7268         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7269         fixes buffer_alloc proxying among other things.
7270
7271         * gst/base/gstbasetransform.c:
7272         * gst/base/gstbasetransform.h:
7273         Revert patch to gstbasetransform from 7-28 removing
7274         delay_configure.
7275
7276         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7277         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7278         Semantics changed, should return not the size of the output buffer
7279         but the byte size of a buffer with a given caps.
7280
7281         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7282         debug object.
7283         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7284         out) are not the pad caps until setcaps finishes.
7285         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7286         not-in-place case as well. Deal with changing from in-place to
7287         not-in-place within calling pad_alloc_buffer. Still a bit
7288         concerned about the overhead here...
7289
7290 2005-08-03  Andy Wingo  <wingo@pobox.com>
7291
7292         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7293         fixating is an error.
7294
7295 2005-08-04  Edward Hervey  <edward@fluendo.com>
7296
7297         * gst/base/gstadapter.h: 
7298         Added gst_adapter_get_type() to the header
7299
7300 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7301
7302         * check/Makefile.am:
7303         * check/gst-libs/controller.c:
7304         * libs/gst/controller/gst-controller.c:
7305         (gst_controller_new_valist):
7306           added check test suite for the controller
7307         * gst/base/gstpushsrc.c:
7308           fixed a doc typo
7309
7310 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7311
7312         * docs/gst/Makefile.am:
7313         * docs/gst/gstreamer-docs.sgml:
7314         * docs/gst/gstreamer-sections.txt:
7315         * docs/gst/gstreamer.types:
7316         * docs/gst/tmpl/gstfakesrc.sgml:
7317         * gst/base/README:
7318         * gst/base/gstbasesink.c:
7319         * gst/base/gstbasesink.h:
7320         * gst/base/gstbasesrc.c:
7321         * gst/base/gstbasesrc.h:
7322         * gst/base/gstbasetransform.c:
7323         * gst/base/gstpushsrc.c:
7324         * gst/base/gstpushsrc.h:
7325           add short/long description docs to base classes
7326           add pushsrc to the docs
7327           remove consolidated doc fragments
7328
7329 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7330
7331         * configure.ac:
7332         * docs/libs/Makefile.am:
7333         * docs/libs/gstreamer-libs-docs.sgml:
7334         * docs/libs/gstreamer-libs-sections.txt:
7335         * docs/libs/gstreamer-libs.types:
7336         * examples/Makefile.am:
7337         * examples/controller/.cvsignore:
7338         * examples/controller/Makefile.am:
7339         * examples/controller/audio-example.c: (main):
7340         * libs/gst/Makefile.am:
7341         * libs/gst/controller/.cvsignore:
7342         * libs/gst/controller/Makefile.am:
7343         * libs/gst/controller/gst-controller.c:
7344         (on_object_controlled_property_changed), (gst_timed_value_compare),
7345         (gst_timed_value_find),
7346         (gst_controlled_property_set_interpolation_mode),
7347         (gst_controlled_property_new), (gst_controlled_property_free),
7348         (gst_controller_find_controlled_property),
7349         (gst_controller_new_valist), (gst_controller_new),
7350         (gst_controller_remove_properties_valist),
7351         (gst_controller_remove_properties), (gst_controller_set),
7352         (gst_controller_set_from_list), (gst_controller_unset),
7353         (gst_controller_get), (gst_controller_get_all),
7354         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7355         (gst_controller_get_value_array),
7356         (gst_controller_set_interpolation_mode),
7357         (_gst_controller_finalize), (_gst_controller_init),
7358         (_gst_controller_class_init), (gst_controller_get_type):
7359         * libs/gst/controller/gst-controller.h:
7360         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7361         (g_object_uncontrol_properties), (g_object_get_controller),
7362         (g_object_set_controller), (g_object_sink_values),
7363         (g_object_get_value_arrays), (g_object_get_value_array):
7364         * libs/gst/controller/gst-interpolation.c:
7365         (gst_controlled_property_find_timed_value_node),
7366         (interpolate_none_get), (interpolate_trigger_get),
7367         (interpolate_trigger_get_value_array):
7368         * libs/gst/controller/lib.c: (gst_controller_init):
7369         * pkgconfig/Makefile.am:
7370         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7371         * pkgconfig/gstreamer-control.pc.in:
7372         * testsuite/Makefile.am:
7373         * testsuite/controller/.cvsignore:
7374         * testsuite/controller/Makefile.am:
7375         * testsuite/controller/interpolator.c: (main):
7376           added controller code
7377           removed dparam pc files
7378
7379 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7380         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7381         (gst_collectpads_stop):
7382           Broadcast the condition when shutting down, to make sure we wake all
7383           threads up. Shut down pads on finalize, for safety.
7384
7385 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7386         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7387         (gst_base_transform_handle_buffer),
7388         (gst_base_transform_change_state):
7389           Handle PAUSED->READY->PAUSED transition after negotiation
7390           occurred already.
7391         * gst/gstmessage.c: (gst_message_init):
7392           Extra piece of debug for new messages.
7393
7394 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7395
7396         * configure.ac:
7397         * docs/gst/tmpl/gstbasesrc.sgml:
7398         * docs/gst/tmpl/gstelement.sgml:
7399         * docs/gst/tmpl/gstevent.sgml:
7400         * docs/gst/tmpl/gstfakesrc.sgml:
7401         * docs/gst/tmpl/gstformat.sgml:
7402         * docs/gst/tmpl/gstghostpad.sgml:
7403         * docs/gst/tmpl/gstpad.sgml:
7404         * docs/gst/tmpl/gstquery.sgml:
7405         * docs/gst/tmpl/gststructure.sgml:
7406         * docs/gst/tmpl/gsttaglist.sgml:
7407         * docs/gst/tmpl/gstvalue.sgml:
7408         * docs/libs/gstreamer-libs-docs.sgml:
7409         * docs/libs/gstreamer-libs-sections.txt:
7410         * docs/libs/gstreamer-libs.types:
7411         * libs/gst/Makefile.am:
7412         * libs/gst/control/.cvsignore:
7413         * libs/gst/control/Makefile.am:
7414         * libs/gst/control/control.c:
7415         * libs/gst/control/control.h:
7416         * libs/gst/control/dparam.c:
7417         * libs/gst/control/dparam.h:
7418         * libs/gst/control/dparam_smooth.c:
7419         * libs/gst/control/dparam_smooth.h:
7420         * libs/gst/control/dparamcommon.h:
7421         * libs/gst/control/dparammanager.c:
7422         * libs/gst/control/dparammanager.h:
7423         * libs/gst/control/dplinearinterp.c:
7424         * libs/gst/control/dplinearinterp.h:
7425         * libs/gst/control/unitconvert.c:
7426         * libs/gst/control/unitconvert.h:
7427         * testsuite/Makefile.am:
7428         * testsuite/dynparams/.cvsignore:
7429         * testsuite/dynparams/Makefile.am:
7430         * testsuite/dynparams/dparamstest.c:
7431         * tools/Makefile.am:
7432         * tools/gst-inspect.c: (print_element_info), (main):
7433         * tools/gst-xmlinspect.c: (print_element_info), (main):
7434           deactivate and remove dparams (libgstcontrol)
7435
7436 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7437
7438         * gst/elements/gsttypefindelement.c:
7439         (gst_type_find_element_have_type), (gst_type_find_element_init),
7440         (stop_typefinding), (gst_type_find_element_handle_event),
7441         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7442         * gst/elements/gsttypefindelement.h:
7443           Set caps on all outgoing buffers, not just the first one.
7444
7445 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7446
7447         * gst/elements/gsttypefindelement.c:
7448         (gst_type_find_element_have_type),
7449         (gst_type_find_element_check_set_buffer_caps),
7450         (gst_type_find_element_init), (stop_typefinding),
7451         (gst_type_find_element_handle_event),
7452         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7453         * gst/elements/gsttypefindelement.h:
7454           Set caps on first outgoing buffer when we've found the type.
7455
7456 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7457
7458         * docs/gst/gstreamer-docs.sgml:
7459         * docs/gst/gstreamer-sections.txt:
7460         * docs/gst/tmpl/gstscheduler.sgml:
7461         * docs/gst/tmpl/gstschedulerfactory.sgml:
7462           Remove some old cruft from docs.
7463
7464 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7465
7466         * gst/gstpad.h:
7467           Fix inline docs for GstPadLinkReturn.
7468           
7469         * gst/gststructure.c: (gst_structure_has_name):
7470         * gst/gststructure.h:
7471         * docs/gst/gstreamer-sections.txt:
7472           New API: gst_structure_has_name().
7473
7474 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7475
7476         * configure.ac:
7477           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7478           and _LARGEFILE_SOURCE in config.h as required. Do not 
7479           export those flags in our .pc files any longer (#142209).
7480
7481           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7482
7483         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7484         (gst_file_sink_do_seek), (gst_file_sink_event),
7485         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7486           Redo seek/tell calls with large file support in mind; add some
7487           debugging messages; add log message that tells us when large
7488           file support is unavailable or not enabled for some reason.
7489
7490         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7491           Add log message that tells us when large file support 
7492           is unavailable or not enabled for some reason.
7493
7494 2005-07-29  Wim Taymans  <wim@fluendo.com>
7495
7496         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7497         Added test for removing an element with ghostpad from a bin.
7498         Fixed test as current implementation does the right thing.
7499
7500         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7501         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7502         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7503         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7504         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7505         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7506         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7507         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7508         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7509         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7510         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7511         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7512         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7513         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7514         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7515         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7516         * gst/gstghostpad.h:
7517         Clean up ghostpads, remove properties for internal stuff.
7518         Make threadsafe.
7519         Fix refcounting.
7520         Prepare for switching targets, not all use cases work yet.
7521
7522 2005-07-29  Wim Taymans  <wim@fluendo.com>
7523
7524         * docs/design/part-gstghostpad.txt:
7525         Small update.
7526
7527         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7528         (gst_bin_remove_func):
7529         Unlinking pads while holding the bin LOCK is not a good
7530         idea.
7531
7532         * gst/gstpad.c: (gst_pad_class_init),
7533         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7534         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7535         No prob setting template after creating the pad.
7536
7537 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7538
7539         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7540         (gst_bus_peek), (gst_bus_source_dispatch),
7541         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7542         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7543           gst_bus_poll may be called from other threads. Handle
7544           this nicely by not making poll_data disappear off the
7545           stack once gst_bus_poll returns.
7546           gst_bus_peek now increments the refcount on the returned
7547           message.
7548
7549 2005-07-29  Wim Taymans  <wim@fluendo.com>
7550
7551         * docs/design/part-gstghostpad.txt:
7552         Overview of current GhostPad datastructures and use
7553         cases for changing the target.
7554
7555 2005-07-28  Wim Taymans  <wim@fluendo.com>
7556
7557         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7558         Added checks for hierarchy consistency whan adding linked
7559         elements to bins.
7560
7561         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7562         Added check to test element scheduling without bin/pipeline.
7563
7564         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7565         First add elements to bin, then link.
7566         
7567         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7568         (gst_bin_remove_func):
7569         Unlink pads from elements added/removed from bin to maintain
7570         hierarchy consistency.
7571
7572 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7573
7574         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7575         (gst_base_transform_handle_buffer):
7576         * gst/base/gstbasetransform.h:
7577           Remove broken delay_configure (fixes renegotiation of software
7578           scaling pipelines); remove some leftover printf()s.
7579
7580 2005-07-28  Wim Taymans  <wim@fluendo.com>
7581
7582         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7583         Added some more tests for wrong hierarchy
7584
7585         * docs/design/part-overview.txt:
7586         Some updates.
7587
7588         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7589         Cleanups.
7590
7591         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7592         (gst_element_dispose):
7593         Some more cleanups.
7594
7595         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7596         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7597         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7598         (gst_pad_set_caps), (gst_pad_send_event):
7599         Check for correct hierarchy when linking pads. Moving to
7600         strict requirement for ghostpads when linking elements in
7601         different bins.
7602
7603         * gst/gstpad.h:
7604         Clean ups. Added WRONG_HIERARCHY return value.
7605
7606 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7607
7608         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7609           Better debug if no transform is possible.
7610
7611 2005-07-27  Wim Taymans  <wim@fluendo.com>
7612
7613         * docs/random/wtay/network-transp:
7614         Some old doc I had.
7615
7616 2005-07-27  Wim Taymans  <wim@fluendo.com>
7617
7618         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7619         (gst_dp_event_from_packet):
7620         Fix serialization of seek events.
7621
7622 2005-07-27  Wim Taymans  <wim@fluendo.com>
7623
7624         * check/gst-libs/gdp.c: (GST_START_TEST):
7625         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7626         Fix compilation and fix event serialization.
7627
7628 2005-07-27  Wim Taymans  <wim@fluendo.com>
7629
7630         * CHANGES-0.9:
7631         * docs/design/part-TODO.txt:
7632         * docs/design/part-events.txt:
7633         Some docs updates
7634
7635         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7636         (gst_base_sink_event), (gst_base_sink_do_sync),
7637         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7638         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7639         (gst_base_src_do_seek), (gst_base_src_event_handler),
7640         (gst_base_src_loop):
7641         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7642         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7643         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7644         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7645         (gst_base_transform_set_passthrough),
7646         (gst_base_transform_is_passthrough):
7647         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7648         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7649         Event updates.
7650
7651         * gst/gstbuffer.h:
7652         Use faster casts.
7653
7654         * gst/gstelement.c: (gst_element_seek):
7655         * gst/gstelement.h:
7656         Update gst_element_seek.
7657
7658         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7659         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7660         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7661         (gst_event_new_eos), (gst_event_new_newsegment),
7662         (gst_event_parse_newsegment), (gst_event_new_tag),
7663         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7664         (gst_event_parse_qos), (gst_event_new_seek),
7665         (gst_event_parse_seek), (gst_event_new_navigation):
7666         * gst/gstevent.h:
7667         Make GstEvent use GstStructure. Add parsing code, make sure the
7668         API is sufficiently generic.
7669         Mark possible directions of events and serialization.
7670
7671         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7672         (_gst_message_copy), (gst_message_new_segment_start),
7673         (gst_message_new_segment_done), (gst_message_new_custom),
7674         (gst_message_parse_segment_start),
7675         (gst_message_parse_segment_done):
7676         Small cleanups.
7677
7678         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7679         (gst_pad_set_caps), (gst_pad_send_event):
7680         Update for new events. 
7681         Catch events sent in wrong directions.
7682
7683         * gst/gstqueue.c: (gst_queue_link_src),
7684         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7685         (gst_queue_handle_src_query):
7686         Event updates.
7687
7688         * gst/gsttag.c:
7689         * gst/gsttag.h:
7690         Remove event code from this file.
7691
7692         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7693         (gst_dp_event_from_packet):
7694         Event updates.
7695
7696 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7697
7698         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7699         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7700         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7701           Make debugging actually useful.
7702
7703 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7704
7705         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7706         (gst_pad_fixate_caps):
7707           Implement default fixation once again, so that gst_pad_fixate()
7708           actually does anything at all. This probably needs to be some
7709           sort of a last resort, and use profile-based fixation first, but
7710           since that doesn't exist yet, this is the best we have. Fixes
7711           visualization in Totem.
7712
7713 2005-07-22  Wim Taymans  <wim@fluendo.com>
7714
7715         * docs/design/part-events.txt:
7716         Small update.
7717
7718         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7719         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7720         (gst_base_sink_activate_pull):
7721         Some more comments.
7722
7723         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7724         (gst_fake_src_create):
7725         Fix handoff marshall.
7726
7727         * gst/elements/gstidentity.c: (gst_identity_class_init),
7728         (gst_identity_transform_ip):
7729         We're a real inplace element.
7730
7731         * gst/gstbus.c: (gst_bus_post):
7732         Added some comments.
7733
7734         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7735         * tests/muxing/case1.c: (main):
7736         * tests/sched/dynamic-pipeline.c: (main):
7737         * tests/sched/interrupt1.c: (main):
7738         * tests/sched/interrupt2.c: (main):
7739         * tests/sched/interrupt3.c: (main):
7740         * tests/sched/runxml.c: (main):
7741         * tests/sched/sched-stress.c: (main):
7742         * tests/seeking/seeking1.c: (event_received), (main):
7743         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7744         (main):
7745         * tests/threadstate/threadstate3.c: (main):
7746         * tests/threadstate/threadstate4.c: (main):
7747         * tests/threadstate/threadstate5.c: (main):
7748         Fix the tests.
7749
7750 2005-07-21  Wim Taymans  <wim@fluendo.com>
7751
7752         * docs/design/part-seeking.txt:
7753         Some small additions.
7754
7755         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7756         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7757         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7758         * gst/base/gstbasesink.h:
7759         discont values are gint64, handle the math correctly.
7760
7761         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7762         Make the basesrc report error if the source pad is not linked.
7763
7764         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7765         (gst_queue_loop), (gst_queue_handle_src_query),
7766         (gst_queue_src_activate_push):
7767         Make queue collect data even if the srcpad is not linked.
7768         Start pushing out data as soon as it is linked.
7769
7770         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7771         * gst/gstutils.h:
7772         Added gst_flow_get_name() to ease error reporting.
7773
7774 2005-07-20  Wim Taymans  <wim@fluendo.com>
7775
7776         * gst/gstmessage.c: (gst_message_new_segment_start),
7777         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7778         (gst_message_parse_segment_done):
7779         * gst/gstmessage.h:
7780         Added a bunch of messages for advanced seeking.
7781
7782         * gst/parse/grammar.y:
7783         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7784         (gst_dpman_state_changed):
7785         Fix some new-pad -> pad-added signals
7786
7787 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7788
7789         * docs/manual/appendix-porting.xml:
7790         * docs/pwg/appendix-porting.xml:
7791           Document new-pad/state-change signal renames and the FixedList
7792           type rename.
7793
7794 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7795
7796         * docs/manual/advanced-autoplugging.xml:
7797         * docs/manual/basics-helloworld.xml:
7798         * docs/manual/basics-pads.xml:
7799         * docs/random/ds/0.9-suggested-changes:
7800         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7801         * gst/gstelement.h:
7802         * gst/gstevent.h:
7803         * gst/gstformat.h:
7804         * gst/gstquery.h:
7805         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7806         (gst_structure_parse_array), (gst_structure_parse_value):
7807         * gst/gstvalue.c: (gst_type_is_fixed),
7808         (gst_value_list_prepend_value), (gst_value_list_append_value),
7809         (gst_value_list_get_size), (gst_value_list_get_value),
7810         (gst_value_transform_array_string), (gst_value_serialize_array),
7811         (gst_value_deserialize_array), (gst_value_intersect_array),
7812         (gst_value_is_fixed), (_gst_value_initialize):
7813         * gst/gstvalue.h:
7814           GstElement::new-pad -> pad-added, GstElement::state-change ->
7815           state-changed, GstValueFixedList -> GstValueArray, add format and
7816           flags as their own arguments in gst_element_seek() (should improve
7817           "bindeability"), remove function generators since they don't work
7818           under a whole bunch of compilers (they were deprecated already
7819           anyway).
7820
7821 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7822
7823         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7824         (_gst_debug_register_funcptr):
7825         * gst/gstinfo.h:
7826           Fix illegal cast on some platforms (#309253).
7827
7828 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7829
7830         * gst/gstmessage.c: (gst_message_new_custom):
7831         * gst/gstmessage.h:
7832           Add _new_custom, make _new_application a macro to _new_custom.
7833
7834 2005-07-20  Wim Taymans  <wim@fluendo.com>
7835
7836         * gst/base/gstbasesrc.c: (gst_base_src_init),
7837         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7838         * gst/base/gstbasesrc.h:
7839         Add a gboolean to decide when to push out a discont.
7840
7841         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7842         (gst_queue_loop), (gst_queue_handle_src_query),
7843         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7844         (gst_queue_set_property), (gst_queue_get_property):
7845         Some cleanups.
7846
7847         * tests/threadstate/threadstate1.c: (main):
7848         Make a thread test compile and run... very silly..
7849
7850
7851 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7852
7853         * docs/manual/appendix-porting.xml:
7854           Mention removal of libgstgconf-0.9.la and existence of gconf
7855           elements.
7856
7857 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7858
7859         * docs/pwg/advanced-clock.xml:
7860         * docs/pwg/appendix-porting.xml:
7861         * docs/pwg/intro-preface.xml:
7862         * docs/pwg/other-base.xml:
7863         * docs/pwg/other-manager.xml:
7864         * docs/pwg/other-nton.xml:
7865         * docs/pwg/other-ntoone.xml:
7866         * docs/pwg/other-oneton.xml:
7867         * docs/pwg/pwg.xml:
7868           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7869           demuxer), remove n-to-n (was never written), fix some code examples
7870           and links and update the porting section to include all this.
7871
7872 2005-07-19  Wim Taymans  <wim@fluendo.com>
7873
7874         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7875         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7876         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7877         (gst_queue_src_activate_push), (gst_queue_change_state),
7878         (gst_queue_get_property):
7879         * gst/gstqueue.h:
7880         Propagate GstFlowReturn more intelligently upstream and output
7881         an ERROR/EOS when streaming stopped due to fatal error.
7882
7883 2005-07-19  Wim Taymans  <wim@fluendo.com>
7884
7885         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7886         Don't block forever for the state change to complete, the
7887         pipeline already did with a sensible timeout.
7888
7889 2005-07-19  Wim Taymans  <wim@fluendo.com>
7890
7891         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7892         Make sure we never call the create function is we
7893         got deactivated.
7894
7895 2005-07-19  Andy Wingo  <wingo@pobox.com>
7896
7897         * gst/parse/parse.l: Attempt to solve bug #172815.
7898
7899 2005-07-19  Wim Taymans  <wim@fluendo.com>
7900
7901         * docs/design/part-clocks.txt:
7902         * docs/design/part-events.txt:
7903         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7904         Small docs updates.
7905         Only update the seeking values when we are not
7906         busy streaming.
7907
7908 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7909
7910         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7911           Oops, ignore the result of gst_pad_push_event here.
7912
7913 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7914
7915         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7916         (gst_base_src_activate_push):
7917           Send discont event from the loop function, as pads
7918           aren't activated yet in the activate_push handler.
7919
7920         * gst/gstbin.c: (bin_bus_handler):
7921           Don't leak element name.
7922
7923 2005-07-18  Andy Wingo  <wingo@pobox.com>
7924
7925         * configure.ac: Use AS_LIBTOOL_TAGS.
7926
7927 2005-07-18  Wim Taymans  <wim@fluendo.com>
7928
7929         * docs/gst/gstreamer.types:
7930         Remove deleted types.
7931
7932 2005-07-18  Wim Taymans  <wim@fluendo.com>
7933
7934         * check/elements/gstfakesrc.c: (GST_START_TEST):
7935         * configure.ac:
7936         * gst/Makefile.am:
7937         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7938         (init_popt_callback):
7939         * gst/gst.h:
7940         * gst/gst_private.h:
7941         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7942         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7943         * gst/gstbin.h:
7944         * gst/gstbus.h:
7945         * gst/gstconfig.h.in:
7946         * gst/gstelement.c: (gst_element_class_init),
7947         (gst_element_set_base_time), (gst_element_get_base_time),
7948         (iterator_fold_with_resync), (gst_element_change_state),
7949         (gst_element_dispose), (gst_element_get_bus):
7950         * gst/gstelement.h:
7951         * gst/gstelementfactory.h:
7952         * gst/gsterror.c: (_gst_core_errors_init):
7953         * gst/gsterror.h:
7954         * gst/gstevent.h:
7955         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7956         * gst/gstindex.c:
7957         * gst/gstinfo.c: (_gst_debug_init):
7958         * gst/gstmessage.c: (_gst_message_copy):
7959         * gst/gstmessage.h:
7960         * gst/gstminiobject.h:
7961         * gst/gstobject.c:
7962         * gst/gstobject.h:
7963         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7964         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7965         * gst/gstpad.h:
7966         * gst/gstparse.h:
7967         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7968         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7969         (gst_pipeline_get_last_stream_time):
7970         * gst/gstpipeline.h:
7971         * gst/gstpluginfeature.h:
7972         * gst/gstquery.h:
7973         * gst/gstscheduler.c:
7974         * gst/gstscheduler.h:
7975         * gst/gststructure.h:
7976         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7977         (gst_task_finalize), (gst_task_func), (gst_task_create),
7978         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7979         (gst_task_stop), (gst_task_pause):
7980         * gst/gsttask.h:
7981         * gst/gsttypefind.h:
7982         * gst/gsttypes.h:
7983         * gst/registries/gstlibxmlregistry.c: (load_feature),
7984         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7985         * gst/registries/gstxmlregistry.c:
7986         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7987         * gst/schedulers/threadscheduler.c:
7988         * libs/gst/control/dparammanager.h:
7989         * tools/gst-inspect.c: (print_element_list),
7990         (print_plugin_features), (print_element_features):
7991         * tools/gst-xmlinspect.c: (print_element_list),
7992         (print_plugin_info), (main):
7993         Removed plugable schedulers.
7994         Removed Scheduler/Manager from elements.
7995         Removed gsttypes.h, rearranged includes.
7996         Removed dependency pad<->element, element<>pipeline, and
7997         various others,  fix includes.
7998         implement gst_pad_get_parent() with gst_object_get_parent()
7999         Make GstTask sefcontained.
8000         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8001         timeout.
8002         Fix endless loop in iterator_fold_with_resync.
8003
8004
8005 2005-07-18  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/Makefile.am:
8008         * gst/gstarch.h:
8009         Remove old file.
8010
8011 2005-07-18  Wim Taymans  <wim@fluendo.com>
8012
8013         * gst/Makefile.am:
8014         No more cothreads.h
8015
8016 2005-07-18  Wim Taymans  <wim@fluendo.com>
8017
8018         * gst/cothreads.c:
8019         * gst/cothreads.h:
8020         Let's remove these.
8021
8022 2005-07-18  Wim Taymans  <wim@fluendo.com>
8023
8024         * docs/design/part-dynamic.txt:
8025         * docs/design/part-events.txt:
8026         * docs/design/part-seeking.txt:
8027         Some more docs in the works.
8028
8029         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8030         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8031         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8032         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8033         (gst_base_transform_handle_buffer),
8034         (gst_base_transform_sink_activate_push),
8035         (gst_base_transform_src_activate_pull),
8036         (gst_base_transform_set_passthrough),
8037         (gst_base_transform_is_passthrough):
8038         Refcounting fixes.
8039
8040         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8041         Cleanups.
8042
8043         * gst/gstevent.c: (gst_event_finalize):
8044         Set SRC to NULL.
8045
8046         * gst/gstutils.c: (gst_element_unlink),
8047         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8048         (gst_pad_proxy_setcaps):
8049         * gst/gstutils.h:
8050         Add _get_parent_element() to get a pads parent as an element.
8051
8052 2005-07-18  Wim Taymans  <wim@fluendo.com>
8053
8054         * check/gst/gstbin.c: (GST_START_TEST):
8055         Remove bogus test.
8056
8057 2005-07-18  Wim Taymans  <wim@fluendo.com>
8058
8059         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8060         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8061         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8062         (gst_base_sink_event), (gst_base_sink_do_sync),
8063         (gst_base_sink_chain), (gst_base_sink_loop),
8064         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8065         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8066         Refcounting fixes.
8067         Fix logic for returning ASYNC when not prerolled.
8068
8069 2005-07-18  Wim Taymans  <wim@fluendo.com>
8070
8071         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8072         Fix nasty refcount bug.
8073
8074 2005-07-16 Philippe Khalaf <burger@speedy.org>
8075
8076         * gst/elements/gstfdsrc.c:
8077         * gst/elements/gstfdsrc.h:
8078         * gst/elements/gstelements.c:
8079         * gst/elements/Makefile.am:
8080         Ported fdsrc to 0.9.
8081
8082 2005-07-16  Wim Taymans  <wim@fluendo.com>
8083
8084         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8085         (gst_base_sink_do_sync):
8086         Fix compile error.
8087
8088 2005-07-16  Wim Taymans  <wim@fluendo.com>
8089
8090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8091         (gst_base_sink_event), (gst_base_sink_get_times),
8092         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8093         * gst/base/gstbasesink.h:
8094         Store and use discont values when syncing buffers as described
8095         in design docs.
8096         
8097         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8098         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8099         (gst_base_src_activate_push):
8100         Push discont event when starting.
8101
8102         * gst/elements/gstidentity.c: (gst_identity_transform):
8103         Small cleanups.
8104
8105         * gst/gstbin.c: (gst_bin_change_state):
8106         Small cleanups in base_time  distribution.
8107
8108         * gst/gstelement.c: (gst_element_set_base_time),
8109         (gst_element_get_base_time), (gst_element_change_state):
8110         * gst/gstelement.h:
8111         Added methods for the base_time of the element.
8112         Some MT fixes.
8113
8114         * gst/gstpipeline.c: (gst_pipeline_send_event),
8115         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8116         (gst_pipeline_get_last_stream_time):
8117         * gst/gstpipeline.h:
8118         MT fixes.
8119         Handle seeking as described in design doc, remove stream_time
8120         hack.
8121         Cleanups clock and stream_time selection code. Added accessors
8122         for the stream_time.
8123         
8124
8125 2005-07-16  Andy Wingo  <wingo@pobox.com>
8126
8127         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8128         (#305291).
8129
8130 2005-07-16  Wim Taymans  <wim@fluendo.com>
8131
8132         * check/gst/gstbin.c: (GST_START_TEST):
8133         Make elements silent as the deep_notify refs the
8134         parent, which might make the test fail.
8135
8136         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8137         Don't hold the lock for too long.
8138
8139 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8140
8141         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8142           Don't unref the caps we passed to gst_caps_make_writable() after
8143           passing them. gst_caps_make_writable() will do that for us.
8144
8145 2005-07-15  Andy Wingo  <wingo@pobox.com>
8146
8147         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8148         (#157311).
8149
8150         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8151         own marshalling function for the handoff signal. Properly type the
8152         buffer as a buffer. Fixes some warnings. Should do a more general
8153         solution.
8154         (gst_identity_class_init): Plug into the right marshaller.
8155
8156 2005-07-15  Wim Taymans  <wim@fluendo.com>
8157
8158         * docs/design/part-TODO.txt:
8159         * docs/design/part-clocks.txt:
8160         * docs/design/part-element-sink.txt:
8161         * docs/design/part-events.txt:
8162         * docs/design/part-gstpipeline.txt:
8163         Updated docs, mostly DISCONT related.
8164
8165 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8166
8167         * docs/pwg/building-pads.xml:
8168           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8169
8170 2005-07-15  Andy Wingo  <wingo@pobox.com>
8171
8172         * tools/gst-typefind.c: Update, add copyright block.
8173
8174         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8175         Normalize and truncate caps before fixation.
8176
8177         * gst/gstcaps.h:
8178         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8179         discards all but the first structure from its argument.
8180
8181 2005-07-15  Wim Taymans  <wim@fluendo.com>
8182
8183         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8184         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8185         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8186         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8187         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8188         (gst_base_transform_chain), (gst_base_transform_change_state),
8189         (gst_base_transform_set_passthrough),
8190         (gst_base_transform_is_passthrough):
8191         * gst/base/gstbasetransform.h:
8192         Make passthrough work using the bufferpools.
8193         Changed API a bit, subclasses have to write into a buffer
8194         provided by the base class.
8195         More debug info in nego functions.
8196         
8197         * gst/elements/gstidentity.c: (gst_identity_init),
8198         (gst_identity_transform):
8199         Port to new base class.
8200
8201 2005-07-15  Wim Taymans  <wim@fluendo.com>
8202
8203         * gst/gstmessage.c: (gst_message_new_state_changed):
8204         * tools/gst-launch.c: (event_loop), (main):
8205         Totally dump messages in -launch with the -m option.
8206         Fix message name for State messages,
8207
8208 2005-07-14  Wim Taymans  <wim@fluendo.com>
8209
8210         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8211         Post error messages on errors.
8212
8213 2005-07-14  Wim Taymans  <wim@fluendo.com>
8214
8215         * gst/gstcaps.c: (gst_caps_do_simplify):
8216         Remove debug info.
8217
8218         * gst/gsterror.h:
8219         Define error for stream stopped.
8220
8221         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8222         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8223         Do proper return values.
8224
8225         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8226         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8227         (gst_pad_get_range):
8228         Better return values.
8229
8230         * gst/gstpad.h:
8231         Reorganise return values, add macro to check for fatal errors.
8232
8233         * gst/gstqueue.c: (gst_queue_chain):
8234         Return proper GstFlowReturn values,
8235
8236 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8237
8238         * docs/gst/gstreamer-sections.txt:
8239         * docs/gst/gstreamer.types:
8240         * docs/gst/tmpl/gst.sgml:
8241         * docs/gst/tmpl/gstbasesink.sgml:
8242         * docs/gst/tmpl/gstbasesrc.sgml:
8243         * docs/gst/tmpl/gstbasetransform.sgml:
8244         * docs/gst/tmpl/gstbin.sgml:
8245         * docs/gst/tmpl/gstbuffer.sgml:
8246         * docs/gst/tmpl/gstcaps.sgml:
8247         * docs/gst/tmpl/gstclock.sgml:
8248         * docs/gst/tmpl/gstcompat.sgml:
8249         * docs/gst/tmpl/gstconfig.sgml:
8250         * docs/gst/tmpl/gstelement.sgml:
8251         * docs/gst/tmpl/gstelementdetails.sgml:
8252         * docs/gst/tmpl/gstelementfactory.sgml:
8253         * docs/gst/tmpl/gstenumtypes.sgml:
8254         * docs/gst/tmpl/gsterror.sgml:
8255         * docs/gst/tmpl/gstevent.sgml:
8256         * docs/gst/tmpl/gstfakesink.sgml:
8257         * docs/gst/tmpl/gstfakesrc.sgml:
8258         * docs/gst/tmpl/gstfilesink.sgml:
8259         * docs/gst/tmpl/gstfilesrc.sgml:
8260         * docs/gst/tmpl/gstfilter.sgml:
8261         * docs/gst/tmpl/gstformat.sgml:
8262         * docs/gst/tmpl/gstghostpad.sgml:
8263         * docs/gst/tmpl/gstimplementsinterface.sgml:
8264         * docs/gst/tmpl/gstindex.sgml:
8265         * docs/gst/tmpl/gstindexfactory.sgml:
8266         * docs/gst/tmpl/gstinfo.sgml:
8267         * docs/gst/tmpl/gstiterator.sgml:
8268         * docs/gst/tmpl/gstmacros.sgml:
8269         * docs/gst/tmpl/gstmemchunk.sgml:
8270         * docs/gst/tmpl/gstminiobject.sgml:
8271         * docs/gst/tmpl/gstobject.sgml:
8272         * docs/gst/tmpl/gstpad.sgml:
8273         * docs/gst/tmpl/gstpadtemplate.sgml:
8274         * docs/gst/tmpl/gstparse.sgml:
8275         * docs/gst/tmpl/gstpipeline.sgml:
8276         * docs/gst/tmpl/gstplugin.sgml:
8277         * docs/gst/tmpl/gstpluginfeature.sgml:
8278         * docs/gst/tmpl/gstquery.sgml:
8279         * docs/gst/tmpl/gstqueue.sgml:
8280         * docs/gst/tmpl/gstregistry.sgml:
8281         * docs/gst/tmpl/gstregistrypool.sgml:
8282         * docs/gst/tmpl/gstscheduler.sgml:
8283         * docs/gst/tmpl/gstschedulerfactory.sgml:
8284         * docs/gst/tmpl/gststructure.sgml:
8285         * docs/gst/tmpl/gstsystemclock.sgml:
8286         * docs/gst/tmpl/gsttaglist.sgml:
8287         * docs/gst/tmpl/gsttagsetter.sgml:
8288         * docs/gst/tmpl/gsttrace.sgml:
8289         * docs/gst/tmpl/gsttrashstack.sgml:
8290         * docs/gst/tmpl/gsttypefind.sgml:
8291         * docs/gst/tmpl/gsttypefindfactory.sgml:
8292         * docs/gst/tmpl/gsttypes.sgml:
8293         * docs/gst/tmpl/gsturihandler.sgml:
8294         * docs/gst/tmpl/gsturitype.sgml:
8295         * docs/gst/tmpl/gstutils.sgml:
8296         * docs/gst/tmpl/gstvalue.sgml:
8297         * docs/gst/tmpl/gstversion.sgml:
8298         * docs/gst/tmpl/gstxml.sgml:
8299         * docs/libs/tmpl/gstcontrol.sgml:
8300         * docs/libs/tmpl/gstdataprotocol.sgml:
8301         * docs/libs/tmpl/gstdparam.sgml:
8302         * docs/libs/tmpl/gstdplinint.sgml:
8303         * docs/libs/tmpl/gstdpman.sgml:
8304         * docs/libs/tmpl/gstdpsmooth.sgml:
8305         * docs/libs/tmpl/gstgetbits.sgml:
8306         * docs/libs/tmpl/gstunitconvert.sgml:
8307         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8308         (gst_push_src_base_init), (gst_push_src_class_init),
8309         (gst_push_src_init), (gst_push_src_create):
8310         * gst/base/gstpushsrc.h:
8311         * gst/elements/gstelements.c:
8312         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8313         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8314         (gst_fake_sink_init), (gst_fake_sink_set_property),
8315         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8316         (gst_fake_sink_event), (gst_fake_sink_preroll),
8317         (gst_fake_sink_render), (gst_fake_sink_change_state):
8318         * gst/elements/gstfakesink.h:
8319         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8320         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8321         (gst_fake_src_base_init), (gst_fake_src_class_init),
8322         (gst_fake_src_init), (gst_fake_src_event_handler),
8323         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8324         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8325         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8326         (gst_fake_src_create_buffer), (gst_fake_src_create),
8327         (gst_fake_src_start), (gst_fake_src_stop):
8328         * gst/elements/gstfakesrc.h:
8329         * gst/elements/gstfilesink.c: (_do_init),
8330         (gst_file_sink_base_init), (gst_file_sink_class_init),
8331         (gst_file_sink_init), (gst_file_sink_dispose),
8332         (gst_file_sink_set_location), (gst_file_sink_set_property),
8333         (gst_file_sink_get_property), (gst_file_sink_open_file),
8334         (gst_file_sink_close_file), (gst_file_sink_query),
8335         (gst_file_sink_event), (gst_file_sink_render),
8336         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8337         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8338         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8339         * gst/elements/gstfilesink.h:
8340         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8341         (gst_file_src_class_init), (gst_file_src_init),
8342         (gst_file_src_finalize), (gst_file_src_set_location),
8343         (gst_file_src_set_property), (gst_file_src_get_property),
8344         (gst_file_src_map_region), (gst_file_src_map_small_region),
8345         (gst_file_src_create_mmap), (gst_file_src_create_read),
8346         (gst_file_src_create), (gst_file_src_is_seekable),
8347         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8348         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8349         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8350         (gst_file_src_uri_handler_init):
8351         * gst/elements/gstfilesrc.h:
8352           more autistic cleanliness in functions/names/defines
8353
8354 2005-07-13  Andy Wingo  <wingo@pobox.com>
8355
8356         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8357         source couldn't negotiate.
8358
8359         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8360         connections again.
8361
8362         * gst/gstutils.h:
8363         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8364         function. I am channeling Hades. Put your boots on suckers!!!
8365
8366 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8367
8368         * testsuite/caps/Makefile.am:
8369         * testsuite/caps/value_compare.c:
8370         * testsuite/caps/value_intersect.c:
8371         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8372           move two testsuite apps over to the check dir
8373
8374 2005-07-12  Wim Taymans  <wim@fluendo.com>
8375
8376         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8377         Added more debug info in the negotiate process.
8378
8379         * gst/gstmessage.h:
8380         Prepare for segment playback.
8381
8382         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8383         Better debugging.
8384
8385         * gst/gstutils.c:
8386         Some more docs.
8387
8388         * tools/gst-launch.c: (main):
8389         NULL pipeline on errors.
8390
8391 2005-07-12  Andy Wingo  <wingo@pobox.com>
8392
8393         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8394         not it comes from a malloc region. Make sure our copy gets freed.
8395
8396 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8399         * check/gst/gstmessage.c: (GST_START_TEST):
8400         * check/gst/gststructure.c: (GST_START_TEST),
8401         (gst_structure_suite), (main):
8402           more testing
8403         * gst/gstelement.c: (gst_element_message_full):
8404           clean up GError and debug string now that they get copied
8405         * gst/gstmessage.c: (gst_message_new_error),
8406         (gst_message_new_warning), (gst_message_parse_error),
8407         (gst_message_parse_warning):
8408           use GST_TYPE_G_ERROR for structure_new, and take copies of
8409           arguments, so that we don't mess up refcounting
8410
8411 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8412
8413         * check/Makefile.am:
8414           add per-test valgrind targets
8415         * check/gst-libs/gdp.c: (GST_START_TEST),
8416         (gst_data_protocol_suite), (main):
8417           clean up
8418
8419 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8420
8421         * check/Makefile.am:
8422           instate more valgrindable tests
8423         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8424         (GST_START_TEST), (fakesrc_suite):
8425         * check/gst/gstpad.c: (GST_START_TEST):
8426         * check/gst/gststructure.c: (GST_START_TEST):
8427           fix test leaks
8428         * docs/gst/tmpl/gstminiobject.sgml:
8429         * gst/gstpad.c: (gst_pad_finalize):
8430           fix the static mutex leak
8431
8432 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8433
8434         * check/Makefile.am:
8435           add two more tests for valgrinding
8436         * check/gst/gstvalue.c: (GST_START_TEST):
8437           test refcount of deserialized buffer, found a leak
8438         * docs/gst/gstreamer-docs.sgml:
8439         * docs/gst/gstreamer-sections.txt:
8440         * docs/gst/gstreamer.types:
8441         * docs/gst/tmpl/gstminiobject.sgml:
8442           add miniobject to docs
8443         * gst/gstminiobject.c:
8444           add some docs
8445         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8446         (gst_string_unwrap):
8447           fix a hard-to-find invalid write for one of the tests
8448           fix a leak for deserialized buffers
8449
8450 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8451
8452         * docs/pwg/advanced-events.xml:
8453         * docs/pwg/advanced-request.xml:
8454         * docs/pwg/advanced-scheduling.xml:
8455         * docs/pwg/appendix-porting.xml:
8456         * docs/pwg/building-boiler.xml:
8457         * docs/pwg/intro-preface.xml:
8458         * docs/pwg/other-ntoone.xml:
8459           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8460           of example code and explanation for pad activation, loop() and
8461           getrange() functions and a bit more. Remove old comments pointing
8462           to loop-functions.
8463         * examples/pwg/Makefile.am:
8464           Add loop/getrange examples.
8465
8466 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8467
8468         * configure.ac:
8469           check for valgrind binary + some fixes
8470         * check/gst.supp:
8471           valgrind suppressions for the tests
8472         * check/Makefile.am:
8473           add a valgrind: target that valgrinds the unit tests
8474         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8475         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8476         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8477         * check/gst/gstghostpad.c:
8478           added some cleanup
8479         * check/gst/gstdata.c:
8480           removed
8481         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8482         (thread_unref), (gst_mini_object_suite), (main):
8483           added
8484         * gst/gst.c: (gst_deinit):
8485         * gst/gst.h:
8486           add a method to clean up.
8487         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8488         (gst_system_clock_obtain):
8489           allow for disposing the system clock.
8490         * tools/gst-launch.c: (main):
8491           deinit
8492
8493 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8494
8495         * docs/gst/tmpl/gstbasesrc.sgml:
8496         * docs/gst/tmpl/gstfakesrc.sgml:
8497         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8498         (gst_base_src_init), (gst_base_src_set_property),
8499         (gst_base_src_get_property), (gst_base_src_get_range),
8500         (gst_base_src_start):
8501         * gst/base/gstbasesrc.h:
8502           add num-buffers property
8503         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8504         (gst_fakesrc_init), (gst_fakesrc_set_property),
8505         (gst_fakesrc_get_property), (gst_fakesrc_create),
8506         (gst_fakesrc_start):
8507           remove num-buffers property
8508
8509 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8510
8511         * docs/gst/gstreamer-sections.txt:
8512         * docs/gst/tmpl/gstbasesink.sgml:
8513         * docs/gst/tmpl/gstbasesrc.sgml:
8514         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8515         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8516         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8517         (gst_base_sink_set_property), (gst_base_sink_get_property),
8518         (gst_base_sink_handle_object), (gst_base_sink_event),
8519         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8520         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8521         (gst_base_sink_loop), (gst_base_sink_deactivate),
8522         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8523         (gst_base_sink_change_state):
8524         * gst/base/gstbasesink.h:
8525         * gst/base/gstbasesrc.h:
8526         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8527         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8528         (gst_filesink_init):
8529           more macro splitting
8530
8531 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8532
8533         * gst/gstelement.c: (gst_element_get_bus):
8534           add debug
8535         * tools/gst-launch.c: (check_intr), (event_loop):
8536           fix bus leaks
8537
8538 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8539
8540         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8541           fix a caps leak
8542
8543 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8544
8545         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8546         (gst_base_src_finalize):
8547           add finalize method and clean up properly
8548         * gst/gstpipeline.c: (gst_pipeline_dispose):
8549           add debug
8550
8551 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8552
8553         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8554         (gst_bin_suite):
8555           add more things to check
8556         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8557         * gst/gstelement.c:
8558           more debug
8559
8560 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8561
8562         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8563         (GST_START_TEST), (fakesrc_suite):
8564         * check/gst-libs/gdp.c: (GST_START_TEST):
8565         * check/gst/gst.c: (GST_START_TEST):
8566         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8567         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8568         * check/gst/gstbus.c: (GST_START_TEST):
8569         * check/gst/gstcaps.c: (GST_START_TEST):
8570         * check/gst/gstdata.c: (GST_START_TEST):
8571         * check/gst/gstelement.c: (GST_START_TEST):
8572         * check/gst/gstghostpad.c: (GST_START_TEST):
8573         * check/gst/gstiterator.c: (GST_START_TEST):
8574         * check/gst/gstmessage.c: (GST_START_TEST):
8575         * check/gst/gstobject.c: (GST_START_TEST):
8576         * check/gst/gstpad.c: (GST_START_TEST):
8577         * check/gst/gststructure.c: (GST_START_TEST):
8578         * check/gst/gstsystemclock.c: (GST_START_TEST),
8579         (gst_systemclock_suite):
8580         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8581         * check/gst/gstvalue.c: (GST_START_TEST):
8582         * check/pipelines/cleanup.c: (GST_START_TEST):
8583         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8584         * check/states/sinks.c: (GST_START_TEST):
8585         * check/gstcheck.c: (gst_check_init):
8586         * check/gstcheck.h:
8587           add debugging category
8588           use GST_START_TEST now, so we add a debug line
8589
8590 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8591
8592         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8593           add test for state change message on a bin
8594         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8595           add another test
8596         * gst/gstbin.c: (gst_bin_init):
8597         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8598         * gst/gstelement.c: (gst_element_post_message),
8599         (gst_element_set_state):
8600         * gst/gstelementfactory.c: (gst_element_factory_create):
8601         * gst/gstmessage.c: (gst_message_new):
8602         * gst/gstscheduler.c:
8603           various debugging additions and cleanups
8604
8605 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8606
8607         * check/Makefile.am:
8608         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8609         (main):
8610           adding tests for elements
8611         * gst/gstelement.c: (gst_element_dispose):
8612
8613 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8614
8615         * gst/registries/gstlibxmlregistry.c: (load_feature):
8616           plug more leaks.  A simple gst_init() now is leakfree, yay.
8617
8618 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8619
8620         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8621         (gst_xml_registry_load):
8622           plug another memleak
8623
8624 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8625
8626         * configure.ac:
8627           use GST_SET_ERROR_CFLAGS
8628         * docs/faq/cvs.xml:
8629           change to ERROR_CFLAGS
8630
8631 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8632
8633         * configure.ac:
8634           make GST_ERROR_CFLAGS overridable and re-enable Werror
8635         * docs/faq/cvs.xml:
8636           add a note about error CFLAGS
8637         * docs/gst/tmpl/gstfakesrc.sgml:
8638         * gst/elements/gstfakesrc.c:
8639           comment out some unused code
8640         * gst/gst.c: (split_and_iterate):
8641         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8642         (load_feature):
8643           plug some memleaks
8644
8645 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8646
8647         * common/Makefile.am:
8648         * common/gtk-doc.mak:
8649         * docs/gst/Makefile.am:
8650           factor out gtk-doc.mak
8651
8652 2005-07-07  Wim Taymans  <wim@fluendo.com>
8653
8654         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8655         (gst_thread_scheduler_dispose):
8656         Unlock the STREAM_LOCK completely.
8657
8658 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8659
8660         * check/Makefile.am:
8661         * check/elements/.cvsignore:
8662         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8663         (START_TEST), (fakesrc_suite), (main):
8664         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8665         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8666         (gst_fakesrc_create), (gst_fakesrc_start):
8667         * gst/elements/gstfakesrc.h:
8668           adding a first element test
8669
8670 2005-07-07  Andy Wingo  <wingo@pobox.com>
8671
8672         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8673         debug message.
8674
8675 2005-07-07  Wim Taymans  <wim@fluendo.com>
8676
8677         * gst/gstquery.c:
8678         * gst/gstquery.h:
8679         Remove old types
8680
8681 2005-07-07  Wim Taymans  <wim@fluendo.com>
8682
8683         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8684         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8685         Allow subclasses to implement their own negotiation.
8686
8687 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8688
8689         * docs/design/part-gstbin.txt:
8690         * docs/design/part-gstpipeline.txt:
8691           Update design notes to reflect the movement of
8692           responsibility for bus handling from GstPipeline to
8693           GstBin
8694
8695 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8696
8697         * configure.ac:
8698           Remove unnecessary queue2/3/4 examples.
8699
8700 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8701
8702         * examples/Makefile.am:
8703         * examples/helloworld/helloworld.c: (event_loop), (main):
8704         * examples/queue/queue.c: (event_loop), (main):
8705         * examples/queue2/queue2.c: (main):
8706           Update a couple of the examples to work again.
8707
8708         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8709         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8710          Spelling corrections and extra debug.
8711         
8712         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8713         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8714         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8715         * gst/gstbin.h:
8716         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8717         (gst_pipeline_change_state):
8718         * gst/gstpipeline.h:
8719           Move the bus handler for children to the GstBin, and create a
8720           separate bus for receiving messages from children to the one the
8721           bus sends 'upwards' on.
8722
8723 2005-07-06  Wim Taymans  <wim@fluendo.com>
8724
8725         * gst/base/README:
8726         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8727         (gst_base_sink_handle_object), (gst_base_sink_loop),
8728         (gst_base_sink_change_state):
8729         * gst/base/gstbasesink.h:
8730         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8731         (gst_base_src_init), (gst_base_src_setcaps),
8732         (gst_base_src_getcaps), (gst_base_src_loop),
8733         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8734         (gst_base_src_start), (gst_base_src_change_state):
8735         * gst/base/gstbasesrc.h:
8736         Make basesrc negotiate.
8737         Handle the case where preroll fails in basesink.
8738         Update README.
8739
8740 2005-07-06  Wim Taymans  <wim@fluendo.com>
8741
8742         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8743         Implement the fixate function.
8744         Clean up acceptcaps.
8745
8746 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8747
8748         * docs/pwg/building-filterfactory.xml:
8749         * docs/pwg/pwg.xml:
8750           Remove never-written filter-factory chapter; I'll add the various
8751           base classes to part 4 ("other element types") later on.
8752
8753 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8754
8755         * docs/pwg/advanced-negotiation.xml:
8756         * docs/pwg/building-boiler.xml:
8757         * docs/pwg/building-pads.xml:
8758         * docs/pwg/pwg.xml:
8759         * examples/pwg/Makefile.am:
8760           Add a chapter on caps negotiation, simplify the original code
8761           samples a bit w.r.t. caps negotiation, add link to the advanced
8762           section. Add a bunch of examples showing different use cases of
8763           different types of caps negotiation. Upstream renegotiation isn't
8764           fully documented yet since nobody knows how that works.
8765
8766 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8767
8768         * check/gst/gstpad.c:
8769         * check/gstcheck.c:
8770         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8771           if pad has no parent, return NULL as list of internal links
8772
8773 2005-07-05  Andy Wingo  <wingo@pobox.com>
8774
8775         * gst/elements/gstfilesrc.c:
8776         * gst/elements/gstfakesrc.c: 
8777         * gst/base/gstpushsrc.c:
8778         * gst/base/gstbasesrc.h: 
8779         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8780         
8781 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8782
8783         * Makefile.am:
8784           better report generation target (lcov needs a patch)
8785
8786 2005-07-05  Andy Wingo  <wingo@pobox.com>
8787
8788         * gst/elements, testsuite: Null if we got it...
8789
8790 2005-07-05  Wim Taymans  <wim@fluendo.com>
8791
8792         * configure.ac:
8793         * libs/gst/dataprotocol/Makefile.am:
8794         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8795         * libs/gst/dataprotocol/dataprotocol.h:
8796         * pkgconfig/Makefile.am:
8797         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8798         * pkgconfig/gstreamer-dataprotocol.pc.in:
8799         Ported dataprotol to 0.9. 
8800         Added pkgconfig files.
8801
8802 2005-07-05  Andy Wingo  <wingo@pobox.com>
8803
8804         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8805         Default to returning TRUE for the case when tranform_caps returns
8806         a fixed caps, like for identity or volume.
8807
8808         * check/gst/gstbus.c (pound_bus_with_messages): 
8809         * check/gst/gstmessage.c (START_TEST): 
8810         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8811         message API change.
8812
8813         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8814         logic weaks here: always run transform_caps, trying passthrough
8815         operation only if the original caps intersects with the transform.
8816
8817         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8818         source and sink caps.
8819
8820         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8821         Intersect the peer caps with the pad template before going into
8822         transform_caps.
8823         (gst_base_transform_transform_caps): More debugging.
8824
8825         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8826         src argument.
8827
8828 2005-07-04  Edward Hervey  <edward@fluendo.com>
8829
8830         * gst/gstutils.c:
8831         * gst/gstutils.h:
8832         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8833         in bindings.
8834
8835 2005-07-04  Andy Wingo  <wingo@pobox.com>
8836
8837         * check/gst/gstpad.c: Only set explicit caps on pads.
8838
8839 2005-07-01  Andy Wingo  <wingo@pobox.com>
8840
8841         * tests/network-clock.scm: Commentary update.
8842
8843         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8844         Didn't really make sense, not implementable with basetransform,
8845         etc.
8846         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8847         attempt at implementing the sync property, needs an unlock method.
8848
8849         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8850         New func, by default returns the same caps (the identity
8851         transformation).
8852         (gst_base_transform_getcaps): Uses transform_caps to return
8853         something sensible.
8854         (gst_base_transform_setcaps): Complicated logic to get caps on
8855         both pads, even if they are different, and to call set_caps once
8856         for every time both pads get their caps set.
8857         (gst_base_transform_handle_buffer): Give the ref to the transform
8858         function. Allows in-place modification of the buffer.
8859
8860         * gst/base/gstbasetransform.h (transform_caps): New class method.
8861         Given caps on one side, what can I do on the other.
8862         (set_caps): Take two caps, one for each side of the element.
8863
8864         * gst/gstpad.h:
8865         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8866         caps in place. This is safe because we can check the mutability of
8867         the caps, and a good idea because fixate functions are just called
8868         as a matter of last resort. (Not actually implemented.)
8869         (gst_pad_set_caps): If the caps we're setting is actually the same
8870         as the existing pad caps, just update the pointer without calling
8871         setcaps. Assert that caps is either NULL or fixed, as per the
8872         docs.
8873
8874         * gst/gstghostpad.c: Update for fixate changes.
8875
8876 2005-07-02  Andy Wingo  <wingo@pobox.com>
8877
8878         * gst/gstcaps.c:
8879         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8880         two refcounts makes it immutable, which is enough. Doc more.
8881
8882 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8883
8884         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8885           Put the mini_object into GValue as a mini_object,
8886           not a gpointer, since that's how we declared
8887           the signal.
8888
8889 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8890
8891         * examples/pwg/Makefile.am:
8892           Fix buildbot again.
8893
8894 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8895
8896         * docs/pwg/building-testapp.xml:
8897           Add extra check.
8898         * examples/pwg/Makefile.am:
8899           Fix buildbot.
8900
8901 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8902
8903         * configure.ac:
8904         * examples/Makefile.am:
8905         * examples/pwg/Makefile.am:
8906         * examples/pwg/extract.pl:
8907           Enable building the PWG examples.
8908         * docs/pwg/advanced-interfaces.xml:
8909           Add URI interface stub.
8910         * docs/pwg/advanced-types.xml:
8911         * docs/pwg/other-autoplugger.xml:
8912         * docs/pwg/appendix-porting.xml:
8913         * docs/pwg/pwg.xml:
8914           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8915         * docs/pwg/building-boiler.xml:
8916         * docs/pwg/building-chainfn.xml:
8917         * docs/pwg/building-pads.xml:
8918         * docs/pwg/building-props.xml:
8919         * docs/pwg/building-state.xml:
8920         * docs/pwg/building-testapp.xml:
8921           Update the building-*.xml parts for 0.9 changes. All examples
8922           code blocks compile in examples/pwg/*.
8923
8924 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8925
8926         * docs/manual/advanced-autoplugging.xml:
8927         * docs/manual/appendix-checklist.xml:
8928         * docs/manual/appendix-integration.xml:
8929         * docs/manual/highlevel-components.xml:
8930           Fix playbin/decodebin examples, update docs a bit, mention bus
8931           instead of signals in various places, mention kmplayer and
8932           kaffeine since they have a working GStreamer backend in the KDE
8933           section.
8934
8935 2005-06-30  Wim Taymans  <wim@fluendo.com>
8936
8937         * CHANGES-0.9:
8938         * docs/design/draft-ghostpads.txt:
8939         * docs/design/draft-push-pull.txt:
8940         * docs/design/draft-query.txt:
8941         * docs/design/part-TODO.txt:
8942         * docs/design/part-query.txt:
8943         Added CHANGES-0.9 doc, updated status of other docs.
8944         
8945         * gst/gstquery.h:
8946         Remove "hmm" macro
8947
8948 2005-06-30  Wim Taymans  <wim@fluendo.com>
8949
8950         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8951         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8952         (gst_base_sink_change_state):
8953         * gst/base/gstbasesink.h:
8954         Some tweaks, only EOS and a buffer complete a preroll.
8955
8956 2005-06-30  Andy Wingo  <wingo@pobox.com>
8957
8958         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8959         activate_push down to the internal pad as well.
8960
8961 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8962
8963         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8964
8965         * gst/gsttaginterface.c:
8966           Some documentation fixes (#307394 and #307397).
8967
8968 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8969
8970         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8971
8972         * gst/gstvalue.c: (gst_value_intersect_list):
8973           Fix memleak (#309125).
8974
8975 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8976
8977         * docs/manual/advanced-dataaccess.xml:
8978           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8979         * docs/manual/basics-pads.xml:
8980           Add reference for filtered caps to above chapter.
8981
8982 2005-06-30  Wim Taymans  <wim@fluendo.com>
8983
8984         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8985         (gst_bin_change_state):
8986         Probes are gone.
8987         Lame attempt at making the state change function a bit
8988         more readable.
8989
8990 2005-06-30  Wim Taymans  <wim@fluendo.com>
8991
8992         * docs/design/part-clocks.txt:
8993         * docs/design/part-element-sink.txt:
8994         * docs/design/part-events.txt:
8995         * docs/design/part-preroll.txt:
8996         * docs/design/part-states.txt:
8997         Some more tweeks and additions to the docs.
8998
8999 2005-06-30  Wim Taymans  <wim@fluendo.com>
9000
9001         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9002         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9003         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9004         (gst_pad_check_pull_range), (gst_pad_get_range),
9005         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9006         * gst/gstpad.h:
9007         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9008         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9009         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9010         (gst_pad_remove_buffer_probe):
9011         Removed atomic operations, use existing LOCK.
9012         Move exception handling out of main code path.
9013
9014 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9015
9016         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9017         (silly_return_true_function), (gst_pad_class_init),
9018         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9019         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9020         (gst_pad_send_event):
9021           Fix accumulator, add default value by using _emitv() instead
9022           of _emit() for signal emission.
9023
9024 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9025
9026         * docs/manual/advanced-dataaccess.xml:
9027         * examples/manual/Makefile.am:
9028           Add probe example.
9029         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9030           Make work (??).
9031
9032 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9033
9034         * gst/elements/gstfilesink.c: (gst_filesink_render):
9035           Simplify code so that we don't have to handle short
9036           writes and return GST_FLOW_ERROR if an error occured.
9037
9038 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9039
9040         * docs/gst/gstreamer-docs.sgml:
9041           Remove probes more.
9042
9043 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9044
9045         * docs/gst/gstreamer-sections.txt:
9046         * docs/gst/tmpl/gstpad.sgml:
9047         * docs/gst/tmpl/gstprobe.sgml:
9048         * gst/Makefile.am:
9049         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9050         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9051         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9052         (gst_pad_push_event), (gst_pad_send_event):
9053         * gst/gstpad.h:
9054         * gst/gstutils.c: (gst_pad_add_data_probe),
9055         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9056         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9057         (gst_pad_remove_buffer_probe):
9058         * gst/gstutils.h:
9059           Remove old probes, add new g-signal-based probes and some utility
9060           functions.
9061
9062 2005-06-29  Edward Hervey  <edward@fluendo.com>
9063
9064         * gst/gstelementfactory.c:
9065         * gst/gstutils.h:
9066         * gst/gstutils.c:
9067         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9068         the definition to the header file.
9069
9070 2005-06-29  Andy Wingo  <wingo@pobox.com>
9071
9072         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9073         plugins from the source directory.
9074
9075 2005-06-29  Wim Taymans  <wim@fluendo.com>
9076
9077         * docs/gst/tmpl/gstbuffer.sgml:
9078         * docs/gst/tmpl/gstclock.sgml:
9079         Some fixings for blantently wrong text.
9080
9081 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9082
9083         * check/Makefile.am:
9084         * gst/gst.c: (add_path_func), (init_pre):
9085         * gst/gstregistry.c: (gst_registry_add_path):
9086           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9087           only scan the GST_PLUGIN_PATH locations, and not add
9088           system locations
9089
9090 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9091
9092         * docs/gst/gstreamer-sections.txt:
9093         * docs/gst/tmpl/gstbasesrc.sgml:
9094         * gst/gstelement.c:
9095         * gst/gstelement.h:
9096         * gst/gstevent.c:
9097         * gst/gstutils.c:
9098           doc fixes
9099
9100 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9101
9102         * docs/manual/advanced-autoplugging.xml:
9103           Fix autoplugging example.
9104
9105 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9106
9107         * docs/manual/advanced-autoplugging.xml:
9108         * docs/manual/mime-world.fig:
9109           Try to get autoplugging working, fix type detection. Fix text
9110           in hello-world image.
9111
9112 2005-06-29  Wim Taymans  <wim@fluendo.com>
9113
9114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9115         (gst_base_sink_change_state):
9116         Small debug line.
9117
9118         * gst/gstclock.h:
9119         map SIGNAL and BROADCAST to the right function.
9120
9121         * gst/gstobject.h:
9122         Remove redundant braces.
9123
9124         * gst/gstpad.c: (gst_pad_set_caps):
9125         Don't call setcaps function when reseting caps to NULL.
9126
9127         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9128         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9129         (gst_system_clock_id_unschedule):
9130         Use BROADCAST as this is what we do.
9131
9132 2005-06-29  Wim Taymans  <wim@fluendo.com>
9133
9134         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9135         We are actually prerolling before commiting the state
9136         change. 
9137
9138 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9139
9140         * docs/manual/advanced-clocks.xml:
9141         * docs/manual/advanced-interfaces.xml:
9142         * docs/manual/advanced-metadata.xml:
9143         * docs/manual/advanced-position.xml:
9144         * docs/manual/advanced-schedulers.xml:
9145         * docs/manual/advanced-threads.xml:
9146         * docs/manual/appendix-porting.xml:
9147         * docs/manual/basics-bins.xml:
9148         * docs/manual/basics-bus.xml:
9149         * docs/manual/basics-elements.xml:
9150         * docs/manual/basics-helloworld.xml:
9151         * docs/manual/basics-pads.xml:
9152         * docs/manual/highlevel-components.xml:
9153         * docs/manual/manual.xml:
9154         * docs/manual/thread.fig:
9155           Update (until threads/scheduling) Application Development Manual;
9156           remove GstThread, add GstBus, add simple porting checklist, add
9157           documentation for tag writing, clocks, make all examples until this
9158           part compile and run.
9159         * examples/manual/Makefile.am:
9160           Update from changes to Application Development Manual; add bus
9161           example, remove thread example.
9162
9163 2005-06-28  Wim Taymans  <wim@fluendo.com>
9164
9165         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9166         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9167         (gst_bus_source_dispatch):
9168         Add debugging messages.
9169         Make internal methods static.
9170         Handle the case where the bus is flushed in the handler.
9171         
9172         * gst/gstelement.c: (gst_element_get_bus):
9173         Fix refcount in _get_bus();
9174
9175         * gst/gstpipeline.c: (gst_pipeline_change_state),
9176         (gst_pipeline_get_clock_func):
9177         Clock refcounting fixes.
9178         Handle the case where preroll timed out more gracefully.
9179         
9180         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9181         Clean up the internal thread in dispose. This is needed
9182         for subclasses that actually get disposed.
9183         
9184         * gst/schedulers/threadscheduler.c:
9185         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9186         (gst_thread_scheduler_dispose):
9187         Free thread pool in dispose.
9188
9189 2005-06-28  Andy Wingo  <wingo@pobox.com>
9190
9191         * tests/network-clock-utils.scm (debug, print-event): New utils.
9192
9193         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9194         (*packet-loss*): Unified loss probability.
9195         (network-time): Report out-of-band events.
9196
9197         * tests/plot-data: Add support for out-of-band events. Hack it
9198         into this script instead of passing it down the pipe; should fix
9199         this later.
9200
9201 2005-06-28  Wim Taymans  <wim@fluendo.com>
9202
9203         * docs/gst/gstreamer.types:
9204         * docs/gst/tmpl/gstbasesrc.sgml:
9205         * docs/gst/tmpl/gstpad.sgml:
9206         Docs fixes.
9207
9208 2005-06-28  Wim Taymans  <wim@fluendo.com>
9209
9210         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9211         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9212         (gst_proxy_pad_do_fixatecaps):
9213         Correctly proxy the check_pull_range function.
9214
9215 2005-06-28  Andy Wingo  <wingo@pobox.com>
9216
9217         * tests/network-clock.scm: Removed need for slib.
9218         
9219 2005-06-28  Wim Taymans  <wim@fluendo.com>
9220
9221         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9222         (gst_basesink_preroll_queue_flush):
9223         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9224         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9225         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9226         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9227         (gst_proxy_pad_set_property):
9228         * gst/gstpad.c:
9229         * gst/gstpad.h:
9230         * gst/gstqueue.c: (gst_queue_init):
9231         The deprecated pad loop function is removed now.
9232
9233 2005-06-28  Andy Wingo  <wingo@pobox.com>
9234
9235         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9236         New parameters, simulate network packet loss.
9237
9238         * tests/network-clock-utils.scm: Initialize the RNG.
9239
9240 2005-06-28  Wim Taymans  <wim@fluendo.com>
9241
9242         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9243         (gst_basesink_event), (gst_basesink_deactivate):
9244         Flushing the preroll queue always needs to unlock the waiters.
9245
9246 2005-06-28  Edward Hervey  <edward@fluendo.com>
9247
9248         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9249         Wheen a seek was successful on a pipeline, set the stream_time to the
9250         seek offset in order to have a synchronized stream_time.
9251
9252 2005-06-28  Wim Taymans  <wim@fluendo.com>
9253
9254         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9255         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9256         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9257         (gst_proxy_pad_do_fixatecaps):
9258         Call wrapper function instead of just calling the function
9259         pointers. This takes care of any locking and whatmore.
9260
9261 2005-06-28  Wim Taymans  <wim@fluendo.com>
9262
9263         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9264         (gst_pad_pull_range):
9265         * gst/gstpad.h:
9266         CONNECTED -> LINKED.
9267
9268 2005-06-28  Andy Wingo  <wingo@pobox.com>
9269
9270         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9271         source-munging commit!!!
9272
9273         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9274         (gst_object_sink): Take gpointer arguments, not GstObject --
9275         avoids casts. Like GLib.
9276
9277         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9278         activate.
9279
9280 2005-06-27  Andy Wingo  <wingo@pobox.com>
9281
9282         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9283         remaining buffer.
9284
9285         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9286         returns a sorted copy of the trace list.
9287         (gst_alloc_trace_print_live): New API, only prints traces with
9288         live objects. Sort the list.
9289         (gst_alloc_trace_print_all): Sort the list.
9290         (gst_alloc_trace_print): Align columns.
9291
9292         * gst/elements/gstttypefindelement.c:
9293         * gst/elements/gsttee.c:
9294         * gst/base/gstbasesrc.c:
9295         * gst/base/gstbasesink.c:
9296         * gst/base/gstbasetransform.c:
9297         * gst/gstqueue.c: Adapt for pad activation changes.
9298
9299         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9300         sched.
9301         (gst_pipeline_dispose): Drop ref on sched.
9302
9303         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9304         (gst_pad_activate_default): Push mode by default.
9305         (pre_activate_switch, post_activate_switch): New stubs, things to
9306         do before and after switching activation modes on pads.
9307         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9308         the pad's activate function to choose which mode to activate.
9309         Shortcut on deactivation and call the right function directly.
9310         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9311         mode.
9312         (gst_pad_activate_push): New API, same for push mode.
9313         (gst_pad_set_activate_function) 
9314         (gst_pad_set_activatepull_function) 
9315         (gst_pad_set_activatepush_function): Setters for new API.
9316
9317         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9318         Trace all miniobjects.
9319         (gst_mini_object_make_writable): Unref the arg if we copy, like
9320         gst_caps_make_writable.
9321
9322         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9323
9324         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9325         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9326         Adapt for new pad API.
9327
9328         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9329
9330         * gst/gstelement.h:
9331         * gst/gstelement.c (gst_element_iterate_src_pads) 
9332         (gst_element_iterate_sink_pads): New API functions.
9333         
9334         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9335         should fold into gstiterator.c in some form.
9336         (gst_element_pads_activate): Simplified via use of fold and
9337         delegation of decisions to gstpad->activate.
9338
9339         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9340         help in debugging.
9341
9342         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9343         class once in init, like gstmessage. Didn't run into this issue
9344         but it seems correct. Don't initialize a trace, gstminiobject does
9345         that.
9346
9347         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9348         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9349         to the bus.
9350         (assert_live_count): New util function, uses alloc traces to check
9351         cleanup.
9352
9353         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9354         To be modified when unlink drops the internal pad.
9355
9356 2005-06-27  Wim Taymans  <wim@fluendo.com>
9357
9358         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9359         (gst_bin_change_state):
9360         Cleanup the get_state() function a little, make sure it
9361         iterates the same set of elements.
9362         Added stub iterate_state_order().
9363
9364 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9365
9366         * docs/gst/gstreamer-docs.sgml:
9367         * docs/gst/gstreamer-sections.txt:
9368         * docs/gst/gstreamer.types:
9369         * docs/gst/tmpl/gstbasesink.sgml:
9370         * docs/gst/tmpl/gstbasesrc.sgml:
9371         * docs/gst/tmpl/gstbasetransform.sgml:
9372         * docs/gst/tmpl/gstelement.sgml:
9373         * docs/gst/tmpl/gstiterator.sgml:
9374         * gst/base/gstbasesrc.c:
9375         * gst/base/gstbasesrc.h:
9376         * gst/base/gstbasetransform.h:
9377         * gst/gstelement.c:
9378         * gst/gstiterator.h:
9379           adding basetransform and iterator docs
9380
9381 2005-06-27  Andy Wingo  <wingo@pobox.com>
9382
9383         * docs/design/part-activation.txt: Notes on how activation should
9384         work -- not quite implemented yet.
9385
9386 2005-06-25  Wim Taymans  <wim@fluendo.com>
9387
9388         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9389         At least get the chain function correct, needs more
9390         fixing.
9391
9392 2005-06-25  Wim Taymans  <wim@fluendo.com>
9393
9394         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9395         (gst_basesink_handle_object), (gst_basesink_event),
9396         (gst_basesink_do_sync), (gst_basesink_handle_event),
9397         (gst_basesink_change_state):
9398         * gst/gsttask.h:
9399         Right, two problems here: ghostpads don't take locks and
9400         glib _rec_mutex_lock_full() with depth==0 still locks.
9401         Catch illegal locking and g_warn them.
9402
9403 2005-06-25  Wim Taymans  <wim@fluendo.com>
9404
9405         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9406         Have to check for completion now...
9407
9408 2005-06-25  Wim Taymans  <wim@fluendo.com>
9409
9410         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9411         (gst_basesink_handle_object), (gst_basesink_event),
9412         (gst_basesink_do_sync), (gst_basesink_handle_event),
9413         (gst_basesink_change_state):
9414         * gst/gstpad.h:
9415         Unlock STREAM_LOCK whatever the recursion was.
9416
9417 2005-06-25  Wim Taymans  <wim@fluendo.com>
9418
9419         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9420         (gst_basesink_preroll_queue_empty),
9421         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9422         (gst_basesink_event), (gst_basesink_do_sync),
9423         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9424         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9425         (gst_basesink_change_state):
9426         Reworked the base sink, handle event and buffer serialisation
9427         correctly and removed possible deadlock.
9428         Handle EOS correctly.
9429
9430 2005-06-25  Wim Taymans  <wim@fluendo.com>
9431
9432         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9433         (gst_pipeline_change_state):
9434         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9435         Allow elements to post EOS in the state change function.
9436         Fix up -launch, make it exit the poll loop when the
9437         pipeline actually changed state.
9438         Fix up warning parsing in -launch.
9439
9440 2005-06-25  Wim Taymans  <wim@fluendo.com>
9441
9442         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9443         (gst_tee_sink_activate):
9444         Core takes STREAM_LOCK for us now.
9445
9446 2005-06-25  Wim Taymans  <wim@fluendo.com>
9447
9448         * gst/gstelement.c: (gst_element_get_state_func),
9449         (gst_element_set_state):
9450         * gst/gstelement.h:
9451         * gst/gstmessage.c: (gst_message_parse_error),
9452         (gst_message_parse_warning):
9453         Keep track of current target state while performing a state
9454         change so that subclasses can do something interesting.
9455         Fix parsing of warning/error messages when GError is NULL.
9456
9457 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9458
9459         * docs/gst/Makefile.am:
9460         * docs/gst/gstreamer-docs.sgml:
9461         * docs/gst/gstreamer-sections.txt:
9462         * docs/gst/gstreamer.types:
9463         * docs/gst/tmpl/gstbasesink.sgml:
9464         * docs/gst/tmpl/gstbasesrc.sgml:
9465         * docs/gst/tmpl/gstbin.sgml:
9466         * docs/gst/tmpl/gstcompat.sgml:
9467         * docs/gst/tmpl/gstfakesink.sgml:
9468         * docs/gst/tmpl/gstfakesrc.sgml:
9469         * docs/gst/tmpl/gstfilesink.sgml:
9470         * docs/gst/tmpl/gstfilesrc.sgml:
9471         * docs/gst/tmpl/gstindex.sgml:
9472         * docs/manual/appendix-quotes.xml:
9473         * gst/base/gstbasesrc.h:
9474         * gst/elements/gstfakesrc.h:
9475         * gst/gstmessage.h:
9476           start pulling in base classes and elements in our docs
9477
9478 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9479
9480         * docs/gst/Makefile.am:
9481         * docs/libs/Makefile.am:
9482           fixed make distcheck with gtk-doc 1.3
9483
9484 2005-06-23  Wim Taymans  <wim@fluendo.com>
9485
9486         * gst/gstelement.c: (gst_element_get_state_func),
9487         (gst_element_set_state), (gst_element_change_state):
9488         When the state did not change, also report NO_PREROLL
9489         when it matters.
9490
9491 2005-06-23  Wim Taymans  <wim@fluendo.com>
9492
9493         * gst/gstpad.c: (gst_pad_event_default):
9494         * gst/gstqueue.c: (gst_queue_loop):
9495         No unsafe task pausing please.
9496
9497 2005-06-23  Wim Taymans  <wim@fluendo.com>
9498
9499         * gst/schedulers/threadscheduler.c:
9500         (gst_thread_scheduler_task_start),
9501         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9502         Ref the task before pushing it on the threadpool. This
9503         makes sure that we have a ref when the threadfunction is
9504         actually called.
9505
9506 2005-06-23  Andy Wingo  <wingo@pobox.com>
9507
9508         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9509         offset is greater than the file's size.
9510
9511         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9512         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9513         * gst/gstobject.c (gst_object_class_init): Make the class lock
9514         recursive. Wim won't let me drop deep_notify. Decodebin works
9515         again, whoopdy doo.
9516
9517         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9518         internal pad, and hacks accordingly. Doesn't do it on the target
9519         pad because we change its caps. Probably catches all cases of
9520         interest tho.
9521         (gst_ghost_pad_set_property): Connect to notify::caps as
9522         appropritate.
9523
9524         * tests/network-clock.scm (plot-simulation): Pipe data to the
9525         elite python skript.
9526
9527         * tests/network-clock-utils.scm (define-parameter): New macro,
9528         defines a parameter that can be set via the command line.
9529         (set-parameter!, parse-parameter-arguments): Command line args
9530         parser.
9531
9532         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9533         stdin.
9534
9535 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9536
9537         * gst/elements/gsttypefindelement.c:
9538         (gst_type_find_element_handle_event):
9539           Don't restart typefinding on a discont.
9540         * gst/gstelement.c: (gst_element_set_state):
9541           Debug spelling fix.
9542         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9543           Allow changing mode of an active pad.
9544           Debug output fixes.
9545         * gst/registries/gstlibxmlregistry.c: (load_feature):
9546           Don't cast a static pad template to a normal pad template.
9547
9548 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9549
9550         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9551         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9552           remove gst_strtoll completely, since it didn't actually do
9553           anything more than what g_ascii_strtoull already does.
9554           check for range errors when deserializing
9555           do a cast for the unsigned cases; but further fixing needs
9556           a decision on what the interpretation of "(int)" and
9557           deserialization should be for values that fall outside the
9558           type's boundaries (ie, refuse, or interpret as casting)
9559
9560 2005-06-23  Wim Taymans  <wim@fluendo.com>
9561
9562         * check/Makefile.am:
9563         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9564         * docs/design/part-live-source.txt:
9565         * docs/design/part-states.txt:
9566         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9567         (gst_basesrc_set_live), (gst_basesrc_is_live),
9568         (gst_basesrc_get_range), (gst_basesrc_activate),
9569         (gst_basesrc_change_state):
9570         * gst/base/gstbasesrc.h:
9571         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9572         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9573         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9574         * gst/gstelement.c: (gst_element_get_state_func),
9575         (gst_element_set_state):
9576         * gst/gstelement.h:
9577         * gst/gsttypes.h:
9578         * tools/gst-launch.c: (event_loop), (main):
9579         Added support for live sources and other elements that
9580         cannot do preroll.
9581         Updated design docs, added live-source design doc.
9582         Implemented live source functionality in basesrc
9583         Fix error condition in _bin_get_state()
9584         Implement live source handling in -launch.
9585         Added check for live sources.
9586         Fixed case in GstBin where elements were changed state
9587         multiple times.
9588
9589
9590 2005-06-23  Andy Wingo  <wingo@pobox.com>
9591
9592         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9593         borken refcounting.
9594
9595         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9596         gst_caps_replace takes care of this for us.
9597
9598         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9599         gst_pad_set_caps on the target, not just its setcaps() function.
9600
9601         * tests/network-clock.scm: 
9602         * tests/network-clock-utils.scm: A network clock simulator.
9603         Something of an algorithmic testbed before doing something in C.
9604
9605 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9606
9607         * check/Makefile.am:
9608         * check/gst/capslist.h:
9609           copy over from 0.8, and add two with bitmasks specified with
9610           (int) 0xFF...
9611         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9612           add test to parse everything from capslist.h
9613         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9614         (main):
9615           add test for structure deserialization
9616         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9617           add tests for deserialization of strings to int types
9618         * gst/gststructure.c: (gst_structure_nth_field_name):
9619         * gst/gststructure.h:
9620           add a way to get the name of a field referenced by index
9621         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9622           instead of checking if the resulting long long lies between
9623           min and max, we check if the long long would fit into
9624           a number of bytes for the final type.
9625           This fixes cases where a string represents 2^32 - 1, which
9626           when cast to int would be the (valid) -1, but is bigger than
9627           G_MAXINT
9628
9629 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9630
9631         * gst/parse/grammar.y:
9632           add a log line for type deserialization
9633
9634 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9635
9636         * check/gst/gstvalue.c: (START_TEST):
9637         * gst/gstvalue.c: (gst_value_deserialize):
9638           return long long, not int, so gint64 deserialization actually
9639           works.  Is there any flag that makes the compiler check this ?
9640           Fixes #308559
9641
9642 2005-06-22  Wim Taymans  <wim@fluendo.com>
9643
9644         * gst/gstbuffer.h:
9645         Added convenience macros for setting buffers in GValue.
9646
9647 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9648
9649         * check/gst/.cvsignore:
9650         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9651           add a test deserializing int64, and comment part out because
9652           it fails, yay !
9653
9654 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9655
9656         * check/Makefile.am:
9657         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9658         * testsuite/Makefile.am:
9659         * testsuite/caps/Makefile.am:
9660         * testsuite/caps/value_serialize.c:
9661         * testsuite/test_gst_init.c:
9662           move a value_serialize test over
9663
9664 2005-06-20  Wim Taymans  <wim@fluendo.com>
9665
9666         * gst/gstpad.c:
9667         Small doc updates.
9668         
9669         * gst/gstvalue.c: (gst_value_compare_buffer),
9670         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9671         (gst_value_compare_flags), (gst_value_serialize_flags),
9672         (gst_value_deserialize_flags), (_gst_value_initialize):
9673         Fix serialisation of buffers, they are not boxed types anymore
9674
9675 2005-06-20  Wim Taymans  <wim@fluendo.com>
9676
9677         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9678         Testcase to show error in buffer-on-caps serialisation.
9679
9680 2005-06-20  Andy Wingo  <wingo@pobox.com>
9681
9682         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9683         will be adding to later.
9684
9685         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9686         if its socks fill with rocks.
9687         (gst_system_clock_obtain): Set the name on object construction.
9688         Avoid double-checked locking.
9689
9690 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9691
9692         * gst/gsturi.c: (gst_element_make_from_uri):
9693           Fix potential endless loop.
9694
9695 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9696
9697         * check/Makefile.am:
9698           add gsttag
9699         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9700         (main):
9701           move over from testsuite dir and clean up
9702         * configure.ac:
9703         * gst/gsttag.c:
9704         * testsuite/Makefile.am:
9705         * testsuite/tags/.cvsignore:
9706         * testsuite/tags/Makefile.am:
9707         * testsuite/tags/merge.c:
9708           remove testsuite/tags
9709
9710 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9711
9712         * docs/gst/gstreamer-sections.txt:
9713         * docs/gst/tmpl/gstenumtypes.sgml:
9714         * win32/gstenumtypes.c:
9715           clean up documentation build a little
9716
9717 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * check/gstcheck.h:
9720           add macros for checking refcounts on objects and caps
9721         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9722           add some more unit tests
9723         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9724         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9725           fix leaked refcounts (I hope :)) so unittest works
9726         * gst/gstpad.h:
9727           whitespace removal
9728
9729 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9730
9731         * configure.ac: back to HEAD
9732
9733 === release 0.9.1 ===
9734
9735 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9736
9737         * NEWS:
9738         * RELEASE:
9739           updated
9740
9741 2005-06-17  Andy Wingo  <wingo@pobox.com>
9742
9743         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9744         assert; it's always possible that the pad gets deactivated in
9745         between the checks in gstpad.c and the implementation. Rely on
9746         finish_preroll() to return a FLUSHING or similar instead of on the
9747         assert.
9748         
9749         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9750         clock and post an EOS message if we come out of finish_preroll in
9751         the playing state.
9752
9753 2005-06-16  David Schleef  <ds@schleef.org>
9754
9755         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9756         (gst_capsfilter_set_property): Allow NULL as possible value
9757         for filter_caps property, indicating GST_CAPS_ANY.
9758
9759 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9760
9761         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9762           fix debug output
9763         * gst/schedulers/Makefile.am:
9764           use libgst prefix
9765         * gstreamer.spec.in:
9766           fix spec for it
9767
9768 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9769
9770         * gstreamer.spec.in:
9771           clean up
9772
9773 2005-06-08  Andy Wingo  <wingo@pobox.com>
9774
9775         * gst/gstutils.c: RPAD fixes all around.
9776         (gst_element_link_pads): Refcounting fixes.
9777
9778         * tools/gst-inspect.c:
9779         * tools/gst-xmlinspect.c:
9780         * parse/grammar.y:
9781         * gst/base/gsttypefindhelper.c:
9782         * gst/base/gstbasesink.c:
9783         * gst/gstqueue.c: RPAD fixes.
9784
9785         * gst/gstghostpad.h:
9786         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9787         pads. The tricky thing is they provide both source and sink
9788         interfaces, since they proxy the internal pad for the external
9789         pad, and vice versa. Implement with lower-level ProxyPad objects,
9790         with the interior proxy pad as a child of the exterior ghost pad.
9791         Should write a doc on this.
9792         
9793         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9794         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9795         gst_object API.
9796         
9797         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9798         pads are real pads. No ghost pads in this file. Not documenting
9799         the myriad s/RPAD/PAD/ and REALIZE fixes.
9800         (gst_pad_class_init): Add properties for "direction" and
9801         "template". Both are construct-only, so they can't change during
9802         the life of the pad. Fixes properly deriving from GstPad.
9803         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9804         derived objects, just set properties when creating the objects via
9805         g_object_new.
9806         (gst_pad_get_parent): Implement as a function, return NULL if the
9807         parent is not an element.
9808         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9809         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9810         
9811         * gst/gstobject.c (gst_object_class_init): Make name a construct
9812         property. Don't set it in the object init.
9813
9814         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9815         with UNKNOWN direction.
9816         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9817         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9818         (gst_element_remove_pad): Remove ghost-pad special cases.
9819         (gst_element_pads_activate): Remove rpad cruft.
9820
9821         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9822         catch the pad's-parent-not-an-element case.
9823
9824         * gst/gst.h: Include gstghostpad.h.
9825
9826         * gst/gst.c (init_post): No more real, ghost pads.
9827
9828         * gst/Makefile.am: Add gstghostpad.[ch].
9829
9830         * check/Makefile.am:
9831         * check/gst/gstbin.c:
9832         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9833         into a bin creates ghost pads, and that the refcounts are right.
9834         Partly moved from gstbin.c.
9835
9836 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9837
9838         * check/gst-libs/.cvsignore:
9839         * check/gst/.cvsignore:
9840         * check/pipelines/.cvsignore:
9841           ignore more
9842         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9843         (START_TEST), (cleanup_suite), (main):
9844           add some tests related to cleanup after running pipelines
9845
9846 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9847
9848         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9849           add a testsuite for GstBuffer
9850
9851 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9852
9853         * gst/gstminiobject.h:
9854           add defines for accessing the refcount
9855
9856 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9857
9858         * Makefile.am: added support for html unit test coverage reports
9859
9860 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9861
9862         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9863           Free existing caps if the capsfilter changes. Add a FIXME about
9864           setting those caps on the pads.
9865
9866         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9867           Before adding a ghost pad to a parent bin, check that there isn't
9868           already one for the element on the bin. Prevents infinite recursion
9869           when using decodebin in parse pipelines. Andy says he'll rewrite the
9870           way this works anyway, so ignore the hack.
9871
9872 2005-06-02  Andy Wingo  <wingo@pobox.com>
9873
9874         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9875         file size, pass it on to the type find helper.
9876
9877         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9878         segment_start and segment_end properly according to the seek
9879         method. Segment_end is still a bit flaky because offset can be
9880         negative for CUR and END cases, but it takes -1 as an "unset"
9881         value.
9882
9883 2005-06-02  Wim Taymans  <wim@fluendo.com>
9884
9885         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9886         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9887         (gst_basesink_activate):
9888         * gst/base/gstbasesink.h:
9889         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9890         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9891         (gst_pad_query), (gst_pad_start_task):
9892         * gst/gstpad.h:
9893         * gst/gstqueue.c: (gst_queue_bufferalloc),
9894         (gst_queue_handle_sink_event), (gst_queue_chain):
9895         Bufferalloc: return GstFlowReturn to more accuratly report
9896         why allocation failed.
9897
9898 2005-06-02  Wim Taymans  <wim@fluendo.com>
9899
9900         * gst/gstpipeline.c: (gst_pipeline_send_event):
9901         Take snapshot of state without blocking.
9902
9903 2005-06-02  Wim Taymans  <wim@fluendo.com>
9904
9905         * docs/design/part-TODO.txt:
9906         * docs/design/part-caps.txt:
9907         * docs/design/part-clocks.txt:
9908         * docs/design/part-negotiation.txt:
9909         * docs/design/part-preroll.txt:
9910         Small doc updates 
9911
9912 2005-05-30  Wim Taymans  <wim@fluendo.com>
9913
9914         * gst/elements/gstidentity.c: (gst_identity_event),
9915         (gst_identity_transform), (gst_identity_get_property):
9916         Protect last_message property as it is accessed from
9917         multiple threads.
9918
9919 2005-05-30  Wim Taymans  <wim@fluendo.com>
9920
9921         * gst/gstelement.c: (gst_element_init),
9922         (gst_element_pads_activate), (gst_element_change_state):
9923         Slicker pad activation code.
9924
9925 2005-05-30  Wim Taymans  <wim@fluendo.com>
9926
9927         * gst/Makefile.am:
9928         * gst/gstelement.h:
9929         * gst/gstelementfactory.h:
9930         * gst/gsttypes.h:
9931         Move elementfactory methods to separate .h file.
9932
9933 2005-05-30  Wim Taymans  <wim@fluendo.com>
9934
9935         * docs/design/part-overview.txt:
9936         * gst/gstsystemclock.h:
9937         Small typo fixes, doc updates.
9938
9939 2005-05-30  Wim Taymans  <wim@fluendo.com>
9940
9941         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9942         (init_popt_callback):
9943         Remove cpu-opt flag.
9944
9945 2005-05-30  Wim Taymans  <wim@fluendo.com>
9946
9947         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9948         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9949         * gst/gstbuffer.h:
9950         Avoid typechecking in places where not needed.
9951         Added accessor for malloc_data.
9952
9953 2005-05-30  Wim Taymans  <wim@fluendo.com>
9954
9955         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9956         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9957         (gst_pad_configure_sink), (gst_pad_configure_src),
9958         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9959         (gst_pad_start_task):
9960         Propagate errors from _set_caps() in configure_src/sink
9961         functions instead of returning TRUE.
9962         FLUSH events can travel up and downstream
9963
9964
9965 2005-05-30  Wim Taymans  <wim@fluendo.com>
9966
9967         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9968         (gst_basesink_activate):
9969         Handle EOS in preroll.
9970
9971 2005-05-30  Wim Taymans  <wim@fluendo.com>
9972
9973         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9974         (gst_queue_loop), (gst_queue_handle_src_event):
9975         Remove old pieces of code
9976         Flushing the queue in an upstream event is a very bad idea.
9977
9978 2005-05-26  Andy Wingo  <wingo@pobox.com>
9979
9980         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9981         gst_value_set_mini_object so as to add a ref on the object (which
9982         will be removed when the value is unset).
9983
9984         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9985         arg type in ::handoff.
9986
9987         * gst/gstelement.c (gst_element_change_state): Also deactivate
9988         pads in READY->NULL, just in case the element didn't make it to
9989         PAUSED. Wingo tested, Wim approved.
9990
9991 2005-05-26  Wim Taymans  <wim@fluendo.com>
9992
9993         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9994         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9995         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9996         A flushing pad cannot be used to alloc_buffer from.
9997
9998 2005-05-26  Wim Taymans  <wim@fluendo.com>
9999
10000         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10001         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10002         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10003         (gst_bus_create_watch), (gst_bus_add_watch_full):
10004         * gst/gstbus.h:
10005         Implement a real GSource and use g_main_context_wakeup() to
10006         signal new messages instead of the socketpair.
10007
10008 2005-05-25  Wim Taymans  <wim@fluendo.com>
10009
10010         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10011         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10012         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10013         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10014         (gst_pad_send_event), (gst_pad_start_task):
10015         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10016         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10017         (gst_queue_sink_activate), (gst_queue_src_activate),
10018         (gst_queue_change_state):
10019         * gst/gstqueue.h:
10020         Fix state changes for non sinks. We now change sinks, then elements
10021         with unconnected srcpads, then the rest.
10022         More efficient queue unlocking in flush and state changes.
10023         Set the pad activate mode even if it does not have an activate
10024         function.
10025
10026 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10027
10028         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10029           Don't go in pull mode for non-seekable sources.
10030         * gst/elements/gsttypefindelement.h:
10031         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10032         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10033         (free_entry), (stop_typefinding),
10034         (gst_type_find_element_handle_event), (find_peek),
10035         (gst_type_find_element_chain), (do_pull_typefind),
10036         (gst_type_find_element_change_state):
10037           Allow typefinding (w/o seeking) in push-mode, simplified version
10038           of what was in 0.8.
10039         * gst/gstutils.c: (gst_buffer_join):
10040         * gst/gstutils.h:
10041           gst_buffer_join() from 0.8.
10042
10043 2005-05-25  Wim Taymans  <wim@fluendo.com>
10044
10045         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10046         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10047         (gst_pad_send_event), (gst_pad_start_task):
10048         Disable attempt at mode switching until it is figured out.
10049
10050 2005-05-25  Wim Taymans  <wim@fluendo.com>
10051
10052         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10053         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10054         (gst_basesink_finish_preroll), (gst_basesink_chain),
10055         (gst_basesink_loop), (gst_basesink_activate),
10056         (gst_basesink_change_state):
10057         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10058         (gst_basesrc_get_range), (gst_basesrc_loop),
10059         (gst_basesrc_activate):
10060         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10061         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10062         (gst_real_pad_init), (gst_real_pad_set_property),
10063         (gst_real_pad_get_property), (gst_pad_set_active),
10064         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10065         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10066         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10067         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10068         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10069         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10070         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10071         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10072         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10073         (gst_pad_stop_task):
10074         * gst/gstpad.h:
10075         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10076         (gst_queue_loop), (gst_queue_src_activate):
10077         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10078         (gst_task_get_state):
10079         * gst/gsttask.h:
10080         * gst/schedulers/threadscheduler.c:
10081         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10082         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10083         in task function.
10084         Remove ACTIVE pad flag, use FLUSHING everywhere
10085         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10086         functions.
10087         Add locks around IS_FLUSHING when reading.
10088         Take STREAM lock in chain(), get_range() functions so plugins
10089         don't need to take it anymore.
10090         
10091
10092
10093 2005-05-25  Wim Taymans  <wim@fluendo.com>
10094
10095         * tools/gst-launch.c: (event_loop):
10096         Unref message after using its contents instead of
10097         before.
10098
10099 2005-05-24  Wim Taymans  <wim@fluendo.com>
10100
10101         * docs/design/draft-ghostpads.txt:
10102         * docs/design/draft-push-pull.txt:
10103         * docs/design/draft-query.txt:
10104         * docs/design/part-overview.txt:
10105         Docs updates, added general overview doc.
10106
10107 2005-05-21  David Schleef  <ds@schleef.org>
10108
10109         * docs/gst/tmpl/old/GstBin.sgml:
10110         * docs/gst/tmpl/old/GstBuffer.sgml:
10111         * docs/gst/tmpl/old/GstCaps.sgml:
10112         * docs/gst/tmpl/old/GstClock.sgml:
10113         * docs/gst/tmpl/old/GstCompat.sgml:
10114         * docs/gst/tmpl/old/GstData.sgml:
10115         * docs/gst/tmpl/old/GstElement.sgml:
10116         * docs/gst/tmpl/old/GstEvent.sgml:
10117         * docs/gst/tmpl/old/GstIndex.sgml:
10118         * docs/gst/tmpl/old/GstStructure.sgml:
10119         * docs/gst/tmpl/old/GstTag.sgml:
10120         * docs/gst/tmpl/old/cothreads.sgml:
10121         * docs/gst/tmpl/old/cothreads_compat.sgml:
10122         * docs/gst/tmpl/old/gettext.sgml:
10123         * docs/gst/tmpl/old/gobject2gtk.sgml:
10124         * docs/gst/tmpl/old/grammar.tab.sgml:
10125         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10126         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10127         * docs/gst/tmpl/old/gst_private.sgml:
10128         * docs/gst/tmpl/old/gstaggregator.sgml:
10129         * docs/gst/tmpl/old/gstarch.sgml:
10130         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10131         * docs/gst/tmpl/old/gstbufferstore.sgml:
10132         * docs/gst/tmpl/old/gstdata_private.sgml:
10133         * docs/gst/tmpl/old/gstdisksink.sgml:
10134         * docs/gst/tmpl/old/gstdisksrc.sgml:
10135         * docs/gst/tmpl/old/gstelementfactory.sgml:
10136         * docs/gst/tmpl/old/gstextratypes.sgml:
10137         * docs/gst/tmpl/old/gstfakesink.sgml:
10138         * docs/gst/tmpl/old/gstfakesrc.sgml:
10139         * docs/gst/tmpl/old/gstfdsink.sgml:
10140         * docs/gst/tmpl/old/gstfdsrc.sgml:
10141         * docs/gst/tmpl/old/gstfilesink.sgml:
10142         * docs/gst/tmpl/old/gstfilesrc.sgml:
10143         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10144         * docs/gst/tmpl/old/gstidentity.sgml:
10145         * docs/gst/tmpl/old/gstindexfactory.sgml:
10146         * docs/gst/tmpl/old/gstmarshal.sgml:
10147         * docs/gst/tmpl/old/gstmd5sink.sgml:
10148         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10149         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10150         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10151         * docs/gst/tmpl/old/gstpipefilter.sgml:
10152         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10153         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10154         * docs/gst/tmpl/old/gstshaper.sgml:
10155         * docs/gst/tmpl/old/gstspider.sgml:
10156         * docs/gst/tmpl/old/gstspideridentity.sgml:
10157         * docs/gst/tmpl/old/gststatistics.sgml:
10158         * docs/gst/tmpl/old/gsttee.sgml:
10159         * docs/gst/tmpl/old/gsttimecache.sgml:
10160         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10161         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10162         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10163         * docs/gst/tmpl/old/types.sgml:
10164           I didn't intend to add these or check them in.
10165
10166 2005-05-19  David Schleef  <ds@schleef.org>
10167
10168         * configure.ac: Use -no-common everywhere.  In a sane world, it
10169           would be the default in libtool, because without it, you can't
10170           build DLLs on Windows.
10171         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10172         * docs/gst/gstreamer-sections.txt:
10173         * docs/gst/tmpl/gstcpu.sgml:
10174         * docs/gst/tmpl/gstdata.sgml:
10175         * docs/gst/tmpl/gstthread.sgml:
10176
10177 2005-05-19  David Schleef  <ds@schleef.org>
10178
10179         * gst/gstminiobject.c: (gst_value_set_mini_object),
10180         (gst_value_take_mini_object), (gst_value_get_mini_object):
10181         * gst/gstminiobject.h: Add GValue set/get functions.
10182
10183 2005-05-19  Wim Taymans  <wim@fluendo.com>
10184
10185         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10186         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10187         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10188         * gst/gstbuffer.h:
10189         * gst/gstbus.c: (gst_bus_post):
10190         * gst/gstelement.c: (gst_element_get_random_pad):
10191         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10192         Make subbufer unref the parent in finalize.
10193         some more debugging info.
10194
10195
10196 2005-05-19  Wim Taymans  <wim@fluendo.com>
10197
10198         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10199         (gst_basesink_init), (gst_basesink_finalize),
10200         (gst_basesink_activate), (gst_basesink_change_state):
10201         Don't free preroll queue too early.
10202
10203 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10204
10205         * gst/Makefile.am:
10206         * gst/ROADMAP:
10207           Hi, I'm outdated. Please shoot me.
10208
10209 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10210
10211         * gst/gstpipeline.c: (gst_pipeline_send_event):
10212           Do not access variables after they have been deleted.
10213
10214 2005-05-19  Wim Taymans  <wim@fluendo.com>
10215
10216         * tools/gst-inspect.c: (print_plugin_features):
10217         A plugin feature does unfortunatly not use the
10218         object name yet...
10219
10220 2005-05-18  Wim Taymans  <wim@fluendo.com>
10221
10222         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10223         Port _span() functions to new subbuffers.
10224
10225 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10226
10227         * gst/gstbin.c: (gst_bin_add_func):
10228           Fix clock settery in bins when adding kids after the clock has
10229           been selected.
10230
10231 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10232
10233         * gst/elements/gstidentity.c: (gst_identity_class_init):
10234           Workaround until signals support GstMiniObject.
10235
10236 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10237
10238         * gst/gstbuffer.c:
10239         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10240
10241 2005-05-18  Wim Taymans  <wim@fluendo.com>
10242
10243         * gst/base/Makefile.am:
10244         * gst/base/gstadapter.c: (gst_adapter_base_init),
10245         (gst_adapter_class_init), (gst_adapter_init),
10246         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10247         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10248         (gst_adapter_flush), (gst_adapter_available),
10249         (gst_adapter_available_fast):
10250         * gst/base/gstadapter.h:
10251         Ported and added adapter to the base classes.
10252
10253 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10254
10255         * gst/gst.c:
10256         * gst/gstmessage.c:
10257           Make sure the class is reffed/unreffed once before threads can be
10258           used.  Fixes #304551.
10259
10260 2005-05-17  Wim Taymans  <wim@fluendo.com>
10261
10262         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10263         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10264         * gst/gstminiobject.c: (gst_mini_object_get_type),
10265         (gst_mini_object_free):
10266         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10267         (gst_pad_push), (gst_pad_push_event):
10268         * gst/gstqueue.c: (gst_queue_change_state):
10269         Don't queue buffers in basesink when we are flushing.
10270         Unref buffer when flushing in basesink.
10271         Flush queue when going to READY
10272         Unref buffer when _push() returns an error.
10273         Don't free MiniObject instance when refcount is incremented
10274         in _finalize() so that we can recover objects.
10275
10276 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10277
10278         * docs/manual/advanced-schedulers.xml:
10279         * docs/manual/appendix-checklist.xml:
10280         * docs/pwg/advanced-clock.xml:
10281         * docs/pwg/advanced-interfaces.xml:
10282         * docs/pwg/advanced-request.xml:
10283         * docs/pwg/advanced-types.xml:
10284         * docs/pwg/intro-preface.xml:
10285         * examples/plugins/example.c: (gst_example_get_type),
10286         (gst_example_class_init), (gst_example_chain),
10287         (gst_example_set_property), (gst_example_get_property),
10288         (gst_example_change_state), (plugin_init):
10289         * examples/plugins/example.h:
10290           small doc fixes
10291
10292 2005-05-17  Wim Taymans  <wim@fluendo.com>
10293
10294         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10295         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10296         * gst/gstqueue.c: (gst_queue_change_state):
10297         Clear queue when going to READY.
10298         Remove IN_SETCAPS flag too.
10299
10300 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10301
10302         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10303           Remove implicit cast from gboolean to GstElementStateReturn;
10304           make sure we still return failure in paused => ready case if
10305           the parent class fails to change state and our own stop 
10306           vfunc succeeds.
10307
10308 2005-05-17  Wim Taymans  <wim@fluendo.com>
10309
10310         * tools/gst-launch.c: (event_loop):
10311         Message was unreffed too soon.
10312
10313 2005-05-16  Andy Wingo  <wingo@pobox.com>
10314
10315         * gst/gstbin.c (sink_iterator_filter): Err... um...
10316
10317         * check/gst/gstbin.c (test_ghost_pads): New test for the
10318         ghosting-if-elements-not-in-same-bin behavior.
10319
10320 2005-05-16  David Schleef  <ds@schleef.org>
10321
10322         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10323         accessing refcount directly.
10324
10325 2005-05-15  David Schleef  <ds@schleef.org>
10326
10327         * check/Makefile.am: remove GstData checks
10328         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10329         * gst/Makefile.am: add miniobject, remove data
10330         * gst/gst.h: add miniobject, remove data
10331         * gst/gstdata.c: remove
10332         * gst/gstdata.h: remove
10333         * gst/gstdata_private.h: remove
10334         * gst/gsttypes.h: remove GstEvent and GstMessage
10335         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10336         * gst/gstmarshal.list: change BOXED -> OBJECT
10337
10338         Implement GstMiniObject.
10339         * gst/gstminiobject.c:
10340         * gst/gstminiobject.h:
10341
10342         Modify to be subclasses of GstMiniObject.
10343         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10344         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10345         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10346         (gst_subbuffer_get_type), (gst_subbuffer_init),
10347         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10348         (gst_buffer_span):
10349         * gst/gstbuffer.h:
10350         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10351         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10352         (_gst_event_copy), (gst_event_new):
10353         * gst/gstevent.h:
10354         * gst/gstmessage.c: (_gst_message_initialize),
10355         (gst_message_get_type), (gst_message_class_init),
10356         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10357         (gst_message_new), (gst_message_new_error),
10358         (gst_message_new_warning), (gst_message_new_tag),
10359         (gst_message_new_state_changed), (gst_message_new_application):
10360         * gst/gstmessage.h:
10361         * gst/gstprobe.c: (gst_probe_perform),
10362         (gst_probe_dispatcher_dispatch):
10363         * gst/gstprobe.h:
10364         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10365         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10366         (_gst_query_copy), (gst_query_new):
10367
10368         Update elements for GstData -> GstMiniObject changes
10369         * gst/gstquery.h:
10370         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10371         (gst_queue_chain), (gst_queue_loop):
10372         * gst/elements/gstbufferstore.c:
10373         (gst_buffer_store_add_buffer_func),
10374         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10375         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10376         (gst_fakesink_render):
10377         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10378         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10379         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10380         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10381         (gst_filesrc_create_read):
10382         * gst/elements/gstidentity.c: (gst_identity_class_init):
10383         * gst/elements/gsttypefindelement.c:
10384         (gst_type_find_element_src_event), (free_entry_buffers),
10385         (gst_type_find_element_handle_event):
10386         * libs/gst/dataprotocol/dataprotocol.c:
10387         (gst_dp_header_from_buffer):
10388         * libs/gst/dataprotocol/dataprotocol.h:
10389         * libs/gst/dataprotocol/dp-private.h:
10390
10391 2005-05-15  David Schleef  <ds@schleef.org>
10392
10393         * gst/elements/gstelements.c: Don't include headers that were
10394         just removed.
10395
10396 2005-05-15  David Schleef  <ds@schleef.org>
10397
10398         * gst/elements/Makefile.am: Remove some elements that don't
10399         need to be in the core (or even exist at all).
10400         * gst/elements/gstaggregator.c:
10401         * gst/elements/gstaggregator.h:
10402         * gst/elements/gstmd5sink.c:
10403         * gst/elements/gstmd5sink.h:
10404         * gst/elements/gstmultifilesrc.c:
10405         * gst/elements/gstmultifilesrc.h:
10406         * gst/elements/gstpipefilter.c:
10407         * gst/elements/gstpipefilter.h:
10408         * gst/elements/gstshaper.c:
10409         * gst/elements/gstshaper.h:
10410         * gst/elements/gststatistics.c:
10411         * gst/elements/gststatistics.h:
10412         * po/POTFILES.in: Remove above files.
10413
10414 2005-05-14  Andy Wingo  <wingo@pobox.com>
10415
10416         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10417         so as to get the refs right.
10418         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10419         unreffing objects that don't pass the filter.
10420
10421         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10422         gst_element_set_bus.
10423         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10424         normal cases, this will destroy the bus.
10425
10426         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10427         object.
10428
10429         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10430         has no sinks.
10431
10432 2005-05-13  Andy Wingo  <wingo@pobox.com>
10433
10434         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10435         gst_pad_link, call pad_link_maybe_ghosting,
10436         (pad_link_maybe_ghosting): Links pads, making sure that the
10437         elements being linked are in the same bin.
10438         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10439         Helpers for pad_link_maybe_ghosting.
10440
10441 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10442
10443         * configure.ac:
10444           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10445
10446 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10447
10448         * docs/design/part-element-source.txt:
10449           Mention GstPushSrc
10450
10451 2005-05-12  Wim Taymans  <wim@fluendo.com>
10452
10453         * gst/base/gstbasesink.c: (gst_basesink_init),
10454         (gst_basesink_activate):
10455         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10456         (gst_basesrc_is_seekable):
10457         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10458         (bin_element_is_sink), (gst_bin_change_state):
10459         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10460         * gst/gstelement.h:
10461         Identify sinks by their flag to avoid overly complicated
10462         checks (fow now).
10463         Do state changes even for elements not reachable from the
10464         sinks.
10465         BaseSink is a sink now :)
10466         Some more debugging info in the basesrc.
10467
10468
10469 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10470
10471         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10472           Implement _query on a bin, similar to _send_event.
10473
10474 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10475
10476         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10477           Discont event offset format should be GST_FORMAT_BYTES,
10478           not GST_FORMAT_TIME.
10479
10480 2005-05-12  Wim Taymans  <wim@fluendo.com>
10481
10482         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10483         Same fix as Ronald's but without the signal. 
10484
10485 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10486
10487         * gst/gstutils.c: (gst_element_query_position):
10488           No, an element is not a pad.
10489
10490 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10491
10492         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10493         (gst_bin_get_state):
10494           If a child is removed from a bin while we remove the child from
10495           the bin and while we're retrieving its state, signal this to the
10496           get_state function so we abort the wait (instead of waiting for
10497           a timeout) and can immediately re-iterate over all other elements.
10498
10499 2005-05-12  Wim Taymans  <wim@fluendo.com>
10500
10501         * gst/base/Makefile.am:
10502         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10503         (gst_basesrc_start):
10504         * gst/base/gstbasesrc.h:
10505         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10506         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10507         (gst_pushsrc_init), (gst_pushsrc_create):
10508         * gst/base/gstpushsrc.h:
10509         Added is_seekable to BaseSrc
10510         Added simple PushSrc.
10511
10512 2005-05-11  Wim Taymans  <wim@fluendo.com>
10513
10514         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10515         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10516         (gst_element_link_pads), (gst_element_query_position),
10517         (gst_element_query_convert), (intersect_caps_func),
10518         (gst_pad_query_position), (gst_pad_query_convert):
10519         Fix refcounting in utils function.
10520         No point in trying to activate a pad when it's added, it could
10521         be added from the state change function and then we deadlock, the
10522         element has to decide what to do.
10523
10524 2005-05-10  Andy Wingo  <wingo@pobox.com>
10525
10526         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10527         *all* the arguments.
10528
10529         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10530         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10531         lock (according to the docs -- if this is wrong change the docs).
10532
10533         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10534         flush messages in the NULL state.
10535
10536         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10537         message immediately and return.
10538         (gst_bus_set_flushing): New function. If a bus is flushing, it
10539         flushes out any queued messages and immediately unrefs new
10540         messages. This is so when an element goes to NULL, all of the
10541         unhandled messages coming from it can be freed, and their
10542         references to the element dropped. In other words: message source
10543         ref considered harmful :P
10544
10545         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10546         we're finished with it.
10547
10548         * gst/gstmessage.c (gst_message_new_state_changed): 
10549
10550 2005-05-10  Wim Taymans  <wim@fluendo.com>
10551
10552         * gst/gstvalue.c: (gst_value_compare_flags),
10553         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10554         (_gst_value_initialize):
10555         Added flags serialize/deserialize/compare code.
10556
10557 2005-05-09  Andy Wingo  <wingo@pobox.com>
10558
10559         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10560         Intersect the peer's caps with our caps.
10561
10562 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10563
10564         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10565         * gst/elements/gsttypefindelement.c: (find_peek):
10566           Handle negative offsets better. Fixes decodebin.
10567
10568 2005-05-09  Wim Taymans  <wim@fluendo.com>
10569
10570         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10571         (gst_base_transform_event):
10572         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10573         Implement accept_caps.
10574         Fix silly lock/unlock mismatch in base class.
10575
10576 2005-05-09  Wim Taymans  <wim@fluendo.com>
10577
10578         * docs/design/draft-push-pull.txt:
10579         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10580         * gst/elements/gstfilesink.c: (gst_filesink_init),
10581         (gst_filesink_query):
10582         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10583         (gst_type_find_handle_src_query), (find_element_get_length):
10584         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10585         * gst/gstelement.h:
10586         * gst/gstmessage.c:
10587         * gst/gstmessage.h:
10588         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10589         (gst_real_pad_get_caps_unlocked),
10590         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10591         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10592         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10593         (gst_real_pad_dispose), (gst_real_pad_finalize),
10594         (gst_pad_load_and_link), (gst_pad_save_thyself),
10595         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10596         (gst_pad_check_pull_range), (gst_pad_pull_range),
10597         (gst_pad_template_get_type), (gst_pad_template_class_init),
10598         (gst_pad_template_init), (gst_pad_template_dispose),
10599         (name_is_valid), (gst_static_pad_template_get),
10600         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10601         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10602         (gst_pad_get_element_private), (gst_pad_start_task),
10603         (gst_pad_pause_task), (gst_pad_stop_task),
10604         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10605         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10606         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10607         (gst_ghost_pad_new):
10608         * gst/gstpad.h:
10609         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10610         (gst_query_new_position), (gst_query_set_position),
10611         (gst_query_parse_position), (gst_query_new_convert),
10612         (gst_query_set_convert), (gst_query_parse_convert):
10613         * gst/gstquery.h:
10614         * gst/gstqueryutils.c:
10615         * gst/gstqueryutils.h:
10616         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10617         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10618         (gst_queue_handle_src_query):
10619         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10620         (gst_element_query_position), (gst_element_query_convert),
10621         (intersect_caps_func), (gst_pad_query_position),
10622         (gst_pad_query_convert):
10623         * gst/gstutils.h:
10624         * tools/gst-inspect.c: (print_pad_info):
10625         * tools/gst-xmlinspect.c: (print_element_info):
10626         Remove old query functions. Ported old code.
10627         Added position/convert helper functions to gstutils.
10628         Reordered gstpad.c code, grouping relevant things.
10629         Remove gst_message_new(), always need to speficy a specific
10630         message.
10631
10632
10633 2005-05-09  Andy Wingo  <wingo@pobox.com>
10634
10635         * gst/gstiterator.h: Add some includes.
10636
10637         * gst/gstqueryutils.h: Include more headers.
10638
10639         * gst/gstpad.h:
10640         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10641         some uses of gst_pad_query.
10642
10643         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10644         NULL out parameters.
10645         (gst_query_new_position): New proc, allocates a new position
10646         query.
10647
10648         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10649         gstqueryutils.c to the build.
10650
10651         * gst/gststructure.c (gst_structure_set_valist): Implement with
10652         the generic G_VALUE_COLLECT.
10653         
10654 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10655
10656         * gst/Makefile.am: (gst_headers):
10657         Added gstqueryutils.h to the list of headers to install, that was
10658         a 'nachty' move wingo :)
10659
10660 2005-05-06  Andy Wingo  <wingo@pobox.com>
10661
10662         * gst/gstquery.h
10663         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10664         GstData, init a memchunk.
10665         (standard_definitions): Add a few query types, deprecate a few.
10666         (gst_query_get_type): New proc.
10667         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10668         implementation.
10669         (gst_query_new_application, gst_query_get_structure): New public
10670         procs.
10671
10672         * docs/design/draft-query.txt: Removed LINKS from the query types,
10673         because all the rest can be dispatched to other pads -- seemed
10674         ugly to have a query that couldn't be dispatched. internal_links
10675         is fine as a pad method.
10676
10677         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10678         in gstpad.c, but maintain binary compatibility for the moment.
10679         Will fix before 0.9 is out.
10680
10681         * gst/gstqueryutils.c: 
10682         * gst/gstqueryutils.h: New files, implement 3 methods for each
10683         query type: parse_query, parse_response, and set. Probably need an
10684         allocator as well.
10685
10686         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10687
10688         * gst/elements/gstfilesink.c (gst_filesink_query2):
10689         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10690         query_types, and formats methods.
10691
10692         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10693         (gst_pad_set_query2_function): New functions.
10694         (gst_real_pad_init): Set query2_default as the default query2
10695         function. Basically just dispatches to internally linked pads.
10696
10697         Needs review!
10698         
10699         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10700         without using the atomic operations. Only one thread can possibly
10701         be accessing the data at this point. Changed so as to avoid
10702         gst_atomic operations.
10703
10704 2005-05-06  Wim Taymans  <wim@fluendo.com>
10705
10706         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10707         Also set caps if we use the fallback buffer alloc.
10708
10709 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10710
10711         * docs/gst/Makefile.am:
10712         * docs/gst/gstreamer-docs.sgml:
10713         * docs/gst/gstreamer-sections.txt:
10714         * docs/gst/tmpl/gstatomic.sgml:
10715         * docs/gst/tmpl/gstmemchunk.sgml:
10716         * testsuite/elements/struct_i386.h:
10717         * win32/GStreamer.vcproj:
10718         * win32/Makefile:
10719           Purge GstAtomic stuff from docs and win32 makefiles as well
10720
10721 2005-05-06  Wim Taymans  <wim@fluendo.com>
10722
10723         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10724         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10725         * gst/gstpad.c: (gst_pad_peer_get_caps):
10726         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10727         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10728         (gst_queue_src_activate), (gst_queue_change_state):
10729         * gst/gstqueue.h:
10730         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10731         (intersect_caps_func):
10732         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10733         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10734         Some fixes for the peer_get_caps() change.
10735
10736 2005-05-06  Wim Taymans  <wim@fluendo.com>
10737
10738         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10739         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10740         (gst_basesink_activate):
10741         Actually do something with error codes returned from the push
10742         functions.
10743
10744 2005-05-06  Wim Taymans  <wim@fluendo.com>
10745
10746         * docs/design/part-element-sink.txt:
10747         * docs/design/part-element-source.txt:
10748         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10749         (gst_basesink_event), (gst_basesink_activate):
10750         * gst/base/gstbasesink.h:
10751         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10752         (gst_basesrc_activate):
10753         * gst/base/gstbasesrc.h:
10754         * gst/gstelement.c: (gst_element_pads_activate):
10755         Some more documentation.
10756         Fixed scheduling decision in _pads_activate().
10757
10758 2005-05-05  Andy Wingo  <wingo@pobox.com>
10759
10760         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10761         the test suite.
10762
10763 2005-05-05  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/base/Makefile.am:
10766         * gst/base/gstbasesink.h:
10767         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10768         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10769         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10770         (gst_collectpads_class_init), (gst_collectpads_init),
10771         (gst_collectpads_finalize), (gst_collectpads_new),
10772         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10773         (find_pad), (gst_collectpads_remove_pad),
10774         (gst_collectpads_is_active), (gst_collectpads_collect),
10775         (gst_collectpads_collect_range), (gst_collectpads_start),
10776         (gst_collectpads_stop), (gst_collectpads_peek),
10777         (gst_collectpads_pop), (gst_collectpads_available),
10778         (gst_collectpads_read), (gst_collectpads_flush),
10779         (gst_collectpads_chain):
10780         * gst/base/gstcollectpads.h:
10781         * gst/elements/Makefile.am:
10782         * gst/elements/gstelements.c:
10783         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10784         (gst_fakesink_get_times), (gst_fakesink_event),
10785         (gst_fakesink_preroll), (gst_fakesink_render):
10786         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10787         (gst_filesink_init), (gst_filesink_set_location),
10788         (gst_filesink_open_file), (gst_filesink_close_file),
10789         (gst_filesink_pad_query), (gst_filesink_event),
10790         (gst_filesink_render), (gst_filesink_change_state):
10791         * gst/elements/gstfilesink.h:
10792         Added object to help in making collect pad based elements.
10793         Ported filesink.
10794         Make event function in sink baseclass return gboolean.
10795
10796 2005-05-05  Wim Taymans  <wim@fluendo.com>
10797
10798         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10799         (gst_bin_get_by_name):
10800         * gst/gstbuffer.h:
10801         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10802         (gst_clock_finalize):
10803         * gst/gstdata.c: (gst_data_replace):
10804         * gst/gstdata.h:
10805         * gst/gstelement.c: (gst_element_request_pad),
10806         (gst_element_pads_activate):
10807         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10808         (gst_object_unref):
10809         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10810         (gst_pad_set_checkgetrange_function),
10811         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10812         (gst_pad_check_pull_range), (gst_pad_pull_range),
10813         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10814         (gst_pad_pause_task), (gst_pad_stop_task):
10815         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10816         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10817         Fix name lookup in GstBin.
10818         Added _data_replace() function and _buffer_replace()
10819         Use finalize method to clean up clock.
10820         Fix refcounting on request pads.
10821         Fix pad schedule mode error.
10822         Some more object refcounting debug info,
10823
10824
10825 2005-05-04  Andy Wingo <wingo@pobox.com>
10826
10827         * check/Makefile.am:
10828         * docs/gst/tmpl/gstatomic.sgml:
10829         * docs/gst/tmpl/gstplugin.sgml:
10830         * gst/base/gstbasesink.c: (gst_basesink_activate):
10831         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10832         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10833         (gst_basesrc_query), (gst_basesrc_set_property),
10834         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10835         (gst_basesrc_activate):
10836         * gst/base/gstbasesrc.h:
10837         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10838         (gst_base_transform_src_activate):
10839         * gst/elements/gstelements.c:
10840         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10841         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10842         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10843         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10844         (gst_type_find_element_checkgetrange),
10845         (gst_type_find_element_activate):
10846         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10847         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10848         (gst_caps_load_thyself):
10849         * gst/gstelement.c: (gst_element_pads_activate),
10850         (gst_element_save_thyself), (gst_element_restore_thyself):
10851         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10852         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10853         * gst/gstpad.h:
10854         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10855         (gst_xml_parse_file), (gst_xml_parse_memory),
10856         (gst_xml_get_element), (gst_xml_make_element):
10857         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10858         (_file_index_id_save_xml), (gst_file_index_commit):
10859         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10860         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10861         (load_paths):
10862         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10863         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10864         * tools/gst-complete.c: (main):
10865         * tools/gst-compprep.c: (main):
10866         * tools/gst-inspect.c: (print_element_properties_info):
10867         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10868         * tools/gst-xmlinspect.c: (print_element_properties):
10869         GCC 4 fixen.
10870         
10871 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10872
10873         * gst/gstplugin.c: (gst_plugin_check_module),
10874         (gst_plugin_check_file), (gst_plugin_load_file):
10875             apply patch from #172526 to make register work on MacOSX
10876
10877 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * docs/gst/tmpl/gstconfig.sgml:
10880         * gst/gstconfig.h.in:
10881           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10882         * testsuite/debug/printf_extension.c: (main):
10883           Do not use GST_PTR_FORMAT on pointers to types with
10884           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10885         * testsuite/elements/property.h:
10886           use correct printf format
10887
10888 2005-05-02  Wim Taymans  <wim@fluendo.com>
10889
10890         * docs/design/draft-push-pull.txt:
10891         * docs/design/draft-query.txt:
10892         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10893         (gst_basesrc_start):
10894         Added draft for new query API.
10895         Added draft for better selecting scheduling methods.
10896         Make basesrc ignore length if the subclass does not support
10897         it.
10898
10899 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10900
10901         * gst/Makefile.am:
10902           possible fixes for automake-1.5 - _LIBADD is reserved
10903
10904 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10905
10906         * docs/faq/Makefile.am:
10907         * docs/manual/Makefile.am:
10908         * docs/manuals.mak:
10909         * docs/pwg/Makefile.am:
10910         * gst/Makefile.am:
10911           possible fixes for automake-1.5
10912
10913 2005-04-28  Wim Taymans  <wim@fluendo.com>
10914
10915         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10916         (gst_basesink_pad_getcaps), (gst_basesink_init),
10917         (gst_basesink_do_sync):
10918         * gst/gstclock.c: (gst_clock_entry_new):
10919         * gst/gstevent.c: (gst_event_discont_get_value):
10920         * gst/gstpipeline.c: (pipeline_bus_handler),
10921         (gst_pipeline_change_state):
10922         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10923         Better debugging of clocking info.
10924         Allow NULL values when getting discont values.
10925
10926 2005-04-27  Wim Taymans  <wim@fluendo.com>
10927
10928         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10929         * check/gst/gstpad.c: (gst_pad_suite):
10930         Increase timeout for checks.
10931
10932 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10933
10934         * check/Makefile.am:
10935           fix the broken rule for cleanup.  Apparently this rule is
10936           only needed on FC2, so maybe this warrants further autotool
10937           inspection.
10938
10939 2005-04-26  Wim Taymans  <wim@fluendo.com>
10940
10941         * gst/gsttrashstack.h:
10942         Ooohh. a nasty one! After having a failed pop() from the stack,
10943         it's possible that the stack is empty. In that case, don't
10944         follow the NULL pointer.
10945
10946 2005-04-25  Wim Taymans  <wim@fluendo.com>
10947
10948         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10949         (gst_pad_set_checkgetrange_function),
10950         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10951         (gst_pad_check_pull_range), (gst_pad_pull_range),
10952         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10953         (gst_pad_pause_task), (gst_pad_stop_task):
10954         * gst/gstplugin.c: (gst_plugin_load):
10955         * gst/gstplugin.h:
10956         Remove gst_library_load as it does more harm than good with
10957         the new g_module flags.
10958         Revert bogus caps template check in pad linking, pad caps
10959         are important when linking not the template, which is more
10960         general than the current caps.
10961
10962 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10963
10964         * gst/autoplug/.cvsignore:
10965         * gst/autoplug/Makefile.am:
10966         * gst/autoplug/gstsearchfuncs.c:
10967         * gst/autoplug/gstsearchfuncs.h:
10968         * gst/autoplug/gstspider.c:
10969         * gst/autoplug/gstspider.h:
10970         * gst/autoplug/gstspideridentity.c:
10971         * gst/autoplug/gstspideridentity.h:
10972         * gst/autoplug/spidertest.c:
10973           Die, spider, die.
10974
10975 2005-04-25  Wim Taymans  <wim@fluendo.com>
10976
10977         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10978         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10979         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10980         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10981         * gst/gstpad.h:
10982         Added stubs for unimplemented functions. 
10983
10984 2005-04-24  David Schleef  <ds@schleef.org>
10985
10986         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10987         please fix.
10988
10989 2005-04-24  David Schleef  <ds@schleef.org>
10990
10991         Convert everything from GstAtomicInt to g_atomic_int_*, and
10992         remove gstatomic.
10993         * gst/Makefile.am:
10994         * gst/gstatomic.c:
10995         * gst/gstatomic.h:
10996         * gst/gstatomic_impl.h:
10997         * gst/gstbuffer.c:
10998         * gst/gstcaps.c:
10999         * gst/gstcaps.h:
11000         * gst/gstclock.c:
11001         * gst/gstclock.h:
11002         * gst/gstdata.c:
11003         * gst/gstdata.h:
11004         * gst/gstdata_private.h:
11005         * gst/gstevent.c:
11006         * gst/gstinfo.c:
11007         * gst/gstinfo.h:
11008         * gst/gstmessage.c:
11009         * gst/gstobject.c:
11010         * gst/gstobject.h:
11011         * gst/gststructure.c:
11012         * gst/gststructure.h:
11013         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11014         * gst/gstutils.h:
11015
11016 2005-04-24  David Schleef  <ds@schleef.org>
11017
11018         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11019         make the regressions tests work.  Remove some code that is no
11020         longer true.
11021         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11022         Disable warning for pads without templates.
11023
11024 2005-04-24  David Schleef  <ds@schleef.org>
11025
11026         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11027         functions that handle filtered links.
11028         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11029         removed functions.
11030         * gst/gstutils.c: Fix/remove utility functions that handle
11031         filtered caps.
11032         * gst/gstutils.h:
11033         * gst/gstvalue.c: Add serialization/deserialization of caps
11034         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11035         requires fixing so that the filter caps notation creates
11036         a capsfilter element and sets the filter_caps property.  I
11037         think everyone probably wants to keep the shorthand notation.
11038         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11039         * docs/gst/tmpl/gstpad.sgml:
11040
11041         * gst/elements/gstelements.c: Register capsfilter element.
11042         * gst/Makefile.am: fix spacing
11043         * docs/random/ds/0.9-suggested-changes: random
11044
11045 2005-04-23  David Schleef  <ds@schleef.org>
11046
11047         * gst/elements/Makefile.am:
11048         * gst/elements/gstcapsfilter.c: New element that acts like an
11049         identity, but filters caps.  Will eventually replace filtered
11050         caps in pad linking.
11051         * gst/gstutils.c: (gst_element_create_all_pads): New function
11052         to create all the ALWAYS pads that are registered with an
11053         element class.  This functionality should eventually be
11054         merged in with GstElement initialization.
11055         * gst/gstutils.h:
11056         * testsuite/trigger/README: part of trigger test code that should
11057         have been checked in a long time ago.
11058
11059 2005-04-23  David Schleef  <ds@schleef.org>
11060
11061         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11062         needed with new versions of libtool (nobody will confirm this),
11063         and hard to carry around.
11064         * gst/autoplug/Makefile.am:
11065         * gst/base/Makefile.am:
11066         * gst/elements/Makefile.am:
11067         * gst/indexers/Makefile.am:
11068         * gst/schedulers/Makefile.am:
11069         * libs/gst/bytestream/Makefile.am:
11070         * libs/gst/control/Makefile.am:
11071         * libs/gst/dataprotocol/Makefile.am:
11072         * libs/gst/getbits/Makefile.am:
11073
11074 2005-04-21  Wim Taymans  <wim@fluendo.com>
11075
11076         * docs/design/draft-push-pull.txt:
11077         * docs/design/part-MT-refcounting.txt:
11078         * docs/design/part-TODO.txt:
11079         * docs/design/part-caps.txt:
11080         * docs/design/part-events.txt:
11081         * docs/design/part-gstbus.txt:
11082         * docs/design/part-gstpipeline.txt:
11083         * docs/design/part-messages.txt:
11084         * docs/design/part-push-pull.txt:
11085         * docs/design/part-query.txt:
11086         Some more docs.
11087
11088 2005-04-21  Wim Taymans  <wim@fluendo.com>
11089
11090         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11091         (gst_message_new), (gst_message_new_error),
11092         (gst_message_new_warning), (gst_message_new_tag),
11093         (gst_message_new_state_changed), (gst_message_new_application),
11094         (gst_message_get_structure):
11095         * gst/gstmessage.h:
11096         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11097         (gst_structure_copy_conditional):
11098         Use parent refcount in GstMessage to ensure GstStructure
11099         consistency.
11100         Cleaned up headers a bit.
11101         
11102
11103 2005-04-20  Wim Taymans  <wim@fluendo.com>
11104
11105         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11106         (gst_basesink_pad_getcaps), (gst_basesink_init),
11107         (gst_basesink_chain_unlocked):
11108         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11109         (gst_type_find_helper):
11110         * gst/elements/gsttypefindelement.c:
11111         (gst_type_find_element_have_type), (gst_type_find_element_init),
11112         (stop_typefinding), (gst_type_find_element_handle_event),
11113         (find_suggest), (gst_type_find_element_chain),
11114         (gst_type_find_element_checkgetrange),
11115         (gst_type_find_element_getrange), (do_typefind),
11116         (gst_type_find_element_activate):
11117         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11118         (gst_buffer_default_free), (gst_buffer_default_copy),
11119         (gst_buffer_set_caps):
11120         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11121         (gst_caps_replace):
11122         * gst/gstmessage.c: (gst_message_new),
11123         (gst_message_new_state_changed):
11124         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11125         (gst_pad_set_checkgetrange_function),
11126         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11127         (gst_pad_set_caps), (gst_pad_check_pull_range),
11128         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11129         * gst/gstpad.h:
11130         * gst/gsttypefind.c: (gst_type_find_register):
11131         Make gst_caps_replace() work like other _replace() functions.
11132         Use _caps_replace() where possible.
11133         Make sure _message_new() initialises its field.
11134         Add gst_static_pad_template_get_caps()
11135
11136
11137 2005-04-18  Andy Wingo  <wingo@pobox.com>
11138
11139         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11140         on the peer, not the pad. I think that was a typo. Pass an extra
11141         arg to see if random access is possible. Activate the pads as
11142         PULL_RANGE if possible.
11143
11144         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11145
11146         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11147         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11148         to PROP_....
11149
11150 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11151
11152         * docs/faq/using.xml:
11153           Add note on gstreamer-properties (#154996).
11154
11155 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11156
11157         * docs/random/bbb/optional-properties:
11158           Some analysis on optional properties.
11159
11160 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11161
11162         * docs/gst/tmpl/gstelementfactory.sgml:
11163         * gst/gstelement.h:
11164         * gst/gstelementfactory.c: (gst_element_factory_init),
11165         (gst_element_factory_cleanup), (gst_element_register),
11166         (__gst_element_factory_add_static_pad_template),
11167         (gst_element_factory_get_static_pad_templates),
11168         (gst_element_factory_can_src_caps),
11169         (gst_element_factory_can_sink_caps):
11170         * gst/registries/Makefile.am:
11171         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11172         (gst_xml_registry_class_init), (gst_xml_registry_init),
11173         (gst_xml_registry_new), (gst_xml_registry_set_property),
11174         (gst_xml_registry_get_property), (get_time), (make_dir),
11175         (gst_xml_registry_get_perms_func),
11176         (plugin_times_older_than_recurse), (plugin_times_older_than),
11177         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11178         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11179         (add_to_char_array), (read_string), (read_uint), (read_enum),
11180         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11181         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11182         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11183         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11184         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11185         (gst_xml_registry_rebuild):
11186         * gst/registries/gstlibxmlregistry.h:
11187         * tools/gst-compprep.c: (main):
11188         * tools/gst-inspect.c: (print_pad_templates_info):
11189         * tools/gst-xmlinspect.c: (print_element_info):
11190           Use libxml2 for registry parsing, use staticpadtemplates in
11191           elementfactories. Makes gst_init() +/- 10x faster.
11192
11193 2005-04-12  Wim Taymans  <wim@fluendo.com>
11194
11195         * gst/base/Makefile.am:
11196         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11197         (gst_basesink_pad_getcaps), (gst_basesink_init),
11198         (gst_basesink_event), (gst_basesink_change_state):
11199         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11200         (gst_basesrc_init), (gst_basesrc_query),
11201         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11202         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11203         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11204         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11205         (gst_basesrc_stop), (gst_basesrc_activate),
11206         (gst_basesrc_change_state):
11207         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11208         (helper_find_suggest), (gst_type_find_helper):
11209         * gst/base/gsttypefindhelper.h:
11210         * gst/elements/Makefile.am:
11211         * gst/elements/gstelements.c:
11212         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11213         (gst_fakesink_get_times), (gst_fakesink_event),
11214         (gst_fakesink_preroll), (gst_fakesink_render):
11215         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11216         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11217         (gst_fakesrc_get_property), (gst_fakesrc_create),
11218         (gst_fakesrc_start), (gst_fakesrc_stop):
11219         * gst/elements/gstfakesrc.h:
11220         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11221         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11222         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11223         (gst_filesrc_create_read), (gst_filesrc_create),
11224         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11225         (gst_filesrc_start):
11226         * gst/elements/gsttypefindelement.c:
11227         (gst_type_find_element_have_type), (gst_type_find_element_init),
11228         (start_typefinding), (stop_typefinding), (push_buffer_store),
11229         (gst_type_find_element_handle_event),
11230         (gst_type_find_element_chain),
11231         (gst_type_find_element_checkgetrange),
11232         (gst_type_find_element_getrange), (do_typefind),
11233         (gst_type_find_element_activate),
11234         (gst_type_find_element_change_state):
11235         * gst/elements/gsttypefindelement.h:
11236         * gst/gstpipeline.c: (pipeline_bus_handler):
11237         Added typefind helper.
11238         Small preroll fix in the base sink.
11239         Disable typefind code in basesrc.
11240         Crude port of typefindelement.
11241         Fakesrc cleanups.
11242
11243
11244 2005-04-11  Wim Taymans  <wim@fluendo.com>
11245
11246         * check/gst/gstbus.c: (gstbus_suite):
11247         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11248         * check/gstcheck.h:
11249           Fix up the timeout so that the test does not fail.
11250
11251 2005-04-06  Wim Taymans  <wim@fluendo.com>
11252
11253         * gst/base/README:
11254         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11255         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11256         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11257         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11258         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11259         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11260         (gst_basesrc_stop), (gst_basesrc_activate),
11261         (gst_basesrc_change_state), (basesrc_find_peek),
11262         (basesrc_find_suggest), (gst_basesrc_type_find):
11263         * gst/base/gstbasesrc.h:
11264         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11265         (gst_filesrc_class_init), (gst_filesrc_init),
11266         (gst_filesrc_finalize), (gst_filesrc_set_location),
11267         (gst_filesrc_set_property), (gst_filesrc_get_property),
11268         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11269         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11270         (gst_filesrc_create_read), (gst_filesrc_create),
11271         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11272         * gst/elements/gstfilesrc.h:
11273         * gst/gstelement.c: (gst_element_get_state_func),
11274         (gst_element_lost_state), (gst_element_pads_activate):
11275         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11276         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11277         (gst_pad_pull_range):
11278         * gst/gstpad.h:
11279         More work on the generic source base class, implement seeking,
11280         query.
11281         Make filesrc extend the base source class.
11282         Added gst_pad_set_checkgetrange_function to GstPad.
11283
11284 2005-04-06  Andy Wingo  <wingo@pobox.com>
11285
11286         * pkgconfig/gstreamer-base.pc.in:
11287         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11288
11289         * pkgconfig/Makefile.am:
11290         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11291
11292 2005-04-04  Wim Taymans  <wim@fluendo.com>
11293
11294         * gst/base/Makefile.am:
11295         * gst/base/README:
11296         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11297         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11298         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11299         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11300         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11301         (gst_basesrc_base_init), (gst_basesrc_class_init),
11302         (gst_basesrc_init), (gst_basesrc_get_formats),
11303         (gst_basesrc_get_query_types), (gst_basesrc_query),
11304         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11305         (gst_basesrc_set_property), (gst_basesrc_get_property),
11306         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11307         (gst_basesrc_loop), (gst_basesrc_activate),
11308         (gst_basesrc_change_state):
11309         * gst/base/gstbasesrc.h:
11310         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11311         (gst_fakesrc_class_init), (gst_fakesrc_init),
11312         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11313         (gst_fakesrc_get_property), (gst_fakesrc_create):
11314         * gst/elements/gstfakesrc.h:
11315         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11316         (gst_filesrc_open_file), (gst_filesrc_loop),
11317         (gst_filesrc_activate), (filesrc_find_peek),
11318         (gst_filesrc_type_find):
11319         Made base source class, make fakesrc extend it.
11320         Add comments to basesink class.
11321         Some filesrc cleanup.
11322
11323 2005-03-31  David Schleef  <ds@schleef.org>
11324
11325         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11326         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11327         expected to link against libgstreamer.
11328         * gst/base/Makefile.am: link against libgstreamer
11329         * gst/elements/Makefile.am: same
11330
11331 2005-03-31  Andy Wingo  <wingo@pobox.com>
11332
11333         * tests/instantiate/Makefile.am:
11334         * tests/instantiate/caps.c: Add test to test speed of caps copy
11335         and free.
11336
11337         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11338         GMemChunk to be fair.
11339
11340         * gst/gsttrashstack.h: Remove warning about using the fallback
11341         trash stack implementation, it's still faster than malloc.
11342
11343 2005-03-30  Andy Wingo  <wingo@pobox.com>
11344
11345         * tests/complexity.c: Add a copyright.
11346
11347 2005-03-31  Wim Taymans  <wim@fluendo.com>
11348
11349         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11350         (gst_base_transform_class_init), (gst_base_transform_init),
11351         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11352         (gst_base_transform_get_property),
11353         (gst_base_transform_sink_activate),
11354         (gst_base_transform_src_activate),
11355         (gst_base_transform_change_state):
11356         * gst/base/gstbasetransform.h:
11357         * gst/elements/gstidentity.c: (gst_identity_class_init),
11358         (gst_identity_event), (gst_identity_check_perfect),
11359         (gst_identity_transform), (gst_identity_start),
11360         (gst_identity_stop):
11361         Added start/stop methods to transform base class so subclasses 
11362         don't need to deal with state changes even.
11363
11364 2005-03-31  Wim Taymans  <wim@fluendo.com>
11365
11366         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11367         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11368         * gst/gstevent.h:
11369         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11370         (gst_pad_pull_range):
11371         Added rate to the discont event to prepare for variable speed
11372         and reverse playback.
11373
11374 2005-03-29  David Schleef  <ds@schleef.org>
11375
11376         * configure.ac:
11377         * testsuite/trigger/Makefile.am:
11378         * testsuite/trigger/trigger.c: A little example program to show
11379         how trigger-based elements can work.
11380
11381 2005-03-29  Wim Taymans  <wim@fluendo.com>
11382
11383         * gst/base/Makefile.am:
11384         * gst/base/README:
11385         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11386         (gst_basesink_base_init), (gst_basesink_class_init),
11387         (gst_basesink_pad_getcaps), (gst_basesink_init),
11388         (gst_basesink_activate), (gst_basesink_change_state):
11389         * gst/base/gstbasesink.h:
11390         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11391         (gst_base_transform_base_init), (gst_base_transform_finalize),
11392         (gst_base_transform_class_init), (gst_base_transform_init),
11393         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11394         (gst_base_transform_event), (gst_base_transform_getrange),
11395         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11396         (gst_base_transform_set_property),
11397         (gst_base_transform_get_property),
11398         (gst_base_transform_sink_activate),
11399         (gst_base_transform_src_activate),
11400         (gst_base_transform_change_state):
11401         * gst/base/gstbasetransform.h:
11402         * gst/elements/gstidentity.c: (gst_identity_finalize),
11403         (gst_identity_class_init), (gst_identity_init),
11404         (gst_identity_event), (gst_identity_check_perfect),
11405         (gst_identity_transform), (gst_identity_set_property),
11406         (gst_identity_get_property), (gst_identity_change_state):
11407         * gst/elements/gstidentity.h:
11408         * gst/gstelement.c: (gst_element_get_state_func),
11409         (gst_element_lost_state), (gst_element_pads_activate):
11410         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11411         (gst_pad_check_pull_range), (gst_pad_pull_range):
11412         * gst/gstpad.h:
11413         Simplify pad activation.
11414         Added function to check if pull_range can be performed.
11415         Error out when pulling inactive or flushing pads.
11416         Removed const from refcounted types as it does not make sense.
11417         Simplify pad templates in basesink
11418         Added base class for simple 1-to-1 transforms.
11419         Make identity subclass the base transform.
11420
11421 2005-03-29  Andy Wingo  <wingo@pobox.com>
11422
11423         * docs/libs/gstreamer-libs-overrides.txt: 
11424         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11425         really don't understand what's going on, but like whatever. I want
11426         green buildbot!
11427
11428         * docs/gst/Makefile.am:
11429         * docs/libs/Makefile.am: Dist the overrides files.
11430
11431         * check/Makefile.am (clean-local): Remove .libs directories.
11432
11433         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11434         elements to EXTRA_DIST, so po/ files are happy.
11435
11436         * po/POTFILES.in: Er, remove it here.
11437
11438         * po/POTFILES: Remove gstspider.c.
11439
11440         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11441
11442         * docs/libs/gstreamer-libs-docs.sgml: 
11443         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11444         bytestream.
11445
11446         * tests/complexity.c (main): Set the length of the preroll queue
11447         on the sinks to prevent a lockup.
11448
11449         * libs/gst/dataprotocol/Makefile.am: 
11450         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11451         the same as the one in check/gst-libs/gdp.c.
11452
11453         * po/, docs/gst/: Commit automatic changes to docs and po files.
11454
11455         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11456         the versioned libgstbase.
11457
11458         * check/Makefile.am: Depend on an unversioned gst-register, seems
11459         to make autoconf happier.
11460
11461         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11462
11463 2005-03-28  Wim Taymans  <wim@fluendo.com>
11464
11465         * configure.ac:
11466         * docs/design/part-gstelement.txt:
11467         * docs/design/part-negotiation.txt:
11468         * docs/design/part-preroll.txt:
11469         * docs/design/part-scheduling.txt:
11470         * docs/design/part-states.txt:
11471         * gst/Makefile.am:
11472         * gst/base/Makefile.am:
11473         * gst/base/README:
11474         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11475         (gst_basesink_base_init), (gst_basesink_class_init),
11476         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11477         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11478         (gst_basesink_set_pad_functions),
11479         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11480         (gst_basesink_set_property), (gst_basesink_get_property),
11481         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11482         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11483         (gst_basesink_preroll_queue_push),
11484         (gst_basesink_preroll_queue_empty),
11485         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11486         (gst_basesink_event), (gst_basesink_get_times),
11487         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11488         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11489         (gst_basesink_loop), (gst_basesink_activate),
11490         (gst_basesink_change_state):
11491         * gst/base/gstbasesink.h:
11492         * gst/elements/Makefile.am:
11493         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11494         (gst_fakesink_class_init), (gst_fakesink_init),
11495         (gst_fakesink_set_property), (gst_fakesink_get_property),
11496         (gst_fakesink_get_times), (gst_fakesink_event),
11497         (gst_fakesink_preroll), (gst_fakesink_render),
11498         (gst_fakesink_change_state):
11499         * gst/elements/gstfakesink.h:
11500         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11501         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11502         * gst/gstelement.c: (gst_element_add_pad),
11503         (gst_element_get_state_func), (gst_element_abort_state),
11504         (gst_element_commit_state), (gst_element_lost_state),
11505         (gst_element_set_state), (gst_element_pads_activate):
11506         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11507         * gst/gstpipeline.c: (gst_pipeline_send_event),
11508         (gst_pipeline_change_state):
11509         Added state change code.
11510         Added/updated docs.
11511         Added sink base class, make fakesink extend the base class.
11512         Small cleanups in GstPipeline.
11513
11514 2005-03-26  David Schleef  <ds@schleef.org>
11515
11516         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11517         is broken and should be implemented in a different library.
11518         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11519         * gst/gst.h: remove gstcpu.h
11520         * gst/gstcpu.c: remove
11521         * gst/gstcpu.h: remove
11522         * gst/Makefile.am.future: Remove this file.  It's ancient.
11523
11524 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11525
11526         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11527         (gst_bin_send_event):
11528           Add default event/set_manager handlers. The set_manager handler
11529           takes care that the manager is distributed over kids that were
11530           already in the bin before the manager was set. The event handler
11531           is a utility virtual function that sends the event over all sinks,
11532           so that gst_element_send_event (bin, event); has the expected
11533           behaviour.
11534         * gst/gstpad.c: (gst_pad_event_default):
11535           Re-install default event handling for discontinuities, so that
11536           seeking works without requiring hacks in applications or extra
11537           code in sinks.
11538         * gst/gstpipeline.c: (gst_pipeline_class_init),
11539         (gst_pipeline_send_event):
11540           Half hack, half utility: set a pipeline to PAUSED for seek events,
11541           since that is the only way we can guarantee a/v sync. Means that
11542           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11543           and it "just works".
11544
11545 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11546
11547         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11548           Lock/unlock mismatch.
11549
11550 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11551
11552         * docs/faq/gst-uninstalled:
11553           add gst-plugins-base
11554         * docs/gst/Makefile.am:
11555           don't error out until docs are fixed
11556         * docs/gst/gstreamer.types:
11557           remove thread
11558
11559 2005-03-22  Wim Taymans  <wim@fluendo.com>
11560
11561         * check/Makefile.am:
11562         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11563         * gst/gststructure.c: (gst_structure_set_valist),
11564         (gst_structure_copy_conditional):
11565         Activated more tests.
11566         Added message test.
11567         Added G_TYPE_POINTER to GstStructure.
11568         
11569
11570 2005-03-22  Wim Taymans  <wim@fluendo.com>
11571
11572         * docs/design/part-TODO.txt:
11573         * docs/design/part-events.txt:
11574         * docs/design/part-gstbin.txt:
11575         * docs/design/part-gstbus.txt:
11576         * docs/design/part-gstpipeline.txt:
11577         * docs/design/part-messages.txt:
11578         * gst/gstbus.c:
11579         * gst/gstmessage.c:
11580         Docs updates
11581
11582 2005-03-21  Wim Taymans  <wim@fluendo.com>
11583
11584         * gst/gstbus.c: (gst_bus_post):
11585         Fix copy-and-paste error.
11586
11587 2005-03-21  Wim Taymans  <wim@fluendo.com>
11588
11589         * check/Makefile.am:
11590         * gst/Makefile.am:
11591         * gst/elements/Makefile.am:
11592         * gst/elements/gstelements.c:
11593         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11594         (gst_fakesink_event), (gst_fakesink_chain):
11595         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11596         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11597         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11598         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11599         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11600         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11601         (gst_fakesrc_loop), (gst_fakesrc_activate),
11602         (gst_fakesrc_change_state):
11603         * gst/elements/gstfakesrc.h:
11604         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11605         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11606         (gst_filesrc_open_file), (gst_filesrc_loop),
11607         (gst_filesrc_activate), (gst_filesrc_change_state),
11608         (filesrc_find_peek), (filesrc_find_suggest),
11609         (gst_filesrc_type_find):
11610         * gst/elements/gstidentity.c: (gst_identity_finalize),
11611         (gst_identity_class_init), (gst_identity_init),
11612         (gst_identity_proxy_getcaps), (identity_queue_push),
11613         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11614         (gst_identity_getrange), (gst_identity_chain),
11615         (gst_identity_sink_loop), (gst_identity_src_loop),
11616         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11617         (gst_identity_set_property), (gst_identity_get_property),
11618         (gst_identity_change_state):
11619         * gst/elements/gstidentity.h:
11620         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11621         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11622         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11623         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11624         (gst_tee_sink_activate):
11625         * gst/elements/gsttee.h:
11626         * gst/gst.c: (gst_register_core_elements), (init_post):
11627         * gst/gst.h:
11628         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11629         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11630         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11631         (gst_bin_change_state):
11632         * gst/gstbin.h:
11633         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11634         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11635         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11636         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11637         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11638         (bus_watch_callback), (bus_watch_destroy),
11639         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11640         (poll_timeout), (gst_bus_poll):
11641         * gst/gstbus.h:
11642         * gst/gstcaps.h:
11643         * gst/gstdata.h:
11644         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11645         (gst_element_post_message), (gst_element_message_full),
11646         (gst_element_get_state_func), (gst_element_get_state),
11647         (gst_element_abort_state), (gst_element_commit_state),
11648         (gst_element_lost_state), (gst_element_set_state),
11649         (gst_element_pads_activate), (gst_element_change_state),
11650         (gst_element_dispose), (gst_element_set_manager_func),
11651         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11652         (gst_element_set_manager), (gst_element_get_manager),
11653         (gst_element_set_bus), (gst_element_get_bus),
11654         (gst_element_set_scheduler), (gst_element_get_scheduler):
11655         * gst/gstelement.h:
11656         * gst/gstevent.c: (gst_event_new_segment_seek),
11657         (gst_event_new_flush):
11658         * gst/gstevent.h:
11659         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11660         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11661         (gst_message_new_eos), (gst_message_new_error),
11662         (gst_message_new_warning), (gst_message_new_tag),
11663         (gst_message_new_state_changed), (gst_message_new_application),
11664         (gst_message_get_structure), (gst_message_parse_tag),
11665         (gst_message_parse_state_changed), (gst_message_parse_error),
11666         (gst_message_parse_warning):
11667         * gst/gstmessage.h:
11668         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11669         (gst_real_pad_set_property), (gst_pad_set_active),
11670         (gst_pad_is_active), (gst_pad_set_blocked_async),
11671         (gst_pad_set_blocked), (gst_pad_is_blocked),
11672         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11673         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11674         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11675         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11676         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11677         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11678         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11679         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11680         (gst_pad_set_caps), (gst_pad_configure_sink),
11681         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11682         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11683         (gst_real_pad_dispose), (gst_real_pad_finalize),
11684         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11685         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11686         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11687         * gst/gstpad.h:
11688         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11689         (pipeline_bus_handler), (gst_pipeline_change_state),
11690         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11691         * gst/gstpipeline.h:
11692         * gst/gstprobe.h:
11693         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11694         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11695         (gst_queue_link_src), (gst_queue_bufferalloc),
11696         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11697         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11698         (gst_queue_loop), (gst_queue_handle_src_event),
11699         (gst_queue_handle_src_query), (gst_queue_src_activate),
11700         (gst_queue_change_state):
11701         * gst/gstqueue.h:
11702         * gst/gstscheduler.c: (gst_scheduler_init),
11703         (gst_scheduler_dispose), (gst_scheduler_create_task),
11704         (gst_scheduler_factory_create):
11705         * gst/gstscheduler.h:
11706         * gst/gststructure.c: (gst_structure_get_type),
11707         (gst_structure_copy_conditional):
11708         * gst/gststructure.h:
11709         * gst/gsttaginterface.h:
11710         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11711         (gst_task_init), (gst_task_dispose), (gst_task_create),
11712         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11713         (gst_task_pause):
11714         * gst/gsttask.h:
11715         * gst/gstthread.c:
11716         * gst/gstthread.h:
11717         * gst/gsttypes.h:
11718         * gst/schedulers/Makefile.am:
11719         * gst/schedulers/cothreads_compat.h:
11720         * gst/schedulers/entryscheduler.c:
11721         * gst/schedulers/faircothreads.c:
11722         * gst/schedulers/faircothreads.h:
11723         * gst/schedulers/fairscheduler.c:
11724         * gst/schedulers/gstbasicscheduler.c:
11725         * gst/schedulers/gstoptimalscheduler.c:
11726         * gst/schedulers/gthread-cothreads.h:
11727         * gst/schedulers/threadscheduler.c:
11728         (gst_thread_scheduler_task_get_type),
11729         (gst_thread_scheduler_task_class_init),
11730         (gst_thread_scheduler_task_init),
11731         (gst_thread_scheduler_task_start),
11732         (gst_thread_scheduler_task_stop),
11733         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11734         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11735         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11736         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11737         (plugin_init):
11738         * libs/gst/Makefile.am:
11739         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11740         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11741         (gst_file_pad_parent_set):
11742         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11743         (gst_dp_event_from_packet):
11744         * tests/complexity.c: (main):
11745         * tests/mass_elements.c: (main):
11746         * testsuite/states/locked.c: (message_received), (main):
11747         * testsuite/states/parent.c: (main):
11748         * tools/gst-inspect.c: (print_element_flag_info),
11749         (print_implementation_info), (print_pad_info):
11750         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11751         (main):
11752         * tools/gst-md5sum.c: (event_loop), (main):
11753         * tools/gst-typefind.c: (main):
11754         * tools/gst-xmlinspect.c: (print_element_info):
11755         Next big merge.
11756         Added GstBus for mainloop integration.
11757         Added GstMessage for sending notifications on the bus.
11758         Added GstTask as an abstraction for pipeline entry points.
11759         Removed GstThread.
11760         Removed Schedulers.
11761         Simplified GstQueue for multithreaded core.
11762         Made _link threadsafe, removed old capsnego.
11763         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11764         Added pad blocking functions.
11765         Reworked scheduling functions in GstPad to prepare for
11766         scheduling updates soon.
11767         Moved events out of data stream.
11768         Simplified GstEvent types.
11769         Added return values to push/pull.
11770         Removed clocking from GstElement.
11771         Added prototypes for state change function for next merge.
11772         Removed iterate from bins and state change management.
11773         Fixed some elements, disabled others for now.
11774         Fixed -inspect and -launch.
11775         Added check for GstBus.
11776
11777 2005-03-10  Wim Taymans  <wim@fluendo.com>
11778
11779         * docs/design/part-MT-refcounting.txt:
11780         * docs/design/part-clocks.txt:
11781         * docs/design/part-gstelement.txt:
11782         * docs/design/part-gstobject.txt:
11783         * docs/design/part-standards.txt:
11784         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11785         (gst_bin_remove_func), (gst_bin_remove):
11786         * gst/gstbin.h:
11787         * gst/gstbuffer.c:
11788         * gst/gstcaps.h:
11789         * testsuite/clock/clock1.c: (main):
11790         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11791         (main):
11792         * testsuite/dlopen/loadgst.c: (do_test):
11793         * testsuite/refcounting/bin.c: (add_remove_test1),
11794         (add_remove_test2), (main):
11795         * testsuite/refcounting/element.c: (main):
11796         * testsuite/refcounting/element_pad.c: (main):
11797         * testsuite/refcounting/pad.c: (main):
11798         * tools/gst-launch.c: (sigint_handler_sighandler):
11799         * tools/gst-typefind.c: (main):
11800         Doc updates.
11801         Added doc about clock.
11802         removed gst_bin_iterate_recurse_up(), marked methods
11803         for removal.
11804         Fix more testsuites.
11805
11806 2005-03-09  Wim Taymans  <wim@fluendo.com>
11807
11808         * gst/gstpad.c: (gst_pad_get_direction),
11809         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11810         (gst_pad_collect_valist):
11811         * testsuite/bins/interface.c: (main):
11812         * testsuite/caps/audioscale.c: (test_caps):
11813         * testsuite/caps/caps.c: (test1), (test2), (test3):
11814         * testsuite/caps/deserialize.c: (main):
11815         * testsuite/caps/enumcaps.c: (main):
11816         * testsuite/caps/filtercaps.c: (main):
11817         * testsuite/caps/intersect2.c: (main):
11818         * testsuite/caps/random.c: (main):
11819         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11820         * testsuite/caps/sets.c: (check_caps):
11821         * testsuite/caps/simplify.c: (check_caps), (main):
11822         * testsuite/caps/subtract.c: (check_caps):
11823         Fix _pad_get_direction wrt ghostpads.
11824         Fix caps testsuite.
11825
11826 2005-03-09  Wim Taymans  <wim@fluendo.com>
11827
11828         * check/Makefile.am:
11829         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11830         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11831         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11832         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11833         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11834         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11835         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11836         (bin_element_is_sink), (gst_bin_iterate_sinks),
11837         (gst_bin_iterate_all_by_interface):
11838         * gst/gstbin.h:
11839         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11840         (gst_element_change_state), (gst_element_dispose),
11841         (gst_element_finalize), (gst_element_set_loop_function):
11842         * gst/gstelement.h:
11843         * gst/gstiterator.c: (find_custom_fold_func):
11844         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11845         (gst_pad_collectv), (gst_pad_collect_valist),
11846         (gst_pad_template_new):
11847         * gst/gstpipeline.c: (gst_pipeline_class_init),
11848         (gst_pipeline_dispose), (gst_pipeline_set_property),
11849         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11850         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11851         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11852         * gst/gstutils.h:
11853         * gst/schedulers/entryscheduler.c:
11854         * gst/schedulers/gstbasicscheduler.c:
11855         (gst_basic_scheduler_cothreaded_chain),
11856         (gst_basic_scheduler_chain_add_element):
11857         * testsuite/bins/interface.c: (main):
11858         Added GstBin test.
11859         Added GstSystemClock test.
11860         Implemented clock distribution code in GstBin.
11861         Implemented iterate sinks method for future use.
11862         Rearranged gstelement.h
11863         Fix GstIterator comparison bug.
11864         Moved some code to GstPipeline, mostly clocking related.
11865
11866 2005-03-09  Wim Taymans  <wim@fluendo.com>
11867
11868         * configure.ac:
11869         * gst/gst_private.h:
11870         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11871         (gst_bin_remove_func), (gst_bin_remove),
11872         (gst_bin_get_by_name_recurse_up):
11873         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11874         (gst_clock_id_compare_func), (gst_clock_id_wait),
11875         (gst_clock_id_wait_async), (gst_clock_init),
11876         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11877         * gst/gstelement.h:
11878         * gst/gstinfo.c: (_gst_debug_init):
11879         * gst/gstobject.h:
11880         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11881         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11882         * gst/gstpad.h:
11883         Bump version number, we're now 0.9.0
11884         Add future debugging category.
11885         Fix NULL _unref() in _get_by_name_recurse_up
11886         Rearrange gstpad.h.
11887         Update some docs.
11888
11889 2005-03-08  Wim Taymans  <wim@fluendo.com>
11890
11891         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11892         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11893         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11894         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11895         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11896         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11897         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11898         * gst/elements/gstidentity.c: (gst_identity_class_init):
11899         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11900         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11901         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11902         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11903         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11904         (gst_tee_link):
11905         * gst/gstelement.c: (gst_element_class_init),
11906         (gst_element_base_class_init), (gst_element_init),
11907         (gst_element_get_random_pad), (gst_element_wait_state_change),
11908         (gst_element_change_state), (gst_element_dispose),
11909         (gst_element_finalize), (gst_element_set_loop_function):
11910         * gst/gstelement.h:
11911         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11912         * gst/gstthread.c: (gst_thread_class_init),
11913         (gst_thread_release_children_locks), (gst_thread_change_state):
11914         * gst/schedulers/gstbasicscheduler.c:
11915         (gst_basic_scheduler_loopfunc_wrapper),
11916         (gst_basic_scheduler_chain_wrapper),
11917         (gst_basic_scheduler_src_wrapper),
11918         (gst_basic_scheduler_remove_element):
11919         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11920         Remove threadsafe properties. Fix elements because GObject
11921         complains when installing a property before declaring a
11922         set/get_property handler.
11923         Rearrange gstelement.h file, use STATE macros for state locks.
11924         Free mutexes in the finalize method instead of dispose.
11925
11926 2005-03-08  Wim Taymans  <wim@fluendo.com>
11927
11928         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11929         * gst/gstthread.c: (gst_thread_release_children_locks):
11930         Added parentage check.
11931         Fix build og GstThread again.
11932
11933 2005-03-08  Wim Taymans  <wim@fluendo.com>
11934
11935         * docs/design/part-MT-refcounting.txt:
11936         * docs/design/part-conventions.txt:
11937         * docs/design/part-gstobject.txt:
11938         * docs/design/part-relations.txt:
11939         * docs/design/part-standards.txt:
11940         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11941         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11942         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11943         (gst_bin_iterate_all_by_interface):
11944         * gst/gstbuffer.h:
11945         * gst/gstclock.h:
11946         * gst/gstelement.c: (gst_element_class_init),
11947         (gst_element_change_state), (gst_element_set_loop_function):
11948         * gst/gstelement.h:
11949         * gst/gstiterator.c:
11950         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11951         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11952         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11953         (gst_object_set_parent), (gst_object_unparent),
11954         (gst_object_check_uniqueness):
11955         * gst/gstobject.h:
11956         Docs updates, clean up some headers.
11957
11958 2005-03-07  Wim Taymans  <wim@fluendo.com>
11959
11960         * check/.cvsignore:
11961         * check/Makefile.am:
11962         * check/gst-libs/.cvsignore:
11963         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11964         * check/gst/.cvsignore:
11965         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11966         (START_TEST), (gstbus_suite), (main):
11967         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11968         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11969         (gst_data_suite), (main):
11970         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11971         (add_fold_func), (gstiterator_suite), (main):
11972         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11973         (thread_name_object), (thread_name_object_default),
11974         (gst_object_name_compare), (gst_object_suite), (main):
11975         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11976         (gst_pad_suite), (main):
11977         * check/gstcheck.c: (gst_check_log_message_func),
11978         (gst_check_log_critical_func), (gst_check_init):
11979         * check/gstcheck.h:
11980         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11981         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11982         Added checks.
11983
11984 2005-03-07  Wim Taymans  <wim@fluendo.com>
11985
11986         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11987         (gst_list_iterator_next), (gst_list_iterator_resync),
11988         (gst_list_iterator_free), (gst_iterator_new_list),
11989         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11990         (gst_iterator_free), (gst_iterator_push), (filter_next),
11991         (filter_resync), (filter_uninit), (filter_free),
11992         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11993         (gst_iterator_foreach), (find_custom_fold_func),
11994         (gst_iterator_find_custom):
11995         * gst/gstiterator.h:
11996         Added missing files.
11997
11998 2005-03-07  Wim Taymans  <wim@fluendo.com>
11999
12000         * Makefile.am:
12001         * configure.ac:
12002         * docs/design/part-MT-refcounting.txt:
12003         * docs/design/part-conventions.txt:
12004         * docs/design/part-gstobject.txt:
12005         * docs/design/part-relations.txt:
12006         * examples/mixer/mixer.c: (main):
12007         * examples/thread/thread.c: (eos), (main):
12008         * gst/Makefile.am:
12009         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12010         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12011         (gst_spider_plug_from_srcpad):
12012         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12013         (gst_spider_identity_change_state),
12014         (gst_spider_identity_sink_loop_type_finding):
12015         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12016         * gst/elements/gstidentity.c: (gst_identity_init):
12017         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12018         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12019         * gst/elements/gsttypefindelement.c: (free_entry):
12020         * gst/gst.c:
12021         * gst/gst.h:
12022         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12023         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12024         (gst_bin_set_index), (gst_bin_set_element_sched),
12025         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12026         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12027         (gst_bin_iterate_elements), (iterate_child_recurse),
12028         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12029         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12030         (compare_interface), (gst_bin_get_by_interface),
12031         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12032         * gst/gstbin.h:
12033         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12034         (gst_buffer_default_free), (gst_buffer_default_copy),
12035         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12036         (gst_buffer_create_sub):
12037         * gst/gstbuffer.h:
12038         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12039         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12040         (gst_caps_unref), (gst_static_caps_get),
12041         (gst_caps_remove_and_get_structure), (gst_caps_append),
12042         (gst_caps_append_structure), (gst_caps_remove_structure),
12043         (gst_caps_copy_nth), (gst_caps_set_simple),
12044         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12045         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12046         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12047         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12048         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12049         (gst_caps_structure_figure_out_union),
12050         (gst_caps_switch_structures), (gst_caps_do_simplify),
12051         (gst_caps_replace), (gst_caps_from_string),
12052         (gst_caps_copy_conditional):
12053         * gst/gstcaps.h:
12054         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12055         (_gst_clock_id_free), (gst_clock_id_unref),
12056         (gst_clock_id_compare_func), (gst_clock_id_wait),
12057         (gst_clock_id_wait_async), (gst_clock_class_init),
12058         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12059         (gst_clock_get_time), (gst_clock_set_time_adjust),
12060         (gst_clock_set_property), (gst_clock_get_property):
12061         * gst/gstclock.h:
12062         * gst/gstcompat.h:
12063         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12064         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12065         * gst/gstdata.h:
12066         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12067         (gst_element_requires_clock), (gst_element_provides_clock),
12068         (gst_element_set_clock), (gst_element_clock_wait),
12069         (gst_element_wait), (gst_element_set_time_delay),
12070         (gst_element_is_indexable), (gst_element_add_pad),
12071         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12072         (pad_compare_name), (gst_element_get_static_pad),
12073         (gst_element_request_pad), (gst_element_get_request_pad),
12074         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12075         (gst_element_class_get_pad_template_list),
12076         (gst_element_class_get_pad_template), (gst_element_error_func),
12077         (gst_element_get_random_pad), (gst_element_get_event_masks),
12078         (gst_element_send_event), (gst_element_seek),
12079         (gst_element_get_query_types), (gst_element_query),
12080         (gst_element_get_formats), (gst_element_convert),
12081         (gst_element_is_locked_state), (gst_element_set_locked_state),
12082         (gst_element_sync_state_with_parent), (gst_element_change_state),
12083         (gst_element_finalize), (gst_element_yield),
12084         (gst_element_interrupt), (gst_element_set_scheduler),
12085         (gst_element_get_scheduler), (gst_element_set_loop_function):
12086         * gst/gstelement.h:
12087         * gst/gstevent.h:
12088         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12089         (gst_format_get_by_nick), (gst_format_get_details),
12090         (gst_format_iterate_definitions):
12091         * gst/gstformat.h:
12092         * gst/gstindex.c: (gst_index_gtype_resolver):
12093         * gst/gstinfo.c:
12094         * gst/gstinfo.h:
12095         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12096         (gst_mem_chunk_free):
12097         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12098         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12099         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12100         (gst_object_dispatch_properties_changed),
12101         (gst_object_set_name_default), (gst_object_set_name),
12102         (gst_object_get_name), (gst_object_set_name_prefix),
12103         (gst_object_get_name_prefix), (gst_object_set_parent),
12104         (gst_object_get_parent), (gst_object_unparent),
12105         (gst_object_check_uniqueness), (gst_object_save_thyself),
12106         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12107         (gst_object_set_property), (gst_object_get_property),
12108         (gst_object_get_path_string):
12109         * gst/gstobject.h:
12110         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12111         (gst_real_pad_init), (gst_real_pad_get_property),
12112         (gst_pad_custom_new), (gst_pad_get_direction),
12113         (gst_pad_set_active), (gst_pad_is_active),
12114         (gst_pad_set_event_function), (gst_pad_is_linked),
12115         (gst_pad_link_free), (gst_pad_link_intersect),
12116         (gst_pad_link_fixate), (gst_pad_set_caps),
12117         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12118         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12119         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12120         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12121         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12122         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12123         (gst_pad_realize), (gst_pad_get_allowed_caps),
12124         (gst_real_pad_dispose), (gst_real_pad_finalize),
12125         (gst_pad_collectv), (gst_pad_collect_valist),
12126         (gst_pad_template_dispose), (gst_pad_template_new),
12127         (gst_pad_get_internal_links):
12128         * gst/gstpad.h:
12129         * gst/gstpipeline.c: (gst_pipeline_dispose),
12130         (gst_pipeline_change_state):
12131         * gst/gstpipeline.h:
12132         * gst/gstplugin.c:
12133         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12134         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12135         * gst/gstpluginfeature.h:
12136         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12137         * gst/gstquery.c: (_gst_query_type_initialize),
12138         (gst_query_type_register), (gst_query_type_get_by_nick),
12139         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12140         * gst/gstquery.h:
12141         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12142         * gst/gstscheduler.c: (gst_scheduler_add_element),
12143         (gst_scheduler_factory_create):
12144         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12145         (gst_structure_free), (gst_structure_set_name),
12146         (gst_structure_id_set_value), (gst_structure_set_value),
12147         (gst_structure_set_valist), (gst_structure_remove_field),
12148         (gst_structure_remove_fields),
12149         (gst_structure_remove_fields_valist),
12150         (gst_structure_remove_all_fields), (gst_structure_foreach),
12151         (gst_structure_map_in_place),
12152         (gst_caps_structure_fixate_field_nearest_int),
12153         (gst_caps_structure_fixate_field_nearest_double):
12154         * gst/gststructure.h:
12155         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12156         (gst_system_clock_init), (gst_system_clock_dispose),
12157         (gst_system_clock_async_thread),
12158         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12159         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12160         * gst/gstsystemclock.h:
12161         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12162         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12163         * gst/gsttaginterface.c:
12164         * gst/gstthread.c: (gst_thread_dispose),
12165         (gst_thread_release_children_locks), (gst_thread_change_state),
12166         (gst_thread_main_loop):
12167         * gst/gsttrashstack.h:
12168         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12169         * gst/gsttypes.h:
12170         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12171         (gst_element_request_pad), (gst_element_get_pad_from_template),
12172         (gst_element_request_compatible_pad),
12173         (gst_element_get_compatible_pad_filtered),
12174         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12175         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12176         (gst_element_link_many), (gst_element_link),
12177         (gst_element_link_pads), (gst_element_unlink_pads),
12178         (gst_element_unlink_many), (gst_element_unlink),
12179         (gst_pad_can_link_filtered), (gst_pad_can_link),
12180         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12181         (gst_object_default_error), (gst_bin_add_many),
12182         (gst_bin_remove_many), (gst_element_populate_std_props),
12183         (gst_element_class_install_std_props), (gst_buffer_merge),
12184         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12185         (link_fold_func), (gst_pad_proxy_setcaps):
12186         * gst/gstutils.h:
12187         * gst/gstvalue.c: (gst_value_deserialize_string):
12188         * gst/parse/grammar.y:
12189         * gst/schedulers/gstbasicscheduler.c:
12190         (gst_basic_scheduler_cothreaded_chain),
12191         (gst_basic_scheduler_chain_recursive_add),
12192         (gst_basic_scheduler_pad_link):
12193         * gst/schedulers/gstoptimalscheduler.c:
12194         (get_group_schedule_function),
12195         (gst_opt_scheduler_state_transition),
12196         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12197         * libs/gst/bytestream/bytestream.c:
12198         * libs/gst/dataprotocol/dataprotocol.c:
12199         (gst_dp_header_from_buffer):
12200         * po/nb.po:
12201         * po/ru.po:
12202         * tests/threadstate/threadstate2.c: (eos):
12203         * tools/gst-compprep.c: (main):
12204         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12205         (print_pad_info), (print_children_info):
12206         * tools/gst-launch.c: (idle_func), (main):
12207         * tools/gst-md5sum.c: (idle_func), (main):
12208         * tools/gst-xmlinspect.c: (print_element_info):
12209         First THREADED backport attempt, focusing on adding locks and
12210         making sure the API is threadsafe. Needs more work. More docs
12211         follow this week.
12212
12213 2005-02-24  Andy Wingo  <wingo@pobox.com>
12214
12215         * tests/bench-complexity.scm:
12216         * tests/complexity.gnuplot: New files, good for running complexity
12217         benchmarks.
12218
12219         * tests/Makefile.am:
12220         * tests/complexity.c: New test, sets up N elements, at each level
12221         teeing into M streams per element. Eeeenteresting.
12222
12223         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12224         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12225         running bench-mass_elements.scm.
12226
12227         * tests/bench-mass_elements.scm: New script, runs mass_elements
12228         for various numbers of identities, outputting the results to a
12229         file. Requires guile 1.6. Just for testing.
12230
12231 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12232
12233         * gst/schedulers/fairscheduler.c:
12234           compile with debug disabled
12235
12236 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12237
12238         * configure.ac:
12239           hunting season on 0.9 is now OPEN