gst/gstghostpad.c: Don't ref NULL target pad (#322751). Improve docs.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4           Don't ref NULL target pad (#322751). Improve docs.
5
6 2005-11-29  Michael Smith  <msmith@fluendo.com>
7
8         * gst/gstregistryxml.c: (load_plugin):
9           Don't crash if we failed to load a feature from a plugin. 
10
11 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12
13         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14         (GST_START_TEST):
15           use more check API and less GLib API
16
17 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18
19         * Makefile.am:
20           don't run checks if we don't have check
21         * common/check.mak:
22           remove the registry when running make torture
23         * docs/gst/gstreamer-sections.txt:
24           remove second multiply
25         * gst/gstqueue.c: (gst_queue_loop):
26           fix a compile warning when disabling debug
27
28 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
29
30         * gst/gstinfo.h:
31         Hey! Let's print the pad name if the pointer != NULL instead
32         of when it == NULL :-)
33
34 2005-11-28  Wim Taymans  <wim@fluendo.com>
35
36         * check/gst/gstutils.c: (GST_START_TEST):
37         Updated check, add some scaling accuracy checking code.
38
39         * gst/gstutils.c: (gst_util_div128_64),
40         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
41         (gst_util_uint64_scale_int):
42         Fix 6 times faster division code. Optimize for common 
43         1/1 and less common X/1 cases.
44
45 2005-11-28  Wim Taymans  <wim@fluendo.com>
46
47         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
48         More checks.
49
50         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
51         (do_linear_regression), (gst_clock_add_observation):
52         Cleanups.
53         Release lock when the clock cannot be slaved.
54         Catch the case where the regression returned an invalid denominator.
55
56         * gst/gstutils.c: (gst_util_div128_64_iterate),
57         (gst_util_div128_64), (gst_util_uint64_scale_int64),
58         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
59         Add protentially more performant non-iterative 128/64 divide function
60         that unfortunatly does not work yet.
61         Shortcut the trivial 0/X = 0 case.
62         Remove the warnings on overflow.
63
64 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
65
66         * gst/gstplugin.c: (gst_plugin_register_func):
67           everything causing a plugin not to load should be at least a WARNING
68
69 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
70
71         * docs/random/ensonic/dparams.txt:
72           some TODOs for the next dev cycle
73         * libs/gst/controller/gstcontroller.c:
74         (gst_controlled_property_set_interpolation_mode),
75         (gst_controlled_property_new):
76         * libs/gst/controller/gstcontroller.h:
77           use base type to assign acccessor functions
78
79 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
80
81         * check/Makefile.am:
82         Oops, that should have been top_srcdir
83
84 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
85
86         * check/Makefile.am:
87         * check/elements/fdsrc.c: (GST_START_TEST):
88         Use a cmdline define to specify the location of a file to use for
89         testing, to avoid breaking distcheck.
90
91 2005-11-28  Andy Wingo  <wingo@pobox.com>
92
93         * gst/gstpad.c (fixate_value): Use array functions for arrays.
94
95 2005-11-28  Edward Hervey  <edward@fluendo.com>
96
97         * tools/gst-launch.c: (main):
98         Clarify the output strings, makes it easier to translate.
99         Fixes #322626
100
101 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
102
103         * gst/Makefile.am:
104           don't try and build net if we don't even have <sys/socket.h>
105
106 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
107
108         * check/Makefile.am:
109         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
110         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
111           Add tests for fdsrc seekability
112
113         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
114         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
115         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
116         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
117         * gst/elements/gstfdsrc.h:
118           fdsrc should not be a 'live' source.
119           Implement seeking on seekable fd's.
120
121         * gst/gstquery.c: (gst_query_new_seeking),
122         (gst_query_parse_seeking):
123         * gst/gstquery.h:
124           Implement SEEKING query functions: 
125             *_new_seeking and *_parse_seeking
126
127 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
128
129         * gst/gstelement.c: (gst_element_dispose):
130           don't loop forever
131
132         * gst/gstiterator.c:
133         * gst/gststructure.c:
134           doc fixes
135
136         * libs/gst/controller/gstcontroller.c:
137         (gst_controlled_property_set_interpolation_mode):
138         * libs/gst/controller/gstcontroller.h:
139         * libs/gst/controller/gstinterpolation.c:
140         (interpolate_none_get_enum_value_array):
141           support controlling enums
142
143 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
144
145         * gst/gstvalue.c:
146           Improve documentation for gst_value_union().
147
148         * gst/gstvalue.h:
149           Change return value for union, intersect and subtract functions
150           from gint to gboolean.
151
152 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
153
154         * gst/gstvalue.c: (gst_value_serialize_any_list),
155         (gst_value_transform_any_list_string),
156         (gst_value_deserialize_list), (gst_value_deserialize_array),
157         (gst_value_set_int_range), (gst_value_deserialize_int_range),
158         (gst_value_set_double_range), (gst_value_deserialize_double_range),
159         (gst_value_set_fraction_range_full),
160         (gst_value_deserialize_fraction_range),
161         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
162         (gst_value_deserialize_boolean),
163         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
164         (gst_value_serialize_float), (gst_value_deserialize_float),
165         (gst_string_wrap), (gst_value_deserialize_string),
166         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
167         (gst_value_union_int_range_int_range),
168         (gst_value_intersect_int_range_int_range),
169         (gst_value_intersect_double_range_double_range),
170         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
171         (gst_value_subtract_int_range_int_range),
172         (gst_value_subtract_double_double_range),
173         (gst_value_subtract_double_range_double_range),
174         (gst_value_deserialize_fraction):
175         * gst/gstvalue.h:
176           Use gint, gdouble and gchar in our API instead of int, double and
177           char (and make usage in gstvalue.c more consistent).
178
179 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
180
181         * check/Makefile.am:
182         * libs/gst/controller/Makefile.am:
183         * libs/gst/dataprotocol/Makefile.am:
184           fix up Makefile.am and remove GST_ENABLE_NEW
185
186 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
187
188         * configure.ac:
189         * gst/Makefile.am:
190         * gst/base/Makefile.am:
191         * gst/check/Makefile.am:
192         * gst/elements/Makefile.am:
193         * gst/net/Makefile.am:
194           update LDFLAGS use some more
195
196 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
197
198         * common/m4/gst-doc.m4:
199           Fixes #312589
200
201 2005-11-26  Edward Hervey  <edward@fluendo.com>
202
203         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
204         This shouldn't issue a g_warning since it returns NULL if it
205         couldn't find the plugin, and all functions using this behave
206         properly on a NULL return. Switching to a GST_WARNING.
207
208 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
209
210         * gst/gstbin.c: (gst_bin_handle_message_func):
211         Don't leak clock messages.
212
213 2005-11-25  Wim Taymans  <wim@fluendo.com>
214
215         * gst/gstutils.c: (gst_util_uint64_scale_int64),
216         (gst_util_uint64_scale_int):
217         Optimisations, remove unneeded vars.
218
219 2005-11-25  Wim Taymans  <wim@fluendo.com>
220
221         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
222         Added more checks for the high precision uint64 cases.
223
224         * gst/gstutils.c: (gst_util_uint64_scale_int64),
225         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
226         Implement high precission (guint64 * guint64) / guint64.
227
228 2005-11-24  Wim Taymans  <wim@fluendo.com>
229
230         * gst/base/gstbasesrc.c: (gst_base_src_query):
231         Fix wrong percentage query.
232
233         * gst/gstutils.c: (gst_util_uint64_scale),
234         (gst_util_uint64_scale_int):
235         Add some more common cases that can be handled 
236         efficiently to _scale.
237
238 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
239
240         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
241         (gst_mini_object_suite):
242           don't use check calls from threads; check probably isn't
243           threadsafe and using a lock to make it threadsafe would
244           defeat the purpose of this check
245         * gst/check/gstcheck.c:
246         * gst/check/gstcheck.h:
247           use GST_DEBUG some more
248
249 2005-11-24  Wim Taymans  <wim@fluendo.com>
250
251         * gst/gstutils.c: (gst_util_uint64_scale),
252         (gst_util_uint64_scale_int):
253         Chain trivial case to _scale_int.
254
255 2005-11-24  Wim Taymans  <wim@fluendo.com>
256
257         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
258         Added test for scaling.
259
260         * gst/gstclock.h:
261         Small doc fix.
262
263         * gst/gstutils.c: (gst_util_uint64_scale_int):
264         Implemented high precision scaling code.
265
266 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
267
268         * gst/gstinfo.h:
269           do not crash on pad==NULL
270
271 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
272
273         Patch by: Stefan Kost
274
275         * common/gtk-doc.mak:
276         * docs/gst/Makefile.am:
277         * docs/libs/Makefile.am:
278           Fix distcheck issues for the libraries docs build
279           Closes #319599.
280
281 2005-11-24  Michael Smith <msmith@fluendo.com>
282
283         * docs/manual/basics-helloworld.xml:
284           Fix bug #315027: memory leak in example code in docs.
285
286 2005-11-24  Michael Smith <msmith@fluendo.com>
287
288         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
289           Unlock the PREROLL_LOCK in a failure case.
290
291 2005-11-24  Wim Taymans  <wim@fluendo.com>
292
293         * docs/gst/gstreamer-sections.txt:
294         * gst/base/gstadapter.h:
295         * gst/base/gstbasesink.h:
296         * gst/base/gstbasesrc.h:
297         * gst/base/gstbasetransform.h:
298         * gst/base/gstpushsrc.h:
299         * gst/elements/gstfakesink.h:
300         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
301         * gst/elements/gstfakesrc.h:
302         * gst/elements/gstfilesink.h:
303         * gst/elements/gstfilesrc.h:
304         * gst/gst.c:
305         * gst/gstbin.c:
306         * gst/gstbuffer.c: (_gst_buffer_copy):
307         * gst/gstbus.h:
308         * gst/gstcaps.c:
309         * gst/gstchildproxy.c:
310         * gst/gstclock.c:
311         * gst/gstelement.c:
312         * gst/gstelementfactory.c:
313         * gst/gstelementfactory.h:
314         * gst/gstevent.c:
315         * gst/gstghostpad.h:
316         * gst/gstindex.h:
317         * gst/gstinterface.h:
318         * gst/gstminiobject.c:
319         * gst/gstminiobject.h:
320         * gst/gstpad.c:
321         * gst/gstpad.h:
322         * gst/gstpadtemplate.h:
323         * gst/gstpipeline.h:
324         * gst/gstpluginfeature.h:
325         * gst/gstquery.h:
326         * gst/gstqueue.h:
327         * gst/gsttaglist.c:
328         * gst/gsttaglist.h:
329         * gst/gsttagsetter.c:
330         * gst/gsttagsetter.h:
331         * gst/gsttrace.c:
332         * gst/gsttrace.h:
333         * gst/gsttypefind.h:
334         * gst/gsturi.h:
335         * gst/gstvalue.c:
336         * gst/net/gstnetclientclock.c:
337         * gst/net/gstnetclientclock.h:
338         * gst/net/gstnettimepacket.c:
339         * gst/net/gstnettimeprovider.c:
340         * gst/net/gstnettimeprovider.h:
341         Doc fixes.
342
343 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
344
345         * configure.ac: back to HEAD
346
347 === release 0.9.6 ===
348
349 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
350
351         * configure.ac:
352           releasing 0.9.6, "Always On Time"
353
354 2005-11-23  Wim Taymans  <wim@fluendo.com>
355
356         * docs/gst/gstreamer-sections.txt:
357         * gst/glib-compat.c:
358         * gst/gsttagsetter.c:
359         * gst/gstvalue.c:
360         * gst/net/gstnetclientclock.c:
361         * gst/net/gstnettimepacket.h:
362         Doc updates.
363
364 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
365
366         * docs/faq/using.xml:
367         * docs/libs/tmpl/gstcontrol.sgml:
368         * docs/manual/advanced-dparams.xml:
369         * docs/manual/appendix-checklist.xml:
370         * docs/manual/basics-elements.xml:
371         * docs/pwg/other-source.xml:
372         * docs/random/moving-plugins:
373         * gst/gstpad.c:
374         * tools/gst-launch.1.in:
375           remove mentions of sinesrc
376
377 2005-11-23  Michael Smith <msmith@fluendo.com>
378
379         * docs/gst/gstreamer-sections.txt:
380           Update for new API and API changes.
381         * gst/gstobject.h:
382           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
383         * gst/gstvalue.c:
384           Documentation typo fix.
385         * gst/net/gstnettimepacket.c:
386           Documentation fixes for arguments.
387
388 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
389
390         * gst/gststructure.c: (gst_structure_get_fraction),
391         (gst_structure_parse_value),
392         (gst_structure_fixate_field_nearest_fraction):
393         * gst/gststructure.h:
394         * gst/gstutils.c: (gst_util_uint64_scale_int):
395         * gst/gstutils.h:
396         * scripts/update-funcnames:
397         API Changes. 
398         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
399         Make gst_structure_fixate_field_nearest_fraction take a numerator
400         and denominator argument instead of a GValue
401         add gst_structure_get_fraction helper function.
402
403 2005-11-23  Wim Taymans  <wim@fluendo.com>
404
405         * docs/design/part-TODO.txt:
406         Update TODO.
407
408         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
409         * gst/net/gstnetclientclock.h:
410         Use parent fields for timeout and window_size.
411
412 2005-11-23  Andy Wingo  <wingo@pobox.com>
413
414         * check/net/gstnetclientclock.c (test_functioning): Adjust to
415         rate_num/rate_denom change.
416
417         * gst/net/gstnetclientclock.c
418         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
419         OBJECT_LOCK. Don't call add_observation with the lock.
420
421         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
422         fraction.
423         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
424         rate fraction.
425         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
426         deal with rate as a fraction whose numerator and denominator are
427         GstClockTime values.
428         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
429         master; the other fields are protected by the SLAVE_LOCK.
430         (do_linear_regression): Note that this must be called with the
431         SLAVE_LOCK.
432         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
433         OBJECT_LOCK. Call set_calibration instead of touching the
434         variables directly.
435         (gst_clock_set_property, gst_clock_get_property): Protect
436         master/slave parameters with the SLAVE_LOCK.
437
438         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
439         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
440         note that all of the instance variables that add_observation and
441         the set_master functions use are protected by that lock and not
442         the OBJECT_LOCK.
443         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
444
445         * gst/gstclock.c (gst_clock_add_observation): No longer requires
446         the caller to take the object lock.
447
448 2005-11-23  Wim Taymans  <wim@fluendo.com>
449
450         * gst/gsterror.c: (_gst_core_errors_init):
451         * gst/gsterror.h:
452         Add error for clock stuff.
453
454         * gst/gstpipeline.c: (gst_pipeline_change_state),
455         (gst_pipeline_set_clock):
456         Post clock error when clock cannot be used in a pipeline.
457
458 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
459
460         * docs/gst/gstreamer-sections.txt:
461           make two symbols from gstinfo private for the docs
462         * gst/base/gstcollectpads.h:
463         * gst/gstutils.c:
464           fix doc typos, update docs
465
466 2005-11-22  Wim Taymans  <wim@fluendo.com>
467
468         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
469         (gst_base_sink_wait), (gst_base_sink_do_sync),
470         (gst_base_sink_handle_event):
471         * gst/base/gstbasesink.h:
472         No need to store the clock, the parent element class already
473         has it.
474
475         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
476         Updates for clock_set returning a gboolean
477
478         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
479         (gst_clock_id_wait_async), (gst_clock_class_init),
480         (gst_clock_init), (gst_clock_finalize),
481         (gst_clock_get_internal_time), (gst_clock_get_time),
482         (gst_clock_slave_callback), (gst_clock_set_master),
483         (gst_clock_get_master), (do_linear_regression),
484         (gst_clock_add_observation), (gst_clock_set_property),
485         (gst_clock_get_property):
486         * gst/gstclock.h:
487         Implement master/slave. When setting a clock as a slave, a
488         periodic timeout is scheduled to sample master and slave times.
489         Then the slave clock is recalibrated to match offset and rate
490         of the master clock.
491         Update logging a bit.
492         Add flag so that a clock can state that is cannot be slaved to
493         another clock.
494
495         * gst/gstelement.c: (gst_element_set_clock):
496         * gst/gstelement.h:
497         The set clock returns a gboolean for when an element cannot
498         deal with the selected clock in the pipeline. 
499
500         * gst/gstpipeline.c: (gst_pipeline_change_state),
501         (gst_pipeline_set_clock):
502         * gst/gstpipeline.h:
503         Handle the case where the selected clock cannot be set on
504         the pipeline.
505
506         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
507         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
508         (gst_net_client_clock_set_property),
509         (gst_net_client_clock_get_property),
510         (gst_net_client_clock_observe_times):
511         * gst/net/gstnetclientclock.h:
512         Use regression code in GstClock parent, remove duplicated
513         functionality.
514
515 2005-11-22  Michael Smith <msmith@fluendo.com>
516
517         * gst/gstutils.c: (gst_util_clock_time_scale):
518         * gst/gstutils.h:
519         * docs/gst/gstreamer-sections.txt:
520           Rename method to have extra underscore.
521
522 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
523
524         * gst/elements/Makefile.am:
525         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
526         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
527         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
528         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
529         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
530         * gst/elements/gstfakesrc.h:
531         * gst/gstqueue.c: (queue_leaky_get_type):
532           correctly fix GEnumValues so that nick is the short lowercase
533           dashed tag
534         * tools/gst-inspect.c: (print_element_properties_info):
535           also show the nick, since it's useful to use from parse_launch
536           syntax
537           Fixes #322139
538
539 2005-11-22  Michael Smith <msmith@fluendo.com>
540
541         * gst/gstutils.c: (gst_util_clocktime_scale):
542         * gst/gstutils.h:
543         * docs/gst/gstreamer-sections.txt:
544           Add util method for scaling a clocktime by a fraction. Useful 
545           implementation is left as an exercise for the reader.
546
547 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
548
549         * gst/gstvalue.c: (gst_value_collect_fraction_range):
550         If needed, allocate storage in the destination value during
551         collection.
552
553 2005-11-22  Edward Hervey  <edward@fluendo.com>
554
555         * docs/gst/gstreamer-sections.txt:
556         * gst/Makefile.am:
557         * gst/gst.h:
558         * gst/gsturitype.c:
559         * gst/gsturitype.h:
560         * gst/gstutils.c: (gst_util_set_object_arg):
561         * tools/gst-compprep.c: (main):
562         * tools/gst-inspect.c: (print_element_properties_info):
563         Removed GstURI, closes bug #321061
564
565 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
566
567         * check/gst/gststructure.c: (GST_START_TEST):
568         * gst/gststructure.c: (gst_structure_parse_value):
569           Oops, broke automatic string type parsing.
570           Add a test to catch it in future.
571
572 2005-11-22  Andy Wingo  <wingo@pobox.com>
573
574         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
575         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
576         Actually rename the function implementations. Grr.
577
578 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
579
580         * check/gst/capslist.h:
581           Comment test cases
582         * check/gst/gststructure.c: (GST_START_TEST),
583         (gst_structure_suite):
584           Test automatic value type detection in gst_structure_from_string.
585         * gst/gststructure.c: (gst_structure_parse_value):
586           Add fraction as a type we try and guess automatically in
587           caps/structure strings.
588
589 2005-11-22  Andy Wingo  <wingo@pobox.com>
590
591         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
592
593         * gst/gsttagsetter.h:
594         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
595         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
596         (gst_tag_setter_add_tag_valist)
597         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
598         _add_values, _add_valist, and _add_valist_values. Since this is an
599         interface the function suffixes should be more explicit so
600         language binding don't end up with element.add_valist ->
601         gst_tag_setter_add_valist, for example. Fixes #322069.
602
603 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
604
605         * check/gst/gstcaps.c: (GST_START_TEST):
606           Extend caps string tests to check that a caps to string
607           conversion is reversible and produces the same caps.
608
609         * gst/gststructure.c: (gst_structure_value_get_generic_type):
610           Output "fraction" as the generic type fraction range, so caps
611           serialisation and deserialisation works.
612         * check/gst/capslist.h:
613         * gst/gstvalue.c: (gst_value_deserialize_fraction):
614           Support 'MIN' and 'MAX' for deserialising fractions.
615
616 2005-11-22  Andy Wingo  <wingo@pobox.com>
617
618         * gst/gstevent.h (gst_event_new_new_segment)
619         (gst_event_parse_new_segment, gst_event_new_buffer_size)
620         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
621         Renamed from *_newsegment, *_buffersize, *_notarget.
622
623         * scripts/update-funcnames: New script, performs the changes
624         listed above.
625
626 2005-11-22  Wim Taymans  <wim@fluendo.com>
627
628         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
629         Make sure the GstFlowReturn is returned.
630
631         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
632         (gst_bus_add_signal_watch):
633         * gst/gstbus.h:
634         add gst_bus_add_signal_watch_full.
635
636         * gst/gstplugin.c: (gst_plugin_load_file):
637         Small style cleanup.
638
639 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
640
641         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
642           Block the fakesrc srcpad when we send an event, to avoid
643           contention on the stream_lock causing random test failures.
644
645 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
646
647         * check/gst/gstvalue.c: (GST_START_TEST):
648         * gst/gstvalue.c: (gst_value_fraction_subtract):
649           Fix subtraction.
650
651 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
652
653         * gst/gst.h:
654           include "gstchildproxy.h"
655         * gst/gstchildproxy.h:
656         * libs/gst/controller/gstcontroller.h:
657           use G_GNUC_NULL_TERMINATED
658
659 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
660
661         * check/gst/capslist.h:
662         * check/gst/gstcaps.c: (GST_START_TEST):
663         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
664         * gst/gststructure.c: (gst_structure_parse_range),
665         (gst_structure_fixate_field_nearest_fraction):
666         * gst/gststructure.h:
667         * gst/gstvalue.c: (gst_value_init_fraction_range),
668         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
669         (gst_value_collect_fraction_range),
670         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
671         (gst_value_set_fraction_range_full),
672         (gst_value_get_fraction_range_min),
673         (gst_value_get_fraction_range_max),
674         (gst_value_serialize_fraction_range),
675         (gst_value_transform_fraction_range_string),
676         (gst_value_compare_fraction_range),
677         (gst_value_deserialize_fraction_range),
678         (gst_value_intersect_fraction_fraction_range),
679         (gst_value_intersect_fraction_range_fraction_range),
680         (gst_value_subtract_fraction_fraction_range),
681         (gst_value_subtract_fraction_range_fraction),
682         (gst_value_subtract_fraction_range_fraction_range),
683         (gst_value_collect_fraction), (gst_value_fraction_multiply),
684         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
685         (gst_value_transform_string_fraction), (_gst_value_initialize):
686         * gst/gstvalue.h:
687           Implement fraction ranges and extend GstFraction to support
688           arithmetic subtraction, as well as deserialization from integer
689           strings such as "100"
690           Add a testsuite as for int and double range set operations
691
692 2005-11-21  Andy Wingo  <wingo@pobox.com>
693
694         * gst/gsttaglist.h: 
695         * gst/gstcaps.h: 
696         * gst/gststructure.h: Add glib-compat.h.
697
698 2005-11-21  Wim Taymans  <wim@fluendo.com>
699
700         * gst/gstbin.c: (gst_bin_change_state_func):
701         Fix for #321595
702
703 2005-11-21  Wim Taymans  <wim@fluendo.com>
704
705         * gst/gstsegment.h:
706         And add a nice define too.
707
708 2005-11-21  Wim Taymans  <wim@fluendo.com>
709
710         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
711         (gst_segment_new), (gst_segment_free), (gst_segment_init),
712         (gst_segment_set_duration), (gst_segment_set_last_stop),
713         (gst_segment_set_seek), (gst_segment_set_newsegment),
714         (gst_segment_to_stream_time), (gst_segment_to_running_time),
715         (gst_segment_clip):
716         * gst/gstsegment.h:
717         Make binding friendly.
718
719 2005-11-21  Andy Wingo  <wingo@pobox.com>
720
721         * gst/gsttagsetter.h: 
722         * gst/gsttaglist.h: 
723         * gst/gststructure.h: 
724         * gst/gstcaps.h: 
725         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
726         #319940.
727
728         * gst/gsterror.c (_gst_core_errors_init):
729         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
730         category.
731
732         * gst/Makefile.am (gst_headers): Add glib-compat.h.
733         (noinst_HEADERS): noinst the -private.
734
735 2005-11-21  Michael Smith <msmith@fluendo.com>
736
737         * gst/gstplugin.h:
738         * gst/gstregistry.h:
739           Remove unimplemented declarations for which we can see no sensible
740           use.
741
742 2005-11-21  Andy Wingo  <wingo@pobox.com>
743
744         * gst/gst.h: Include glib-compat.h.
745
746         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
747
748         * gst/glib-compat.c: Include the public and the private header.
749
750         * gst/glib-compat-private.h: Copied here from glib-compat.h.
751
752         * gst/gstvalue.c: 
753         * gst/gstpad.c: 
754         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
755
756         * check/gst/gstevent.c (create_custom_events): Check that
757         FLUSH_STOP is serialized.
758
759         * check/elements/identity.c (event_func): 
760         * check/elements/fakesrc.c (event_func): No stream lock, the core
761         takes it.
762
763         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
764         stream lock taking, yay.
765
766         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
767         ensure that core takes the stream lock.
768
769         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
770         lock name change.
771
772         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
773         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
774         it already. For the flush start we do take it though so we get the
775         right preroll state change messages.
776
777         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
778         the stream lock here, the core does it for us.
779
780         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
781         GST_STREAM_GET_LOCK.
782         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
783         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
784         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
785         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
786         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
787         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
788
789         * gst/gstpad.c: Update for stream lock name change.
790
791         * gst/base/gstbasesink.c: Update for preroll lock name change.
792
793 2005-11-21  Wim Taymans  <wim@fluendo.com>
794
795         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
796         (gst_clock_get_master):
797         * gst/gstclock.h:
798         * gst/gstsystemclock.c: (gst_system_clock_init):
799         Convert Clock flags to object flags.
800         Added methods to manage master/slave clocks.
801
802 2005-11-21  Wim Taymans  <wim@fluendo.com>
803
804         * check/gst/gstsegment.c: (GST_START_TEST):
805         * docs/design/part-TODO.txt:
806         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
807         (gst_base_sink_event), (gst_base_sink_do_sync),
808         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
809         (gst_base_sink_query), (gst_base_sink_change_state):
810         * gst/base/gstbasesink.h:
811         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
812         (gst_base_src_default_newsegment),
813         (gst_base_src_configure_segment), (gst_base_src_do_seek),
814         (gst_base_src_get_range), (gst_base_src_loop),
815         (gst_base_src_change_state):
816         * gst/base/gstbasesrc.h:
817         * gst/base/gstbasetransform.c:
818         (gst_base_transform_prepare_output_buf),
819         (gst_base_transform_event), (gst_base_transform_change_state):
820         * gst/base/gstbasetransform.h:
821         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
822         (gst_collect_pads_event):
823         * gst/base/gstcollectpads.h:
824         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
825         (gst_fake_src_create):
826         * gst/elements/gstfakesrc.h:
827         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
828         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
829         (gst_segment_set_last_stop), (gst_segment_set_seek),
830         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
831         (gst_segment_to_running_time), (gst_segment_clip):
832         * gst/gstsegment.h:
833         More segment updates, replace code in plugins with segment
834         helper functions.
835
836 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
837
838         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
839         Don't ignore sscanf results
840
841 2005-11-21  Andy Wingo  <wingo@pobox.com>
842
843         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
844
845         * *.h:
846         * *.c: Ran scripts/update-macros. Oh yes.
847
848         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
849         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
850         GST_GET_LOCK, etc.
851
852         * scripts/update-macros: New script. Run it on your files to
853         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
854         well.
855
856 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
857
858         * docs/gst/Makefile.am:
859         * docs/gst/gstreamer-docs.sgml:
860         * docs/gst/gstreamer-sections.txt:
861         * docs/gst/gstreamer.types:
862         * gst/gstinfo.h:
863           more docs fixes, add new api to the docs
864
865 2005-11-21  Andy Wingo  <wingo@pobox.com>
866
867         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
868         state_broadcast call.
869
870         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
871
872 2005-11-21  Julien MOUTTE  <julien@moutte.net>
873
874         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
875         function calls for arrays.
876
877 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
878
879         * docs/random/ensonic/media-device-daemon.txt:
880           wild idea, can this be done?
881         * docs/gst/gstreamer-sections.txt:
882         * gst/gsterror.h:
883         * gst/gstfilter.c:
884         * gst/gstfilter.h:
885         * gst/gstplugin.h:
886         * gst/gstpluginfeature.c:
887         * gst/gsttrace.c:
888         * gst/gstvalue.c:
889         * gst/gstvalue.h:
890           doc fixes and additions
891
892 2005-11-21  Andy Wingo  <wingo@pobox.com>
893
894         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
895         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
896         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
897         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
898         private to the basesrc implementation.
899
900         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
901         behalf of event function if necessary. It should no longer be
902         necessary to take the stream lock in pad's event functions. Fixes
903         #320299.
904
905 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
906         * docs/gst/gstreamer-sections.txt:
907         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
908         (gst_structure_fixate_field_nearest_double),
909         (gst_structure_fixate_field_boolean):
910         * gst/gststructure.h:
911         * win32/common/libgstreamer.def:
912         * win32/gstreamer.def:
913
914         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
915         (#322027)
916
917 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
918
919         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
920         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
921         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
922         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
923         (gst_fdsrc_uri_handler_init):
924         * gst/elements/gstfdsrc.h:
925           Port fd:// URI handler from 0.8 to fdsrc
926
927 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
928
929         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
930         (gst_value_serialize_fourcc):
931         * gst/gstvalue.h:
932           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
933           consistent with our other format defines (#320324).
934
935 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
936
937         * gst/gstvalue.c: (gst_value_is_fixed):
938           Revert previous commit. Value lists are by definition
939           not fixed, as they are a list of possible values.
940
941 2005-11-21  Andy Wingo  <wingo@pobox.com>
942
943         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
944         during the stable series if we need it. Fixes #319178.
945
946         * gst/gstevent.c (gst_event_new_filler): Removed.
947
948         * check/gst/gstevent.c: Update comment about filler events.
949
950 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
951
952         * gst/gstvalue.c: (gst_value_is_fixed):
953           Should handle both value arrays and value lists.
954
955 2005-11-21  Andy Wingo  <wingo@pobox.com>
956
957         patch by: Alessandro Dessina <alessandro nnva org>
958
959         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
960         functions to access arrays. Fixes #321962.
961
962 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
963
964         * docs/gst/gstreamer.types:
965           gst_collectpads_get_type => gst_collect_pads_get_type.
966           
967         * gst/base/gstbasetransform.c:
968           Remove unused SIGNAL_HANDOFF enum.
969
970 2005-11-21  Andy Wingo  <wingo@pobox.com>
971
972         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
973         the event type (upstream, downstream, serialized). Renamed
974         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
975         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
976         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
977
978         * gst/gstevent.c: Update for new CUSTOM event names.
979
980         * check/gst/gstevent.c: Update check for new CUSTOM event names.
981
982         * gst/gstevent.h:
983         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
984         bug #319392.
985
986 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
987
988         * docs/gst/gstreamer-sections.txt:
989         * win32/common/libgstbase.def:
990         * win32/libgstbase.def:
991         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
992         (gst_collect_pads_class_init), (gst_collect_pads_init),
993         (gst_collect_pads_finalize), (gst_collect_pads_new),
994         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
995         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
996         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
997         (gst_collect_pads_start), (gst_collect_pads_stop),
998         (gst_collect_pads_peek), (gst_collect_pads_pop),
999         (gst_collect_pads_available), (gst_collect_pads_read),
1000         (gst_collect_pads_flush), (gst_collect_pads_event),
1001         (gst_collect_pads_chain):
1002         * gst/base/gstcollectpads.h:
1003           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1004           unimplemented functions as unimplemented. Add padding to
1005           GstCollectData. (#320766, #320423)
1006
1007 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1008
1009         * gst/gstmessage.c:
1010           Improve docs for DURATION message (usage of duration parameter)
1011           (#320113)
1012
1013 2005-11-20  Wim Taymans  <wim@fluendo.com>
1014
1015         * check/Makefile.am:
1016         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1017         (main):
1018         * gst/Makefile.am:
1019         * gst/gst.h:
1020         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1021         (gst_segment_set_seek), (gst_segment_set_newsegment),
1022         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1023         (gst_segment_clip):
1024         * gst/gstsegment.h:
1025         Added segment helper structure and methods. Not fully implemented
1026         yet.
1027         Added segment check.
1028
1029 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1030
1031         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1032           Add a deserialisation test for fractions
1033         * examples/metadata/read-metadata.c: (message_loop),
1034         (make_pipeline), (main):
1035           Fix up metadata reading sample.
1036         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1037           Debug format fix
1038         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1039           Don't try and fixate empty caps
1040         * gst/gst_private.h:
1041           Wrap in G_BEGIN_DECLS/G_END_DECLS
1042         * gst/gstvalue.c: (gst_value_collect_fraction),
1043         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1044         (gst_value_transform_string_fraction),
1045         (gst_value_compare_fraction):
1046           Add some extra guards to ensure that we don't end up 
1047           with an invalid denominator of 0 in a gstfraction and
1048           that fractions always get reduced.
1049
1050 2005-11-20  Wim Taymans  <wim@fluendo.com>
1051
1052         * docs/gst/gstreamer-sections.txt:
1053         * gst/gstbuffer.h:
1054         * gst/gstelement.c:
1055         * gst/gstformat.c:
1056         * gst/gstformat.h:
1057         * gst/gstindex.h:
1058         * gst/gstquery.c:
1059         * gst/gstquery.h:
1060         * gst/gstvalue.c:
1061         Doc fixes.
1062
1063 2005-11-20  Wim Taymans  <wim@fluendo.com>
1064
1065         * docs/design/part-TODO.txt:
1066         * gst/gstcaps.h:
1067         Make a proper enum of the flag.
1068
1069 2005-11-19  Wim Taymans  <wim@fluendo.com>
1070
1071         * docs/design/part-TODO.txt:
1072         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1073         (gst_format_to_quark), (gst_format_register):
1074         * gst/gstformat.h:
1075         * gst/gstquery.c: (_gst_query_initialize),
1076         (gst_query_type_get_name), (gst_query_type_to_quark),
1077         (gst_query_type_register):
1078         * gst/gstquery.h:
1079         Add type to quark and type to string conversions.
1080
1081 2005-11-19  Andy Wingo  <wingo@pobox.com>
1082
1083         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1084         #320097.
1085
1086 2005-11-19  Wim Taymans  <wim@fluendo.com>
1087
1088         * docs/design/part-TODO.txt:
1089         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1090         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1091         (gst_bin_handle_message_func):
1092         * gst/gstbin.h:
1093         Make message handling overridable.
1094
1095 2005-11-19  Andy Wingo  <wingo@pobox.com>
1096
1097         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1098
1099         * gst/gstclock.h:
1100         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1101         be a GstClockTime.
1102         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1103         is a GstClockTime. Fixes #321710.
1104
1105         * gst/gstclock.h (GstClock): Remove offset property. Add
1106         internal_calibration and external_calibration. Fix padding. Pad
1107         also by GstClockTime so we don't run into problems.
1108
1109         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1110         (gst_clock_get_rate_offset): Remove.
1111         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1112
1113         * gst/gstutils.h:
1114         * gst/gstutils.c (g_static_rec_cond_wait)
1115         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1116
1117         * gst/gstbin.c: Remove terrible continue_state prototype.
1118
1119         * gst/gstelement.h (gst_element_continue_state): Make public.
1120
1121         * gst/gstelement.h:
1122         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1123         by continue_state. Fixes #319389.
1124
1125         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1126         Really fixes #168438. However I don't see anywhere where the
1127         filter function is called... stupid GStreamer...
1128         
1129         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1130         don't have a dispose function, so it won't get called when the
1131         object is unreffed, but oh well!
1132
1133         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1134         allows a destroy function to be set so user_data can be freed.
1135         Fixes #168438.
1136         (gst_index_set_filter): Call gst_index_set_filter_full.
1137
1138         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1139
1140         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1141         string should produce an error, given the lack of a way to
1142         represent NULL strings. Fixes #165650.
1143         
1144         * gst/gstvalue.h: 
1145         * gst/gstvalue.c (gst_value_array_append_value) 
1146         (gst_value_array_prepend_value, gst_value_array_get_size) 
1147         (gst_value_array_get_value): New API, copied from
1148         gst_value_list_*, only operates on arrays.
1149         (gst_value_list_append_value, gst_value_list_prepend_value) 
1150         (gst_value_list_concat, gst_value_list_get_size) 
1151         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1152
1153         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1154         init_list, because it works on both.
1155         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1156         (gst_value_copy_list_or_array): Renamed from copy_list.
1157         (gst_value_free_list_or_array): Renamed from free_list.
1158         (gst_value_collect_list_or_array): Renamed from collect_list.
1159         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1160         (gst_value_list_or_array_peek_pointer): Renamed from
1161         list_peek_pointer.
1162         (_gst_value_array_value_table, _gst_value_list_value_table):
1163         Update value table functions.
1164         (gst_value_compare_list_or_array): Renamed from compare_list.
1165
1166         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1167         some constness.
1168
1169         * gst/gsttaglist.c:
1170         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1171         GstTagList*. Fixes #143472.
1172
1173         * gst/gststructure.h: Clarify what the foreach/map functions can
1174         or can't do to their arguments.
1175
1176 2005-11-18  Wim Taymans  <wim@fluendo.com>
1177
1178         * gst/gstclock.c: (gst_clock_set_calibration),
1179         (gst_clock_get_calibration):
1180         Doc and API fixes.
1181         Calibration can be set with internal time equal to current
1182         internal time too.
1183
1184 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1185
1186         * gst/gsterror.c:
1187         * gst/gsterror.h:
1188           document
1189
1190 2005-11-18  Andy Wingo  <wingo@pobox.com>
1191
1192         * configure.ac: 
1193         * pkgconfig/gstreamer-net.pc.in:
1194         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1195         * pkgconfig/Makefile.am: Add net pkgconfig files.
1196
1197 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1198
1199         * gst/gstcaps.c:
1200         * gst/gstghostpad.c:
1201         * gst/gsttrace.c:
1202         * gst/gstvalue.c:
1203         * gst/gstvalue.h:
1204           docs fixes
1205
1206 2005-11-18  Andy Wingo  <wingo@pobox.com>
1207
1208         * gst/net/gstnetclientclock.c: Turn off debugging.
1209
1210         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1211         times connverge somewhat. Can't make a real test.
1212
1213         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1214         integer arithmetic. Return the minimum of the domain, which can be
1215         set as "internal" for gst_clock_set_calibration.
1216         (gst_net_client_clock_observe_times): Call _set_calibration.
1217         (gst_net_client_clock_new): Call _set_calibration instead of
1218         rate_offset.
1219
1220         * check/net/gstnetclientclock.c (test_functioning): Use the right
1221         adjustment api.
1222
1223         * gst/gstclock.h:
1224         * gst/gstclock.c (gst_clock_get_calibration) 
1225         (gst_clock_set_calibration): New functions, obsolete the ones I
1226         added yesterday. Doh. Precision issues mean we have to extrapolate
1227         from a point in the more recent past than 1970.
1228         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1229         obsolete.
1230         (gst_clock_adjust_unlocked): Use the right calibration data.
1231
1232 2005-11-18  Edward Hervey  <edward@fluendo.com>
1233
1234         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1235         Also reset the ->current_* values in READY->PAUSED
1236
1237 2005-11-18  Andy Wingo  <wingo@pobox.com>
1238
1239         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1240         Whoops, check the right fd. Also add some debugging.
1241         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1242         (do_linear_regression): Add a crapload of debugging. Subtract off
1243         the minimum values from the input series to discard unneeded bits.
1244         Use only int arithmetic. There is still double arithmetic when
1245         calculating the intercept that needs fixing. Return boolean to
1246         indicate success; FALSE would mean the domain or range is too
1247         great. Still needs fixes.
1248
1249 2005-11-18  Wim Taymans  <wim@fluendo.com>
1250
1251         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1252         For the current position in stream time, we need to subtract
1253         accumulated time.
1254         
1255         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1256         Release lock before calling the callback function of async
1257         entries.
1258
1259 2005-11-18  Andy Wingo  <wingo@pobox.com>
1260
1261         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1262         Port goes all the way to MAXUINT16.
1263
1264         * gst/net/gstnettimeprovider.c: Make the port range the same as
1265         for the kernel: 0 assigns, otherwise ports are less than
1266         MAXUINT16.
1267
1268         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1269         port change.
1270
1271         * check/net/gstnetclientclock.c (test_functioning): Add the start
1272         of another test. 
1273
1274 2005-11-18  Wim Taymans  <wim@fluendo.com>
1275
1276         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1277         (gst_bin_remove_func), (bin_bus_handler):
1278         * gst/gstbin.h:
1279         Removing a clock provider from a bin, triggers a clock lost message
1280         so that a new clock will be selected.
1281         Adding a clock to a bin triggers a clock provider message.
1282         Make sure we reselect a clock when we received a clock lost message.
1283         Keep a reference to the element that provided the clock.
1284
1285 2005-11-18  Andy Wingo  <wingo@pobox.com>
1286
1287         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1288         the clock initially so it produces values around the base time.
1289         (gst_net_client_clock_class_init): Typo fix.
1290         (gst_net_client_clock_thread): Add note on when the socket gets
1291         closed.
1292
1293 2005-11-17  Wim Taymans  <wim@fluendo.com>
1294
1295         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1296         Free remote and local time arrays.
1297
1298 2005-11-17  Wim Taymans  <wim@fluendo.com>
1299
1300         * gst/net/gstnetclientclock.c: (do_linear_regression),
1301         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1302         Fix compilation, uninitialized vars and a forgotten continue.
1303
1304 2005-11-17  Andy Wingo  <wingo@pobox.com>
1305
1306         * check/Makefile.am (check_PROGRAMS): 
1307         * check/net/gstnetclientclock.c: Add a most minimal test for the
1308         net client clock. More to come later.
1309
1310         * gst/net/gstnet.h: 
1311         * gst/net/Makefile.am: Add netclientclock.
1312
1313         * gst/net/gstnetclientclock.h:
1314         * gst/net/gstnetclientclock.c: New files, implement an untested
1315         GstClock that takes its time from a network time provider.
1316         Implements the algorithm in network-clock.scm.
1317
1318         * tests/network-clock.scm (*window-size*): Rename from
1319         *queue-length*.
1320         * tests/network-clock.scm (network-time): 
1321         * tests/network-clock-utils.scm (q-push): Update callers.
1322
1323 2005-11-17  Wim Taymans  <wim@fluendo.com>
1324
1325         * gst/gstbin.c: (gst_bin_provide_clock_func),
1326         (gst_bin_sort_iterator_new):
1327         And unref the child too..
1328
1329 2005-11-17  Wim Taymans  <wim@fluendo.com>
1330
1331         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1332         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1333         Refactor the sort iterator so it can be used while holding the
1334         LOCK too.
1335         Make clock selection select a clock closest to the source.
1336
1337 2005-11-17  Michael Smith <msmith@fluendo.com>
1338
1339         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1340         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1341         * gst/gstclock.h:
1342           Anonymous structs are a gcc (and some other compilers) extension, so
1343           don't use them. Since this is only for ABI-compatibility, and our
1344           API/ABI freeze is over in a few days, this whole thing will only
1345           last a few days, so don't bother trying to think up a meaningful
1346           name for the struct.
1347
1348 2005-11-17  Andy Wingo  <wingo@pobox.com>
1349
1350         * gst/gstclock.h (GstClock): Add rate and offset properties,
1351         preserving ABI stability. Add rate/offset accessors. Will file bug
1352         for the freeze break.
1353
1354         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1355         and offset, trying to keep precision and avoiding
1356         underflow/overflow.
1357         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1358         functions. Make gst_clock_set_time_adjust obsolete.
1359         (gst_clock_set_time_adjust): Note that this function is obsolete.
1360         Will file bug soon.
1361
1362         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1363         greppable by using GST_PADDING-1+1.
1364
1365 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1366
1367         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1368
1369         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1370           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1371
1372         * gst/gstpadtemplate.h:
1373         * gst/gstpluginfeature.h:
1374           Don't use c++ style comments in headers (#321638).
1375
1376 2005-11-16  Andy Wingo  <wingo@pobox.com>
1377
1378         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1379         buffer.
1380
1381         * check/net/gstnettimeprovider.c: Check to see that the time
1382         provider actually provides times. Works, yo!
1383
1384 2005-11-16  Wim Taymans  <wim@fluendo.com>
1385
1386         * check/Makefile.am:
1387         Enable more tests.
1388
1389         * check/elements/fakesrc.c: (GST_START_TEST):
1390         Set element to NULL before disposing it.
1391
1392 2005-11-16  Andy Wingo  <wingo@pobox.com>
1393
1394         * gst/net/Makefile.am:
1395         * gst/net/gstnet.h:
1396         * gst/net/gstnettimeprovider.c: 
1397         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1398         provider, include it from gstnet.h, and add it to the build.
1399
1400         * gst/net/gstnettimepacket.h: 
1401         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1402         sending and receiving.
1403
1404 2005-11-16  Wim Taymans  <wim@fluendo.com>
1405
1406         * check/Makefile.am:
1407         Enable valgrind check.
1408
1409         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1410         (gst_fake_src_alloc_buffer):
1411         Fix memleak.
1412
1413 2005-11-16  Wim Taymans  <wim@fluendo.com>
1414
1415         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1416         Call parent finalize too.
1417
1418 2005-11-16  Wim Taymans  <wim@fluendo.com>
1419
1420         * check/Makefile.am:
1421         Enable valgrind check that should work fine now.
1422
1423         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1424         * gst/gstqueue.c: (gst_queue_init):
1425         Fix memleaks in pad allocation.
1426
1427 2005-11-16  Andy Wingo  <wingo@pobox.com>
1428
1429         * gst/net/Makefile.am:
1430         * gst/net/gstnet.h: New part of core to hold network elements and
1431         objects. Put in core because it exposes API that applications want
1432         to use. The library is named libgstnet-tempname right now because
1433         of the existing libgstnet in gst-plugins-base. Solution is
1434         probably to rename the one in plugins-base; will file a bug for
1435         the freeze break.
1436
1437         * gst/net/gstnettimeprovider.c: 
1438         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1439         get_time call over the network.
1440
1441         * configure.ac: 
1442         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1443
1444         * check/Makefile.am:
1445         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1446         get additions shortly.
1447
1448 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1449
1450         * gst/gstpad.c: (gst_pad_new_from_static_template):
1451         * gst/gstpad.h:
1452           add gst_pad_new_from_static_template functions
1453         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1454         (gst_check_setup_sink_pad):
1455         * gst/elements/gsttee.c: (gst_tee_init):
1456           and use them
1457
1458 2005-11-16  Wim Taymans  <wim@fluendo.com>
1459
1460         * gst/gstpad.c: (gst_pad_pause_task):
1461         Removed warning, it's not really an error either.
1462
1463 2005-11-16  Wim Taymans  <wim@fluendo.com>
1464
1465         * gst/base/gstbasetransform.c:
1466         (gst_base_transform_prepare_output_buf),
1467         (gst_base_transform_event):
1468         Check if the caps are NULL, this can happen if the element
1469         is shutting down and the pad caps are set to NULL.
1470
1471 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1472
1473         * gst/elements/gsttee.c: (gst_tee_init):
1474           fix pad template leak in tee
1475
1476 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1477
1478         * gst/glib-compat.c: (g_value_dup_gst_object):
1479         * gst/glib-compat.h:
1480         * gst/gstpad.c: (gst_pad_set_property):
1481           use gst_object_ref when setting the pad template; this will
1482           trigger the pad template leaks on GLib 2.6 and the slaves
1483
1484 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1485
1486         * gst/glib-compat.c: (gst_flags_get_first_value):
1487         * gst/glib-compat.h:
1488         * gst/gstregistryxml.c:
1489           remove functions copied from GLib 2.6
1490
1491 2005-11-16  Michael Smith <msmith@fluendo.com>
1492
1493         * gst/Makefile.am:
1494           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1495           do, but only breaks with newer valgrind versions. We're not a
1496           valgrind tool, we have no link-time dependencies on libcoregrind.
1497
1498 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1499
1500         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1501           some debug changes
1502         * gst/gstmessage.h:
1503           typo fixes
1504
1505 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1506
1507         * gst/base/gstbasesrc.c: (gst_base_src_init):
1508         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1509         * gst/gstqueue.c: (gst_queue_init):
1510         * gst/gstregistryxml.c: (load_feature):
1511           Revert all these unrefs, they don't even pass make check !
1512
1513 2005-11-15  Johan Dahlin  <johan@gnome.org>
1514
1515         * gst/base/gstbasesrc.c: (gst_base_src_init):
1516         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1517         * gst/gstqueue.c: (gst_queue_init): 
1518         Free pad templates, fixes a couple of leaks.
1519
1520 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1521
1522         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1523
1524         * gst/gstpad.c: (gst_pad_get_property):
1525           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1526           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1527           (#321452)
1528
1529 2005-11-15  Wim Taymans  <wim@fluendo.com>
1530
1531         * gst/gstevent.c:
1532         Small doc update.
1533
1534 2005-11-15  Andy Wingo  <wingo@pobox.com>
1535
1536         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1537
1538         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1539         using GST_CLOCK_TIME_NONE to disable base time management.
1540         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1541         time if it was NONE before.
1542         (gst_pipeline_change_state): Only munge the base time if
1543         stream_time != GST_CLOCK_TIME_NONE.
1544
1545         * check/gst/gstpipeline.c (test_base_time): Punt around the
1546         problem of the probe not being called, because that's not the
1547         issue I'm looking at. Add a check that setting stream_time to NONE
1548         disables base time management.
1549         
1550 2005-11-15  Wim Taymans  <wim@fluendo.com>
1551
1552         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1553         segment_stop == -1 at startup.
1554
1555         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1556         (gst_base_transform_change_state):
1557         Init segment values at start.
1558
1559 2005-11-15  Wim Taymans  <wim@fluendo.com>
1560
1561         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1562         0 segment values are 0 in any format.
1563
1564         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1565         * gst/base/gstbasetransform.h:
1566         Parse newsegment correctly in basetransform
1567
1568         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1569         Sync to clock using updated segment values.
1570
1571 2005-11-15  Andy Wingo  <wingo@pobox.com>
1572
1573         * check/gst/gstpipeline.c (test_base_time): Add check that the
1574         base time and stream time are reset correctly.
1575
1576 2005-11-15  Wim Taymans  <wim@fluendo.com>
1577
1578         * docs/design/part-TODO.txt:
1579         Some more TODO items.
1580
1581 2005-11-15  Andy Wingo  <wingo@pobox.com>
1582
1583         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1584         error if the user selected "no clock" as the clocking method.
1585
1586         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1587         timestamps with live capture.
1588
1589         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1590         is 0 but we are a live source, timestamp the buffers using the
1591         element's clock.
1592
1593 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1594
1595         * docs/gst/gstreamer-sections.txt:
1596         * gst/gsterror.c:
1597         * gst/gstghostpad.c:
1598         * gst/gstobject.h:
1599         * gst/gstxml.c:
1600           more section docs
1601
1602 2005-11-14  Wim Taymans  <wim@fluendo.com>
1603
1604         * common/gst.supp:
1605           add suppressions from Wim's Debian machine
1606
1607 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1608
1609         * common/gst.supp:
1610           add suppressions from Andy's AMD64 Ubuntu machine
1611
1612 2005-11-14  Andy Wingo  <wingo@pobox.com>
1613
1614         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1615         STATE_LOCK not necessary. Fixes #311489.
1616
1617         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1618         #305291.
1619
1620         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1621         this function is not implemented.
1622
1623 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1624
1625         * gst/base/gstbasetransform.c:
1626         (gst_base_transform_prepare_output_buf):
1627         Ref the source pad caps while we need them.
1628         Fixes (#321386)
1629
1630 2005-11-11  Wim Taymans  <wim@fluendo.com>
1631
1632         * docs/gst/gstreamer-sections.txt:
1633         Added some docs for GstCollectData.
1634
1635         * gst/base/gstadapter.c:
1636         Some small code example fix.
1637
1638         * gst/base/gstcollectpads.c:
1639         * gst/base/gstcollectpads.h:
1640         Document some more.
1641
1642 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1643
1644         * configure.ac: back to HEAD
1645
1646 === release 0.9.5 ===
1647
1648 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1649
1650         * configure.ac:
1651           releasing 0.9.5, "Bike Lunch Day"
1652
1653 2005-11-11  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/gstbuffer.c: (_gst_buffer_copy):
1656         Copy more flags.
1657
1658         * gst/gstcaps.c: (gst_caps_is_equal):
1659         Fix some docs.
1660         Make _is_equal fast in the trivial cases.
1661
1662         * gst/gstminiobject.c:
1663         * gst/gstminiobject.h:
1664         More docs. Spifify .h file.
1665
1666         * gst/gstutils.c:
1667         Small doc update.
1668
1669 2005-11-11  Wim Taymans  <wim@fluendo.com>
1670
1671         * gst/base/gstbasetransform.c:
1672         (gst_base_transform_prepare_output_buf),
1673         (gst_base_transform_handle_buffer):
1674         Small cleanups.
1675         If we're processing a buffer and need to allocate an output
1676         buffer, we cannot accept a format change. If we did get a 
1677         format change, we have to alloc a buffer ourselves of the 
1678         right size.
1679
1680 2005-11-11  Wim Taymans  <wim@fluendo.com>
1681
1682         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1683         While checking the flag for reentrancy in the gstcaps function
1684         is nice to detect recursive invocations, it also makes it 
1685         impossible to call getcaps from multiple threads, which must be
1686         possible. So, checking for recursive calls has to go.
1687
1688 2005-11-11  Michael Smith <msmith@fluendo.com>
1689
1690         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1691           Don't sync on buffers that fall partially outside our current
1692           segment. Prevents an assertion failure/abort playing some files.
1693
1694 2005-11-10  Andy Wingo  <wingo@pobox.com>
1695
1696         * check/gst/gstbin.c (test_message_state_changed_children): Style
1697         fix..
1698
1699         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1700         gst_bus_poll with the signal watch. Ensures that poll and a signal
1701         watch see the same messages.
1702
1703         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1704         a poll and a watch at the same time get the same messages.
1705
1706 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1707
1708         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1709         * gst/gstcaps.c: (gst_caps_intersect):
1710           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1711           and it's not needed.
1712
1713 2005-11-10  Wim Taymans  <wim@fluendo.com>
1714
1715         * docs/design/part-TODO.txt:
1716         Updated todo.
1717
1718 2005-11-10  Wim Taymans  <wim@fluendo.com>
1719
1720         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1721         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1722         (gst_base_src_do_sync), (gst_base_src_get_range):
1723         Implement clock sync in base class.
1724
1725 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1726
1727         patch by: Tim-Philipp Müller <tim at centricular dot net>
1728
1729         * gst/gststructure.c: (gst_structure_parse_field),
1730         (gst_structure_from_string):
1731           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1732           so that gst_parse_launch() can deal with spaces in filtered link
1733           caps (fixes #164479)
1734         * check/gst/capslist.h:
1735         * check/gst/gststructure.c: (GST_START_TEST):
1736           add unit tests for this change
1737
1738 2005-11-10  Wim Taymans  <wim@fluendo.com>
1739
1740         * docs/gst/gstreamer-sections.txt:
1741         * gst/gstelement.c:
1742         * gst/gstelement.h:
1743         Fix docs, move some STATE macros to private.
1744
1745 2005-11-10  Wim Taymans  <wim@fluendo.com>
1746
1747         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1748         Added check for bug #317341
1749
1750         * gst/gstbuffer.c:
1751         * gst/gstbuffer.h:
1752         Some more spiffifying.
1753
1754         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1755         Call peer linkfunction if we are a source pad. Totally fixes
1756         #317341
1757
1758         * gst/gstpad.c:
1759         Update docs, source pads should call the peer linkfunction
1760         so they can atomically perform the pad link.
1761
1762 2005-11-09  Wim Taymans  <wim@fluendo.com>
1763
1764         * gst/gstbuffer.c:
1765         * gst/gstbuffer.h:
1766         Uber-spiffy-spiffify some more.
1767
1768 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1769
1770         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1771         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1772         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1773         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1774         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1775         * gst/gstpad.c: (gst_pad_init):
1776           Use GST_DEBUG_FUNCPTR() more extensively.
1777
1778 2005-11-09  Wim Taymans  <wim@fluendo.com>
1779
1780         * gst/gstobject.c: (gst_object_class_init):
1781         * gst/gstobject.h:
1782         Documentation fixes.
1783
1784 2005-11-09  Edward Hervey  <edward@fluendo.com>
1785
1786         * gst/gsttypefindfactory.c:
1787         Fix docs.
1788         
1789 2005-11-09  Edward Hervey  <edward@fluendo.com>
1790
1791         * gst/base/gsttypefindhelper.c:
1792         * gst/gsttypefind.c:
1793         * gst/gsttypefind.h:
1794         Fix docs.
1795
1796 2005-11-09  Wim Taymans  <wim@fluendo.com>
1797
1798         * gst/gstiterator.c:
1799         Fix revision data.
1800
1801         * gst/gsttask.c:
1802         * gst/gsttask.h:
1803         Fix docs.
1804
1805 2005-11-09  Wim Taymans  <wim@fluendo.com>
1806
1807         * gst/gstevent.h:
1808         * gst/gsturi.h:
1809         Fix docs.
1810
1811 2005-11-09  Wim Taymans  <wim@fluendo.com>
1812
1813         * docs/gst/gstreamer-sections.txt:
1814         Moved the message async delivery private lock and cond
1815         to the private section.
1816
1817         * gst/gstmessage.c:
1818         * gst/gstmessage.h:
1819         Fixed docs.
1820
1821 2005-11-09  Edward Hervey  <edward@fluendo.com>
1822
1823         * docs/gst/gstreamer-sections.txt:
1824         * gst/gsturi.c:
1825         * gst/gsturi.h:
1826         Document GstURIHandler
1827
1828 2005-11-09  Wim Taymans  <wim@fluendo.com>
1829
1830         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1831         (gst_iterator_find_custom):
1832         * gst/gstiterator.h:
1833         Fix iterator docs.
1834
1835 2005-11-09  Wim Taymans  <wim@fluendo.com>
1836
1837         * gst/gstbin.h:
1838         Document another field.
1839
1840         * gst/gststructure.c:
1841         * gst/gststructure.h:
1842         Document.
1843
1844 2005-11-09  Wim Taymans  <wim@fluendo.com>
1845
1846         * gst/gstbin.h:
1847         Documented structs.
1848
1849 2005-11-09  Wim Taymans  <wim@fluendo.com>
1850
1851         * docs/gst/gstreamer-sections.txt:
1852         Added some new macros.
1853
1854         * gst/gstclock.c:
1855         * gst/gstclock.h:
1856         * gst/gstobject.h:
1857         Docs updates.
1858
1859 2005-11-09  Wim Taymans  <wim@fluendo.com>
1860
1861         * docs/design/part-TODO.txt:
1862         Some more items for the TODO
1863
1864         * gst/gstcaps.c:
1865         * gst/gstcaps.h:
1866         Document GstCaps.
1867
1868 2005-11-09  Andy Wingo  <wingo@pobox.com>
1869
1870         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1871         to work on something else now tho...
1872
1873         * gst/base/gstadapter.c: More adapter docs.
1874
1875         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1876         (gst_file_sink_stop): New functions, replace the state change
1877         handler.
1878         (gst_file_sink_class_init): Hook up the start and stop functions.
1879         (gst_file_sink_base_init): Don't set the state change handler any
1880         more. It was a bit ugly too, being set from here...
1881         (gst_file_sink_get_property, gst_file_sink_set_property):
1882         Cleanups...
1883         (gst_file_sink_set_location): More robust check that doesn't call
1884         GST_STATE. Ugggggg.
1885
1886 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1887
1888         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1889           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1890
1891 2005-11-08  Wim Taymans  <wim@fluendo.com>
1892
1893         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1894         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1895         (gst_base_sink_chain), (gst_base_sink_change_state):
1896         * gst/base/gstbasesink.h:
1897         * gst/base/gstbasesrc.h:
1898         * gst/gstelement.h:
1899         * gst/gstevent.h:
1900         Avoid excessive typechecking in macros.
1901
1902         * gst/gstminiobject.c: (gst_mini_object_get_type),
1903         (gst_mini_object_init), (gst_mini_object_new),
1904         (gst_mini_object_free):
1905         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1906         (gst_object_finalize):
1907         Remove cruft code, optimize alloc_trace.
1908
1909 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         * docs/faq/gst-uninstalled:
1912           fix up PS1 for systems that try to reset it
1913
1914 2005-11-07  Wim Taymans  <wim@fluendo.com>
1915
1916         * gst/base/gstbasesrc.c: (gst_base_src_init),
1917         (gst_base_src_get_range):
1918         Set the segment_end to -1 initially. Fixed typefind.
1919
1920 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1921
1922         * gst/base/gstadapter.c:
1923           Debug category should be 'adapter', not 'GstAdapter'.
1924           
1925         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1926         (gst_collectpads_class_init), (gst_collectpads_init),
1927         (gst_collectpads_peek), (gst_collectpads_pop),
1928         (gst_collectpads_event), (gst_collectpads_chain):
1929           Add debug category and some debugging output. Use boilerplate
1930           macros. Remove some extraneous words from docs.
1931
1932 2005-11-05  Andy Wingo  <wingo@pobox.com>
1933
1934         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1935         macro.
1936
1937 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1938
1939         * docs/gst/gstreamer-sections.txt:
1940         * gst/gstcaps.h:
1941         * gst/gstinfo.c:
1942         * gst/gstminiobject.h:
1943         * gst/gstobject.h:
1944         * gst/gstutils.h:
1945           more docs added
1946
1947 2005-11-04  Wim Taymans  <wim@fluendo.com>
1948
1949         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1950         Small update to stop at the configured segment_end
1951         position.
1952
1953 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1954
1955         * gst/gstregistry.c:
1956         * gst/gstregistry.h:
1957           added missing docs
1958
1959 2005-11-04  Edward Hervey  <edward@fluendo.com>
1960
1961         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1962         Check if we are doing a segment seek and have arrived at the
1963         end of that segment.
1964
1965 2005-11-04  Wim Taymans  <wim@fluendo.com>
1966
1967         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1968         Don't leak a mutex unlock in case of an error.
1969
1970         * gst/gstbus.h:
1971         Doc fixes.
1972
1973 2005-11-04  Wim Taymans  <wim@fluendo.com>
1974
1975         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1976         (gst_bus_post):
1977         Get the context to wake up only once.
1978
1979 2005-11-03  Wim Taymans  <wim@fluendo.com>
1980
1981         * check/states/sinks.c: (GST_START_TEST):
1982         Uncomment fixed check.
1983
1984         * docs/design/part-TODO.txt:
1985         Updated TODO.
1986
1987         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1988         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1989         (gst_base_sink_get_position):
1990         If we are going to PLAYING, post the right pending state
1991         when we post the intermediate paused message.
1992
1993         * gst/gstelement.c: (gst_element_continue_state),
1994         (gst_element_set_state_func), (gst_element_change_state):
1995         Don't post state changes that were between the same state
1996         and were not ASYNC.
1997
1998 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1999
2000         * docs/gst/gstreamer-sections.txt:
2001         * gst/gstcaps.h:
2002         * gst/gstinfo.c:
2003         * gst/gstminiobject.h:
2004         * gst/gstobject.h:
2005         * gst/gstutils.h:
2006           more docs and doc style fixes
2007
2008 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2009
2010         * docs/gst/gstreamer-sections.txt:
2011         * gst/gstelement.c:
2012         * gst/gstminiobject.c:
2013         doc fixes
2014
2015 2005-11-03  Andy Wingo  <wingo@pobox.com>
2016
2017         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2018         state-changed messages actually have the right order and the right
2019         values.
2020
2021 2005-11-03  Wim Taymans  <wim@fluendo.com>
2022
2023         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2024         Added some more checks. Specifically the case where NO_PREROLL
2025         elements are in the pipeline.
2026
2027         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2028         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2029         (gst_base_sink_get_position):
2030         Post READY->PAUSED state change messages too.
2031         Fix bug where VOID was posted as pending state...
2032
2033         * gst/gstbin.c: (gst_bin_recalc_state):
2034         use _element_continue_state() to continue the state change.
2035
2036         * gst/gstelement.c: (gst_element_continue_state),
2037         (gst_element_commit_state), (gst_element_set_state_func),
2038         (gst_element_change_state), (gst_element_change_state_func):
2039         Lots of state change cleanups, assign the STATE_RETURN in
2040         a new continue_state() function that also propagates the
2041         last return value from a state change to the app.
2042         Update some debug statements with proper category.
2043
2044 2005-11-03  Wim Taymans  <wim@fluendo.com>
2045
2046         * docs/design/part-events.txt:
2047         * docs/design/part-gstpipeline.txt:
2048         * docs/design/part-messages.txt:
2049         * docs/design/part-overview.txt:
2050         * docs/design/part-seeking.txt:
2051         * docs/design/part-states.txt:
2052         * docs/design/part-trickmodes.txt:
2053         * docs/manual/advanced-position.xml:
2054         Small docs updates.
2055
2056         * gst/gstobject.h:
2057         People think !! is ugly, this looks better.
2058
2059         * gst/gstpad.c: (gst_pad_set_blocked_async):
2060         Remove !! since it's fixed elsewhere now.
2061
2062 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2063
2064         * gst/gstminiobject.h:
2065         * gst/gstobject.h:
2066           Add !! to _FLAG_IS_SET macros to make the result boolean.
2067
2068 2005-11-03  Edward Hervey  <edward@fluendo.com>
2069
2070         * gst/gstpad.c: (gst_pad_set_blocked_async):
2071         comparing a flag and a gboolean rarely returns coherent results...
2072         Added two characters (!!) to make that work correctly.
2073         
2074 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2075
2076         * gst/gstbus.c: (gst_bus_class_init):
2077           Fix some typos.
2078           
2079         * gst/gstqueue.c: (gst_queue_loop):
2080           Don't assume a miniobject that isn't a buffer is an
2081           event (it could be that there is a refcounting
2082           problem somewhere and the pointer is stale and
2083           refers to an already destroyed miniobject).
2084
2085 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2086
2087         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2088
2089 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2090
2091         * docs/manual/advanced-position.xml:
2092           Update seek example and explanations to current 0.9 API.
2093
2094         * gst/elements/gsttypefindelement.c:
2095         (gst_type_find_element_activate):
2096           Remove FIXME comment now that the found caps
2097           are unreffed.
2098
2099 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2100
2101         * gst/gstregistryxml.c: (load_feature):
2102           Add another GST_STR_NULL instance
2103
2104 2005-11-02  Edward Hervey  <edward@fluendo.com>
2105
2106         * gst/gstpad.c: (handle_pad_block):
2107         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2108         
2109 2005-11-02  Wim Taymans  <wim@fluendo.com>
2110
2111         * gst/gstbin.c:
2112         Fix typo in docs.
2113
2114         * gst/gstelement.c: (gst_element_commit_state):
2115         Remove unused value.
2116
2117         * gst/gstiterator.c:
2118         Mention that the returned element is reffed in the docs.
2119
2120 2005-11-02  Wim Taymans  <wim@fluendo.com>
2121
2122         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2123         (gst_pad_push), (gst_pad_push_event):
2124         Unlock blocked pads when they are flushed.
2125
2126 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2127
2128         * docs/README:
2129         * docs/gst/gstreamer-sections.txt:
2130         * gst/gstbin.c:
2131           doc updates
2132         * gst/gstregistry.c: (gst_registry_scan_path_level):
2133           fix for a nasty little missed situation where an installed plug-in
2134           which was in the cache did not get overridden by an uninstalled one
2135           which was earlier in the plugin path because the newly created plugin
2136           for the uninstalled one (not in the registry) didn't get its
2137           ->registered set to TRUE
2138
2139 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2140
2141         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2142         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2143         (gst_collectpads_is_active), (gst_collectpads_collect),
2144         (gst_collectpads_collect_range), (gst_collectpads_start),
2145         (gst_collectpads_stop), (gst_collectpads_peek),
2146         (gst_collectpads_pop), (gst_collectpads_available),
2147         (gst_collectpads_read), (gst_collectpads_flush):
2148           Guard public API with assertions.
2149         
2150         * gst/gstpad.c:
2151           Fix docs for gst_pad_set_link_function().
2152
2153 2005-11-02  Johan Dahlin  <johan@gnome.org>
2154
2155         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2156         Unref found_caps after we used it.
2157
2158 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2159
2160         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2161           Don't try to ref NULL.
2162
2163 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2164
2165         * win32/common/config.h.in:
2166           provide a GST_FUNCTION that just gives a string for now
2167
2168 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2169
2170         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2171         (gst_object_flags_get_type), (register_gst_bin_flags),
2172         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2173         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2174         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2175         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2176         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2177         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2178         (gst_clock_flags_get_type), (register_gst_state),
2179         (gst_state_get_type), (register_gst_state_change_return),
2180         (gst_state_change_return_get_type), (register_gst_state_change),
2181         (gst_state_change_get_type), (register_gst_element_flags),
2182         (gst_element_flags_get_type), (register_gst_core_error),
2183         (gst_core_error_get_type), (register_gst_library_error),
2184         (gst_library_error_get_type), (register_gst_resource_error),
2185         (gst_resource_error_get_type), (register_gst_stream_error),
2186         (gst_stream_error_get_type), (register_gst_event_type),
2187         (gst_event_type_get_type), (register_gst_seek_type),
2188         (gst_seek_type_get_type), (register_gst_seek_flags),
2189         (gst_seek_flags_get_type), (register_gst_format),
2190         (gst_format_get_type), (register_gst_index_certainty),
2191         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2192         (gst_index_entry_type_get_type),
2193         (register_gst_index_lookup_method),
2194         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2195         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2196         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2197         (gst_index_flags_get_type), (register_gst_debug_level),
2198         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2199         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2200         (gst_iterator_result_get_type), (register_gst_iterator_item),
2201         (gst_iterator_item_get_type), (register_gst_message_type),
2202         (gst_message_type_get_type), (register_gst_mini_object_flags),
2203         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2204         (gst_pad_link_return_get_type), (register_gst_flow_return),
2205         (gst_flow_return_get_type), (register_gst_activate_mode),
2206         (gst_activate_mode_get_type), (register_gst_pad_direction),
2207         (gst_pad_direction_get_type), (register_gst_pad_flags),
2208         (gst_pad_flags_get_type), (register_gst_pad_presence),
2209         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2210         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2211         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2212         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2213         (gst_plugin_flags_get_type), (register_gst_rank),
2214         (gst_rank_get_type), (register_gst_query_type),
2215         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2216         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2217         (gst_tag_flag_get_type), (register_gst_task_state),
2218         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2219         (gst_alloc_trace_flags_get_type),
2220         (register_gst_type_find_probability),
2221         (gst_type_find_probability_get_type), (register_gst_uri_type),
2222         (gst_uri_type_get_type), (register_gst_parse_error),
2223         (gst_parse_error_get_type):
2224         * win32/common/gstversion.h:
2225           update win32 copies
2226
2227 2005-11-01  Luca Ognibene  <luogni@tin.it>
2228
2229         * gst/gst.c:
2230           fix docs. popt is dead, long live GOption.
2231
2232 2005-10-31  Wim Taymans  <wim@fluendo.com>
2233
2234         * gst/gstbuffer.h:
2235         Small doc fix.
2236
2237 2005-10-31  Andy Wingo  <wingo@pobox.com>
2238
2239         * Boo!
2240
2241         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2242
2243         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2244         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2245         the possibility of deadlocks here if code calling notify() or
2246         set() has a lock that can be taken in another notify handler (ABBA
2247         with class lock and e.g. python GIL state lock).
2248
2249 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2250
2251         * gst/gstbus.c: Doc updates.
2252
2253 2005-10-28  Wim Taymans  <wim@fluendo.com>
2254
2255         * docs/design/part-TODO.txt:
2256         * gst/gstiterator.c:
2257         * gst/gstsystemclock.c:
2258         * gst/gstsystemclock.h:
2259         Doc updates.
2260
2261 2005-10-28  Edward Hervey  <edward@fluendo.com>
2262
2263         * docs/gst/gstreamer-docs.sgml:
2264         * docs/gst/gstreamer-sections.txt:
2265         the GstURIType documentation page is private, it only defines GstURIType
2266         which should be defined in the GstURIHandler page
2267         
2268 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2269
2270         * gst/gstbin.c: (gst_bin_class_init):
2271         * gst/gstbin.h:
2272         * gst/gstutils.c:
2273         Documentation updates.
2274
2275 2005-10-28  Wim Taymans  <wim@fluendo.com>
2276
2277         * docs/gst/gstreamer-sections.txt:
2278         * gst/gstclock.c:
2279         * gst/gstclock.h:
2280         Documented the clocks.
2281
2282 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2283
2284         * docs/gst/gstreamer-sections.txt:
2285           move some macros to private sections
2286         * gst/gstminiobject.c:
2287         * gst/gstminiobject.h:
2288           add descriptions provided by ds and some more
2289         * gst/gstpad.h:
2290           mark macro as to be removed
2291
2292 2005-10-28  Wim Taymans  <wim@fluendo.com>
2293
2294         * docs/design/part-TODO.txt:
2295         Add an item to TODO.
2296
2297         * gst/gstiterator.c: (gst_iterator_fold),
2298         (gst_iterator_find_custom):
2299         * gst/gstiterator.h:
2300         Add iterator docs.
2301
2302 2005-10-28  Wim Taymans  <wim@fluendo.com>
2303
2304         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2305         (gst_base_transform_init):
2306         Don't leak class.
2307
2308         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2309         An EOS event marks the queue as completely filled.
2310
2311 2005-10-27  Wim Taymans  <wim@fluendo.com>
2312
2313         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2314         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2315         Some more debugging.
2316
2317         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2318         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2319         (gst_base_transform_event), (gst_base_transform_getrange),
2320         (gst_base_transform_chain):
2321         * gst/base/gstbasetransform.h:
2322         Fix debugging,
2323         Protect transform and concurrent buffer alloc with a new lock.
2324         Try not to break ABI/API.
2325
2326 2005-10-27  Wim Taymans  <wim@fluendo.com>
2327
2328         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2329         (gst_base_src_init), (gst_base_src_query),
2330         (gst_base_src_default_newsegment),
2331         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2332         (gst_base_src_send_event), (gst_base_src_event_handler),
2333         (gst_base_src_pad_get_range), (gst_base_src_loop),
2334         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2335         (gst_base_src_start), (gst_base_src_deactivate),
2336         (gst_base_src_activate_push), (gst_base_src_change_state):
2337         Move some stuff around and cleanup things.
2338
2339 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2340
2341         * gst/base/gstbasesrc.c: (gst_base_src_query):
2342           Add missing break statements.
2343
2344 2005-10-27  Wim Taymans  <wim@fluendo.com>
2345
2346         * check/gst/gstbin.c: (GST_START_TEST):
2347         An extra refcount is taken in basesrc.
2348
2349         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2350         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2351         (gst_base_src_loop):
2352         Small cleanups, check for flushing after being unlocked from the 
2353         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2354         Don't send out EOS when going to READY.
2355
2356 2005-10-27  Wim Taymans  <wim@fluendo.com>
2357
2358         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2359         (gst_base_sink_get_position):
2360         Some more debug.
2361
2362         * gst/gstbin.c: (message_check), (bin_replace_message),
2363         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2364         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2365         (bin_query_duration_init), (bin_query_duration_fold),
2366         (bin_query_duration_done), (bin_query_generic_fold),
2367         (gst_bin_query):
2368         * tools/gst-launch.c: (main):
2369         Remove old option.
2370
2371 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2372
2373         * examples/controller/audio-example.c: (main):
2374         * examples/queue/queue.c: (event_loop):
2375         * gst/base/gstbasetransform.h:
2376         * gst/gstelement.c: (gst_element_send_event):
2377         * gst/gstevent.h:
2378         * gst/gstpad.c: (gst_pad_send_event):
2379           fixing examples
2380           fixing docs typos
2381           changing log priority in error situations
2382
2383 2005-10-25  Wim Taymans  <wim@fluendo.com>
2384
2385         * gst/gstbin.c: (message_check), (bin_replace_message),
2386         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2387         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2388         (bin_query_duration_init), (bin_query_duration_fold),
2389         (bin_query_duration_done), (bin_query_generic_fold),
2390         (gst_bin_query):
2391         Some doc and debug updates.
2392         Cache previously requested query DURATION for speed. invalidate
2393         cached duration if element posts a DURATION message.
2394
2395 2005-10-25  Wim Taymans  <wim@fluendo.com>
2396
2397         * docs/design/part-TODO.txt:
2398         Update TODO.
2399
2400         * gst/gstbin.c: (message_check), (bin_replace_message),
2401         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2402         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2403         (bin_query_duration_init), (bin_query_duration_fold),
2404         (bin_query_duration_done), (bin_query_generic_fold),
2405         (gst_bin_query):
2406         Handle SEGMENT_START/DONE messages correctly.
2407         More evolved query algorithm that handles duration queries
2408         correctly.
2409
2410         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2411         (gst_element_get_state_func), (gst_element_abort_state),
2412         (gst_element_commit_state), (gst_element_lost_state):
2413         Some more debugging.
2414
2415         * gst/gstmessage.h:
2416         Added doc.
2417
2418 2005-10-25  Wim Taymans  <wim@fluendo.com>
2419
2420         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2421         Don't use invalid stream_time.
2422
2423         * gst/gstevent.c: (gst_event_new_newsegment):
2424         stream_time in newsegment cannot be undefined.
2425
2426 2005-10-24  Wim Taymans  <wim@fluendo.com>
2427
2428         * gst/gstbus.c:
2429         Doc fix.
2430
2431         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2432         (gst_queue_loop):
2433         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2434
2435 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2436
2437         * docs/libs/tmpl/gstdparam.sgml:
2438         * docs/libs/tmpl/gstdplinint.sgml:
2439         * docs/libs/tmpl/gstdpman.sgml:
2440         * docs/libs/tmpl/gstdpsmooth.sgml:
2441         * docs/libs/tmpl/gstunitconvert.sgml:
2442           these are obsolete
2443
2444 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2445
2446         * configure.ac:
2447           back to HEAD
2448
2449 === release 0.9.4 ===
2450
2451 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2452
2453         * configure.ac:
2454           releasing 0.9.4, "Tyrannosaurus Rex"
2455
2456 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2457
2458         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2459         (gst_file_sink_get_current_offset):
2460           Use fseeko() and ftello() if available. When falling back on
2461           lseek() to get the current offset, fflush() first to make sure
2462           everything is up-to-date and we get the right offset.
2463
2464 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2465
2466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2467         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2468         * gst/gsterror.c: (_gst_stream_errors_init):
2469         * gst/gsterror.h:
2470         * gst/gstqueue.c: (gst_queue_loop):
2471         * po/POTFILES.in:
2472           remove prematurely added error category and clean up the instances
2473
2474 2005-10-21  Wim Taymans  <wim@fluendo.com>
2475
2476         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2477         (gst_base_sink_get_position), (gst_base_sink_query),
2478         (gst_base_sink_change_state):
2479         Simply set the right flag when going to playing, that's all
2480         we need to do instead of calling a function inside the object
2481         lock (that could take the lock as well and deadlock)
2482
2483 2005-10-21  Wim Taymans  <wim@fluendo.com>
2484
2485         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2486         (gst_base_src_loop):
2487         Don't warn, the peer element knows what to do best when
2488         the seek failed, it might try something else.
2489
2490 2005-10-21  Wim Taymans  <wim@fluendo.com>
2491
2492         * gst/base/gstbasesrc.c: (gst_base_src_init),
2493         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2494         Fix seeking.
2495
2496 2005-10-21  Wim Taymans  <wim@fluendo.com>
2497
2498         * docs/design/part-segments.txt:
2499         More docs.
2500
2501         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2502         Correctly set caps, even on the subbufer.
2503
2504 2005-10-21  Wim Taymans  <wim@fluendo.com>
2505
2506         * docs/gst/gstreamer-docs.sgml:
2507         * docs/gst/gstreamer-sections.txt:
2508         * gst/gstelement.h:
2509         * gst/gstevent.c:
2510         * gst/gstevent.h:
2511         * gst/gstmessage.h:
2512         * gst/gstpad.h:
2513         * gst/gstparse.h:
2514         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2515         * gst/gsttask.h:
2516         * gst/gstutils.c:
2517         * gst/gstutils.h:
2518         And 2% more doc coverage.
2519
2520 2005-10-21  Andy Wingo  <wingo@pobox.com>
2521
2522         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2523         position reporting.
2524
2525 2005-10-20  Wim Taymans  <wim@fluendo.com>
2526
2527         * gst/gsterror.c: (gst_error_get_message):
2528         * gst/gstparse.h:
2529         * gst/gstquery.h:
2530         * gst/gststructure.c:
2531         * gst/gsttrace.c:
2532         * gst/gstutils.c:
2533         More docs.
2534
2535 2005-10-20  Wim Taymans  <wim@fluendo.com>
2536
2537         * gst/gstbuffer.h:
2538         * gst/gstpad.c:
2539         * gst/gstparse.c:
2540         Another 1% more coverage.
2541
2542 2005-10-20  Wim Taymans  <wim@fluendo.com>
2543
2544         * docs/gst/gstreamer-sections.txt:
2545         * gst/gstelement.c: (gst_element_get_state_func),
2546         (gst_element_abort_state), (gst_element_commit_state),
2547         (gst_element_lost_state):
2548         * gst/gstevent.h:
2549         * gst/gstquery.c: (gst_query_set_position),
2550         (gst_query_parse_position), (gst_query_set_duration),
2551         (gst_query_parse_duration), (gst_query_new_convert):
2552         * gst/gstutils.c:
2553         Yay! 1% more docs coverage.
2554
2555 2005-10-20  Wim Taymans  <wim@fluendo.com>
2556
2557         * gst/gstpad.h:
2558         * gst/gstquery.c: (gst_query_set_position),
2559         (gst_query_parse_position), (gst_query_set_duration),
2560         (gst_query_parse_duration), (gst_query_new_convert):
2561         * gst/gstquery.h:
2562         * gst/gstutils.c: (gst_element_query_convert):
2563         * gst/gstutils.h:
2564         Docs and consistency fixes.
2565
2566 2005-10-20  Wim Taymans  <wim@fluendo.com>
2567
2568         * gst/gsttask.c:
2569         * gst/gsttask.h:
2570         More docs.
2571
2572 2005-10-20  Wim Taymans  <wim@fluendo.com>
2573
2574         * gst/gstbin.c: (message_check), (bin_replace_message),
2575         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2576         (update_degree), (gst_bin_sort_iterator_next),
2577         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2578         Reworked the message handling a bit, cache the messages instead of
2579         only the senders. alows us to do more in the future.
2580
2581 2005-10-20  Wim Taymans  <wim@fluendo.com>
2582
2583         * docs/design/part-TODO.txt:
2584         Update TODO
2585
2586         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2587         (gst_base_sink_query):
2588         Don't use clock time to report position when in EOS.
2589
2590 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2591
2592         * tools/gst-inspect.c: (print_interfaces),
2593         (print_element_properties_info), (print_element_info):
2594           Fix interface output with gst-inspect -a; don't print
2595           newlines after double/float properties.
2596
2597 2005-10-20  Wim Taymans  <wim@fluendo.com>
2598
2599         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2600         (gst_base_sink_query):
2601         Speed up current position calculation.
2602
2603         * gst/base/gstbasesrc.c: (gst_base_src_query),
2604         (gst_base_src_default_newsegment):
2605         Correctly set stream position in newsegment.
2606
2607         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2608         (update_degree), (gst_bin_sort_iterator_next),
2609         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2610         * gst/gstmessage.c: (gst_message_new_custom):
2611         Clean up debugging info
2612
2613         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2614         (gst_queue_loop), (gst_queue_handle_src_query):
2615         Pause task faster.
2616
2617 2005-10-19  Wim Taymans  <wim@fluendo.com>
2618
2619         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2620         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2621         Fix query handling again.
2622
2623 2005-10-19  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2626         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2627         * gst/base/gstbasesrc.c: (gst_base_src_query):
2628         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2629         * gst/elements/gsttypefindelement.c:
2630         (gst_type_find_handle_src_query), (find_element_get_length),
2631         (gst_type_find_element_activate):
2632         API change fix.
2633
2634         * gst/gstquery.c: (gst_query_new_position),
2635         (gst_query_set_position), (gst_query_parse_position),
2636         (gst_query_new_duration), (gst_query_set_duration),
2637         (gst_query_parse_duration), (gst_query_set_segment),
2638         (gst_query_parse_segment):
2639         * gst/gstquery.h:
2640         Bundling query position/duration is not a good idea since duration
2641         does not change much and we don't want to recalculate it for every
2642         position query, so they are separated again..
2643         Base value in segment query is not needed.
2644
2645         * gst/gstqueue.c: (gst_queue_handle_src_query):
2646         * gst/gstutils.c: (gst_element_query_position),
2647         (gst_element_query_duration), (gst_pad_query_position),
2648         (gst_pad_query_duration):
2649         * gst/gstutils.h:
2650         Updates for query API change.
2651         Added some docs here and there.
2652
2653 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2654
2655         * check/gst/gstbin.c: (GST_START_TEST):
2656         * check/gst/gstghostpad.c: (GST_START_TEST):
2657         * check/pipelines/cleanup.c: (GST_START_TEST):
2658           wait on thread to die so we can check refcount correctly
2659
2660 2005-10-18  Wim Taymans  <wim@fluendo.com>
2661
2662         * check/pipelines/stress.c: (GST_START_TEST):
2663         Make check a little more time consuming.
2664
2665 2005-10-18  Wim Taymans  <wim@fluendo.com>
2666
2667         * check/Makefile.am:
2668         * check/pipelines/stress.c: (GST_START_TEST),
2669         (simple_launch_lines_suite), (main):
2670         Small state change torture test.
2671
2672         * docs/design/part-states.txt:
2673         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2674         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2675         (gst_base_sink_change_state):
2676         Never take state lock from streaming thread, clean up ugly
2677         hacks. Unfortunatly core does not yet support nice ways to
2678         async commit state.
2679         
2680         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2681         (bin_bus_handler):
2682         Start state recalc if a STATE_DIRTY message is posted, but only
2683         on the toplevel bin.
2684
2685         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2686         (gst_element_get_state_func), (gst_element_abort_state),
2687         (gst_element_commit_state), (gst_element_lost_state),
2688         (gst_element_set_state_func), (gst_element_change_state):
2689         * gst/gstelement.h:
2690         State variables are now protected with the LOCK, the state
2691         lock is only used to serialize _set_state().
2692
2693 2005-10-18  Wim Taymans  <wim@fluendo.com>
2694
2695         * check/gst/gstbin.c: (GST_START_TEST):
2696         * check/gst/gstmessage.c: (GST_START_TEST):
2697         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2698         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2699         (bin_bus_handler):
2700         * gst/gstelement.c: (gst_element_abort_state),
2701         (gst_element_commit_state), (gst_element_lost_state):
2702         * gst/gstmessage.c: (gst_message_new_state_changed),
2703         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2704         (gst_message_new_segment_done), (gst_message_new_duration),
2705         (gst_message_parse_state_changed),
2706         (gst_message_parse_segment_start),
2707         (gst_message_parse_segment_done), (gst_message_parse_duration):
2708         * gst/gstmessage.h:
2709         * tools/gst-launch.c: (event_loop):
2710         Seriously, this is better than a previous commit as we only need
2711         to notify the fact that an element changed state in a streaming
2712         thread, marking the state of the parents dirty, hence the 
2713         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2714         message.
2715
2716 2005-10-18  Wim Taymans  <wim@fluendo.com>
2717
2718         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2719         (gst_bin_recalc_func):
2720         * gst/gstelement.c: (gst_element_set_clock),
2721         (gst_element_abort_state), (gst_element_lost_state):
2722         Cleanups, prepare for state change fixes.
2723
2724 2005-10-18  Wim Taymans  <wim@fluendo.com>
2725
2726         * gst/gstbin.h:
2727         * gst/gstelement.c: (gst_element_class_init),
2728         (gst_element_set_state), (gst_element_set_state_func):
2729         * gst/gstelement.h:
2730         Pending ABI changes.
2731         GThreadPool in GstBinClass to monitor async state changes.
2732         state_cookie in GstElement to detect concurrent gst/set state.
2733         set_state is now virtual too in case a very complicated element
2734         has to be constructed.
2735
2736 2005-10-18  Wim Taymans  <wim@fluendo.com>
2737
2738         * check/gst/gstbin.c: (GST_START_TEST):
2739         * check/gst/gstmessage.c: (GST_START_TEST):
2740         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2741         * gst/gstbin.c: (bin_bus_handler):
2742         * gst/gstelement.c: (gst_element_commit_state),
2743         (gst_element_lost_state):
2744         * gst/gstmessage.c: (gst_message_new_state_changed),
2745         (gst_message_new_segment_start), (gst_message_new_segment_done),
2746         (gst_message_new_duration), (gst_message_parse_state_changed),
2747         (gst_message_parse_segment_start),
2748         (gst_message_parse_segment_done), (gst_message_parse_duration):
2749         * gst/gstmessage.h:
2750         * tools/gst-launch.c: (event_loop):
2751         Make messages future proof.
2752         state-change gets a flag if it was a message comming from the
2753         streaming thread.
2754         segment-start/stop can also be specified in other formats.
2755         A message to notify an app that a pipeline changed playback 
2756         duration.
2757         Also fix a GstMessage leak in -launch
2758
2759 2005-10-18  Andy Wingo  <wingo@pobox.com>
2760
2761         * gst/gstelement.c (gst_element_dispose): More helpful message.
2762
2763 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2764
2765         reviewed by: <delete if not using a buddy>
2766
2767         * common/gtk-doc.mak:
2768
2769 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2770
2771         * gst/gstregistry.c: (gst_registry_scan_path_level):
2772           unref a plug-in we get that was already initialized
2773
2774 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2775
2776         * docs/gst/gstreamer-sections.txt:
2777         * docs/libs/gstreamer-libs-sections.txt:
2778         * gst/gstelement.h:
2779           add new api entries
2780           hide internal macro
2781
2782 2005-10-17  Andy Wingo  <wingo@pobox.com>
2783
2784         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2785         cleanup.
2786
2787         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2788
2789         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2790
2791         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2792         (gst_element_get_state_func): Better debug message.
2793         (gst_element_commit_state): s/INFO/DEBUG/.
2794         (gst_element_lost_state, gst_element_change_state): 
2795
2796         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2797         (gst_message_new_custom): s/INFO/LOG/.
2798
2799 2005-10-17  Michael Smith <msmith@fluendo.com>
2800
2801         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2802           Check if end time is valid using end time, not start time.
2803
2804 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2805
2806         * check/gst-libs/controller.c: (GST_START_TEST),
2807         (gst_controller_suite):
2808         * libs/gst/controller/gstcontroller.c:
2809         (gst_controlled_property_set_interpolation_mode):
2810         * libs/gst/controller/gstcontroller.h:
2811         * libs/gst/controller/gstinterpolation.c:
2812         * testsuite/controller/.cvsignore:
2813         * testsuite/controller/Makefile.am:
2814         * testsuite/controller/interpolator.c:
2815           merge controller testsuites
2816           fix broken tests
2817           remove mem-chunk from docs
2818
2819 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2820
2821         * gst/gstmemchunk.c:
2822         * gst/gstmemchunk.h:
2823         * gst/gsttrashstack.c:
2824         * gst/gsttrashstack.h:
2825           out.  get out.  you're fired.  to the Attic !
2826
2827 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2828
2829         * gst/gstcaps.c: (gst_caps_intersect):
2830           fix signedness issues in a (hopefully) correct way
2831         * gst/gstelement.c: (gst_element_pads_activate):
2832           some debugging
2833         * gst/gstobject.c: (gst_object_set_parent):
2834           some debugging
2835
2836 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2837
2838         * gst/gstvalue.h: Fix prototypes.
2839
2840 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2841
2842         * docs/gst/gstreamer-sections.txt:
2843         * gst/gst.c: (gst_version_string):
2844         * gst/gst.h:
2845         * gst/gstversion.h.in:
2846         * win32/common/libgstreamer.def:
2847           add gst_version_string ()
2848
2849 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2850
2851         * configure.ac:
2852           clean up further
2853         * gst/gst.c: (init_post):
2854         * win32/common/config.h.in:
2855           it's PLUGINDIR now
2856         * gst/gstcaps.c: (gst_caps_intersect):
2857           use gint64, the range could be bigger than a guint
2858
2859 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2860
2861         * gst/gstclock.h:
2862           document potential problem in 2038
2863
2864 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2865
2866         * gst/gstcaps.c: (gst_caps_intersect):
2867           Fix guint j diving under 0
2868
2869 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2870
2871         * configure.ac:
2872         * win32/common/config.h:
2873         * win32/common/config.h.in:
2874           check for process.h, declares getpid() on Windows
2875         * gst/gstinfo.c:
2876           include process.h if we have it
2877         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2878         * gst/gstmemchunk.h:
2879           fix signedness issues
2880         * win32/common/libgstreamer.def:
2881           fix get_type's
2882
2883 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2884
2885         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2886         fix. Because of unsigned ints, caps intersection was going nuts and
2887         trying to access structures with G_MAXUINT index. That fixes
2888         videotestsrc ! ffmpegcolorspace ! fakesink
2889         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2890         consistency.
2891
2892 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2893
2894         * configure.ac:
2895           use the gettext macro
2896         * gst/elements/gstelements.c:
2897         * gst/gst.c:
2898         * gst/indexers/gstindexers.c:
2899           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2900         * win32/common/config.h:
2901           updated config.h
2902         * win32/common/config.h.in:
2903           add the template to generate config.h
2904         * win32/common/gstenumtypes.c:
2905         * win32/common/gstversion.h:
2906           updated copies
2907
2908 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2909
2910         * gst/gst.c: (gst_version):
2911         * gst/gstversion.h.in:
2912           add the nano
2913
2914 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2915
2916         * gst/gstevent.h:
2917           Oops, add missing closing bracket.
2918
2919 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2920
2921         * configure.ac:
2922           use common m4's for argument checking
2923
2924 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2925
2926         * docs/gst/gstreamer-sections.txt:
2927         * gst/gstevent.h:
2928           Add GST_EVENT_TYPE_NAME() macro.
2929
2930 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2931
2932         * gst/gstinfo.c:
2933         * gst/gstpluginfeature.c:
2934         * gst/gsttask.c:
2935           privatize more symbols
2936
2937 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2938
2939         * configure.ac:
2940           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2941           everything that uses GStreamer API should have the includes
2942
2943 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2944
2945         * docs/gst/gstreamer-sections.txt:
2946         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2947         * gst/gstvalue.h:
2948           give each value a _get_type, removes the DATA exports
2949
2950 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2951
2952         * gst/gst.c:
2953         * gst/gst.h:
2954           remove _gst_registry_auto_load, not used anymore
2955         * gst/gstbin.c: (gst_bin_get_type):
2956         * gst/gstbin.h:
2957         * gst/gstelement.c: (gst_element_get_type):
2958         * gst/gstelement.h:
2959         * gst/gstobject.c: (gst_object_get_type):
2960         * gst/gstobject.h:
2961         * gst/gstpad.c: (gst_pad_get_type):
2962         * gst/gstpad.h:
2963           make _get_type functions similar, fixes data export from library
2964
2965 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2966
2967         * configure.ac:
2968           correctly make conditionals
2969         * gst/elements/Makefile.am:
2970         * gst/elements/gstelements.c:
2971           fix typo causing fdsrc not to build
2972
2973 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2974
2975         * testsuite/Makefile.am:
2976         * testsuite/bytestream/.cvsignore:
2977         * testsuite/bytestream/Makefile.am:
2978         * testsuite/bytestream/filepadsink.c:
2979         * testsuite/bytestream/gstbstest.c:
2980         * testsuite/bytestream/test1.c:
2981         * testsuite/bytestream/testfile1:
2982         * testsuite/caps/normalisation.c:
2983         * testsuite/caps/random.c: (main):
2984         * testsuite/cleanup/.cvsignore:
2985         * testsuite/cleanup/Makefile.am:
2986         * testsuite/cleanup/cleanup1.c:
2987         * testsuite/cleanup/cleanup2.c:
2988         * testsuite/cleanup/cleanup3.c:
2989         * testsuite/cleanup/cleanup4.c:
2990         * testsuite/cleanup/cleanup5.c:
2991         * testsuite/controller/interpolator.c:
2992         * testsuite/debug/printf_extension.c: (main):
2993         * testsuite/elements/tee.c:
2994         * testsuite/negotiation/.cvsignore:
2995         * testsuite/negotiation/Makefile.am:
2996         * testsuite/negotiation/pad_link.c:
2997         * testsuite/pad/Makefile.am:
2998         * testsuite/pad/chainnopull.c:
2999         * testsuite/pad/getnopush.c:
3000         * testsuite/pad/link.c:
3001         * testsuite/refcounting/sched.c: (create_pipeline):
3002         * testsuite/registry/Makefile.am:
3003         * testsuite/registry/gst-print-formats.c:
3004         * testsuite/schedulers/.cvsignore:
3005         * testsuite/schedulers/142183-2.c:
3006         * testsuite/schedulers/142183.c:
3007         * testsuite/schedulers/143777-2.c:
3008         * testsuite/schedulers/143777.c:
3009         * testsuite/schedulers/147713.c:
3010         * testsuite/schedulers/147819.c:
3011         * testsuite/schedulers/147894-2.c:
3012         * testsuite/schedulers/147894.c:
3013         * testsuite/schedulers/Makefile.am:
3014         * testsuite/schedulers/group_link.c:
3015         * testsuite/schedulers/queue_link.c:
3016         * testsuite/schedulers/relink.c:
3017         * testsuite/schedulers/unlink.c:
3018         * testsuite/schedulers/unref.c:
3019         * testsuite/schedulers/useless_iteration.c:
3020         * testsuite/states/bin.c:
3021           clean out/remove some stuff from the testsuite directories
3022
3023 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3024
3025         * configure.ac:
3026           check for some headers
3027         * gst/elements/Makefile.am:
3028         * gst/elements/gstelements.c:
3029           don't compile fdsrc without sys/socket.h
3030         * gst/indexers/Makefile.am:
3031         * gst/indexers/gstindexers.c: (plugin_init):
3032           don't compile fileindex without mmap
3033
3034 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3035
3036         * configure.ac:
3037           reorganize
3038           clean up
3039           document more
3040           remove cruft
3041         * check/Makefile.am:
3042         * docs/gst/Makefile.am:
3043         * examples/helloworld/Makefile.am:
3044         * gst/Makefile.am:
3045         * gst/base/Makefile.am:
3046         * gst/check/Makefile.am:
3047         * gst/elements/Makefile.am:
3048         * gst/indexers/Makefile.am:
3049         * gst/parse/Makefile.am:
3050         * libs/gst/controller/Makefile.am:
3051         * libs/gst/dataprotocol/Makefile.am:
3052         * examples/helloworld/helloworld.c: (event_loop):
3053           compile fixes, though it's not being compiled currently
3054
3055 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3056
3057         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3058           Add some simple tests for the new taglist date API.
3059
3060 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3061
3062         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3063         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3064           Beautify 'last-message' output: print 'none' for buffer timestamps
3065           and durations if none is set; improve alignment with next messages.
3066
3067 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3068
3069         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3070         * gst/gstpluginfeature.h:
3071         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3072         * gst/gstregistry.h:
3073         * docs/gst/gstreamer-sections.txt:
3074           Add new API to check plugin feature version requirements.
3075
3076         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3077           Some basic tests for the above.         
3078
3079 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3080
3081         * gst/gststructure.c: (gst_structure_to_string):
3082           guard against NULL printf - happens when for example
3083           a message structure with GstClock gets serialized
3084
3085 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3086
3087         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3088           Fix presumable copy'n'pasto.
3089
3090 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3091
3092         * gst/elements/gstfakesrc.h:
3093         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3094         * gst/elements/gsttypefindelement.c:
3095           fix some signedness
3096         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3097           I wonder if this could actually write +2GB files before
3098
3099 2005-10-13  Andy Wingo  <wingo@pobox.com>
3100
3101         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3102         Fix Timmeke Waymans bug.
3103         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3104         string of the proper length to gst_caps_from_string. There's a
3105         potential for, before this fix, that this could cause someone
3106         connecting over the network to cause a segfault if the payload is
3107         not NUL-terminated.
3108
3109 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3110
3111         * docs/design/draft-push-pull.txt:
3112         * docs/design/part-overview.txt:
3113         * docs/random/TODO-pre-0.9:
3114         * docs/random/old/ChangeLog.gstreamer:
3115         * gst/base/gstpushsrc.c:
3116         * gst/gstclock.c:
3117           fixed typos
3118
3119 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3120
3121         * gst/glib-compat.c: (gst_flags_get_first_value):
3122         * gst/glib-compat.h:
3123         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3124         (gst_value_compare_double), (gst_value_serialize_flags):
3125           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3126           infinite loop
3127
3128 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3129
3130         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3131         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3132           fix up debugging
3133         * tools/gst-launch.c: (event_loop):
3134           print out clock nicely
3135
3136 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3137
3138         * docs/gst/gstreamer-sections.txt:
3139         * gst/gsttaglist.h:
3140         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3141         (gst_tag_list_get_date_index):
3142           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3143           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3144
3145 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3146
3147         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3148         (gst_collectpads_chain):
3149         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3150         in CollectData.
3151
3152 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3153
3154         * docs/gst/gstreamer-sections.txt:
3155         * gst/gst.c:
3156         * gst/gsterror.h:
3157         * tools/gst-inspect.c: (main):
3158         * tools/gst-launch.c: (main):
3159         * tools/gst-run.c: (main):
3160         * tools/gst-xmlinspect.c: (main):
3161           fix GOption context leaks
3162           doc fixes
3163
3164 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3165
3166         * gst/gstbus.c:
3167           use HAVE_UNISTD_H
3168         * win32/common/config.h:
3169           update config
3170         * win32/vs6/grammar.dsp:
3171         * win32/vs6/libgstelements.dsp:
3172         * win32/vs6/libgstreamer.dsp:
3173           update vs6 files
3174
3175 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3176
3177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3178         * gst/base/gstbasesrc.c: (gst_base_src_query):
3179           fix more guint64<->gdouble conversions
3180
3181 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3182
3183         * Makefile.am:
3184           add win32-update target
3185         * win32/common/gstconfig.h:
3186         * win32/common/gstenumtypes.c:
3187         * win32/common/gstenumtypes.h:
3188         * win32/common/gstversion.h:
3189           add files that visual studio can't generate
3190
3191 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3192
3193         * Makefile.am:
3194           add a win32-update target
3195         * configure.ac:
3196
3197 2005-10-12  Wim Taymans  <wim@fluendo.com>
3198
3199         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3200         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3201         * gst/gstelement.c: (gst_element_commit_state),
3202         (gst_element_set_state):
3203         Protect flags with proper lock.
3204         unref provided cached clock in dispose.
3205
3206 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3207
3208         * gst/gst.c:
3209         * gst/gstminiobject.h:
3210         * gst/gstpad.h:
3211         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3212           removed unused flags from miniobject
3213           doc fixes
3214
3215 2005-10-12  Wim Taymans  <wim@fluendo.com>
3216
3217         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3218         (gst_file_sink_event), (gst_file_sink_render):
3219         Flush before seeking.
3220
3221 2005-10-12  Andy Wingo  <wingo@pobox.com>
3222
3223         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3224         always been the case.
3225
3226 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3227
3228         * check/gst/gstbin.c: (GST_START_TEST):
3229         * docs/gst/gstreamer-sections.txt:
3230         * gst/base/gstbasesink.c: (gst_base_sink_init):
3231         * gst/base/gstbasesrc.c: (gst_base_src_init),
3232         (gst_base_src_get_range), (gst_base_src_check_get_range),
3233         (gst_base_src_start), (gst_base_src_stop):
3234         * gst/base/gstbasesrc.h:
3235         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3236         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3237         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3238         (bin_bus_handler):
3239         * gst/gstbin.h:
3240         * gst/gstbuffer.h:
3241         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3242         * gst/gstbus.h:
3243         * gst/gstelement.c: (gst_element_is_locked_state),
3244         (gst_element_set_locked_state), (gst_element_commit_state),
3245         (gst_element_set_state):
3246         * gst/gstelement.h:
3247         * gst/gstindex.c: (gst_index_init):
3248         * gst/gstindex.h:
3249         * gst/gstminiobject.h:
3250         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3251         (gst_object_set_parent):
3252         * gst/gstobject.h:
3253         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3254         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3255         * gst/gstpad.h:
3256         * gst/gstpadtemplate.h:
3257         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3258         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3259         * gst/gstpipeline.h:
3260         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3261         (gst_file_index_commit):
3262         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3263         * testsuite/pad/link.c: (gst_test_src_init),
3264         (gst_test_filter_init), (gst_test_sink_init):
3265         * testsuite/states/locked.c: (main):
3266           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3267           moved bitshift from macro to enum definition
3268
3269 2005-10-12  Wim Taymans  <wim@fluendo.com>
3270
3271         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3272         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3273         (gst_file_sink_render):
3274         Some more debugging info.
3275
3276 2005-10-12  Wim Taymans  <wim@fluendo.com>
3277
3278         * docs/design/part-states.txt:
3279         * tools/gst-launch.c: (main):
3280         Some doc updates.
3281         Revert non-intentional change.
3282
3283 2005-10-12  Wim Taymans  <wim@fluendo.com>
3284
3285         * check/gst/gstbin.c: (GST_START_TEST):
3286         * check/gst/gstelement.c: (GST_START_TEST):
3287         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3288         * check/gst/gstghostpad.c: (GST_START_TEST):
3289         * check/gst/gstpipeline.c: (GST_START_TEST):
3290         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3291         * check/states/sinks.c: (GST_START_TEST):
3292         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3293         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3294         (gst_bin_remove_func), (gst_bin_get_state_func),
3295         (gst_bin_recalc_state), (gst_bin_change_state_func),
3296         (bin_bus_handler):
3297         * gst/gstelement.c: (gst_element_get_state_func),
3298         (gst_element_get_state), (gst_element_abort_state),
3299         (gst_element_commit_state), (gst_element_set_state),
3300         (gst_element_change_state), (gst_element_change_state_func):
3301         * gst/gstelement.h:
3302         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3303         (gst_pipeline_provide_clock_func):
3304         * gst/gstutils.c: (gst_element_link_pads_filtered):
3305         * tools/gst-launch.c: (main):
3306         * tools/gst-typefind.c: (main):
3307         Use GstClockTime in _get_state() instead of GTimeVal.
3308         Remove old code in gstutils.c
3309
3310 2005-10-12  Andy Wingo  <wingo@pobox.com>
3311
3312         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3313         removed.
3314
3315         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3316         there is no task. Shouldn't affect any code, as nothing in our
3317         plugins checks this return value.
3318         (gst_pad_stop_task): Also take the stream lock if the pad has no
3319         task. Docs updated.
3320
3321 2005-10-12  Wim Taymans  <wim@fluendo.com>
3322
3323         * gst/gstpad.c: (pre_activate), (post_activate),
3324         (gst_pad_activate_pull), (gst_pad_activate_push):
3325         Cleanup activation code. Reset old state if
3326         activation failed.
3327
3328 2005-10-12  Wim Taymans  <wim@fluendo.com>
3329
3330         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3331         (gst_base_sink_change_state):
3332         No need to prerol after receiving EOS.
3333
3334         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3335         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3336         * gst/elements/gstidentity.c: (gst_identity_event):
3337         Print events more verbosely.
3338
3339 2005-10-12  Wim Taymans  <wim@fluendo.com>
3340
3341         * check/Makefile.am:
3342         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3343         * check/states/sinks2.c:
3344         Moved sinks2 testcode in sinks check.
3345
3346         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3347         (gst_bin_remove_func), (gst_bin_recalc_state),
3348         (gst_bin_change_state_func), (bin_bus_handler):
3349         Fix potential race condition when _get_state() iterated over an
3350         ASYNC element right before it posted a state completion.
3351
3352         * gst/gstclock.h:
3353         Do proper cast here.
3354
3355         * gst/gstevent.c: (gst_event_new_newsegment),
3356         (gst_event_parse_newsegment):
3357         A playback rate of 0.0 is not allowed.
3358
3359 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3360
3361         * win32/common/config.h:
3362         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3363         (_trewinddir), (_ttelldir), (_tseekdir):
3364         * win32/common/dirent.h:
3365         * win32/common/gtchar.h:
3366         * win32/common/libgstbase.def:
3367         * win32/common/libgstreamer.def:
3368         * win32/vs6/grammar.dsp:
3369         * win32/vs6/gst_inspect.dsp:
3370         * win32/vs6/gst_launch.dsp:
3371         * win32/vs6/gstreamer.dsw:
3372         * win32/vs6/libgstbase.dsp:
3373         * win32/vs6/libgstelements.dsp:
3374         * win32/vs6/libgstreamer.dsp:
3375           Visual Studio 6 project files, and a new common directory.
3376           Phear.
3377
3378 2005-10-11  Wim Taymans  <wim@fluendo.com>
3379
3380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3381         (gst_base_sink_do_sync), (gst_base_sink_query),
3382         (gst_base_sink_change_state):
3383         * gst/base/gstbasesink.h:
3384         Correctly parse newsegment info.
3385
3386 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3387
3388         * gst/gst.c: (init_post):
3389           split plugin paths correctly
3390
3391 2005-10-11  Wim Taymans  <wim@fluendo.com>
3392
3393         * check/gst/gstevent.c: (GST_START_TEST):
3394         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3395         (gst_base_sink_change_state):
3396         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3397         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3398         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3399         * gst/gstevent.c: (gst_event_new_newsegment),
3400         (gst_event_parse_newsegment):
3401         * gst/gstevent.h:
3402         Added extra flag to newsegment for future API freeze.
3403         Updated check and base elements.
3404
3405 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3406
3407         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3408         (gst_collectpads_add_pad), (gst_collectpads_pop),
3409         (gst_collectpads_event), (gst_collectpads_chain):
3410         * gst/base/gstcollectpads.h: Handle EOS correctly.
3411
3412 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3413
3414         * tools/gst-launch.c: (main):
3415           more null protecting
3416
3417 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3418
3419         * gst/gst-i18n-lib.h:
3420           check for ENABLE_NLS, not GETTEXT_PACKAGE
3421         * gst/gstregistry.c: (gst_registry_add_plugin),
3422         (gst_registry_scan_path_level),
3423         (_gst_registry_remove_cache_plugins):
3424           protect possibly NULL strings
3425         * gst/parse/types.h:
3426           config.h already included before
3427         * tools/gst-inspect.c: (main):
3428           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3429           check for ENABLE_NLS, not GETTEXT_PACKAGE
3430         * tools/gst-launch.c: (main):
3431           check for ENABLE_NLS, not GETTEXT_PACKAGE
3432
3433 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3434
3435         * configure.ac:
3436           if we don't have glib, fail before testing 2.8
3437         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3438           fix a leak, should fix plugins-base testsuite
3439
3440 2005-10-11  Andy Wingo  <wingo@pobox.com>
3441
3442         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3443         take the mode we're going to as an arg. Go head and set the mode
3444         and flushing flags now, so that if the activate function starts a
3445         thread all the flags will be in the right state.
3446         (post_activate): Renamed also. Just handle making sure streaming
3447         finishes for the deactivation case, and setting the deactivated
3448         mode.
3449         (gst_pad_set_active): Complain loudly if deactivation fails.
3450         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3451         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3452         remove the terrible hack.
3453
3454 2005-10-11  Wim Taymans  <wim@fluendo.com>
3455
3456         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3457         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3458         (gst_bin_recalc_state), (gst_bin_change_state_func),
3459         (gst_bin_dispose), (bin_bus_handler):
3460         * gst/gstbin.h:
3461         Prepare to make current EOS message queue more generic.
3462         Fix some typos.
3463
3464         * gst/gstevent.c: (gst_event_new_newsegment),
3465         (gst_event_parse_newsegment):
3466         * gst/gstevent.h:
3467         Rename base to stream_time.
3468
3469         * gst/gstmessage.h:
3470         Fix typo in docs.
3471
3472 2005-10-11  Wim Taymans  <wim@fluendo.com>
3473
3474         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3475         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3476         (gst_bin_change_state_func), (bin_bus_handler):
3477         * gst/gstbin.h:
3478         Work on proper clock selection.
3479
3480 2005-10-11  Edward Hervey  <edward@fluendo.com>
3481
3482         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3483         * libs/gst/controller/gstcontroller.h:
3484         Added GList* version of _remove_properties() in order to be able to wrap
3485         it in bindings.
3486
3487 2005-10-11  Wim Taymans  <wim@fluendo.com>
3488
3489         * docs/design/part-states.txt:
3490         Some more docs.
3491
3492         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3493         (gst_bin_change_state_func), (bin_bus_handler):
3494         Doc updates. Don't distribute the same clock over and over again.
3495
3496         * gst/gstclock.c:
3497         * gst/gstclock.h:
3498         Doc updates.
3499
3500         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3501         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3502         (gst_pad_send_event):
3503         * gst/gstpad.h:
3504         Make probe emission threadsafe again.
3505         Register quarks and move _get_name() from utils.
3506         Doc updates.
3507
3508         * gst/gstpipeline.c: (gst_pipeline_class_init),
3509         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3510         Only redistribute the clock of it changed.
3511
3512         * gst/gstsystemclock.h:
3513         Doc updates. 
3514
3515         * gst/gstutils.c:
3516         * gst/gstutils.h:
3517         Moved the _flow_get_name() to GstPad.
3518
3519 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3520
3521         * check/gst-libs/gdp.c: (GST_START_TEST):
3522         * check/gst/gstcaps.c: (GST_START_TEST):
3523         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3524         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3525         (gst_dp_packet_from_caps):
3526           fix more valgrind warnings before turning up the heat
3527
3528 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3529
3530         * gst/parse/grammar.y:
3531           some cleanup before the hacking
3532
3533 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3534
3535         * gst/base/gstbasesrc.c: (gst_base_src_query):
3536           use conversions
3537         * gst/gstutils.c: (gst_guint64_to_gdouble),
3538         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3539         * gst/gstutils.h:
3540           externalize, basesrc uses it
3541           obviously the implementation needs testing
3542
3543 2005-10-10  Wim Taymans  <wim@fluendo.com>
3544
3545         * tests/sched/Makefile.am:
3546         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3547         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3548
3549 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3550
3551         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3552           apparently converting from guint64 to double is not implemented
3553           on MSVC
3554
3555 2005-10-10  Wim Taymans  <wim@fluendo.com>
3556
3557         * check/Makefile.am:
3558         * check/generic/states.c: (GST_START_TEST):
3559         * check/gst/gstbin.c: (GST_START_TEST):
3560         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3561         * check/states/sinks.c: (GST_START_TEST):
3562         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3563         (main):
3564         Check fixes, use API as stated in design docs, remove hacks.
3565
3566         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3567         (gst_base_sink_change_state):
3568         Catch stopping our task while we're shutting down.
3569
3570         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3571         (gst_bin_remove_func), (gst_bin_get_state_func),
3572         (gst_bin_recalc_state), (gst_bin_change_state_func),
3573         (bin_bus_handler):
3574         * gst/gstbin.h:
3575         * gst/gstelement.c: (gst_element_init),
3576         (gst_element_get_state_func), (gst_element_abort_state),
3577         (gst_element_commit_state), (gst_element_lost_state),
3578         (gst_element_set_state), (gst_element_change_state),
3579         (gst_element_change_state_func):
3580         * gst/gstelement.h:
3581         New state change algorithm (see #318116)
3582
3583         * gst/gstpipeline.c: (gst_pipeline_class_init),
3584         (gst_pipeline_init), (gst_pipeline_set_property),
3585         (gst_pipeline_get_property), (do_pipeline_seek),
3586         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3587         * gst/gstpipeline.h:
3588         Remove crude state change hacks.
3589
3590         * gst/gstutils.h:
3591         Remove crude hacks.
3592
3593         * tools/gst-launch.c: (main):
3594         Fixes for state change. Needs some more work to fully use the
3595         new stuff.
3596
3597 2005-10-10  Andy Wingo  <wingo@pobox.com>
3598
3599         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3600
3601         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3602         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3603         issue.
3604
3605 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3606
3607         * gst/gstiterator.c: (gst_iterator_new):
3608           Fix my previous commit: GTypes passed to gst_iterator_new()
3609           can be fundamental types.
3610
3611 2005-10-10  Wim Taymans  <wim@fluendo.com>
3612
3613         * gst/gstelement.c: (gst_element_iterate_pad_list),
3614         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3615         (gst_element_iterate_sink_pads):
3616         Use src/sink pads lists for the respective iterators instead
3617         of filtering.
3618
3619 2005-10-10  Andy Wingo  <wingo@pobox.com>
3620
3621         Merged in popt removal + GOption addition patch from Ronald, bug
3622         #169772.
3623
3624         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3625         GstElement macros around, remove popt-related symbols, add goption
3626         stuff.
3627
3628         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3629         
3630         * docs/gst/Makefile.am:
3631         * docs/libs/Makefile.am: No POPT_CFLAGS.
3632         
3633         * examples/manual/Makefile.am:
3634         * docs/manual/basics-init.xml: Doc updates with an example.
3635         
3636         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3637         (gst_init), (parse_one_option), (parse_goption_arg):
3638         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3639         bit of hand merging and debugging to get the GOption stuff working
3640         tho.
3641         
3642         * tests/Makefile.am:
3643         * tools/Makefile.am:
3644         * tools/gst-inspect.c: (main):
3645         * tools/gst-launch.c: (main):
3646         * tools/gst-run.c: (main):
3647         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3648
3649 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3650
3651         * gst/gstiterator.c: (gst_iterator_new):
3652           Add assertions to make sure passed GType is likely to really
3653           be a GType (as the compiler won't catch it if the size and
3654           GType arguments get mixed up, see #318447).
3655
3656 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3657
3658         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3659
3660         * gst/gstbin.c: (gst_bin_iterate_sorted):
3661           Pass GType and size arguments to gst_iterator_new() in the right
3662           order (maybe we should make _new() take the GType as first argument
3663           just like _new_list()?) (#318447).
3664           
3665
3666 2005-10-10  Wim Taymans  <wim@fluendo.com>
3667
3668         * gst/gstelement.c: (gst_element_finalize):
3669         And free the GStaticRecMutex too
3670
3671 2005-10-10  Andy Wingo  <wingo@pobox.com>
3672
3673         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3674         Allocate and free the mutex properly.
3675
3676         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3677         New macros.
3678         (GstElement): The state_lock is now recursive. Rebuild your
3679         plugins, suckers. Old macros adapted.
3680
3681         * docs/gst/gstreamer-sections.txt: Doc updates.
3682
3683         * gst/gstutils.h:
3684         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3685         (g_static_rec_cond_wait): Ported from state changes patch, while
3686         we wait on bug #317802 to be solved in a well-distributed GLib.
3687
3688         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3689         gst_element_change_state, variable name changes.
3690         (gst_element_change_state): Split out of gst_element_set_state in
3691         preparation for the state change merge. Doesn't pay attention to
3692         the 'transition' argument.
3693         (gst_element_set_state): Updates, hopefully purely cosmetic.
3694         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3695         state change patch.
3696         (gst_element_get_state_func): Renamed from get_state, cosmetic
3697         changes.
3698
3699 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3700
3701         * gst/elements/gstelements.c:
3702         * win32/GStreamer.vcproj:
3703         * win32/config.h:
3704         * win32/dirent.c: (_tseekdir):
3705         * win32/gst-inspect.vcproj:
3706         * win32/gst-launch.vcproj:
3707         * win32/gstconfig.h:
3708         * win32/gstelements.vcproj:
3709         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3710         * win32/gstreamer.def:
3711         * win32/msvc71.sln:
3712           updates for the win32 build (patch from Sebastien Moutte)
3713
3714 2005-10-10  Andy Wingo  <wingo@pobox.com>
3715
3716         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3717         gst_bin_get_state, cleaned up (but no logic changes).
3718         (bin_element_is_sink): Comment updates.
3719         (sink_iterator_filter): Remove needless cast.
3720         (gst_bin_iterate_sinks): Doc update.
3721         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3722         cleaned up (but no logic changes).
3723
3724         * check/states/sinks.c (test_src_sink): Cleanups from the state
3725         change patch.
3726         (test_livesrc_sink): Sync on the state.
3727
3728         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3729         the state change patch.
3730
3731         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3732         change patch.
3733
3734         * check/gst/gstbin.c: Merge in some style fixes and additional
3735         checks from Wim's state change patch.
3736
3737 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3738
3739         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3740         (gst_type_find_helper):
3741           Check whether we have the requested data already in our list of
3742           cached buffers before pulling a new buffer; also make the buffer
3743           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3744
3745 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3746
3747         * gst/gstcaps.c:
3748         * gst/gstevent.c:
3749           doc updates
3750         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3751           don't use long long, it's not portable.  Replacing with
3752           gint64 seems to work; let's hope no skeletons fall out of the closet.
3753
3754 2005-10-10  Andy Wingo  <wingo@pobox.com>
3755
3756         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3757
3758 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3759
3760         * docs/gst/gstreamer-sections.txt:
3761         * gst/gstevent.c:
3762         * gst/gstevent.h:
3763         * gst/gstinfo.c:
3764         * gst/gstinfo.h:
3765         * gst/gstmessage.c: (gst_message_parse_state_changed):
3766         * gst/gstpad.c:
3767         * gst/gstpad.h:
3768           more docs, fix compilation
3769
3770 2005-10-09  Philippe Khalaf <burger@speedy.org>
3771         * gst/gstmessage.c:
3772           Fixed a few forgotten variables on previous commit
3773
3774 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3775
3776         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3777           Fix evil typefind crasher: getrange() might return a short
3778           buffer at the end of a file, but gst_type_find_peek() must
3779           either return the full data as requested or NULL, but
3780           never a short buffer.
3781
3782 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3783
3784         * gst/gstmessage.c: (gst_message_new_state_changed),
3785         (gst_message_parse_state_changed):
3786         * gst/gstmessage.h:
3787           don't use "new", it's a C++ keyword
3788
3789 2005-10-08  Wim Taymans  <wim@fluendo.com>
3790
3791         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3792         * gst/gstelement.c: (gst_element_post_message):
3793         * gst/gstpipeline.c: (gst_pipeline_change_state):
3794         Small docs and debug updates.
3795
3796 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3797
3798         * docs/gst/gstreamer-sections.txt:
3799         * gst/gstelementfactory.c:
3800         * gst/gstevent.c:
3801         * gst/gsttaglist.c:
3802           more docs
3803
3804 2005-10-08  Wim Taymans  <wim@fluendo.com>
3805
3806         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3807         (gst_bin_dispose), (bin_bus_handler):
3808         Fix typos, add comments.
3809         Clear EOS list when going to PAUSED from any direction and do it
3810         in a threadsafe way.
3811         Get base time in a threadsafe way too.
3812         Fix confusing debug in the change_state function.
3813         Various other small cleanups.
3814         
3815         * gst/gstelement.c: (gst_element_post_message):
3816         Fix very verbose bus posting code.
3817
3818         * gst/gstpipeline.c: (gst_pipeline_class_init),
3819         (gst_pipeline_set_property), (gst_pipeline_get_property),
3820         (gst_pipeline_change_state):
3821         Small ARG_ -> PROP_ cleanup
3822
3823 2005-10-08  Wim Taymans  <wim@fluendo.com>
3824
3825         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3826         Do a less CPU demanding EOS check because we can.
3827
3828 2005-10-08  Wim Taymans  <wim@fluendo.com>
3829
3830         * libs/gst/dataprotocol/dataprotocol.c:
3831         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3832         (gst_dp_packet_from_event):
3833         * libs/gst/dataprotocol/dataprotocol.h:
3834         * libs/gst/dataprotocol/dp-private.h:
3835         It's about time we bump the version number.
3836         Since event types don't fit in the guint8 anymore describing
3837         the payload type, make payload type 16 bits wide.
3838
3839 2005-10-08  Wim Taymans  <wim@fluendo.com>
3840
3841         * docs/design/part-TODO.txt:
3842         * docs/design/part-clocks.txt:
3843         * docs/design/part-events.txt:
3844         * docs/design/part-gstbin.txt:
3845         * docs/design/part-gstelement.txt:
3846         * docs/design/part-gstpipeline.txt:
3847         * docs/design/part-live-source.txt:
3848         * docs/design/part-messages.txt:
3849         * docs/design/part-overview.txt:
3850         * docs/design/part-states.txt:
3851         Many doc updates.
3852
3853 2005-10-08  Wim Taymans  <wim@fluendo.com>
3854
3855         * gst/gstevent.c:
3856         * gst/gstevent.h:
3857         Fix event quark registration.
3858         Add some space between events so we can insert them in the
3859         right groups.
3860
3861 2005-10-08  Wim Taymans  <wim@fluendo.com>
3862
3863         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3864         (gst_base_sink_handle_buffer):
3865         Better log message.
3866
3867         * gst/gstbus.h:
3868         * gst/gstelement.h:
3869         More docs.
3870
3871         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3872         (gst_queue_set_property), (gst_queue_get_property):
3873         * gst/gstqueue.h:
3874         Remove old unused properties.
3875
3876 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3877         * docs/gst/gstreamer-sections.txt:
3878         * gst/gstmessage.c:
3879         * gst/gstmessage.h:
3880         * gst/gstminiobject.c:
3881         * gst/gstminiobject.h:
3882         * gst/gstobject.h:
3883         * gst/gstpad.h:
3884         * gst/gstutils.h:
3885           lots of new docs and doc fixes
3886
3887 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3888
3889         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3890         * gst/gstplugin.h:
3891         * gst/gstregistry.c: (gst_registry_lookup_locked),
3892         (gst_registry_scan_path_level):
3893         * gst/gstregistryxml.c: (load_plugin):
3894           Only ever load one plugin for a given plugin basename.
3895           This ensures correct overriding of GST_PLUGIN_PATH over
3896           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3897           system installed plugins.
3898
3899 2005-10-08  Wim Taymans  <wim@fluendo.com>
3900
3901         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3902         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3903         Prepare for doing QOS.
3904
3905 2005-10-08  Wim Taymans  <wim@fluendo.com>
3906
3907         * check/gst/gstbin.c: (GST_START_TEST):
3908         * check/pipelines/cleanup.c: (GST_START_TEST):
3909         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3910         Allow new clock message too.
3911
3912 2005-10-08  Wim Taymans  <wim@fluendo.com>
3913
3914         * gst/gstmessage.c: (gst_message_new_error),
3915         (gst_message_new_warning), (gst_message_new_tag),
3916         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3917         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3918         (gst_message_new_segment_start), (gst_message_new_segment_done),
3919         (gst_message_parse_state_changed),
3920         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3921         (gst_message_parse_new_clock):
3922         * gst/gstmessage.h:
3923         Also carry the clock in question.
3924
3925 2005-10-08  Wim Taymans  <wim@fluendo.com>
3926
3927         * gst/gstmessage.c: (gst_message_new_custom),
3928         (gst_message_new_eos), (gst_message_new_error),
3929         (gst_message_new_warning), (gst_message_new_tag),
3930         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3931         (gst_message_new_new_clock), (gst_message_new_segment_start),
3932         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3933         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3934         * gst/gstmessage.h:
3935         Clean up.
3936         Added clock related messages.
3937
3938         * gst/gstpipeline.c: (gst_pipeline_change_state):
3939         Post message when the clock changed.
3940
3941         * tools/gst-launch.c: (event_loop):
3942         Print new clock.
3943
3944 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3945
3946         * tools/gst-inspect.c: (print_element_properties_info):
3947           Can't pass NULL strings to g_print() on windows.
3948
3949 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3950
3951         * docs/Makefile.am:
3952         * docs/gst/Makefile.am:
3953         * docs/gst/gstreamer-docs.sgml:
3954         * docs/gst/running.xml:
3955         * docs/version.entities.in:
3956           add a chapter on running GStreamer.
3957           document GST_DEBUG and GST_PLUGIN* env vars
3958
3959 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3960
3961         * Makefile.am:
3962           remove include dir
3963         * configure.ac:
3964           remove PLUGINS_BUILDDIR stuff
3965         * gst/gst.c: (init_post):
3966           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3967         * idiottest.mak:
3968           remove, it was condescending and not needed
3969
3970 2005-10-08  Wim Taymans  <wim@fluendo.com>
3971
3972         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3973         (gst_base_sink_handle_object), (gst_base_sink_event),
3974         (gst_base_sink_wait), (gst_base_sink_handle_event),
3975         (gst_base_sink_change_state):
3976         * gst/base/gstbasesink.h:
3977         Repost EOS message while going to PLAYING if still EOS.
3978         Make sure that when receiving a FLUSH_START we don't attempt
3979         to sync on the clock anymore.
3980
3981 2005-10-08  Wim Taymans  <wim@fluendo.com>
3982
3983         * tools/gst-launch.c: (event_loop):
3984         Better message printout.
3985
3986 2005-10-08  Wim Taymans  <wim@fluendo.com>
3987
3988         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3989         (gst_bin_child_proxy_get_children_count):
3990         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3991         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3992         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3993         (gst_child_proxy_set_valist):
3994         * gst/parse/grammar.y:
3995         Make ChildProxy threadsafe and fix mem leaks.
3996
3997 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3998
3999         * gst/gst.c: (init_post):
4000           debug the GST_PLUGIN_ env vars
4001
4002 2005-10-08  Wim Taymans  <wim@fluendo.com>
4003
4004         * check/gst/gstbin.c: (GST_START_TEST):
4005         * check/gst/gstmessage.c: (GST_START_TEST):
4006         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4007         * gst/gstelement.c: (gst_element_commit_state),
4008         (gst_element_lost_state):
4009         * gst/gstmessage.c: (gst_message_new_state_changed),
4010         (gst_message_parse_state_changed):
4011         * gst/gstmessage.h:
4012         * tools/gst-launch.c: (event_loop):
4013         Added extra field to STATE_CHANGE message with the pending
4014         state, which will be different from the new state soon.
4015
4016 2005-10-08  Wim Taymans  <wim@fluendo.com>
4017
4018         * gst/gstbus.c: (gst_bus_pop):
4019         * gst/gstclock.c:
4020         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4021         Small cleanups and doc updates.
4022
4023 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4024
4025         * gst/gst.c: (init_pre):
4026         * gst/gstbin.c: (gst_bin_add_func):
4027           log distributing clocks and base time
4028         * gst/gstregistry.c: (gst_registry_add_plugin),
4029         (gst_registry_scan_path_level), (gst_registry_scan_path):
4030           clean up the debugging output a little
4031         * gst/gstutils.c: (gst_element_state_get_name):
4032           warn about a memleak (I've actually seen this be used, though
4033           it was probably a bug)
4034
4035 2005-10-07  Wim Taymans  <wim@fluendo.com>
4036
4037         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4038         (gst_base_src_init), (gst_base_src_default_newsegment),
4039         (gst_base_src_newsegment), (gst_base_src_do_seek),
4040         (gst_base_src_loop), (gst_base_src_start):
4041         * gst/base/gstbasesrc.h:
4042         Make the newsegment event customizable by subclasses.
4043
4044 2005-10-07  Wim Taymans  <wim@fluendo.com>
4045
4046         * gst/gstevent.c: (gst_event_new_buffersize),
4047         (gst_event_parse_buffersize):
4048         * gst/gstevent.h:
4049         New event for future idea.
4050
4051 2005-10-07  Andy Wingo  <wingo@pobox.com>
4052
4053         * gst/gstelement.c (gst_element_post_message): Doc update.
4054
4055         * docs/gst/gstreamer-sections.txt: Update.
4056
4057         * gst/gstmessage.c (gst_message_new_application): Made into a
4058         function like honest API calls.
4059         (gst_message_new_element): New message type.
4060
4061         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4062
4063         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4064         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4065         times.
4066
4067         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4068         NO_PREROLL from gst_element_change_state to fall through.
4069
4070 2005-10-07  Wim Taymans  <wim@fluendo.com>
4071
4072         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4073         (gst_ghost_pad_do_activate_push):
4074         Activating a ghostpad with no internal pad in push mode
4075         is ok.
4076
4077 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4078
4079         * gst/gstobject.h:
4080           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4081           Fixes compilation on Windows.
4082
4083 2005-10-07  Michael Smith <msmith@fluendo.com>
4084
4085         * tools/gst-inspect.c:
4086           Print out feature and plugin count at the end when printing out
4087           all features.
4088
4089 2005-10-04  Michael Smith <msmith@fluendo.com>
4090
4091         * gst/gsterror.c: (_gst_stream_errors_init):
4092           Add another error string used in a few existing plugins.
4093
4094         * gst/gstplugin.c:
4095         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4096         * tools/gst-inspect.c: (print_element_info):
4097           When a feature disappears from a plugin (and the feature exists in
4098           the cached registry file), things went horribly wrong. This isn't a
4099           complete fix, we should actually be removing the 'missing' features
4100           from the features list when we load the actual plugin. That's not
4101           yet implemented. 
4102
4103 2005-10-04  Johan Dahlin  <johan@gnome.org>
4104
4105         * check/gst/gstiterator.c: (GST_START_TEST):
4106         * gst/gstbin.c: (gst_bin_iterate_elements),
4107         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4108         * gst/gstelement.c: (gst_element_iterate_pads):
4109         * gst/gstformat.c: (gst_format_iterate_definitions):
4110         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4111         (gst_iterator_new_list), (gst_iterator_filter):
4112         * gst/gstiterator.h:
4113         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4114         Add a GType to GstIterator, update callsites and tests.
4115
4116 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4117
4118         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4119           give events a chance to be handled by event probes when the pad
4120           is not linked
4121
4122 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4123
4124         * gst/gstevent.c: (gst_event_type_get_name),
4125         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4126         * gst/gstevent.h:
4127           add string representations for event types
4128
4129 2005-10-06  Wim Taymans  <wim@fluendo.com>
4130
4131         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4132         Don't use NULL pointers.
4133
4134 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4135
4136         * gst/gst_private.h:
4137         * gst/gstbus.c:
4138         * gst/gstelement.c:
4139         * gst/gstinfo.c:
4140         * gst/gstpluginfeature.c:
4141           widen the debug category in output to fit the biggest one we have
4142           add a bus category and use it
4143           play with the colors
4144           fix up some categories
4145
4146 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4147
4148         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4149           add push activation of sink ghost pads.
4150           Andye, please verify
4151
4152 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4153
4154         * gst/gstutils.c: (gst_element_link_pads):
4155           fix a bug in the case where neither element has a pad
4156         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4157           add a test for that case
4158
4159 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4160
4161         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4162           emit have-data before checking for peers.  This allows
4163           for probe handlers to connect elements.  This helps autopluggers.
4164         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4165         (gst_pad_suite):
4166           add six checks, linked/unlinked with no/true/false probe
4167
4168 2005-10-04  Wim Taymans  <wim@fluendo.com>
4169
4170         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4171         (gst_fake_sink_event), (gst_fake_sink_preroll),
4172         (gst_fake_sink_render), (gst_fake_sink_change_state):
4173         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4174         (gst_fake_src_get_property), (gst_fake_src_create),
4175         (gst_fake_src_stop):
4176         * gst/elements/gstidentity.c: (gst_identity_stop):
4177         Protect last_message with lock.
4178
4179 2005-10-04  Edward Hervey  <edward@fluendo.com>
4180
4181         * gst/gstformat.h: 
4182         Added precision in the comments for GST_FORMAT_DEFAULT
4183
4184 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4185
4186         * tools/gst-launch.c: (main):
4187           Don't try to run erroneous pipelines.
4188
4189 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4190
4191         * gst/gstbus.c: We don't need this header.
4192
4193 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4194
4195         * configure.ac:
4196           back to development
4197
4198 === release 0.9.3 ===
4199
4200 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4201
4202         * README:
4203         * configure.ac:
4204           Releasing 0.9.3, "Unregistered"
4205
4206 2005-10-03  Andy Wingo  <wingo@pobox.com>
4207
4208         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4209         whereby calling a pad's activatepush() function can start a thread
4210         that starts to push or pull before the pad gets the FLUSHING flag
4211         unset. Hack around it by holding the stream lock until the flag is
4212         set. Need to replace this with a proper solution. Together with
4213         the ghost pad fixes, this fixes mp3 playing/tagreading.
4214
4215         * docs/design/part-gstghostpad.txt: Add a note about activation of
4216         proxy pads outside of ghost pads.
4217
4218         * gst/gstghostpad.c: Implement the ghost pad activation design.
4219
4220 2005-10-02  Andy Wingo  <wingo@pobox.com>
4221
4222         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4223         It is volatile, after all.
4224
4225         * docs/design/part-gstghostpad.txt: Flesh out activation with
4226         ghost pads.
4227
4228         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4229         GST_DEBUG_FUNCPTR.
4230
4231 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4232
4233         * configure.ac:
4234           Fix (unused) AM_CONDITIONAL tests.
4235
4236 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4237
4238         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4239
4240         * gst/gstutils.c: (gst_pad_query_convert):
4241           Add assertion that makes sure src_val is >=0, just like
4242           gst_query_new_convert() has. (#315895)
4243
4244 2005-09-30  Edward Hervey  <edward@fluendo.com>
4245
4246         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4247         Let's not iterate pads we're not interested in, it avoids getting 
4248         sky-high refcounts on sinkpad.
4249
4250 2005-09-30  Wim Taymans  <wim@fluendo.com>
4251
4252         * gst/gstelement.c: (gst_element_set_state),
4253         (gst_element_change_state):
4254         Small tweak, element in ASYNC remains ASYNC.
4255
4256 2005-09-30  Wim Taymans  <wim@fluendo.com>
4257
4258         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4259         Only error is an error.
4260
4261         * gst/gstbin.c: (gst_bin_change_state):
4262         Better debugging.
4263
4264         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4265         Also call pad_block in pad alloc.
4266
4267         * gst/gstutils.c: (gst_flow_get_name):
4268         Better debugging.
4269
4270 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4271
4272         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4273         (gst_base_src_get_range):
4274           Fix documentation typos. Add some more debug info.
4275
4276 2005-09-29  David Schleef  <ds@schleef.org>
4277
4278         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4279           more end-user friendly.
4280         * tools/gst-inspect.c: (main): Check if command-line argument is
4281           a file and attempt to load that file as a plugin.
4282
4283 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4284
4285         * check/gst/gstbin.c:
4286         * check/states/sinks.c:
4287           fix tests for the new warning
4288         * check/gst/gstpipeline.c:
4289           add a test for pipeline and bus interaction
4290         * gst/gstelement.c:
4291           elements should be NULL if they get disposed; add a warning if not
4292
4293 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4294
4295         * gst/gstobject.c:
4296           for 2.6 refcounting, make debug log more correct by printing
4297           the actual refcounts at the time of swap (Wim)
4298
4299 2005-09-29  Andy Wingo  <wingo@pobox.com>
4300
4301         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4302         removes signal watches previously added via
4303         gst_bus_add_signal_watch.
4304         (gst_bus_add_signal_watch): Don't return the source id, just store
4305         it on the bus if there wasn't an id already.
4306
4307         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4308         add_signal_watch and remove_signal_watch.
4309
4310 2005-09-29  Edward Hervey  <edward@fluendo.com>
4311
4312         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4313         Better if we actually iterate the list :)
4314
4315 2005-09-29  Wim Taymans  <wim@fluendo.com>
4316
4317         * check/gst/gstbin.c: (GST_START_TEST):
4318         Change for new bus API.
4319
4320         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4321         (send_messages), (GST_START_TEST), (gstbus_suite):
4322         Change for new bus signal API.
4323
4324         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4325         (gst_bus_source_prepare), (gst_bus_source_check),
4326         (gst_bus_create_watch), (gst_bus_add_watch_full),
4327         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4328         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4329         * gst/gstbus.h:
4330         Remove support for multiple GSources operating on different
4331         message types as it is too complex and unneeded when using
4332         signals.
4333         Added support for receiving signals from the bus.
4334
4335 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4336
4337         * docs/libs/tmpl/gstdataprotocol.sgml:
4338         * docs/manual/advanced-dataaccess.xml:
4339         * gst/elements/gstcapsfilter.c:
4340         * gst/gstutils.c:
4341           rename filter-caps to caps property
4342
4343 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4344
4345         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4346           More robust fraction string parsing.
4347
4348         * docs/pwg/appendix-porting.xml:
4349           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4350
4351 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4352
4353         * gst/gstcaps.c: (gst_caps_do_simplify):
4354           Thou shalt not free a structure and then continue using it
4355           in the next loop iteration.
4356
4357         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4358         (gst_caps_suite):
4359           Add test case for caps simplification.
4360
4361 2005-09-29  Wim Taymans  <wim@fluendo.com>
4362
4363         * check/gst/gstbin.c: (GST_START_TEST):
4364         Oops.
4365
4366 2005-09-29  Wim Taymans  <wim@fluendo.com>
4367
4368         * check/gst/gstbin.c: (GST_START_TEST):
4369         Add bus to bin.
4370
4371         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4372         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4373         (find_element), (gst_bin_sort_iterator_next),
4374         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4375         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4376         (gst_bin_change_state), (gst_bin_dispose):
4377         A bin does not have a bus, it gets the bus from the parent.
4378
4379         * gst/gstelement.c: (gst_element_requires_clock),
4380         (gst_element_provides_clock), (gst_element_is_indexable),
4381         (gst_element_is_locked_state), (gst_element_change_state),
4382         (gst_element_set_bus_func):
4383         Small cleanups.
4384
4385         * gst/gstpipeline.c: (gst_pipeline_class_init),
4386         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4387         The pipeline provides a bus.
4388
4389 2005-09-28  Johan Dahlin  <johan@gnome.org>
4390
4391         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4392         gst_structure_get_enum instead of gst_structure_get_int
4393
4394         * gst/gststructure.c (gst_structure_get_enum): Impl.
4395
4396         * gst/gststructure.h (gst_structure_get_enum): Add
4397
4398         * docs/gst/gstreamer-sections.txt: Ditto
4399
4400         * gst/gstmessage.c (gst_message_new_state_changed): Use
4401         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4402         which does introspection.
4403         Reviewed by Christian Schaller
4404
4405 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4406
4407         * gst/gstinfo.c: (gst_debug_log_default):
4408           don't do dummy g_strdup()s
4409         * libs/gst/controller/gstcontroller.c:
4410         (on_object_controlled_property_changed),
4411         (gst_controlled_property_new), (gst_controller_new_valist),
4412         (gst_controller_new_list),
4413         (gst_controller_remove_properties_valist), (gst_controller_set),
4414         (gst_controller_get), (gst_controller_sync_values),
4415         (gst_controller_get_value_array), (_gst_controller_class_init),
4416         (gst_controller_get_type):
4417         * libs/gst/controller/gstcontroller.h:
4418         * libs/gst/controller/gstinterpolation.c:
4419         (gst_controlled_property_find_timed_value_node):
4420           convert // to /**/ comments
4421
4422 2005-09-28  Wim Taymans  <wim@fluendo.com>
4423
4424         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4425         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4426         (gst_bus_sync_signal_handler):
4427         * gst/gstbus.h:
4428         Added async-message and sync-message signals to the bus.
4429         Added helper BusFunc to emit signals for all posted messages.
4430
4431         * gst/gstmessage.c: (gst_message_type_get_name),
4432         (gst_message_type_to_quark), (gst_message_get_type):
4433         * gst/gstmessage.h:
4434         Register quarks for message names.
4435
4436 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4437
4438         * docs/libs/gstreamer-libs-sections.txt:
4439         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4440         (gst_controller_new_list):
4441         * libs/gst/controller/gstcontroller.h:
4442           added another constructor for language bindings
4443
4444 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4445
4446         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4447           add another check
4448         * gst/gstbus.c:
4449           add some doc
4450         * gst/gstinfo.c: (_gst_debug_init):
4451           slightly more readable color for refcount debugging
4452
4453 2005-09-28  Wim Taymans  <wim@fluendo.com>
4454
4455         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4456         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4457         (find_element), (gst_bin_sort_iterator_next),
4458         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4459         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4460         (gst_bin_change_state), (gst_bin_dispose):
4461         Small doc fixes. get_clock -> provide_clock.
4462
4463         * gst/gstelement.c: (gst_element_class_init),
4464         (gst_element_provides_clock), (gst_element_provide_clock),
4465         (gst_element_get_clock), (gst_element_commit_state),
4466         (gst_element_lost_state):
4467         * gst/gstelement.h:
4468         Make get/set_clock() symetric. Add provide_clock vmethod since
4469         that is actually what this function does.
4470
4471         * gst/gstpipeline.c: (gst_pipeline_class_init),
4472         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4473         (gst_pipeline_get_clock):
4474         get_clock -> provide_clock.
4475
4476 2005-09-28  Andy Wingo  <wingo@pobox.com>
4477
4478         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4479         lieu of real docs...
4480
4481         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4482
4483 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4484
4485         * gst/elements/gstcapsfilter.c:
4486         * gst/elements/gstfakesink.c:
4487         * gst/elements/gstfakesrc.c:
4488         * gst/elements/gstfdsink.c:
4489         * gst/elements/gstfdsrc.c:
4490         * gst/elements/gstfilesink.c:
4491         * gst/elements/gstfilesrc.c:
4492         * gst/elements/gstidentity.c:
4493         * gst/elements/gsttee.c:
4494         * gst/elements/gsttypefindelement.c:
4495           Make element details static.
4496
4497 2005-09-28  Wim Taymans  <wim@fluendo.com>
4498
4499         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4500         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4501         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4502         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4503         (gst_bin_change_state), (gst_bin_dispose):
4504         Some documentation updates.
4505         Clean up dispose handlers.
4506
4507         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4508         * gst/gstpad.c: (gst_pad_dispose):
4509         Clean up dispose handler.
4510
4511         * gst/gstpipeline.c: (gst_pipeline_change_state):
4512         Removed spurious UNLOCK.
4513
4514 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4515
4516         * docs/gst/gstreamer-sections.txt:
4517         * gst/base/gstbasesrc.h:
4518         * gst/gstelement.h:
4519         * gst/gstevent.h:
4520         * gst/gstobject.h:
4521         * gst/gstpad.h:
4522         * gst/gstpipeline.c:
4523         * gst/gstpipeline.h:
4524         * gst/gstutils.h:
4525         * gst/gstxml.h:
4526           added two new functions to the docs
4527                 documents all undocumented GstXXXFlags
4528                 completed some incomplete docs 
4529
4530 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4531
4532         * gst/gstbin.c: (gst_bin_dispose):
4533         * gst/gstelement.c: (gst_element_dispose):
4534           remove now useless and leaky resurrection code in dispose
4535         * gst/base/gstbasesrc.c: (gst_base_src_init):
4536         * gst/gstelementfactory.c: (gst_element_factory_create):
4537         * gst/gstobject.c: (gst_object_set_parent):
4538           add some debugging
4539
4540 2005-09-27  Wim Taymans  <wim@fluendo.com>
4541
4542         * docs/design/part-TODO.txt:
4543         Update TODO.
4544
4545         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4546         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4547         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4548         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4549         (gst_bin_change_state):
4550         * gst/gstelement.h:
4551         Remove element variable, we keep element info in the iterator now.
4552
4553 2005-09-27  Andy Wingo  <wingo@pobox.com>
4554
4555         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4556         values.
4557
4558 2005-09-27  Wim Taymans  <wim@fluendo.com>
4559
4560         * check/gst/gstbin.c: (GST_START_TEST):
4561         Enable check that works now.
4562
4563         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4564         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4565         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4566         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4567         (gst_bin_change_state):
4568         * gst/gstbin.h:
4569         Redid the state change algorithm using a topological sort algo.
4570         Handles all cases correctly.
4571         Exposed iterator for state change order.
4572
4573         * gst/gstelement.h:
4574         Temp storage for state changes. Need to get rid of this soon.
4575
4576 2005-09-27  Wim Taymans  <wim@fluendo.com>
4577
4578         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4579         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4580         (link_fold_func), (gst_pad_proxy_setcaps):
4581         Leak fixes, the fold functions need to unref the passed object and
4582         _get_parent_*() returns ref to parent.
4583
4584 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4585
4586         * check/gst/gstbuffer.c: (test_make_writable):
4587           Plug leak in test case and fix 'make check-valgrind'
4588
4589 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4590
4591         * gst/gstbuffer.c: (gst_subbuffer_init):
4592           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4593           works correctly in all circumstances (we could have just copied
4594           the parent buffer's readonly flag, but conceptually it seems
4595           cleaner to mark all subbuffers as read-only). (based on patch
4596           by Alessandro Decina, #314710).
4597         
4598         * check/gst/gstbuffer.c: (create_read_only_buffer),
4599         (test_make_writable), (test_subbuffer_make_writable),
4600         (gst_test_suite):
4601           Add some tests for gst_buffer_make_writable().
4602
4603 2005-09-27  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4606         use gst_object_has_ancestor().
4607
4608         * gst/gstobject.c: (gst_object_has_ancestor):
4609         * gst/gstobject.h:
4610         gst_object_has_ancestor() copied from gstbin.c as it is a
4611         usefull function.
4612
4613         * tests/instantiate/create.c: (create_all_elements):
4614         * tests/lat.c: (handoff_src), (handoff_sink):
4615         * tests/sched/runxml.c: (main):
4616         * tests/seeking/seeking1.c: (main):
4617         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4618         (main):
4619         Fix compilation of some tests.
4620
4621 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4622
4623         * gst/gsterror.h:
4624           Remove comment. GST_TYPE_G_ERROR is here to stay,
4625           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4626           (#316961, #300610).
4627
4628 2005-09-26  Wim Taymans  <wim@fluendo.com>
4629
4630         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4631         Added check that shows error in state change order.
4632
4633 2005-09-26  Wim Taymans  <wim@fluendo.com>
4634
4635         * gst/gstbin.c: (gst_bin_change_state):
4636         Make state change function use 3 queues again, we were
4637         adding elements in the wrong order.
4638
4639         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4640         Some debug info,
4641
4642         * gst/gstpad.c: (gst_pad_dispose):
4643         Added some debug info first.
4644
4645 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4646
4647         * docs/design/draft-push-pull.txt:
4648         * docs/design/part-events.txt:
4649         * docs/design/part-overview.txt:
4650         * docs/design/part-scheduling.txt:
4651           Replace all _pull_region() with _pull_range()
4652           
4653 2005-09-26  Andy Wingo  <wingo@pobox.com>
4654
4655         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4656
4657         * check/gst-libs/controller.c: Update for controller api change.
4658
4659         * configure.ac: 
4660         * tests/Makefile.am:
4661         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4662         over by GLib bug 118439.
4663         
4664         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4665         routines to a function.
4666
4667         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4668
4669         * libs/gst/controller/gsthelper.c:
4670         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4671         (gst_object_sync_values): Renamed from sink_values. Ugh.
4672
4673         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4674
4675         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4676         Renamed from controller_key, as it is exported.
4677
4678         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4679
4680 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4681
4682         * gst/Makefile.am:
4683         * gst/gst.h:
4684         * gst/gstpad.h:
4685         * gst/gstpadtemplate.h:
4686         * gst/gstquery.c:
4687         * gst/gstquery.h:
4688         * gst/gstqueryutils.c:
4689         * gst/gstqueryutils.h:
4690           remove queryutils headers after moving the two used functions
4691           to gstquery.  also fixes build problem for gstsiddec
4692
4693 2005-09-26  Michael Smith <msmith@fluendo.com>
4694
4695         * tools/gst-launch.1.in:
4696         Correct documentation in manpage of debug syntax
4697
4698 2005-09-26  Wim Taymans  <wim@fluendo.com>
4699
4700         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4701         (gst_base_src_is_seekable), (gst_base_src_change_state):
4702         Some more debugging info.
4703
4704 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4705
4706         * docs/gst/gstreamer-sections.txt:
4707         * gst/base/gstbasetransform.h:
4708         * gst/gstindex.h:
4709           added more docs
4710
4711 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4712
4713         * docs/gst/.cvsignore:
4714         * docs/gst/tmpl/.cvsignore:
4715         * docs/gst/tmpl/gstpipeline.sgml:
4716         * docs/gst/tmpl/gstplugin.sgml:
4717         * gst/gstpipeline.c:
4718         * gst/gstplugin.c:
4719         * gst/gstplugin.h:
4720           inlined the last two docs files
4721           removed the tmpl directory from cvs (no more conflicts here!)
4722
4723 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4724
4725         * docs/gst/gstreamer-sections.txt:
4726         * docs/gst/tmpl/.cvsignore:
4727         * docs/gst/tmpl/gstpad.sgml:
4728         * docs/gst/tmpl/gstpadtemplate.sgml:
4729         * gst/Makefile.am:
4730         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4731         (gst_pad_finalize), (gst_pad_set_pad_template):
4732         * gst/gstpad.h:
4733         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4734         (gst_pad_template_class_init), (gst_pad_template_init),
4735         (gst_pad_template_dispose), (name_is_valid),
4736         (gst_static_pad_template_get), (gst_pad_template_new),
4737         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4738         (gst_pad_template_pad_created):
4739         * gst/gstpadtemplate.h:
4740           inlined two more docs
4741           factored gstpadtemplate out of gstpad
4742
4743 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4744
4745         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4746         (test_children_state_change_order_semi_sink):
4747           Fix test case: we can't rely on a fixed state change order when
4748           going from READY => PAUSED because the sink might commit its 
4749           new state first when the first buffer created by the source 
4750           reaches the sink before the source has finished its change state.
4751           (Test case still fails at times, see #316856, comment 5 onwards)
4752
4753 2005-09-24  Wim Taymans  <wim@fluendo.com>
4754
4755         * docs/design/part-events.txt:
4756         * docs/design/part-gstbus.txt:
4757         * docs/design/part-gstpipeline.txt:
4758         * docs/design/part-messages.txt:
4759         * docs/design/part-overview.txt:
4760         * docs/design/part-segments.txt:
4761         * gst/gstbin.c:
4762         * gst/gstbuffer.c:
4763         * gst/gstclock.c:
4764         * gst/gstelement.c:
4765         * gst/gstevent.c:
4766         * gst/gstfilter.c:
4767         * gst/gstiterator.c:
4768         Various documentation updates.
4769
4770 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4771
4772         * gst/gstclock.h:
4773           Well, that's embarassing.  Luckily we weren't using
4774           GST_CLOCK_DIFF anywhere.
4775
4776 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4777
4778         * common/gtk-doc.mak:
4779           don't fail on building XML, FC4 slave shows a bunch of doc
4780           missing bits that I don't get
4781         * gst/gstpad.c:
4782         * gst/gstpipeline.c:
4783         * gst/gststructure.c:
4784           some doc updates
4785
4786 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4787
4788         * docs/design/part-gstbin.txt:
4789         * docs/design/part-gstbus.txt:
4790         * gst/gstbus.c:
4791           Add blurb about how the bus goes into flushing mode and
4792           drops all messages when its bin goes from READY into NULL 
4793           state.
4794
4795 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         * docs/gst/gstreamer-sections.txt:
4798         * gst/gststructure.c: (gst_structure_get_clock_time):
4799         * gst/gststructure.h:
4800           add a method to get a GstClockTime out of a structure
4801
4802 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4803
4804         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4805         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4806           Added test to check state change order in bins (can still be made
4807           to fail here under heavy disk load; bails out with 'Push on pad
4808           fakesink:sink0, but it was not activated in push mode').
4809
4810         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4811           Fix state change order when there is only a semi sink (#316856)
4812
4813         * gst/gstbus.c: (gst_bus_class_init):
4814           Use _class_peek_parent(), not _class_ref(); fix docs to say
4815           'default main context' instead of 'mainloop' where that is
4816           what's meant.
4817
4818         * gst/gstelement.c: (gst_element_commit_state),
4819         (gst_element_set_state):
4820           Fix typos in debug messages
4821
4822 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4823
4824         * docs/README:
4825         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4826         * gst/gstpluginfeature.c:
4827         * gst/gstutils.c:
4828           various doc updates
4829         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4830           change an assert into an error until it gets fixed properly
4831
4832 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4833
4834         * docs/gst/gstreamer-sections.txt:
4835         * docs/gst/tmpl/.cvsignore:
4836         * docs/gst/tmpl/gstelement.sgml:
4837         * docs/gst/tmpl/gstinfo.sgml:
4838         * docs/gst/tmpl/gstobject.sgml:
4839         * gst/gstelement.c:
4840         * gst/gstelement.h:
4841         * gst/gstinfo.c:
4842         * gst/gstinfo.h:
4843         * gst/gstobject.c: (gst_object_class_init):
4844         * gst/gstobject.h:
4845           inlined 3 more biiiig doc files and added some missing docs on the fly
4846
4847 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4848
4849         * check/gst/.cvsignore:
4850         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4851         * gst/gstregistryxml.c: (load_plugin),
4852         (gst_registry_xml_save_plugin):
4853           put back source in registry.  add checks for find_plugin.
4854         * testsuite/states/bin.c: (assert_state), (empty_bin),
4855         (test_adding_one_element), (main):
4856         * testsuite/states/locked.c: (main):
4857           some compile/run fixes
4858
4859 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4860
4861         * check/gst/gstvalue.c: (GST_START_TEST):
4862           fix leaks in the test itself
4863
4864 2005-09-22  Wim Taymans  <wim@fluendo.com>
4865
4866         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4867         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4868         (gst_base_sink_query):
4869         Prepare for more accurate position reporting and query
4870         handling.
4871
4872         * gst/gstelement.c: (gst_element_send_event),
4873         (gst_element_set_state):
4874         Add some comment.
4875
4876 2005-09-22  Wim Taymans  <wim@fluendo.com>
4877
4878         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4879         (gst_query_parse_segment):
4880         * gst/gstquery.h:
4881         More documentation.
4882         Add segment query for future use.
4883
4884 2005-09-22  Wim Taymans  <wim@fluendo.com>
4885
4886         * gst/gstbin.c: (gst_bin_add_func):
4887         Some more debug info.
4888
4889         * gst/gstelement.c: (gst_element_send_event):
4890         Simplify send_event
4891
4892         * gst/gstelement.h:
4893         Don't know how flags got broken.
4894
4895         * gst/gstquery.h:
4896         Added new query.
4897
4898 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4899
4900         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4901           Add simplistic test suite for GST_TYPE_DATE serialisation and
4902           deserialisation.
4903
4904 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4905
4906         * docs/gst/gstreamer-sections.txt:
4907         * gst/gststructure.c: (gst_structure_set_valist),
4908         (gst_structure_get_date):
4909         * gst/gststructure.h:
4910         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4911         (gst_date_copy), (gst_value_compare_date),
4912         (gst_value_serialize_date), (gst_value_deserialize_date),
4913         (gst_value_transform_date_string),
4914         (gst_value_transform_string_date), (_gst_value_initialize):
4915         * gst/gstvalue.h:
4916           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4917           bunch of utility functions along with a hack that checks that
4918           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4919           is required. Part of the grand scheme in #170777.
4920
4921 2005-09-22  Andy Wingo  <wingo@pobox.com>
4922
4923         * gst/gstconfig.h.in: Psych out gtk-doc.
4924
4925         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4926
4927         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4928
4929         * tools/gst-inspect.c (print_element_list): Plug some
4930         inconsequential leaks.
4931
4932         * gst/gstregistry.c (gst_registry_get_default): Doc.
4933
4934         * check/gst/gstplugin.c: 
4935         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4936         * gst/gstelementfactory.c (gst_element_factory_create): 
4937         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4938         refcount changes.
4939
4940         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4941         (gst_plugin_feature_load): Doc, don't eat refs.
4942
4943         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4944         (gst_plugin_list_free): Doc.
4945         (gst_plugin_load_file): Doc updates.
4946
4947         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4948         accessors returning refcounted objects, return a ref.
4949
4950         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4951         accessor for caps. IDEMPOTENCE. Oh yes.
4952
4953 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4954
4955         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4956
4957         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4958         (_gst_debug_register_funcptr):
4959           Add mutex to serialise access to the hash table with
4960           the function pointer => function name string mapping;
4961           make that hash table static scope (#316809).
4962
4963         * gst/registries/.cvsignore:
4964           Remove left-over file.
4965
4966 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4967
4968         * docs/pwg/appendix-porting.xml:
4969           And something about newsegment events and caps-on-buffers to
4970           the porting guide (feel free to improve).
4971
4972 2005-09-21  Andy Wingo  <wingo@pobox.com>
4973
4974         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4975         data and event probes on the same pad.
4976         (test_buffer_probe_once): Test that removing probes from within
4977         the probe functions works.
4978
4979 2005-09-21  Andy Wingo  <wingo@pobox.com>
4980
4981         * check/gst/gstutils.c: New file.
4982         (test_buffer_probe_n_times): A simple buffer probe test. More to
4983         come, foolios.
4984
4985         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4986         have-data::buffer, not have-data.
4987         (gst_pad_add_event_probe): Likewise for have-data::event.
4988         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4989         peer' isn't quite right yet though.
4990         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4991         (gst_pad_remove_data_probe): Change to take the guint handler_id
4992         as their arg, not the function+data, which is more glib-like.
4993
4994         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4995         the signal emission to indicate if the data is a buffer or an
4996         event.
4997         (gst_pad_get_type): Initialize buffer and event quarks.
4998         (gst_pad_class_init): have-data is now a detailed signal, yes it
4999         is.
5000
5001 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5002
5003         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5004         * gst/gstutils.c: (gst_util_set_value_from_string),
5005         (gst_util_set_object_arg):
5006           Don't put functional code in g_return_if_fail() or
5007           g_return_val_if_fail() statements, otherwise things will 
5008           break when G_DISABLE_CHECKS is defined during compilation.
5009
5010 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5011
5012         * docs/gst/tmpl/.cvsignore:
5013         * docs/gst/tmpl/gstvalue.sgml:
5014         * gst/gstvalue.c:
5015         * gst/gstvalue.h:
5016           inlied another one and added  some obvious docs
5017
5018 2005-09-21  Wim Taymans  <wim@fluendo.com>
5019
5020         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5021         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5022         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5023         (gst_fdsrc_get_property), (gst_fdsrc_create):
5024         * gst/elements/gstfdsrc.h:
5025         Properly implement fdsrc. Removed signal and timeout,
5026         better implemented somewhere else.
5027
5028 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5029
5030         * docs/gst/tmpl/.cvsignore:
5031         * docs/gst/tmpl/gstimplementsinterface.sgml:
5032         * gst/gstinterface.c:
5033           inlined more docs
5034
5035 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5036
5037         * docs/gst/gstreamer-sections.txt:
5038         * docs/gst/tmpl/.cvsignore:
5039         * docs/gst/tmpl/gstenumtypes.sgml:
5040           remove obsolete doc file
5041
5042 2005-09-21  David Schleef  <ds@schleef.org>
5043
5044         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5045         little beer, fix a little leak.
5046
5047 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5048
5049         * docs/gst/gstreamer-docs.sgml:
5050         * docs/gst/gstreamer-sections.txt:
5051         * docs/gst/tmpl/.cvsignore:
5052         * gst/Makefile.am:
5053         * gst/gst.h:
5054         * gst/gstbin.c:
5055         * gst/gstelement.h:
5056         * gst/gstindex.c: (gst_index_class_init):
5057         * gst/gstindex.h:
5058         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5059         (gst_index_factory_class_init), (gst_index_factory_init),
5060         (gst_index_factory_finalize), (gst_index_factory_new),
5061         (gst_index_factory_destroy), (gst_index_factory_find),
5062         (gst_index_factory_create), (gst_index_factory_make):
5063         * gst/gstindexfactory.h:
5064         * gst/gstpluginfeature.c:
5065         * gst/gstpluginfeature.h:
5066         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5067           more docs inlined, splitted gstindex.{c,h}
5068
5069 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5070
5071         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5072           fix a leak
5073
5074 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5075
5076         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5077           Set sync to FALSE by default.
5078
5079 2005-09-20  Wim Taymans  <wim@fluendo.com>
5080
5081         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5082         (gst_base_sink_init):
5083         Make sync property settable from subclass.
5084
5085         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5086         (gst_fake_sink_change_state):
5087         Set sync to FALSE by default.
5088
5089 2005-09-20  Wim Taymans  <wim@fluendo.com>
5090
5091         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5092         * tools/gst-launch.c: (main):
5093         The timeout handler should have lower priority than the source
5094         so we don't timeout before popping a message with 0 timeout.
5095         Dump error messages after failed state change.
5096
5097 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5098
5099         * tools/gst-inspect.c: (print_element_properties_info):
5100           Fix two typos.
5101
5102 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5103
5104         * check/gst/gstevent.c:
5105         * gst/elements/gstfakesink.c:
5106         * gst/elements/gstfakesink.h:
5107           remove the sync property from fakesink.
5108           has the side effect of setting sync TRUE
5109           for fakesink, which is a change.  Anyone who knows how
5110           to fix this nicely in a GObject-y way, feel free.
5111
5112 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5113
5114         * docs/gst/gstreamer-docs.sgml:
5115           remove probe refsection
5116
5117 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5118
5119         * check/Makefile.am:
5120           disable valgrinding the controller test again
5121         * docs/gst/gstreamer-sections.txt:
5122           update for api-changes
5123
5124 2005-09-20  Wim Taymans  <wim@fluendo.com>
5125
5126         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5127         (gst_base_sink_set_property), (gst_base_sink_get_property),
5128         (gst_base_sink_do_sync):
5129         * gst/base/gstbasesink.h:
5130         Added sync property to basesink to disable clock sync.
5131
5132 2005-09-20  Andy Wingo  <wingo@pobox.com>
5133
5134         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5135         eating the caller's refcount.
5136
5137         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5138         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5139         refcount.
5140
5141         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5142         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5143         of GLib 2.8 public, so we can know which refcount to check in
5144         tests.
5145
5146         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5147         (gst_object_init): Only set the gst refcount if we're going ahead
5148         with the refcount hack.
5149
5150 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5151
5152         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5153         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5154           more leaks plumbed, added more debug-logging
5155         * gst/gstmacros.h:
5156           whitespace fix
5157
5158 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5159
5160         * gst/gstmessage.c:
5161           remove include of gstmemchunk.h
5162
5163 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5164
5165         * gst/gstclock.c: (_gst_clock_id_free):
5166           Commit from the Political Party For More Atomic CVS Commits,
5167           so that people don't waste too much of their day fishing
5168           out obvious leaks out of massive commits.
5169           Oh, and fix a pretty damn obvious leak in the memchunk
5170           removal code.
5171
5172 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5173
5174         * check/Makefile.am:
5175         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5176           plug mem-leak, re-add to valgrindable tests
5177
5178 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5179
5180         * gst/gstplugin.h:
5181           unbreak the build for those who have chronic arthritis
5182           and typing "make check" is just too taxing on the hands
5183
5184 2005-09-20  Andy Wingo  <wingo@pobox.com>
5185
5186         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5187         really want it out, you should fix plugins at the same time.
5188
5189 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5190
5191         * configure.ac:
5192         * docs/gst/gstreamer-sections.txt:
5193         * gst/gstobject.c:
5194           added missing symbols to api docs
5195           disable ref-count hack if we have glib >= 2.8
5196
5197 2005-09-19  David Schleef  <ds@schleef.org>
5198
5199         * docs/gst/Makefile.am: Ignore a few more internal headers
5200         * docs/gst/gstreamer-docs.sgml: Remove old sections
5201         * docs/gst/gstreamer-sections.txt: Remove old sections
5202         * docs/gst/tmpl/gstobject.sgml: update
5203         * docs/gst/tmpl/gstplugin.sgml: update
5204         * docs/gst/tmpl/gstpluginfeature.sgml: update
5205         * docs/random/ds/0.9-suggested-changes: update.
5206         * gst/Makefile.am: remove memchunk and trashstack, since they're
5207           not used.
5208         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5209         * gst/gst.h: don't include some headers
5210         * gst/gstchildproxy.c: add gstmarshal.h
5211         * gst/gstclock.c: Don't use memchunks
5212         * gst/gstminiobject.c: Add some docs
5213         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5214         * gst/gstobject.h: same
5215         * gst/gstplugin.c: include gstmacros.h
5216         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5217         * gst/gstquery.c: don't use memchunks
5218         * gst/gstregistry.c: rename gst_registry_deinit()
5219         * gst/gstregistry.h: same
5220
5221 2005-09-19  David Schleef  <ds@schleef.org>
5222
5223         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5224         * docs/libs/gstreamer-libs-sections.txt:
5225         * docs/libs/tmpl/gstgetbits.sgml:
5226         * docs/libs/tmpl/gstputbits.sgml:
5227
5228 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5229
5230         * win32/gstenumtypes.c:
5231         * win32/gstenumtypes.h:
5232           Update.
5233
5234 2005-09-19  Wim Taymans  <wim@fluendo.com>
5235
5236         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5237         Automatically PAUSE and RESUME a pipeline when a flushing seek
5238         is performed.
5239
5240 2005-09-19  Andy Wingo  <wingo@pobox.com>
5241
5242         * gst/gstregistry.h: Spacing fixen.
5243
5244 2005-09-19  Wim Taymans  <wim@fluendo.com>
5245
5246         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5247         Handle state change failure more correctly.
5248
5249 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5250
5251         * check/Makefile.am:
5252         * check/pipelines/cleanup.c: (run_pipeline):
5253         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5254         (GST_START_TEST):
5255           enable cleanup again after fixing the leak
5256         * docs/README:
5257           some more info on docs
5258
5259 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5260
5261         * check/Makefile.am:
5262           re-enable tests now that leaks are plugged
5263         * check/gst/gst.c:
5264         * check/gst/gstbin.c:
5265         * check/gst/gstpipeline.c:
5266           add some more tests while fixing leaks
5267         * common/check.mak:
5268           make sure binaries are uptodate when valgrinding/gdbing
5269         * gst/gst.c:
5270         * gst/gstelementfactory.c:
5271           remove a ref too many, and add a FIXME for when we get
5272           round to disposing of classes
5273         * gst/gstplugin.c:
5274           fix the refcounting when loading a plugin from a file and
5275           the code pretends that the pointer is the same even though
5276           of course it can change
5277         * gst/gstpluginfeature.c:
5278           unref plugins marked cached (a bit confusing as a name)
5279           as the docs state should be done
5280           various doc additions to explain refcounting
5281         * gst/gstregistry.c:
5282         * gst/gstregistryxml.c:
5283           debugging
5284
5285 2005-09-19  Wim Taymans  <wim@fluendo.com>
5286
5287         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5288         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5289         (send_messages), (GST_START_TEST), (gstbus_suite):
5290         * check/gst/gstpipeline.c: (GST_START_TEST):
5291         * check/pipelines/cleanup.c: (run_pipeline):
5292         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5293         (GST_START_TEST):
5294         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5295         (gst_bus_source_check), (gst_bus_source_dispatch),
5296         (gst_bus_create_watch), (gst_bus_add_watch_full),
5297         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5298         * gst/gstbus.h:
5299         * tools/gst-launch.c: (event_loop):
5300         * tools/gst-md5sum.c: (event_loop):
5301         GstBusHandler -> GstBusFunc, return value has the same meaning as
5302         any other GSource (FALSE == remove source).
5303         _add_watch() and _add_watch_full() now take a MessageType mask to
5304         only handle specific types of messages.
5305         _poll() returns the GstMessage instead of the message type to avoid
5306         race conditions.
5307         _have_pending() takes a MessageType mask now too.
5308         Added testsuite for multiple bus watches.
5309         Fix testsuites and applications for new bus API.
5310
5311 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5312
5313         * check/Makefile.am:
5314           mark a bunch of the tests as to fix until we fix them
5315
5316 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5317
5318         * common/check.mak:
5319           use GST_PLUGIN settings for valgrind tests as well, so we're
5320           valgrinding the correct thing
5321         * gst/gst.c: (init_post):
5322           plug another leak
5323
5324 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5325
5326         * gst/gst.c: (init_post), (gst_deinit):
5327         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5328         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5329         * gst/gstindex.c: (gst_index_factory_class_init),
5330         (gst_index_factory_finalize):
5331         * gst/gstobject.c: (gst_object_dispose):
5332         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5333         (gst_plugin_load_file), (gst_plugin_desc_free):
5334         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5335         (gst_plugin_feature_finalize):
5336         * gst/gstregistry.c: (gst_registry_class_init),
5337         (gst_registry_init), (gst_registry_finalize),
5338         (gst_registry_get_default), (gst_registry_deinit):
5339         * gst/gstregistry.h:
5340         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5341           various cleanups and memleak plugging.  make valgrind is happy now.
5342
5343 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5344
5345         * common/check.mak:
5346           add a check-valgrind target
5347
5348 2005-09-18  David Schleef  <ds@schleef.org>
5349
5350         * tools/gst-inspect.c: Revert the GOption code.
5351
5352 2005-09-17  David Schleef  <ds@schleef.org>
5353
5354         * check/Makefile.am: Fix environment variables.
5355         * check/gst/gstplugin.c: Fix for API changes.
5356         * tools/gst-inspect.c: Fix for API changes.
5357         * tools/gst-xmlinspect.c: Fix for API changes.
5358         * gst/gstelementfactory.c:
5359         * gst/gstplugin.c:
5360         * gst/gstplugin.h:
5361         * gst/gstpluginfeature.c:
5362         * gst/gstpluginfeature.h:
5363         * gst/gstregistry.c:
5364         * gst/gstregistry.h:
5365         * gst/gstregistryxml.c:
5366         * gst/gsttypefind.c:
5367         * gst/gsttypefindfactory.c:
5368         * gst/indexers/gstfileindex.c:
5369         * gst/indexers/gstmemindex.c:
5370         * gst/schedulers/Makefile.am:
5371           Change registry to keep track of both plugins and features,
5372           removing the feature tracking from plugins themselves.
5373
5374 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5375
5376         * check/Makefile.am:
5377         * tools/gst-register.1.in:
5378           remove gst-register
5379
5380 2005-09-15  David Schleef  <ds@schleef.org>
5381
5382         * check/gst/gstplugin.c:
5383         * gst/gstelementfactory.c:
5384         * gst/gstplugin.c:
5385         * gst/gstpluginfeature.c:
5386         * gst/gstregistry.c:
5387           Getting tired of debugging.  Disabled all the unreffing of
5388           plugins and features, which fixes the segfaults, but of
5389           course leaks like crazy.  At least playbin works.
5390
5391 2005-09-15  David Schleef  <ds@schleef.org>
5392
5393         * check/gst/gstplugin.c: (register_check_elements),
5394         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5395         More testing
5396         * gst/elements/gsttypefindelement.c: Fix refcounting.
5397         * gst/gsttypefind.c:
5398         * gst/gsttypefindfactory.c:
5399         * gst/gsttypefindfactory.h:
5400
5401 2005-09-15  David Schleef  <ds@schleef.org>
5402
5403         * gst/gstindex.c: get refcounting correct.
5404         * gst/gstregistry.c: Handle the case where a feature/plugin is
5405           not found.
5406
5407 2005-09-15  David Schleef  <ds@schleef.org>
5408
5409         * check/Makefile.am:
5410         * check/gst/gstplugin.c: Add test
5411         * gst/gstplugin.c: Fix problems noticed by testsuite
5412         * gst/gstplugin.h:
5413         * gst/gstregistry.c: 
5414         * gst/gstregistry.h:
5415
5416 2005-09-15  David Schleef  <ds@schleef.org>
5417
5418         * gst/gstplugin.c: Implement semi-decent recounting and locking
5419           in plugins and plugin features.
5420         * gst/gstplugin.h:
5421         * gst/gstpluginfeature.c:
5422         * gst/gstpluginfeature.h:
5423         * gst/gstregistry.c:
5424
5425 2005-09-15  Michael Smith <msmith@fluendo.com>
5426
5427         * gst/gstregistry.c: (gst_registry_get_feature_list):
5428           Implement this. Makes oggdemux work; decodebin still broken.
5429
5430 2005-09-14  David Schleef  <ds@schleef.org>
5431
5432         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5433           #316076)
5434         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5435         * gst/check/Makefile.am:
5436         * libs/gst/controller/Makefile.am:
5437         * libs/gst/dataprotocol/Makefile.am:
5438
5439 2005-09-14  David Schleef  <ds@schleef.org>
5440
5441         * configure.ac: Remove getbits library.  Nothing uses it, and
5442           it should be in something like liboil if someone did want
5443           to use it.
5444         * libs/gst/Makefile.am:
5445         * libs/gst/getbits/Makefile.am:
5446         * libs/gst/getbits/gbtest.c:
5447         * libs/gst/getbits/getbits.c:
5448         * libs/gst/getbits/getbits.h:
5449         * libs/gst/getbits/gstgetbits_generic.c:
5450         * libs/gst/getbits/gstgetbits_i386.s:
5451         * libs/gst/getbits/gstgetbits_inl.h:
5452
5453 2005-09-14  David Schleef  <ds@schleef.org>
5454
5455         * gst/Makefile.am: Dist glib-compat.h
5456
5457 2005-09-14  David Schleef  <ds@schleef.org>
5458
5459         * configure.ac: Remove gst/registries, since it's no longer used.
5460         * gst/registries/Makefile.am:
5461         * gst/registries/gstlibxmlregistry.c:
5462         * gst/registries/gstlibxmlregistry.h:
5463         * gst/registries/gstxmlregistry.c:
5464         * gst/registries/gstxmlregistry.h:
5465         * gst/registries/registrytest.c:
5466
5467 2005-09-14  David Schleef  <ds@schleef.org>
5468
5469         * gst/glib-compat.h:
5470         * gst/gstregistryxml.c:
5471           Convergence is near.  Seriously.
5472
5473 2005-09-14  David Schleef  <ds@schleef.org>
5474
5475         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5476         * gst/glib-compat.h:
5477           Attempt #4 to appease the buildbots.
5478
5479 2005-09-14  David Schleef  <ds@schleef.org>
5480
5481         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5482           Attempt #3.
5483
5484 2005-09-14  David Schleef  <ds@schleef.org>
5485
5486         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5487         Attempt #2.
5488
5489 2005-09-14  David Schleef  <ds@schleef.org>
5490
5491         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5492           the new functions.
5493
5494 2005-09-14  David Schleef  <ds@schleef.org>
5495
5496         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5497         * gst/glib-compat.h: Add some functions that are in newer versions
5498           of glib than we care to require.
5499         * gst/gstregistryxml.c: Use them.
5500
5501 2005-09-14  David Schleef  <ds@schleef.org>
5502
5503         * po/POTFILES.in: remove gst-register.c
5504
5505 2005-09-14  David Schleef  <ds@schleef.org>
5506
5507         * docs/gst/gstreamer-docs.sgml:
5508         * docs/gst/gstreamer-sections.txt:
5509         * docs/gst/gstreamer.types:
5510         * docs/gst/tmpl/gstelement.sgml:
5511         * docs/gst/tmpl/gstplugin.sgml:
5512         * docs/gst/tmpl/gstpluginfeature.sgml:
5513           Documentation updates for registry changes.
5514
5515 2005-09-14  David Schleef  <ds@schleef.org>
5516
5517         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5518           because we don't require glib-2.8.
5519
5520 2005-09-14  David Schleef  <ds@schleef.org>
5521
5522         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5523           registries directory.
5524
5525 2005-09-14  David Schleef  <ds@schleef.org>
5526
5527         * check/Makefile.am:
5528         * check/generic/states.c:
5529         * gst/Makefile.am:
5530         * gst/gst.c:
5531         * gst/gst.h:
5532         * gst/gst_private.h:
5533         * gst/gstelementfactory.c:
5534         * gst/gstindex.c:
5535         * gst/gstinfo.c:
5536         * gst/gstplugin.c:
5537         * gst/gstplugin.h:
5538         * gst/gstpluginfeature.c:
5539         * gst/gstpluginfeature.h:
5540         * gst/gstregistry.c:
5541         * gst/gstregistry.h:
5542         * gst/gstregistrypool.c: remove
5543         * gst/gstregistrypool.h: remove
5544         * gst/gsttypefind.c:
5545         * gst/gsttypefindfactory.c:
5546         * gst/gsturi.c:
5547         * tools/Makefile.am:
5548         * tools/gst-compprep.c:
5549         * tools/gst-inspect.c:
5550         * tools/gst-register.c: remove
5551         * tools/gst-xmlinspect.c:
5552           Registry rewrite.  Changes registry from being a file created
5553           by a tool into a simple cache file created automatically by 
5554           libgstreamer.  Removed gst-register (because it's no longer
5555           needed).  Remove registry pools, because we only have one
5556           registry implementation (XML).  Fix up other subsystems as
5557           necessary.
5558
5559 2005-09-13  Michael Smith <msmith@fluendo.com>
5560
5561         * gst/gstconfig.h.in:
5562           Don't Use windows linking attributes for MinGW. Fixes #316157
5563
5564 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5565
5566         * gst/gstutils.c: (set_state_async_thread_func),
5567         (gst_element_set_state_async):
5568           Apparently people think it's better if this function doesn't
5569           try to set the state to whatever state was asked for on the first
5570           call to this function for any object.  Seriously.
5571
5572 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5573
5574         * check/gst/gstpipeline.c: (GST_START_TEST):
5575         * docs/gst/gstreamer-sections.txt:
5576         * gst/gstutils.c: (set_state_async_thread_func),
5577         (gst_element_set_state_async):
5578         * gst/gstutils.h:
5579           add a "gst_element_set_state_async" method that
5580           sets the state and starts a thread to make sure the state
5581           change completes as best as it can
5582
5583 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5584
5585         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5586           codify design+behaviour in testsuite after discussion
5587
5588 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5589
5590         * docs/gst/tmpl/gstelement.sgml:
5591         * docs/manual/appendix-quotes.xml:
5592           add a quote
5593         * gst/gstelement.c: (gst_element_set_state):
5594           add some debug
5595
5596 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5597
5598         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5599         (gst_base_transform_prepare_output_buf),
5600         (gst_base_transform_handle_buffer):
5601         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5602         (gst_capsfilter_prepare_buf):
5603           Remove the requirement for sub-classes to call the parent
5604           implementation of prepare_output_buffer with a wrapper function.
5605           
5606         * gst/gsttaglist.h:
5607         * gst/gsttagsetter.h:
5608           Fix #define wrapper
5609
5610 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5611
5612         * docs/gst/gstreamer-sections.txt:
5613           more doc cleanups
5614
5615 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * docs/gst/gstreamer-sections.txt:
5618         * docs/gst/tmpl/gstelement.sgml:
5619         * docs/gst/tmpl/gstplugin.sgml:
5620         * gst/gstminiobject.c:
5621         * gst/gstvalue.h:
5622           docs now stop throwing warnings
5623
5624 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5625
5626         * docs/gst/gstreamer-sections.txt:
5627         * docs/gst/gstreamer.types:
5628         * docs/gst/tmpl/gstpad.sgml:
5629         * docs/gst/tmpl/gsttypes.sgml:
5630         * gst/base/gstadapter.h:
5631         * gst/base/gstbasesink.h:
5632         * gst/base/gstbasesrc.h:
5633         * gst/gstbin.h:
5634         * gst/gstbuffer.h:
5635         * gst/gstbus.h:
5636         * gst/gstcaps.h:
5637         * gst/gstclock.h:
5638         * gst/gstelement.h:
5639         * gst/gstevent.h:
5640         * gst/gstmessage.h:
5641         * gst/gstpad.h:
5642         * gst/gststructure.c:
5643         * gst/registries/gstlibxmlregistry.h:
5644           various documentation fixes
5645
5646 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5647
5648         * docs/gst/gstreamer-sections.txt:
5649         * docs/gst/tmpl/gstvalue.sgml:
5650           rearrange gstvalue section
5651         * gst/gstutils.c: (gst_element_state_get_name):
5652           NONE -> VOID
5653         * gst/gstvalue.c: (_gst_value_initialize):
5654         * gst/gstvalue.h:
5655           doc updates
5656
5657 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5658
5659         * check/gst-libs/controller.c:
5660           Header include fix.
5661         * gst/base/gstbasetransform.c:
5662         (gst_base_transform_default_prepare_buf),
5663         (gst_base_transform_handle_buffer):
5664         * gst/base/gstbasetransform.h:
5665           Some more basetransform changes and fixes to enable sub-classes
5666           that modify buffer metadata only.
5667         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5668         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5669         (gst_capsfilter_prepare_buf):
5670           If the output pad has fixed allowed caps and input buffers 
5671           don't have any, set the fixed caps on outgoing buffers.
5672
5673 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5674         * check/elements/identity.c: (GST_START_TEST):
5675           Make the error a little clearer when the test fails because
5676           identity made a copy of the buffer.
5677         * docs/gst/gstreamer-sections.txt:
5678           New symbols in gstbasetransform.h
5679         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5680         (gst_base_transform_init), (gst_base_transform_transform_size),
5681         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5682         (gst_base_transform_default_prepare_buf),
5683         (gst_base_transform_get_unit_size),
5684         (gst_base_transform_buffer_alloc),
5685         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5686         (gst_base_transform_change_state),
5687         (gst_base_transform_set_passthrough),
5688         (gst_base_transform_set_in_place),
5689         (gst_base_transform_is_in_place):
5690         * gst/base/gstbasetransform.h:
5691           Change BaseTransform to separate in_place operate from same_caps
5692           output. in_place implies that the element can perform the transform
5693           on incoming buffers in-place, even if the caps on the output are
5694           different.
5695           Sub-class elements can now implement special buffer allocation
5696           methods for outgoing buffers if they wish to.
5697           Big documentation addition.
5698         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5699         * gst/elements/gstelements.c:
5700           Changes for basetransform modifications.
5701         * gst/elements/Makefile.am:
5702         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5703           Compile fix. Extra debug output.
5704
5705 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5706
5707         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5708         (gst_pad_suite):
5709           add tests for valid pad naming
5710         * gst/check/gstcheck.c: (gst_check_log_message_func),
5711         (gst_check_log_critical_func):
5712           add ASSERT_WARNING
5713           remove printing of code, it is fragile when the code contains
5714           % and the line number is enough info
5715         * gst/check/gstcheck.h:
5716         * gst/gstpad.c: (gst_pad_template_new):
5717           fix memleaks
5718
5719 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5720
5721         * configure.ac:
5722           say what CHECK flags we use
5723         * docs/libs/gstreamer-libs.types:
5724         * libs/gst/controller/Makefile.am:
5725         * libs/gst/controller/gst-controller.c:
5726         * libs/gst/controller/gst-controller.h:
5727         * libs/gst/controller/gst-helper.c:
5728         * libs/gst/controller/gst-interpolation.c:
5729         * libs/gst/controller/gstcontroller.c:
5730         * libs/gst/controller/gsthelper.c:
5731         * libs/gst/controller/gstinterpolation.c:
5732         * tools/gst-inspect.c: (print_plugin_info):
5733           we don't use dashes in header names
5734
5735 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5736
5737         * check/Makefile.am:
5738         * check/gst/.cvsignore:
5739         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5740         (gst_pipeline_suite), (main):
5741           adding a test for pipelines and state changes
5742         * gst/gstutils.c: (get_state_func):
5743           add some debugging
5744         * gstreamer.spec.in:
5745           fix up spec file
5746
5747 2005-09-08  Michael Smith <msmith@fluendo.com>
5748
5749         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5750         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5751         (gst_file_src_is_seekable), (gst_file_src_get_size),
5752         (gst_file_src_start):
5753         * gst/elements/gstfilesrc.h:
5754           Various fixes for unseekable, unmmapable, and non-normal files, so
5755           that fallback to read() rather than mmap() works.
5756         * gst/gstevent.c: (gst_event_new_newsegment):
5757           Allow newsegment events with segment_start == segment_end, as will
5758           correctly happen if you use filesrc on a zero-size file, for
5759           example.
5760
5761 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5762
5763         * gst/gstplugin.c: (gst_plugin_load_file):
5764           Call g_module_close when we don't load the module
5765
5766         * gst/registries/gstlibxmlregistry.c:
5767         (gst_xml_registry_get_property):
5768           Port leak fix from 0.8
5769
5770 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5771
5772         * docs/gst/gstreamer-docs.sgml:
5773         * docs/gst/tmpl/.cvsignore:
5774         * docs/gst/tmpl/gsttrace.sgml:
5775         * docs/gst/tmpl/gsttrashstack.sgml:
5776         * gst/Makefile.am:
5777         * gst/gst.h:
5778         * gst/gstelement.h:
5779         * gst/gstevent.h:
5780         * gst/gstmessage.c:
5781         * gst/gstmessage.h:
5782         * gst/gsttag.c:
5783         * gst/gsttag.h:
5784         * gst/gsttaginterface.c:
5785         * gst/gsttaginterface.h:
5786         * gst/gsttaglist.c:
5787         * gst/gsttaglist.h:
5788         * gst/gsttagsetter.c:
5789         * gst/gsttagsetter.h:
5790         * gst/gsttrace.c:
5791         * gst/gsttrace.h:
5792         * gst/gsttrashstack.c:
5793           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5794           inlined docs for gsttrace, gsttrashstack
5795
5796 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5797
5798         * gst/Makefile.am:
5799         * gst/elements/gstbufferstore.h:
5800         * gst/elements/gsttypefindelement.c:
5801         * gst/elements/gsttypefindelement.h:
5802         * gst/gst.h:
5803         * gst/gsttypefind.c:
5804         * gst/gsttypefind.h:
5805         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5806         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5807         (gst_type_find_factory_dispose),
5808         (gst_type_find_factory_unload_thyself),
5809         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5810         (gst_type_find_factory_get_caps),
5811         (gst_type_find_factory_get_extensions),
5812         (gst_type_find_factory_call_function):
5813         * gst/gsttypefindfactory.h:
5814         * gst/registries/gstlibxmlregistry.c:
5815         * gst/registries/gstxmlregistry.c:
5816           splitted gsttypefind into gsttypefind, gsttypefindfactory
5817
5818 2005-09-07  Andy Wingo  <wingo@pobox.com>
5819
5820         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5821         condition whereby the pad's task function is entered before the
5822         pad_mode variable was set.
5823
5824 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5825
5826         * gst/gstpad.c: (gst_pad_alloc_buffer):
5827           Catch misbehaving pad_alloc functions that don't
5828           set up caps and do it for them.
5829
5830 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5831
5832         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5833           test for pipe!=NULL
5834         * docs/gst/tmpl/.cvsignore:
5835         * docs/gst/tmpl/gstmemchunk.sgml:
5836         * docs/gst/tmpl/gstparse.sgml:
5837         * docs/gst/tmpl/gsttaglist.sgml:
5838         * docs/gst/tmpl/gsttagsetter.sgml:
5839         * docs/gst/tmpl/gsttypefind.sgml:
5840         * docs/gst/tmpl/gsttypefindfactory.sgml:
5841         * gst/gstmemchunk.c:
5842         * gst/gstparse.c:
5843         * gst/gsttag.c:
5844         * gst/gsttaginterface.c:
5845         * gst/gsttypefind.c:
5846         * gst/gsttypefind.h:
5847           inlined more docs
5848
5849 === release 0.9.2 ===
5850
5851 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5852
5853         * NEWS:
5854         * RELEASE:
5855         * configure.ac:
5856           releasing 0.9.2, "South"
5857
5858 2005-09-05  Andy Wingo  <wingo@pobox.com>
5859
5860         * gst/registries/gstxmlregistry.h:
5861         * gst/registries/gstxmlregistry.c: Um... resurrect...
5862         
5863         * gst/registries/gstxmlregistry.h:
5864         * gst/registries/gstxmlregistry.c: and update to newer API.
5865         Incidentally they should be a bit faster now that they don't have
5866         to parse the caps.
5867         
5868 2005-09-05  Andy Wingo  <wingo@pobox.com>
5869
5870         * gst/registries/gstxmlregistry.h:
5871         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5872         replaced by the libxml registry a while back
5873
5874 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         * docs/gst/tmpl/gstplugin.sgml:
5877         * gst/elements/gstelements.c:
5878         * gst/gst.c:
5879         * gst/gstplugin.c: (gst_plugin_register_func),
5880         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5881         (gst_plugin_get_source):
5882         * gst/gstplugin.h:
5883         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5884         (gst_xml_registry_save_plugin):
5885         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5886         (gst_xml_registry_save_plugin):
5887         * tools/gst-inspect.c: (print_plugin_info):
5888           add a "source" plugin description field, to represent the source
5889           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5890           will set it to PACKAGE, which is automake's idea of the name of
5891           the source project.
5892
5893 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5894
5895         * Makefile.am:
5896         * autogen.sh:
5897         * configure.ac:
5898         * docs/Makefile.am:
5899         * docs/faq/Makefile.am:
5900         * docs/gst/tmpl/gstelement.sgml:
5901         * docs/gst/tmpl/gsttypes.sgml:
5902         * docs/htmlinstall.mak:
5903         * docs/manual/Makefile.am:
5904         * docs/pwg/Makefile.am:
5905           reorganize doc build a little
5906           split out docbook and gtk-doc stuff
5907           have two separate --enable's and enable them through autogen
5908           but disable by default in configure (to be similar to other
5909           projects)
5910         * gstreamer.spec.in:
5911           clean up docs install
5912         * po/af.po:
5913         * po/az.po:
5914         * po/ca.po:
5915         * po/cs.po:
5916         * po/de.po:
5917         * po/en_GB.po:
5918         * po/fr.po:
5919         * po/it.po:
5920         * po/nb.po:
5921         * po/nl.po:
5922         * po/ru.po:
5923         * po/sq.po:
5924         * po/sr.po:
5925         * po/sv.po:
5926         * po/tr.po:
5927         * po/uk.po:
5928         * po/vi.po:
5929           translation updates
5930
5931 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5932
5933         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5934           Add comment.
5935           
5936         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5937         (gst_fake_sink_change_state):
5938           Make state change function thread-safe.
5939           
5940         * gst/gstpad.c: (gst_pad_alloc_buffer):
5941           Set offset on generic buffer allocated by fallback.
5942
5943 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5944
5945         * docs/gst/gstreamer-sections.txt:
5946         * docs/gst/tmpl/gstelement.sgml:
5947         * gst/gstpad.c:
5948         * libs/gst/controller/gst-controller.c:
5949         (gst_controlled_property_set_interpolation_mode),
5950         (gst_controlled_property_new),
5951         (gst_controller_find_controlled_property):
5952          run the wingo-magic script against the docs
5953
5954 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5955
5956         * docs/gst/gstreamer-docs.sgml:
5957         * docs/gst/gstreamer-sections.txt:
5958         * docs/gst/tmpl/.cvsignore:
5959         * docs/gst/tmpl/gstelementdetails.sgml:
5960         * docs/gst/tmpl/gstelementfactory.sgml:
5961         * gst/gst.c:
5962         * gst/gstbus.c:
5963         * gst/gstelementfactory.c:
5964         * gst/gstelementfactory.h:
5965           merged elementdetails docs into elementfactory docs
5966           inlined both
5967
5968 2005-09-02  Andy Wingo  <wingo@pobox.com>
5969
5970         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5971         consider this enum an enum and not a flags.
5972
5973 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5974
5975         * docs/gst/gstreamer-docs.sgml:
5976         * docs/gst/tmpl/.cvsignore:
5977         * docs/gst/tmpl/gstghostpad.sgml:
5978         * docs/gst/tmpl/gstiterator.sgml:
5979         * docs/gst/tmpl/gstmacros.sgml:
5980         * docs/gst/tmpl/gstrealpad.sgml:
5981         * docs/gst/tmpl/gstregistry.sgml:
5982         * docs/gst/tmpl/gstregistrypool.sgml:
5983         * docs/gst/tmpl/gststructure.sgml:
5984         * docs/gst/tmpl/gstsystemclock.sgml:
5985         * docs/gst/tmpl/gsttrace.sgml:
5986         * gst/gstghostpad.c:
5987         * gst/gstmacros.h:
5988         * gst/gstmemchunk.c:
5989         * gst/gstmemchunk.h:
5990         * gst/gstqueue.c:
5991         * gst/gstregistry.c:
5992         * gst/gstregistrypool.c:
5993         * gst/gststructure.c:
5994         * gst/gstsystemclock.c:
5995           more docs inlined
5996
5997 2005-09-02  Andy Wingo  <wingo@pobox.com>
5998
5999         * gst/gstelement.h (GstState): Renamed from GstElementState,
6000         changed to be a normal enum instead of flags.
6001         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6002         munged to be GST_STATE_CHANGE_*.
6003         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6004         work with the new state representation.
6005         (GstStateChange): New enumeration of possible state transitions.
6006         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6007         (GstElementClass::change_state): Pass the GstStateChange along as
6008         an argument. Helps language bindings, so they don't have to use
6009         tricky lock-needing macros like GST_STATE_CHANGE ().
6010
6011         * scripts/update-states (file): New script. Run it on a file to
6012         update it for state naming and API changes. Updates files in
6013         place.
6014
6015         * All files updated for the new API.
6016
6017 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6018
6019         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6020         * gst/gstutils.c: (gst_util_set_value_from_string),
6021         (gst_util_set_object_arg):
6022           fix a bunch of unchecked return values
6023         * tools/gst-complete.c: (main):
6024         * gstreamer.spec.in:
6025           clean up a little
6026
6027 2005-09-01  Wim Taymans  <wim@fluendo.com>
6028
6029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6030         (gst_base_sink_event), (gst_base_sink_do_sync),
6031         (gst_base_sink_handle_event):
6032         * gst/base/gstbasesink.h:
6033         Handle newsegments more correctly.
6034
6035         * gst/gstbus.c:
6036         Fix docs.
6037
6038         * gst/gstevent.c: (gst_event_new_newsegment):
6039         A newsegment cannot have a start_time of -1
6040
6041 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6042
6043         * win32/gstenumtypes.c:
6044         * win32/gstenumtypes.h:
6045           Update
6046
6047 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6048
6049         * libs/gst/controller/gst-controller.c:
6050         (gst_controlled_property_set_interpolation_mode),
6051         (gst_controlled_property_new):
6052          fixed boolean again
6053
6054 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6055
6056         * docs/faq/gst-uninstalled:
6057           add -good
6058         * gst/gstevent.c:
6059         * gst/gstevent.h:
6060           remove wrong docs
6061         * gst/gstutils.c: (gst_element_link_filtered):
6062         * gst/gstutils.h:
6063           add gst_element_link_filtered
6064
6065 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6066
6067         * docs/gst/gstreamer-docs.sgml:
6068         * docs/gst/gstreamer-sections.txt:
6069         * docs/gst/tmpl/.cvsignore:
6070         * docs/gst/tmpl/gsterror.sgml:
6071         * docs/gst/tmpl/gstfilter.sgml:
6072         * docs/gst/tmpl/gsturihandler.sgml:
6073         * docs/gst/tmpl/gsturitype.sgml:
6074         * docs/gst/tmpl/gstutils.sgml:
6075         * docs/gst/tmpl/gstxml.sgml:
6076         * gst/gsterror.c:
6077         * gst/gsterror.h:
6078         * gst/gstfilter.c:
6079         * gst/gsturi.c:
6080         * gst/gsturitype.c:
6081         * gst/gstutils.c:
6082         * gst/gstxml.c:
6083           inlined more docs, fixed double id-ref
6084
6085 2005-08-31  Wim Taymans  <wim@fluendo.com>
6086
6087         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6088         (gst_base_transform_handle_buffer):
6089         Passthrough elements don't need the caps as they don't care.
6090
6091 2005-08-31  Wim Taymans  <wim@fluendo.com>
6092
6093         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6094         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6095         Don't leak refcounts on buffers.
6096
6097 2005-08-31  Wim Taymans  <wim@fluendo.com>
6098
6099         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6100         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6101         (gst_base_transform_chain), (gst_base_transform_change_state):
6102         * gst/base/gstbasetransform.h:
6103         Handle the case where we are not negotiated more gracefully.
6104
6105 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6106
6107         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6108         (gst_file_src_map_region):
6109           Set READONLY flag on mmap'ed buffers, otherwise
6110           gst_buffer_make_writable() won't work properly (#314708).
6111
6112 2005-08-31  Wim Taymans  <wim@fluendo.com>
6113
6114         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6115         passthrough elements can even do inplace on non writable
6116         buffers (as they don't touch them).
6117
6118 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6119
6120         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6121         (gst_test_mono_source_set_property),
6122         (gst_test_mono_source_class_init), (GST_START_TEST),
6123         (gst_controller_suite):
6124           more tests (hehe I have the most)
6125         * gst/gstbus.c:
6126           describe popping messages whenusing mulltiple sources
6127         * libs/gst/controller/gst-controller.c:
6128         (gst_controlled_property_set_interpolation_mode),
6129         (gst_controlled_property_new):
6130         * libs/gst/controller/gst-controller.h:
6131         * libs/gst/controller/gst-interpolation.c:
6132           implement boolean properties
6133
6134 2005-08-31  Wim Taymans  <wim@fluendo.com>
6135
6136         * gst/gstminiobject.c: (gst_mini_object_ref):
6137         Cannot assert that the refcount has to be positive
6138         since a disposed object can be resurrected.
6139
6140 2005-08-31  Wim Taymans  <wim@fluendo.com>
6141
6142         * gst/gstpad.c: (gst_pad_init):
6143         Revert change, need to first fix badly behaving 
6144         apps.
6145
6146 2005-08-30  Wim Taymans  <wim@fluendo.com>
6147
6148         * check/elements/fakesrc.c: (setup_fakesrc):
6149         * check/elements/identity.c: (setup_identity):
6150         Activate pads before using them.
6151
6152 2005-08-30  Wim Taymans  <wim@fluendo.com>
6153
6154         * gst/base/gstadapter.c: (gst_adapter_flush):
6155         Flushing out 0 bytes is ok for this function.
6156
6157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6158         no newsegment gives a warning and sets the start/stop to 
6159         invalid.
6160
6161         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6162         (gst_base_transform_set_passthrough):
6163         Some debug info.
6164
6165         * gst/gstminiobject.c: (gst_mini_object_ref):
6166         Check refcount here too.
6167
6168         * gst/gstpad.c: (gst_pad_init):
6169         Pads are initially flushing and refusing data.
6170
6171         * gst/gstutils.c: (gst_element_link_pads_filtered):
6172         When adding a capsfilter element make sure it has the
6173         same state as the parent bin.
6174
6175 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6176
6177         * docs/gst/tmpl/.cvsignore:
6178         * docs/gst/tmpl/gstformat.sgml:
6179         * docs/gst/tmpl/gstversion.sgml:
6180         * gst/gstbus.h:
6181         * gst/gstformat.c:
6182         * gst/gstformat.h:
6183         * gst/gstversion.h.in:
6184           more docs and two more inlined
6185
6186 2005-08-30  Wim Taymans  <wim@fluendo.com>
6187
6188         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6189         Don't sync to clock.
6190
6191 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6192
6193         * docs/gst/gstreamer-sections.txt:
6194           ultral33t func10ns deserve to appear in the docs actually
6195         * docs/gst/tmpl/.cvsignore:
6196         * docs/gst/tmpl/gstcompat.sgml:
6197         * docs/gst/tmpl/gstconfig.sgml:
6198         * gst/check/gstcheck.c:
6199         * gst/gstcompat.h:
6200         * gst/gstconfig.h.in:
6201           inlined more docs
6202
6203 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6204
6205         * docs/gst/tmpl/.cvsignore:
6206         * docs/gst/tmpl/gstquery.sgml:
6207         * docs/gst/tmpl/gstutils.sgml:
6208         * gst/gstquery.c:
6209         * gst/gstquery.h:
6210           inlined and extended docs
6211
6212 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6213
6214         * check/gst-libs/controller.c: (GST_START_TEST),
6215         (gst_controller_suite):
6216           more tests
6217         * docs/gst/tmpl/gstutils.sgml:
6218         * docs/libs/gstreamer-libs-sections.txt:
6219         * docs/libs/tmpl/gstdataprotocol.sgml:
6220           include path fixes
6221         * examples/controller/audio-example.c: (main):
6222           controller example works now
6223         * gst/gstclock.h:
6224           doc fixes
6225         * tools/gst-inspect.c: (print_element_properties_info):
6226           show param spec flags
6227
6228 2005-08-29  Andy Wingo  <wingo@pobox.com>
6229
6230         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6231
6232 2005-08-28  Andy Wingo  <wingo@pobox.com>
6233
6234         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6235         as having two arguments instead of just one. Allows superclasses
6236         to access information on subclasses -- see the terrible for() loop
6237         in gtype.c:g_type_create_instance for the reason why. All callers
6238         changed.
6239
6240 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6241
6242         * docs/design/part-messages.txt:
6243           update info
6244         * docs/gst/tmpl/.cvsignore:
6245         * docs/gst/tmpl/gstcaps.sgml:
6246         * docs/gst/tmpl/gstclock.sgml:
6247         * gst/gstbus.c:
6248         * gst/gstcaps.c:
6249         * gst/gstcaps.h:
6250         * gst/gstclock.c:
6251         * gst/gstclock.h:
6252         * gst/gstmessage.c:
6253           added descriptions for bus and message
6254           inline caps and clock docs
6255
6256 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6257
6258         * gst/gstmessage.c:
6259         * gst/gstmessage.h:
6260           doc fixes
6261
6262 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6263
6264         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6265           fix div-by-zero
6266
6267 2005-08-26  Andy Wingo  <wingo@pobox.com>
6268
6269         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6270         element_set_state's return val.
6271         (test_2_elements): Add test that's been disabled for months.
6272
6273         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6274         can-activate-pull properties.
6275
6276         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6277         can-activate-pull properties. Implement is_seekable so fakesrc can
6278         operate in pull mode.
6279
6280         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6281         properties.
6282         (gst_base_sink_activate, gst_base_sink_activate_pull)
6283         (gst_base_sink_activate_push): Make activation mode choosing work.
6284         Cleanups.
6285         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6286         is right. Make pull mode work. Post an eos before pausing in pull
6287         mode.
6288         (gst_base_sink_change_state): Pay attention to the core's
6289         change_state() return val.
6290         
6291         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6292         has-getrange properties. Cleanups.
6293         
6294         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6295         has_getrange and replace with can_activate_pull and
6296         can_activate_push.
6297
6298         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6299         locking comments. Remove has_loop, has_chain and replace with
6300         can_activate_pull and can_activate_push.
6301
6302 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6303
6304         * configure.ac:
6305         * examples/Makefile.am:
6306         * examples/metadata/Makefile.am:
6307         * examples/metadata/read-metadata.c: (message_loop),
6308         (have_pad_handler), (make_pipeline), (print_tag), (main):
6309           Add metadata reading example that loops over a list of filenames,
6310           dumping any tags found.
6311
6312         * gst/gstbus.c: (gst_bus_dispose):
6313         * gst/gstelement.c: (gst_element_dispose):
6314           Release a few potentially-held references in dispose.
6315
6316 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6317
6318         * docs/gst/tmpl/gstminiobject.sgml:
6319           do *not* add tmpl/*.sgml files to CVS!
6320
6321 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6322
6323         * libs/gst/bytestream/.cvsignore:
6324         * libs/gst/bytestream/Makefile.am:
6325         * libs/gst/bytestream/adapter.c:
6326         * libs/gst/bytestream/adapter.h:
6327         * libs/gst/bytestream/bytestream.c:
6328         * libs/gst/bytestream/bytestream.h:
6329         * libs/gst/bytestream/filepad.c:
6330         * libs/gst/bytestream/filepad.h:
6331           removing obsolete files
6332
6333 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6334
6335         * docs/gst/gstreamer-docs.sgml:
6336         * docs/libs/gstreamer-libs-docs.sgml:
6337           disabed additional index entries again, as this makes docs-gen just
6338           slow and they aren't useful yet
6339         * docs/libs/gstreamer-libs-sections.txt:
6340           little -section.txt cleanup for libs
6341
6342 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6343
6344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6345         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6346           fix up some debugging
6347         (gst_base_transform_get_unit_size),
6348         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6349         (gst_base_transform_handle_buffer):
6350         * gst/base/gstbasetransform.h:
6351           handle and store timed NEWSEGMENT events so that subclasses that
6352           calculate time by counting samples have a segment_start time they
6353           need to add to their timestamps - see audioresample
6354
6355 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6356
6357         * gst/gstbin.h:
6358           removed ';' from the end of macro defs
6359         * docs/gst/gstreamer-docs.sgml:
6360         * docs/gst/gstreamer-sections.txt:
6361         * docs/gst/tmpl/.cvsignore:
6362         * gst/gstbus.h:
6363         * gst/gstelement.c: (gst_element_class_init),
6364         (gst_element_set_state), (activate_pads),
6365         (gst_element_save_thyself):
6366         * gst/gstevent.c: (gst_event_new_newsegment):
6367         * gst/gstevent.h:
6368         * gst/gstiterator.c:
6369         * gst/gstiterator.h:
6370         * gst/gstpad.c:
6371         * gst/gstprobe.h:
6372         * gst/gstutils.c: (gst_pad_query_convert):
6373         * gst/gstutils.h:
6374           fixed parameter name mismatches between source, header and docs
6375           added some more docs, resolved the last batch of unused elements in
6376           docs (now someone needs to doc them)
6377
6378 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6379
6380         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6381         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6382           don't walk through the plugins backwards.  Where is all this
6383           reversed logic coming from ?
6384
6385 2005-08-25  Wim Taymans  <wim@fluendo.com>
6386
6387         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6388         (gst_base_transform_transform_size),
6389         (gst_base_transform_configure_caps),
6390         (gst_base_transform_get_unit_size),
6391         (gst_base_transform_buffer_alloc),
6392         (gst_base_transform_change_state):
6393         * gst/base/gstbasetransform.h:
6394         Cache caps unit_size.
6395         Make sure we cannot negotiate up and downstream at the
6396         same time.
6397
6398 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6399
6400         * gst/gst.c: (init_pre), (init_post):
6401           register the installed plugin path after the env var
6402         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6403         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6404           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6405           directories, so the tests can prefer uninstalled over installed
6406
6407 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6408
6409         * gst/base/gstbasetransform.h:
6410           comment
6411         * gst/gstpad.c:
6412           add to docs
6413
6414 2005-08-25  Wim Taymans  <wim@fluendo.com>
6415
6416         * gst/gstbin.c: (bin_bus_handler):
6417         Be a bit more conservative about the posted message.
6418         
6419         * gst/gstbus.c: (gst_bus_post):
6420         Some cleanups, warn wrong return values.
6421
6422 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6423
6424         * check/gst/gstbin.c: (GST_START_TEST):
6425         * gst/gstbin.c: (bin_bus_handler):
6426         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6427         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6428         (gst_message_new_warning), (gst_message_new_tag),
6429         (gst_message_new_state_changed), (gst_message_new_segment_start),
6430         (gst_message_new_segment_done), (gst_message_new_custom):
6431         * gst/gstmessage.h:
6432         * tools/gst-launch.c: (event_loop):
6433         * tools/gst-md5sum.c: (event_loop):
6434           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6435
6436 2005-08-25  Wim Taymans  <wim@fluendo.com>
6437
6438         * check/generic/states.c: (GST_START_TEST):
6439         Cleanup can be done at the end.
6440
6441         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6442         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6443         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6444         Oh boy.. Thanks for finding this, Thomas. 
6445
6446 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6447
6448         * docs/gst/gstreamer.types:
6449           added missing types
6450
6451 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6452
6453         * docs/gst/gstreamer-docs.sgml:
6454         * docs/gst/gstreamer-sections.txt:
6455         * docs/gst/tmpl/.cvsignore:
6456         * gst/gstbin.c:
6457         * gst/gstiterator.c:
6458         * gst/gstutils.c:
6459         * gst/registries/gstxmlregistry.h:
6460           added missing classes and symbols (123 more to go)
6461           removed removed symbols from section file
6462           fixed many doc-comments
6463
6464 2005-08-24  Wim Taymans  <wim@fluendo.com>
6465
6466         * check/generic/states.c: (GST_START_TEST):
6467         Make sure all tasks are stopped.
6468
6469         * check/gst/gstbin.c: (GST_START_TEST):
6470         Unref after usage for proper valgrinding.
6471
6472         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6473         Really wait for the task to stop before destroying the
6474         mutex.
6475
6476         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6477         (gst_queue_src_activate_push):
6478         Small cleanups. Don't stop the task when we did not start
6479         it.
6480
6481         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6482         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6483         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6484         (gst_task_join):
6485         * gst/gsttask.h:
6486         Protect the stream lock with the object lock.
6487         Disallow setting the stream lock when running.
6488         Add cleanup_all to wait for the threadpool to finish.
6489         Remove code to autoallocate a mutex if none was provided.
6490         Add _join() to wait for a task to stop.
6491         Protect the thread pool with a global lock.
6492
6493 2005-08-24  Wim Taymans  <wim@fluendo.com>
6494
6495         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6496         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6497         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6498         * gst/base/gstbasesink.h:
6499         Handle newsegment events correctly.
6500         Drop buffers out of the segment range.
6501
6502 2005-08-22  Andy Wingo  <wingo@pobox.com>
6503
6504         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6505         macro, implements an interface and gstimplementsinterface for a
6506         new type.
6507
6508 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6509
6510         * check/Makefile.am:
6511         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6512           add a test that does a bunch of state changes on elements
6513           needs some fixing for valgrind
6514         * check/states/sinks.c: (gst_object_suite):
6515           whitespace
6516         * gst/gstcaps.h:
6517           add prototype for gst_caps_is_equal_fixed
6518         * gst/gstplugin.c:
6519         * gst/gstregistrypool.c:
6520           doc fixes
6521
6522 2005-08-24  Andy Wingo  <wingo@pobox.com>
6523
6524         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6525         convert a negative value. Doesn't make much sense. Mostly this is
6526         here to force callers to ensure -1 maps to -1.
6527
6528 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6529
6530         * docs/pwg/advanced-types.xml:
6531           Well done to Michael for catching my deliberate introduction
6532           of this spelling mistake. 
6533         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6534         * gst/gstelement.h:
6535           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6536           unlink pads before removing the element from the bin.
6537
6538 2005-08-24  Andy Wingo  <wingo@pobox.com>
6539
6540         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6541         the same thing as GST_DEBUG=*:4.
6542         (parse_debug_level, parse_debug_category): New helper parsers.
6543
6544 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6545
6546         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6547         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6548         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6549         (gst_base_transform_buffer_alloc),
6550         (gst_base_transform_handle_buffer):
6551           use gboolean return values and pointers to size so we can use the
6552           full GST_BUFFER_SIZE range (guint) for buffer sizes
6553           use GstPadDirection for transform_caps
6554         * gst/base/gstbasetransform.h:
6555           rename get_size to get_unit_size since that's what it is
6556         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6557           use GstPadDirection for transform_caps
6558         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6559         * gst/gstutils.h:
6560           cleanup and debugging
6561
6562 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6563
6564         * gst/gstelement.c: (gst_element_class_init),
6565         (gst_element_set_state), (activate_pads),
6566         (gst_element_save_thyself):
6567         * tools/gst-compprep.c: (main):
6568         * tools/gst-inspect.c: (print_element_properties_info):
6569         * tools/gst-xmlinspect.c: (print_element_properties):
6570           Fixed long standing mem-leak
6571
6572 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6573
6574         * check/gst/gstbin.c: (GST_START_TEST):
6575         * gst/gstbin.c: (bin_bus_handler):
6576         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6577         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6578         (gst_message_new_warning), (gst_message_new_tag),
6579         (gst_message_new_state_changed), (gst_message_new_segment_start),
6580         (gst_message_new_segment_done), (gst_message_new_custom):
6581         * gst/gstmessage.h:
6582         * tools/gst-launch.c: (event_loop):
6583         * tools/gst-md5sum.c: (event_loop):
6584           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6585           that applications can sensibly post custom messages with references
6586           to their own objects.
6587
6588 2005-08-24  Andy Wingo  <wingo@pobox.com>
6589
6590         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6591         already.
6592
6593 2005-08-24  Wim Taymans  <wim@fluendo.com>
6594
6595         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6596         (gst_base_transform_transform_caps),
6597         (gst_base_transform_transform_size),
6598         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6599         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6600         (gst_base_transform_handle_buffer):
6601         * gst/base/gstbasetransform.h:
6602         Many fixes and new features added by Thomas. Can now also do
6603         transforms with variable sizes and a custom fixate_caps function.
6604
6605 2005-08-24  Wim Taymans  <wim@fluendo.com>
6606
6607         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6608         Some debugging.
6609
6610         * gst/gstclock.h:
6611         Cast to ClockTime before formatting to time.
6612
6613         * gst/gstutils.h:
6614         Cleanups.
6615
6616 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6617
6618         * check/gst-libs/controller.c: (GST_START_TEST),
6619         (gst_controller_suite):
6620         * docs/gst/tmpl/gstcaps.sgml:
6621         * docs/gst/tmpl/gstghostpad.sgml:
6622         * docs/gst/tmpl/gstquery.sgml:
6623         * docs/gst/tmpl/gstutils.sgml:
6624         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6625         (gst_object_sink_values), (gst_object_get_value_arrays),
6626         (gst_object_get_value_array):
6627           gracefully handle helper method calls to objects that are not beeing
6628           controlled, added test case for that          
6629
6630 2005-08-23  Wim Taymans  <wim@fluendo.com>
6631
6632         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6633         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6634         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6635         (gst_event_parse_qos), (gst_event_new_seek),
6636         (gst_event_parse_seek):
6637         * gst/gstevent.h:
6638         Some more debugging output and doc cleanups.
6639
6640         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6641         Fix possible deadlock.
6642
6643 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6644
6645         * docs/gst/gstreamer-docs.sgml:
6646         * docs/gst/gstreamer-sections.txt:
6647         * docs/gst/gstreamer.types:
6648         * docs/gst/tmpl/.cvsignore:
6649         * gst/gstbin.h:
6650         * gst/gstbus.c:
6651         * gst/gstelement.c:
6652         * gst/gstevent.h:
6653           added 100 symbols from gstreamer-unused.txt to the right sections
6654           fixed more broken comments
6655           added GstBus to docs
6656
6657 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6658
6659         * docs/gst/gstreamer-sections.txt:
6660         * docs/gst/tmpl/.cvsignore:
6661         * docs/gst/tmpl/gstbin.sgml:
6662         * docs/gst/tmpl/gstbuffer.sgml:
6663         * gst/base/gstbasesrc.c:
6664         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6665         * gst/gstbuffer.c:
6666         * gst/gstbuffer.h:
6667         * tools/gst-launch.1.in:
6668           inlined more doc comments, added missing comments and fixed comments
6669           fixed typos
6670
6671 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6672
6673         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6674           some debugging
6675         * gst/gstcaps.h:
6676           whitespace fixes
6677         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6678           more debugging
6679         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6680         * gst/gststructure.h:
6681           add a fixate function for booleans; add a FIXME that these func
6682           names should probably be gst_structure_fixate_*
6683
6684 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6685
6686         * docs/gst/gstreamer-docs.sgml:
6687         * docs/gst/gstreamer-sections.txt:
6688         * gst/Makefile.am:
6689         * gst/gstbin.c: (gst_bin_get_type),
6690         (gst_bin_child_proxy_get_child_by_index),
6691         (gst_bin_child_proxy_get_children_count),
6692         (gst_bin_child_proxy_init):
6693         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6694         (gst_child_proxy_get_child_by_index),
6695         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6696         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6697         (gst_child_proxy_get), (gst_child_proxy_set_property),
6698         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6699         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6700         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6701         * gst/gstchildproxy.h:
6702         * gst/parse/grammar.y:
6703         * tools/gst-inspect.c: (print_interfaces),
6704         (print_element_properties_info), (print_element_info):
6705           ported gstchildproxy over from 0.8
6706           ported gst-inspect fixes and enhancements over from 0.8
6707
6708 2005-08-22  Wim Taymans  <wim@fluendo.com>
6709
6710         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6711         (gst_base_transform_handle_buffer):
6712         Also call the transform function if we have ANY caps.
6713
6714         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6715         Fix debug info.
6716
6717 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6718
6719         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6720           Don't pretend to handle seek events if the source is not seekable
6721
6722 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6723
6724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6725           Remove extra parameter to debug output
6726
6727         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6728         (gst_base_src_do_seek), (gst_base_src_activate_push):
6729           Fix seek event handling.
6730
6731         * gst/gstpipeline.c: (gst_pipeline_change_state):
6732         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6733         (gst_queue_src_activate_push):
6734           Don't start the src pad task on FLUSH_STOP if the pad
6735           isn't linked.
6736           Debug changes.
6737
6738 2005-08-22  Wim Taymans  <wim@fluendo.com>
6739
6740         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6741         Added check for gst_static_caps_get() refcounting.
6742
6743 2005-08-22  Wim Taymans  <wim@fluendo.com>
6744
6745         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6746         Make _static_caps_get() refcounting sane.
6747         
6748         * gst/gstelement.c: (gst_element_set_state):
6749         Add g_return_val_if_fail() to protect against segfaults.
6750
6751 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6752
6753         * docs/gst/tmpl/gstevent.sgml:
6754         * gst/gstevent.c:
6755         * gst/gstevent.h:
6756           inlined remaining docs, added missing doc comments
6757
6758 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6759
6760         * check/gst/gstbin.c: (GST_START_TEST):
6761           since we don't know when preroll is done, use refcount range
6762           check for the sink
6763         * gst/check/gstcheck.h:
6764           add macro for checking refcount range
6765
6766 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6767
6768         * check/Makefile.am:
6769           clean up environment for when registry gets built versus
6770           when actual tests are run; valgrind seems to not report
6771           leaks if GST_PLUGIN_PATH is set to some specific values
6772         * check/gst/gstbin.c: (GST_START_TEST):
6773           add more refcounting checks; maybe this exposes a
6774           preroll lock bug ?
6775         * common/check.mak:
6776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6777         * gst/check/gstcheck.h:
6778         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6779         (gst_bin_change_state):
6780         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6781           add/fix debugging/whitespace
6782
6783 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6784
6785         * check/gst/gstevent.c: (event_probe), (test_event),
6786         (GST_START_TEST):
6787          Er, don't call gst_bin_watch_for_state_change you idiot.
6788
6789 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6790
6791         * check/Makefile.am:
6792           Use CHECK_CFLAGS and CHECK_LIBS
6793         * check/gst/gstevent.c: (event_probe), (test_event),
6794         (GST_START_TEST):
6795           Don't leak events.
6796         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6797         (gst_base_src_start), (gst_base_src_stop),
6798         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6799         (gst_base_src_change_state):
6800           Sprinkle gst_base_src_stop liberally around error paths to fix
6801           problems reusing a source after failed state changes.
6802         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6803         (helper_find_suggest), (gst_type_find_helper):
6804           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6805         * gst/gstevent.h:
6806         * docs/gst/tmpl/gstevent.sgml:
6807           Migrate part of the docs from the SGML file. Wait for ensonic to
6808           tell me how I did it wrong ;)
6809         * tools/gst-typefind.c: (main):
6810           Extra robustness to state changes between files.
6811
6812 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6813
6814         * check/Makefile.am:
6815           don't valgrind the controller test - it's leaking - Stefan, HELP
6816         * gst/check/gstcheck.c: (gst_check_message_error),
6817         (gst_check_chain_func), (gst_check_setup_element),
6818         (gst_check_teardown_element), (gst_check_setup_src_pad),
6819         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6820         (gst_check_teardown_sink_pad):
6821         * gst/check/gstcheck.h:
6822           add a bunch of methods to set up elements, and src and sink pads
6823         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6824         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6825         (GST_START_TEST):
6826           use them
6827         * gst/gstmessage.c:
6828         * gst/gsttag.h:
6829           whitespace/doc fixes
6830
6831 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6832
6833         * gst/gstelement.h:
6834           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6835           be handled by the application and not always printed as well
6836
6837 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6838
6839         * check/Makefile.am:
6840           set GST_TOOLS_DIR
6841         * gst/check/gstcheck.c: (gst_check_message_error):
6842         * gst/check/gstcheck.h:
6843           add a fail_unless_equals_int
6844           add fail_unless for error messages
6845
6846 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6847
6848         * check/Makefile.am:
6849         * check/gst.supp:
6850         * common/Makefile.am:
6851         * common/check.mak:
6852         * common/gst.supp:
6853           factor out some of the common stuff so we can use it
6854
6855 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6856
6857         * check/Makefile.am:
6858         * check/gst/gstiterator.c: (GST_START_TEST):
6859         * check/gst/gstsystemclock.c: (GST_START_TEST),
6860         (gst_systemclock_suite):
6861         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6862         * gst/gstclock.c:
6863           valgrind more tests
6864
6865 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6866
6867         * check/elements/.cvsignore:
6868         * check/elements/gstfakesrc.c:
6869           rename to name of element
6870         * check/elements/identity.c: (chain_func), (event_func),
6871         (setup_identity), (cleanup_identity), (GST_START_TEST),
6872         (identity_suite), (main):
6873           add a test for identity
6874         * check/Makefile.am:
6875         * pkgconfig/Makefile.am:
6876         * pkgconfig/gstreamer-check.pc.in:
6877         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6878         * gst/check:
6879         * gst/Makefile.am:
6880         * configure.ac:
6881           move the check stuff to a library that gets installed
6882         * check/gst-libs/controller.c: (GST_START_TEST):
6883         * check/gst-libs/gdp.c:
6884         * check/gst/gst.c: (GST_START_TEST):
6885         * check/gst/gstbin.c:
6886         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6887         * check/gst/gstbus.c:
6888         * check/gst/gstcaps.c: (GST_START_TEST):
6889         * check/gst/gstelement.c:
6890         * check/gst/gstghostpad.c:
6891         * check/gst/gstiterator.c:
6892         * check/gst/gstmessage.c:
6893         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6894         * check/gst/gstobject.c:
6895         * check/gst/gstpad.c: (GST_START_TEST):
6896         * check/gst/gststructure.c: (GST_START_TEST):
6897         * check/gst/gstsystemclock.c: (GST_START_TEST),
6898         (gst_systemclock_suite):
6899         * check/gst/gsttag.c: (gst_tag_suite):
6900         * check/gst/gstvalue.c:
6901         * check/pipelines/cleanup.c:
6902         * check/pipelines/simple_launch_lines.c:
6903         * check/states/sinks.c:
6904           change include statement
6905
6906         * docs/gst/gstreamer-sections.txt:
6907         * docs/gst/tmpl/gstpad.sgml:
6908           document more pad stuff
6909         * gst/gstminiobject.c: (gst_mini_object_ref),
6910         (gst_mini_object_unref):
6911           debug refcounting
6912
6913 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6914
6915         * docs/gst/tmpl/gst.sgml:
6916         * gst/gst.c:
6917           eliminate another tmpl file, fix spelling in the long-description
6918
6919 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6920
6921         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6922         (test_event), (timediff), (gstevents_suite):
6923           Should fix build on 64-bit arch's
6924
6925 2005-08-18  Andy Wingo  <wingo@pobox.com>
6926
6927         Make sure that when a pipeline goes to PLAYING, that data has
6928         actually hit the sink.
6929
6930         * check/states/sinks.c (test_sink): A sink that doesn't get any
6931         data shouldn't return SUCCESS for going to either PLAYING or
6932         PAUSED. Test also the return values on the way back down.
6933
6934         * gst/gstelement.c (gst_element_set_state): When changing the
6935         state of an element currently changing state asynchronously, go to
6936         lost-state after commiting the pending state. Makes future calls
6937         to get_state continue to return ASYNC.
6938
6939         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6940         ASYNC when going to PLAYING if we still don't have preroll, as can
6941         happen with live sources.
6942
6943 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6944
6945         * docs/pwg/advanced-types.xml:
6946           Hack long paragraph into 2 chunks as a workaround for buggy
6947           jadetex version in sid and breezy that loops infinitely and
6948           eats all RAM.
6949
6950 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6951
6952         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6953         (test_event), (timediff), (gstevents_suite):
6954           Provide more error margin in clock measurements to allow for 
6955           g_get_current_time inaccuracies.
6956
6957 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6958
6959         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6960         (test_event), (timediff), (gstevents_suite):
6961            Fix error message output so I might be able to tell why the
6962            test works here but fails on the build farm.
6963
6964 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6965
6966         * check/Makefile.am:
6967         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6968         (test_event), (timediff), (gstevents_suite), (main):
6969           I wrote a test!
6970
6971         * docs/design/part-seeking.txt:
6972           Spelling correction
6973
6974         * docs/gst/tmpl/gstevent.sgml:
6975         * docs/gst/tmpl/gstfakesrc.sgml:
6976           Docs updates.
6977
6978         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6979           Treat a buffer-without-newsegment the same as a receiving 
6980           a newsegment not in time format, and disable syncing to the clock
6981           with a warning.
6982
6983         * gst/gstbus.c: (gst_bus_set_sync_handler):
6984           Assert if anyone tries to replace the existing sync_handler for bus, 
6985           as only the owner should be setting it.
6986
6987         * gst/gstevent.h:
6988           Have a fixed set of custom event enums with events identified by
6989           their structure name (as in 0.8), rather than a free-for-all
6990           allowing collisions between enum values from different plugins.
6991
6992         * gst/gstpad.c: (gst_pad_class_init):
6993           Docs change.
6994           
6995         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6996           Handle out-of-band downstream events from the sending thread.
6997
6998 2005-08-17  Andy Wingo  <wingo@pobox.com>
6999
7000         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7001         play-timeout==0 to mean no timeout at all. In that case, don't
7002         bother with a get_state or a warning, just return directly, even
7003         if it's ASYNC.
7004
7005         * gst/base/gstbasetransform.c: Debug changes.
7006
7007         * gst/gstutils.h:
7008         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7009         ensure bins post state change messages. A bit of a hack but I can't
7010         think of a way to avoid it.
7011
7012         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7013
7014 2005-08-16  Andy Wingo  <wingo@pobox.com>
7015
7016         * gst/base/gstadapter.h:
7017         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7018         peek() but you own the data. Not terribly efficient atm.
7019
7020 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7021
7022         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7023         (gst_element_found_tags):
7024         * gst/gstutils.h:
7025           Add two utility functions for tag handling.
7026
7027 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7028
7029         * docs/manual/advanced-dataaccess.xml:
7030         * docs/manual/basics-helloworld.xml:
7031           Fix docs to use _bin_add() before _link(), which fixes the examples
7032           with recent core versions (reported by Madhan Raj M
7033           <raj_madan@rediffmail.com>, #313199).
7034
7035 2005-08-16  Wim Taymans  <wim@fluendo.com>
7036
7037         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7038         Added subtract checks.
7039
7040         * docs/design/part-events.txt:
7041         Some more docs about newsegment
7042
7043         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7044         Fix FIXME
7045
7046         * gst/gstcaps.c: (gst_caps_to_string):
7047         Add comments, cleanups.
7048         
7049         * gst/gstelement.c: (gst_element_save_thyself):
7050         cleanups
7051         
7052         * gst/gstvalue.c: (gst_value_collect_int_range),
7053         (gst_string_unwrap), (gst_value_union_int_int_range),
7054         (gst_value_union_int_range_int_range),
7055         (gst_value_intersect_int_int_range),
7056         (gst_value_intersect_int_range_int_range),
7057         (gst_value_intersect_double_double_range),
7058         (gst_value_intersect_double_range_double_range),
7059         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7060         (gst_value_subtract_int_range_int),
7061         (gst_value_subtract_double_range_double),
7062         (gst_value_subtract_double_range_double_range),
7063         (gst_value_subtract_from_list), (gst_value_subtract_list),
7064         (gst_value_can_compare), (gst_value_compare_fraction):
7065         Cleanups, add comments, remove unneeded asserts.
7066
7067 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7068
7069         * tools/gst-launch.c: (event_loop):
7070           don't convert NULL structures to strings
7071
7072 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7073
7074         * docs/gst/gstreamer-sections.txt:
7075           made some defines private
7076         * docs/gst/tmpl/gstconfig.sgml:
7077         * docs/gst/tmpl/gstqueue.sgml:
7078         * docs/gst/tmpl/gsttaglist.sgml:
7079         * docs/gst/tmpl/gsttypes.sgml:
7080         * docs/gst/tmpl/gstutils.sgml:
7081         * docs/pwg/appendix-porting.xml:
7082         * gst/base/gstbasesink.h:
7083         * gst/base/gstbasesrc.c:
7084         * gst/base/gstbasesrc.h:
7085         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7086         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7087         * gst/gstelement.c: (gst_element_class_init):
7088         * gst/gstpad.c: (gst_pad_class_init):
7089         * gst/gstqueue.c: (gst_queue_class_init):
7090         * gst/gstxml.c: (gst_xml_class_init):
7091           documented all undocumented signal inline
7092         * libs/gst/controller/gst-controller.h:
7093           added padding
7094
7095 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7096
7097         * docs/pwg/appendix-porting.xml:
7098           Document _set_link_function -> _set_setcaps_function.
7099
7100 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7101
7102         * check/Makefile.am:
7103           add a .check target for running the check
7104         * check/gst-libs/controller.c: (GST_START_TEST):
7105           cosmetic fixups
7106         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7107           complete checks for gstbuffer; would be nice if I could get the
7108           gcov stuff to work so I can see if I actually completed gstbuffer.c
7109         * check/gstcheck.h:
7110           add ASSERT_BUFFER_REFCOUNT
7111
7112 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7113
7114         * docs/gst/gstreamer-sections.txt:
7115         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7116         * gst/gsttag.h:
7117           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7118           spew out a warning if a tag that is already registered
7119           is re-registered, unless it is re-registered with a 
7120           different type (#308438).
7121
7122 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7123
7124         * docs/pwg/appendix-porting.xml:
7125         * docs/pwg/building-state.xml:
7126           Add some paragraphs about state changes in 0.9 to the PWG
7127           and the porting guide, in particular about the new meaning
7128           of GST_STATE_PAUSED and how to write state change functions
7129           with concurrent access by multiple threads in mind.
7130
7131 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7132
7133         * docs/gst/gstreamer-docs.sgml:
7134         * docs/libs/gstreamer-libs-docs.sgml:
7135           added deprecation and since indexes
7136         * libs/gst/controller/gst-controller.c:
7137         * libs/gst/controller/gst-helper.c:
7138           added since tags
7139
7140
7141 2005-08-11  Wim Taymans  <wim@fluendo.com>
7142
7143         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7144         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7145         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7146         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7147         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7148         (gst_ghost_pad_set_target):
7149         Actually implement (re)setting the target on a ghostpad
7150         as described in the docs.
7151
7152 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7153
7154         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7155           Check whether GST_DEBUG_NO_COLOR environment variable is
7156           set and disable coloured debug output if that is the case.
7157
7158 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7159
7160         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7161         (gst_type_find_helper):
7162           The memory returned by gst_type_find_peek() needs to
7163           stay valid until the end of a typefind function, and
7164           typefind functions may keep results from different 
7165           offsets around, so we can't just unref the buffer from
7166           the previous _peek(), but have to save all buffers 
7167           returned by _peek() until typefinding is done and only
7168           free them then.
7169
7170 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7171
7172         * docs/gst/gstreamer-sections.txt:
7173         * gst/gstutils.h:
7174           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7175
7176 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7177
7178         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7179           Fix a pretty good memleak.
7180
7181 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7182
7183         * gst/gstiterator.h:
7184           Fix wrong include and 'make distcheck'.
7185
7186 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7187
7188         * gst/gstbin.c: (bin_bus_handler):
7189           Use gst_element_post_message() instead.
7190
7191 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7192
7193         * gst/base/gstadapter.h:
7194         * gst/base/gstbasesink.h:
7195         * gst/base/gstbasesrc.h:
7196         * gst/base/gstbasetransform.h:
7197         * gst/base/gstcollectpads.h:
7198         * gst/base/gstpushsrc.h:
7199         * gst/gstiterator.h:
7200           Add padding to our base elements' class and instance structs and
7201           to GstIterator (you will need to rebuild all plugins and apps!)
7202
7203 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7204
7205         * gst/gstbin.c: (bin_bus_handler):
7206           Make default message forwarding from child->bus to bin->bus
7207           threadsafe and make it not emit warnings if the parent has no bus.
7208
7209 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7210
7211         * gst/gstelement.c: (activate_pads):
7212           On paused->ready, set pad->caps to NULL, as is the documented
7213           behaviour in this state change. Fixes playback of series of
7214           media files when visualization is enabled in Totem.
7215
7216 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7217
7218         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7219           Allow NULL as filter-caps (which means "any").
7220
7221 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7222
7223         * docs/libs/gstreamer-libs-sections.txt:
7224         * libs/gst/controller/gst-controller.c:
7225         * libs/gst/controller/gst-controller.h:
7226         * libs/gst/controller/gst-helper.c:
7227           adding more entries to the docs and fix small doc-bugs
7228
7229 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7230
7231         * docs/gst/gstreamer-docs.sgml:
7232         * docs/gst/gstreamer-sections.txt:
7233         * docs/gst/gstreamer.types:
7234         * docs/gst/tmpl/gstbasesink.sgml:
7235         * docs/gst/tmpl/gstbasesrc.sgml:
7236         * docs/gst/tmpl/gstbasetransform.sgml:
7237         * docs/gst/tmpl/gstfakesrc.sgml:
7238         * gst/base/gstcollectpads.c:
7239         * gst/base/gstcollectpads.h:
7240         * libs/gst/controller/gst-controller.c:
7241         * libs/gst/controller/gst-controller.h:
7242         * libs/gst/controller/gst-helper.c:
7243         * libs/gst/controller/gst-interpolation.c:
7244         * libs/gst/controller/lib.c:
7245           added long/short desc for controller docs
7246           added collectpads base class docs
7247           added correct includes to base-class docs
7248
7249 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7250
7251         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7252         (gst_test_mono_source_set_property),
7253         (gst_test_mono_source_class_init), (GST_START_TEST),
7254         (gst_controller_suite):
7255         * docs/gst/gstreamer-docs.sgml:
7256         * docs/gst/gstreamer-sections.txt:
7257         * docs/gst/gstreamer.types:
7258         * docs/libs/gstreamer-libs-docs.sgml:
7259         * docs/libs/gstreamer-libs-sections.txt:
7260         * gst/base/gstadapter.c:
7261         * libs/gst/controller/gst-controller.c:
7262         (gst_controlled_property_new), (gst_controlled_property_free),
7263         (gst_controller_new_valist),
7264         (gst_controller_remove_properties_valist),
7265         (gst_controller_sink_values), (_gst_controller_finalize):
7266         * libs/gst/controller/gst-controller.h:
7267         * libs/gst/controller/gst-helper.c:
7268         (gst_object_control_properties), (gst_object_uncontrol_properties),
7269         (gst_object_get_controller), (gst_object_set_controller),
7270         (gst_object_sink_values), (gst_object_get_value_arrays),
7271         (gst_object_get_value_array):
7272           more tests (and fixes) for the controller
7273           more docs for the controller
7274           integrated companies docs for the adapter 
7275
7276 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7277
7278         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7279         (GST_START_TEST), (fakesrc_suite):
7280           add tests for sizetype
7281
7282 2005-08-04  Andy Wingo  <wingo@pobox.com>
7283
7284         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7285         fixes buffer_alloc proxying among other things.
7286
7287         * gst/base/gstbasetransform.c:
7288         * gst/base/gstbasetransform.h:
7289         Revert patch to gstbasetransform from 7-28 removing
7290         delay_configure.
7291
7292         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7293         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7294         Semantics changed, should return not the size of the output buffer
7295         but the byte size of a buffer with a given caps.
7296
7297         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7298         debug object.
7299         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7300         out) are not the pad caps until setcaps finishes.
7301         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7302         not-in-place case as well. Deal with changing from in-place to
7303         not-in-place within calling pad_alloc_buffer. Still a bit
7304         concerned about the overhead here...
7305
7306 2005-08-03  Andy Wingo  <wingo@pobox.com>
7307
7308         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7309         fixating is an error.
7310
7311 2005-08-04  Edward Hervey  <edward@fluendo.com>
7312
7313         * gst/base/gstadapter.h: 
7314         Added gst_adapter_get_type() to the header
7315
7316 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7317
7318         * check/Makefile.am:
7319         * check/gst-libs/controller.c:
7320         * libs/gst/controller/gst-controller.c:
7321         (gst_controller_new_valist):
7322           added check test suite for the controller
7323         * gst/base/gstpushsrc.c:
7324           fixed a doc typo
7325
7326 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7327
7328         * docs/gst/Makefile.am:
7329         * docs/gst/gstreamer-docs.sgml:
7330         * docs/gst/gstreamer-sections.txt:
7331         * docs/gst/gstreamer.types:
7332         * docs/gst/tmpl/gstfakesrc.sgml:
7333         * gst/base/README:
7334         * gst/base/gstbasesink.c:
7335         * gst/base/gstbasesink.h:
7336         * gst/base/gstbasesrc.c:
7337         * gst/base/gstbasesrc.h:
7338         * gst/base/gstbasetransform.c:
7339         * gst/base/gstpushsrc.c:
7340         * gst/base/gstpushsrc.h:
7341           add short/long description docs to base classes
7342           add pushsrc to the docs
7343           remove consolidated doc fragments
7344
7345 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7346
7347         * configure.ac:
7348         * docs/libs/Makefile.am:
7349         * docs/libs/gstreamer-libs-docs.sgml:
7350         * docs/libs/gstreamer-libs-sections.txt:
7351         * docs/libs/gstreamer-libs.types:
7352         * examples/Makefile.am:
7353         * examples/controller/.cvsignore:
7354         * examples/controller/Makefile.am:
7355         * examples/controller/audio-example.c: (main):
7356         * libs/gst/Makefile.am:
7357         * libs/gst/controller/.cvsignore:
7358         * libs/gst/controller/Makefile.am:
7359         * libs/gst/controller/gst-controller.c:
7360         (on_object_controlled_property_changed), (gst_timed_value_compare),
7361         (gst_timed_value_find),
7362         (gst_controlled_property_set_interpolation_mode),
7363         (gst_controlled_property_new), (gst_controlled_property_free),
7364         (gst_controller_find_controlled_property),
7365         (gst_controller_new_valist), (gst_controller_new),
7366         (gst_controller_remove_properties_valist),
7367         (gst_controller_remove_properties), (gst_controller_set),
7368         (gst_controller_set_from_list), (gst_controller_unset),
7369         (gst_controller_get), (gst_controller_get_all),
7370         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7371         (gst_controller_get_value_array),
7372         (gst_controller_set_interpolation_mode),
7373         (_gst_controller_finalize), (_gst_controller_init),
7374         (_gst_controller_class_init), (gst_controller_get_type):
7375         * libs/gst/controller/gst-controller.h:
7376         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7377         (g_object_uncontrol_properties), (g_object_get_controller),
7378         (g_object_set_controller), (g_object_sink_values),
7379         (g_object_get_value_arrays), (g_object_get_value_array):
7380         * libs/gst/controller/gst-interpolation.c:
7381         (gst_controlled_property_find_timed_value_node),
7382         (interpolate_none_get), (interpolate_trigger_get),
7383         (interpolate_trigger_get_value_array):
7384         * libs/gst/controller/lib.c: (gst_controller_init):
7385         * pkgconfig/Makefile.am:
7386         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7387         * pkgconfig/gstreamer-control.pc.in:
7388         * testsuite/Makefile.am:
7389         * testsuite/controller/.cvsignore:
7390         * testsuite/controller/Makefile.am:
7391         * testsuite/controller/interpolator.c: (main):
7392           added controller code
7393           removed dparam pc files
7394
7395 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7396         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7397         (gst_collectpads_stop):
7398           Broadcast the condition when shutting down, to make sure we wake all
7399           threads up. Shut down pads on finalize, for safety.
7400
7401 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7402         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7403         (gst_base_transform_handle_buffer),
7404         (gst_base_transform_change_state):
7405           Handle PAUSED->READY->PAUSED transition after negotiation
7406           occurred already.
7407         * gst/gstmessage.c: (gst_message_init):
7408           Extra piece of debug for new messages.
7409
7410 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7411
7412         * configure.ac:
7413         * docs/gst/tmpl/gstbasesrc.sgml:
7414         * docs/gst/tmpl/gstelement.sgml:
7415         * docs/gst/tmpl/gstevent.sgml:
7416         * docs/gst/tmpl/gstfakesrc.sgml:
7417         * docs/gst/tmpl/gstformat.sgml:
7418         * docs/gst/tmpl/gstghostpad.sgml:
7419         * docs/gst/tmpl/gstpad.sgml:
7420         * docs/gst/tmpl/gstquery.sgml:
7421         * docs/gst/tmpl/gststructure.sgml:
7422         * docs/gst/tmpl/gsttaglist.sgml:
7423         * docs/gst/tmpl/gstvalue.sgml:
7424         * docs/libs/gstreamer-libs-docs.sgml:
7425         * docs/libs/gstreamer-libs-sections.txt:
7426         * docs/libs/gstreamer-libs.types:
7427         * libs/gst/Makefile.am:
7428         * libs/gst/control/.cvsignore:
7429         * libs/gst/control/Makefile.am:
7430         * libs/gst/control/control.c:
7431         * libs/gst/control/control.h:
7432         * libs/gst/control/dparam.c:
7433         * libs/gst/control/dparam.h:
7434         * libs/gst/control/dparam_smooth.c:
7435         * libs/gst/control/dparam_smooth.h:
7436         * libs/gst/control/dparamcommon.h:
7437         * libs/gst/control/dparammanager.c:
7438         * libs/gst/control/dparammanager.h:
7439         * libs/gst/control/dplinearinterp.c:
7440         * libs/gst/control/dplinearinterp.h:
7441         * libs/gst/control/unitconvert.c:
7442         * libs/gst/control/unitconvert.h:
7443         * testsuite/Makefile.am:
7444         * testsuite/dynparams/.cvsignore:
7445         * testsuite/dynparams/Makefile.am:
7446         * testsuite/dynparams/dparamstest.c:
7447         * tools/Makefile.am:
7448         * tools/gst-inspect.c: (print_element_info), (main):
7449         * tools/gst-xmlinspect.c: (print_element_info), (main):
7450           deactivate and remove dparams (libgstcontrol)
7451
7452 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7453
7454         * gst/elements/gsttypefindelement.c:
7455         (gst_type_find_element_have_type), (gst_type_find_element_init),
7456         (stop_typefinding), (gst_type_find_element_handle_event),
7457         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7458         * gst/elements/gsttypefindelement.h:
7459           Set caps on all outgoing buffers, not just the first one.
7460
7461 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7462
7463         * gst/elements/gsttypefindelement.c:
7464         (gst_type_find_element_have_type),
7465         (gst_type_find_element_check_set_buffer_caps),
7466         (gst_type_find_element_init), (stop_typefinding),
7467         (gst_type_find_element_handle_event),
7468         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7469         * gst/elements/gsttypefindelement.h:
7470           Set caps on first outgoing buffer when we've found the type.
7471
7472 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7473
7474         * docs/gst/gstreamer-docs.sgml:
7475         * docs/gst/gstreamer-sections.txt:
7476         * docs/gst/tmpl/gstscheduler.sgml:
7477         * docs/gst/tmpl/gstschedulerfactory.sgml:
7478           Remove some old cruft from docs.
7479
7480 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7481
7482         * gst/gstpad.h:
7483           Fix inline docs for GstPadLinkReturn.
7484           
7485         * gst/gststructure.c: (gst_structure_has_name):
7486         * gst/gststructure.h:
7487         * docs/gst/gstreamer-sections.txt:
7488           New API: gst_structure_has_name().
7489
7490 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7491
7492         * configure.ac:
7493           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7494           and _LARGEFILE_SOURCE in config.h as required. Do not 
7495           export those flags in our .pc files any longer (#142209).
7496
7497           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7498
7499         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7500         (gst_file_sink_do_seek), (gst_file_sink_event),
7501         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7502           Redo seek/tell calls with large file support in mind; add some
7503           debugging messages; add log message that tells us when large
7504           file support is unavailable or not enabled for some reason.
7505
7506         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7507           Add log message that tells us when large file support 
7508           is unavailable or not enabled for some reason.
7509
7510 2005-07-29  Wim Taymans  <wim@fluendo.com>
7511
7512         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7513         Added test for removing an element with ghostpad from a bin.
7514         Fixed test as current implementation does the right thing.
7515
7516         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7517         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7518         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7519         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7520         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7521         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7522         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7523         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7524         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7525         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7526         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7527         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7528         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7529         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7530         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7531         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7532         * gst/gstghostpad.h:
7533         Clean up ghostpads, remove properties for internal stuff.
7534         Make threadsafe.
7535         Fix refcounting.
7536         Prepare for switching targets, not all use cases work yet.
7537
7538 2005-07-29  Wim Taymans  <wim@fluendo.com>
7539
7540         * docs/design/part-gstghostpad.txt:
7541         Small update.
7542
7543         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7544         (gst_bin_remove_func):
7545         Unlinking pads while holding the bin LOCK is not a good
7546         idea.
7547
7548         * gst/gstpad.c: (gst_pad_class_init),
7549         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7550         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7551         No prob setting template after creating the pad.
7552
7553 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7554
7555         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7556         (gst_bus_peek), (gst_bus_source_dispatch),
7557         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7558         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7559           gst_bus_poll may be called from other threads. Handle
7560           this nicely by not making poll_data disappear off the
7561           stack once gst_bus_poll returns.
7562           gst_bus_peek now increments the refcount on the returned
7563           message.
7564
7565 2005-07-29  Wim Taymans  <wim@fluendo.com>
7566
7567         * docs/design/part-gstghostpad.txt:
7568         Overview of current GhostPad datastructures and use
7569         cases for changing the target.
7570
7571 2005-07-28  Wim Taymans  <wim@fluendo.com>
7572
7573         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7574         Added checks for hierarchy consistency whan adding linked
7575         elements to bins.
7576
7577         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7578         Added check to test element scheduling without bin/pipeline.
7579
7580         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7581         First add elements to bin, then link.
7582         
7583         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7584         (gst_bin_remove_func):
7585         Unlink pads from elements added/removed from bin to maintain
7586         hierarchy consistency.
7587
7588 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7589
7590         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7591         (gst_base_transform_handle_buffer):
7592         * gst/base/gstbasetransform.h:
7593           Remove broken delay_configure (fixes renegotiation of software
7594           scaling pipelines); remove some leftover printf()s.
7595
7596 2005-07-28  Wim Taymans  <wim@fluendo.com>
7597
7598         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7599         Added some more tests for wrong hierarchy
7600
7601         * docs/design/part-overview.txt:
7602         Some updates.
7603
7604         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7605         Cleanups.
7606
7607         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7608         (gst_element_dispose):
7609         Some more cleanups.
7610
7611         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7612         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7613         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7614         (gst_pad_set_caps), (gst_pad_send_event):
7615         Check for correct hierarchy when linking pads. Moving to
7616         strict requirement for ghostpads when linking elements in
7617         different bins.
7618
7619         * gst/gstpad.h:
7620         Clean ups. Added WRONG_HIERARCHY return value.
7621
7622 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7623
7624         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7625           Better debug if no transform is possible.
7626
7627 2005-07-27  Wim Taymans  <wim@fluendo.com>
7628
7629         * docs/random/wtay/network-transp:
7630         Some old doc I had.
7631
7632 2005-07-27  Wim Taymans  <wim@fluendo.com>
7633
7634         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7635         (gst_dp_event_from_packet):
7636         Fix serialization of seek events.
7637
7638 2005-07-27  Wim Taymans  <wim@fluendo.com>
7639
7640         * check/gst-libs/gdp.c: (GST_START_TEST):
7641         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7642         Fix compilation and fix event serialization.
7643
7644 2005-07-27  Wim Taymans  <wim@fluendo.com>
7645
7646         * CHANGES-0.9:
7647         * docs/design/part-TODO.txt:
7648         * docs/design/part-events.txt:
7649         Some docs updates
7650
7651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7652         (gst_base_sink_event), (gst_base_sink_do_sync),
7653         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7654         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7655         (gst_base_src_do_seek), (gst_base_src_event_handler),
7656         (gst_base_src_loop):
7657         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7658         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7659         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7660         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7661         (gst_base_transform_set_passthrough),
7662         (gst_base_transform_is_passthrough):
7663         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7664         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7665         Event updates.
7666
7667         * gst/gstbuffer.h:
7668         Use faster casts.
7669
7670         * gst/gstelement.c: (gst_element_seek):
7671         * gst/gstelement.h:
7672         Update gst_element_seek.
7673
7674         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7675         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7676         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7677         (gst_event_new_eos), (gst_event_new_newsegment),
7678         (gst_event_parse_newsegment), (gst_event_new_tag),
7679         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7680         (gst_event_parse_qos), (gst_event_new_seek),
7681         (gst_event_parse_seek), (gst_event_new_navigation):
7682         * gst/gstevent.h:
7683         Make GstEvent use GstStructure. Add parsing code, make sure the
7684         API is sufficiently generic.
7685         Mark possible directions of events and serialization.
7686
7687         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7688         (_gst_message_copy), (gst_message_new_segment_start),
7689         (gst_message_new_segment_done), (gst_message_new_custom),
7690         (gst_message_parse_segment_start),
7691         (gst_message_parse_segment_done):
7692         Small cleanups.
7693
7694         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7695         (gst_pad_set_caps), (gst_pad_send_event):
7696         Update for new events. 
7697         Catch events sent in wrong directions.
7698
7699         * gst/gstqueue.c: (gst_queue_link_src),
7700         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7701         (gst_queue_handle_src_query):
7702         Event updates.
7703
7704         * gst/gsttag.c:
7705         * gst/gsttag.h:
7706         Remove event code from this file.
7707
7708         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7709         (gst_dp_event_from_packet):
7710         Event updates.
7711
7712 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7713
7714         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7715         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7716         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7717           Make debugging actually useful.
7718
7719 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7720
7721         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7722         (gst_pad_fixate_caps):
7723           Implement default fixation once again, so that gst_pad_fixate()
7724           actually does anything at all. This probably needs to be some
7725           sort of a last resort, and use profile-based fixation first, but
7726           since that doesn't exist yet, this is the best we have. Fixes
7727           visualization in Totem.
7728
7729 2005-07-22  Wim Taymans  <wim@fluendo.com>
7730
7731         * docs/design/part-events.txt:
7732         Small update.
7733
7734         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7735         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7736         (gst_base_sink_activate_pull):
7737         Some more comments.
7738
7739         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7740         (gst_fake_src_create):
7741         Fix handoff marshall.
7742
7743         * gst/elements/gstidentity.c: (gst_identity_class_init),
7744         (gst_identity_transform_ip):
7745         We're a real inplace element.
7746
7747         * gst/gstbus.c: (gst_bus_post):
7748         Added some comments.
7749
7750         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7751         * tests/muxing/case1.c: (main):
7752         * tests/sched/dynamic-pipeline.c: (main):
7753         * tests/sched/interrupt1.c: (main):
7754         * tests/sched/interrupt2.c: (main):
7755         * tests/sched/interrupt3.c: (main):
7756         * tests/sched/runxml.c: (main):
7757         * tests/sched/sched-stress.c: (main):
7758         * tests/seeking/seeking1.c: (event_received), (main):
7759         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7760         (main):
7761         * tests/threadstate/threadstate3.c: (main):
7762         * tests/threadstate/threadstate4.c: (main):
7763         * tests/threadstate/threadstate5.c: (main):
7764         Fix the tests.
7765
7766 2005-07-21  Wim Taymans  <wim@fluendo.com>
7767
7768         * docs/design/part-seeking.txt:
7769         Some small additions.
7770
7771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7772         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7773         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7774         * gst/base/gstbasesink.h:
7775         discont values are gint64, handle the math correctly.
7776
7777         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7778         Make the basesrc report error if the source pad is not linked.
7779
7780         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7781         (gst_queue_loop), (gst_queue_handle_src_query),
7782         (gst_queue_src_activate_push):
7783         Make queue collect data even if the srcpad is not linked.
7784         Start pushing out data as soon as it is linked.
7785
7786         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7787         * gst/gstutils.h:
7788         Added gst_flow_get_name() to ease error reporting.
7789
7790 2005-07-20  Wim Taymans  <wim@fluendo.com>
7791
7792         * gst/gstmessage.c: (gst_message_new_segment_start),
7793         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7794         (gst_message_parse_segment_done):
7795         * gst/gstmessage.h:
7796         Added a bunch of messages for advanced seeking.
7797
7798         * gst/parse/grammar.y:
7799         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7800         (gst_dpman_state_changed):
7801         Fix some new-pad -> pad-added signals
7802
7803 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7804
7805         * docs/manual/appendix-porting.xml:
7806         * docs/pwg/appendix-porting.xml:
7807           Document new-pad/state-change signal renames and the FixedList
7808           type rename.
7809
7810 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7811
7812         * docs/manual/advanced-autoplugging.xml:
7813         * docs/manual/basics-helloworld.xml:
7814         * docs/manual/basics-pads.xml:
7815         * docs/random/ds/0.9-suggested-changes:
7816         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7817         * gst/gstelement.h:
7818         * gst/gstevent.h:
7819         * gst/gstformat.h:
7820         * gst/gstquery.h:
7821         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7822         (gst_structure_parse_array), (gst_structure_parse_value):
7823         * gst/gstvalue.c: (gst_type_is_fixed),
7824         (gst_value_list_prepend_value), (gst_value_list_append_value),
7825         (gst_value_list_get_size), (gst_value_list_get_value),
7826         (gst_value_transform_array_string), (gst_value_serialize_array),
7827         (gst_value_deserialize_array), (gst_value_intersect_array),
7828         (gst_value_is_fixed), (_gst_value_initialize):
7829         * gst/gstvalue.h:
7830           GstElement::new-pad -> pad-added, GstElement::state-change ->
7831           state-changed, GstValueFixedList -> GstValueArray, add format and
7832           flags as their own arguments in gst_element_seek() (should improve
7833           "bindeability"), remove function generators since they don't work
7834           under a whole bunch of compilers (they were deprecated already
7835           anyway).
7836
7837 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7838
7839         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7840         (_gst_debug_register_funcptr):
7841         * gst/gstinfo.h:
7842           Fix illegal cast on some platforms (#309253).
7843
7844 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7845
7846         * gst/gstmessage.c: (gst_message_new_custom):
7847         * gst/gstmessage.h:
7848           Add _new_custom, make _new_application a macro to _new_custom.
7849
7850 2005-07-20  Wim Taymans  <wim@fluendo.com>
7851
7852         * gst/base/gstbasesrc.c: (gst_base_src_init),
7853         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7854         * gst/base/gstbasesrc.h:
7855         Add a gboolean to decide when to push out a discont.
7856
7857         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7858         (gst_queue_loop), (gst_queue_handle_src_query),
7859         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7860         (gst_queue_set_property), (gst_queue_get_property):
7861         Some cleanups.
7862
7863         * tests/threadstate/threadstate1.c: (main):
7864         Make a thread test compile and run... very silly..
7865
7866
7867 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7868
7869         * docs/manual/appendix-porting.xml:
7870           Mention removal of libgstgconf-0.9.la and existence of gconf
7871           elements.
7872
7873 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7874
7875         * docs/pwg/advanced-clock.xml:
7876         * docs/pwg/appendix-porting.xml:
7877         * docs/pwg/intro-preface.xml:
7878         * docs/pwg/other-base.xml:
7879         * docs/pwg/other-manager.xml:
7880         * docs/pwg/other-nton.xml:
7881         * docs/pwg/other-ntoone.xml:
7882         * docs/pwg/other-oneton.xml:
7883         * docs/pwg/pwg.xml:
7884           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7885           demuxer), remove n-to-n (was never written), fix some code examples
7886           and links and update the porting section to include all this.
7887
7888 2005-07-19  Wim Taymans  <wim@fluendo.com>
7889
7890         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7891         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7892         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7893         (gst_queue_src_activate_push), (gst_queue_change_state),
7894         (gst_queue_get_property):
7895         * gst/gstqueue.h:
7896         Propagate GstFlowReturn more intelligently upstream and output
7897         an ERROR/EOS when streaming stopped due to fatal error.
7898
7899 2005-07-19  Wim Taymans  <wim@fluendo.com>
7900
7901         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7902         Don't block forever for the state change to complete, the
7903         pipeline already did with a sensible timeout.
7904
7905 2005-07-19  Wim Taymans  <wim@fluendo.com>
7906
7907         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7908         Make sure we never call the create function is we
7909         got deactivated.
7910
7911 2005-07-19  Andy Wingo  <wingo@pobox.com>
7912
7913         * gst/parse/parse.l: Attempt to solve bug #172815.
7914
7915 2005-07-19  Wim Taymans  <wim@fluendo.com>
7916
7917         * docs/design/part-clocks.txt:
7918         * docs/design/part-events.txt:
7919         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7920         Small docs updates.
7921         Only update the seeking values when we are not
7922         busy streaming.
7923
7924 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7925
7926         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7927           Oops, ignore the result of gst_pad_push_event here.
7928
7929 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7930
7931         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7932         (gst_base_src_activate_push):
7933           Send discont event from the loop function, as pads
7934           aren't activated yet in the activate_push handler.
7935
7936         * gst/gstbin.c: (bin_bus_handler):
7937           Don't leak element name.
7938
7939 2005-07-18  Andy Wingo  <wingo@pobox.com>
7940
7941         * configure.ac: Use AS_LIBTOOL_TAGS.
7942
7943 2005-07-18  Wim Taymans  <wim@fluendo.com>
7944
7945         * docs/gst/gstreamer.types:
7946         Remove deleted types.
7947
7948 2005-07-18  Wim Taymans  <wim@fluendo.com>
7949
7950         * check/elements/gstfakesrc.c: (GST_START_TEST):
7951         * configure.ac:
7952         * gst/Makefile.am:
7953         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7954         (init_popt_callback):
7955         * gst/gst.h:
7956         * gst/gst_private.h:
7957         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7958         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7959         * gst/gstbin.h:
7960         * gst/gstbus.h:
7961         * gst/gstconfig.h.in:
7962         * gst/gstelement.c: (gst_element_class_init),
7963         (gst_element_set_base_time), (gst_element_get_base_time),
7964         (iterator_fold_with_resync), (gst_element_change_state),
7965         (gst_element_dispose), (gst_element_get_bus):
7966         * gst/gstelement.h:
7967         * gst/gstelementfactory.h:
7968         * gst/gsterror.c: (_gst_core_errors_init):
7969         * gst/gsterror.h:
7970         * gst/gstevent.h:
7971         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7972         * gst/gstindex.c:
7973         * gst/gstinfo.c: (_gst_debug_init):
7974         * gst/gstmessage.c: (_gst_message_copy):
7975         * gst/gstmessage.h:
7976         * gst/gstminiobject.h:
7977         * gst/gstobject.c:
7978         * gst/gstobject.h:
7979         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7980         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7981         * gst/gstpad.h:
7982         * gst/gstparse.h:
7983         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7984         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7985         (gst_pipeline_get_last_stream_time):
7986         * gst/gstpipeline.h:
7987         * gst/gstpluginfeature.h:
7988         * gst/gstquery.h:
7989         * gst/gstscheduler.c:
7990         * gst/gstscheduler.h:
7991         * gst/gststructure.h:
7992         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7993         (gst_task_finalize), (gst_task_func), (gst_task_create),
7994         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7995         (gst_task_stop), (gst_task_pause):
7996         * gst/gsttask.h:
7997         * gst/gsttypefind.h:
7998         * gst/gsttypes.h:
7999         * gst/registries/gstlibxmlregistry.c: (load_feature),
8000         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8001         * gst/registries/gstxmlregistry.c:
8002         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8003         * gst/schedulers/threadscheduler.c:
8004         * libs/gst/control/dparammanager.h:
8005         * tools/gst-inspect.c: (print_element_list),
8006         (print_plugin_features), (print_element_features):
8007         * tools/gst-xmlinspect.c: (print_element_list),
8008         (print_plugin_info), (main):
8009         Removed plugable schedulers.
8010         Removed Scheduler/Manager from elements.
8011         Removed gsttypes.h, rearranged includes.
8012         Removed dependency pad<->element, element<>pipeline, and
8013         various others,  fix includes.
8014         implement gst_pad_get_parent() with gst_object_get_parent()
8015         Make GstTask sefcontained.
8016         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8017         timeout.
8018         Fix endless loop in iterator_fold_with_resync.
8019
8020
8021 2005-07-18  Wim Taymans  <wim@fluendo.com>
8022
8023         * gst/Makefile.am:
8024         * gst/gstarch.h:
8025         Remove old file.
8026
8027 2005-07-18  Wim Taymans  <wim@fluendo.com>
8028
8029         * gst/Makefile.am:
8030         No more cothreads.h
8031
8032 2005-07-18  Wim Taymans  <wim@fluendo.com>
8033
8034         * gst/cothreads.c:
8035         * gst/cothreads.h:
8036         Let's remove these.
8037
8038 2005-07-18  Wim Taymans  <wim@fluendo.com>
8039
8040         * docs/design/part-dynamic.txt:
8041         * docs/design/part-events.txt:
8042         * docs/design/part-seeking.txt:
8043         Some more docs in the works.
8044
8045         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8046         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8047         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8048         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8049         (gst_base_transform_handle_buffer),
8050         (gst_base_transform_sink_activate_push),
8051         (gst_base_transform_src_activate_pull),
8052         (gst_base_transform_set_passthrough),
8053         (gst_base_transform_is_passthrough):
8054         Refcounting fixes.
8055
8056         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8057         Cleanups.
8058
8059         * gst/gstevent.c: (gst_event_finalize):
8060         Set SRC to NULL.
8061
8062         * gst/gstutils.c: (gst_element_unlink),
8063         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8064         (gst_pad_proxy_setcaps):
8065         * gst/gstutils.h:
8066         Add _get_parent_element() to get a pads parent as an element.
8067
8068 2005-07-18  Wim Taymans  <wim@fluendo.com>
8069
8070         * check/gst/gstbin.c: (GST_START_TEST):
8071         Remove bogus test.
8072
8073 2005-07-18  Wim Taymans  <wim@fluendo.com>
8074
8075         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8076         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8077         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8078         (gst_base_sink_event), (gst_base_sink_do_sync),
8079         (gst_base_sink_chain), (gst_base_sink_loop),
8080         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8081         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8082         Refcounting fixes.
8083         Fix logic for returning ASYNC when not prerolled.
8084
8085 2005-07-18  Wim Taymans  <wim@fluendo.com>
8086
8087         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8088         Fix nasty refcount bug.
8089
8090 2005-07-16 Philippe Khalaf <burger@speedy.org>
8091
8092         * gst/elements/gstfdsrc.c:
8093         * gst/elements/gstfdsrc.h:
8094         * gst/elements/gstelements.c:
8095         * gst/elements/Makefile.am:
8096         Ported fdsrc to 0.9.
8097
8098 2005-07-16  Wim Taymans  <wim@fluendo.com>
8099
8100         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8101         (gst_base_sink_do_sync):
8102         Fix compile error.
8103
8104 2005-07-16  Wim Taymans  <wim@fluendo.com>
8105
8106         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8107         (gst_base_sink_event), (gst_base_sink_get_times),
8108         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8109         * gst/base/gstbasesink.h:
8110         Store and use discont values when syncing buffers as described
8111         in design docs.
8112         
8113         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8114         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8115         (gst_base_src_activate_push):
8116         Push discont event when starting.
8117
8118         * gst/elements/gstidentity.c: (gst_identity_transform):
8119         Small cleanups.
8120
8121         * gst/gstbin.c: (gst_bin_change_state):
8122         Small cleanups in base_time  distribution.
8123
8124         * gst/gstelement.c: (gst_element_set_base_time),
8125         (gst_element_get_base_time), (gst_element_change_state):
8126         * gst/gstelement.h:
8127         Added methods for the base_time of the element.
8128         Some MT fixes.
8129
8130         * gst/gstpipeline.c: (gst_pipeline_send_event),
8131         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8132         (gst_pipeline_get_last_stream_time):
8133         * gst/gstpipeline.h:
8134         MT fixes.
8135         Handle seeking as described in design doc, remove stream_time
8136         hack.
8137         Cleanups clock and stream_time selection code. Added accessors
8138         for the stream_time.
8139         
8140
8141 2005-07-16  Andy Wingo  <wingo@pobox.com>
8142
8143         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8144         (#305291).
8145
8146 2005-07-16  Wim Taymans  <wim@fluendo.com>
8147
8148         * check/gst/gstbin.c: (GST_START_TEST):
8149         Make elements silent as the deep_notify refs the
8150         parent, which might make the test fail.
8151
8152         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8153         Don't hold the lock for too long.
8154
8155 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8156
8157         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8158           Don't unref the caps we passed to gst_caps_make_writable() after
8159           passing them. gst_caps_make_writable() will do that for us.
8160
8161 2005-07-15  Andy Wingo  <wingo@pobox.com>
8162
8163         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8164         (#157311).
8165
8166         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8167         own marshalling function for the handoff signal. Properly type the
8168         buffer as a buffer. Fixes some warnings. Should do a more general
8169         solution.
8170         (gst_identity_class_init): Plug into the right marshaller.
8171
8172 2005-07-15  Wim Taymans  <wim@fluendo.com>
8173
8174         * docs/design/part-TODO.txt:
8175         * docs/design/part-clocks.txt:
8176         * docs/design/part-element-sink.txt:
8177         * docs/design/part-events.txt:
8178         * docs/design/part-gstpipeline.txt:
8179         Updated docs, mostly DISCONT related.
8180
8181 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8182
8183         * docs/pwg/building-pads.xml:
8184           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8185
8186 2005-07-15  Andy Wingo  <wingo@pobox.com>
8187
8188         * tools/gst-typefind.c: Update, add copyright block.
8189
8190         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8191         Normalize and truncate caps before fixation.
8192
8193         * gst/gstcaps.h:
8194         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8195         discards all but the first structure from its argument.
8196
8197 2005-07-15  Wim Taymans  <wim@fluendo.com>
8198
8199         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8200         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8201         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8202         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8203         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8204         (gst_base_transform_chain), (gst_base_transform_change_state),
8205         (gst_base_transform_set_passthrough),
8206         (gst_base_transform_is_passthrough):
8207         * gst/base/gstbasetransform.h:
8208         Make passthrough work using the bufferpools.
8209         Changed API a bit, subclasses have to write into a buffer
8210         provided by the base class.
8211         More debug info in nego functions.
8212         
8213         * gst/elements/gstidentity.c: (gst_identity_init),
8214         (gst_identity_transform):
8215         Port to new base class.
8216
8217 2005-07-15  Wim Taymans  <wim@fluendo.com>
8218
8219         * gst/gstmessage.c: (gst_message_new_state_changed):
8220         * tools/gst-launch.c: (event_loop), (main):
8221         Totally dump messages in -launch with the -m option.
8222         Fix message name for State messages,
8223
8224 2005-07-14  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8227         Post error messages on errors.
8228
8229 2005-07-14  Wim Taymans  <wim@fluendo.com>
8230
8231         * gst/gstcaps.c: (gst_caps_do_simplify):
8232         Remove debug info.
8233
8234         * gst/gsterror.h:
8235         Define error for stream stopped.
8236
8237         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8238         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8239         Do proper return values.
8240
8241         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8242         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8243         (gst_pad_get_range):
8244         Better return values.
8245
8246         * gst/gstpad.h:
8247         Reorganise return values, add macro to check for fatal errors.
8248
8249         * gst/gstqueue.c: (gst_queue_chain):
8250         Return proper GstFlowReturn values,
8251
8252 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8253
8254         * docs/gst/gstreamer-sections.txt:
8255         * docs/gst/gstreamer.types:
8256         * docs/gst/tmpl/gst.sgml:
8257         * docs/gst/tmpl/gstbasesink.sgml:
8258         * docs/gst/tmpl/gstbasesrc.sgml:
8259         * docs/gst/tmpl/gstbasetransform.sgml:
8260         * docs/gst/tmpl/gstbin.sgml:
8261         * docs/gst/tmpl/gstbuffer.sgml:
8262         * docs/gst/tmpl/gstcaps.sgml:
8263         * docs/gst/tmpl/gstclock.sgml:
8264         * docs/gst/tmpl/gstcompat.sgml:
8265         * docs/gst/tmpl/gstconfig.sgml:
8266         * docs/gst/tmpl/gstelement.sgml:
8267         * docs/gst/tmpl/gstelementdetails.sgml:
8268         * docs/gst/tmpl/gstelementfactory.sgml:
8269         * docs/gst/tmpl/gstenumtypes.sgml:
8270         * docs/gst/tmpl/gsterror.sgml:
8271         * docs/gst/tmpl/gstevent.sgml:
8272         * docs/gst/tmpl/gstfakesink.sgml:
8273         * docs/gst/tmpl/gstfakesrc.sgml:
8274         * docs/gst/tmpl/gstfilesink.sgml:
8275         * docs/gst/tmpl/gstfilesrc.sgml:
8276         * docs/gst/tmpl/gstfilter.sgml:
8277         * docs/gst/tmpl/gstformat.sgml:
8278         * docs/gst/tmpl/gstghostpad.sgml:
8279         * docs/gst/tmpl/gstimplementsinterface.sgml:
8280         * docs/gst/tmpl/gstindex.sgml:
8281         * docs/gst/tmpl/gstindexfactory.sgml:
8282         * docs/gst/tmpl/gstinfo.sgml:
8283         * docs/gst/tmpl/gstiterator.sgml:
8284         * docs/gst/tmpl/gstmacros.sgml:
8285         * docs/gst/tmpl/gstmemchunk.sgml:
8286         * docs/gst/tmpl/gstminiobject.sgml:
8287         * docs/gst/tmpl/gstobject.sgml:
8288         * docs/gst/tmpl/gstpad.sgml:
8289         * docs/gst/tmpl/gstpadtemplate.sgml:
8290         * docs/gst/tmpl/gstparse.sgml:
8291         * docs/gst/tmpl/gstpipeline.sgml:
8292         * docs/gst/tmpl/gstplugin.sgml:
8293         * docs/gst/tmpl/gstpluginfeature.sgml:
8294         * docs/gst/tmpl/gstquery.sgml:
8295         * docs/gst/tmpl/gstqueue.sgml:
8296         * docs/gst/tmpl/gstregistry.sgml:
8297         * docs/gst/tmpl/gstregistrypool.sgml:
8298         * docs/gst/tmpl/gstscheduler.sgml:
8299         * docs/gst/tmpl/gstschedulerfactory.sgml:
8300         * docs/gst/tmpl/gststructure.sgml:
8301         * docs/gst/tmpl/gstsystemclock.sgml:
8302         * docs/gst/tmpl/gsttaglist.sgml:
8303         * docs/gst/tmpl/gsttagsetter.sgml:
8304         * docs/gst/tmpl/gsttrace.sgml:
8305         * docs/gst/tmpl/gsttrashstack.sgml:
8306         * docs/gst/tmpl/gsttypefind.sgml:
8307         * docs/gst/tmpl/gsttypefindfactory.sgml:
8308         * docs/gst/tmpl/gsttypes.sgml:
8309         * docs/gst/tmpl/gsturihandler.sgml:
8310         * docs/gst/tmpl/gsturitype.sgml:
8311         * docs/gst/tmpl/gstutils.sgml:
8312         * docs/gst/tmpl/gstvalue.sgml:
8313         * docs/gst/tmpl/gstversion.sgml:
8314         * docs/gst/tmpl/gstxml.sgml:
8315         * docs/libs/tmpl/gstcontrol.sgml:
8316         * docs/libs/tmpl/gstdataprotocol.sgml:
8317         * docs/libs/tmpl/gstdparam.sgml:
8318         * docs/libs/tmpl/gstdplinint.sgml:
8319         * docs/libs/tmpl/gstdpman.sgml:
8320         * docs/libs/tmpl/gstdpsmooth.sgml:
8321         * docs/libs/tmpl/gstgetbits.sgml:
8322         * docs/libs/tmpl/gstunitconvert.sgml:
8323         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8324         (gst_push_src_base_init), (gst_push_src_class_init),
8325         (gst_push_src_init), (gst_push_src_create):
8326         * gst/base/gstpushsrc.h:
8327         * gst/elements/gstelements.c:
8328         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8329         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8330         (gst_fake_sink_init), (gst_fake_sink_set_property),
8331         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8332         (gst_fake_sink_event), (gst_fake_sink_preroll),
8333         (gst_fake_sink_render), (gst_fake_sink_change_state):
8334         * gst/elements/gstfakesink.h:
8335         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8336         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8337         (gst_fake_src_base_init), (gst_fake_src_class_init),
8338         (gst_fake_src_init), (gst_fake_src_event_handler),
8339         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8340         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8341         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8342         (gst_fake_src_create_buffer), (gst_fake_src_create),
8343         (gst_fake_src_start), (gst_fake_src_stop):
8344         * gst/elements/gstfakesrc.h:
8345         * gst/elements/gstfilesink.c: (_do_init),
8346         (gst_file_sink_base_init), (gst_file_sink_class_init),
8347         (gst_file_sink_init), (gst_file_sink_dispose),
8348         (gst_file_sink_set_location), (gst_file_sink_set_property),
8349         (gst_file_sink_get_property), (gst_file_sink_open_file),
8350         (gst_file_sink_close_file), (gst_file_sink_query),
8351         (gst_file_sink_event), (gst_file_sink_render),
8352         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8353         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8354         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8355         * gst/elements/gstfilesink.h:
8356         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8357         (gst_file_src_class_init), (gst_file_src_init),
8358         (gst_file_src_finalize), (gst_file_src_set_location),
8359         (gst_file_src_set_property), (gst_file_src_get_property),
8360         (gst_file_src_map_region), (gst_file_src_map_small_region),
8361         (gst_file_src_create_mmap), (gst_file_src_create_read),
8362         (gst_file_src_create), (gst_file_src_is_seekable),
8363         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8364         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8365         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8366         (gst_file_src_uri_handler_init):
8367         * gst/elements/gstfilesrc.h:
8368           more autistic cleanliness in functions/names/defines
8369
8370 2005-07-13  Andy Wingo  <wingo@pobox.com>
8371
8372         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8373         source couldn't negotiate.
8374
8375         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8376         connections again.
8377
8378         * gst/gstutils.h:
8379         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8380         function. I am channeling Hades. Put your boots on suckers!!!
8381
8382 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8383
8384         * testsuite/caps/Makefile.am:
8385         * testsuite/caps/value_compare.c:
8386         * testsuite/caps/value_intersect.c:
8387         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8388           move two testsuite apps over to the check dir
8389
8390 2005-07-12  Wim Taymans  <wim@fluendo.com>
8391
8392         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8393         Added more debug info in the negotiate process.
8394
8395         * gst/gstmessage.h:
8396         Prepare for segment playback.
8397
8398         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8399         Better debugging.
8400
8401         * gst/gstutils.c:
8402         Some more docs.
8403
8404         * tools/gst-launch.c: (main):
8405         NULL pipeline on errors.
8406
8407 2005-07-12  Andy Wingo  <wingo@pobox.com>
8408
8409         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8410         not it comes from a malloc region. Make sure our copy gets freed.
8411
8412 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8413
8414         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8415         * check/gst/gstmessage.c: (GST_START_TEST):
8416         * check/gst/gststructure.c: (GST_START_TEST),
8417         (gst_structure_suite), (main):
8418           more testing
8419         * gst/gstelement.c: (gst_element_message_full):
8420           clean up GError and debug string now that they get copied
8421         * gst/gstmessage.c: (gst_message_new_error),
8422         (gst_message_new_warning), (gst_message_parse_error),
8423         (gst_message_parse_warning):
8424           use GST_TYPE_G_ERROR for structure_new, and take copies of
8425           arguments, so that we don't mess up refcounting
8426
8427 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8428
8429         * check/Makefile.am:
8430           add per-test valgrind targets
8431         * check/gst-libs/gdp.c: (GST_START_TEST),
8432         (gst_data_protocol_suite), (main):
8433           clean up
8434
8435 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8436
8437         * check/Makefile.am:
8438           instate more valgrindable tests
8439         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8440         (GST_START_TEST), (fakesrc_suite):
8441         * check/gst/gstpad.c: (GST_START_TEST):
8442         * check/gst/gststructure.c: (GST_START_TEST):
8443           fix test leaks
8444         * docs/gst/tmpl/gstminiobject.sgml:
8445         * gst/gstpad.c: (gst_pad_finalize):
8446           fix the static mutex leak
8447
8448 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8449
8450         * check/Makefile.am:
8451           add two more tests for valgrinding
8452         * check/gst/gstvalue.c: (GST_START_TEST):
8453           test refcount of deserialized buffer, found a leak
8454         * docs/gst/gstreamer-docs.sgml:
8455         * docs/gst/gstreamer-sections.txt:
8456         * docs/gst/gstreamer.types:
8457         * docs/gst/tmpl/gstminiobject.sgml:
8458           add miniobject to docs
8459         * gst/gstminiobject.c:
8460           add some docs
8461         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8462         (gst_string_unwrap):
8463           fix a hard-to-find invalid write for one of the tests
8464           fix a leak for deserialized buffers
8465
8466 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8467
8468         * docs/pwg/advanced-events.xml:
8469         * docs/pwg/advanced-request.xml:
8470         * docs/pwg/advanced-scheduling.xml:
8471         * docs/pwg/appendix-porting.xml:
8472         * docs/pwg/building-boiler.xml:
8473         * docs/pwg/intro-preface.xml:
8474         * docs/pwg/other-ntoone.xml:
8475           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8476           of example code and explanation for pad activation, loop() and
8477           getrange() functions and a bit more. Remove old comments pointing
8478           to loop-functions.
8479         * examples/pwg/Makefile.am:
8480           Add loop/getrange examples.
8481
8482 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8483
8484         * configure.ac:
8485           check for valgrind binary + some fixes
8486         * check/gst.supp:
8487           valgrind suppressions for the tests
8488         * check/Makefile.am:
8489           add a valgrind: target that valgrinds the unit tests
8490         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8491         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8492         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8493         * check/gst/gstghostpad.c:
8494           added some cleanup
8495         * check/gst/gstdata.c:
8496           removed
8497         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8498         (thread_unref), (gst_mini_object_suite), (main):
8499           added
8500         * gst/gst.c: (gst_deinit):
8501         * gst/gst.h:
8502           add a method to clean up.
8503         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8504         (gst_system_clock_obtain):
8505           allow for disposing the system clock.
8506         * tools/gst-launch.c: (main):
8507           deinit
8508
8509 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8510
8511         * docs/gst/tmpl/gstbasesrc.sgml:
8512         * docs/gst/tmpl/gstfakesrc.sgml:
8513         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8514         (gst_base_src_init), (gst_base_src_set_property),
8515         (gst_base_src_get_property), (gst_base_src_get_range),
8516         (gst_base_src_start):
8517         * gst/base/gstbasesrc.h:
8518           add num-buffers property
8519         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8520         (gst_fakesrc_init), (gst_fakesrc_set_property),
8521         (gst_fakesrc_get_property), (gst_fakesrc_create),
8522         (gst_fakesrc_start):
8523           remove num-buffers property
8524
8525 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8526
8527         * docs/gst/gstreamer-sections.txt:
8528         * docs/gst/tmpl/gstbasesink.sgml:
8529         * docs/gst/tmpl/gstbasesrc.sgml:
8530         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8531         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8532         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8533         (gst_base_sink_set_property), (gst_base_sink_get_property),
8534         (gst_base_sink_handle_object), (gst_base_sink_event),
8535         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8536         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8537         (gst_base_sink_loop), (gst_base_sink_deactivate),
8538         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8539         (gst_base_sink_change_state):
8540         * gst/base/gstbasesink.h:
8541         * gst/base/gstbasesrc.h:
8542         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8543         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8544         (gst_filesink_init):
8545           more macro splitting
8546
8547 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8548
8549         * gst/gstelement.c: (gst_element_get_bus):
8550           add debug
8551         * tools/gst-launch.c: (check_intr), (event_loop):
8552           fix bus leaks
8553
8554 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8555
8556         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8557           fix a caps leak
8558
8559 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8560
8561         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8562         (gst_base_src_finalize):
8563           add finalize method and clean up properly
8564         * gst/gstpipeline.c: (gst_pipeline_dispose):
8565           add debug
8566
8567 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8568
8569         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8570         (gst_bin_suite):
8571           add more things to check
8572         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8573         * gst/gstelement.c:
8574           more debug
8575
8576 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8577
8578         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8579         (GST_START_TEST), (fakesrc_suite):
8580         * check/gst-libs/gdp.c: (GST_START_TEST):
8581         * check/gst/gst.c: (GST_START_TEST):
8582         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8583         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8584         * check/gst/gstbus.c: (GST_START_TEST):
8585         * check/gst/gstcaps.c: (GST_START_TEST):
8586         * check/gst/gstdata.c: (GST_START_TEST):
8587         * check/gst/gstelement.c: (GST_START_TEST):
8588         * check/gst/gstghostpad.c: (GST_START_TEST):
8589         * check/gst/gstiterator.c: (GST_START_TEST):
8590         * check/gst/gstmessage.c: (GST_START_TEST):
8591         * check/gst/gstobject.c: (GST_START_TEST):
8592         * check/gst/gstpad.c: (GST_START_TEST):
8593         * check/gst/gststructure.c: (GST_START_TEST):
8594         * check/gst/gstsystemclock.c: (GST_START_TEST),
8595         (gst_systemclock_suite):
8596         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8597         * check/gst/gstvalue.c: (GST_START_TEST):
8598         * check/pipelines/cleanup.c: (GST_START_TEST):
8599         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8600         * check/states/sinks.c: (GST_START_TEST):
8601         * check/gstcheck.c: (gst_check_init):
8602         * check/gstcheck.h:
8603           add debugging category
8604           use GST_START_TEST now, so we add a debug line
8605
8606 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8607
8608         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8609           add test for state change message on a bin
8610         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8611           add another test
8612         * gst/gstbin.c: (gst_bin_init):
8613         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8614         * gst/gstelement.c: (gst_element_post_message),
8615         (gst_element_set_state):
8616         * gst/gstelementfactory.c: (gst_element_factory_create):
8617         * gst/gstmessage.c: (gst_message_new):
8618         * gst/gstscheduler.c:
8619           various debugging additions and cleanups
8620
8621 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8622
8623         * check/Makefile.am:
8624         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8625         (main):
8626           adding tests for elements
8627         * gst/gstelement.c: (gst_element_dispose):
8628
8629 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8630
8631         * gst/registries/gstlibxmlregistry.c: (load_feature):
8632           plug more leaks.  A simple gst_init() now is leakfree, yay.
8633
8634 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8635
8636         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8637         (gst_xml_registry_load):
8638           plug another memleak
8639
8640 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8641
8642         * configure.ac:
8643           use GST_SET_ERROR_CFLAGS
8644         * docs/faq/cvs.xml:
8645           change to ERROR_CFLAGS
8646
8647 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8648
8649         * configure.ac:
8650           make GST_ERROR_CFLAGS overridable and re-enable Werror
8651         * docs/faq/cvs.xml:
8652           add a note about error CFLAGS
8653         * docs/gst/tmpl/gstfakesrc.sgml:
8654         * gst/elements/gstfakesrc.c:
8655           comment out some unused code
8656         * gst/gst.c: (split_and_iterate):
8657         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8658         (load_feature):
8659           plug some memleaks
8660
8661 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8662
8663         * common/Makefile.am:
8664         * common/gtk-doc.mak:
8665         * docs/gst/Makefile.am:
8666           factor out gtk-doc.mak
8667
8668 2005-07-07  Wim Taymans  <wim@fluendo.com>
8669
8670         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8671         (gst_thread_scheduler_dispose):
8672         Unlock the STREAM_LOCK completely.
8673
8674 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * check/Makefile.am:
8677         * check/elements/.cvsignore:
8678         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8679         (START_TEST), (fakesrc_suite), (main):
8680         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8681         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8682         (gst_fakesrc_create), (gst_fakesrc_start):
8683         * gst/elements/gstfakesrc.h:
8684           adding a first element test
8685
8686 2005-07-07  Andy Wingo  <wingo@pobox.com>
8687
8688         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8689         debug message.
8690
8691 2005-07-07  Wim Taymans  <wim@fluendo.com>
8692
8693         * gst/gstquery.c:
8694         * gst/gstquery.h:
8695         Remove old types
8696
8697 2005-07-07  Wim Taymans  <wim@fluendo.com>
8698
8699         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8700         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8701         Allow subclasses to implement their own negotiation.
8702
8703 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8704
8705         * docs/design/part-gstbin.txt:
8706         * docs/design/part-gstpipeline.txt:
8707           Update design notes to reflect the movement of
8708           responsibility for bus handling from GstPipeline to
8709           GstBin
8710
8711 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8712
8713         * configure.ac:
8714           Remove unnecessary queue2/3/4 examples.
8715
8716 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8717
8718         * examples/Makefile.am:
8719         * examples/helloworld/helloworld.c: (event_loop), (main):
8720         * examples/queue/queue.c: (event_loop), (main):
8721         * examples/queue2/queue2.c: (main):
8722           Update a couple of the examples to work again.
8723
8724         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8725         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8726          Spelling corrections and extra debug.
8727         
8728         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8729         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8730         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8731         * gst/gstbin.h:
8732         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8733         (gst_pipeline_change_state):
8734         * gst/gstpipeline.h:
8735           Move the bus handler for children to the GstBin, and create a
8736           separate bus for receiving messages from children to the one the
8737           bus sends 'upwards' on.
8738
8739 2005-07-06  Wim Taymans  <wim@fluendo.com>
8740
8741         * gst/base/README:
8742         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8743         (gst_base_sink_handle_object), (gst_base_sink_loop),
8744         (gst_base_sink_change_state):
8745         * gst/base/gstbasesink.h:
8746         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8747         (gst_base_src_init), (gst_base_src_setcaps),
8748         (gst_base_src_getcaps), (gst_base_src_loop),
8749         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8750         (gst_base_src_start), (gst_base_src_change_state):
8751         * gst/base/gstbasesrc.h:
8752         Make basesrc negotiate.
8753         Handle the case where preroll fails in basesink.
8754         Update README.
8755
8756 2005-07-06  Wim Taymans  <wim@fluendo.com>
8757
8758         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8759         Implement the fixate function.
8760         Clean up acceptcaps.
8761
8762 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8763
8764         * docs/pwg/building-filterfactory.xml:
8765         * docs/pwg/pwg.xml:
8766           Remove never-written filter-factory chapter; I'll add the various
8767           base classes to part 4 ("other element types") later on.
8768
8769 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8770
8771         * docs/pwg/advanced-negotiation.xml:
8772         * docs/pwg/building-boiler.xml:
8773         * docs/pwg/building-pads.xml:
8774         * docs/pwg/pwg.xml:
8775         * examples/pwg/Makefile.am:
8776           Add a chapter on caps negotiation, simplify the original code
8777           samples a bit w.r.t. caps negotiation, add link to the advanced
8778           section. Add a bunch of examples showing different use cases of
8779           different types of caps negotiation. Upstream renegotiation isn't
8780           fully documented yet since nobody knows how that works.
8781
8782 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8783
8784         * check/gst/gstpad.c:
8785         * check/gstcheck.c:
8786         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8787           if pad has no parent, return NULL as list of internal links
8788
8789 2005-07-05  Andy Wingo  <wingo@pobox.com>
8790
8791         * gst/elements/gstfilesrc.c:
8792         * gst/elements/gstfakesrc.c: 
8793         * gst/base/gstpushsrc.c:
8794         * gst/base/gstbasesrc.h: 
8795         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8796         
8797 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8798
8799         * Makefile.am:
8800           better report generation target (lcov needs a patch)
8801
8802 2005-07-05  Andy Wingo  <wingo@pobox.com>
8803
8804         * gst/elements, testsuite: Null if we got it...
8805
8806 2005-07-05  Wim Taymans  <wim@fluendo.com>
8807
8808         * configure.ac:
8809         * libs/gst/dataprotocol/Makefile.am:
8810         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8811         * libs/gst/dataprotocol/dataprotocol.h:
8812         * pkgconfig/Makefile.am:
8813         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8814         * pkgconfig/gstreamer-dataprotocol.pc.in:
8815         Ported dataprotol to 0.9. 
8816         Added pkgconfig files.
8817
8818 2005-07-05  Andy Wingo  <wingo@pobox.com>
8819
8820         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8821         Default to returning TRUE for the case when tranform_caps returns
8822         a fixed caps, like for identity or volume.
8823
8824         * check/gst/gstbus.c (pound_bus_with_messages): 
8825         * check/gst/gstmessage.c (START_TEST): 
8826         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8827         message API change.
8828
8829         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8830         logic weaks here: always run transform_caps, trying passthrough
8831         operation only if the original caps intersects with the transform.
8832
8833         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8834         source and sink caps.
8835
8836         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8837         Intersect the peer caps with the pad template before going into
8838         transform_caps.
8839         (gst_base_transform_transform_caps): More debugging.
8840
8841         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8842         src argument.
8843
8844 2005-07-04  Edward Hervey  <edward@fluendo.com>
8845
8846         * gst/gstutils.c:
8847         * gst/gstutils.h:
8848         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8849         in bindings.
8850
8851 2005-07-04  Andy Wingo  <wingo@pobox.com>
8852
8853         * check/gst/gstpad.c: Only set explicit caps on pads.
8854
8855 2005-07-01  Andy Wingo  <wingo@pobox.com>
8856
8857         * tests/network-clock.scm: Commentary update.
8858
8859         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8860         Didn't really make sense, not implementable with basetransform,
8861         etc.
8862         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8863         attempt at implementing the sync property, needs an unlock method.
8864
8865         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8866         New func, by default returns the same caps (the identity
8867         transformation).
8868         (gst_base_transform_getcaps): Uses transform_caps to return
8869         something sensible.
8870         (gst_base_transform_setcaps): Complicated logic to get caps on
8871         both pads, even if they are different, and to call set_caps once
8872         for every time both pads get their caps set.
8873         (gst_base_transform_handle_buffer): Give the ref to the transform
8874         function. Allows in-place modification of the buffer.
8875
8876         * gst/base/gstbasetransform.h (transform_caps): New class method.
8877         Given caps on one side, what can I do on the other.
8878         (set_caps): Take two caps, one for each side of the element.
8879
8880         * gst/gstpad.h:
8881         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8882         caps in place. This is safe because we can check the mutability of
8883         the caps, and a good idea because fixate functions are just called
8884         as a matter of last resort. (Not actually implemented.)
8885         (gst_pad_set_caps): If the caps we're setting is actually the same
8886         as the existing pad caps, just update the pointer without calling
8887         setcaps. Assert that caps is either NULL or fixed, as per the
8888         docs.
8889
8890         * gst/gstghostpad.c: Update for fixate changes.
8891
8892 2005-07-02  Andy Wingo  <wingo@pobox.com>
8893
8894         * gst/gstcaps.c:
8895         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8896         two refcounts makes it immutable, which is enough. Doc more.
8897
8898 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8899
8900         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8901           Put the mini_object into GValue as a mini_object,
8902           not a gpointer, since that's how we declared
8903           the signal.
8904
8905 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8906
8907         * examples/pwg/Makefile.am:
8908           Fix buildbot again.
8909
8910 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8911
8912         * docs/pwg/building-testapp.xml:
8913           Add extra check.
8914         * examples/pwg/Makefile.am:
8915           Fix buildbot.
8916
8917 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8918
8919         * configure.ac:
8920         * examples/Makefile.am:
8921         * examples/pwg/Makefile.am:
8922         * examples/pwg/extract.pl:
8923           Enable building the PWG examples.
8924         * docs/pwg/advanced-interfaces.xml:
8925           Add URI interface stub.
8926         * docs/pwg/advanced-types.xml:
8927         * docs/pwg/other-autoplugger.xml:
8928         * docs/pwg/appendix-porting.xml:
8929         * docs/pwg/pwg.xml:
8930           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8931         * docs/pwg/building-boiler.xml:
8932         * docs/pwg/building-chainfn.xml:
8933         * docs/pwg/building-pads.xml:
8934         * docs/pwg/building-props.xml:
8935         * docs/pwg/building-state.xml:
8936         * docs/pwg/building-testapp.xml:
8937           Update the building-*.xml parts for 0.9 changes. All examples
8938           code blocks compile in examples/pwg/*.
8939
8940 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8941
8942         * docs/manual/advanced-autoplugging.xml:
8943         * docs/manual/appendix-checklist.xml:
8944         * docs/manual/appendix-integration.xml:
8945         * docs/manual/highlevel-components.xml:
8946           Fix playbin/decodebin examples, update docs a bit, mention bus
8947           instead of signals in various places, mention kmplayer and
8948           kaffeine since they have a working GStreamer backend in the KDE
8949           section.
8950
8951 2005-06-30  Wim Taymans  <wim@fluendo.com>
8952
8953         * CHANGES-0.9:
8954         * docs/design/draft-ghostpads.txt:
8955         * docs/design/draft-push-pull.txt:
8956         * docs/design/draft-query.txt:
8957         * docs/design/part-TODO.txt:
8958         * docs/design/part-query.txt:
8959         Added CHANGES-0.9 doc, updated status of other docs.
8960         
8961         * gst/gstquery.h:
8962         Remove "hmm" macro
8963
8964 2005-06-30  Wim Taymans  <wim@fluendo.com>
8965
8966         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8967         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8968         (gst_base_sink_change_state):
8969         * gst/base/gstbasesink.h:
8970         Some tweaks, only EOS and a buffer complete a preroll.
8971
8972 2005-06-30  Andy Wingo  <wingo@pobox.com>
8973
8974         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8975         activate_push down to the internal pad as well.
8976
8977 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8978
8979         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8980
8981         * gst/gsttaginterface.c:
8982           Some documentation fixes (#307394 and #307397).
8983
8984 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8985
8986         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8987
8988         * gst/gstvalue.c: (gst_value_intersect_list):
8989           Fix memleak (#309125).
8990
8991 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8992
8993         * docs/manual/advanced-dataaccess.xml:
8994           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8995         * docs/manual/basics-pads.xml:
8996           Add reference for filtered caps to above chapter.
8997
8998 2005-06-30  Wim Taymans  <wim@fluendo.com>
8999
9000         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9001         (gst_bin_change_state):
9002         Probes are gone.
9003         Lame attempt at making the state change function a bit
9004         more readable.
9005
9006 2005-06-30  Wim Taymans  <wim@fluendo.com>
9007
9008         * docs/design/part-clocks.txt:
9009         * docs/design/part-element-sink.txt:
9010         * docs/design/part-events.txt:
9011         * docs/design/part-preroll.txt:
9012         * docs/design/part-states.txt:
9013         Some more tweeks and additions to the docs.
9014
9015 2005-06-30  Wim Taymans  <wim@fluendo.com>
9016
9017         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9018         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9019         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9020         (gst_pad_check_pull_range), (gst_pad_get_range),
9021         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9022         * gst/gstpad.h:
9023         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9024         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9025         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9026         (gst_pad_remove_buffer_probe):
9027         Removed atomic operations, use existing LOCK.
9028         Move exception handling out of main code path.
9029
9030 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9031
9032         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9033         (silly_return_true_function), (gst_pad_class_init),
9034         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9035         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9036         (gst_pad_send_event):
9037           Fix accumulator, add default value by using _emitv() instead
9038           of _emit() for signal emission.
9039
9040 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9041
9042         * docs/manual/advanced-dataaccess.xml:
9043         * examples/manual/Makefile.am:
9044           Add probe example.
9045         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9046           Make work (??).
9047
9048 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9049
9050         * gst/elements/gstfilesink.c: (gst_filesink_render):
9051           Simplify code so that we don't have to handle short
9052           writes and return GST_FLOW_ERROR if an error occured.
9053
9054 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9055
9056         * docs/gst/gstreamer-docs.sgml:
9057           Remove probes more.
9058
9059 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9060
9061         * docs/gst/gstreamer-sections.txt:
9062         * docs/gst/tmpl/gstpad.sgml:
9063         * docs/gst/tmpl/gstprobe.sgml:
9064         * gst/Makefile.am:
9065         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9066         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9067         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9068         (gst_pad_push_event), (gst_pad_send_event):
9069         * gst/gstpad.h:
9070         * gst/gstutils.c: (gst_pad_add_data_probe),
9071         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9072         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9073         (gst_pad_remove_buffer_probe):
9074         * gst/gstutils.h:
9075           Remove old probes, add new g-signal-based probes and some utility
9076           functions.
9077
9078 2005-06-29  Edward Hervey  <edward@fluendo.com>
9079
9080         * gst/gstelementfactory.c:
9081         * gst/gstutils.h:
9082         * gst/gstutils.c:
9083         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9084         the definition to the header file.
9085
9086 2005-06-29  Andy Wingo  <wingo@pobox.com>
9087
9088         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9089         plugins from the source directory.
9090
9091 2005-06-29  Wim Taymans  <wim@fluendo.com>
9092
9093         * docs/gst/tmpl/gstbuffer.sgml:
9094         * docs/gst/tmpl/gstclock.sgml:
9095         Some fixings for blantently wrong text.
9096
9097 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9098
9099         * check/Makefile.am:
9100         * gst/gst.c: (add_path_func), (init_pre):
9101         * gst/gstregistry.c: (gst_registry_add_path):
9102           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9103           only scan the GST_PLUGIN_PATH locations, and not add
9104           system locations
9105
9106 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9107
9108         * docs/gst/gstreamer-sections.txt:
9109         * docs/gst/tmpl/gstbasesrc.sgml:
9110         * gst/gstelement.c:
9111         * gst/gstelement.h:
9112         * gst/gstevent.c:
9113         * gst/gstutils.c:
9114           doc fixes
9115
9116 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9117
9118         * docs/manual/advanced-autoplugging.xml:
9119           Fix autoplugging example.
9120
9121 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9122
9123         * docs/manual/advanced-autoplugging.xml:
9124         * docs/manual/mime-world.fig:
9125           Try to get autoplugging working, fix type detection. Fix text
9126           in hello-world image.
9127
9128 2005-06-29  Wim Taymans  <wim@fluendo.com>
9129
9130         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9131         (gst_base_sink_change_state):
9132         Small debug line.
9133
9134         * gst/gstclock.h:
9135         map SIGNAL and BROADCAST to the right function.
9136
9137         * gst/gstobject.h:
9138         Remove redundant braces.
9139
9140         * gst/gstpad.c: (gst_pad_set_caps):
9141         Don't call setcaps function when reseting caps to NULL.
9142
9143         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9144         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9145         (gst_system_clock_id_unschedule):
9146         Use BROADCAST as this is what we do.
9147
9148 2005-06-29  Wim Taymans  <wim@fluendo.com>
9149
9150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9151         We are actually prerolling before commiting the state
9152         change. 
9153
9154 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9155
9156         * docs/manual/advanced-clocks.xml:
9157         * docs/manual/advanced-interfaces.xml:
9158         * docs/manual/advanced-metadata.xml:
9159         * docs/manual/advanced-position.xml:
9160         * docs/manual/advanced-schedulers.xml:
9161         * docs/manual/advanced-threads.xml:
9162         * docs/manual/appendix-porting.xml:
9163         * docs/manual/basics-bins.xml:
9164         * docs/manual/basics-bus.xml:
9165         * docs/manual/basics-elements.xml:
9166         * docs/manual/basics-helloworld.xml:
9167         * docs/manual/basics-pads.xml:
9168         * docs/manual/highlevel-components.xml:
9169         * docs/manual/manual.xml:
9170         * docs/manual/thread.fig:
9171           Update (until threads/scheduling) Application Development Manual;
9172           remove GstThread, add GstBus, add simple porting checklist, add
9173           documentation for tag writing, clocks, make all examples until this
9174           part compile and run.
9175         * examples/manual/Makefile.am:
9176           Update from changes to Application Development Manual; add bus
9177           example, remove thread example.
9178
9179 2005-06-28  Wim Taymans  <wim@fluendo.com>
9180
9181         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9182         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9183         (gst_bus_source_dispatch):
9184         Add debugging messages.
9185         Make internal methods static.
9186         Handle the case where the bus is flushed in the handler.
9187         
9188         * gst/gstelement.c: (gst_element_get_bus):
9189         Fix refcount in _get_bus();
9190
9191         * gst/gstpipeline.c: (gst_pipeline_change_state),
9192         (gst_pipeline_get_clock_func):
9193         Clock refcounting fixes.
9194         Handle the case where preroll timed out more gracefully.
9195         
9196         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9197         Clean up the internal thread in dispose. This is needed
9198         for subclasses that actually get disposed.
9199         
9200         * gst/schedulers/threadscheduler.c:
9201         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9202         (gst_thread_scheduler_dispose):
9203         Free thread pool in dispose.
9204
9205 2005-06-28  Andy Wingo  <wingo@pobox.com>
9206
9207         * tests/network-clock-utils.scm (debug, print-event): New utils.
9208
9209         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9210         (*packet-loss*): Unified loss probability.
9211         (network-time): Report out-of-band events.
9212
9213         * tests/plot-data: Add support for out-of-band events. Hack it
9214         into this script instead of passing it down the pipe; should fix
9215         this later.
9216
9217 2005-06-28  Wim Taymans  <wim@fluendo.com>
9218
9219         * docs/gst/gstreamer.types:
9220         * docs/gst/tmpl/gstbasesrc.sgml:
9221         * docs/gst/tmpl/gstpad.sgml:
9222         Docs fixes.
9223
9224 2005-06-28  Wim Taymans  <wim@fluendo.com>
9225
9226         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9227         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9228         (gst_proxy_pad_do_fixatecaps):
9229         Correctly proxy the check_pull_range function.
9230
9231 2005-06-28  Andy Wingo  <wingo@pobox.com>
9232
9233         * tests/network-clock.scm: Removed need for slib.
9234         
9235 2005-06-28  Wim Taymans  <wim@fluendo.com>
9236
9237         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9238         (gst_basesink_preroll_queue_flush):
9239         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9240         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9241         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9242         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9243         (gst_proxy_pad_set_property):
9244         * gst/gstpad.c:
9245         * gst/gstpad.h:
9246         * gst/gstqueue.c: (gst_queue_init):
9247         The deprecated pad loop function is removed now.
9248
9249 2005-06-28  Andy Wingo  <wingo@pobox.com>
9250
9251         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9252         New parameters, simulate network packet loss.
9253
9254         * tests/network-clock-utils.scm: Initialize the RNG.
9255
9256 2005-06-28  Wim Taymans  <wim@fluendo.com>
9257
9258         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9259         (gst_basesink_event), (gst_basesink_deactivate):
9260         Flushing the preroll queue always needs to unlock the waiters.
9261
9262 2005-06-28  Edward Hervey  <edward@fluendo.com>
9263
9264         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9265         Wheen a seek was successful on a pipeline, set the stream_time to the
9266         seek offset in order to have a synchronized stream_time.
9267
9268 2005-06-28  Wim Taymans  <wim@fluendo.com>
9269
9270         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9271         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9272         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9273         (gst_proxy_pad_do_fixatecaps):
9274         Call wrapper function instead of just calling the function
9275         pointers. This takes care of any locking and whatmore.
9276
9277 2005-06-28  Wim Taymans  <wim@fluendo.com>
9278
9279         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9280         (gst_pad_pull_range):
9281         * gst/gstpad.h:
9282         CONNECTED -> LINKED.
9283
9284 2005-06-28  Andy Wingo  <wingo@pobox.com>
9285
9286         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9287         source-munging commit!!!
9288
9289         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9290         (gst_object_sink): Take gpointer arguments, not GstObject --
9291         avoids casts. Like GLib.
9292
9293         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9294         activate.
9295
9296 2005-06-27  Andy Wingo  <wingo@pobox.com>
9297
9298         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9299         remaining buffer.
9300
9301         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9302         returns a sorted copy of the trace list.
9303         (gst_alloc_trace_print_live): New API, only prints traces with
9304         live objects. Sort the list.
9305         (gst_alloc_trace_print_all): Sort the list.
9306         (gst_alloc_trace_print): Align columns.
9307
9308         * gst/elements/gstttypefindelement.c:
9309         * gst/elements/gsttee.c:
9310         * gst/base/gstbasesrc.c:
9311         * gst/base/gstbasesink.c:
9312         * gst/base/gstbasetransform.c:
9313         * gst/gstqueue.c: Adapt for pad activation changes.
9314
9315         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9316         sched.
9317         (gst_pipeline_dispose): Drop ref on sched.
9318
9319         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9320         (gst_pad_activate_default): Push mode by default.
9321         (pre_activate_switch, post_activate_switch): New stubs, things to
9322         do before and after switching activation modes on pads.
9323         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9324         the pad's activate function to choose which mode to activate.
9325         Shortcut on deactivation and call the right function directly.
9326         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9327         mode.
9328         (gst_pad_activate_push): New API, same for push mode.
9329         (gst_pad_set_activate_function) 
9330         (gst_pad_set_activatepull_function) 
9331         (gst_pad_set_activatepush_function): Setters for new API.
9332
9333         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9334         Trace all miniobjects.
9335         (gst_mini_object_make_writable): Unref the arg if we copy, like
9336         gst_caps_make_writable.
9337
9338         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9339
9340         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9341         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9342         Adapt for new pad API.
9343
9344         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9345
9346         * gst/gstelement.h:
9347         * gst/gstelement.c (gst_element_iterate_src_pads) 
9348         (gst_element_iterate_sink_pads): New API functions.
9349         
9350         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9351         should fold into gstiterator.c in some form.
9352         (gst_element_pads_activate): Simplified via use of fold and
9353         delegation of decisions to gstpad->activate.
9354
9355         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9356         help in debugging.
9357
9358         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9359         class once in init, like gstmessage. Didn't run into this issue
9360         but it seems correct. Don't initialize a trace, gstminiobject does
9361         that.
9362
9363         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9364         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9365         to the bus.
9366         (assert_live_count): New util function, uses alloc traces to check
9367         cleanup.
9368
9369         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9370         To be modified when unlink drops the internal pad.
9371
9372 2005-06-27  Wim Taymans  <wim@fluendo.com>
9373
9374         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9375         (gst_bin_change_state):
9376         Cleanup the get_state() function a little, make sure it
9377         iterates the same set of elements.
9378         Added stub iterate_state_order().
9379
9380 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9381
9382         * docs/gst/gstreamer-docs.sgml:
9383         * docs/gst/gstreamer-sections.txt:
9384         * docs/gst/gstreamer.types:
9385         * docs/gst/tmpl/gstbasesink.sgml:
9386         * docs/gst/tmpl/gstbasesrc.sgml:
9387         * docs/gst/tmpl/gstbasetransform.sgml:
9388         * docs/gst/tmpl/gstelement.sgml:
9389         * docs/gst/tmpl/gstiterator.sgml:
9390         * gst/base/gstbasesrc.c:
9391         * gst/base/gstbasesrc.h:
9392         * gst/base/gstbasetransform.h:
9393         * gst/gstelement.c:
9394         * gst/gstiterator.h:
9395           adding basetransform and iterator docs
9396
9397 2005-06-27  Andy Wingo  <wingo@pobox.com>
9398
9399         * docs/design/part-activation.txt: Notes on how activation should
9400         work -- not quite implemented yet.
9401
9402 2005-06-25  Wim Taymans  <wim@fluendo.com>
9403
9404         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9405         At least get the chain function correct, needs more
9406         fixing.
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/gsttask.h:
9415         Right, two problems here: ghostpads don't take locks and
9416         glib _rec_mutex_lock_full() with depth==0 still locks.
9417         Catch illegal locking and g_warn them.
9418
9419 2005-06-25  Wim Taymans  <wim@fluendo.com>
9420
9421         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9422         Have to check for completion now...
9423
9424 2005-06-25  Wim Taymans  <wim@fluendo.com>
9425
9426         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9427         (gst_basesink_handle_object), (gst_basesink_event),
9428         (gst_basesink_do_sync), (gst_basesink_handle_event),
9429         (gst_basesink_change_state):
9430         * gst/gstpad.h:
9431         Unlock STREAM_LOCK whatever the recursion was.
9432
9433 2005-06-25  Wim Taymans  <wim@fluendo.com>
9434
9435         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9436         (gst_basesink_preroll_queue_empty),
9437         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9438         (gst_basesink_event), (gst_basesink_do_sync),
9439         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9440         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9441         (gst_basesink_change_state):
9442         Reworked the base sink, handle event and buffer serialisation
9443         correctly and removed possible deadlock.
9444         Handle EOS correctly.
9445
9446 2005-06-25  Wim Taymans  <wim@fluendo.com>
9447
9448         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9449         (gst_pipeline_change_state):
9450         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9451         Allow elements to post EOS in the state change function.
9452         Fix up -launch, make it exit the poll loop when the
9453         pipeline actually changed state.
9454         Fix up warning parsing in -launch.
9455
9456 2005-06-25  Wim Taymans  <wim@fluendo.com>
9457
9458         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9459         (gst_tee_sink_activate):
9460         Core takes STREAM_LOCK for us now.
9461
9462 2005-06-25  Wim Taymans  <wim@fluendo.com>
9463
9464         * gst/gstelement.c: (gst_element_get_state_func),
9465         (gst_element_set_state):
9466         * gst/gstelement.h:
9467         * gst/gstmessage.c: (gst_message_parse_error),
9468         (gst_message_parse_warning):
9469         Keep track of current target state while performing a state
9470         change so that subclasses can do something interesting.
9471         Fix parsing of warning/error messages when GError is NULL.
9472
9473 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9474
9475         * docs/gst/Makefile.am:
9476         * docs/gst/gstreamer-docs.sgml:
9477         * docs/gst/gstreamer-sections.txt:
9478         * docs/gst/gstreamer.types:
9479         * docs/gst/tmpl/gstbasesink.sgml:
9480         * docs/gst/tmpl/gstbasesrc.sgml:
9481         * docs/gst/tmpl/gstbin.sgml:
9482         * docs/gst/tmpl/gstcompat.sgml:
9483         * docs/gst/tmpl/gstfakesink.sgml:
9484         * docs/gst/tmpl/gstfakesrc.sgml:
9485         * docs/gst/tmpl/gstfilesink.sgml:
9486         * docs/gst/tmpl/gstfilesrc.sgml:
9487         * docs/gst/tmpl/gstindex.sgml:
9488         * docs/manual/appendix-quotes.xml:
9489         * gst/base/gstbasesrc.h:
9490         * gst/elements/gstfakesrc.h:
9491         * gst/gstmessage.h:
9492           start pulling in base classes and elements in our docs
9493
9494 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9495
9496         * docs/gst/Makefile.am:
9497         * docs/libs/Makefile.am:
9498           fixed make distcheck with gtk-doc 1.3
9499
9500 2005-06-23  Wim Taymans  <wim@fluendo.com>
9501
9502         * gst/gstelement.c: (gst_element_get_state_func),
9503         (gst_element_set_state), (gst_element_change_state):
9504         When the state did not change, also report NO_PREROLL
9505         when it matters.
9506
9507 2005-06-23  Wim Taymans  <wim@fluendo.com>
9508
9509         * gst/gstpad.c: (gst_pad_event_default):
9510         * gst/gstqueue.c: (gst_queue_loop):
9511         No unsafe task pausing please.
9512
9513 2005-06-23  Wim Taymans  <wim@fluendo.com>
9514
9515         * gst/schedulers/threadscheduler.c:
9516         (gst_thread_scheduler_task_start),
9517         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9518         Ref the task before pushing it on the threadpool. This
9519         makes sure that we have a ref when the threadfunction is
9520         actually called.
9521
9522 2005-06-23  Andy Wingo  <wingo@pobox.com>
9523
9524         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9525         offset is greater than the file's size.
9526
9527         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9528         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9529         * gst/gstobject.c (gst_object_class_init): Make the class lock
9530         recursive. Wim won't let me drop deep_notify. Decodebin works
9531         again, whoopdy doo.
9532
9533         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9534         internal pad, and hacks accordingly. Doesn't do it on the target
9535         pad because we change its caps. Probably catches all cases of
9536         interest tho.
9537         (gst_ghost_pad_set_property): Connect to notify::caps as
9538         appropritate.
9539
9540         * tests/network-clock.scm (plot-simulation): Pipe data to the
9541         elite python skript.
9542
9543         * tests/network-clock-utils.scm (define-parameter): New macro,
9544         defines a parameter that can be set via the command line.
9545         (set-parameter!, parse-parameter-arguments): Command line args
9546         parser.
9547
9548         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9549         stdin.
9550
9551 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9552
9553         * gst/elements/gsttypefindelement.c:
9554         (gst_type_find_element_handle_event):
9555           Don't restart typefinding on a discont.
9556         * gst/gstelement.c: (gst_element_set_state):
9557           Debug spelling fix.
9558         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9559           Allow changing mode of an active pad.
9560           Debug output fixes.
9561         * gst/registries/gstlibxmlregistry.c: (load_feature):
9562           Don't cast a static pad template to a normal pad template.
9563
9564 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9565
9566         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9567         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9568           remove gst_strtoll completely, since it didn't actually do
9569           anything more than what g_ascii_strtoull already does.
9570           check for range errors when deserializing
9571           do a cast for the unsigned cases; but further fixing needs
9572           a decision on what the interpretation of "(int)" and
9573           deserialization should be for values that fall outside the
9574           type's boundaries (ie, refuse, or interpret as casting)
9575
9576 2005-06-23  Wim Taymans  <wim@fluendo.com>
9577
9578         * check/Makefile.am:
9579         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9580         * docs/design/part-live-source.txt:
9581         * docs/design/part-states.txt:
9582         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9583         (gst_basesrc_set_live), (gst_basesrc_is_live),
9584         (gst_basesrc_get_range), (gst_basesrc_activate),
9585         (gst_basesrc_change_state):
9586         * gst/base/gstbasesrc.h:
9587         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9588         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9589         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9590         * gst/gstelement.c: (gst_element_get_state_func),
9591         (gst_element_set_state):
9592         * gst/gstelement.h:
9593         * gst/gsttypes.h:
9594         * tools/gst-launch.c: (event_loop), (main):
9595         Added support for live sources and other elements that
9596         cannot do preroll.
9597         Updated design docs, added live-source design doc.
9598         Implemented live source functionality in basesrc
9599         Fix error condition in _bin_get_state()
9600         Implement live source handling in -launch.
9601         Added check for live sources.
9602         Fixed case in GstBin where elements were changed state
9603         multiple times.
9604
9605
9606 2005-06-23  Andy Wingo  <wingo@pobox.com>
9607
9608         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9609         borken refcounting.
9610
9611         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9612         gst_caps_replace takes care of this for us.
9613
9614         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9615         gst_pad_set_caps on the target, not just its setcaps() function.
9616
9617         * tests/network-clock.scm: 
9618         * tests/network-clock-utils.scm: A network clock simulator.
9619         Something of an algorithmic testbed before doing something in C.
9620
9621 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9622
9623         * check/Makefile.am:
9624         * check/gst/capslist.h:
9625           copy over from 0.8, and add two with bitmasks specified with
9626           (int) 0xFF...
9627         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9628           add test to parse everything from capslist.h
9629         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9630         (main):
9631           add test for structure deserialization
9632         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9633           add tests for deserialization of strings to int types
9634         * gst/gststructure.c: (gst_structure_nth_field_name):
9635         * gst/gststructure.h:
9636           add a way to get the name of a field referenced by index
9637         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9638           instead of checking if the resulting long long lies between
9639           min and max, we check if the long long would fit into
9640           a number of bytes for the final type.
9641           This fixes cases where a string represents 2^32 - 1, which
9642           when cast to int would be the (valid) -1, but is bigger than
9643           G_MAXINT
9644
9645 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9646
9647         * gst/parse/grammar.y:
9648           add a log line for type deserialization
9649
9650 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9651
9652         * check/gst/gstvalue.c: (START_TEST):
9653         * gst/gstvalue.c: (gst_value_deserialize):
9654           return long long, not int, so gint64 deserialization actually
9655           works.  Is there any flag that makes the compiler check this ?
9656           Fixes #308559
9657
9658 2005-06-22  Wim Taymans  <wim@fluendo.com>
9659
9660         * gst/gstbuffer.h:
9661         Added convenience macros for setting buffers in GValue.
9662
9663 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9664
9665         * check/gst/.cvsignore:
9666         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9667           add a test deserializing int64, and comment part out because
9668           it fails, yay !
9669
9670 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9671
9672         * check/Makefile.am:
9673         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9674         * testsuite/Makefile.am:
9675         * testsuite/caps/Makefile.am:
9676         * testsuite/caps/value_serialize.c:
9677         * testsuite/test_gst_init.c:
9678           move a value_serialize test over
9679
9680 2005-06-20  Wim Taymans  <wim@fluendo.com>
9681
9682         * gst/gstpad.c:
9683         Small doc updates.
9684         
9685         * gst/gstvalue.c: (gst_value_compare_buffer),
9686         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9687         (gst_value_compare_flags), (gst_value_serialize_flags),
9688         (gst_value_deserialize_flags), (_gst_value_initialize):
9689         Fix serialisation of buffers, they are not boxed types anymore
9690
9691 2005-06-20  Wim Taymans  <wim@fluendo.com>
9692
9693         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9694         Testcase to show error in buffer-on-caps serialisation.
9695
9696 2005-06-20  Andy Wingo  <wingo@pobox.com>
9697
9698         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9699         will be adding to later.
9700
9701         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9702         if its socks fill with rocks.
9703         (gst_system_clock_obtain): Set the name on object construction.
9704         Avoid double-checked locking.
9705
9706 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9707
9708         * gst/gsturi.c: (gst_element_make_from_uri):
9709           Fix potential endless loop.
9710
9711 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9712
9713         * check/Makefile.am:
9714           add gsttag
9715         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9716         (main):
9717           move over from testsuite dir and clean up
9718         * configure.ac:
9719         * gst/gsttag.c:
9720         * testsuite/Makefile.am:
9721         * testsuite/tags/.cvsignore:
9722         * testsuite/tags/Makefile.am:
9723         * testsuite/tags/merge.c:
9724           remove testsuite/tags
9725
9726 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9727
9728         * docs/gst/gstreamer-sections.txt:
9729         * docs/gst/tmpl/gstenumtypes.sgml:
9730         * win32/gstenumtypes.c:
9731           clean up documentation build a little
9732
9733 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9734
9735         * check/gstcheck.h:
9736           add macros for checking refcounts on objects and caps
9737         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9738           add some more unit tests
9739         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9740         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9741           fix leaked refcounts (I hope :)) so unittest works
9742         * gst/gstpad.h:
9743           whitespace removal
9744
9745 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9746
9747         * configure.ac: back to HEAD
9748
9749 === release 0.9.1 ===
9750
9751 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9752
9753         * NEWS:
9754         * RELEASE:
9755           updated
9756
9757 2005-06-17  Andy Wingo  <wingo@pobox.com>
9758
9759         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9760         assert; it's always possible that the pad gets deactivated in
9761         between the checks in gstpad.c and the implementation. Rely on
9762         finish_preroll() to return a FLUSHING or similar instead of on the
9763         assert.
9764         
9765         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9766         clock and post an EOS message if we come out of finish_preroll in
9767         the playing state.
9768
9769 2005-06-16  David Schleef  <ds@schleef.org>
9770
9771         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9772         (gst_capsfilter_set_property): Allow NULL as possible value
9773         for filter_caps property, indicating GST_CAPS_ANY.
9774
9775 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9776
9777         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9778           fix debug output
9779         * gst/schedulers/Makefile.am:
9780           use libgst prefix
9781         * gstreamer.spec.in:
9782           fix spec for it
9783
9784 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9785
9786         * gstreamer.spec.in:
9787           clean up
9788
9789 2005-06-08  Andy Wingo  <wingo@pobox.com>
9790
9791         * gst/gstutils.c: RPAD fixes all around.
9792         (gst_element_link_pads): Refcounting fixes.
9793
9794         * tools/gst-inspect.c:
9795         * tools/gst-xmlinspect.c:
9796         * parse/grammar.y:
9797         * gst/base/gsttypefindhelper.c:
9798         * gst/base/gstbasesink.c:
9799         * gst/gstqueue.c: RPAD fixes.
9800
9801         * gst/gstghostpad.h:
9802         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9803         pads. The tricky thing is they provide both source and sink
9804         interfaces, since they proxy the internal pad for the external
9805         pad, and vice versa. Implement with lower-level ProxyPad objects,
9806         with the interior proxy pad as a child of the exterior ghost pad.
9807         Should write a doc on this.
9808         
9809         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9810         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9811         gst_object API.
9812         
9813         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9814         pads are real pads. No ghost pads in this file. Not documenting
9815         the myriad s/RPAD/PAD/ and REALIZE fixes.
9816         (gst_pad_class_init): Add properties for "direction" and
9817         "template". Both are construct-only, so they can't change during
9818         the life of the pad. Fixes properly deriving from GstPad.
9819         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9820         derived objects, just set properties when creating the objects via
9821         g_object_new.
9822         (gst_pad_get_parent): Implement as a function, return NULL if the
9823         parent is not an element.
9824         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9825         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9826         
9827         * gst/gstobject.c (gst_object_class_init): Make name a construct
9828         property. Don't set it in the object init.
9829
9830         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9831         with UNKNOWN direction.
9832         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9833         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9834         (gst_element_remove_pad): Remove ghost-pad special cases.
9835         (gst_element_pads_activate): Remove rpad cruft.
9836
9837         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9838         catch the pad's-parent-not-an-element case.
9839
9840         * gst/gst.h: Include gstghostpad.h.
9841
9842         * gst/gst.c (init_post): No more real, ghost pads.
9843
9844         * gst/Makefile.am: Add gstghostpad.[ch].
9845
9846         * check/Makefile.am:
9847         * check/gst/gstbin.c:
9848         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9849         into a bin creates ghost pads, and that the refcounts are right.
9850         Partly moved from gstbin.c.
9851
9852 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9853
9854         * check/gst-libs/.cvsignore:
9855         * check/gst/.cvsignore:
9856         * check/pipelines/.cvsignore:
9857           ignore more
9858         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9859         (START_TEST), (cleanup_suite), (main):
9860           add some tests related to cleanup after running pipelines
9861
9862 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9863
9864         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9865           add a testsuite for GstBuffer
9866
9867 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9868
9869         * gst/gstminiobject.h:
9870           add defines for accessing the refcount
9871
9872 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9873
9874         * Makefile.am: added support for html unit test coverage reports
9875
9876 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9877
9878         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9879           Free existing caps if the capsfilter changes. Add a FIXME about
9880           setting those caps on the pads.
9881
9882         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9883           Before adding a ghost pad to a parent bin, check that there isn't
9884           already one for the element on the bin. Prevents infinite recursion
9885           when using decodebin in parse pipelines. Andy says he'll rewrite the
9886           way this works anyway, so ignore the hack.
9887
9888 2005-06-02  Andy Wingo  <wingo@pobox.com>
9889
9890         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9891         file size, pass it on to the type find helper.
9892
9893         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9894         segment_start and segment_end properly according to the seek
9895         method. Segment_end is still a bit flaky because offset can be
9896         negative for CUR and END cases, but it takes -1 as an "unset"
9897         value.
9898
9899 2005-06-02  Wim Taymans  <wim@fluendo.com>
9900
9901         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9902         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9903         (gst_basesink_activate):
9904         * gst/base/gstbasesink.h:
9905         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9906         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9907         (gst_pad_query), (gst_pad_start_task):
9908         * gst/gstpad.h:
9909         * gst/gstqueue.c: (gst_queue_bufferalloc),
9910         (gst_queue_handle_sink_event), (gst_queue_chain):
9911         Bufferalloc: return GstFlowReturn to more accuratly report
9912         why allocation failed.
9913
9914 2005-06-02  Wim Taymans  <wim@fluendo.com>
9915
9916         * gst/gstpipeline.c: (gst_pipeline_send_event):
9917         Take snapshot of state without blocking.
9918
9919 2005-06-02  Wim Taymans  <wim@fluendo.com>
9920
9921         * docs/design/part-TODO.txt:
9922         * docs/design/part-caps.txt:
9923         * docs/design/part-clocks.txt:
9924         * docs/design/part-negotiation.txt:
9925         * docs/design/part-preroll.txt:
9926         Small doc updates 
9927
9928 2005-05-30  Wim Taymans  <wim@fluendo.com>
9929
9930         * gst/elements/gstidentity.c: (gst_identity_event),
9931         (gst_identity_transform), (gst_identity_get_property):
9932         Protect last_message property as it is accessed from
9933         multiple threads.
9934
9935 2005-05-30  Wim Taymans  <wim@fluendo.com>
9936
9937         * gst/gstelement.c: (gst_element_init),
9938         (gst_element_pads_activate), (gst_element_change_state):
9939         Slicker pad activation code.
9940
9941 2005-05-30  Wim Taymans  <wim@fluendo.com>
9942
9943         * gst/Makefile.am:
9944         * gst/gstelement.h:
9945         * gst/gstelementfactory.h:
9946         * gst/gsttypes.h:
9947         Move elementfactory methods to separate .h file.
9948
9949 2005-05-30  Wim Taymans  <wim@fluendo.com>
9950
9951         * docs/design/part-overview.txt:
9952         * gst/gstsystemclock.h:
9953         Small typo fixes, doc updates.
9954
9955 2005-05-30  Wim Taymans  <wim@fluendo.com>
9956
9957         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9958         (init_popt_callback):
9959         Remove cpu-opt flag.
9960
9961 2005-05-30  Wim Taymans  <wim@fluendo.com>
9962
9963         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9964         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9965         * gst/gstbuffer.h:
9966         Avoid typechecking in places where not needed.
9967         Added accessor for malloc_data.
9968
9969 2005-05-30  Wim Taymans  <wim@fluendo.com>
9970
9971         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9972         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9973         (gst_pad_configure_sink), (gst_pad_configure_src),
9974         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9975         (gst_pad_start_task):
9976         Propagate errors from _set_caps() in configure_src/sink
9977         functions instead of returning TRUE.
9978         FLUSH events can travel up and downstream
9979
9980
9981 2005-05-30  Wim Taymans  <wim@fluendo.com>
9982
9983         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9984         (gst_basesink_activate):
9985         Handle EOS in preroll.
9986
9987 2005-05-30  Wim Taymans  <wim@fluendo.com>
9988
9989         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9990         (gst_queue_loop), (gst_queue_handle_src_event):
9991         Remove old pieces of code
9992         Flushing the queue in an upstream event is a very bad idea.
9993
9994 2005-05-26  Andy Wingo  <wingo@pobox.com>
9995
9996         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9997         gst_value_set_mini_object so as to add a ref on the object (which
9998         will be removed when the value is unset).
9999
10000         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10001         arg type in ::handoff.
10002
10003         * gst/gstelement.c (gst_element_change_state): Also deactivate
10004         pads in READY->NULL, just in case the element didn't make it to
10005         PAUSED. Wingo tested, Wim approved.
10006
10007 2005-05-26  Wim Taymans  <wim@fluendo.com>
10008
10009         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10010         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10011         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10012         A flushing pad cannot be used to alloc_buffer from.
10013
10014 2005-05-26  Wim Taymans  <wim@fluendo.com>
10015
10016         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10017         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10018         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10019         (gst_bus_create_watch), (gst_bus_add_watch_full):
10020         * gst/gstbus.h:
10021         Implement a real GSource and use g_main_context_wakeup() to
10022         signal new messages instead of the socketpair.
10023
10024 2005-05-25  Wim Taymans  <wim@fluendo.com>
10025
10026         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10027         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10028         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10029         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10030         (gst_pad_send_event), (gst_pad_start_task):
10031         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10032         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10033         (gst_queue_sink_activate), (gst_queue_src_activate),
10034         (gst_queue_change_state):
10035         * gst/gstqueue.h:
10036         Fix state changes for non sinks. We now change sinks, then elements
10037         with unconnected srcpads, then the rest.
10038         More efficient queue unlocking in flush and state changes.
10039         Set the pad activate mode even if it does not have an activate
10040         function.
10041
10042 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10043
10044         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10045           Don't go in pull mode for non-seekable sources.
10046         * gst/elements/gsttypefindelement.h:
10047         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10048         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10049         (free_entry), (stop_typefinding),
10050         (gst_type_find_element_handle_event), (find_peek),
10051         (gst_type_find_element_chain), (do_pull_typefind),
10052         (gst_type_find_element_change_state):
10053           Allow typefinding (w/o seeking) in push-mode, simplified version
10054           of what was in 0.8.
10055         * gst/gstutils.c: (gst_buffer_join):
10056         * gst/gstutils.h:
10057           gst_buffer_join() from 0.8.
10058
10059 2005-05-25  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10062         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10063         (gst_pad_send_event), (gst_pad_start_task):
10064         Disable attempt at mode switching until it is figured out.
10065
10066 2005-05-25  Wim Taymans  <wim@fluendo.com>
10067
10068         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10069         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10070         (gst_basesink_finish_preroll), (gst_basesink_chain),
10071         (gst_basesink_loop), (gst_basesink_activate),
10072         (gst_basesink_change_state):
10073         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10074         (gst_basesrc_get_range), (gst_basesrc_loop),
10075         (gst_basesrc_activate):
10076         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10077         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10078         (gst_real_pad_init), (gst_real_pad_set_property),
10079         (gst_real_pad_get_property), (gst_pad_set_active),
10080         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10081         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10082         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10083         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10084         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10085         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10086         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10087         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10088         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10089         (gst_pad_stop_task):
10090         * gst/gstpad.h:
10091         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10092         (gst_queue_loop), (gst_queue_src_activate):
10093         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10094         (gst_task_get_state):
10095         * gst/gsttask.h:
10096         * gst/schedulers/threadscheduler.c:
10097         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10098         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10099         in task function.
10100         Remove ACTIVE pad flag, use FLUSHING everywhere
10101         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10102         functions.
10103         Add locks around IS_FLUSHING when reading.
10104         Take STREAM lock in chain(), get_range() functions so plugins
10105         don't need to take it anymore.
10106         
10107
10108
10109 2005-05-25  Wim Taymans  <wim@fluendo.com>
10110
10111         * tools/gst-launch.c: (event_loop):
10112         Unref message after using its contents instead of
10113         before.
10114
10115 2005-05-24  Wim Taymans  <wim@fluendo.com>
10116
10117         * docs/design/draft-ghostpads.txt:
10118         * docs/design/draft-push-pull.txt:
10119         * docs/design/draft-query.txt:
10120         * docs/design/part-overview.txt:
10121         Docs updates, added general overview doc.
10122
10123 2005-05-21  David Schleef  <ds@schleef.org>
10124
10125         * docs/gst/tmpl/old/GstBin.sgml:
10126         * docs/gst/tmpl/old/GstBuffer.sgml:
10127         * docs/gst/tmpl/old/GstCaps.sgml:
10128         * docs/gst/tmpl/old/GstClock.sgml:
10129         * docs/gst/tmpl/old/GstCompat.sgml:
10130         * docs/gst/tmpl/old/GstData.sgml:
10131         * docs/gst/tmpl/old/GstElement.sgml:
10132         * docs/gst/tmpl/old/GstEvent.sgml:
10133         * docs/gst/tmpl/old/GstIndex.sgml:
10134         * docs/gst/tmpl/old/GstStructure.sgml:
10135         * docs/gst/tmpl/old/GstTag.sgml:
10136         * docs/gst/tmpl/old/cothreads.sgml:
10137         * docs/gst/tmpl/old/cothreads_compat.sgml:
10138         * docs/gst/tmpl/old/gettext.sgml:
10139         * docs/gst/tmpl/old/gobject2gtk.sgml:
10140         * docs/gst/tmpl/old/grammar.tab.sgml:
10141         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10142         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10143         * docs/gst/tmpl/old/gst_private.sgml:
10144         * docs/gst/tmpl/old/gstaggregator.sgml:
10145         * docs/gst/tmpl/old/gstarch.sgml:
10146         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10147         * docs/gst/tmpl/old/gstbufferstore.sgml:
10148         * docs/gst/tmpl/old/gstdata_private.sgml:
10149         * docs/gst/tmpl/old/gstdisksink.sgml:
10150         * docs/gst/tmpl/old/gstdisksrc.sgml:
10151         * docs/gst/tmpl/old/gstelementfactory.sgml:
10152         * docs/gst/tmpl/old/gstextratypes.sgml:
10153         * docs/gst/tmpl/old/gstfakesink.sgml:
10154         * docs/gst/tmpl/old/gstfakesrc.sgml:
10155         * docs/gst/tmpl/old/gstfdsink.sgml:
10156         * docs/gst/tmpl/old/gstfdsrc.sgml:
10157         * docs/gst/tmpl/old/gstfilesink.sgml:
10158         * docs/gst/tmpl/old/gstfilesrc.sgml:
10159         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10160         * docs/gst/tmpl/old/gstidentity.sgml:
10161         * docs/gst/tmpl/old/gstindexfactory.sgml:
10162         * docs/gst/tmpl/old/gstmarshal.sgml:
10163         * docs/gst/tmpl/old/gstmd5sink.sgml:
10164         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10165         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10166         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10167         * docs/gst/tmpl/old/gstpipefilter.sgml:
10168         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10169         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10170         * docs/gst/tmpl/old/gstshaper.sgml:
10171         * docs/gst/tmpl/old/gstspider.sgml:
10172         * docs/gst/tmpl/old/gstspideridentity.sgml:
10173         * docs/gst/tmpl/old/gststatistics.sgml:
10174         * docs/gst/tmpl/old/gsttee.sgml:
10175         * docs/gst/tmpl/old/gsttimecache.sgml:
10176         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10177         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10178         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10179         * docs/gst/tmpl/old/types.sgml:
10180           I didn't intend to add these or check them in.
10181
10182 2005-05-19  David Schleef  <ds@schleef.org>
10183
10184         * configure.ac: Use -no-common everywhere.  In a sane world, it
10185           would be the default in libtool, because without it, you can't
10186           build DLLs on Windows.
10187         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10188         * docs/gst/gstreamer-sections.txt:
10189         * docs/gst/tmpl/gstcpu.sgml:
10190         * docs/gst/tmpl/gstdata.sgml:
10191         * docs/gst/tmpl/gstthread.sgml:
10192
10193 2005-05-19  David Schleef  <ds@schleef.org>
10194
10195         * gst/gstminiobject.c: (gst_value_set_mini_object),
10196         (gst_value_take_mini_object), (gst_value_get_mini_object):
10197         * gst/gstminiobject.h: Add GValue set/get functions.
10198
10199 2005-05-19  Wim Taymans  <wim@fluendo.com>
10200
10201         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10202         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10203         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10204         * gst/gstbuffer.h:
10205         * gst/gstbus.c: (gst_bus_post):
10206         * gst/gstelement.c: (gst_element_get_random_pad):
10207         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10208         Make subbufer unref the parent in finalize.
10209         some more debugging info.
10210
10211
10212 2005-05-19  Wim Taymans  <wim@fluendo.com>
10213
10214         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10215         (gst_basesink_init), (gst_basesink_finalize),
10216         (gst_basesink_activate), (gst_basesink_change_state):
10217         Don't free preroll queue too early.
10218
10219 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10220
10221         * gst/Makefile.am:
10222         * gst/ROADMAP:
10223           Hi, I'm outdated. Please shoot me.
10224
10225 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10226
10227         * gst/gstpipeline.c: (gst_pipeline_send_event):
10228           Do not access variables after they have been deleted.
10229
10230 2005-05-19  Wim Taymans  <wim@fluendo.com>
10231
10232         * tools/gst-inspect.c: (print_plugin_features):
10233         A plugin feature does unfortunatly not use the
10234         object name yet...
10235
10236 2005-05-18  Wim Taymans  <wim@fluendo.com>
10237
10238         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10239         Port _span() functions to new subbuffers.
10240
10241 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10242
10243         * gst/gstbin.c: (gst_bin_add_func):
10244           Fix clock settery in bins when adding kids after the clock has
10245           been selected.
10246
10247 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10248
10249         * gst/elements/gstidentity.c: (gst_identity_class_init):
10250           Workaround until signals support GstMiniObject.
10251
10252 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10253
10254         * gst/gstbuffer.c:
10255         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10256
10257 2005-05-18  Wim Taymans  <wim@fluendo.com>
10258
10259         * gst/base/Makefile.am:
10260         * gst/base/gstadapter.c: (gst_adapter_base_init),
10261         (gst_adapter_class_init), (gst_adapter_init),
10262         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10263         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10264         (gst_adapter_flush), (gst_adapter_available),
10265         (gst_adapter_available_fast):
10266         * gst/base/gstadapter.h:
10267         Ported and added adapter to the base classes.
10268
10269 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10270
10271         * gst/gst.c:
10272         * gst/gstmessage.c:
10273           Make sure the class is reffed/unreffed once before threads can be
10274           used.  Fixes #304551.
10275
10276 2005-05-17  Wim Taymans  <wim@fluendo.com>
10277
10278         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10279         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10280         * gst/gstminiobject.c: (gst_mini_object_get_type),
10281         (gst_mini_object_free):
10282         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10283         (gst_pad_push), (gst_pad_push_event):
10284         * gst/gstqueue.c: (gst_queue_change_state):
10285         Don't queue buffers in basesink when we are flushing.
10286         Unref buffer when flushing in basesink.
10287         Flush queue when going to READY
10288         Unref buffer when _push() returns an error.
10289         Don't free MiniObject instance when refcount is incremented
10290         in _finalize() so that we can recover objects.
10291
10292 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10293
10294         * docs/manual/advanced-schedulers.xml:
10295         * docs/manual/appendix-checklist.xml:
10296         * docs/pwg/advanced-clock.xml:
10297         * docs/pwg/advanced-interfaces.xml:
10298         * docs/pwg/advanced-request.xml:
10299         * docs/pwg/advanced-types.xml:
10300         * docs/pwg/intro-preface.xml:
10301         * examples/plugins/example.c: (gst_example_get_type),
10302         (gst_example_class_init), (gst_example_chain),
10303         (gst_example_set_property), (gst_example_get_property),
10304         (gst_example_change_state), (plugin_init):
10305         * examples/plugins/example.h:
10306           small doc fixes
10307
10308 2005-05-17  Wim Taymans  <wim@fluendo.com>
10309
10310         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10311         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10312         * gst/gstqueue.c: (gst_queue_change_state):
10313         Clear queue when going to READY.
10314         Remove IN_SETCAPS flag too.
10315
10316 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10317
10318         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10319           Remove implicit cast from gboolean to GstElementStateReturn;
10320           make sure we still return failure in paused => ready case if
10321           the parent class fails to change state and our own stop 
10322           vfunc succeeds.
10323
10324 2005-05-17  Wim Taymans  <wim@fluendo.com>
10325
10326         * tools/gst-launch.c: (event_loop):
10327         Message was unreffed too soon.
10328
10329 2005-05-16  Andy Wingo  <wingo@pobox.com>
10330
10331         * gst/gstbin.c (sink_iterator_filter): Err... um...
10332
10333         * check/gst/gstbin.c (test_ghost_pads): New test for the
10334         ghosting-if-elements-not-in-same-bin behavior.
10335
10336 2005-05-16  David Schleef  <ds@schleef.org>
10337
10338         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10339         accessing refcount directly.
10340
10341 2005-05-15  David Schleef  <ds@schleef.org>
10342
10343         * check/Makefile.am: remove GstData checks
10344         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10345         * gst/Makefile.am: add miniobject, remove data
10346         * gst/gst.h: add miniobject, remove data
10347         * gst/gstdata.c: remove
10348         * gst/gstdata.h: remove
10349         * gst/gstdata_private.h: remove
10350         * gst/gsttypes.h: remove GstEvent and GstMessage
10351         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10352         * gst/gstmarshal.list: change BOXED -> OBJECT
10353
10354         Implement GstMiniObject.
10355         * gst/gstminiobject.c:
10356         * gst/gstminiobject.h:
10357
10358         Modify to be subclasses of GstMiniObject.
10359         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10360         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10361         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10362         (gst_subbuffer_get_type), (gst_subbuffer_init),
10363         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10364         (gst_buffer_span):
10365         * gst/gstbuffer.h:
10366         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10367         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10368         (_gst_event_copy), (gst_event_new):
10369         * gst/gstevent.h:
10370         * gst/gstmessage.c: (_gst_message_initialize),
10371         (gst_message_get_type), (gst_message_class_init),
10372         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10373         (gst_message_new), (gst_message_new_error),
10374         (gst_message_new_warning), (gst_message_new_tag),
10375         (gst_message_new_state_changed), (gst_message_new_application):
10376         * gst/gstmessage.h:
10377         * gst/gstprobe.c: (gst_probe_perform),
10378         (gst_probe_dispatcher_dispatch):
10379         * gst/gstprobe.h:
10380         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10381         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10382         (_gst_query_copy), (gst_query_new):
10383
10384         Update elements for GstData -> GstMiniObject changes
10385         * gst/gstquery.h:
10386         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10387         (gst_queue_chain), (gst_queue_loop):
10388         * gst/elements/gstbufferstore.c:
10389         (gst_buffer_store_add_buffer_func),
10390         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10391         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10392         (gst_fakesink_render):
10393         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10394         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10395         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10396         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10397         (gst_filesrc_create_read):
10398         * gst/elements/gstidentity.c: (gst_identity_class_init):
10399         * gst/elements/gsttypefindelement.c:
10400         (gst_type_find_element_src_event), (free_entry_buffers),
10401         (gst_type_find_element_handle_event):
10402         * libs/gst/dataprotocol/dataprotocol.c:
10403         (gst_dp_header_from_buffer):
10404         * libs/gst/dataprotocol/dataprotocol.h:
10405         * libs/gst/dataprotocol/dp-private.h:
10406
10407 2005-05-15  David Schleef  <ds@schleef.org>
10408
10409         * gst/elements/gstelements.c: Don't include headers that were
10410         just removed.
10411
10412 2005-05-15  David Schleef  <ds@schleef.org>
10413
10414         * gst/elements/Makefile.am: Remove some elements that don't
10415         need to be in the core (or even exist at all).
10416         * gst/elements/gstaggregator.c:
10417         * gst/elements/gstaggregator.h:
10418         * gst/elements/gstmd5sink.c:
10419         * gst/elements/gstmd5sink.h:
10420         * gst/elements/gstmultifilesrc.c:
10421         * gst/elements/gstmultifilesrc.h:
10422         * gst/elements/gstpipefilter.c:
10423         * gst/elements/gstpipefilter.h:
10424         * gst/elements/gstshaper.c:
10425         * gst/elements/gstshaper.h:
10426         * gst/elements/gststatistics.c:
10427         * gst/elements/gststatistics.h:
10428         * po/POTFILES.in: Remove above files.
10429
10430 2005-05-14  Andy Wingo  <wingo@pobox.com>
10431
10432         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10433         so as to get the refs right.
10434         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10435         unreffing objects that don't pass the filter.
10436
10437         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10438         gst_element_set_bus.
10439         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10440         normal cases, this will destroy the bus.
10441
10442         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10443         object.
10444
10445         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10446         has no sinks.
10447
10448 2005-05-13  Andy Wingo  <wingo@pobox.com>
10449
10450         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10451         gst_pad_link, call pad_link_maybe_ghosting,
10452         (pad_link_maybe_ghosting): Links pads, making sure that the
10453         elements being linked are in the same bin.
10454         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10455         Helpers for pad_link_maybe_ghosting.
10456
10457 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10458
10459         * configure.ac:
10460           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10461
10462 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10463
10464         * docs/design/part-element-source.txt:
10465           Mention GstPushSrc
10466
10467 2005-05-12  Wim Taymans  <wim@fluendo.com>
10468
10469         * gst/base/gstbasesink.c: (gst_basesink_init),
10470         (gst_basesink_activate):
10471         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10472         (gst_basesrc_is_seekable):
10473         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10474         (bin_element_is_sink), (gst_bin_change_state):
10475         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10476         * gst/gstelement.h:
10477         Identify sinks by their flag to avoid overly complicated
10478         checks (fow now).
10479         Do state changes even for elements not reachable from the
10480         sinks.
10481         BaseSink is a sink now :)
10482         Some more debugging info in the basesrc.
10483
10484
10485 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10486
10487         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10488           Implement _query on a bin, similar to _send_event.
10489
10490 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10491
10492         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10493           Discont event offset format should be GST_FORMAT_BYTES,
10494           not GST_FORMAT_TIME.
10495
10496 2005-05-12  Wim Taymans  <wim@fluendo.com>
10497
10498         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10499         Same fix as Ronald's but without the signal. 
10500
10501 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10502
10503         * gst/gstutils.c: (gst_element_query_position):
10504           No, an element is not a pad.
10505
10506 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10507
10508         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10509         (gst_bin_get_state):
10510           If a child is removed from a bin while we remove the child from
10511           the bin and while we're retrieving its state, signal this to the
10512           get_state function so we abort the wait (instead of waiting for
10513           a timeout) and can immediately re-iterate over all other elements.
10514
10515 2005-05-12  Wim Taymans  <wim@fluendo.com>
10516
10517         * gst/base/Makefile.am:
10518         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10519         (gst_basesrc_start):
10520         * gst/base/gstbasesrc.h:
10521         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10522         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10523         (gst_pushsrc_init), (gst_pushsrc_create):
10524         * gst/base/gstpushsrc.h:
10525         Added is_seekable to BaseSrc
10526         Added simple PushSrc.
10527
10528 2005-05-11  Wim Taymans  <wim@fluendo.com>
10529
10530         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10531         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10532         (gst_element_link_pads), (gst_element_query_position),
10533         (gst_element_query_convert), (intersect_caps_func),
10534         (gst_pad_query_position), (gst_pad_query_convert):
10535         Fix refcounting in utils function.
10536         No point in trying to activate a pad when it's added, it could
10537         be added from the state change function and then we deadlock, the
10538         element has to decide what to do.
10539
10540 2005-05-10  Andy Wingo  <wingo@pobox.com>
10541
10542         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10543         *all* the arguments.
10544
10545         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10546         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10547         lock (according to the docs -- if this is wrong change the docs).
10548
10549         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10550         flush messages in the NULL state.
10551
10552         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10553         message immediately and return.
10554         (gst_bus_set_flushing): New function. If a bus is flushing, it
10555         flushes out any queued messages and immediately unrefs new
10556         messages. This is so when an element goes to NULL, all of the
10557         unhandled messages coming from it can be freed, and their
10558         references to the element dropped. In other words: message source
10559         ref considered harmful :P
10560
10561         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10562         we're finished with it.
10563
10564         * gst/gstmessage.c (gst_message_new_state_changed): 
10565
10566 2005-05-10  Wim Taymans  <wim@fluendo.com>
10567
10568         * gst/gstvalue.c: (gst_value_compare_flags),
10569         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10570         (_gst_value_initialize):
10571         Added flags serialize/deserialize/compare code.
10572
10573 2005-05-09  Andy Wingo  <wingo@pobox.com>
10574
10575         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10576         Intersect the peer's caps with our caps.
10577
10578 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10579
10580         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10581         * gst/elements/gsttypefindelement.c: (find_peek):
10582           Handle negative offsets better. Fixes decodebin.
10583
10584 2005-05-09  Wim Taymans  <wim@fluendo.com>
10585
10586         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10587         (gst_base_transform_event):
10588         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10589         Implement accept_caps.
10590         Fix silly lock/unlock mismatch in base class.
10591
10592 2005-05-09  Wim Taymans  <wim@fluendo.com>
10593
10594         * docs/design/draft-push-pull.txt:
10595         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10596         * gst/elements/gstfilesink.c: (gst_filesink_init),
10597         (gst_filesink_query):
10598         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10599         (gst_type_find_handle_src_query), (find_element_get_length):
10600         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10601         * gst/gstelement.h:
10602         * gst/gstmessage.c:
10603         * gst/gstmessage.h:
10604         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10605         (gst_real_pad_get_caps_unlocked),
10606         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10607         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10608         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10609         (gst_real_pad_dispose), (gst_real_pad_finalize),
10610         (gst_pad_load_and_link), (gst_pad_save_thyself),
10611         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10612         (gst_pad_check_pull_range), (gst_pad_pull_range),
10613         (gst_pad_template_get_type), (gst_pad_template_class_init),
10614         (gst_pad_template_init), (gst_pad_template_dispose),
10615         (name_is_valid), (gst_static_pad_template_get),
10616         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10617         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10618         (gst_pad_get_element_private), (gst_pad_start_task),
10619         (gst_pad_pause_task), (gst_pad_stop_task),
10620         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10621         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10622         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10623         (gst_ghost_pad_new):
10624         * gst/gstpad.h:
10625         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10626         (gst_query_new_position), (gst_query_set_position),
10627         (gst_query_parse_position), (gst_query_new_convert),
10628         (gst_query_set_convert), (gst_query_parse_convert):
10629         * gst/gstquery.h:
10630         * gst/gstqueryutils.c:
10631         * gst/gstqueryutils.h:
10632         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10633         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10634         (gst_queue_handle_src_query):
10635         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10636         (gst_element_query_position), (gst_element_query_convert),
10637         (intersect_caps_func), (gst_pad_query_position),
10638         (gst_pad_query_convert):
10639         * gst/gstutils.h:
10640         * tools/gst-inspect.c: (print_pad_info):
10641         * tools/gst-xmlinspect.c: (print_element_info):
10642         Remove old query functions. Ported old code.
10643         Added position/convert helper functions to gstutils.
10644         Reordered gstpad.c code, grouping relevant things.
10645         Remove gst_message_new(), always need to speficy a specific
10646         message.
10647
10648
10649 2005-05-09  Andy Wingo  <wingo@pobox.com>
10650
10651         * gst/gstiterator.h: Add some includes.
10652
10653         * gst/gstqueryutils.h: Include more headers.
10654
10655         * gst/gstpad.h:
10656         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10657         some uses of gst_pad_query.
10658
10659         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10660         NULL out parameters.
10661         (gst_query_new_position): New proc, allocates a new position
10662         query.
10663
10664         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10665         gstqueryutils.c to the build.
10666
10667         * gst/gststructure.c (gst_structure_set_valist): Implement with
10668         the generic G_VALUE_COLLECT.
10669         
10670 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10671
10672         * gst/Makefile.am: (gst_headers):
10673         Added gstqueryutils.h to the list of headers to install, that was
10674         a 'nachty' move wingo :)
10675
10676 2005-05-06  Andy Wingo  <wingo@pobox.com>
10677
10678         * gst/gstquery.h
10679         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10680         GstData, init a memchunk.
10681         (standard_definitions): Add a few query types, deprecate a few.
10682         (gst_query_get_type): New proc.
10683         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10684         implementation.
10685         (gst_query_new_application, gst_query_get_structure): New public
10686         procs.
10687
10688         * docs/design/draft-query.txt: Removed LINKS from the query types,
10689         because all the rest can be dispatched to other pads -- seemed
10690         ugly to have a query that couldn't be dispatched. internal_links
10691         is fine as a pad method.
10692
10693         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10694         in gstpad.c, but maintain binary compatibility for the moment.
10695         Will fix before 0.9 is out.
10696
10697         * gst/gstqueryutils.c: 
10698         * gst/gstqueryutils.h: New files, implement 3 methods for each
10699         query type: parse_query, parse_response, and set. Probably need an
10700         allocator as well.
10701
10702         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10703
10704         * gst/elements/gstfilesink.c (gst_filesink_query2):
10705         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10706         query_types, and formats methods.
10707
10708         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10709         (gst_pad_set_query2_function): New functions.
10710         (gst_real_pad_init): Set query2_default as the default query2
10711         function. Basically just dispatches to internally linked pads.
10712
10713         Needs review!
10714         
10715         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10716         without using the atomic operations. Only one thread can possibly
10717         be accessing the data at this point. Changed so as to avoid
10718         gst_atomic operations.
10719
10720 2005-05-06  Wim Taymans  <wim@fluendo.com>
10721
10722         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10723         Also set caps if we use the fallback buffer alloc.
10724
10725 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10726
10727         * docs/gst/Makefile.am:
10728         * docs/gst/gstreamer-docs.sgml:
10729         * docs/gst/gstreamer-sections.txt:
10730         * docs/gst/tmpl/gstatomic.sgml:
10731         * docs/gst/tmpl/gstmemchunk.sgml:
10732         * testsuite/elements/struct_i386.h:
10733         * win32/GStreamer.vcproj:
10734         * win32/Makefile:
10735           Purge GstAtomic stuff from docs and win32 makefiles as well
10736
10737 2005-05-06  Wim Taymans  <wim@fluendo.com>
10738
10739         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10740         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10741         * gst/gstpad.c: (gst_pad_peer_get_caps):
10742         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10743         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10744         (gst_queue_src_activate), (gst_queue_change_state):
10745         * gst/gstqueue.h:
10746         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10747         (intersect_caps_func):
10748         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10749         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10750         Some fixes for the peer_get_caps() change.
10751
10752 2005-05-06  Wim Taymans  <wim@fluendo.com>
10753
10754         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10755         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10756         (gst_basesink_activate):
10757         Actually do something with error codes returned from the push
10758         functions.
10759
10760 2005-05-06  Wim Taymans  <wim@fluendo.com>
10761
10762         * docs/design/part-element-sink.txt:
10763         * docs/design/part-element-source.txt:
10764         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10765         (gst_basesink_event), (gst_basesink_activate):
10766         * gst/base/gstbasesink.h:
10767         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10768         (gst_basesrc_activate):
10769         * gst/base/gstbasesrc.h:
10770         * gst/gstelement.c: (gst_element_pads_activate):
10771         Some more documentation.
10772         Fixed scheduling decision in _pads_activate().
10773
10774 2005-05-05  Andy Wingo  <wingo@pobox.com>
10775
10776         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10777         the test suite.
10778
10779 2005-05-05  Wim Taymans  <wim@fluendo.com>
10780
10781         * gst/base/Makefile.am:
10782         * gst/base/gstbasesink.h:
10783         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10784         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10785         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10786         (gst_collectpads_class_init), (gst_collectpads_init),
10787         (gst_collectpads_finalize), (gst_collectpads_new),
10788         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10789         (find_pad), (gst_collectpads_remove_pad),
10790         (gst_collectpads_is_active), (gst_collectpads_collect),
10791         (gst_collectpads_collect_range), (gst_collectpads_start),
10792         (gst_collectpads_stop), (gst_collectpads_peek),
10793         (gst_collectpads_pop), (gst_collectpads_available),
10794         (gst_collectpads_read), (gst_collectpads_flush),
10795         (gst_collectpads_chain):
10796         * gst/base/gstcollectpads.h:
10797         * gst/elements/Makefile.am:
10798         * gst/elements/gstelements.c:
10799         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10800         (gst_fakesink_get_times), (gst_fakesink_event),
10801         (gst_fakesink_preroll), (gst_fakesink_render):
10802         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10803         (gst_filesink_init), (gst_filesink_set_location),
10804         (gst_filesink_open_file), (gst_filesink_close_file),
10805         (gst_filesink_pad_query), (gst_filesink_event),
10806         (gst_filesink_render), (gst_filesink_change_state):
10807         * gst/elements/gstfilesink.h:
10808         Added object to help in making collect pad based elements.
10809         Ported filesink.
10810         Make event function in sink baseclass return gboolean.
10811
10812 2005-05-05  Wim Taymans  <wim@fluendo.com>
10813
10814         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10815         (gst_bin_get_by_name):
10816         * gst/gstbuffer.h:
10817         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10818         (gst_clock_finalize):
10819         * gst/gstdata.c: (gst_data_replace):
10820         * gst/gstdata.h:
10821         * gst/gstelement.c: (gst_element_request_pad),
10822         (gst_element_pads_activate):
10823         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10824         (gst_object_unref):
10825         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10826         (gst_pad_set_checkgetrange_function),
10827         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10828         (gst_pad_check_pull_range), (gst_pad_pull_range),
10829         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10830         (gst_pad_pause_task), (gst_pad_stop_task):
10831         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10832         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10833         Fix name lookup in GstBin.
10834         Added _data_replace() function and _buffer_replace()
10835         Use finalize method to clean up clock.
10836         Fix refcounting on request pads.
10837         Fix pad schedule mode error.
10838         Some more object refcounting debug info,
10839
10840
10841 2005-05-04  Andy Wingo <wingo@pobox.com>
10842
10843         * check/Makefile.am:
10844         * docs/gst/tmpl/gstatomic.sgml:
10845         * docs/gst/tmpl/gstplugin.sgml:
10846         * gst/base/gstbasesink.c: (gst_basesink_activate):
10847         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10848         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10849         (gst_basesrc_query), (gst_basesrc_set_property),
10850         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10851         (gst_basesrc_activate):
10852         * gst/base/gstbasesrc.h:
10853         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10854         (gst_base_transform_src_activate):
10855         * gst/elements/gstelements.c:
10856         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10857         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10858         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10859         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10860         (gst_type_find_element_checkgetrange),
10861         (gst_type_find_element_activate):
10862         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10863         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10864         (gst_caps_load_thyself):
10865         * gst/gstelement.c: (gst_element_pads_activate),
10866         (gst_element_save_thyself), (gst_element_restore_thyself):
10867         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10868         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10869         * gst/gstpad.h:
10870         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10871         (gst_xml_parse_file), (gst_xml_parse_memory),
10872         (gst_xml_get_element), (gst_xml_make_element):
10873         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10874         (_file_index_id_save_xml), (gst_file_index_commit):
10875         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10876         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10877         (load_paths):
10878         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10879         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10880         * tools/gst-complete.c: (main):
10881         * tools/gst-compprep.c: (main):
10882         * tools/gst-inspect.c: (print_element_properties_info):
10883         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10884         * tools/gst-xmlinspect.c: (print_element_properties):
10885         GCC 4 fixen.
10886         
10887 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10888
10889         * gst/gstplugin.c: (gst_plugin_check_module),
10890         (gst_plugin_check_file), (gst_plugin_load_file):
10891             apply patch from #172526 to make register work on MacOSX
10892
10893 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10894
10895         * docs/gst/tmpl/gstconfig.sgml:
10896         * gst/gstconfig.h.in:
10897           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10898         * testsuite/debug/printf_extension.c: (main):
10899           Do not use GST_PTR_FORMAT on pointers to types with
10900           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10901         * testsuite/elements/property.h:
10902           use correct printf format
10903
10904 2005-05-02  Wim Taymans  <wim@fluendo.com>
10905
10906         * docs/design/draft-push-pull.txt:
10907         * docs/design/draft-query.txt:
10908         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10909         (gst_basesrc_start):
10910         Added draft for new query API.
10911         Added draft for better selecting scheduling methods.
10912         Make basesrc ignore length if the subclass does not support
10913         it.
10914
10915 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * gst/Makefile.am:
10918           possible fixes for automake-1.5 - _LIBADD is reserved
10919
10920 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10921
10922         * docs/faq/Makefile.am:
10923         * docs/manual/Makefile.am:
10924         * docs/manuals.mak:
10925         * docs/pwg/Makefile.am:
10926         * gst/Makefile.am:
10927           possible fixes for automake-1.5
10928
10929 2005-04-28  Wim Taymans  <wim@fluendo.com>
10930
10931         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10932         (gst_basesink_pad_getcaps), (gst_basesink_init),
10933         (gst_basesink_do_sync):
10934         * gst/gstclock.c: (gst_clock_entry_new):
10935         * gst/gstevent.c: (gst_event_discont_get_value):
10936         * gst/gstpipeline.c: (pipeline_bus_handler),
10937         (gst_pipeline_change_state):
10938         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10939         Better debugging of clocking info.
10940         Allow NULL values when getting discont values.
10941
10942 2005-04-27  Wim Taymans  <wim@fluendo.com>
10943
10944         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10945         * check/gst/gstpad.c: (gst_pad_suite):
10946         Increase timeout for checks.
10947
10948 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10949
10950         * check/Makefile.am:
10951           fix the broken rule for cleanup.  Apparently this rule is
10952           only needed on FC2, so maybe this warrants further autotool
10953           inspection.
10954
10955 2005-04-26  Wim Taymans  <wim@fluendo.com>
10956
10957         * gst/gsttrashstack.h:
10958         Ooohh. a nasty one! After having a failed pop() from the stack,
10959         it's possible that the stack is empty. In that case, don't
10960         follow the NULL pointer.
10961
10962 2005-04-25  Wim Taymans  <wim@fluendo.com>
10963
10964         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10965         (gst_pad_set_checkgetrange_function),
10966         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10967         (gst_pad_check_pull_range), (gst_pad_pull_range),
10968         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10969         (gst_pad_pause_task), (gst_pad_stop_task):
10970         * gst/gstplugin.c: (gst_plugin_load):
10971         * gst/gstplugin.h:
10972         Remove gst_library_load as it does more harm than good with
10973         the new g_module flags.
10974         Revert bogus caps template check in pad linking, pad caps
10975         are important when linking not the template, which is more
10976         general than the current caps.
10977
10978 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10979
10980         * gst/autoplug/.cvsignore:
10981         * gst/autoplug/Makefile.am:
10982         * gst/autoplug/gstsearchfuncs.c:
10983         * gst/autoplug/gstsearchfuncs.h:
10984         * gst/autoplug/gstspider.c:
10985         * gst/autoplug/gstspider.h:
10986         * gst/autoplug/gstspideridentity.c:
10987         * gst/autoplug/gstspideridentity.h:
10988         * gst/autoplug/spidertest.c:
10989           Die, spider, die.
10990
10991 2005-04-25  Wim Taymans  <wim@fluendo.com>
10992
10993         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10994         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10995         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10996         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10997         * gst/gstpad.h:
10998         Added stubs for unimplemented functions. 
10999
11000 2005-04-24  David Schleef  <ds@schleef.org>
11001
11002         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11003         please fix.
11004
11005 2005-04-24  David Schleef  <ds@schleef.org>
11006
11007         Convert everything from GstAtomicInt to g_atomic_int_*, and
11008         remove gstatomic.
11009         * gst/Makefile.am:
11010         * gst/gstatomic.c:
11011         * gst/gstatomic.h:
11012         * gst/gstatomic_impl.h:
11013         * gst/gstbuffer.c:
11014         * gst/gstcaps.c:
11015         * gst/gstcaps.h:
11016         * gst/gstclock.c:
11017         * gst/gstclock.h:
11018         * gst/gstdata.c:
11019         * gst/gstdata.h:
11020         * gst/gstdata_private.h:
11021         * gst/gstevent.c:
11022         * gst/gstinfo.c:
11023         * gst/gstinfo.h:
11024         * gst/gstmessage.c:
11025         * gst/gstobject.c:
11026         * gst/gstobject.h:
11027         * gst/gststructure.c:
11028         * gst/gststructure.h:
11029         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11030         * gst/gstutils.h:
11031
11032 2005-04-24  David Schleef  <ds@schleef.org>
11033
11034         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11035         make the regressions tests work.  Remove some code that is no
11036         longer true.
11037         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11038         Disable warning for pads without templates.
11039
11040 2005-04-24  David Schleef  <ds@schleef.org>
11041
11042         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11043         functions that handle filtered links.
11044         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11045         removed functions.
11046         * gst/gstutils.c: Fix/remove utility functions that handle
11047         filtered caps.
11048         * gst/gstutils.h:
11049         * gst/gstvalue.c: Add serialization/deserialization of caps
11050         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11051         requires fixing so that the filter caps notation creates
11052         a capsfilter element and sets the filter_caps property.  I
11053         think everyone probably wants to keep the shorthand notation.
11054         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11055         * docs/gst/tmpl/gstpad.sgml:
11056
11057         * gst/elements/gstelements.c: Register capsfilter element.
11058         * gst/Makefile.am: fix spacing
11059         * docs/random/ds/0.9-suggested-changes: random
11060
11061 2005-04-23  David Schleef  <ds@schleef.org>
11062
11063         * gst/elements/Makefile.am:
11064         * gst/elements/gstcapsfilter.c: New element that acts like an
11065         identity, but filters caps.  Will eventually replace filtered
11066         caps in pad linking.
11067         * gst/gstutils.c: (gst_element_create_all_pads): New function
11068         to create all the ALWAYS pads that are registered with an
11069         element class.  This functionality should eventually be
11070         merged in with GstElement initialization.
11071         * gst/gstutils.h:
11072         * testsuite/trigger/README: part of trigger test code that should
11073         have been checked in a long time ago.
11074
11075 2005-04-23  David Schleef  <ds@schleef.org>
11076
11077         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11078         needed with new versions of libtool (nobody will confirm this),
11079         and hard to carry around.
11080         * gst/autoplug/Makefile.am:
11081         * gst/base/Makefile.am:
11082         * gst/elements/Makefile.am:
11083         * gst/indexers/Makefile.am:
11084         * gst/schedulers/Makefile.am:
11085         * libs/gst/bytestream/Makefile.am:
11086         * libs/gst/control/Makefile.am:
11087         * libs/gst/dataprotocol/Makefile.am:
11088         * libs/gst/getbits/Makefile.am:
11089
11090 2005-04-21  Wim Taymans  <wim@fluendo.com>
11091
11092         * docs/design/draft-push-pull.txt:
11093         * docs/design/part-MT-refcounting.txt:
11094         * docs/design/part-TODO.txt:
11095         * docs/design/part-caps.txt:
11096         * docs/design/part-events.txt:
11097         * docs/design/part-gstbus.txt:
11098         * docs/design/part-gstpipeline.txt:
11099         * docs/design/part-messages.txt:
11100         * docs/design/part-push-pull.txt:
11101         * docs/design/part-query.txt:
11102         Some more docs.
11103
11104 2005-04-21  Wim Taymans  <wim@fluendo.com>
11105
11106         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11107         (gst_message_new), (gst_message_new_error),
11108         (gst_message_new_warning), (gst_message_new_tag),
11109         (gst_message_new_state_changed), (gst_message_new_application),
11110         (gst_message_get_structure):
11111         * gst/gstmessage.h:
11112         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11113         (gst_structure_copy_conditional):
11114         Use parent refcount in GstMessage to ensure GstStructure
11115         consistency.
11116         Cleaned up headers a bit.
11117         
11118
11119 2005-04-20  Wim Taymans  <wim@fluendo.com>
11120
11121         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11122         (gst_basesink_pad_getcaps), (gst_basesink_init),
11123         (gst_basesink_chain_unlocked):
11124         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11125         (gst_type_find_helper):
11126         * gst/elements/gsttypefindelement.c:
11127         (gst_type_find_element_have_type), (gst_type_find_element_init),
11128         (stop_typefinding), (gst_type_find_element_handle_event),
11129         (find_suggest), (gst_type_find_element_chain),
11130         (gst_type_find_element_checkgetrange),
11131         (gst_type_find_element_getrange), (do_typefind),
11132         (gst_type_find_element_activate):
11133         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11134         (gst_buffer_default_free), (gst_buffer_default_copy),
11135         (gst_buffer_set_caps):
11136         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11137         (gst_caps_replace):
11138         * gst/gstmessage.c: (gst_message_new),
11139         (gst_message_new_state_changed):
11140         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11141         (gst_pad_set_checkgetrange_function),
11142         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11143         (gst_pad_set_caps), (gst_pad_check_pull_range),
11144         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11145         * gst/gstpad.h:
11146         * gst/gsttypefind.c: (gst_type_find_register):
11147         Make gst_caps_replace() work like other _replace() functions.
11148         Use _caps_replace() where possible.
11149         Make sure _message_new() initialises its field.
11150         Add gst_static_pad_template_get_caps()
11151
11152
11153 2005-04-18  Andy Wingo  <wingo@pobox.com>
11154
11155         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11156         on the peer, not the pad. I think that was a typo. Pass an extra
11157         arg to see if random access is possible. Activate the pads as
11158         PULL_RANGE if possible.
11159
11160         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11161
11162         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11163         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11164         to PROP_....
11165
11166 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11167
11168         * docs/faq/using.xml:
11169           Add note on gstreamer-properties (#154996).
11170
11171 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11172
11173         * docs/random/bbb/optional-properties:
11174           Some analysis on optional properties.
11175
11176 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11177
11178         * docs/gst/tmpl/gstelementfactory.sgml:
11179         * gst/gstelement.h:
11180         * gst/gstelementfactory.c: (gst_element_factory_init),
11181         (gst_element_factory_cleanup), (gst_element_register),
11182         (__gst_element_factory_add_static_pad_template),
11183         (gst_element_factory_get_static_pad_templates),
11184         (gst_element_factory_can_src_caps),
11185         (gst_element_factory_can_sink_caps):
11186         * gst/registries/Makefile.am:
11187         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11188         (gst_xml_registry_class_init), (gst_xml_registry_init),
11189         (gst_xml_registry_new), (gst_xml_registry_set_property),
11190         (gst_xml_registry_get_property), (get_time), (make_dir),
11191         (gst_xml_registry_get_perms_func),
11192         (plugin_times_older_than_recurse), (plugin_times_older_than),
11193         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11194         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11195         (add_to_char_array), (read_string), (read_uint), (read_enum),
11196         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11197         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11198         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11199         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11200         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11201         (gst_xml_registry_rebuild):
11202         * gst/registries/gstlibxmlregistry.h:
11203         * tools/gst-compprep.c: (main):
11204         * tools/gst-inspect.c: (print_pad_templates_info):
11205         * tools/gst-xmlinspect.c: (print_element_info):
11206           Use libxml2 for registry parsing, use staticpadtemplates in
11207           elementfactories. Makes gst_init() +/- 10x faster.
11208
11209 2005-04-12  Wim Taymans  <wim@fluendo.com>
11210
11211         * gst/base/Makefile.am:
11212         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11213         (gst_basesink_pad_getcaps), (gst_basesink_init),
11214         (gst_basesink_event), (gst_basesink_change_state):
11215         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11216         (gst_basesrc_init), (gst_basesrc_query),
11217         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11218         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11219         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11220         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11221         (gst_basesrc_stop), (gst_basesrc_activate),
11222         (gst_basesrc_change_state):
11223         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11224         (helper_find_suggest), (gst_type_find_helper):
11225         * gst/base/gsttypefindhelper.h:
11226         * gst/elements/Makefile.am:
11227         * gst/elements/gstelements.c:
11228         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11229         (gst_fakesink_get_times), (gst_fakesink_event),
11230         (gst_fakesink_preroll), (gst_fakesink_render):
11231         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11232         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11233         (gst_fakesrc_get_property), (gst_fakesrc_create),
11234         (gst_fakesrc_start), (gst_fakesrc_stop):
11235         * gst/elements/gstfakesrc.h:
11236         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11237         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11238         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11239         (gst_filesrc_create_read), (gst_filesrc_create),
11240         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11241         (gst_filesrc_start):
11242         * gst/elements/gsttypefindelement.c:
11243         (gst_type_find_element_have_type), (gst_type_find_element_init),
11244         (start_typefinding), (stop_typefinding), (push_buffer_store),
11245         (gst_type_find_element_handle_event),
11246         (gst_type_find_element_chain),
11247         (gst_type_find_element_checkgetrange),
11248         (gst_type_find_element_getrange), (do_typefind),
11249         (gst_type_find_element_activate),
11250         (gst_type_find_element_change_state):
11251         * gst/elements/gsttypefindelement.h:
11252         * gst/gstpipeline.c: (pipeline_bus_handler):
11253         Added typefind helper.
11254         Small preroll fix in the base sink.
11255         Disable typefind code in basesrc.
11256         Crude port of typefindelement.
11257         Fakesrc cleanups.
11258
11259
11260 2005-04-11  Wim Taymans  <wim@fluendo.com>
11261
11262         * check/gst/gstbus.c: (gstbus_suite):
11263         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11264         * check/gstcheck.h:
11265           Fix up the timeout so that the test does not fail.
11266
11267 2005-04-06  Wim Taymans  <wim@fluendo.com>
11268
11269         * gst/base/README:
11270         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11271         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11272         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11273         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11274         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11275         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11276         (gst_basesrc_stop), (gst_basesrc_activate),
11277         (gst_basesrc_change_state), (basesrc_find_peek),
11278         (basesrc_find_suggest), (gst_basesrc_type_find):
11279         * gst/base/gstbasesrc.h:
11280         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11281         (gst_filesrc_class_init), (gst_filesrc_init),
11282         (gst_filesrc_finalize), (gst_filesrc_set_location),
11283         (gst_filesrc_set_property), (gst_filesrc_get_property),
11284         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11285         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11286         (gst_filesrc_create_read), (gst_filesrc_create),
11287         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11288         * gst/elements/gstfilesrc.h:
11289         * gst/gstelement.c: (gst_element_get_state_func),
11290         (gst_element_lost_state), (gst_element_pads_activate):
11291         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11292         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11293         (gst_pad_pull_range):
11294         * gst/gstpad.h:
11295         More work on the generic source base class, implement seeking,
11296         query.
11297         Make filesrc extend the base source class.
11298         Added gst_pad_set_checkgetrange_function to GstPad.
11299
11300 2005-04-06  Andy Wingo  <wingo@pobox.com>
11301
11302         * pkgconfig/gstreamer-base.pc.in:
11303         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11304
11305         * pkgconfig/Makefile.am:
11306         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11307
11308 2005-04-04  Wim Taymans  <wim@fluendo.com>
11309
11310         * gst/base/Makefile.am:
11311         * gst/base/README:
11312         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11313         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11314         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11315         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11316         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11317         (gst_basesrc_base_init), (gst_basesrc_class_init),
11318         (gst_basesrc_init), (gst_basesrc_get_formats),
11319         (gst_basesrc_get_query_types), (gst_basesrc_query),
11320         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11321         (gst_basesrc_set_property), (gst_basesrc_get_property),
11322         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11323         (gst_basesrc_loop), (gst_basesrc_activate),
11324         (gst_basesrc_change_state):
11325         * gst/base/gstbasesrc.h:
11326         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11327         (gst_fakesrc_class_init), (gst_fakesrc_init),
11328         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11329         (gst_fakesrc_get_property), (gst_fakesrc_create):
11330         * gst/elements/gstfakesrc.h:
11331         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11332         (gst_filesrc_open_file), (gst_filesrc_loop),
11333         (gst_filesrc_activate), (filesrc_find_peek),
11334         (gst_filesrc_type_find):
11335         Made base source class, make fakesrc extend it.
11336         Add comments to basesink class.
11337         Some filesrc cleanup.
11338
11339 2005-03-31  David Schleef  <ds@schleef.org>
11340
11341         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11342         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11343         expected to link against libgstreamer.
11344         * gst/base/Makefile.am: link against libgstreamer
11345         * gst/elements/Makefile.am: same
11346
11347 2005-03-31  Andy Wingo  <wingo@pobox.com>
11348
11349         * tests/instantiate/Makefile.am:
11350         * tests/instantiate/caps.c: Add test to test speed of caps copy
11351         and free.
11352
11353         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11354         GMemChunk to be fair.
11355
11356         * gst/gsttrashstack.h: Remove warning about using the fallback
11357         trash stack implementation, it's still faster than malloc.
11358
11359 2005-03-30  Andy Wingo  <wingo@pobox.com>
11360
11361         * tests/complexity.c: Add a copyright.
11362
11363 2005-03-31  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11366         (gst_base_transform_class_init), (gst_base_transform_init),
11367         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11368         (gst_base_transform_get_property),
11369         (gst_base_transform_sink_activate),
11370         (gst_base_transform_src_activate),
11371         (gst_base_transform_change_state):
11372         * gst/base/gstbasetransform.h:
11373         * gst/elements/gstidentity.c: (gst_identity_class_init),
11374         (gst_identity_event), (gst_identity_check_perfect),
11375         (gst_identity_transform), (gst_identity_start),
11376         (gst_identity_stop):
11377         Added start/stop methods to transform base class so subclasses 
11378         don't need to deal with state changes even.
11379
11380 2005-03-31  Wim Taymans  <wim@fluendo.com>
11381
11382         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11383         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11384         * gst/gstevent.h:
11385         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11386         (gst_pad_pull_range):
11387         Added rate to the discont event to prepare for variable speed
11388         and reverse playback.
11389
11390 2005-03-29  David Schleef  <ds@schleef.org>
11391
11392         * configure.ac:
11393         * testsuite/trigger/Makefile.am:
11394         * testsuite/trigger/trigger.c: A little example program to show
11395         how trigger-based elements can work.
11396
11397 2005-03-29  Wim Taymans  <wim@fluendo.com>
11398
11399         * gst/base/Makefile.am:
11400         * gst/base/README:
11401         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11402         (gst_basesink_base_init), (gst_basesink_class_init),
11403         (gst_basesink_pad_getcaps), (gst_basesink_init),
11404         (gst_basesink_activate), (gst_basesink_change_state):
11405         * gst/base/gstbasesink.h:
11406         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11407         (gst_base_transform_base_init), (gst_base_transform_finalize),
11408         (gst_base_transform_class_init), (gst_base_transform_init),
11409         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11410         (gst_base_transform_event), (gst_base_transform_getrange),
11411         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11412         (gst_base_transform_set_property),
11413         (gst_base_transform_get_property),
11414         (gst_base_transform_sink_activate),
11415         (gst_base_transform_src_activate),
11416         (gst_base_transform_change_state):
11417         * gst/base/gstbasetransform.h:
11418         * gst/elements/gstidentity.c: (gst_identity_finalize),
11419         (gst_identity_class_init), (gst_identity_init),
11420         (gst_identity_event), (gst_identity_check_perfect),
11421         (gst_identity_transform), (gst_identity_set_property),
11422         (gst_identity_get_property), (gst_identity_change_state):
11423         * gst/elements/gstidentity.h:
11424         * gst/gstelement.c: (gst_element_get_state_func),
11425         (gst_element_lost_state), (gst_element_pads_activate):
11426         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11427         (gst_pad_check_pull_range), (gst_pad_pull_range):
11428         * gst/gstpad.h:
11429         Simplify pad activation.
11430         Added function to check if pull_range can be performed.
11431         Error out when pulling inactive or flushing pads.
11432         Removed const from refcounted types as it does not make sense.
11433         Simplify pad templates in basesink
11434         Added base class for simple 1-to-1 transforms.
11435         Make identity subclass the base transform.
11436
11437 2005-03-29  Andy Wingo  <wingo@pobox.com>
11438
11439         * docs/libs/gstreamer-libs-overrides.txt: 
11440         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11441         really don't understand what's going on, but like whatever. I want
11442         green buildbot!
11443
11444         * docs/gst/Makefile.am:
11445         * docs/libs/Makefile.am: Dist the overrides files.
11446
11447         * check/Makefile.am (clean-local): Remove .libs directories.
11448
11449         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11450         elements to EXTRA_DIST, so po/ files are happy.
11451
11452         * po/POTFILES.in: Er, remove it here.
11453
11454         * po/POTFILES: Remove gstspider.c.
11455
11456         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11457
11458         * docs/libs/gstreamer-libs-docs.sgml: 
11459         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11460         bytestream.
11461
11462         * tests/complexity.c (main): Set the length of the preroll queue
11463         on the sinks to prevent a lockup.
11464
11465         * libs/gst/dataprotocol/Makefile.am: 
11466         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11467         the same as the one in check/gst-libs/gdp.c.
11468
11469         * po/, docs/gst/: Commit automatic changes to docs and po files.
11470
11471         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11472         the versioned libgstbase.
11473
11474         * check/Makefile.am: Depend on an unversioned gst-register, seems
11475         to make autoconf happier.
11476
11477         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11478
11479 2005-03-28  Wim Taymans  <wim@fluendo.com>
11480
11481         * configure.ac:
11482         * docs/design/part-gstelement.txt:
11483         * docs/design/part-negotiation.txt:
11484         * docs/design/part-preroll.txt:
11485         * docs/design/part-scheduling.txt:
11486         * docs/design/part-states.txt:
11487         * gst/Makefile.am:
11488         * gst/base/Makefile.am:
11489         * gst/base/README:
11490         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11491         (gst_basesink_base_init), (gst_basesink_class_init),
11492         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11493         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11494         (gst_basesink_set_pad_functions),
11495         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11496         (gst_basesink_set_property), (gst_basesink_get_property),
11497         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11498         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11499         (gst_basesink_preroll_queue_push),
11500         (gst_basesink_preroll_queue_empty),
11501         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11502         (gst_basesink_event), (gst_basesink_get_times),
11503         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11504         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11505         (gst_basesink_loop), (gst_basesink_activate),
11506         (gst_basesink_change_state):
11507         * gst/base/gstbasesink.h:
11508         * gst/elements/Makefile.am:
11509         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11510         (gst_fakesink_class_init), (gst_fakesink_init),
11511         (gst_fakesink_set_property), (gst_fakesink_get_property),
11512         (gst_fakesink_get_times), (gst_fakesink_event),
11513         (gst_fakesink_preroll), (gst_fakesink_render),
11514         (gst_fakesink_change_state):
11515         * gst/elements/gstfakesink.h:
11516         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11517         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11518         * gst/gstelement.c: (gst_element_add_pad),
11519         (gst_element_get_state_func), (gst_element_abort_state),
11520         (gst_element_commit_state), (gst_element_lost_state),
11521         (gst_element_set_state), (gst_element_pads_activate):
11522         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11523         * gst/gstpipeline.c: (gst_pipeline_send_event),
11524         (gst_pipeline_change_state):
11525         Added state change code.
11526         Added/updated docs.
11527         Added sink base class, make fakesink extend the base class.
11528         Small cleanups in GstPipeline.
11529
11530 2005-03-26  David Schleef  <ds@schleef.org>
11531
11532         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11533         is broken and should be implemented in a different library.
11534         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11535         * gst/gst.h: remove gstcpu.h
11536         * gst/gstcpu.c: remove
11537         * gst/gstcpu.h: remove
11538         * gst/Makefile.am.future: Remove this file.  It's ancient.
11539
11540 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11541
11542         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11543         (gst_bin_send_event):
11544           Add default event/set_manager handlers. The set_manager handler
11545           takes care that the manager is distributed over kids that were
11546           already in the bin before the manager was set. The event handler
11547           is a utility virtual function that sends the event over all sinks,
11548           so that gst_element_send_event (bin, event); has the expected
11549           behaviour.
11550         * gst/gstpad.c: (gst_pad_event_default):
11551           Re-install default event handling for discontinuities, so that
11552           seeking works without requiring hacks in applications or extra
11553           code in sinks.
11554         * gst/gstpipeline.c: (gst_pipeline_class_init),
11555         (gst_pipeline_send_event):
11556           Half hack, half utility: set a pipeline to PAUSED for seek events,
11557           since that is the only way we can guarantee a/v sync. Means that
11558           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11559           and it "just works".
11560
11561 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11562
11563         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11564           Lock/unlock mismatch.
11565
11566 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11567
11568         * docs/faq/gst-uninstalled:
11569           add gst-plugins-base
11570         * docs/gst/Makefile.am:
11571           don't error out until docs are fixed
11572         * docs/gst/gstreamer.types:
11573           remove thread
11574
11575 2005-03-22  Wim Taymans  <wim@fluendo.com>
11576
11577         * check/Makefile.am:
11578         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11579         * gst/gststructure.c: (gst_structure_set_valist),
11580         (gst_structure_copy_conditional):
11581         Activated more tests.
11582         Added message test.
11583         Added G_TYPE_POINTER to GstStructure.
11584         
11585
11586 2005-03-22  Wim Taymans  <wim@fluendo.com>
11587
11588         * docs/design/part-TODO.txt:
11589         * docs/design/part-events.txt:
11590         * docs/design/part-gstbin.txt:
11591         * docs/design/part-gstbus.txt:
11592         * docs/design/part-gstpipeline.txt:
11593         * docs/design/part-messages.txt:
11594         * gst/gstbus.c:
11595         * gst/gstmessage.c:
11596         Docs updates
11597
11598 2005-03-21  Wim Taymans  <wim@fluendo.com>
11599
11600         * gst/gstbus.c: (gst_bus_post):
11601         Fix copy-and-paste error.
11602
11603 2005-03-21  Wim Taymans  <wim@fluendo.com>
11604
11605         * check/Makefile.am:
11606         * gst/Makefile.am:
11607         * gst/elements/Makefile.am:
11608         * gst/elements/gstelements.c:
11609         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11610         (gst_fakesink_event), (gst_fakesink_chain):
11611         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11612         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11613         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11614         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11615         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11616         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11617         (gst_fakesrc_loop), (gst_fakesrc_activate),
11618         (gst_fakesrc_change_state):
11619         * gst/elements/gstfakesrc.h:
11620         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11621         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11622         (gst_filesrc_open_file), (gst_filesrc_loop),
11623         (gst_filesrc_activate), (gst_filesrc_change_state),
11624         (filesrc_find_peek), (filesrc_find_suggest),
11625         (gst_filesrc_type_find):
11626         * gst/elements/gstidentity.c: (gst_identity_finalize),
11627         (gst_identity_class_init), (gst_identity_init),
11628         (gst_identity_proxy_getcaps), (identity_queue_push),
11629         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11630         (gst_identity_getrange), (gst_identity_chain),
11631         (gst_identity_sink_loop), (gst_identity_src_loop),
11632         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11633         (gst_identity_set_property), (gst_identity_get_property),
11634         (gst_identity_change_state):
11635         * gst/elements/gstidentity.h:
11636         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11637         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11638         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11639         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11640         (gst_tee_sink_activate):
11641         * gst/elements/gsttee.h:
11642         * gst/gst.c: (gst_register_core_elements), (init_post):
11643         * gst/gst.h:
11644         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11645         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11646         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11647         (gst_bin_change_state):
11648         * gst/gstbin.h:
11649         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11650         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11651         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11652         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11653         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11654         (bus_watch_callback), (bus_watch_destroy),
11655         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11656         (poll_timeout), (gst_bus_poll):
11657         * gst/gstbus.h:
11658         * gst/gstcaps.h:
11659         * gst/gstdata.h:
11660         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11661         (gst_element_post_message), (gst_element_message_full),
11662         (gst_element_get_state_func), (gst_element_get_state),
11663         (gst_element_abort_state), (gst_element_commit_state),
11664         (gst_element_lost_state), (gst_element_set_state),
11665         (gst_element_pads_activate), (gst_element_change_state),
11666         (gst_element_dispose), (gst_element_set_manager_func),
11667         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11668         (gst_element_set_manager), (gst_element_get_manager),
11669         (gst_element_set_bus), (gst_element_get_bus),
11670         (gst_element_set_scheduler), (gst_element_get_scheduler):
11671         * gst/gstelement.h:
11672         * gst/gstevent.c: (gst_event_new_segment_seek),
11673         (gst_event_new_flush):
11674         * gst/gstevent.h:
11675         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11676         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11677         (gst_message_new_eos), (gst_message_new_error),
11678         (gst_message_new_warning), (gst_message_new_tag),
11679         (gst_message_new_state_changed), (gst_message_new_application),
11680         (gst_message_get_structure), (gst_message_parse_tag),
11681         (gst_message_parse_state_changed), (gst_message_parse_error),
11682         (gst_message_parse_warning):
11683         * gst/gstmessage.h:
11684         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11685         (gst_real_pad_set_property), (gst_pad_set_active),
11686         (gst_pad_is_active), (gst_pad_set_blocked_async),
11687         (gst_pad_set_blocked), (gst_pad_is_blocked),
11688         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11689         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11690         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11691         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11692         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11693         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11694         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11695         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11696         (gst_pad_set_caps), (gst_pad_configure_sink),
11697         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11698         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11699         (gst_real_pad_dispose), (gst_real_pad_finalize),
11700         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11701         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11702         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11703         * gst/gstpad.h:
11704         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11705         (pipeline_bus_handler), (gst_pipeline_change_state),
11706         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11707         * gst/gstpipeline.h:
11708         * gst/gstprobe.h:
11709         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11710         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11711         (gst_queue_link_src), (gst_queue_bufferalloc),
11712         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11713         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11714         (gst_queue_loop), (gst_queue_handle_src_event),
11715         (gst_queue_handle_src_query), (gst_queue_src_activate),
11716         (gst_queue_change_state):
11717         * gst/gstqueue.h:
11718         * gst/gstscheduler.c: (gst_scheduler_init),
11719         (gst_scheduler_dispose), (gst_scheduler_create_task),
11720         (gst_scheduler_factory_create):
11721         * gst/gstscheduler.h:
11722         * gst/gststructure.c: (gst_structure_get_type),
11723         (gst_structure_copy_conditional):
11724         * gst/gststructure.h:
11725         * gst/gsttaginterface.h:
11726         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11727         (gst_task_init), (gst_task_dispose), (gst_task_create),
11728         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11729         (gst_task_pause):
11730         * gst/gsttask.h:
11731         * gst/gstthread.c:
11732         * gst/gstthread.h:
11733         * gst/gsttypes.h:
11734         * gst/schedulers/Makefile.am:
11735         * gst/schedulers/cothreads_compat.h:
11736         * gst/schedulers/entryscheduler.c:
11737         * gst/schedulers/faircothreads.c:
11738         * gst/schedulers/faircothreads.h:
11739         * gst/schedulers/fairscheduler.c:
11740         * gst/schedulers/gstbasicscheduler.c:
11741         * gst/schedulers/gstoptimalscheduler.c:
11742         * gst/schedulers/gthread-cothreads.h:
11743         * gst/schedulers/threadscheduler.c:
11744         (gst_thread_scheduler_task_get_type),
11745         (gst_thread_scheduler_task_class_init),
11746         (gst_thread_scheduler_task_init),
11747         (gst_thread_scheduler_task_start),
11748         (gst_thread_scheduler_task_stop),
11749         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11750         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11751         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11752         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11753         (plugin_init):
11754         * libs/gst/Makefile.am:
11755         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11756         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11757         (gst_file_pad_parent_set):
11758         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11759         (gst_dp_event_from_packet):
11760         * tests/complexity.c: (main):
11761         * tests/mass_elements.c: (main):
11762         * testsuite/states/locked.c: (message_received), (main):
11763         * testsuite/states/parent.c: (main):
11764         * tools/gst-inspect.c: (print_element_flag_info),
11765         (print_implementation_info), (print_pad_info):
11766         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11767         (main):
11768         * tools/gst-md5sum.c: (event_loop), (main):
11769         * tools/gst-typefind.c: (main):
11770         * tools/gst-xmlinspect.c: (print_element_info):
11771         Next big merge.
11772         Added GstBus for mainloop integration.
11773         Added GstMessage for sending notifications on the bus.
11774         Added GstTask as an abstraction for pipeline entry points.
11775         Removed GstThread.
11776         Removed Schedulers.
11777         Simplified GstQueue for multithreaded core.
11778         Made _link threadsafe, removed old capsnego.
11779         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11780         Added pad blocking functions.
11781         Reworked scheduling functions in GstPad to prepare for
11782         scheduling updates soon.
11783         Moved events out of data stream.
11784         Simplified GstEvent types.
11785         Added return values to push/pull.
11786         Removed clocking from GstElement.
11787         Added prototypes for state change function for next merge.
11788         Removed iterate from bins and state change management.
11789         Fixed some elements, disabled others for now.
11790         Fixed -inspect and -launch.
11791         Added check for GstBus.
11792
11793 2005-03-10  Wim Taymans  <wim@fluendo.com>
11794
11795         * docs/design/part-MT-refcounting.txt:
11796         * docs/design/part-clocks.txt:
11797         * docs/design/part-gstelement.txt:
11798         * docs/design/part-gstobject.txt:
11799         * docs/design/part-standards.txt:
11800         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11801         (gst_bin_remove_func), (gst_bin_remove):
11802         * gst/gstbin.h:
11803         * gst/gstbuffer.c:
11804         * gst/gstcaps.h:
11805         * testsuite/clock/clock1.c: (main):
11806         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11807         (main):
11808         * testsuite/dlopen/loadgst.c: (do_test):
11809         * testsuite/refcounting/bin.c: (add_remove_test1),
11810         (add_remove_test2), (main):
11811         * testsuite/refcounting/element.c: (main):
11812         * testsuite/refcounting/element_pad.c: (main):
11813         * testsuite/refcounting/pad.c: (main):
11814         * tools/gst-launch.c: (sigint_handler_sighandler):
11815         * tools/gst-typefind.c: (main):
11816         Doc updates.
11817         Added doc about clock.
11818         removed gst_bin_iterate_recurse_up(), marked methods
11819         for removal.
11820         Fix more testsuites.
11821
11822 2005-03-09  Wim Taymans  <wim@fluendo.com>
11823
11824         * gst/gstpad.c: (gst_pad_get_direction),
11825         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11826         (gst_pad_collect_valist):
11827         * testsuite/bins/interface.c: (main):
11828         * testsuite/caps/audioscale.c: (test_caps):
11829         * testsuite/caps/caps.c: (test1), (test2), (test3):
11830         * testsuite/caps/deserialize.c: (main):
11831         * testsuite/caps/enumcaps.c: (main):
11832         * testsuite/caps/filtercaps.c: (main):
11833         * testsuite/caps/intersect2.c: (main):
11834         * testsuite/caps/random.c: (main):
11835         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11836         * testsuite/caps/sets.c: (check_caps):
11837         * testsuite/caps/simplify.c: (check_caps), (main):
11838         * testsuite/caps/subtract.c: (check_caps):
11839         Fix _pad_get_direction wrt ghostpads.
11840         Fix caps testsuite.
11841
11842 2005-03-09  Wim Taymans  <wim@fluendo.com>
11843
11844         * check/Makefile.am:
11845         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11846         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11847         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11848         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11849         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11850         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11851         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11852         (bin_element_is_sink), (gst_bin_iterate_sinks),
11853         (gst_bin_iterate_all_by_interface):
11854         * gst/gstbin.h:
11855         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11856         (gst_element_change_state), (gst_element_dispose),
11857         (gst_element_finalize), (gst_element_set_loop_function):
11858         * gst/gstelement.h:
11859         * gst/gstiterator.c: (find_custom_fold_func):
11860         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11861         (gst_pad_collectv), (gst_pad_collect_valist),
11862         (gst_pad_template_new):
11863         * gst/gstpipeline.c: (gst_pipeline_class_init),
11864         (gst_pipeline_dispose), (gst_pipeline_set_property),
11865         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11866         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11867         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11868         * gst/gstutils.h:
11869         * gst/schedulers/entryscheduler.c:
11870         * gst/schedulers/gstbasicscheduler.c:
11871         (gst_basic_scheduler_cothreaded_chain),
11872         (gst_basic_scheduler_chain_add_element):
11873         * testsuite/bins/interface.c: (main):
11874         Added GstBin test.
11875         Added GstSystemClock test.
11876         Implemented clock distribution code in GstBin.
11877         Implemented iterate sinks method for future use.
11878         Rearranged gstelement.h
11879         Fix GstIterator comparison bug.
11880         Moved some code to GstPipeline, mostly clocking related.
11881
11882 2005-03-09  Wim Taymans  <wim@fluendo.com>
11883
11884         * configure.ac:
11885         * gst/gst_private.h:
11886         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11887         (gst_bin_remove_func), (gst_bin_remove),
11888         (gst_bin_get_by_name_recurse_up):
11889         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11890         (gst_clock_id_compare_func), (gst_clock_id_wait),
11891         (gst_clock_id_wait_async), (gst_clock_init),
11892         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11893         * gst/gstelement.h:
11894         * gst/gstinfo.c: (_gst_debug_init):
11895         * gst/gstobject.h:
11896         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11897         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11898         * gst/gstpad.h:
11899         Bump version number, we're now 0.9.0
11900         Add future debugging category.
11901         Fix NULL _unref() in _get_by_name_recurse_up
11902         Rearrange gstpad.h.
11903         Update some docs.
11904
11905 2005-03-08  Wim Taymans  <wim@fluendo.com>
11906
11907         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11908         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11909         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11910         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11911         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11912         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11913         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11914         * gst/elements/gstidentity.c: (gst_identity_class_init):
11915         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11916         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11917         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11918         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11919         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11920         (gst_tee_link):
11921         * gst/gstelement.c: (gst_element_class_init),
11922         (gst_element_base_class_init), (gst_element_init),
11923         (gst_element_get_random_pad), (gst_element_wait_state_change),
11924         (gst_element_change_state), (gst_element_dispose),
11925         (gst_element_finalize), (gst_element_set_loop_function):
11926         * gst/gstelement.h:
11927         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11928         * gst/gstthread.c: (gst_thread_class_init),
11929         (gst_thread_release_children_locks), (gst_thread_change_state):
11930         * gst/schedulers/gstbasicscheduler.c:
11931         (gst_basic_scheduler_loopfunc_wrapper),
11932         (gst_basic_scheduler_chain_wrapper),
11933         (gst_basic_scheduler_src_wrapper),
11934         (gst_basic_scheduler_remove_element):
11935         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11936         Remove threadsafe properties. Fix elements because GObject
11937         complains when installing a property before declaring a
11938         set/get_property handler.
11939         Rearrange gstelement.h file, use STATE macros for state locks.
11940         Free mutexes in the finalize method instead of dispose.
11941
11942 2005-03-08  Wim Taymans  <wim@fluendo.com>
11943
11944         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11945         * gst/gstthread.c: (gst_thread_release_children_locks):
11946         Added parentage check.
11947         Fix build og GstThread again.
11948
11949 2005-03-08  Wim Taymans  <wim@fluendo.com>
11950
11951         * docs/design/part-MT-refcounting.txt:
11952         * docs/design/part-conventions.txt:
11953         * docs/design/part-gstobject.txt:
11954         * docs/design/part-relations.txt:
11955         * docs/design/part-standards.txt:
11956         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11957         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11958         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11959         (gst_bin_iterate_all_by_interface):
11960         * gst/gstbuffer.h:
11961         * gst/gstclock.h:
11962         * gst/gstelement.c: (gst_element_class_init),
11963         (gst_element_change_state), (gst_element_set_loop_function):
11964         * gst/gstelement.h:
11965         * gst/gstiterator.c:
11966         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11967         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11968         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11969         (gst_object_set_parent), (gst_object_unparent),
11970         (gst_object_check_uniqueness):
11971         * gst/gstobject.h:
11972         Docs updates, clean up some headers.
11973
11974 2005-03-07  Wim Taymans  <wim@fluendo.com>
11975
11976         * check/.cvsignore:
11977         * check/Makefile.am:
11978         * check/gst-libs/.cvsignore:
11979         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11980         * check/gst/.cvsignore:
11981         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11982         (START_TEST), (gstbus_suite), (main):
11983         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11984         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11985         (gst_data_suite), (main):
11986         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11987         (add_fold_func), (gstiterator_suite), (main):
11988         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11989         (thread_name_object), (thread_name_object_default),
11990         (gst_object_name_compare), (gst_object_suite), (main):
11991         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11992         (gst_pad_suite), (main):
11993         * check/gstcheck.c: (gst_check_log_message_func),
11994         (gst_check_log_critical_func), (gst_check_init):
11995         * check/gstcheck.h:
11996         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11997         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11998         Added checks.
11999
12000 2005-03-07  Wim Taymans  <wim@fluendo.com>
12001
12002         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12003         (gst_list_iterator_next), (gst_list_iterator_resync),
12004         (gst_list_iterator_free), (gst_iterator_new_list),
12005         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12006         (gst_iterator_free), (gst_iterator_push), (filter_next),
12007         (filter_resync), (filter_uninit), (filter_free),
12008         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12009         (gst_iterator_foreach), (find_custom_fold_func),
12010         (gst_iterator_find_custom):
12011         * gst/gstiterator.h:
12012         Added missing files.
12013
12014 2005-03-07  Wim Taymans  <wim@fluendo.com>
12015
12016         * Makefile.am:
12017         * configure.ac:
12018         * docs/design/part-MT-refcounting.txt:
12019         * docs/design/part-conventions.txt:
12020         * docs/design/part-gstobject.txt:
12021         * docs/design/part-relations.txt:
12022         * examples/mixer/mixer.c: (main):
12023         * examples/thread/thread.c: (eos), (main):
12024         * gst/Makefile.am:
12025         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12026         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12027         (gst_spider_plug_from_srcpad):
12028         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12029         (gst_spider_identity_change_state),
12030         (gst_spider_identity_sink_loop_type_finding):
12031         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12032         * gst/elements/gstidentity.c: (gst_identity_init):
12033         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12034         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12035         * gst/elements/gsttypefindelement.c: (free_entry):
12036         * gst/gst.c:
12037         * gst/gst.h:
12038         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12039         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12040         (gst_bin_set_index), (gst_bin_set_element_sched),
12041         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12042         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12043         (gst_bin_iterate_elements), (iterate_child_recurse),
12044         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12045         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12046         (compare_interface), (gst_bin_get_by_interface),
12047         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12048         * gst/gstbin.h:
12049         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12050         (gst_buffer_default_free), (gst_buffer_default_copy),
12051         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12052         (gst_buffer_create_sub):
12053         * gst/gstbuffer.h:
12054         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12055         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12056         (gst_caps_unref), (gst_static_caps_get),
12057         (gst_caps_remove_and_get_structure), (gst_caps_append),
12058         (gst_caps_append_structure), (gst_caps_remove_structure),
12059         (gst_caps_copy_nth), (gst_caps_set_simple),
12060         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12061         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12062         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12063         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12064         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12065         (gst_caps_structure_figure_out_union),
12066         (gst_caps_switch_structures), (gst_caps_do_simplify),
12067         (gst_caps_replace), (gst_caps_from_string),
12068         (gst_caps_copy_conditional):
12069         * gst/gstcaps.h:
12070         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12071         (_gst_clock_id_free), (gst_clock_id_unref),
12072         (gst_clock_id_compare_func), (gst_clock_id_wait),
12073         (gst_clock_id_wait_async), (gst_clock_class_init),
12074         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12075         (gst_clock_get_time), (gst_clock_set_time_adjust),
12076         (gst_clock_set_property), (gst_clock_get_property):
12077         * gst/gstclock.h:
12078         * gst/gstcompat.h:
12079         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12080         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12081         * gst/gstdata.h:
12082         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12083         (gst_element_requires_clock), (gst_element_provides_clock),
12084         (gst_element_set_clock), (gst_element_clock_wait),
12085         (gst_element_wait), (gst_element_set_time_delay),
12086         (gst_element_is_indexable), (gst_element_add_pad),
12087         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12088         (pad_compare_name), (gst_element_get_static_pad),
12089         (gst_element_request_pad), (gst_element_get_request_pad),
12090         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12091         (gst_element_class_get_pad_template_list),
12092         (gst_element_class_get_pad_template), (gst_element_error_func),
12093         (gst_element_get_random_pad), (gst_element_get_event_masks),
12094         (gst_element_send_event), (gst_element_seek),
12095         (gst_element_get_query_types), (gst_element_query),
12096         (gst_element_get_formats), (gst_element_convert),
12097         (gst_element_is_locked_state), (gst_element_set_locked_state),
12098         (gst_element_sync_state_with_parent), (gst_element_change_state),
12099         (gst_element_finalize), (gst_element_yield),
12100         (gst_element_interrupt), (gst_element_set_scheduler),
12101         (gst_element_get_scheduler), (gst_element_set_loop_function):
12102         * gst/gstelement.h:
12103         * gst/gstevent.h:
12104         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12105         (gst_format_get_by_nick), (gst_format_get_details),
12106         (gst_format_iterate_definitions):
12107         * gst/gstformat.h:
12108         * gst/gstindex.c: (gst_index_gtype_resolver):
12109         * gst/gstinfo.c:
12110         * gst/gstinfo.h:
12111         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12112         (gst_mem_chunk_free):
12113         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12114         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12115         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12116         (gst_object_dispatch_properties_changed),
12117         (gst_object_set_name_default), (gst_object_set_name),
12118         (gst_object_get_name), (gst_object_set_name_prefix),
12119         (gst_object_get_name_prefix), (gst_object_set_parent),
12120         (gst_object_get_parent), (gst_object_unparent),
12121         (gst_object_check_uniqueness), (gst_object_save_thyself),
12122         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12123         (gst_object_set_property), (gst_object_get_property),
12124         (gst_object_get_path_string):
12125         * gst/gstobject.h:
12126         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12127         (gst_real_pad_init), (gst_real_pad_get_property),
12128         (gst_pad_custom_new), (gst_pad_get_direction),
12129         (gst_pad_set_active), (gst_pad_is_active),
12130         (gst_pad_set_event_function), (gst_pad_is_linked),
12131         (gst_pad_link_free), (gst_pad_link_intersect),
12132         (gst_pad_link_fixate), (gst_pad_set_caps),
12133         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12134         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12135         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12136         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12137         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12138         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12139         (gst_pad_realize), (gst_pad_get_allowed_caps),
12140         (gst_real_pad_dispose), (gst_real_pad_finalize),
12141         (gst_pad_collectv), (gst_pad_collect_valist),
12142         (gst_pad_template_dispose), (gst_pad_template_new),
12143         (gst_pad_get_internal_links):
12144         * gst/gstpad.h:
12145         * gst/gstpipeline.c: (gst_pipeline_dispose),
12146         (gst_pipeline_change_state):
12147         * gst/gstpipeline.h:
12148         * gst/gstplugin.c:
12149         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12150         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12151         * gst/gstpluginfeature.h:
12152         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12153         * gst/gstquery.c: (_gst_query_type_initialize),
12154         (gst_query_type_register), (gst_query_type_get_by_nick),
12155         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12156         * gst/gstquery.h:
12157         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12158         * gst/gstscheduler.c: (gst_scheduler_add_element),
12159         (gst_scheduler_factory_create):
12160         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12161         (gst_structure_free), (gst_structure_set_name),
12162         (gst_structure_id_set_value), (gst_structure_set_value),
12163         (gst_structure_set_valist), (gst_structure_remove_field),
12164         (gst_structure_remove_fields),
12165         (gst_structure_remove_fields_valist),
12166         (gst_structure_remove_all_fields), (gst_structure_foreach),
12167         (gst_structure_map_in_place),
12168         (gst_caps_structure_fixate_field_nearest_int),
12169         (gst_caps_structure_fixate_field_nearest_double):
12170         * gst/gststructure.h:
12171         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12172         (gst_system_clock_init), (gst_system_clock_dispose),
12173         (gst_system_clock_async_thread),
12174         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12175         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12176         * gst/gstsystemclock.h:
12177         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12178         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12179         * gst/gsttaginterface.c:
12180         * gst/gstthread.c: (gst_thread_dispose),
12181         (gst_thread_release_children_locks), (gst_thread_change_state),
12182         (gst_thread_main_loop):
12183         * gst/gsttrashstack.h:
12184         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12185         * gst/gsttypes.h:
12186         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12187         (gst_element_request_pad), (gst_element_get_pad_from_template),
12188         (gst_element_request_compatible_pad),
12189         (gst_element_get_compatible_pad_filtered),
12190         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12191         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12192         (gst_element_link_many), (gst_element_link),
12193         (gst_element_link_pads), (gst_element_unlink_pads),
12194         (gst_element_unlink_many), (gst_element_unlink),
12195         (gst_pad_can_link_filtered), (gst_pad_can_link),
12196         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12197         (gst_object_default_error), (gst_bin_add_many),
12198         (gst_bin_remove_many), (gst_element_populate_std_props),
12199         (gst_element_class_install_std_props), (gst_buffer_merge),
12200         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12201         (link_fold_func), (gst_pad_proxy_setcaps):
12202         * gst/gstutils.h:
12203         * gst/gstvalue.c: (gst_value_deserialize_string):
12204         * gst/parse/grammar.y:
12205         * gst/schedulers/gstbasicscheduler.c:
12206         (gst_basic_scheduler_cothreaded_chain),
12207         (gst_basic_scheduler_chain_recursive_add),
12208         (gst_basic_scheduler_pad_link):
12209         * gst/schedulers/gstoptimalscheduler.c:
12210         (get_group_schedule_function),
12211         (gst_opt_scheduler_state_transition),
12212         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12213         * libs/gst/bytestream/bytestream.c:
12214         * libs/gst/dataprotocol/dataprotocol.c:
12215         (gst_dp_header_from_buffer):
12216         * po/nb.po:
12217         * po/ru.po:
12218         * tests/threadstate/threadstate2.c: (eos):
12219         * tools/gst-compprep.c: (main):
12220         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12221         (print_pad_info), (print_children_info):
12222         * tools/gst-launch.c: (idle_func), (main):
12223         * tools/gst-md5sum.c: (idle_func), (main):
12224         * tools/gst-xmlinspect.c: (print_element_info):
12225         First THREADED backport attempt, focusing on adding locks and
12226         making sure the API is threadsafe. Needs more work. More docs
12227         follow this week.
12228
12229 2005-02-24  Andy Wingo  <wingo@pobox.com>
12230
12231         * tests/bench-complexity.scm:
12232         * tests/complexity.gnuplot: New files, good for running complexity
12233         benchmarks.
12234
12235         * tests/Makefile.am:
12236         * tests/complexity.c: New test, sets up N elements, at each level
12237         teeing into M streams per element. Eeeenteresting.
12238
12239         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12240         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12241         running bench-mass_elements.scm.
12242
12243         * tests/bench-mass_elements.scm: New script, runs mass_elements
12244         for various numbers of identities, outputting the results to a
12245         file. Requires guile 1.6. Just for testing.
12246
12247 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12248
12249         * gst/schedulers/fairscheduler.c:
12250           compile with debug disabled
12251
12252 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12253
12254         * configure.ac:
12255           hunting season on 0.9 is now OPEN