check/pipelines/simple_launch_lines.c: use more check API and less GLib API
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4         (GST_START_TEST):
5           use more check API and less GLib API
6
7 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8
9         * Makefile.am:
10           don't run checks if we don't have check
11         * common/check.mak:
12           remove the registry when running make torture
13         * docs/gst/gstreamer-sections.txt:
14           remove second multiply
15         * gst/gstqueue.c: (gst_queue_loop):
16           fix a compile warning when disabling debug
17
18 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19
20         * gst/gstinfo.h:
21         Hey! Let's print the pad name if the pointer != NULL instead
22         of when it == NULL :-)
23
24 2005-11-28  Wim Taymans  <wim@fluendo.com>
25
26         * check/gst/gstutils.c: (GST_START_TEST):
27         Updated check, add some scaling accuracy checking code.
28
29         * gst/gstutils.c: (gst_util_div128_64),
30         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
31         (gst_util_uint64_scale_int):
32         Fix 6 times faster division code. Optimize for common 
33         1/1 and less common X/1 cases.
34
35 2005-11-28  Wim Taymans  <wim@fluendo.com>
36
37         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
38         More checks.
39
40         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
41         (do_linear_regression), (gst_clock_add_observation):
42         Cleanups.
43         Release lock when the clock cannot be slaved.
44         Catch the case where the regression returned an invalid denominator.
45
46         * gst/gstutils.c: (gst_util_div128_64_iterate),
47         (gst_util_div128_64), (gst_util_uint64_scale_int64),
48         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
49         Add protentially more performant non-iterative 128/64 divide function
50         that unfortunatly does not work yet.
51         Shortcut the trivial 0/X = 0 case.
52         Remove the warnings on overflow.
53
54 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
55
56         * gst/gstplugin.c: (gst_plugin_register_func):
57           everything causing a plugin not to load should be at least a WARNING
58
59 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
60
61         * docs/random/ensonic/dparams.txt:
62           some TODOs for the next dev cycle
63         * libs/gst/controller/gstcontroller.c:
64         (gst_controlled_property_set_interpolation_mode),
65         (gst_controlled_property_new):
66         * libs/gst/controller/gstcontroller.h:
67           use base type to assign acccessor functions
68
69 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
70
71         * check/Makefile.am:
72         Oops, that should have been top_srcdir
73
74 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
75
76         * check/Makefile.am:
77         * check/elements/fdsrc.c: (GST_START_TEST):
78         Use a cmdline define to specify the location of a file to use for
79         testing, to avoid breaking distcheck.
80
81 2005-11-28  Andy Wingo  <wingo@pobox.com>
82
83         * gst/gstpad.c (fixate_value): Use array functions for arrays.
84
85 2005-11-28  Edward Hervey  <edward@fluendo.com>
86
87         * tools/gst-launch.c: (main):
88         Clarify the output strings, makes it easier to translate.
89         Fixes #322626
90
91 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
92
93         * gst/Makefile.am:
94           don't try and build net if we don't even have <sys/socket.h>
95
96 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
97
98         * check/Makefile.am:
99         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
100         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
101           Add tests for fdsrc seekability
102
103         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
104         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
105         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
106         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
107         * gst/elements/gstfdsrc.h:
108           fdsrc should not be a 'live' source.
109           Implement seeking on seekable fd's.
110
111         * gst/gstquery.c: (gst_query_new_seeking),
112         (gst_query_parse_seeking):
113         * gst/gstquery.h:
114           Implement SEEKING query functions: 
115             *_new_seeking and *_parse_seeking
116
117 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
118
119         * gst/gstelement.c: (gst_element_dispose):
120           don't loop forever
121
122         * gst/gstiterator.c:
123         * gst/gststructure.c:
124           doc fixes
125
126         * libs/gst/controller/gstcontroller.c:
127         (gst_controlled_property_set_interpolation_mode):
128         * libs/gst/controller/gstcontroller.h:
129         * libs/gst/controller/gstinterpolation.c:
130         (interpolate_none_get_enum_value_array):
131           support controlling enums
132
133 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
134
135         * gst/gstvalue.c:
136           Improve documentation for gst_value_union().
137
138         * gst/gstvalue.h:
139           Change return value for union, intersect and subtract functions
140           from gint to gboolean.
141
142 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
143
144         * gst/gstvalue.c: (gst_value_serialize_any_list),
145         (gst_value_transform_any_list_string),
146         (gst_value_deserialize_list), (gst_value_deserialize_array),
147         (gst_value_set_int_range), (gst_value_deserialize_int_range),
148         (gst_value_set_double_range), (gst_value_deserialize_double_range),
149         (gst_value_set_fraction_range_full),
150         (gst_value_deserialize_fraction_range),
151         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
152         (gst_value_deserialize_boolean),
153         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
154         (gst_value_serialize_float), (gst_value_deserialize_float),
155         (gst_string_wrap), (gst_value_deserialize_string),
156         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
157         (gst_value_union_int_range_int_range),
158         (gst_value_intersect_int_range_int_range),
159         (gst_value_intersect_double_range_double_range),
160         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
161         (gst_value_subtract_int_range_int_range),
162         (gst_value_subtract_double_double_range),
163         (gst_value_subtract_double_range_double_range),
164         (gst_value_deserialize_fraction):
165         * gst/gstvalue.h:
166           Use gint, gdouble and gchar in our API instead of int, double and
167           char (and make usage in gstvalue.c more consistent).
168
169 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
170
171         * check/Makefile.am:
172         * libs/gst/controller/Makefile.am:
173         * libs/gst/dataprotocol/Makefile.am:
174           fix up Makefile.am and remove GST_ENABLE_NEW
175
176 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
177
178         * configure.ac:
179         * gst/Makefile.am:
180         * gst/base/Makefile.am:
181         * gst/check/Makefile.am:
182         * gst/elements/Makefile.am:
183         * gst/net/Makefile.am:
184           update LDFLAGS use some more
185
186 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
187
188         * common/m4/gst-doc.m4:
189           Fixes #312589
190
191 2005-11-26  Edward Hervey  <edward@fluendo.com>
192
193         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
194         This shouldn't issue a g_warning since it returns NULL if it
195         couldn't find the plugin, and all functions using this behave
196         properly on a NULL return. Switching to a GST_WARNING.
197
198 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
199
200         * gst/gstbin.c: (gst_bin_handle_message_func):
201         Don't leak clock messages.
202
203 2005-11-25  Wim Taymans  <wim@fluendo.com>
204
205         * gst/gstutils.c: (gst_util_uint64_scale_int64),
206         (gst_util_uint64_scale_int):
207         Optimisations, remove unneeded vars.
208
209 2005-11-25  Wim Taymans  <wim@fluendo.com>
210
211         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
212         Added more checks for the high precision uint64 cases.
213
214         * gst/gstutils.c: (gst_util_uint64_scale_int64),
215         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
216         Implement high precission (guint64 * guint64) / guint64.
217
218 2005-11-24  Wim Taymans  <wim@fluendo.com>
219
220         * gst/base/gstbasesrc.c: (gst_base_src_query):
221         Fix wrong percentage query.
222
223         * gst/gstutils.c: (gst_util_uint64_scale),
224         (gst_util_uint64_scale_int):
225         Add some more common cases that can be handled 
226         efficiently to _scale.
227
228 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
229
230         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
231         (gst_mini_object_suite):
232           don't use check calls from threads; check probably isn't
233           threadsafe and using a lock to make it threadsafe would
234           defeat the purpose of this check
235         * gst/check/gstcheck.c:
236         * gst/check/gstcheck.h:
237           use GST_DEBUG some more
238
239 2005-11-24  Wim Taymans  <wim@fluendo.com>
240
241         * gst/gstutils.c: (gst_util_uint64_scale),
242         (gst_util_uint64_scale_int):
243         Chain trivial case to _scale_int.
244
245 2005-11-24  Wim Taymans  <wim@fluendo.com>
246
247         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
248         Added test for scaling.
249
250         * gst/gstclock.h:
251         Small doc fix.
252
253         * gst/gstutils.c: (gst_util_uint64_scale_int):
254         Implemented high precision scaling code.
255
256 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
257
258         * gst/gstinfo.h:
259           do not crash on pad==NULL
260
261 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
262
263         Patch by: Stefan Kost
264
265         * common/gtk-doc.mak:
266         * docs/gst/Makefile.am:
267         * docs/libs/Makefile.am:
268           Fix distcheck issues for the libraries docs build
269           Closes #319599.
270
271 2005-11-24  Michael Smith <msmith@fluendo.com>
272
273         * docs/manual/basics-helloworld.xml:
274           Fix bug #315027: memory leak in example code in docs.
275
276 2005-11-24  Michael Smith <msmith@fluendo.com>
277
278         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
279           Unlock the PREROLL_LOCK in a failure case.
280
281 2005-11-24  Wim Taymans  <wim@fluendo.com>
282
283         * docs/gst/gstreamer-sections.txt:
284         * gst/base/gstadapter.h:
285         * gst/base/gstbasesink.h:
286         * gst/base/gstbasesrc.h:
287         * gst/base/gstbasetransform.h:
288         * gst/base/gstpushsrc.h:
289         * gst/elements/gstfakesink.h:
290         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
291         * gst/elements/gstfakesrc.h:
292         * gst/elements/gstfilesink.h:
293         * gst/elements/gstfilesrc.h:
294         * gst/gst.c:
295         * gst/gstbin.c:
296         * gst/gstbuffer.c: (_gst_buffer_copy):
297         * gst/gstbus.h:
298         * gst/gstcaps.c:
299         * gst/gstchildproxy.c:
300         * gst/gstclock.c:
301         * gst/gstelement.c:
302         * gst/gstelementfactory.c:
303         * gst/gstelementfactory.h:
304         * gst/gstevent.c:
305         * gst/gstghostpad.h:
306         * gst/gstindex.h:
307         * gst/gstinterface.h:
308         * gst/gstminiobject.c:
309         * gst/gstminiobject.h:
310         * gst/gstpad.c:
311         * gst/gstpad.h:
312         * gst/gstpadtemplate.h:
313         * gst/gstpipeline.h:
314         * gst/gstpluginfeature.h:
315         * gst/gstquery.h:
316         * gst/gstqueue.h:
317         * gst/gsttaglist.c:
318         * gst/gsttaglist.h:
319         * gst/gsttagsetter.c:
320         * gst/gsttagsetter.h:
321         * gst/gsttrace.c:
322         * gst/gsttrace.h:
323         * gst/gsttypefind.h:
324         * gst/gsturi.h:
325         * gst/gstvalue.c:
326         * gst/net/gstnetclientclock.c:
327         * gst/net/gstnetclientclock.h:
328         * gst/net/gstnettimepacket.c:
329         * gst/net/gstnettimeprovider.c:
330         * gst/net/gstnettimeprovider.h:
331         Doc fixes.
332
333 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
334
335         * configure.ac: back to HEAD
336
337 === release 0.9.6 ===
338
339 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
340
341         * configure.ac:
342           releasing 0.9.6, "Always On Time"
343
344 2005-11-23  Wim Taymans  <wim@fluendo.com>
345
346         * docs/gst/gstreamer-sections.txt:
347         * gst/glib-compat.c:
348         * gst/gsttagsetter.c:
349         * gst/gstvalue.c:
350         * gst/net/gstnetclientclock.c:
351         * gst/net/gstnettimepacket.h:
352         Doc updates.
353
354 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
355
356         * docs/faq/using.xml:
357         * docs/libs/tmpl/gstcontrol.sgml:
358         * docs/manual/advanced-dparams.xml:
359         * docs/manual/appendix-checklist.xml:
360         * docs/manual/basics-elements.xml:
361         * docs/pwg/other-source.xml:
362         * docs/random/moving-plugins:
363         * gst/gstpad.c:
364         * tools/gst-launch.1.in:
365           remove mentions of sinesrc
366
367 2005-11-23  Michael Smith <msmith@fluendo.com>
368
369         * docs/gst/gstreamer-sections.txt:
370           Update for new API and API changes.
371         * gst/gstobject.h:
372           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
373         * gst/gstvalue.c:
374           Documentation typo fix.
375         * gst/net/gstnettimepacket.c:
376           Documentation fixes for arguments.
377
378 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
379
380         * gst/gststructure.c: (gst_structure_get_fraction),
381         (gst_structure_parse_value),
382         (gst_structure_fixate_field_nearest_fraction):
383         * gst/gststructure.h:
384         * gst/gstutils.c: (gst_util_uint64_scale_int):
385         * gst/gstutils.h:
386         * scripts/update-funcnames:
387         API Changes. 
388         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
389         Make gst_structure_fixate_field_nearest_fraction take a numerator
390         and denominator argument instead of a GValue
391         add gst_structure_get_fraction helper function.
392
393 2005-11-23  Wim Taymans  <wim@fluendo.com>
394
395         * docs/design/part-TODO.txt:
396         Update TODO.
397
398         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
399         * gst/net/gstnetclientclock.h:
400         Use parent fields for timeout and window_size.
401
402 2005-11-23  Andy Wingo  <wingo@pobox.com>
403
404         * check/net/gstnetclientclock.c (test_functioning): Adjust to
405         rate_num/rate_denom change.
406
407         * gst/net/gstnetclientclock.c
408         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
409         OBJECT_LOCK. Don't call add_observation with the lock.
410
411         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
412         fraction.
413         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
414         rate fraction.
415         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
416         deal with rate as a fraction whose numerator and denominator are
417         GstClockTime values.
418         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
419         master; the other fields are protected by the SLAVE_LOCK.
420         (do_linear_regression): Note that this must be called with the
421         SLAVE_LOCK.
422         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
423         OBJECT_LOCK. Call set_calibration instead of touching the
424         variables directly.
425         (gst_clock_set_property, gst_clock_get_property): Protect
426         master/slave parameters with the SLAVE_LOCK.
427
428         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
429         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
430         note that all of the instance variables that add_observation and
431         the set_master functions use are protected by that lock and not
432         the OBJECT_LOCK.
433         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
434
435         * gst/gstclock.c (gst_clock_add_observation): No longer requires
436         the caller to take the object lock.
437
438 2005-11-23  Wim Taymans  <wim@fluendo.com>
439
440         * gst/gsterror.c: (_gst_core_errors_init):
441         * gst/gsterror.h:
442         Add error for clock stuff.
443
444         * gst/gstpipeline.c: (gst_pipeline_change_state),
445         (gst_pipeline_set_clock):
446         Post clock error when clock cannot be used in a pipeline.
447
448 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
449
450         * docs/gst/gstreamer-sections.txt:
451           make two symbols from gstinfo private for the docs
452         * gst/base/gstcollectpads.h:
453         * gst/gstutils.c:
454           fix doc typos, update docs
455
456 2005-11-22  Wim Taymans  <wim@fluendo.com>
457
458         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
459         (gst_base_sink_wait), (gst_base_sink_do_sync),
460         (gst_base_sink_handle_event):
461         * gst/base/gstbasesink.h:
462         No need to store the clock, the parent element class already
463         has it.
464
465         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
466         Updates for clock_set returning a gboolean
467
468         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
469         (gst_clock_id_wait_async), (gst_clock_class_init),
470         (gst_clock_init), (gst_clock_finalize),
471         (gst_clock_get_internal_time), (gst_clock_get_time),
472         (gst_clock_slave_callback), (gst_clock_set_master),
473         (gst_clock_get_master), (do_linear_regression),
474         (gst_clock_add_observation), (gst_clock_set_property),
475         (gst_clock_get_property):
476         * gst/gstclock.h:
477         Implement master/slave. When setting a clock as a slave, a
478         periodic timeout is scheduled to sample master and slave times.
479         Then the slave clock is recalibrated to match offset and rate
480         of the master clock.
481         Update logging a bit.
482         Add flag so that a clock can state that is cannot be slaved to
483         another clock.
484
485         * gst/gstelement.c: (gst_element_set_clock):
486         * gst/gstelement.h:
487         The set clock returns a gboolean for when an element cannot
488         deal with the selected clock in the pipeline. 
489
490         * gst/gstpipeline.c: (gst_pipeline_change_state),
491         (gst_pipeline_set_clock):
492         * gst/gstpipeline.h:
493         Handle the case where the selected clock cannot be set on
494         the pipeline.
495
496         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
497         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
498         (gst_net_client_clock_set_property),
499         (gst_net_client_clock_get_property),
500         (gst_net_client_clock_observe_times):
501         * gst/net/gstnetclientclock.h:
502         Use regression code in GstClock parent, remove duplicated
503         functionality.
504
505 2005-11-22  Michael Smith <msmith@fluendo.com>
506
507         * gst/gstutils.c: (gst_util_clock_time_scale):
508         * gst/gstutils.h:
509         * docs/gst/gstreamer-sections.txt:
510           Rename method to have extra underscore.
511
512 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
513
514         * gst/elements/Makefile.am:
515         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
516         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
517         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
518         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
519         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
520         * gst/elements/gstfakesrc.h:
521         * gst/gstqueue.c: (queue_leaky_get_type):
522           correctly fix GEnumValues so that nick is the short lowercase
523           dashed tag
524         * tools/gst-inspect.c: (print_element_properties_info):
525           also show the nick, since it's useful to use from parse_launch
526           syntax
527           Fixes #322139
528
529 2005-11-22  Michael Smith <msmith@fluendo.com>
530
531         * gst/gstutils.c: (gst_util_clocktime_scale):
532         * gst/gstutils.h:
533         * docs/gst/gstreamer-sections.txt:
534           Add util method for scaling a clocktime by a fraction. Useful 
535           implementation is left as an exercise for the reader.
536
537 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
538
539         * gst/gstvalue.c: (gst_value_collect_fraction_range):
540         If needed, allocate storage in the destination value during
541         collection.
542
543 2005-11-22  Edward Hervey  <edward@fluendo.com>
544
545         * docs/gst/gstreamer-sections.txt:
546         * gst/Makefile.am:
547         * gst/gst.h:
548         * gst/gsturitype.c:
549         * gst/gsturitype.h:
550         * gst/gstutils.c: (gst_util_set_object_arg):
551         * tools/gst-compprep.c: (main):
552         * tools/gst-inspect.c: (print_element_properties_info):
553         Removed GstURI, closes bug #321061
554
555 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
556
557         * check/gst/gststructure.c: (GST_START_TEST):
558         * gst/gststructure.c: (gst_structure_parse_value):
559           Oops, broke automatic string type parsing.
560           Add a test to catch it in future.
561
562 2005-11-22  Andy Wingo  <wingo@pobox.com>
563
564         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
565         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
566         Actually rename the function implementations. Grr.
567
568 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
569
570         * check/gst/capslist.h:
571           Comment test cases
572         * check/gst/gststructure.c: (GST_START_TEST),
573         (gst_structure_suite):
574           Test automatic value type detection in gst_structure_from_string.
575         * gst/gststructure.c: (gst_structure_parse_value):
576           Add fraction as a type we try and guess automatically in
577           caps/structure strings.
578
579 2005-11-22  Andy Wingo  <wingo@pobox.com>
580
581         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
582
583         * gst/gsttagsetter.h:
584         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
585         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
586         (gst_tag_setter_add_tag_valist)
587         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
588         _add_values, _add_valist, and _add_valist_values. Since this is an
589         interface the function suffixes should be more explicit so
590         language binding don't end up with element.add_valist ->
591         gst_tag_setter_add_valist, for example. Fixes #322069.
592
593 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
594
595         * check/gst/gstcaps.c: (GST_START_TEST):
596           Extend caps string tests to check that a caps to string
597           conversion is reversible and produces the same caps.
598
599         * gst/gststructure.c: (gst_structure_value_get_generic_type):
600           Output "fraction" as the generic type fraction range, so caps
601           serialisation and deserialisation works.
602         * check/gst/capslist.h:
603         * gst/gstvalue.c: (gst_value_deserialize_fraction):
604           Support 'MIN' and 'MAX' for deserialising fractions.
605
606 2005-11-22  Andy Wingo  <wingo@pobox.com>
607
608         * gst/gstevent.h (gst_event_new_new_segment)
609         (gst_event_parse_new_segment, gst_event_new_buffer_size)
610         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
611         Renamed from *_newsegment, *_buffersize, *_notarget.
612
613         * scripts/update-funcnames: New script, performs the changes
614         listed above.
615
616 2005-11-22  Wim Taymans  <wim@fluendo.com>
617
618         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
619         Make sure the GstFlowReturn is returned.
620
621         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
622         (gst_bus_add_signal_watch):
623         * gst/gstbus.h:
624         add gst_bus_add_signal_watch_full.
625
626         * gst/gstplugin.c: (gst_plugin_load_file):
627         Small style cleanup.
628
629 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
630
631         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
632           Block the fakesrc srcpad when we send an event, to avoid
633           contention on the stream_lock causing random test failures.
634
635 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
636
637         * check/gst/gstvalue.c: (GST_START_TEST):
638         * gst/gstvalue.c: (gst_value_fraction_subtract):
639           Fix subtraction.
640
641 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
642
643         * gst/gst.h:
644           include "gstchildproxy.h"
645         * gst/gstchildproxy.h:
646         * libs/gst/controller/gstcontroller.h:
647           use G_GNUC_NULL_TERMINATED
648
649 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
650
651         * check/gst/capslist.h:
652         * check/gst/gstcaps.c: (GST_START_TEST):
653         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
654         * gst/gststructure.c: (gst_structure_parse_range),
655         (gst_structure_fixate_field_nearest_fraction):
656         * gst/gststructure.h:
657         * gst/gstvalue.c: (gst_value_init_fraction_range),
658         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
659         (gst_value_collect_fraction_range),
660         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
661         (gst_value_set_fraction_range_full),
662         (gst_value_get_fraction_range_min),
663         (gst_value_get_fraction_range_max),
664         (gst_value_serialize_fraction_range),
665         (gst_value_transform_fraction_range_string),
666         (gst_value_compare_fraction_range),
667         (gst_value_deserialize_fraction_range),
668         (gst_value_intersect_fraction_fraction_range),
669         (gst_value_intersect_fraction_range_fraction_range),
670         (gst_value_subtract_fraction_fraction_range),
671         (gst_value_subtract_fraction_range_fraction),
672         (gst_value_subtract_fraction_range_fraction_range),
673         (gst_value_collect_fraction), (gst_value_fraction_multiply),
674         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
675         (gst_value_transform_string_fraction), (_gst_value_initialize):
676         * gst/gstvalue.h:
677           Implement fraction ranges and extend GstFraction to support
678           arithmetic subtraction, as well as deserialization from integer
679           strings such as "100"
680           Add a testsuite as for int and double range set operations
681
682 2005-11-21  Andy Wingo  <wingo@pobox.com>
683
684         * gst/gsttaglist.h: 
685         * gst/gstcaps.h: 
686         * gst/gststructure.h: Add glib-compat.h.
687
688 2005-11-21  Wim Taymans  <wim@fluendo.com>
689
690         * gst/gstbin.c: (gst_bin_change_state_func):
691         Fix for #321595
692
693 2005-11-21  Wim Taymans  <wim@fluendo.com>
694
695         * gst/gstsegment.h:
696         And add a nice define too.
697
698 2005-11-21  Wim Taymans  <wim@fluendo.com>
699
700         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
701         (gst_segment_new), (gst_segment_free), (gst_segment_init),
702         (gst_segment_set_duration), (gst_segment_set_last_stop),
703         (gst_segment_set_seek), (gst_segment_set_newsegment),
704         (gst_segment_to_stream_time), (gst_segment_to_running_time),
705         (gst_segment_clip):
706         * gst/gstsegment.h:
707         Make binding friendly.
708
709 2005-11-21  Andy Wingo  <wingo@pobox.com>
710
711         * gst/gsttagsetter.h: 
712         * gst/gsttaglist.h: 
713         * gst/gststructure.h: 
714         * gst/gstcaps.h: 
715         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
716         #319940.
717
718         * gst/gsterror.c (_gst_core_errors_init):
719         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
720         category.
721
722         * gst/Makefile.am (gst_headers): Add glib-compat.h.
723         (noinst_HEADERS): noinst the -private.
724
725 2005-11-21  Michael Smith <msmith@fluendo.com>
726
727         * gst/gstplugin.h:
728         * gst/gstregistry.h:
729           Remove unimplemented declarations for which we can see no sensible
730           use.
731
732 2005-11-21  Andy Wingo  <wingo@pobox.com>
733
734         * gst/gst.h: Include glib-compat.h.
735
736         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
737
738         * gst/glib-compat.c: Include the public and the private header.
739
740         * gst/glib-compat-private.h: Copied here from glib-compat.h.
741
742         * gst/gstvalue.c: 
743         * gst/gstpad.c: 
744         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
745
746         * check/gst/gstevent.c (create_custom_events): Check that
747         FLUSH_STOP is serialized.
748
749         * check/elements/identity.c (event_func): 
750         * check/elements/fakesrc.c (event_func): No stream lock, the core
751         takes it.
752
753         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
754         stream lock taking, yay.
755
756         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
757         ensure that core takes the stream lock.
758
759         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
760         lock name change.
761
762         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
763         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
764         it already. For the flush start we do take it though so we get the
765         right preroll state change messages.
766
767         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
768         the stream lock here, the core does it for us.
769
770         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
771         GST_STREAM_GET_LOCK.
772         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
773         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
774         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
775         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
776         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
777         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
778
779         * gst/gstpad.c: Update for stream lock name change.
780
781         * gst/base/gstbasesink.c: Update for preroll lock name change.
782
783 2005-11-21  Wim Taymans  <wim@fluendo.com>
784
785         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
786         (gst_clock_get_master):
787         * gst/gstclock.h:
788         * gst/gstsystemclock.c: (gst_system_clock_init):
789         Convert Clock flags to object flags.
790         Added methods to manage master/slave clocks.
791
792 2005-11-21  Wim Taymans  <wim@fluendo.com>
793
794         * check/gst/gstsegment.c: (GST_START_TEST):
795         * docs/design/part-TODO.txt:
796         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
797         (gst_base_sink_event), (gst_base_sink_do_sync),
798         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
799         (gst_base_sink_query), (gst_base_sink_change_state):
800         * gst/base/gstbasesink.h:
801         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
802         (gst_base_src_default_newsegment),
803         (gst_base_src_configure_segment), (gst_base_src_do_seek),
804         (gst_base_src_get_range), (gst_base_src_loop),
805         (gst_base_src_change_state):
806         * gst/base/gstbasesrc.h:
807         * gst/base/gstbasetransform.c:
808         (gst_base_transform_prepare_output_buf),
809         (gst_base_transform_event), (gst_base_transform_change_state):
810         * gst/base/gstbasetransform.h:
811         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
812         (gst_collect_pads_event):
813         * gst/base/gstcollectpads.h:
814         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
815         (gst_fake_src_create):
816         * gst/elements/gstfakesrc.h:
817         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
818         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
819         (gst_segment_set_last_stop), (gst_segment_set_seek),
820         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
821         (gst_segment_to_running_time), (gst_segment_clip):
822         * gst/gstsegment.h:
823         More segment updates, replace code in plugins with segment
824         helper functions.
825
826 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
827
828         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
829         Don't ignore sscanf results
830
831 2005-11-21  Andy Wingo  <wingo@pobox.com>
832
833         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
834
835         * *.h:
836         * *.c: Ran scripts/update-macros. Oh yes.
837
838         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
839         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
840         GST_GET_LOCK, etc.
841
842         * scripts/update-macros: New script. Run it on your files to
843         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
844         well.
845
846 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
847
848         * docs/gst/Makefile.am:
849         * docs/gst/gstreamer-docs.sgml:
850         * docs/gst/gstreamer-sections.txt:
851         * docs/gst/gstreamer.types:
852         * gst/gstinfo.h:
853           more docs fixes, add new api to the docs
854
855 2005-11-21  Andy Wingo  <wingo@pobox.com>
856
857         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
858         state_broadcast call.
859
860         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
861
862 2005-11-21  Julien MOUTTE  <julien@moutte.net>
863
864         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
865         function calls for arrays.
866
867 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
868
869         * docs/random/ensonic/media-device-daemon.txt:
870           wild idea, can this be done?
871         * docs/gst/gstreamer-sections.txt:
872         * gst/gsterror.h:
873         * gst/gstfilter.c:
874         * gst/gstfilter.h:
875         * gst/gstplugin.h:
876         * gst/gstpluginfeature.c:
877         * gst/gsttrace.c:
878         * gst/gstvalue.c:
879         * gst/gstvalue.h:
880           doc fixes and additions
881
882 2005-11-21  Andy Wingo  <wingo@pobox.com>
883
884         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
885         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
886         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
887         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
888         private to the basesrc implementation.
889
890         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
891         behalf of event function if necessary. It should no longer be
892         necessary to take the stream lock in pad's event functions. Fixes
893         #320299.
894
895 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
896         * docs/gst/gstreamer-sections.txt:
897         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
898         (gst_structure_fixate_field_nearest_double),
899         (gst_structure_fixate_field_boolean):
900         * gst/gststructure.h:
901         * win32/common/libgstreamer.def:
902         * win32/gstreamer.def:
903
904         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
905         (#322027)
906
907 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
908
909         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
910         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
911         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
912         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
913         (gst_fdsrc_uri_handler_init):
914         * gst/elements/gstfdsrc.h:
915           Port fd:// URI handler from 0.8 to fdsrc
916
917 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
918
919         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
920         (gst_value_serialize_fourcc):
921         * gst/gstvalue.h:
922           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
923           consistent with our other format defines (#320324).
924
925 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
926
927         * gst/gstvalue.c: (gst_value_is_fixed):
928           Revert previous commit. Value lists are by definition
929           not fixed, as they are a list of possible values.
930
931 2005-11-21  Andy Wingo  <wingo@pobox.com>
932
933         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
934         during the stable series if we need it. Fixes #319178.
935
936         * gst/gstevent.c (gst_event_new_filler): Removed.
937
938         * check/gst/gstevent.c: Update comment about filler events.
939
940 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
941
942         * gst/gstvalue.c: (gst_value_is_fixed):
943           Should handle both value arrays and value lists.
944
945 2005-11-21  Andy Wingo  <wingo@pobox.com>
946
947         patch by: Alessandro Dessina <alessandro nnva org>
948
949         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
950         functions to access arrays. Fixes #321962.
951
952 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
953
954         * docs/gst/gstreamer.types:
955           gst_collectpads_get_type => gst_collect_pads_get_type.
956           
957         * gst/base/gstbasetransform.c:
958           Remove unused SIGNAL_HANDOFF enum.
959
960 2005-11-21  Andy Wingo  <wingo@pobox.com>
961
962         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
963         the event type (upstream, downstream, serialized). Renamed
964         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
965         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
966         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
967
968         * gst/gstevent.c: Update for new CUSTOM event names.
969
970         * check/gst/gstevent.c: Update check for new CUSTOM event names.
971
972         * gst/gstevent.h:
973         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
974         bug #319392.
975
976 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
977
978         * docs/gst/gstreamer-sections.txt:
979         * win32/common/libgstbase.def:
980         * win32/libgstbase.def:
981         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
982         (gst_collect_pads_class_init), (gst_collect_pads_init),
983         (gst_collect_pads_finalize), (gst_collect_pads_new),
984         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
985         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
986         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
987         (gst_collect_pads_start), (gst_collect_pads_stop),
988         (gst_collect_pads_peek), (gst_collect_pads_pop),
989         (gst_collect_pads_available), (gst_collect_pads_read),
990         (gst_collect_pads_flush), (gst_collect_pads_event),
991         (gst_collect_pads_chain):
992         * gst/base/gstcollectpads.h:
993           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
994           unimplemented functions as unimplemented. Add padding to
995           GstCollectData. (#320766, #320423)
996
997 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
998
999         * gst/gstmessage.c:
1000           Improve docs for DURATION message (usage of duration parameter)
1001           (#320113)
1002
1003 2005-11-20  Wim Taymans  <wim@fluendo.com>
1004
1005         * check/Makefile.am:
1006         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1007         (main):
1008         * gst/Makefile.am:
1009         * gst/gst.h:
1010         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1011         (gst_segment_set_seek), (gst_segment_set_newsegment),
1012         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1013         (gst_segment_clip):
1014         * gst/gstsegment.h:
1015         Added segment helper structure and methods. Not fully implemented
1016         yet.
1017         Added segment check.
1018
1019 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1020
1021         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1022           Add a deserialisation test for fractions
1023         * examples/metadata/read-metadata.c: (message_loop),
1024         (make_pipeline), (main):
1025           Fix up metadata reading sample.
1026         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1027           Debug format fix
1028         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1029           Don't try and fixate empty caps
1030         * gst/gst_private.h:
1031           Wrap in G_BEGIN_DECLS/G_END_DECLS
1032         * gst/gstvalue.c: (gst_value_collect_fraction),
1033         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1034         (gst_value_transform_string_fraction),
1035         (gst_value_compare_fraction):
1036           Add some extra guards to ensure that we don't end up 
1037           with an invalid denominator of 0 in a gstfraction and
1038           that fractions always get reduced.
1039
1040 2005-11-20  Wim Taymans  <wim@fluendo.com>
1041
1042         * docs/gst/gstreamer-sections.txt:
1043         * gst/gstbuffer.h:
1044         * gst/gstelement.c:
1045         * gst/gstformat.c:
1046         * gst/gstformat.h:
1047         * gst/gstindex.h:
1048         * gst/gstquery.c:
1049         * gst/gstquery.h:
1050         * gst/gstvalue.c:
1051         Doc fixes.
1052
1053 2005-11-20  Wim Taymans  <wim@fluendo.com>
1054
1055         * docs/design/part-TODO.txt:
1056         * gst/gstcaps.h:
1057         Make a proper enum of the flag.
1058
1059 2005-11-19  Wim Taymans  <wim@fluendo.com>
1060
1061         * docs/design/part-TODO.txt:
1062         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1063         (gst_format_to_quark), (gst_format_register):
1064         * gst/gstformat.h:
1065         * gst/gstquery.c: (_gst_query_initialize),
1066         (gst_query_type_get_name), (gst_query_type_to_quark),
1067         (gst_query_type_register):
1068         * gst/gstquery.h:
1069         Add type to quark and type to string conversions.
1070
1071 2005-11-19  Andy Wingo  <wingo@pobox.com>
1072
1073         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1074         #320097.
1075
1076 2005-11-19  Wim Taymans  <wim@fluendo.com>
1077
1078         * docs/design/part-TODO.txt:
1079         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1080         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1081         (gst_bin_handle_message_func):
1082         * gst/gstbin.h:
1083         Make message handling overridable.
1084
1085 2005-11-19  Andy Wingo  <wingo@pobox.com>
1086
1087         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1088
1089         * gst/gstclock.h:
1090         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1091         be a GstClockTime.
1092         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1093         is a GstClockTime. Fixes #321710.
1094
1095         * gst/gstclock.h (GstClock): Remove offset property. Add
1096         internal_calibration and external_calibration. Fix padding. Pad
1097         also by GstClockTime so we don't run into problems.
1098
1099         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1100         (gst_clock_get_rate_offset): Remove.
1101         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1102
1103         * gst/gstutils.h:
1104         * gst/gstutils.c (g_static_rec_cond_wait)
1105         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1106
1107         * gst/gstbin.c: Remove terrible continue_state prototype.
1108
1109         * gst/gstelement.h (gst_element_continue_state): Make public.
1110
1111         * gst/gstelement.h:
1112         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1113         by continue_state. Fixes #319389.
1114
1115         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1116         Really fixes #168438. However I don't see anywhere where the
1117         filter function is called... stupid GStreamer...
1118         
1119         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1120         don't have a dispose function, so it won't get called when the
1121         object is unreffed, but oh well!
1122
1123         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1124         allows a destroy function to be set so user_data can be freed.
1125         Fixes #168438.
1126         (gst_index_set_filter): Call gst_index_set_filter_full.
1127
1128         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1129
1130         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1131         string should produce an error, given the lack of a way to
1132         represent NULL strings. Fixes #165650.
1133         
1134         * gst/gstvalue.h: 
1135         * gst/gstvalue.c (gst_value_array_append_value) 
1136         (gst_value_array_prepend_value, gst_value_array_get_size) 
1137         (gst_value_array_get_value): New API, copied from
1138         gst_value_list_*, only operates on arrays.
1139         (gst_value_list_append_value, gst_value_list_prepend_value) 
1140         (gst_value_list_concat, gst_value_list_get_size) 
1141         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1142
1143         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1144         init_list, because it works on both.
1145         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1146         (gst_value_copy_list_or_array): Renamed from copy_list.
1147         (gst_value_free_list_or_array): Renamed from free_list.
1148         (gst_value_collect_list_or_array): Renamed from collect_list.
1149         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1150         (gst_value_list_or_array_peek_pointer): Renamed from
1151         list_peek_pointer.
1152         (_gst_value_array_value_table, _gst_value_list_value_table):
1153         Update value table functions.
1154         (gst_value_compare_list_or_array): Renamed from compare_list.
1155
1156         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1157         some constness.
1158
1159         * gst/gsttaglist.c:
1160         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1161         GstTagList*. Fixes #143472.
1162
1163         * gst/gststructure.h: Clarify what the foreach/map functions can
1164         or can't do to their arguments.
1165
1166 2005-11-18  Wim Taymans  <wim@fluendo.com>
1167
1168         * gst/gstclock.c: (gst_clock_set_calibration),
1169         (gst_clock_get_calibration):
1170         Doc and API fixes.
1171         Calibration can be set with internal time equal to current
1172         internal time too.
1173
1174 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1175
1176         * gst/gsterror.c:
1177         * gst/gsterror.h:
1178           document
1179
1180 2005-11-18  Andy Wingo  <wingo@pobox.com>
1181
1182         * configure.ac: 
1183         * pkgconfig/gstreamer-net.pc.in:
1184         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1185         * pkgconfig/Makefile.am: Add net pkgconfig files.
1186
1187 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1188
1189         * gst/gstcaps.c:
1190         * gst/gstghostpad.c:
1191         * gst/gsttrace.c:
1192         * gst/gstvalue.c:
1193         * gst/gstvalue.h:
1194           docs fixes
1195
1196 2005-11-18  Andy Wingo  <wingo@pobox.com>
1197
1198         * gst/net/gstnetclientclock.c: Turn off debugging.
1199
1200         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1201         times connverge somewhat. Can't make a real test.
1202
1203         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1204         integer arithmetic. Return the minimum of the domain, which can be
1205         set as "internal" for gst_clock_set_calibration.
1206         (gst_net_client_clock_observe_times): Call _set_calibration.
1207         (gst_net_client_clock_new): Call _set_calibration instead of
1208         rate_offset.
1209
1210         * check/net/gstnetclientclock.c (test_functioning): Use the right
1211         adjustment api.
1212
1213         * gst/gstclock.h:
1214         * gst/gstclock.c (gst_clock_get_calibration) 
1215         (gst_clock_set_calibration): New functions, obsolete the ones I
1216         added yesterday. Doh. Precision issues mean we have to extrapolate
1217         from a point in the more recent past than 1970.
1218         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1219         obsolete.
1220         (gst_clock_adjust_unlocked): Use the right calibration data.
1221
1222 2005-11-18  Edward Hervey  <edward@fluendo.com>
1223
1224         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1225         Also reset the ->current_* values in READY->PAUSED
1226
1227 2005-11-18  Andy Wingo  <wingo@pobox.com>
1228
1229         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1230         Whoops, check the right fd. Also add some debugging.
1231         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1232         (do_linear_regression): Add a crapload of debugging. Subtract off
1233         the minimum values from the input series to discard unneeded bits.
1234         Use only int arithmetic. There is still double arithmetic when
1235         calculating the intercept that needs fixing. Return boolean to
1236         indicate success; FALSE would mean the domain or range is too
1237         great. Still needs fixes.
1238
1239 2005-11-18  Wim Taymans  <wim@fluendo.com>
1240
1241         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1242         For the current position in stream time, we need to subtract
1243         accumulated time.
1244         
1245         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1246         Release lock before calling the callback function of async
1247         entries.
1248
1249 2005-11-18  Andy Wingo  <wingo@pobox.com>
1250
1251         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1252         Port goes all the way to MAXUINT16.
1253
1254         * gst/net/gstnettimeprovider.c: Make the port range the same as
1255         for the kernel: 0 assigns, otherwise ports are less than
1256         MAXUINT16.
1257
1258         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1259         port change.
1260
1261         * check/net/gstnetclientclock.c (test_functioning): Add the start
1262         of another test. 
1263
1264 2005-11-18  Wim Taymans  <wim@fluendo.com>
1265
1266         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1267         (gst_bin_remove_func), (bin_bus_handler):
1268         * gst/gstbin.h:
1269         Removing a clock provider from a bin, triggers a clock lost message
1270         so that a new clock will be selected.
1271         Adding a clock to a bin triggers a clock provider message.
1272         Make sure we reselect a clock when we received a clock lost message.
1273         Keep a reference to the element that provided the clock.
1274
1275 2005-11-18  Andy Wingo  <wingo@pobox.com>
1276
1277         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1278         the clock initially so it produces values around the base time.
1279         (gst_net_client_clock_class_init): Typo fix.
1280         (gst_net_client_clock_thread): Add note on when the socket gets
1281         closed.
1282
1283 2005-11-17  Wim Taymans  <wim@fluendo.com>
1284
1285         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1286         Free remote and local time arrays.
1287
1288 2005-11-17  Wim Taymans  <wim@fluendo.com>
1289
1290         * gst/net/gstnetclientclock.c: (do_linear_regression),
1291         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1292         Fix compilation, uninitialized vars and a forgotten continue.
1293
1294 2005-11-17  Andy Wingo  <wingo@pobox.com>
1295
1296         * check/Makefile.am (check_PROGRAMS): 
1297         * check/net/gstnetclientclock.c: Add a most minimal test for the
1298         net client clock. More to come later.
1299
1300         * gst/net/gstnet.h: 
1301         * gst/net/Makefile.am: Add netclientclock.
1302
1303         * gst/net/gstnetclientclock.h:
1304         * gst/net/gstnetclientclock.c: New files, implement an untested
1305         GstClock that takes its time from a network time provider.
1306         Implements the algorithm in network-clock.scm.
1307
1308         * tests/network-clock.scm (*window-size*): Rename from
1309         *queue-length*.
1310         * tests/network-clock.scm (network-time): 
1311         * tests/network-clock-utils.scm (q-push): Update callers.
1312
1313 2005-11-17  Wim Taymans  <wim@fluendo.com>
1314
1315         * gst/gstbin.c: (gst_bin_provide_clock_func),
1316         (gst_bin_sort_iterator_new):
1317         And unref the child too..
1318
1319 2005-11-17  Wim Taymans  <wim@fluendo.com>
1320
1321         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1322         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1323         Refactor the sort iterator so it can be used while holding the
1324         LOCK too.
1325         Make clock selection select a clock closest to the source.
1326
1327 2005-11-17  Michael Smith <msmith@fluendo.com>
1328
1329         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1330         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1331         * gst/gstclock.h:
1332           Anonymous structs are a gcc (and some other compilers) extension, so
1333           don't use them. Since this is only for ABI-compatibility, and our
1334           API/ABI freeze is over in a few days, this whole thing will only
1335           last a few days, so don't bother trying to think up a meaningful
1336           name for the struct.
1337
1338 2005-11-17  Andy Wingo  <wingo@pobox.com>
1339
1340         * gst/gstclock.h (GstClock): Add rate and offset properties,
1341         preserving ABI stability. Add rate/offset accessors. Will file bug
1342         for the freeze break.
1343
1344         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1345         and offset, trying to keep precision and avoiding
1346         underflow/overflow.
1347         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1348         functions. Make gst_clock_set_time_adjust obsolete.
1349         (gst_clock_set_time_adjust): Note that this function is obsolete.
1350         Will file bug soon.
1351
1352         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1353         greppable by using GST_PADDING-1+1.
1354
1355 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1356
1357         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1358
1359         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1360           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1361
1362         * gst/gstpadtemplate.h:
1363         * gst/gstpluginfeature.h:
1364           Don't use c++ style comments in headers (#321638).
1365
1366 2005-11-16  Andy Wingo  <wingo@pobox.com>
1367
1368         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1369         buffer.
1370
1371         * check/net/gstnettimeprovider.c: Check to see that the time
1372         provider actually provides times. Works, yo!
1373
1374 2005-11-16  Wim Taymans  <wim@fluendo.com>
1375
1376         * check/Makefile.am:
1377         Enable more tests.
1378
1379         * check/elements/fakesrc.c: (GST_START_TEST):
1380         Set element to NULL before disposing it.
1381
1382 2005-11-16  Andy Wingo  <wingo@pobox.com>
1383
1384         * gst/net/Makefile.am:
1385         * gst/net/gstnet.h:
1386         * gst/net/gstnettimeprovider.c: 
1387         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1388         provider, include it from gstnet.h, and add it to the build.
1389
1390         * gst/net/gstnettimepacket.h: 
1391         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1392         sending and receiving.
1393
1394 2005-11-16  Wim Taymans  <wim@fluendo.com>
1395
1396         * check/Makefile.am:
1397         Enable valgrind check.
1398
1399         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1400         (gst_fake_src_alloc_buffer):
1401         Fix memleak.
1402
1403 2005-11-16  Wim Taymans  <wim@fluendo.com>
1404
1405         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1406         Call parent finalize too.
1407
1408 2005-11-16  Wim Taymans  <wim@fluendo.com>
1409
1410         * check/Makefile.am:
1411         Enable valgrind check that should work fine now.
1412
1413         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1414         * gst/gstqueue.c: (gst_queue_init):
1415         Fix memleaks in pad allocation.
1416
1417 2005-11-16  Andy Wingo  <wingo@pobox.com>
1418
1419         * gst/net/Makefile.am:
1420         * gst/net/gstnet.h: New part of core to hold network elements and
1421         objects. Put in core because it exposes API that applications want
1422         to use. The library is named libgstnet-tempname right now because
1423         of the existing libgstnet in gst-plugins-base. Solution is
1424         probably to rename the one in plugins-base; will file a bug for
1425         the freeze break.
1426
1427         * gst/net/gstnettimeprovider.c: 
1428         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1429         get_time call over the network.
1430
1431         * configure.ac: 
1432         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1433
1434         * check/Makefile.am:
1435         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1436         get additions shortly.
1437
1438 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1439
1440         * gst/gstpad.c: (gst_pad_new_from_static_template):
1441         * gst/gstpad.h:
1442           add gst_pad_new_from_static_template functions
1443         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1444         (gst_check_setup_sink_pad):
1445         * gst/elements/gsttee.c: (gst_tee_init):
1446           and use them
1447
1448 2005-11-16  Wim Taymans  <wim@fluendo.com>
1449
1450         * gst/gstpad.c: (gst_pad_pause_task):
1451         Removed warning, it's not really an error either.
1452
1453 2005-11-16  Wim Taymans  <wim@fluendo.com>
1454
1455         * gst/base/gstbasetransform.c:
1456         (gst_base_transform_prepare_output_buf),
1457         (gst_base_transform_event):
1458         Check if the caps are NULL, this can happen if the element
1459         is shutting down and the pad caps are set to NULL.
1460
1461 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1462
1463         * gst/elements/gsttee.c: (gst_tee_init):
1464           fix pad template leak in tee
1465
1466 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1467
1468         * gst/glib-compat.c: (g_value_dup_gst_object):
1469         * gst/glib-compat.h:
1470         * gst/gstpad.c: (gst_pad_set_property):
1471           use gst_object_ref when setting the pad template; this will
1472           trigger the pad template leaks on GLib 2.6 and the slaves
1473
1474 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1475
1476         * gst/glib-compat.c: (gst_flags_get_first_value):
1477         * gst/glib-compat.h:
1478         * gst/gstregistryxml.c:
1479           remove functions copied from GLib 2.6
1480
1481 2005-11-16  Michael Smith <msmith@fluendo.com>
1482
1483         * gst/Makefile.am:
1484           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1485           do, but only breaks with newer valgrind versions. We're not a
1486           valgrind tool, we have no link-time dependencies on libcoregrind.
1487
1488 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1489
1490         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1491           some debug changes
1492         * gst/gstmessage.h:
1493           typo fixes
1494
1495 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1496
1497         * gst/base/gstbasesrc.c: (gst_base_src_init):
1498         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1499         * gst/gstqueue.c: (gst_queue_init):
1500         * gst/gstregistryxml.c: (load_feature):
1501           Revert all these unrefs, they don't even pass make check !
1502
1503 2005-11-15  Johan Dahlin  <johan@gnome.org>
1504
1505         * gst/base/gstbasesrc.c: (gst_base_src_init):
1506         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1507         * gst/gstqueue.c: (gst_queue_init): 
1508         Free pad templates, fixes a couple of leaks.
1509
1510 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1511
1512         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1513
1514         * gst/gstpad.c: (gst_pad_get_property):
1515           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1516           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1517           (#321452)
1518
1519 2005-11-15  Wim Taymans  <wim@fluendo.com>
1520
1521         * gst/gstevent.c:
1522         Small doc update.
1523
1524 2005-11-15  Andy Wingo  <wingo@pobox.com>
1525
1526         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1527
1528         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1529         using GST_CLOCK_TIME_NONE to disable base time management.
1530         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1531         time if it was NONE before.
1532         (gst_pipeline_change_state): Only munge the base time if
1533         stream_time != GST_CLOCK_TIME_NONE.
1534
1535         * check/gst/gstpipeline.c (test_base_time): Punt around the
1536         problem of the probe not being called, because that's not the
1537         issue I'm looking at. Add a check that setting stream_time to NONE
1538         disables base time management.
1539         
1540 2005-11-15  Wim Taymans  <wim@fluendo.com>
1541
1542         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1543         segment_stop == -1 at startup.
1544
1545         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1546         (gst_base_transform_change_state):
1547         Init segment values at start.
1548
1549 2005-11-15  Wim Taymans  <wim@fluendo.com>
1550
1551         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1552         0 segment values are 0 in any format.
1553
1554         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1555         * gst/base/gstbasetransform.h:
1556         Parse newsegment correctly in basetransform
1557
1558         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1559         Sync to clock using updated segment values.
1560
1561 2005-11-15  Andy Wingo  <wingo@pobox.com>
1562
1563         * check/gst/gstpipeline.c (test_base_time): Add check that the
1564         base time and stream time are reset correctly.
1565
1566 2005-11-15  Wim Taymans  <wim@fluendo.com>
1567
1568         * docs/design/part-TODO.txt:
1569         Some more TODO items.
1570
1571 2005-11-15  Andy Wingo  <wingo@pobox.com>
1572
1573         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1574         error if the user selected "no clock" as the clocking method.
1575
1576         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1577         timestamps with live capture.
1578
1579         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1580         is 0 but we are a live source, timestamp the buffers using the
1581         element's clock.
1582
1583 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1584
1585         * docs/gst/gstreamer-sections.txt:
1586         * gst/gsterror.c:
1587         * gst/gstghostpad.c:
1588         * gst/gstobject.h:
1589         * gst/gstxml.c:
1590           more section docs
1591
1592 2005-11-14  Wim Taymans  <wim@fluendo.com>
1593
1594         * common/gst.supp:
1595           add suppressions from Wim's Debian machine
1596
1597 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1598
1599         * common/gst.supp:
1600           add suppressions from Andy's AMD64 Ubuntu machine
1601
1602 2005-11-14  Andy Wingo  <wingo@pobox.com>
1603
1604         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1605         STATE_LOCK not necessary. Fixes #311489.
1606
1607         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1608         #305291.
1609
1610         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1611         this function is not implemented.
1612
1613 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1614
1615         * gst/base/gstbasetransform.c:
1616         (gst_base_transform_prepare_output_buf):
1617         Ref the source pad caps while we need them.
1618         Fixes (#321386)
1619
1620 2005-11-11  Wim Taymans  <wim@fluendo.com>
1621
1622         * docs/gst/gstreamer-sections.txt:
1623         Added some docs for GstCollectData.
1624
1625         * gst/base/gstadapter.c:
1626         Some small code example fix.
1627
1628         * gst/base/gstcollectpads.c:
1629         * gst/base/gstcollectpads.h:
1630         Document some more.
1631
1632 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1633
1634         * configure.ac: back to HEAD
1635
1636 === release 0.9.5 ===
1637
1638 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1639
1640         * configure.ac:
1641           releasing 0.9.5, "Bike Lunch Day"
1642
1643 2005-11-11  Wim Taymans  <wim@fluendo.com>
1644
1645         * gst/gstbuffer.c: (_gst_buffer_copy):
1646         Copy more flags.
1647
1648         * gst/gstcaps.c: (gst_caps_is_equal):
1649         Fix some docs.
1650         Make _is_equal fast in the trivial cases.
1651
1652         * gst/gstminiobject.c:
1653         * gst/gstminiobject.h:
1654         More docs. Spifify .h file.
1655
1656         * gst/gstutils.c:
1657         Small doc update.
1658
1659 2005-11-11  Wim Taymans  <wim@fluendo.com>
1660
1661         * gst/base/gstbasetransform.c:
1662         (gst_base_transform_prepare_output_buf),
1663         (gst_base_transform_handle_buffer):
1664         Small cleanups.
1665         If we're processing a buffer and need to allocate an output
1666         buffer, we cannot accept a format change. If we did get a 
1667         format change, we have to alloc a buffer ourselves of the 
1668         right size.
1669
1670 2005-11-11  Wim Taymans  <wim@fluendo.com>
1671
1672         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1673         While checking the flag for reentrancy in the gstcaps function
1674         is nice to detect recursive invocations, it also makes it 
1675         impossible to call getcaps from multiple threads, which must be
1676         possible. So, checking for recursive calls has to go.
1677
1678 2005-11-11  Michael Smith <msmith@fluendo.com>
1679
1680         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1681           Don't sync on buffers that fall partially outside our current
1682           segment. Prevents an assertion failure/abort playing some files.
1683
1684 2005-11-10  Andy Wingo  <wingo@pobox.com>
1685
1686         * check/gst/gstbin.c (test_message_state_changed_children): Style
1687         fix..
1688
1689         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1690         gst_bus_poll with the signal watch. Ensures that poll and a signal
1691         watch see the same messages.
1692
1693         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1694         a poll and a watch at the same time get the same messages.
1695
1696 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1697
1698         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1699         * gst/gstcaps.c: (gst_caps_intersect):
1700           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1701           and it's not needed.
1702
1703 2005-11-10  Wim Taymans  <wim@fluendo.com>
1704
1705         * docs/design/part-TODO.txt:
1706         Updated todo.
1707
1708 2005-11-10  Wim Taymans  <wim@fluendo.com>
1709
1710         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1711         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1712         (gst_base_src_do_sync), (gst_base_src_get_range):
1713         Implement clock sync in base class.
1714
1715 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1716
1717         patch by: Tim-Philipp Müller <tim at centricular dot net>
1718
1719         * gst/gststructure.c: (gst_structure_parse_field),
1720         (gst_structure_from_string):
1721           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1722           so that gst_parse_launch() can deal with spaces in filtered link
1723           caps (fixes #164479)
1724         * check/gst/capslist.h:
1725         * check/gst/gststructure.c: (GST_START_TEST):
1726           add unit tests for this change
1727
1728 2005-11-10  Wim Taymans  <wim@fluendo.com>
1729
1730         * docs/gst/gstreamer-sections.txt:
1731         * gst/gstelement.c:
1732         * gst/gstelement.h:
1733         Fix docs, move some STATE macros to private.
1734
1735 2005-11-10  Wim Taymans  <wim@fluendo.com>
1736
1737         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1738         Added check for bug #317341
1739
1740         * gst/gstbuffer.c:
1741         * gst/gstbuffer.h:
1742         Some more spiffifying.
1743
1744         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1745         Call peer linkfunction if we are a source pad. Totally fixes
1746         #317341
1747
1748         * gst/gstpad.c:
1749         Update docs, source pads should call the peer linkfunction
1750         so they can atomically perform the pad link.
1751
1752 2005-11-09  Wim Taymans  <wim@fluendo.com>
1753
1754         * gst/gstbuffer.c:
1755         * gst/gstbuffer.h:
1756         Uber-spiffy-spiffify some more.
1757
1758 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1759
1760         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1761         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1762         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1763         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1764         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1765         * gst/gstpad.c: (gst_pad_init):
1766           Use GST_DEBUG_FUNCPTR() more extensively.
1767
1768 2005-11-09  Wim Taymans  <wim@fluendo.com>
1769
1770         * gst/gstobject.c: (gst_object_class_init):
1771         * gst/gstobject.h:
1772         Documentation fixes.
1773
1774 2005-11-09  Edward Hervey  <edward@fluendo.com>
1775
1776         * gst/gsttypefindfactory.c:
1777         Fix docs.
1778         
1779 2005-11-09  Edward Hervey  <edward@fluendo.com>
1780
1781         * gst/base/gsttypefindhelper.c:
1782         * gst/gsttypefind.c:
1783         * gst/gsttypefind.h:
1784         Fix docs.
1785
1786 2005-11-09  Wim Taymans  <wim@fluendo.com>
1787
1788         * gst/gstiterator.c:
1789         Fix revision data.
1790
1791         * gst/gsttask.c:
1792         * gst/gsttask.h:
1793         Fix docs.
1794
1795 2005-11-09  Wim Taymans  <wim@fluendo.com>
1796
1797         * gst/gstevent.h:
1798         * gst/gsturi.h:
1799         Fix docs.
1800
1801 2005-11-09  Wim Taymans  <wim@fluendo.com>
1802
1803         * docs/gst/gstreamer-sections.txt:
1804         Moved the message async delivery private lock and cond
1805         to the private section.
1806
1807         * gst/gstmessage.c:
1808         * gst/gstmessage.h:
1809         Fixed docs.
1810
1811 2005-11-09  Edward Hervey  <edward@fluendo.com>
1812
1813         * docs/gst/gstreamer-sections.txt:
1814         * gst/gsturi.c:
1815         * gst/gsturi.h:
1816         Document GstURIHandler
1817
1818 2005-11-09  Wim Taymans  <wim@fluendo.com>
1819
1820         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1821         (gst_iterator_find_custom):
1822         * gst/gstiterator.h:
1823         Fix iterator docs.
1824
1825 2005-11-09  Wim Taymans  <wim@fluendo.com>
1826
1827         * gst/gstbin.h:
1828         Document another field.
1829
1830         * gst/gststructure.c:
1831         * gst/gststructure.h:
1832         Document.
1833
1834 2005-11-09  Wim Taymans  <wim@fluendo.com>
1835
1836         * gst/gstbin.h:
1837         Documented structs.
1838
1839 2005-11-09  Wim Taymans  <wim@fluendo.com>
1840
1841         * docs/gst/gstreamer-sections.txt:
1842         Added some new macros.
1843
1844         * gst/gstclock.c:
1845         * gst/gstclock.h:
1846         * gst/gstobject.h:
1847         Docs updates.
1848
1849 2005-11-09  Wim Taymans  <wim@fluendo.com>
1850
1851         * docs/design/part-TODO.txt:
1852         Some more items for the TODO
1853
1854         * gst/gstcaps.c:
1855         * gst/gstcaps.h:
1856         Document GstCaps.
1857
1858 2005-11-09  Andy Wingo  <wingo@pobox.com>
1859
1860         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1861         to work on something else now tho...
1862
1863         * gst/base/gstadapter.c: More adapter docs.
1864
1865         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1866         (gst_file_sink_stop): New functions, replace the state change
1867         handler.
1868         (gst_file_sink_class_init): Hook up the start and stop functions.
1869         (gst_file_sink_base_init): Don't set the state change handler any
1870         more. It was a bit ugly too, being set from here...
1871         (gst_file_sink_get_property, gst_file_sink_set_property):
1872         Cleanups...
1873         (gst_file_sink_set_location): More robust check that doesn't call
1874         GST_STATE. Ugggggg.
1875
1876 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1877
1878         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1879           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1880
1881 2005-11-08  Wim Taymans  <wim@fluendo.com>
1882
1883         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1884         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1885         (gst_base_sink_chain), (gst_base_sink_change_state):
1886         * gst/base/gstbasesink.h:
1887         * gst/base/gstbasesrc.h:
1888         * gst/gstelement.h:
1889         * gst/gstevent.h:
1890         Avoid excessive typechecking in macros.
1891
1892         * gst/gstminiobject.c: (gst_mini_object_get_type),
1893         (gst_mini_object_init), (gst_mini_object_new),
1894         (gst_mini_object_free):
1895         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1896         (gst_object_finalize):
1897         Remove cruft code, optimize alloc_trace.
1898
1899 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1900
1901         * docs/faq/gst-uninstalled:
1902           fix up PS1 for systems that try to reset it
1903
1904 2005-11-07  Wim Taymans  <wim@fluendo.com>
1905
1906         * gst/base/gstbasesrc.c: (gst_base_src_init),
1907         (gst_base_src_get_range):
1908         Set the segment_end to -1 initially. Fixed typefind.
1909
1910 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1911
1912         * gst/base/gstadapter.c:
1913           Debug category should be 'adapter', not 'GstAdapter'.
1914           
1915         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1916         (gst_collectpads_class_init), (gst_collectpads_init),
1917         (gst_collectpads_peek), (gst_collectpads_pop),
1918         (gst_collectpads_event), (gst_collectpads_chain):
1919           Add debug category and some debugging output. Use boilerplate
1920           macros. Remove some extraneous words from docs.
1921
1922 2005-11-05  Andy Wingo  <wingo@pobox.com>
1923
1924         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1925         macro.
1926
1927 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1928
1929         * docs/gst/gstreamer-sections.txt:
1930         * gst/gstcaps.h:
1931         * gst/gstinfo.c:
1932         * gst/gstminiobject.h:
1933         * gst/gstobject.h:
1934         * gst/gstutils.h:
1935           more docs added
1936
1937 2005-11-04  Wim Taymans  <wim@fluendo.com>
1938
1939         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1940         Small update to stop at the configured segment_end
1941         position.
1942
1943 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1944
1945         * gst/gstregistry.c:
1946         * gst/gstregistry.h:
1947           added missing docs
1948
1949 2005-11-04  Edward Hervey  <edward@fluendo.com>
1950
1951         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1952         Check if we are doing a segment seek and have arrived at the
1953         end of that segment.
1954
1955 2005-11-04  Wim Taymans  <wim@fluendo.com>
1956
1957         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1958         Don't leak a mutex unlock in case of an error.
1959
1960         * gst/gstbus.h:
1961         Doc fixes.
1962
1963 2005-11-04  Wim Taymans  <wim@fluendo.com>
1964
1965         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1966         (gst_bus_post):
1967         Get the context to wake up only once.
1968
1969 2005-11-03  Wim Taymans  <wim@fluendo.com>
1970
1971         * check/states/sinks.c: (GST_START_TEST):
1972         Uncomment fixed check.
1973
1974         * docs/design/part-TODO.txt:
1975         Updated TODO.
1976
1977         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1978         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1979         (gst_base_sink_get_position):
1980         If we are going to PLAYING, post the right pending state
1981         when we post the intermediate paused message.
1982
1983         * gst/gstelement.c: (gst_element_continue_state),
1984         (gst_element_set_state_func), (gst_element_change_state):
1985         Don't post state changes that were between the same state
1986         and were not ASYNC.
1987
1988 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1989
1990         * docs/gst/gstreamer-sections.txt:
1991         * gst/gstcaps.h:
1992         * gst/gstinfo.c:
1993         * gst/gstminiobject.h:
1994         * gst/gstobject.h:
1995         * gst/gstutils.h:
1996           more docs and doc style fixes
1997
1998 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1999
2000         * docs/gst/gstreamer-sections.txt:
2001         * gst/gstelement.c:
2002         * gst/gstminiobject.c:
2003         doc fixes
2004
2005 2005-11-03  Andy Wingo  <wingo@pobox.com>
2006
2007         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2008         state-changed messages actually have the right order and the right
2009         values.
2010
2011 2005-11-03  Wim Taymans  <wim@fluendo.com>
2012
2013         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2014         Added some more checks. Specifically the case where NO_PREROLL
2015         elements are in the pipeline.
2016
2017         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2018         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2019         (gst_base_sink_get_position):
2020         Post READY->PAUSED state change messages too.
2021         Fix bug where VOID was posted as pending state...
2022
2023         * gst/gstbin.c: (gst_bin_recalc_state):
2024         use _element_continue_state() to continue the state change.
2025
2026         * gst/gstelement.c: (gst_element_continue_state),
2027         (gst_element_commit_state), (gst_element_set_state_func),
2028         (gst_element_change_state), (gst_element_change_state_func):
2029         Lots of state change cleanups, assign the STATE_RETURN in
2030         a new continue_state() function that also propagates the
2031         last return value from a state change to the app.
2032         Update some debug statements with proper category.
2033
2034 2005-11-03  Wim Taymans  <wim@fluendo.com>
2035
2036         * docs/design/part-events.txt:
2037         * docs/design/part-gstpipeline.txt:
2038         * docs/design/part-messages.txt:
2039         * docs/design/part-overview.txt:
2040         * docs/design/part-seeking.txt:
2041         * docs/design/part-states.txt:
2042         * docs/design/part-trickmodes.txt:
2043         * docs/manual/advanced-position.xml:
2044         Small docs updates.
2045
2046         * gst/gstobject.h:
2047         People think !! is ugly, this looks better.
2048
2049         * gst/gstpad.c: (gst_pad_set_blocked_async):
2050         Remove !! since it's fixed elsewhere now.
2051
2052 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2053
2054         * gst/gstminiobject.h:
2055         * gst/gstobject.h:
2056           Add !! to _FLAG_IS_SET macros to make the result boolean.
2057
2058 2005-11-03  Edward Hervey  <edward@fluendo.com>
2059
2060         * gst/gstpad.c: (gst_pad_set_blocked_async):
2061         comparing a flag and a gboolean rarely returns coherent results...
2062         Added two characters (!!) to make that work correctly.
2063         
2064 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2065
2066         * gst/gstbus.c: (gst_bus_class_init):
2067           Fix some typos.
2068           
2069         * gst/gstqueue.c: (gst_queue_loop):
2070           Don't assume a miniobject that isn't a buffer is an
2071           event (it could be that there is a refcounting
2072           problem somewhere and the pointer is stale and
2073           refers to an already destroyed miniobject).
2074
2075 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2076
2077         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2078
2079 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2080
2081         * docs/manual/advanced-position.xml:
2082           Update seek example and explanations to current 0.9 API.
2083
2084         * gst/elements/gsttypefindelement.c:
2085         (gst_type_find_element_activate):
2086           Remove FIXME comment now that the found caps
2087           are unreffed.
2088
2089 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2090
2091         * gst/gstregistryxml.c: (load_feature):
2092           Add another GST_STR_NULL instance
2093
2094 2005-11-02  Edward Hervey  <edward@fluendo.com>
2095
2096         * gst/gstpad.c: (handle_pad_block):
2097         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2098         
2099 2005-11-02  Wim Taymans  <wim@fluendo.com>
2100
2101         * gst/gstbin.c:
2102         Fix typo in docs.
2103
2104         * gst/gstelement.c: (gst_element_commit_state):
2105         Remove unused value.
2106
2107         * gst/gstiterator.c:
2108         Mention that the returned element is reffed in the docs.
2109
2110 2005-11-02  Wim Taymans  <wim@fluendo.com>
2111
2112         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2113         (gst_pad_push), (gst_pad_push_event):
2114         Unlock blocked pads when they are flushed.
2115
2116 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2117
2118         * docs/README:
2119         * docs/gst/gstreamer-sections.txt:
2120         * gst/gstbin.c:
2121           doc updates
2122         * gst/gstregistry.c: (gst_registry_scan_path_level):
2123           fix for a nasty little missed situation where an installed plug-in
2124           which was in the cache did not get overridden by an uninstalled one
2125           which was earlier in the plugin path because the newly created plugin
2126           for the uninstalled one (not in the registry) didn't get its
2127           ->registered set to TRUE
2128
2129 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2130
2131         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2132         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2133         (gst_collectpads_is_active), (gst_collectpads_collect),
2134         (gst_collectpads_collect_range), (gst_collectpads_start),
2135         (gst_collectpads_stop), (gst_collectpads_peek),
2136         (gst_collectpads_pop), (gst_collectpads_available),
2137         (gst_collectpads_read), (gst_collectpads_flush):
2138           Guard public API with assertions.
2139         
2140         * gst/gstpad.c:
2141           Fix docs for gst_pad_set_link_function().
2142
2143 2005-11-02  Johan Dahlin  <johan@gnome.org>
2144
2145         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2146         Unref found_caps after we used it.
2147
2148 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2149
2150         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2151           Don't try to ref NULL.
2152
2153 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2154
2155         * win32/common/config.h.in:
2156           provide a GST_FUNCTION that just gives a string for now
2157
2158 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2159
2160         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2161         (gst_object_flags_get_type), (register_gst_bin_flags),
2162         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2163         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2164         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2165         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2166         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2167         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2168         (gst_clock_flags_get_type), (register_gst_state),
2169         (gst_state_get_type), (register_gst_state_change_return),
2170         (gst_state_change_return_get_type), (register_gst_state_change),
2171         (gst_state_change_get_type), (register_gst_element_flags),
2172         (gst_element_flags_get_type), (register_gst_core_error),
2173         (gst_core_error_get_type), (register_gst_library_error),
2174         (gst_library_error_get_type), (register_gst_resource_error),
2175         (gst_resource_error_get_type), (register_gst_stream_error),
2176         (gst_stream_error_get_type), (register_gst_event_type),
2177         (gst_event_type_get_type), (register_gst_seek_type),
2178         (gst_seek_type_get_type), (register_gst_seek_flags),
2179         (gst_seek_flags_get_type), (register_gst_format),
2180         (gst_format_get_type), (register_gst_index_certainty),
2181         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2182         (gst_index_entry_type_get_type),
2183         (register_gst_index_lookup_method),
2184         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2185         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2186         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2187         (gst_index_flags_get_type), (register_gst_debug_level),
2188         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2189         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2190         (gst_iterator_result_get_type), (register_gst_iterator_item),
2191         (gst_iterator_item_get_type), (register_gst_message_type),
2192         (gst_message_type_get_type), (register_gst_mini_object_flags),
2193         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2194         (gst_pad_link_return_get_type), (register_gst_flow_return),
2195         (gst_flow_return_get_type), (register_gst_activate_mode),
2196         (gst_activate_mode_get_type), (register_gst_pad_direction),
2197         (gst_pad_direction_get_type), (register_gst_pad_flags),
2198         (gst_pad_flags_get_type), (register_gst_pad_presence),
2199         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2200         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2201         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2202         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2203         (gst_plugin_flags_get_type), (register_gst_rank),
2204         (gst_rank_get_type), (register_gst_query_type),
2205         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2206         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2207         (gst_tag_flag_get_type), (register_gst_task_state),
2208         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2209         (gst_alloc_trace_flags_get_type),
2210         (register_gst_type_find_probability),
2211         (gst_type_find_probability_get_type), (register_gst_uri_type),
2212         (gst_uri_type_get_type), (register_gst_parse_error),
2213         (gst_parse_error_get_type):
2214         * win32/common/gstversion.h:
2215           update win32 copies
2216
2217 2005-11-01  Luca Ognibene  <luogni@tin.it>
2218
2219         * gst/gst.c:
2220           fix docs. popt is dead, long live GOption.
2221
2222 2005-10-31  Wim Taymans  <wim@fluendo.com>
2223
2224         * gst/gstbuffer.h:
2225         Small doc fix.
2226
2227 2005-10-31  Andy Wingo  <wingo@pobox.com>
2228
2229         * Boo!
2230
2231         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2232
2233         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2234         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2235         the possibility of deadlocks here if code calling notify() or
2236         set() has a lock that can be taken in another notify handler (ABBA
2237         with class lock and e.g. python GIL state lock).
2238
2239 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2240
2241         * gst/gstbus.c: Doc updates.
2242
2243 2005-10-28  Wim Taymans  <wim@fluendo.com>
2244
2245         * docs/design/part-TODO.txt:
2246         * gst/gstiterator.c:
2247         * gst/gstsystemclock.c:
2248         * gst/gstsystemclock.h:
2249         Doc updates.
2250
2251 2005-10-28  Edward Hervey  <edward@fluendo.com>
2252
2253         * docs/gst/gstreamer-docs.sgml:
2254         * docs/gst/gstreamer-sections.txt:
2255         the GstURIType documentation page is private, it only defines GstURIType
2256         which should be defined in the GstURIHandler page
2257         
2258 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2259
2260         * gst/gstbin.c: (gst_bin_class_init):
2261         * gst/gstbin.h:
2262         * gst/gstutils.c:
2263         Documentation updates.
2264
2265 2005-10-28  Wim Taymans  <wim@fluendo.com>
2266
2267         * docs/gst/gstreamer-sections.txt:
2268         * gst/gstclock.c:
2269         * gst/gstclock.h:
2270         Documented the clocks.
2271
2272 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2273
2274         * docs/gst/gstreamer-sections.txt:
2275           move some macros to private sections
2276         * gst/gstminiobject.c:
2277         * gst/gstminiobject.h:
2278           add descriptions provided by ds and some more
2279         * gst/gstpad.h:
2280           mark macro as to be removed
2281
2282 2005-10-28  Wim Taymans  <wim@fluendo.com>
2283
2284         * docs/design/part-TODO.txt:
2285         Add an item to TODO.
2286
2287         * gst/gstiterator.c: (gst_iterator_fold),
2288         (gst_iterator_find_custom):
2289         * gst/gstiterator.h:
2290         Add iterator docs.
2291
2292 2005-10-28  Wim Taymans  <wim@fluendo.com>
2293
2294         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2295         (gst_base_transform_init):
2296         Don't leak class.
2297
2298         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2299         An EOS event marks the queue as completely filled.
2300
2301 2005-10-27  Wim Taymans  <wim@fluendo.com>
2302
2303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2304         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2305         Some more debugging.
2306
2307         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2308         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2309         (gst_base_transform_event), (gst_base_transform_getrange),
2310         (gst_base_transform_chain):
2311         * gst/base/gstbasetransform.h:
2312         Fix debugging,
2313         Protect transform and concurrent buffer alloc with a new lock.
2314         Try not to break ABI/API.
2315
2316 2005-10-27  Wim Taymans  <wim@fluendo.com>
2317
2318         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2319         (gst_base_src_init), (gst_base_src_query),
2320         (gst_base_src_default_newsegment),
2321         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2322         (gst_base_src_send_event), (gst_base_src_event_handler),
2323         (gst_base_src_pad_get_range), (gst_base_src_loop),
2324         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2325         (gst_base_src_start), (gst_base_src_deactivate),
2326         (gst_base_src_activate_push), (gst_base_src_change_state):
2327         Move some stuff around and cleanup things.
2328
2329 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2330
2331         * gst/base/gstbasesrc.c: (gst_base_src_query):
2332           Add missing break statements.
2333
2334 2005-10-27  Wim Taymans  <wim@fluendo.com>
2335
2336         * check/gst/gstbin.c: (GST_START_TEST):
2337         An extra refcount is taken in basesrc.
2338
2339         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2340         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2341         (gst_base_src_loop):
2342         Small cleanups, check for flushing after being unlocked from the 
2343         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2344         Don't send out EOS when going to READY.
2345
2346 2005-10-27  Wim Taymans  <wim@fluendo.com>
2347
2348         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2349         (gst_base_sink_get_position):
2350         Some more debug.
2351
2352         * gst/gstbin.c: (message_check), (bin_replace_message),
2353         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2354         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2355         (bin_query_duration_init), (bin_query_duration_fold),
2356         (bin_query_duration_done), (bin_query_generic_fold),
2357         (gst_bin_query):
2358         * tools/gst-launch.c: (main):
2359         Remove old option.
2360
2361 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2362
2363         * examples/controller/audio-example.c: (main):
2364         * examples/queue/queue.c: (event_loop):
2365         * gst/base/gstbasetransform.h:
2366         * gst/gstelement.c: (gst_element_send_event):
2367         * gst/gstevent.h:
2368         * gst/gstpad.c: (gst_pad_send_event):
2369           fixing examples
2370           fixing docs typos
2371           changing log priority in error situations
2372
2373 2005-10-25  Wim Taymans  <wim@fluendo.com>
2374
2375         * gst/gstbin.c: (message_check), (bin_replace_message),
2376         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2377         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2378         (bin_query_duration_init), (bin_query_duration_fold),
2379         (bin_query_duration_done), (bin_query_generic_fold),
2380         (gst_bin_query):
2381         Some doc and debug updates.
2382         Cache previously requested query DURATION for speed. invalidate
2383         cached duration if element posts a DURATION message.
2384
2385 2005-10-25  Wim Taymans  <wim@fluendo.com>
2386
2387         * docs/design/part-TODO.txt:
2388         Update TODO.
2389
2390         * gst/gstbin.c: (message_check), (bin_replace_message),
2391         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2392         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2393         (bin_query_duration_init), (bin_query_duration_fold),
2394         (bin_query_duration_done), (bin_query_generic_fold),
2395         (gst_bin_query):
2396         Handle SEGMENT_START/DONE messages correctly.
2397         More evolved query algorithm that handles duration queries
2398         correctly.
2399
2400         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2401         (gst_element_get_state_func), (gst_element_abort_state),
2402         (gst_element_commit_state), (gst_element_lost_state):
2403         Some more debugging.
2404
2405         * gst/gstmessage.h:
2406         Added doc.
2407
2408 2005-10-25  Wim Taymans  <wim@fluendo.com>
2409
2410         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2411         Don't use invalid stream_time.
2412
2413         * gst/gstevent.c: (gst_event_new_newsegment):
2414         stream_time in newsegment cannot be undefined.
2415
2416 2005-10-24  Wim Taymans  <wim@fluendo.com>
2417
2418         * gst/gstbus.c:
2419         Doc fix.
2420
2421         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2422         (gst_queue_loop):
2423         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2424
2425 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2426
2427         * docs/libs/tmpl/gstdparam.sgml:
2428         * docs/libs/tmpl/gstdplinint.sgml:
2429         * docs/libs/tmpl/gstdpman.sgml:
2430         * docs/libs/tmpl/gstdpsmooth.sgml:
2431         * docs/libs/tmpl/gstunitconvert.sgml:
2432           these are obsolete
2433
2434 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2435
2436         * configure.ac:
2437           back to HEAD
2438
2439 === release 0.9.4 ===
2440
2441 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2442
2443         * configure.ac:
2444           releasing 0.9.4, "Tyrannosaurus Rex"
2445
2446 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2447
2448         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2449         (gst_file_sink_get_current_offset):
2450           Use fseeko() and ftello() if available. When falling back on
2451           lseek() to get the current offset, fflush() first to make sure
2452           everything is up-to-date and we get the right offset.
2453
2454 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2455
2456         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2457         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2458         * gst/gsterror.c: (_gst_stream_errors_init):
2459         * gst/gsterror.h:
2460         * gst/gstqueue.c: (gst_queue_loop):
2461         * po/POTFILES.in:
2462           remove prematurely added error category and clean up the instances
2463
2464 2005-10-21  Wim Taymans  <wim@fluendo.com>
2465
2466         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2467         (gst_base_sink_get_position), (gst_base_sink_query),
2468         (gst_base_sink_change_state):
2469         Simply set the right flag when going to playing, that's all
2470         we need to do instead of calling a function inside the object
2471         lock (that could take the lock as well and deadlock)
2472
2473 2005-10-21  Wim Taymans  <wim@fluendo.com>
2474
2475         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2476         (gst_base_src_loop):
2477         Don't warn, the peer element knows what to do best when
2478         the seek failed, it might try something else.
2479
2480 2005-10-21  Wim Taymans  <wim@fluendo.com>
2481
2482         * gst/base/gstbasesrc.c: (gst_base_src_init),
2483         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2484         Fix seeking.
2485
2486 2005-10-21  Wim Taymans  <wim@fluendo.com>
2487
2488         * docs/design/part-segments.txt:
2489         More docs.
2490
2491         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2492         Correctly set caps, even on the subbufer.
2493
2494 2005-10-21  Wim Taymans  <wim@fluendo.com>
2495
2496         * docs/gst/gstreamer-docs.sgml:
2497         * docs/gst/gstreamer-sections.txt:
2498         * gst/gstelement.h:
2499         * gst/gstevent.c:
2500         * gst/gstevent.h:
2501         * gst/gstmessage.h:
2502         * gst/gstpad.h:
2503         * gst/gstparse.h:
2504         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2505         * gst/gsttask.h:
2506         * gst/gstutils.c:
2507         * gst/gstutils.h:
2508         And 2% more doc coverage.
2509
2510 2005-10-21  Andy Wingo  <wingo@pobox.com>
2511
2512         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2513         position reporting.
2514
2515 2005-10-20  Wim Taymans  <wim@fluendo.com>
2516
2517         * gst/gsterror.c: (gst_error_get_message):
2518         * gst/gstparse.h:
2519         * gst/gstquery.h:
2520         * gst/gststructure.c:
2521         * gst/gsttrace.c:
2522         * gst/gstutils.c:
2523         More docs.
2524
2525 2005-10-20  Wim Taymans  <wim@fluendo.com>
2526
2527         * gst/gstbuffer.h:
2528         * gst/gstpad.c:
2529         * gst/gstparse.c:
2530         Another 1% more coverage.
2531
2532 2005-10-20  Wim Taymans  <wim@fluendo.com>
2533
2534         * docs/gst/gstreamer-sections.txt:
2535         * gst/gstelement.c: (gst_element_get_state_func),
2536         (gst_element_abort_state), (gst_element_commit_state),
2537         (gst_element_lost_state):
2538         * gst/gstevent.h:
2539         * gst/gstquery.c: (gst_query_set_position),
2540         (gst_query_parse_position), (gst_query_set_duration),
2541         (gst_query_parse_duration), (gst_query_new_convert):
2542         * gst/gstutils.c:
2543         Yay! 1% more docs coverage.
2544
2545 2005-10-20  Wim Taymans  <wim@fluendo.com>
2546
2547         * gst/gstpad.h:
2548         * gst/gstquery.c: (gst_query_set_position),
2549         (gst_query_parse_position), (gst_query_set_duration),
2550         (gst_query_parse_duration), (gst_query_new_convert):
2551         * gst/gstquery.h:
2552         * gst/gstutils.c: (gst_element_query_convert):
2553         * gst/gstutils.h:
2554         Docs and consistency fixes.
2555
2556 2005-10-20  Wim Taymans  <wim@fluendo.com>
2557
2558         * gst/gsttask.c:
2559         * gst/gsttask.h:
2560         More docs.
2561
2562 2005-10-20  Wim Taymans  <wim@fluendo.com>
2563
2564         * gst/gstbin.c: (message_check), (bin_replace_message),
2565         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2566         (update_degree), (gst_bin_sort_iterator_next),
2567         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2568         Reworked the message handling a bit, cache the messages instead of
2569         only the senders. alows us to do more in the future.
2570
2571 2005-10-20  Wim Taymans  <wim@fluendo.com>
2572
2573         * docs/design/part-TODO.txt:
2574         Update TODO
2575
2576         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2577         (gst_base_sink_query):
2578         Don't use clock time to report position when in EOS.
2579
2580 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2581
2582         * tools/gst-inspect.c: (print_interfaces),
2583         (print_element_properties_info), (print_element_info):
2584           Fix interface output with gst-inspect -a; don't print
2585           newlines after double/float properties.
2586
2587 2005-10-20  Wim Taymans  <wim@fluendo.com>
2588
2589         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2590         (gst_base_sink_query):
2591         Speed up current position calculation.
2592
2593         * gst/base/gstbasesrc.c: (gst_base_src_query),
2594         (gst_base_src_default_newsegment):
2595         Correctly set stream position in newsegment.
2596
2597         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2598         (update_degree), (gst_bin_sort_iterator_next),
2599         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2600         * gst/gstmessage.c: (gst_message_new_custom):
2601         Clean up debugging info
2602
2603         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2604         (gst_queue_loop), (gst_queue_handle_src_query):
2605         Pause task faster.
2606
2607 2005-10-19  Wim Taymans  <wim@fluendo.com>
2608
2609         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2610         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2611         Fix query handling again.
2612
2613 2005-10-19  Wim Taymans  <wim@fluendo.com>
2614
2615         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2616         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2617         * gst/base/gstbasesrc.c: (gst_base_src_query):
2618         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2619         * gst/elements/gsttypefindelement.c:
2620         (gst_type_find_handle_src_query), (find_element_get_length),
2621         (gst_type_find_element_activate):
2622         API change fix.
2623
2624         * gst/gstquery.c: (gst_query_new_position),
2625         (gst_query_set_position), (gst_query_parse_position),
2626         (gst_query_new_duration), (gst_query_set_duration),
2627         (gst_query_parse_duration), (gst_query_set_segment),
2628         (gst_query_parse_segment):
2629         * gst/gstquery.h:
2630         Bundling query position/duration is not a good idea since duration
2631         does not change much and we don't want to recalculate it for every
2632         position query, so they are separated again..
2633         Base value in segment query is not needed.
2634
2635         * gst/gstqueue.c: (gst_queue_handle_src_query):
2636         * gst/gstutils.c: (gst_element_query_position),
2637         (gst_element_query_duration), (gst_pad_query_position),
2638         (gst_pad_query_duration):
2639         * gst/gstutils.h:
2640         Updates for query API change.
2641         Added some docs here and there.
2642
2643 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2644
2645         * check/gst/gstbin.c: (GST_START_TEST):
2646         * check/gst/gstghostpad.c: (GST_START_TEST):
2647         * check/pipelines/cleanup.c: (GST_START_TEST):
2648           wait on thread to die so we can check refcount correctly
2649
2650 2005-10-18  Wim Taymans  <wim@fluendo.com>
2651
2652         * check/pipelines/stress.c: (GST_START_TEST):
2653         Make check a little more time consuming.
2654
2655 2005-10-18  Wim Taymans  <wim@fluendo.com>
2656
2657         * check/Makefile.am:
2658         * check/pipelines/stress.c: (GST_START_TEST),
2659         (simple_launch_lines_suite), (main):
2660         Small state change torture test.
2661
2662         * docs/design/part-states.txt:
2663         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2664         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2665         (gst_base_sink_change_state):
2666         Never take state lock from streaming thread, clean up ugly
2667         hacks. Unfortunatly core does not yet support nice ways to
2668         async commit state.
2669         
2670         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2671         (bin_bus_handler):
2672         Start state recalc if a STATE_DIRTY message is posted, but only
2673         on the toplevel bin.
2674
2675         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2676         (gst_element_get_state_func), (gst_element_abort_state),
2677         (gst_element_commit_state), (gst_element_lost_state),
2678         (gst_element_set_state_func), (gst_element_change_state):
2679         * gst/gstelement.h:
2680         State variables are now protected with the LOCK, the state
2681         lock is only used to serialize _set_state().
2682
2683 2005-10-18  Wim Taymans  <wim@fluendo.com>
2684
2685         * check/gst/gstbin.c: (GST_START_TEST):
2686         * check/gst/gstmessage.c: (GST_START_TEST):
2687         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2688         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2689         (bin_bus_handler):
2690         * gst/gstelement.c: (gst_element_abort_state),
2691         (gst_element_commit_state), (gst_element_lost_state):
2692         * gst/gstmessage.c: (gst_message_new_state_changed),
2693         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2694         (gst_message_new_segment_done), (gst_message_new_duration),
2695         (gst_message_parse_state_changed),
2696         (gst_message_parse_segment_start),
2697         (gst_message_parse_segment_done), (gst_message_parse_duration):
2698         * gst/gstmessage.h:
2699         * tools/gst-launch.c: (event_loop):
2700         Seriously, this is better than a previous commit as we only need
2701         to notify the fact that an element changed state in a streaming
2702         thread, marking the state of the parents dirty, hence the 
2703         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2704         message.
2705
2706 2005-10-18  Wim Taymans  <wim@fluendo.com>
2707
2708         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2709         (gst_bin_recalc_func):
2710         * gst/gstelement.c: (gst_element_set_clock),
2711         (gst_element_abort_state), (gst_element_lost_state):
2712         Cleanups, prepare for state change fixes.
2713
2714 2005-10-18  Wim Taymans  <wim@fluendo.com>
2715
2716         * gst/gstbin.h:
2717         * gst/gstelement.c: (gst_element_class_init),
2718         (gst_element_set_state), (gst_element_set_state_func):
2719         * gst/gstelement.h:
2720         Pending ABI changes.
2721         GThreadPool in GstBinClass to monitor async state changes.
2722         state_cookie in GstElement to detect concurrent gst/set state.
2723         set_state is now virtual too in case a very complicated element
2724         has to be constructed.
2725
2726 2005-10-18  Wim Taymans  <wim@fluendo.com>
2727
2728         * check/gst/gstbin.c: (GST_START_TEST):
2729         * check/gst/gstmessage.c: (GST_START_TEST):
2730         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2731         * gst/gstbin.c: (bin_bus_handler):
2732         * gst/gstelement.c: (gst_element_commit_state),
2733         (gst_element_lost_state):
2734         * gst/gstmessage.c: (gst_message_new_state_changed),
2735         (gst_message_new_segment_start), (gst_message_new_segment_done),
2736         (gst_message_new_duration), (gst_message_parse_state_changed),
2737         (gst_message_parse_segment_start),
2738         (gst_message_parse_segment_done), (gst_message_parse_duration):
2739         * gst/gstmessage.h:
2740         * tools/gst-launch.c: (event_loop):
2741         Make messages future proof.
2742         state-change gets a flag if it was a message comming from the
2743         streaming thread.
2744         segment-start/stop can also be specified in other formats.
2745         A message to notify an app that a pipeline changed playback 
2746         duration.
2747         Also fix a GstMessage leak in -launch
2748
2749 2005-10-18  Andy Wingo  <wingo@pobox.com>
2750
2751         * gst/gstelement.c (gst_element_dispose): More helpful message.
2752
2753 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2754
2755         reviewed by: <delete if not using a buddy>
2756
2757         * common/gtk-doc.mak:
2758
2759 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2760
2761         * gst/gstregistry.c: (gst_registry_scan_path_level):
2762           unref a plug-in we get that was already initialized
2763
2764 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2765
2766         * docs/gst/gstreamer-sections.txt:
2767         * docs/libs/gstreamer-libs-sections.txt:
2768         * gst/gstelement.h:
2769           add new api entries
2770           hide internal macro
2771
2772 2005-10-17  Andy Wingo  <wingo@pobox.com>
2773
2774         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2775         cleanup.
2776
2777         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2778
2779         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2780
2781         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2782         (gst_element_get_state_func): Better debug message.
2783         (gst_element_commit_state): s/INFO/DEBUG/.
2784         (gst_element_lost_state, gst_element_change_state): 
2785
2786         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2787         (gst_message_new_custom): s/INFO/LOG/.
2788
2789 2005-10-17  Michael Smith <msmith@fluendo.com>
2790
2791         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2792           Check if end time is valid using end time, not start time.
2793
2794 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2795
2796         * check/gst-libs/controller.c: (GST_START_TEST),
2797         (gst_controller_suite):
2798         * libs/gst/controller/gstcontroller.c:
2799         (gst_controlled_property_set_interpolation_mode):
2800         * libs/gst/controller/gstcontroller.h:
2801         * libs/gst/controller/gstinterpolation.c:
2802         * testsuite/controller/.cvsignore:
2803         * testsuite/controller/Makefile.am:
2804         * testsuite/controller/interpolator.c:
2805           merge controller testsuites
2806           fix broken tests
2807           remove mem-chunk from docs
2808
2809 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2810
2811         * gst/gstmemchunk.c:
2812         * gst/gstmemchunk.h:
2813         * gst/gsttrashstack.c:
2814         * gst/gsttrashstack.h:
2815           out.  get out.  you're fired.  to the Attic !
2816
2817 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2818
2819         * gst/gstcaps.c: (gst_caps_intersect):
2820           fix signedness issues in a (hopefully) correct way
2821         * gst/gstelement.c: (gst_element_pads_activate):
2822           some debugging
2823         * gst/gstobject.c: (gst_object_set_parent):
2824           some debugging
2825
2826 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2827
2828         * gst/gstvalue.h: Fix prototypes.
2829
2830 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2831
2832         * docs/gst/gstreamer-sections.txt:
2833         * gst/gst.c: (gst_version_string):
2834         * gst/gst.h:
2835         * gst/gstversion.h.in:
2836         * win32/common/libgstreamer.def:
2837           add gst_version_string ()
2838
2839 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2840
2841         * configure.ac:
2842           clean up further
2843         * gst/gst.c: (init_post):
2844         * win32/common/config.h.in:
2845           it's PLUGINDIR now
2846         * gst/gstcaps.c: (gst_caps_intersect):
2847           use gint64, the range could be bigger than a guint
2848
2849 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2850
2851         * gst/gstclock.h:
2852           document potential problem in 2038
2853
2854 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2855
2856         * gst/gstcaps.c: (gst_caps_intersect):
2857           Fix guint j diving under 0
2858
2859 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2860
2861         * configure.ac:
2862         * win32/common/config.h:
2863         * win32/common/config.h.in:
2864           check for process.h, declares getpid() on Windows
2865         * gst/gstinfo.c:
2866           include process.h if we have it
2867         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2868         * gst/gstmemchunk.h:
2869           fix signedness issues
2870         * win32/common/libgstreamer.def:
2871           fix get_type's
2872
2873 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2874
2875         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2876         fix. Because of unsigned ints, caps intersection was going nuts and
2877         trying to access structures with G_MAXUINT index. That fixes
2878         videotestsrc ! ffmpegcolorspace ! fakesink
2879         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2880         consistency.
2881
2882 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2883
2884         * configure.ac:
2885           use the gettext macro
2886         * gst/elements/gstelements.c:
2887         * gst/gst.c:
2888         * gst/indexers/gstindexers.c:
2889           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2890         * win32/common/config.h:
2891           updated config.h
2892         * win32/common/config.h.in:
2893           add the template to generate config.h
2894         * win32/common/gstenumtypes.c:
2895         * win32/common/gstversion.h:
2896           updated copies
2897
2898 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2899
2900         * gst/gst.c: (gst_version):
2901         * gst/gstversion.h.in:
2902           add the nano
2903
2904 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2905
2906         * gst/gstevent.h:
2907           Oops, add missing closing bracket.
2908
2909 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2910
2911         * configure.ac:
2912           use common m4's for argument checking
2913
2914 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2915
2916         * docs/gst/gstreamer-sections.txt:
2917         * gst/gstevent.h:
2918           Add GST_EVENT_TYPE_NAME() macro.
2919
2920 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2921
2922         * gst/gstinfo.c:
2923         * gst/gstpluginfeature.c:
2924         * gst/gsttask.c:
2925           privatize more symbols
2926
2927 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2928
2929         * configure.ac:
2930           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2931           everything that uses GStreamer API should have the includes
2932
2933 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2934
2935         * docs/gst/gstreamer-sections.txt:
2936         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2937         * gst/gstvalue.h:
2938           give each value a _get_type, removes the DATA exports
2939
2940 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2941
2942         * gst/gst.c:
2943         * gst/gst.h:
2944           remove _gst_registry_auto_load, not used anymore
2945         * gst/gstbin.c: (gst_bin_get_type):
2946         * gst/gstbin.h:
2947         * gst/gstelement.c: (gst_element_get_type):
2948         * gst/gstelement.h:
2949         * gst/gstobject.c: (gst_object_get_type):
2950         * gst/gstobject.h:
2951         * gst/gstpad.c: (gst_pad_get_type):
2952         * gst/gstpad.h:
2953           make _get_type functions similar, fixes data export from library
2954
2955 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2956
2957         * configure.ac:
2958           correctly make conditionals
2959         * gst/elements/Makefile.am:
2960         * gst/elements/gstelements.c:
2961           fix typo causing fdsrc not to build
2962
2963 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2964
2965         * testsuite/Makefile.am:
2966         * testsuite/bytestream/.cvsignore:
2967         * testsuite/bytestream/Makefile.am:
2968         * testsuite/bytestream/filepadsink.c:
2969         * testsuite/bytestream/gstbstest.c:
2970         * testsuite/bytestream/test1.c:
2971         * testsuite/bytestream/testfile1:
2972         * testsuite/caps/normalisation.c:
2973         * testsuite/caps/random.c: (main):
2974         * testsuite/cleanup/.cvsignore:
2975         * testsuite/cleanup/Makefile.am:
2976         * testsuite/cleanup/cleanup1.c:
2977         * testsuite/cleanup/cleanup2.c:
2978         * testsuite/cleanup/cleanup3.c:
2979         * testsuite/cleanup/cleanup4.c:
2980         * testsuite/cleanup/cleanup5.c:
2981         * testsuite/controller/interpolator.c:
2982         * testsuite/debug/printf_extension.c: (main):
2983         * testsuite/elements/tee.c:
2984         * testsuite/negotiation/.cvsignore:
2985         * testsuite/negotiation/Makefile.am:
2986         * testsuite/negotiation/pad_link.c:
2987         * testsuite/pad/Makefile.am:
2988         * testsuite/pad/chainnopull.c:
2989         * testsuite/pad/getnopush.c:
2990         * testsuite/pad/link.c:
2991         * testsuite/refcounting/sched.c: (create_pipeline):
2992         * testsuite/registry/Makefile.am:
2993         * testsuite/registry/gst-print-formats.c:
2994         * testsuite/schedulers/.cvsignore:
2995         * testsuite/schedulers/142183-2.c:
2996         * testsuite/schedulers/142183.c:
2997         * testsuite/schedulers/143777-2.c:
2998         * testsuite/schedulers/143777.c:
2999         * testsuite/schedulers/147713.c:
3000         * testsuite/schedulers/147819.c:
3001         * testsuite/schedulers/147894-2.c:
3002         * testsuite/schedulers/147894.c:
3003         * testsuite/schedulers/Makefile.am:
3004         * testsuite/schedulers/group_link.c:
3005         * testsuite/schedulers/queue_link.c:
3006         * testsuite/schedulers/relink.c:
3007         * testsuite/schedulers/unlink.c:
3008         * testsuite/schedulers/unref.c:
3009         * testsuite/schedulers/useless_iteration.c:
3010         * testsuite/states/bin.c:
3011           clean out/remove some stuff from the testsuite directories
3012
3013 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3014
3015         * configure.ac:
3016           check for some headers
3017         * gst/elements/Makefile.am:
3018         * gst/elements/gstelements.c:
3019           don't compile fdsrc without sys/socket.h
3020         * gst/indexers/Makefile.am:
3021         * gst/indexers/gstindexers.c: (plugin_init):
3022           don't compile fileindex without mmap
3023
3024 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3025
3026         * configure.ac:
3027           reorganize
3028           clean up
3029           document more
3030           remove cruft
3031         * check/Makefile.am:
3032         * docs/gst/Makefile.am:
3033         * examples/helloworld/Makefile.am:
3034         * gst/Makefile.am:
3035         * gst/base/Makefile.am:
3036         * gst/check/Makefile.am:
3037         * gst/elements/Makefile.am:
3038         * gst/indexers/Makefile.am:
3039         * gst/parse/Makefile.am:
3040         * libs/gst/controller/Makefile.am:
3041         * libs/gst/dataprotocol/Makefile.am:
3042         * examples/helloworld/helloworld.c: (event_loop):
3043           compile fixes, though it's not being compiled currently
3044
3045 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3046
3047         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3048           Add some simple tests for the new taglist date API.
3049
3050 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3051
3052         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3053         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3054           Beautify 'last-message' output: print 'none' for buffer timestamps
3055           and durations if none is set; improve alignment with next messages.
3056
3057 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3058
3059         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3060         * gst/gstpluginfeature.h:
3061         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3062         * gst/gstregistry.h:
3063         * docs/gst/gstreamer-sections.txt:
3064           Add new API to check plugin feature version requirements.
3065
3066         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3067           Some basic tests for the above.         
3068
3069 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3070
3071         * gst/gststructure.c: (gst_structure_to_string):
3072           guard against NULL printf - happens when for example
3073           a message structure with GstClock gets serialized
3074
3075 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3076
3077         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3078           Fix presumable copy'n'pasto.
3079
3080 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3081
3082         * gst/elements/gstfakesrc.h:
3083         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3084         * gst/elements/gsttypefindelement.c:
3085           fix some signedness
3086         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3087           I wonder if this could actually write +2GB files before
3088
3089 2005-10-13  Andy Wingo  <wingo@pobox.com>
3090
3091         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3092         Fix Timmeke Waymans bug.
3093         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3094         string of the proper length to gst_caps_from_string. There's a
3095         potential for, before this fix, that this could cause someone
3096         connecting over the network to cause a segfault if the payload is
3097         not NUL-terminated.
3098
3099 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3100
3101         * docs/design/draft-push-pull.txt:
3102         * docs/design/part-overview.txt:
3103         * docs/random/TODO-pre-0.9:
3104         * docs/random/old/ChangeLog.gstreamer:
3105         * gst/base/gstpushsrc.c:
3106         * gst/gstclock.c:
3107           fixed typos
3108
3109 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3110
3111         * gst/glib-compat.c: (gst_flags_get_first_value):
3112         * gst/glib-compat.h:
3113         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3114         (gst_value_compare_double), (gst_value_serialize_flags):
3115           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3116           infinite loop
3117
3118 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3119
3120         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3121         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3122           fix up debugging
3123         * tools/gst-launch.c: (event_loop):
3124           print out clock nicely
3125
3126 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3127
3128         * docs/gst/gstreamer-sections.txt:
3129         * gst/gsttaglist.h:
3130         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3131         (gst_tag_list_get_date_index):
3132           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3133           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3134
3135 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3136
3137         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3138         (gst_collectpads_chain):
3139         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3140         in CollectData.
3141
3142 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3143
3144         * docs/gst/gstreamer-sections.txt:
3145         * gst/gst.c:
3146         * gst/gsterror.h:
3147         * tools/gst-inspect.c: (main):
3148         * tools/gst-launch.c: (main):
3149         * tools/gst-run.c: (main):
3150         * tools/gst-xmlinspect.c: (main):
3151           fix GOption context leaks
3152           doc fixes
3153
3154 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3155
3156         * gst/gstbus.c:
3157           use HAVE_UNISTD_H
3158         * win32/common/config.h:
3159           update config
3160         * win32/vs6/grammar.dsp:
3161         * win32/vs6/libgstelements.dsp:
3162         * win32/vs6/libgstreamer.dsp:
3163           update vs6 files
3164
3165 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3166
3167         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3168         * gst/base/gstbasesrc.c: (gst_base_src_query):
3169           fix more guint64<->gdouble conversions
3170
3171 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3172
3173         * Makefile.am:
3174           add win32-update target
3175         * win32/common/gstconfig.h:
3176         * win32/common/gstenumtypes.c:
3177         * win32/common/gstenumtypes.h:
3178         * win32/common/gstversion.h:
3179           add files that visual studio can't generate
3180
3181 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3182
3183         * Makefile.am:
3184           add a win32-update target
3185         * configure.ac:
3186
3187 2005-10-12  Wim Taymans  <wim@fluendo.com>
3188
3189         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3190         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3191         * gst/gstelement.c: (gst_element_commit_state),
3192         (gst_element_set_state):
3193         Protect flags with proper lock.
3194         unref provided cached clock in dispose.
3195
3196 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3197
3198         * gst/gst.c:
3199         * gst/gstminiobject.h:
3200         * gst/gstpad.h:
3201         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3202           removed unused flags from miniobject
3203           doc fixes
3204
3205 2005-10-12  Wim Taymans  <wim@fluendo.com>
3206
3207         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3208         (gst_file_sink_event), (gst_file_sink_render):
3209         Flush before seeking.
3210
3211 2005-10-12  Andy Wingo  <wingo@pobox.com>
3212
3213         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3214         always been the case.
3215
3216 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3217
3218         * check/gst/gstbin.c: (GST_START_TEST):
3219         * docs/gst/gstreamer-sections.txt:
3220         * gst/base/gstbasesink.c: (gst_base_sink_init):
3221         * gst/base/gstbasesrc.c: (gst_base_src_init),
3222         (gst_base_src_get_range), (gst_base_src_check_get_range),
3223         (gst_base_src_start), (gst_base_src_stop):
3224         * gst/base/gstbasesrc.h:
3225         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3226         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3227         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3228         (bin_bus_handler):
3229         * gst/gstbin.h:
3230         * gst/gstbuffer.h:
3231         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3232         * gst/gstbus.h:
3233         * gst/gstelement.c: (gst_element_is_locked_state),
3234         (gst_element_set_locked_state), (gst_element_commit_state),
3235         (gst_element_set_state):
3236         * gst/gstelement.h:
3237         * gst/gstindex.c: (gst_index_init):
3238         * gst/gstindex.h:
3239         * gst/gstminiobject.h:
3240         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3241         (gst_object_set_parent):
3242         * gst/gstobject.h:
3243         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3244         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3245         * gst/gstpad.h:
3246         * gst/gstpadtemplate.h:
3247         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3248         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3249         * gst/gstpipeline.h:
3250         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3251         (gst_file_index_commit):
3252         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3253         * testsuite/pad/link.c: (gst_test_src_init),
3254         (gst_test_filter_init), (gst_test_sink_init):
3255         * testsuite/states/locked.c: (main):
3256           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3257           moved bitshift from macro to enum definition
3258
3259 2005-10-12  Wim Taymans  <wim@fluendo.com>
3260
3261         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3262         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3263         (gst_file_sink_render):
3264         Some more debugging info.
3265
3266 2005-10-12  Wim Taymans  <wim@fluendo.com>
3267
3268         * docs/design/part-states.txt:
3269         * tools/gst-launch.c: (main):
3270         Some doc updates.
3271         Revert non-intentional change.
3272
3273 2005-10-12  Wim Taymans  <wim@fluendo.com>
3274
3275         * check/gst/gstbin.c: (GST_START_TEST):
3276         * check/gst/gstelement.c: (GST_START_TEST):
3277         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3278         * check/gst/gstghostpad.c: (GST_START_TEST):
3279         * check/gst/gstpipeline.c: (GST_START_TEST):
3280         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3281         * check/states/sinks.c: (GST_START_TEST):
3282         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3283         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3284         (gst_bin_remove_func), (gst_bin_get_state_func),
3285         (gst_bin_recalc_state), (gst_bin_change_state_func),
3286         (bin_bus_handler):
3287         * gst/gstelement.c: (gst_element_get_state_func),
3288         (gst_element_get_state), (gst_element_abort_state),
3289         (gst_element_commit_state), (gst_element_set_state),
3290         (gst_element_change_state), (gst_element_change_state_func):
3291         * gst/gstelement.h:
3292         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3293         (gst_pipeline_provide_clock_func):
3294         * gst/gstutils.c: (gst_element_link_pads_filtered):
3295         * tools/gst-launch.c: (main):
3296         * tools/gst-typefind.c: (main):
3297         Use GstClockTime in _get_state() instead of GTimeVal.
3298         Remove old code in gstutils.c
3299
3300 2005-10-12  Andy Wingo  <wingo@pobox.com>
3301
3302         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3303         removed.
3304
3305         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3306         there is no task. Shouldn't affect any code, as nothing in our
3307         plugins checks this return value.
3308         (gst_pad_stop_task): Also take the stream lock if the pad has no
3309         task. Docs updated.
3310
3311 2005-10-12  Wim Taymans  <wim@fluendo.com>
3312
3313         * gst/gstpad.c: (pre_activate), (post_activate),
3314         (gst_pad_activate_pull), (gst_pad_activate_push):
3315         Cleanup activation code. Reset old state if
3316         activation failed.
3317
3318 2005-10-12  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3321         (gst_base_sink_change_state):
3322         No need to prerol after receiving EOS.
3323
3324         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3325         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3326         * gst/elements/gstidentity.c: (gst_identity_event):
3327         Print events more verbosely.
3328
3329 2005-10-12  Wim Taymans  <wim@fluendo.com>
3330
3331         * check/Makefile.am:
3332         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3333         * check/states/sinks2.c:
3334         Moved sinks2 testcode in sinks check.
3335
3336         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3337         (gst_bin_remove_func), (gst_bin_recalc_state),
3338         (gst_bin_change_state_func), (bin_bus_handler):
3339         Fix potential race condition when _get_state() iterated over an
3340         ASYNC element right before it posted a state completion.
3341
3342         * gst/gstclock.h:
3343         Do proper cast here.
3344
3345         * gst/gstevent.c: (gst_event_new_newsegment),
3346         (gst_event_parse_newsegment):
3347         A playback rate of 0.0 is not allowed.
3348
3349 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3350
3351         * win32/common/config.h:
3352         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3353         (_trewinddir), (_ttelldir), (_tseekdir):
3354         * win32/common/dirent.h:
3355         * win32/common/gtchar.h:
3356         * win32/common/libgstbase.def:
3357         * win32/common/libgstreamer.def:
3358         * win32/vs6/grammar.dsp:
3359         * win32/vs6/gst_inspect.dsp:
3360         * win32/vs6/gst_launch.dsp:
3361         * win32/vs6/gstreamer.dsw:
3362         * win32/vs6/libgstbase.dsp:
3363         * win32/vs6/libgstelements.dsp:
3364         * win32/vs6/libgstreamer.dsp:
3365           Visual Studio 6 project files, and a new common directory.
3366           Phear.
3367
3368 2005-10-11  Wim Taymans  <wim@fluendo.com>
3369
3370         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3371         (gst_base_sink_do_sync), (gst_base_sink_query),
3372         (gst_base_sink_change_state):
3373         * gst/base/gstbasesink.h:
3374         Correctly parse newsegment info.
3375
3376 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3377
3378         * gst/gst.c: (init_post):
3379           split plugin paths correctly
3380
3381 2005-10-11  Wim Taymans  <wim@fluendo.com>
3382
3383         * check/gst/gstevent.c: (GST_START_TEST):
3384         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3385         (gst_base_sink_change_state):
3386         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3387         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3388         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3389         * gst/gstevent.c: (gst_event_new_newsegment),
3390         (gst_event_parse_newsegment):
3391         * gst/gstevent.h:
3392         Added extra flag to newsegment for future API freeze.
3393         Updated check and base elements.
3394
3395 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3396
3397         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3398         (gst_collectpads_add_pad), (gst_collectpads_pop),
3399         (gst_collectpads_event), (gst_collectpads_chain):
3400         * gst/base/gstcollectpads.h: Handle EOS correctly.
3401
3402 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3403
3404         * tools/gst-launch.c: (main):
3405           more null protecting
3406
3407 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3408
3409         * gst/gst-i18n-lib.h:
3410           check for ENABLE_NLS, not GETTEXT_PACKAGE
3411         * gst/gstregistry.c: (gst_registry_add_plugin),
3412         (gst_registry_scan_path_level),
3413         (_gst_registry_remove_cache_plugins):
3414           protect possibly NULL strings
3415         * gst/parse/types.h:
3416           config.h already included before
3417         * tools/gst-inspect.c: (main):
3418           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3419           check for ENABLE_NLS, not GETTEXT_PACKAGE
3420         * tools/gst-launch.c: (main):
3421           check for ENABLE_NLS, not GETTEXT_PACKAGE
3422
3423 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3424
3425         * configure.ac:
3426           if we don't have glib, fail before testing 2.8
3427         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3428           fix a leak, should fix plugins-base testsuite
3429
3430 2005-10-11  Andy Wingo  <wingo@pobox.com>
3431
3432         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3433         take the mode we're going to as an arg. Go head and set the mode
3434         and flushing flags now, so that if the activate function starts a
3435         thread all the flags will be in the right state.
3436         (post_activate): Renamed also. Just handle making sure streaming
3437         finishes for the deactivation case, and setting the deactivated
3438         mode.
3439         (gst_pad_set_active): Complain loudly if deactivation fails.
3440         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3441         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3442         remove the terrible hack.
3443
3444 2005-10-11  Wim Taymans  <wim@fluendo.com>
3445
3446         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3447         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3448         (gst_bin_recalc_state), (gst_bin_change_state_func),
3449         (gst_bin_dispose), (bin_bus_handler):
3450         * gst/gstbin.h:
3451         Prepare to make current EOS message queue more generic.
3452         Fix some typos.
3453
3454         * gst/gstevent.c: (gst_event_new_newsegment),
3455         (gst_event_parse_newsegment):
3456         * gst/gstevent.h:
3457         Rename base to stream_time.
3458
3459         * gst/gstmessage.h:
3460         Fix typo in docs.
3461
3462 2005-10-11  Wim Taymans  <wim@fluendo.com>
3463
3464         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3465         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3466         (gst_bin_change_state_func), (bin_bus_handler):
3467         * gst/gstbin.h:
3468         Work on proper clock selection.
3469
3470 2005-10-11  Edward Hervey  <edward@fluendo.com>
3471
3472         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3473         * libs/gst/controller/gstcontroller.h:
3474         Added GList* version of _remove_properties() in order to be able to wrap
3475         it in bindings.
3476
3477 2005-10-11  Wim Taymans  <wim@fluendo.com>
3478
3479         * docs/design/part-states.txt:
3480         Some more docs.
3481
3482         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3483         (gst_bin_change_state_func), (bin_bus_handler):
3484         Doc updates. Don't distribute the same clock over and over again.
3485
3486         * gst/gstclock.c:
3487         * gst/gstclock.h:
3488         Doc updates.
3489
3490         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3491         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3492         (gst_pad_send_event):
3493         * gst/gstpad.h:
3494         Make probe emission threadsafe again.
3495         Register quarks and move _get_name() from utils.
3496         Doc updates.
3497
3498         * gst/gstpipeline.c: (gst_pipeline_class_init),
3499         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3500         Only redistribute the clock of it changed.
3501
3502         * gst/gstsystemclock.h:
3503         Doc updates. 
3504
3505         * gst/gstutils.c:
3506         * gst/gstutils.h:
3507         Moved the _flow_get_name() to GstPad.
3508
3509 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3510
3511         * check/gst-libs/gdp.c: (GST_START_TEST):
3512         * check/gst/gstcaps.c: (GST_START_TEST):
3513         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3514         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3515         (gst_dp_packet_from_caps):
3516           fix more valgrind warnings before turning up the heat
3517
3518 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3519
3520         * gst/parse/grammar.y:
3521           some cleanup before the hacking
3522
3523 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3524
3525         * gst/base/gstbasesrc.c: (gst_base_src_query):
3526           use conversions
3527         * gst/gstutils.c: (gst_guint64_to_gdouble),
3528         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3529         * gst/gstutils.h:
3530           externalize, basesrc uses it
3531           obviously the implementation needs testing
3532
3533 2005-10-10  Wim Taymans  <wim@fluendo.com>
3534
3535         * tests/sched/Makefile.am:
3536         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3537         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3538
3539 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3540
3541         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3542           apparently converting from guint64 to double is not implemented
3543           on MSVC
3544
3545 2005-10-10  Wim Taymans  <wim@fluendo.com>
3546
3547         * check/Makefile.am:
3548         * check/generic/states.c: (GST_START_TEST):
3549         * check/gst/gstbin.c: (GST_START_TEST):
3550         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3551         * check/states/sinks.c: (GST_START_TEST):
3552         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3553         (main):
3554         Check fixes, use API as stated in design docs, remove hacks.
3555
3556         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3557         (gst_base_sink_change_state):
3558         Catch stopping our task while we're shutting down.
3559
3560         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3561         (gst_bin_remove_func), (gst_bin_get_state_func),
3562         (gst_bin_recalc_state), (gst_bin_change_state_func),
3563         (bin_bus_handler):
3564         * gst/gstbin.h:
3565         * gst/gstelement.c: (gst_element_init),
3566         (gst_element_get_state_func), (gst_element_abort_state),
3567         (gst_element_commit_state), (gst_element_lost_state),
3568         (gst_element_set_state), (gst_element_change_state),
3569         (gst_element_change_state_func):
3570         * gst/gstelement.h:
3571         New state change algorithm (see #318116)
3572
3573         * gst/gstpipeline.c: (gst_pipeline_class_init),
3574         (gst_pipeline_init), (gst_pipeline_set_property),
3575         (gst_pipeline_get_property), (do_pipeline_seek),
3576         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3577         * gst/gstpipeline.h:
3578         Remove crude state change hacks.
3579
3580         * gst/gstutils.h:
3581         Remove crude hacks.
3582
3583         * tools/gst-launch.c: (main):
3584         Fixes for state change. Needs some more work to fully use the
3585         new stuff.
3586
3587 2005-10-10  Andy Wingo  <wingo@pobox.com>
3588
3589         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3590
3591         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3592         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3593         issue.
3594
3595 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3596
3597         * gst/gstiterator.c: (gst_iterator_new):
3598           Fix my previous commit: GTypes passed to gst_iterator_new()
3599           can be fundamental types.
3600
3601 2005-10-10  Wim Taymans  <wim@fluendo.com>
3602
3603         * gst/gstelement.c: (gst_element_iterate_pad_list),
3604         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3605         (gst_element_iterate_sink_pads):
3606         Use src/sink pads lists for the respective iterators instead
3607         of filtering.
3608
3609 2005-10-10  Andy Wingo  <wingo@pobox.com>
3610
3611         Merged in popt removal + GOption addition patch from Ronald, bug
3612         #169772.
3613
3614         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3615         GstElement macros around, remove popt-related symbols, add goption
3616         stuff.
3617
3618         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3619         
3620         * docs/gst/Makefile.am:
3621         * docs/libs/Makefile.am: No POPT_CFLAGS.
3622         
3623         * examples/manual/Makefile.am:
3624         * docs/manual/basics-init.xml: Doc updates with an example.
3625         
3626         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3627         (gst_init), (parse_one_option), (parse_goption_arg):
3628         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3629         bit of hand merging and debugging to get the GOption stuff working
3630         tho.
3631         
3632         * tests/Makefile.am:
3633         * tools/Makefile.am:
3634         * tools/gst-inspect.c: (main):
3635         * tools/gst-launch.c: (main):
3636         * tools/gst-run.c: (main):
3637         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3638
3639 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3640
3641         * gst/gstiterator.c: (gst_iterator_new):
3642           Add assertions to make sure passed GType is likely to really
3643           be a GType (as the compiler won't catch it if the size and
3644           GType arguments get mixed up, see #318447).
3645
3646 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3647
3648         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3649
3650         * gst/gstbin.c: (gst_bin_iterate_sorted):
3651           Pass GType and size arguments to gst_iterator_new() in the right
3652           order (maybe we should make _new() take the GType as first argument
3653           just like _new_list()?) (#318447).
3654           
3655
3656 2005-10-10  Wim Taymans  <wim@fluendo.com>
3657
3658         * gst/gstelement.c: (gst_element_finalize):
3659         And free the GStaticRecMutex too
3660
3661 2005-10-10  Andy Wingo  <wingo@pobox.com>
3662
3663         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3664         Allocate and free the mutex properly.
3665
3666         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3667         New macros.
3668         (GstElement): The state_lock is now recursive. Rebuild your
3669         plugins, suckers. Old macros adapted.
3670
3671         * docs/gst/gstreamer-sections.txt: Doc updates.
3672
3673         * gst/gstutils.h:
3674         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3675         (g_static_rec_cond_wait): Ported from state changes patch, while
3676         we wait on bug #317802 to be solved in a well-distributed GLib.
3677
3678         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3679         gst_element_change_state, variable name changes.
3680         (gst_element_change_state): Split out of gst_element_set_state in
3681         preparation for the state change merge. Doesn't pay attention to
3682         the 'transition' argument.
3683         (gst_element_set_state): Updates, hopefully purely cosmetic.
3684         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3685         state change patch.
3686         (gst_element_get_state_func): Renamed from get_state, cosmetic
3687         changes.
3688
3689 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3690
3691         * gst/elements/gstelements.c:
3692         * win32/GStreamer.vcproj:
3693         * win32/config.h:
3694         * win32/dirent.c: (_tseekdir):
3695         * win32/gst-inspect.vcproj:
3696         * win32/gst-launch.vcproj:
3697         * win32/gstconfig.h:
3698         * win32/gstelements.vcproj:
3699         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3700         * win32/gstreamer.def:
3701         * win32/msvc71.sln:
3702           updates for the win32 build (patch from Sebastien Moutte)
3703
3704 2005-10-10  Andy Wingo  <wingo@pobox.com>
3705
3706         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3707         gst_bin_get_state, cleaned up (but no logic changes).
3708         (bin_element_is_sink): Comment updates.
3709         (sink_iterator_filter): Remove needless cast.
3710         (gst_bin_iterate_sinks): Doc update.
3711         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3712         cleaned up (but no logic changes).
3713
3714         * check/states/sinks.c (test_src_sink): Cleanups from the state
3715         change patch.
3716         (test_livesrc_sink): Sync on the state.
3717
3718         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3719         the state change patch.
3720
3721         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3722         change patch.
3723
3724         * check/gst/gstbin.c: Merge in some style fixes and additional
3725         checks from Wim's state change patch.
3726
3727 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3728
3729         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3730         (gst_type_find_helper):
3731           Check whether we have the requested data already in our list of
3732           cached buffers before pulling a new buffer; also make the buffer
3733           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3734
3735 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3736
3737         * gst/gstcaps.c:
3738         * gst/gstevent.c:
3739           doc updates
3740         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3741           don't use long long, it's not portable.  Replacing with
3742           gint64 seems to work; let's hope no skeletons fall out of the closet.
3743
3744 2005-10-10  Andy Wingo  <wingo@pobox.com>
3745
3746         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3747
3748 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3749
3750         * docs/gst/gstreamer-sections.txt:
3751         * gst/gstevent.c:
3752         * gst/gstevent.h:
3753         * gst/gstinfo.c:
3754         * gst/gstinfo.h:
3755         * gst/gstmessage.c: (gst_message_parse_state_changed):
3756         * gst/gstpad.c:
3757         * gst/gstpad.h:
3758           more docs, fix compilation
3759
3760 2005-10-09  Philippe Khalaf <burger@speedy.org>
3761         * gst/gstmessage.c:
3762           Fixed a few forgotten variables on previous commit
3763
3764 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3765
3766         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3767           Fix evil typefind crasher: getrange() might return a short
3768           buffer at the end of a file, but gst_type_find_peek() must
3769           either return the full data as requested or NULL, but
3770           never a short buffer.
3771
3772 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3773
3774         * gst/gstmessage.c: (gst_message_new_state_changed),
3775         (gst_message_parse_state_changed):
3776         * gst/gstmessage.h:
3777           don't use "new", it's a C++ keyword
3778
3779 2005-10-08  Wim Taymans  <wim@fluendo.com>
3780
3781         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3782         * gst/gstelement.c: (gst_element_post_message):
3783         * gst/gstpipeline.c: (gst_pipeline_change_state):
3784         Small docs and debug updates.
3785
3786 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3787
3788         * docs/gst/gstreamer-sections.txt:
3789         * gst/gstelementfactory.c:
3790         * gst/gstevent.c:
3791         * gst/gsttaglist.c:
3792           more docs
3793
3794 2005-10-08  Wim Taymans  <wim@fluendo.com>
3795
3796         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3797         (gst_bin_dispose), (bin_bus_handler):
3798         Fix typos, add comments.
3799         Clear EOS list when going to PAUSED from any direction and do it
3800         in a threadsafe way.
3801         Get base time in a threadsafe way too.
3802         Fix confusing debug in the change_state function.
3803         Various other small cleanups.
3804         
3805         * gst/gstelement.c: (gst_element_post_message):
3806         Fix very verbose bus posting code.
3807
3808         * gst/gstpipeline.c: (gst_pipeline_class_init),
3809         (gst_pipeline_set_property), (gst_pipeline_get_property),
3810         (gst_pipeline_change_state):
3811         Small ARG_ -> PROP_ cleanup
3812
3813 2005-10-08  Wim Taymans  <wim@fluendo.com>
3814
3815         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3816         Do a less CPU demanding EOS check because we can.
3817
3818 2005-10-08  Wim Taymans  <wim@fluendo.com>
3819
3820         * libs/gst/dataprotocol/dataprotocol.c:
3821         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3822         (gst_dp_packet_from_event):
3823         * libs/gst/dataprotocol/dataprotocol.h:
3824         * libs/gst/dataprotocol/dp-private.h:
3825         It's about time we bump the version number.
3826         Since event types don't fit in the guint8 anymore describing
3827         the payload type, make payload type 16 bits wide.
3828
3829 2005-10-08  Wim Taymans  <wim@fluendo.com>
3830
3831         * docs/design/part-TODO.txt:
3832         * docs/design/part-clocks.txt:
3833         * docs/design/part-events.txt:
3834         * docs/design/part-gstbin.txt:
3835         * docs/design/part-gstelement.txt:
3836         * docs/design/part-gstpipeline.txt:
3837         * docs/design/part-live-source.txt:
3838         * docs/design/part-messages.txt:
3839         * docs/design/part-overview.txt:
3840         * docs/design/part-states.txt:
3841         Many doc updates.
3842
3843 2005-10-08  Wim Taymans  <wim@fluendo.com>
3844
3845         * gst/gstevent.c:
3846         * gst/gstevent.h:
3847         Fix event quark registration.
3848         Add some space between events so we can insert them in the
3849         right groups.
3850
3851 2005-10-08  Wim Taymans  <wim@fluendo.com>
3852
3853         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3854         (gst_base_sink_handle_buffer):
3855         Better log message.
3856
3857         * gst/gstbus.h:
3858         * gst/gstelement.h:
3859         More docs.
3860
3861         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3862         (gst_queue_set_property), (gst_queue_get_property):
3863         * gst/gstqueue.h:
3864         Remove old unused properties.
3865
3866 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3867         * docs/gst/gstreamer-sections.txt:
3868         * gst/gstmessage.c:
3869         * gst/gstmessage.h:
3870         * gst/gstminiobject.c:
3871         * gst/gstminiobject.h:
3872         * gst/gstobject.h:
3873         * gst/gstpad.h:
3874         * gst/gstutils.h:
3875           lots of new docs and doc fixes
3876
3877 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3878
3879         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3880         * gst/gstplugin.h:
3881         * gst/gstregistry.c: (gst_registry_lookup_locked),
3882         (gst_registry_scan_path_level):
3883         * gst/gstregistryxml.c: (load_plugin):
3884           Only ever load one plugin for a given plugin basename.
3885           This ensures correct overriding of GST_PLUGIN_PATH over
3886           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3887           system installed plugins.
3888
3889 2005-10-08  Wim Taymans  <wim@fluendo.com>
3890
3891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3892         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3893         Prepare for doing QOS.
3894
3895 2005-10-08  Wim Taymans  <wim@fluendo.com>
3896
3897         * check/gst/gstbin.c: (GST_START_TEST):
3898         * check/pipelines/cleanup.c: (GST_START_TEST):
3899         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3900         Allow new clock message too.
3901
3902 2005-10-08  Wim Taymans  <wim@fluendo.com>
3903
3904         * gst/gstmessage.c: (gst_message_new_error),
3905         (gst_message_new_warning), (gst_message_new_tag),
3906         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3907         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3908         (gst_message_new_segment_start), (gst_message_new_segment_done),
3909         (gst_message_parse_state_changed),
3910         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3911         (gst_message_parse_new_clock):
3912         * gst/gstmessage.h:
3913         Also carry the clock in question.
3914
3915 2005-10-08  Wim Taymans  <wim@fluendo.com>
3916
3917         * gst/gstmessage.c: (gst_message_new_custom),
3918         (gst_message_new_eos), (gst_message_new_error),
3919         (gst_message_new_warning), (gst_message_new_tag),
3920         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3921         (gst_message_new_new_clock), (gst_message_new_segment_start),
3922         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3923         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3924         * gst/gstmessage.h:
3925         Clean up.
3926         Added clock related messages.
3927
3928         * gst/gstpipeline.c: (gst_pipeline_change_state):
3929         Post message when the clock changed.
3930
3931         * tools/gst-launch.c: (event_loop):
3932         Print new clock.
3933
3934 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3935
3936         * tools/gst-inspect.c: (print_element_properties_info):
3937           Can't pass NULL strings to g_print() on windows.
3938
3939 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3940
3941         * docs/Makefile.am:
3942         * docs/gst/Makefile.am:
3943         * docs/gst/gstreamer-docs.sgml:
3944         * docs/gst/running.xml:
3945         * docs/version.entities.in:
3946           add a chapter on running GStreamer.
3947           document GST_DEBUG and GST_PLUGIN* env vars
3948
3949 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3950
3951         * Makefile.am:
3952           remove include dir
3953         * configure.ac:
3954           remove PLUGINS_BUILDDIR stuff
3955         * gst/gst.c: (init_post):
3956           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3957         * idiottest.mak:
3958           remove, it was condescending and not needed
3959
3960 2005-10-08  Wim Taymans  <wim@fluendo.com>
3961
3962         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3963         (gst_base_sink_handle_object), (gst_base_sink_event),
3964         (gst_base_sink_wait), (gst_base_sink_handle_event),
3965         (gst_base_sink_change_state):
3966         * gst/base/gstbasesink.h:
3967         Repost EOS message while going to PLAYING if still EOS.
3968         Make sure that when receiving a FLUSH_START we don't attempt
3969         to sync on the clock anymore.
3970
3971 2005-10-08  Wim Taymans  <wim@fluendo.com>
3972
3973         * tools/gst-launch.c: (event_loop):
3974         Better message printout.
3975
3976 2005-10-08  Wim Taymans  <wim@fluendo.com>
3977
3978         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3979         (gst_bin_child_proxy_get_children_count):
3980         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3981         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3982         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3983         (gst_child_proxy_set_valist):
3984         * gst/parse/grammar.y:
3985         Make ChildProxy threadsafe and fix mem leaks.
3986
3987 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3988
3989         * gst/gst.c: (init_post):
3990           debug the GST_PLUGIN_ env vars
3991
3992 2005-10-08  Wim Taymans  <wim@fluendo.com>
3993
3994         * check/gst/gstbin.c: (GST_START_TEST):
3995         * check/gst/gstmessage.c: (GST_START_TEST):
3996         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3997         * gst/gstelement.c: (gst_element_commit_state),
3998         (gst_element_lost_state):
3999         * gst/gstmessage.c: (gst_message_new_state_changed),
4000         (gst_message_parse_state_changed):
4001         * gst/gstmessage.h:
4002         * tools/gst-launch.c: (event_loop):
4003         Added extra field to STATE_CHANGE message with the pending
4004         state, which will be different from the new state soon.
4005
4006 2005-10-08  Wim Taymans  <wim@fluendo.com>
4007
4008         * gst/gstbus.c: (gst_bus_pop):
4009         * gst/gstclock.c:
4010         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4011         Small cleanups and doc updates.
4012
4013 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4014
4015         * gst/gst.c: (init_pre):
4016         * gst/gstbin.c: (gst_bin_add_func):
4017           log distributing clocks and base time
4018         * gst/gstregistry.c: (gst_registry_add_plugin),
4019         (gst_registry_scan_path_level), (gst_registry_scan_path):
4020           clean up the debugging output a little
4021         * gst/gstutils.c: (gst_element_state_get_name):
4022           warn about a memleak (I've actually seen this be used, though
4023           it was probably a bug)
4024
4025 2005-10-07  Wim Taymans  <wim@fluendo.com>
4026
4027         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4028         (gst_base_src_init), (gst_base_src_default_newsegment),
4029         (gst_base_src_newsegment), (gst_base_src_do_seek),
4030         (gst_base_src_loop), (gst_base_src_start):
4031         * gst/base/gstbasesrc.h:
4032         Make the newsegment event customizable by subclasses.
4033
4034 2005-10-07  Wim Taymans  <wim@fluendo.com>
4035
4036         * gst/gstevent.c: (gst_event_new_buffersize),
4037         (gst_event_parse_buffersize):
4038         * gst/gstevent.h:
4039         New event for future idea.
4040
4041 2005-10-07  Andy Wingo  <wingo@pobox.com>
4042
4043         * gst/gstelement.c (gst_element_post_message): Doc update.
4044
4045         * docs/gst/gstreamer-sections.txt: Update.
4046
4047         * gst/gstmessage.c (gst_message_new_application): Made into a
4048         function like honest API calls.
4049         (gst_message_new_element): New message type.
4050
4051         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4052
4053         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4054         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4055         times.
4056
4057         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4058         NO_PREROLL from gst_element_change_state to fall through.
4059
4060 2005-10-07  Wim Taymans  <wim@fluendo.com>
4061
4062         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4063         (gst_ghost_pad_do_activate_push):
4064         Activating a ghostpad with no internal pad in push mode
4065         is ok.
4066
4067 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4068
4069         * gst/gstobject.h:
4070           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4071           Fixes compilation on Windows.
4072
4073 2005-10-07  Michael Smith <msmith@fluendo.com>
4074
4075         * tools/gst-inspect.c:
4076           Print out feature and plugin count at the end when printing out
4077           all features.
4078
4079 2005-10-04  Michael Smith <msmith@fluendo.com>
4080
4081         * gst/gsterror.c: (_gst_stream_errors_init):
4082           Add another error string used in a few existing plugins.
4083
4084         * gst/gstplugin.c:
4085         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4086         * tools/gst-inspect.c: (print_element_info):
4087           When a feature disappears from a plugin (and the feature exists in
4088           the cached registry file), things went horribly wrong. This isn't a
4089           complete fix, we should actually be removing the 'missing' features
4090           from the features list when we load the actual plugin. That's not
4091           yet implemented. 
4092
4093 2005-10-04  Johan Dahlin  <johan@gnome.org>
4094
4095         * check/gst/gstiterator.c: (GST_START_TEST):
4096         * gst/gstbin.c: (gst_bin_iterate_elements),
4097         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4098         * gst/gstelement.c: (gst_element_iterate_pads):
4099         * gst/gstformat.c: (gst_format_iterate_definitions):
4100         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4101         (gst_iterator_new_list), (gst_iterator_filter):
4102         * gst/gstiterator.h:
4103         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4104         Add a GType to GstIterator, update callsites and tests.
4105
4106 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4107
4108         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4109           give events a chance to be handled by event probes when the pad
4110           is not linked
4111
4112 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4113
4114         * gst/gstevent.c: (gst_event_type_get_name),
4115         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4116         * gst/gstevent.h:
4117           add string representations for event types
4118
4119 2005-10-06  Wim Taymans  <wim@fluendo.com>
4120
4121         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4122         Don't use NULL pointers.
4123
4124 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4125
4126         * gst/gst_private.h:
4127         * gst/gstbus.c:
4128         * gst/gstelement.c:
4129         * gst/gstinfo.c:
4130         * gst/gstpluginfeature.c:
4131           widen the debug category in output to fit the biggest one we have
4132           add a bus category and use it
4133           play with the colors
4134           fix up some categories
4135
4136 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4137
4138         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4139           add push activation of sink ghost pads.
4140           Andye, please verify
4141
4142 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4143
4144         * gst/gstutils.c: (gst_element_link_pads):
4145           fix a bug in the case where neither element has a pad
4146         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4147           add a test for that case
4148
4149 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4150
4151         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4152           emit have-data before checking for peers.  This allows
4153           for probe handlers to connect elements.  This helps autopluggers.
4154         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4155         (gst_pad_suite):
4156           add six checks, linked/unlinked with no/true/false probe
4157
4158 2005-10-04  Wim Taymans  <wim@fluendo.com>
4159
4160         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4161         (gst_fake_sink_event), (gst_fake_sink_preroll),
4162         (gst_fake_sink_render), (gst_fake_sink_change_state):
4163         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4164         (gst_fake_src_get_property), (gst_fake_src_create),
4165         (gst_fake_src_stop):
4166         * gst/elements/gstidentity.c: (gst_identity_stop):
4167         Protect last_message with lock.
4168
4169 2005-10-04  Edward Hervey  <edward@fluendo.com>
4170
4171         * gst/gstformat.h: 
4172         Added precision in the comments for GST_FORMAT_DEFAULT
4173
4174 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4175
4176         * tools/gst-launch.c: (main):
4177           Don't try to run erroneous pipelines.
4178
4179 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4180
4181         * gst/gstbus.c: We don't need this header.
4182
4183 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4184
4185         * configure.ac:
4186           back to development
4187
4188 === release 0.9.3 ===
4189
4190 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4191
4192         * README:
4193         * configure.ac:
4194           Releasing 0.9.3, "Unregistered"
4195
4196 2005-10-03  Andy Wingo  <wingo@pobox.com>
4197
4198         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4199         whereby calling a pad's activatepush() function can start a thread
4200         that starts to push or pull before the pad gets the FLUSHING flag
4201         unset. Hack around it by holding the stream lock until the flag is
4202         set. Need to replace this with a proper solution. Together with
4203         the ghost pad fixes, this fixes mp3 playing/tagreading.
4204
4205         * docs/design/part-gstghostpad.txt: Add a note about activation of
4206         proxy pads outside of ghost pads.
4207
4208         * gst/gstghostpad.c: Implement the ghost pad activation design.
4209
4210 2005-10-02  Andy Wingo  <wingo@pobox.com>
4211
4212         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4213         It is volatile, after all.
4214
4215         * docs/design/part-gstghostpad.txt: Flesh out activation with
4216         ghost pads.
4217
4218         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4219         GST_DEBUG_FUNCPTR.
4220
4221 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4222
4223         * configure.ac:
4224           Fix (unused) AM_CONDITIONAL tests.
4225
4226 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4227
4228         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4229
4230         * gst/gstutils.c: (gst_pad_query_convert):
4231           Add assertion that makes sure src_val is >=0, just like
4232           gst_query_new_convert() has. (#315895)
4233
4234 2005-09-30  Edward Hervey  <edward@fluendo.com>
4235
4236         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4237         Let's not iterate pads we're not interested in, it avoids getting 
4238         sky-high refcounts on sinkpad.
4239
4240 2005-09-30  Wim Taymans  <wim@fluendo.com>
4241
4242         * gst/gstelement.c: (gst_element_set_state),
4243         (gst_element_change_state):
4244         Small tweak, element in ASYNC remains ASYNC.
4245
4246 2005-09-30  Wim Taymans  <wim@fluendo.com>
4247
4248         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4249         Only error is an error.
4250
4251         * gst/gstbin.c: (gst_bin_change_state):
4252         Better debugging.
4253
4254         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4255         Also call pad_block in pad alloc.
4256
4257         * gst/gstutils.c: (gst_flow_get_name):
4258         Better debugging.
4259
4260 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4261
4262         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4263         (gst_base_src_get_range):
4264           Fix documentation typos. Add some more debug info.
4265
4266 2005-09-29  David Schleef  <ds@schleef.org>
4267
4268         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4269           more end-user friendly.
4270         * tools/gst-inspect.c: (main): Check if command-line argument is
4271           a file and attempt to load that file as a plugin.
4272
4273 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4274
4275         * check/gst/gstbin.c:
4276         * check/states/sinks.c:
4277           fix tests for the new warning
4278         * check/gst/gstpipeline.c:
4279           add a test for pipeline and bus interaction
4280         * gst/gstelement.c:
4281           elements should be NULL if they get disposed; add a warning if not
4282
4283 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4284
4285         * gst/gstobject.c:
4286           for 2.6 refcounting, make debug log more correct by printing
4287           the actual refcounts at the time of swap (Wim)
4288
4289 2005-09-29  Andy Wingo  <wingo@pobox.com>
4290
4291         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4292         removes signal watches previously added via
4293         gst_bus_add_signal_watch.
4294         (gst_bus_add_signal_watch): Don't return the source id, just store
4295         it on the bus if there wasn't an id already.
4296
4297         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4298         add_signal_watch and remove_signal_watch.
4299
4300 2005-09-29  Edward Hervey  <edward@fluendo.com>
4301
4302         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4303         Better if we actually iterate the list :)
4304
4305 2005-09-29  Wim Taymans  <wim@fluendo.com>
4306
4307         * check/gst/gstbin.c: (GST_START_TEST):
4308         Change for new bus API.
4309
4310         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4311         (send_messages), (GST_START_TEST), (gstbus_suite):
4312         Change for new bus signal API.
4313
4314         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4315         (gst_bus_source_prepare), (gst_bus_source_check),
4316         (gst_bus_create_watch), (gst_bus_add_watch_full),
4317         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4318         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4319         * gst/gstbus.h:
4320         Remove support for multiple GSources operating on different
4321         message types as it is too complex and unneeded when using
4322         signals.
4323         Added support for receiving signals from the bus.
4324
4325 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4326
4327         * docs/libs/tmpl/gstdataprotocol.sgml:
4328         * docs/manual/advanced-dataaccess.xml:
4329         * gst/elements/gstcapsfilter.c:
4330         * gst/gstutils.c:
4331           rename filter-caps to caps property
4332
4333 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4334
4335         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4336           More robust fraction string parsing.
4337
4338         * docs/pwg/appendix-porting.xml:
4339           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4340
4341 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4342
4343         * gst/gstcaps.c: (gst_caps_do_simplify):
4344           Thou shalt not free a structure and then continue using it
4345           in the next loop iteration.
4346
4347         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4348         (gst_caps_suite):
4349           Add test case for caps simplification.
4350
4351 2005-09-29  Wim Taymans  <wim@fluendo.com>
4352
4353         * check/gst/gstbin.c: (GST_START_TEST):
4354         Oops.
4355
4356 2005-09-29  Wim Taymans  <wim@fluendo.com>
4357
4358         * check/gst/gstbin.c: (GST_START_TEST):
4359         Add bus to bin.
4360
4361         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4362         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4363         (find_element), (gst_bin_sort_iterator_next),
4364         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4365         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4366         (gst_bin_change_state), (gst_bin_dispose):
4367         A bin does not have a bus, it gets the bus from the parent.
4368
4369         * gst/gstelement.c: (gst_element_requires_clock),
4370         (gst_element_provides_clock), (gst_element_is_indexable),
4371         (gst_element_is_locked_state), (gst_element_change_state),
4372         (gst_element_set_bus_func):
4373         Small cleanups.
4374
4375         * gst/gstpipeline.c: (gst_pipeline_class_init),
4376         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4377         The pipeline provides a bus.
4378
4379 2005-09-28  Johan Dahlin  <johan@gnome.org>
4380
4381         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4382         gst_structure_get_enum instead of gst_structure_get_int
4383
4384         * gst/gststructure.c (gst_structure_get_enum): Impl.
4385
4386         * gst/gststructure.h (gst_structure_get_enum): Add
4387
4388         * docs/gst/gstreamer-sections.txt: Ditto
4389
4390         * gst/gstmessage.c (gst_message_new_state_changed): Use
4391         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4392         which does introspection.
4393         Reviewed by Christian Schaller
4394
4395 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4396
4397         * gst/gstinfo.c: (gst_debug_log_default):
4398           don't do dummy g_strdup()s
4399         * libs/gst/controller/gstcontroller.c:
4400         (on_object_controlled_property_changed),
4401         (gst_controlled_property_new), (gst_controller_new_valist),
4402         (gst_controller_new_list),
4403         (gst_controller_remove_properties_valist), (gst_controller_set),
4404         (gst_controller_get), (gst_controller_sync_values),
4405         (gst_controller_get_value_array), (_gst_controller_class_init),
4406         (gst_controller_get_type):
4407         * libs/gst/controller/gstcontroller.h:
4408         * libs/gst/controller/gstinterpolation.c:
4409         (gst_controlled_property_find_timed_value_node):
4410           convert // to /**/ comments
4411
4412 2005-09-28  Wim Taymans  <wim@fluendo.com>
4413
4414         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4415         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4416         (gst_bus_sync_signal_handler):
4417         * gst/gstbus.h:
4418         Added async-message and sync-message signals to the bus.
4419         Added helper BusFunc to emit signals for all posted messages.
4420
4421         * gst/gstmessage.c: (gst_message_type_get_name),
4422         (gst_message_type_to_quark), (gst_message_get_type):
4423         * gst/gstmessage.h:
4424         Register quarks for message names.
4425
4426 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4427
4428         * docs/libs/gstreamer-libs-sections.txt:
4429         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4430         (gst_controller_new_list):
4431         * libs/gst/controller/gstcontroller.h:
4432           added another constructor for language bindings
4433
4434 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4435
4436         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4437           add another check
4438         * gst/gstbus.c:
4439           add some doc
4440         * gst/gstinfo.c: (_gst_debug_init):
4441           slightly more readable color for refcount debugging
4442
4443 2005-09-28  Wim Taymans  <wim@fluendo.com>
4444
4445         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4446         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4447         (find_element), (gst_bin_sort_iterator_next),
4448         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4449         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4450         (gst_bin_change_state), (gst_bin_dispose):
4451         Small doc fixes. get_clock -> provide_clock.
4452
4453         * gst/gstelement.c: (gst_element_class_init),
4454         (gst_element_provides_clock), (gst_element_provide_clock),
4455         (gst_element_get_clock), (gst_element_commit_state),
4456         (gst_element_lost_state):
4457         * gst/gstelement.h:
4458         Make get/set_clock() symetric. Add provide_clock vmethod since
4459         that is actually what this function does.
4460
4461         * gst/gstpipeline.c: (gst_pipeline_class_init),
4462         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4463         (gst_pipeline_get_clock):
4464         get_clock -> provide_clock.
4465
4466 2005-09-28  Andy Wingo  <wingo@pobox.com>
4467
4468         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4469         lieu of real docs...
4470
4471         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4472
4473 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4474
4475         * gst/elements/gstcapsfilter.c:
4476         * gst/elements/gstfakesink.c:
4477         * gst/elements/gstfakesrc.c:
4478         * gst/elements/gstfdsink.c:
4479         * gst/elements/gstfdsrc.c:
4480         * gst/elements/gstfilesink.c:
4481         * gst/elements/gstfilesrc.c:
4482         * gst/elements/gstidentity.c:
4483         * gst/elements/gsttee.c:
4484         * gst/elements/gsttypefindelement.c:
4485           Make element details static.
4486
4487 2005-09-28  Wim Taymans  <wim@fluendo.com>
4488
4489         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4490         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4491         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4492         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4493         (gst_bin_change_state), (gst_bin_dispose):
4494         Some documentation updates.
4495         Clean up dispose handlers.
4496
4497         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4498         * gst/gstpad.c: (gst_pad_dispose):
4499         Clean up dispose handler.
4500
4501         * gst/gstpipeline.c: (gst_pipeline_change_state):
4502         Removed spurious UNLOCK.
4503
4504 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4505
4506         * docs/gst/gstreamer-sections.txt:
4507         * gst/base/gstbasesrc.h:
4508         * gst/gstelement.h:
4509         * gst/gstevent.h:
4510         * gst/gstobject.h:
4511         * gst/gstpad.h:
4512         * gst/gstpipeline.c:
4513         * gst/gstpipeline.h:
4514         * gst/gstutils.h:
4515         * gst/gstxml.h:
4516           added two new functions to the docs
4517                 documents all undocumented GstXXXFlags
4518                 completed some incomplete docs 
4519
4520 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4521
4522         * gst/gstbin.c: (gst_bin_dispose):
4523         * gst/gstelement.c: (gst_element_dispose):
4524           remove now useless and leaky resurrection code in dispose
4525         * gst/base/gstbasesrc.c: (gst_base_src_init):
4526         * gst/gstelementfactory.c: (gst_element_factory_create):
4527         * gst/gstobject.c: (gst_object_set_parent):
4528           add some debugging
4529
4530 2005-09-27  Wim Taymans  <wim@fluendo.com>
4531
4532         * docs/design/part-TODO.txt:
4533         Update TODO.
4534
4535         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4536         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4537         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4538         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4539         (gst_bin_change_state):
4540         * gst/gstelement.h:
4541         Remove element variable, we keep element info in the iterator now.
4542
4543 2005-09-27  Andy Wingo  <wingo@pobox.com>
4544
4545         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4546         values.
4547
4548 2005-09-27  Wim Taymans  <wim@fluendo.com>
4549
4550         * check/gst/gstbin.c: (GST_START_TEST):
4551         Enable check that works now.
4552
4553         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4554         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4555         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4556         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4557         (gst_bin_change_state):
4558         * gst/gstbin.h:
4559         Redid the state change algorithm using a topological sort algo.
4560         Handles all cases correctly.
4561         Exposed iterator for state change order.
4562
4563         * gst/gstelement.h:
4564         Temp storage for state changes. Need to get rid of this soon.
4565
4566 2005-09-27  Wim Taymans  <wim@fluendo.com>
4567
4568         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4569         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4570         (link_fold_func), (gst_pad_proxy_setcaps):
4571         Leak fixes, the fold functions need to unref the passed object and
4572         _get_parent_*() returns ref to parent.
4573
4574 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4575
4576         * check/gst/gstbuffer.c: (test_make_writable):
4577           Plug leak in test case and fix 'make check-valgrind'
4578
4579 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4580
4581         * gst/gstbuffer.c: (gst_subbuffer_init):
4582           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4583           works correctly in all circumstances (we could have just copied
4584           the parent buffer's readonly flag, but conceptually it seems
4585           cleaner to mark all subbuffers as read-only). (based on patch
4586           by Alessandro Decina, #314710).
4587         
4588         * check/gst/gstbuffer.c: (create_read_only_buffer),
4589         (test_make_writable), (test_subbuffer_make_writable),
4590         (gst_test_suite):
4591           Add some tests for gst_buffer_make_writable().
4592
4593 2005-09-27  Wim Taymans  <wim@fluendo.com>
4594
4595         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4596         use gst_object_has_ancestor().
4597
4598         * gst/gstobject.c: (gst_object_has_ancestor):
4599         * gst/gstobject.h:
4600         gst_object_has_ancestor() copied from gstbin.c as it is a
4601         usefull function.
4602
4603         * tests/instantiate/create.c: (create_all_elements):
4604         * tests/lat.c: (handoff_src), (handoff_sink):
4605         * tests/sched/runxml.c: (main):
4606         * tests/seeking/seeking1.c: (main):
4607         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4608         (main):
4609         Fix compilation of some tests.
4610
4611 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4612
4613         * gst/gsterror.h:
4614           Remove comment. GST_TYPE_G_ERROR is here to stay,
4615           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4616           (#316961, #300610).
4617
4618 2005-09-26  Wim Taymans  <wim@fluendo.com>
4619
4620         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4621         Added check that shows error in state change order.
4622
4623 2005-09-26  Wim Taymans  <wim@fluendo.com>
4624
4625         * gst/gstbin.c: (gst_bin_change_state):
4626         Make state change function use 3 queues again, we were
4627         adding elements in the wrong order.
4628
4629         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4630         Some debug info,
4631
4632         * gst/gstpad.c: (gst_pad_dispose):
4633         Added some debug info first.
4634
4635 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4636
4637         * docs/design/draft-push-pull.txt:
4638         * docs/design/part-events.txt:
4639         * docs/design/part-overview.txt:
4640         * docs/design/part-scheduling.txt:
4641           Replace all _pull_region() with _pull_range()
4642           
4643 2005-09-26  Andy Wingo  <wingo@pobox.com>
4644
4645         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4646
4647         * check/gst-libs/controller.c: Update for controller api change.
4648
4649         * configure.ac: 
4650         * tests/Makefile.am:
4651         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4652         over by GLib bug 118439.
4653         
4654         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4655         routines to a function.
4656
4657         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4658
4659         * libs/gst/controller/gsthelper.c:
4660         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4661         (gst_object_sync_values): Renamed from sink_values. Ugh.
4662
4663         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4664
4665         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4666         Renamed from controller_key, as it is exported.
4667
4668         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4669
4670 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4671
4672         * gst/Makefile.am:
4673         * gst/gst.h:
4674         * gst/gstpad.h:
4675         * gst/gstpadtemplate.h:
4676         * gst/gstquery.c:
4677         * gst/gstquery.h:
4678         * gst/gstqueryutils.c:
4679         * gst/gstqueryutils.h:
4680           remove queryutils headers after moving the two used functions
4681           to gstquery.  also fixes build problem for gstsiddec
4682
4683 2005-09-26  Michael Smith <msmith@fluendo.com>
4684
4685         * tools/gst-launch.1.in:
4686         Correct documentation in manpage of debug syntax
4687
4688 2005-09-26  Wim Taymans  <wim@fluendo.com>
4689
4690         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4691         (gst_base_src_is_seekable), (gst_base_src_change_state):
4692         Some more debugging info.
4693
4694 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4695
4696         * docs/gst/gstreamer-sections.txt:
4697         * gst/base/gstbasetransform.h:
4698         * gst/gstindex.h:
4699           added more docs
4700
4701 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4702
4703         * docs/gst/.cvsignore:
4704         * docs/gst/tmpl/.cvsignore:
4705         * docs/gst/tmpl/gstpipeline.sgml:
4706         * docs/gst/tmpl/gstplugin.sgml:
4707         * gst/gstpipeline.c:
4708         * gst/gstplugin.c:
4709         * gst/gstplugin.h:
4710           inlined the last two docs files
4711           removed the tmpl directory from cvs (no more conflicts here!)
4712
4713 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4714
4715         * docs/gst/gstreamer-sections.txt:
4716         * docs/gst/tmpl/.cvsignore:
4717         * docs/gst/tmpl/gstpad.sgml:
4718         * docs/gst/tmpl/gstpadtemplate.sgml:
4719         * gst/Makefile.am:
4720         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4721         (gst_pad_finalize), (gst_pad_set_pad_template):
4722         * gst/gstpad.h:
4723         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4724         (gst_pad_template_class_init), (gst_pad_template_init),
4725         (gst_pad_template_dispose), (name_is_valid),
4726         (gst_static_pad_template_get), (gst_pad_template_new),
4727         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4728         (gst_pad_template_pad_created):
4729         * gst/gstpadtemplate.h:
4730           inlined two more docs
4731           factored gstpadtemplate out of gstpad
4732
4733 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4734
4735         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4736         (test_children_state_change_order_semi_sink):
4737           Fix test case: we can't rely on a fixed state change order when
4738           going from READY => PAUSED because the sink might commit its 
4739           new state first when the first buffer created by the source 
4740           reaches the sink before the source has finished its change state.
4741           (Test case still fails at times, see #316856, comment 5 onwards)
4742
4743 2005-09-24  Wim Taymans  <wim@fluendo.com>
4744
4745         * docs/design/part-events.txt:
4746         * docs/design/part-gstbus.txt:
4747         * docs/design/part-gstpipeline.txt:
4748         * docs/design/part-messages.txt:
4749         * docs/design/part-overview.txt:
4750         * docs/design/part-segments.txt:
4751         * gst/gstbin.c:
4752         * gst/gstbuffer.c:
4753         * gst/gstclock.c:
4754         * gst/gstelement.c:
4755         * gst/gstevent.c:
4756         * gst/gstfilter.c:
4757         * gst/gstiterator.c:
4758         Various documentation updates.
4759
4760 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4761
4762         * gst/gstclock.h:
4763           Well, that's embarassing.  Luckily we weren't using
4764           GST_CLOCK_DIFF anywhere.
4765
4766 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4767
4768         * common/gtk-doc.mak:
4769           don't fail on building XML, FC4 slave shows a bunch of doc
4770           missing bits that I don't get
4771         * gst/gstpad.c:
4772         * gst/gstpipeline.c:
4773         * gst/gststructure.c:
4774           some doc updates
4775
4776 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4777
4778         * docs/design/part-gstbin.txt:
4779         * docs/design/part-gstbus.txt:
4780         * gst/gstbus.c:
4781           Add blurb about how the bus goes into flushing mode and
4782           drops all messages when its bin goes from READY into NULL 
4783           state.
4784
4785 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4786
4787         * docs/gst/gstreamer-sections.txt:
4788         * gst/gststructure.c: (gst_structure_get_clock_time):
4789         * gst/gststructure.h:
4790           add a method to get a GstClockTime out of a structure
4791
4792 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4793
4794         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4795         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4796           Added test to check state change order in bins (can still be made
4797           to fail here under heavy disk load; bails out with 'Push on pad
4798           fakesink:sink0, but it was not activated in push mode').
4799
4800         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4801           Fix state change order when there is only a semi sink (#316856)
4802
4803         * gst/gstbus.c: (gst_bus_class_init):
4804           Use _class_peek_parent(), not _class_ref(); fix docs to say
4805           'default main context' instead of 'mainloop' where that is
4806           what's meant.
4807
4808         * gst/gstelement.c: (gst_element_commit_state),
4809         (gst_element_set_state):
4810           Fix typos in debug messages
4811
4812 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4813
4814         * docs/README:
4815         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4816         * gst/gstpluginfeature.c:
4817         * gst/gstutils.c:
4818           various doc updates
4819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4820           change an assert into an error until it gets fixed properly
4821
4822 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4823
4824         * docs/gst/gstreamer-sections.txt:
4825         * docs/gst/tmpl/.cvsignore:
4826         * docs/gst/tmpl/gstelement.sgml:
4827         * docs/gst/tmpl/gstinfo.sgml:
4828         * docs/gst/tmpl/gstobject.sgml:
4829         * gst/gstelement.c:
4830         * gst/gstelement.h:
4831         * gst/gstinfo.c:
4832         * gst/gstinfo.h:
4833         * gst/gstobject.c: (gst_object_class_init):
4834         * gst/gstobject.h:
4835           inlined 3 more biiiig doc files and added some missing docs on the fly
4836
4837 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4838
4839         * check/gst/.cvsignore:
4840         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4841         * gst/gstregistryxml.c: (load_plugin),
4842         (gst_registry_xml_save_plugin):
4843           put back source in registry.  add checks for find_plugin.
4844         * testsuite/states/bin.c: (assert_state), (empty_bin),
4845         (test_adding_one_element), (main):
4846         * testsuite/states/locked.c: (main):
4847           some compile/run fixes
4848
4849 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * check/gst/gstvalue.c: (GST_START_TEST):
4852           fix leaks in the test itself
4853
4854 2005-09-22  Wim Taymans  <wim@fluendo.com>
4855
4856         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4857         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4858         (gst_base_sink_query):
4859         Prepare for more accurate position reporting and query
4860         handling.
4861
4862         * gst/gstelement.c: (gst_element_send_event),
4863         (gst_element_set_state):
4864         Add some comment.
4865
4866 2005-09-22  Wim Taymans  <wim@fluendo.com>
4867
4868         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4869         (gst_query_parse_segment):
4870         * gst/gstquery.h:
4871         More documentation.
4872         Add segment query for future use.
4873
4874 2005-09-22  Wim Taymans  <wim@fluendo.com>
4875
4876         * gst/gstbin.c: (gst_bin_add_func):
4877         Some more debug info.
4878
4879         * gst/gstelement.c: (gst_element_send_event):
4880         Simplify send_event
4881
4882         * gst/gstelement.h:
4883         Don't know how flags got broken.
4884
4885         * gst/gstquery.h:
4886         Added new query.
4887
4888 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4889
4890         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4891           Add simplistic test suite for GST_TYPE_DATE serialisation and
4892           deserialisation.
4893
4894 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4895
4896         * docs/gst/gstreamer-sections.txt:
4897         * gst/gststructure.c: (gst_structure_set_valist),
4898         (gst_structure_get_date):
4899         * gst/gststructure.h:
4900         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4901         (gst_date_copy), (gst_value_compare_date),
4902         (gst_value_serialize_date), (gst_value_deserialize_date),
4903         (gst_value_transform_date_string),
4904         (gst_value_transform_string_date), (_gst_value_initialize):
4905         * gst/gstvalue.h:
4906           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4907           bunch of utility functions along with a hack that checks that
4908           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4909           is required. Part of the grand scheme in #170777.
4910
4911 2005-09-22  Andy Wingo  <wingo@pobox.com>
4912
4913         * gst/gstconfig.h.in: Psych out gtk-doc.
4914
4915         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4916
4917         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4918
4919         * tools/gst-inspect.c (print_element_list): Plug some
4920         inconsequential leaks.
4921
4922         * gst/gstregistry.c (gst_registry_get_default): Doc.
4923
4924         * check/gst/gstplugin.c: 
4925         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4926         * gst/gstelementfactory.c (gst_element_factory_create): 
4927         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4928         refcount changes.
4929
4930         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4931         (gst_plugin_feature_load): Doc, don't eat refs.
4932
4933         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4934         (gst_plugin_list_free): Doc.
4935         (gst_plugin_load_file): Doc updates.
4936
4937         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4938         accessors returning refcounted objects, return a ref.
4939
4940         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4941         accessor for caps. IDEMPOTENCE. Oh yes.
4942
4943 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4944
4945         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4946
4947         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4948         (_gst_debug_register_funcptr):
4949           Add mutex to serialise access to the hash table with
4950           the function pointer => function name string mapping;
4951           make that hash table static scope (#316809).
4952
4953         * gst/registries/.cvsignore:
4954           Remove left-over file.
4955
4956 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4957
4958         * docs/pwg/appendix-porting.xml:
4959           And something about newsegment events and caps-on-buffers to
4960           the porting guide (feel free to improve).
4961
4962 2005-09-21  Andy Wingo  <wingo@pobox.com>
4963
4964         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4965         data and event probes on the same pad.
4966         (test_buffer_probe_once): Test that removing probes from within
4967         the probe functions works.
4968
4969 2005-09-21  Andy Wingo  <wingo@pobox.com>
4970
4971         * check/gst/gstutils.c: New file.
4972         (test_buffer_probe_n_times): A simple buffer probe test. More to
4973         come, foolios.
4974
4975         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4976         have-data::buffer, not have-data.
4977         (gst_pad_add_event_probe): Likewise for have-data::event.
4978         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4979         peer' isn't quite right yet though.
4980         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4981         (gst_pad_remove_data_probe): Change to take the guint handler_id
4982         as their arg, not the function+data, which is more glib-like.
4983
4984         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4985         the signal emission to indicate if the data is a buffer or an
4986         event.
4987         (gst_pad_get_type): Initialize buffer and event quarks.
4988         (gst_pad_class_init): have-data is now a detailed signal, yes it
4989         is.
4990
4991 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4992
4993         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4994         * gst/gstutils.c: (gst_util_set_value_from_string),
4995         (gst_util_set_object_arg):
4996           Don't put functional code in g_return_if_fail() or
4997           g_return_val_if_fail() statements, otherwise things will 
4998           break when G_DISABLE_CHECKS is defined during compilation.
4999
5000 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5001
5002         * docs/gst/tmpl/.cvsignore:
5003         * docs/gst/tmpl/gstvalue.sgml:
5004         * gst/gstvalue.c:
5005         * gst/gstvalue.h:
5006           inlied another one and added  some obvious docs
5007
5008 2005-09-21  Wim Taymans  <wim@fluendo.com>
5009
5010         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5011         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5012         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5013         (gst_fdsrc_get_property), (gst_fdsrc_create):
5014         * gst/elements/gstfdsrc.h:
5015         Properly implement fdsrc. Removed signal and timeout,
5016         better implemented somewhere else.
5017
5018 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5019
5020         * docs/gst/tmpl/.cvsignore:
5021         * docs/gst/tmpl/gstimplementsinterface.sgml:
5022         * gst/gstinterface.c:
5023           inlined more docs
5024
5025 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5026
5027         * docs/gst/gstreamer-sections.txt:
5028         * docs/gst/tmpl/.cvsignore:
5029         * docs/gst/tmpl/gstenumtypes.sgml:
5030           remove obsolete doc file
5031
5032 2005-09-21  David Schleef  <ds@schleef.org>
5033
5034         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5035         little beer, fix a little leak.
5036
5037 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5038
5039         * docs/gst/gstreamer-docs.sgml:
5040         * docs/gst/gstreamer-sections.txt:
5041         * docs/gst/tmpl/.cvsignore:
5042         * gst/Makefile.am:
5043         * gst/gst.h:
5044         * gst/gstbin.c:
5045         * gst/gstelement.h:
5046         * gst/gstindex.c: (gst_index_class_init):
5047         * gst/gstindex.h:
5048         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5049         (gst_index_factory_class_init), (gst_index_factory_init),
5050         (gst_index_factory_finalize), (gst_index_factory_new),
5051         (gst_index_factory_destroy), (gst_index_factory_find),
5052         (gst_index_factory_create), (gst_index_factory_make):
5053         * gst/gstindexfactory.h:
5054         * gst/gstpluginfeature.c:
5055         * gst/gstpluginfeature.h:
5056         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5057           more docs inlined, splitted gstindex.{c,h}
5058
5059 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5060
5061         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5062           fix a leak
5063
5064 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5065
5066         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5067           Set sync to FALSE by default.
5068
5069 2005-09-20  Wim Taymans  <wim@fluendo.com>
5070
5071         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5072         (gst_base_sink_init):
5073         Make sync property settable from subclass.
5074
5075         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5076         (gst_fake_sink_change_state):
5077         Set sync to FALSE by default.
5078
5079 2005-09-20  Wim Taymans  <wim@fluendo.com>
5080
5081         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5082         * tools/gst-launch.c: (main):
5083         The timeout handler should have lower priority than the source
5084         so we don't timeout before popping a message with 0 timeout.
5085         Dump error messages after failed state change.
5086
5087 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5088
5089         * tools/gst-inspect.c: (print_element_properties_info):
5090           Fix two typos.
5091
5092 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5093
5094         * check/gst/gstevent.c:
5095         * gst/elements/gstfakesink.c:
5096         * gst/elements/gstfakesink.h:
5097           remove the sync property from fakesink.
5098           has the side effect of setting sync TRUE
5099           for fakesink, which is a change.  Anyone who knows how
5100           to fix this nicely in a GObject-y way, feel free.
5101
5102 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5103
5104         * docs/gst/gstreamer-docs.sgml:
5105           remove probe refsection
5106
5107 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5108
5109         * check/Makefile.am:
5110           disable valgrinding the controller test again
5111         * docs/gst/gstreamer-sections.txt:
5112           update for api-changes
5113
5114 2005-09-20  Wim Taymans  <wim@fluendo.com>
5115
5116         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5117         (gst_base_sink_set_property), (gst_base_sink_get_property),
5118         (gst_base_sink_do_sync):
5119         * gst/base/gstbasesink.h:
5120         Added sync property to basesink to disable clock sync.
5121
5122 2005-09-20  Andy Wingo  <wingo@pobox.com>
5123
5124         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5125         eating the caller's refcount.
5126
5127         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5128         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5129         refcount.
5130
5131         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5132         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5133         of GLib 2.8 public, so we can know which refcount to check in
5134         tests.
5135
5136         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5137         (gst_object_init): Only set the gst refcount if we're going ahead
5138         with the refcount hack.
5139
5140 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5141
5142         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5143         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5144           more leaks plumbed, added more debug-logging
5145         * gst/gstmacros.h:
5146           whitespace fix
5147
5148 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5149
5150         * gst/gstmessage.c:
5151           remove include of gstmemchunk.h
5152
5153 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5154
5155         * gst/gstclock.c: (_gst_clock_id_free):
5156           Commit from the Political Party For More Atomic CVS Commits,
5157           so that people don't waste too much of their day fishing
5158           out obvious leaks out of massive commits.
5159           Oh, and fix a pretty damn obvious leak in the memchunk
5160           removal code.
5161
5162 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5163
5164         * check/Makefile.am:
5165         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5166           plug mem-leak, re-add to valgrindable tests
5167
5168 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5169
5170         * gst/gstplugin.h:
5171           unbreak the build for those who have chronic arthritis
5172           and typing "make check" is just too taxing on the hands
5173
5174 2005-09-20  Andy Wingo  <wingo@pobox.com>
5175
5176         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5177         really want it out, you should fix plugins at the same time.
5178
5179 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5180
5181         * configure.ac:
5182         * docs/gst/gstreamer-sections.txt:
5183         * gst/gstobject.c:
5184           added missing symbols to api docs
5185           disable ref-count hack if we have glib >= 2.8
5186
5187 2005-09-19  David Schleef  <ds@schleef.org>
5188
5189         * docs/gst/Makefile.am: Ignore a few more internal headers
5190         * docs/gst/gstreamer-docs.sgml: Remove old sections
5191         * docs/gst/gstreamer-sections.txt: Remove old sections
5192         * docs/gst/tmpl/gstobject.sgml: update
5193         * docs/gst/tmpl/gstplugin.sgml: update
5194         * docs/gst/tmpl/gstpluginfeature.sgml: update
5195         * docs/random/ds/0.9-suggested-changes: update.
5196         * gst/Makefile.am: remove memchunk and trashstack, since they're
5197           not used.
5198         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5199         * gst/gst.h: don't include some headers
5200         * gst/gstchildproxy.c: add gstmarshal.h
5201         * gst/gstclock.c: Don't use memchunks
5202         * gst/gstminiobject.c: Add some docs
5203         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5204         * gst/gstobject.h: same
5205         * gst/gstplugin.c: include gstmacros.h
5206         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5207         * gst/gstquery.c: don't use memchunks
5208         * gst/gstregistry.c: rename gst_registry_deinit()
5209         * gst/gstregistry.h: same
5210
5211 2005-09-19  David Schleef  <ds@schleef.org>
5212
5213         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5214         * docs/libs/gstreamer-libs-sections.txt:
5215         * docs/libs/tmpl/gstgetbits.sgml:
5216         * docs/libs/tmpl/gstputbits.sgml:
5217
5218 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * win32/gstenumtypes.c:
5221         * win32/gstenumtypes.h:
5222           Update.
5223
5224 2005-09-19  Wim Taymans  <wim@fluendo.com>
5225
5226         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5227         Automatically PAUSE and RESUME a pipeline when a flushing seek
5228         is performed.
5229
5230 2005-09-19  Andy Wingo  <wingo@pobox.com>
5231
5232         * gst/gstregistry.h: Spacing fixen.
5233
5234 2005-09-19  Wim Taymans  <wim@fluendo.com>
5235
5236         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5237         Handle state change failure more correctly.
5238
5239 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5240
5241         * check/Makefile.am:
5242         * check/pipelines/cleanup.c: (run_pipeline):
5243         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5244         (GST_START_TEST):
5245           enable cleanup again after fixing the leak
5246         * docs/README:
5247           some more info on docs
5248
5249 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5250
5251         * check/Makefile.am:
5252           re-enable tests now that leaks are plugged
5253         * check/gst/gst.c:
5254         * check/gst/gstbin.c:
5255         * check/gst/gstpipeline.c:
5256           add some more tests while fixing leaks
5257         * common/check.mak:
5258           make sure binaries are uptodate when valgrinding/gdbing
5259         * gst/gst.c:
5260         * gst/gstelementfactory.c:
5261           remove a ref too many, and add a FIXME for when we get
5262           round to disposing of classes
5263         * gst/gstplugin.c:
5264           fix the refcounting when loading a plugin from a file and
5265           the code pretends that the pointer is the same even though
5266           of course it can change
5267         * gst/gstpluginfeature.c:
5268           unref plugins marked cached (a bit confusing as a name)
5269           as the docs state should be done
5270           various doc additions to explain refcounting
5271         * gst/gstregistry.c:
5272         * gst/gstregistryxml.c:
5273           debugging
5274
5275 2005-09-19  Wim Taymans  <wim@fluendo.com>
5276
5277         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5278         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5279         (send_messages), (GST_START_TEST), (gstbus_suite):
5280         * check/gst/gstpipeline.c: (GST_START_TEST):
5281         * check/pipelines/cleanup.c: (run_pipeline):
5282         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5283         (GST_START_TEST):
5284         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5285         (gst_bus_source_check), (gst_bus_source_dispatch),
5286         (gst_bus_create_watch), (gst_bus_add_watch_full),
5287         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5288         * gst/gstbus.h:
5289         * tools/gst-launch.c: (event_loop):
5290         * tools/gst-md5sum.c: (event_loop):
5291         GstBusHandler -> GstBusFunc, return value has the same meaning as
5292         any other GSource (FALSE == remove source).
5293         _add_watch() and _add_watch_full() now take a MessageType mask to
5294         only handle specific types of messages.
5295         _poll() returns the GstMessage instead of the message type to avoid
5296         race conditions.
5297         _have_pending() takes a MessageType mask now too.
5298         Added testsuite for multiple bus watches.
5299         Fix testsuites and applications for new bus API.
5300
5301 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5302
5303         * check/Makefile.am:
5304           mark a bunch of the tests as to fix until we fix them
5305
5306 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5307
5308         * common/check.mak:
5309           use GST_PLUGIN settings for valgrind tests as well, so we're
5310           valgrinding the correct thing
5311         * gst/gst.c: (init_post):
5312           plug another leak
5313
5314 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5315
5316         * gst/gst.c: (init_post), (gst_deinit):
5317         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5318         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5319         * gst/gstindex.c: (gst_index_factory_class_init),
5320         (gst_index_factory_finalize):
5321         * gst/gstobject.c: (gst_object_dispose):
5322         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5323         (gst_plugin_load_file), (gst_plugin_desc_free):
5324         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5325         (gst_plugin_feature_finalize):
5326         * gst/gstregistry.c: (gst_registry_class_init),
5327         (gst_registry_init), (gst_registry_finalize),
5328         (gst_registry_get_default), (gst_registry_deinit):
5329         * gst/gstregistry.h:
5330         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5331           various cleanups and memleak plugging.  make valgrind is happy now.
5332
5333 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5334
5335         * common/check.mak:
5336           add a check-valgrind target
5337
5338 2005-09-18  David Schleef  <ds@schleef.org>
5339
5340         * tools/gst-inspect.c: Revert the GOption code.
5341
5342 2005-09-17  David Schleef  <ds@schleef.org>
5343
5344         * check/Makefile.am: Fix environment variables.
5345         * check/gst/gstplugin.c: Fix for API changes.
5346         * tools/gst-inspect.c: Fix for API changes.
5347         * tools/gst-xmlinspect.c: Fix for API changes.
5348         * gst/gstelementfactory.c:
5349         * gst/gstplugin.c:
5350         * gst/gstplugin.h:
5351         * gst/gstpluginfeature.c:
5352         * gst/gstpluginfeature.h:
5353         * gst/gstregistry.c:
5354         * gst/gstregistry.h:
5355         * gst/gstregistryxml.c:
5356         * gst/gsttypefind.c:
5357         * gst/gsttypefindfactory.c:
5358         * gst/indexers/gstfileindex.c:
5359         * gst/indexers/gstmemindex.c:
5360         * gst/schedulers/Makefile.am:
5361           Change registry to keep track of both plugins and features,
5362           removing the feature tracking from plugins themselves.
5363
5364 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5365
5366         * check/Makefile.am:
5367         * tools/gst-register.1.in:
5368           remove gst-register
5369
5370 2005-09-15  David Schleef  <ds@schleef.org>
5371
5372         * check/gst/gstplugin.c:
5373         * gst/gstelementfactory.c:
5374         * gst/gstplugin.c:
5375         * gst/gstpluginfeature.c:
5376         * gst/gstregistry.c:
5377           Getting tired of debugging.  Disabled all the unreffing of
5378           plugins and features, which fixes the segfaults, but of
5379           course leaks like crazy.  At least playbin works.
5380
5381 2005-09-15  David Schleef  <ds@schleef.org>
5382
5383         * check/gst/gstplugin.c: (register_check_elements),
5384         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5385         More testing
5386         * gst/elements/gsttypefindelement.c: Fix refcounting.
5387         * gst/gsttypefind.c:
5388         * gst/gsttypefindfactory.c:
5389         * gst/gsttypefindfactory.h:
5390
5391 2005-09-15  David Schleef  <ds@schleef.org>
5392
5393         * gst/gstindex.c: get refcounting correct.
5394         * gst/gstregistry.c: Handle the case where a feature/plugin is
5395           not found.
5396
5397 2005-09-15  David Schleef  <ds@schleef.org>
5398
5399         * check/Makefile.am:
5400         * check/gst/gstplugin.c: Add test
5401         * gst/gstplugin.c: Fix problems noticed by testsuite
5402         * gst/gstplugin.h:
5403         * gst/gstregistry.c: 
5404         * gst/gstregistry.h:
5405
5406 2005-09-15  David Schleef  <ds@schleef.org>
5407
5408         * gst/gstplugin.c: Implement semi-decent recounting and locking
5409           in plugins and plugin features.
5410         * gst/gstplugin.h:
5411         * gst/gstpluginfeature.c:
5412         * gst/gstpluginfeature.h:
5413         * gst/gstregistry.c:
5414
5415 2005-09-15  Michael Smith <msmith@fluendo.com>
5416
5417         * gst/gstregistry.c: (gst_registry_get_feature_list):
5418           Implement this. Makes oggdemux work; decodebin still broken.
5419
5420 2005-09-14  David Schleef  <ds@schleef.org>
5421
5422         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5423           #316076)
5424         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5425         * gst/check/Makefile.am:
5426         * libs/gst/controller/Makefile.am:
5427         * libs/gst/dataprotocol/Makefile.am:
5428
5429 2005-09-14  David Schleef  <ds@schleef.org>
5430
5431         * configure.ac: Remove getbits library.  Nothing uses it, and
5432           it should be in something like liboil if someone did want
5433           to use it.
5434         * libs/gst/Makefile.am:
5435         * libs/gst/getbits/Makefile.am:
5436         * libs/gst/getbits/gbtest.c:
5437         * libs/gst/getbits/getbits.c:
5438         * libs/gst/getbits/getbits.h:
5439         * libs/gst/getbits/gstgetbits_generic.c:
5440         * libs/gst/getbits/gstgetbits_i386.s:
5441         * libs/gst/getbits/gstgetbits_inl.h:
5442
5443 2005-09-14  David Schleef  <ds@schleef.org>
5444
5445         * gst/Makefile.am: Dist glib-compat.h
5446
5447 2005-09-14  David Schleef  <ds@schleef.org>
5448
5449         * configure.ac: Remove gst/registries, since it's no longer used.
5450         * gst/registries/Makefile.am:
5451         * gst/registries/gstlibxmlregistry.c:
5452         * gst/registries/gstlibxmlregistry.h:
5453         * gst/registries/gstxmlregistry.c:
5454         * gst/registries/gstxmlregistry.h:
5455         * gst/registries/registrytest.c:
5456
5457 2005-09-14  David Schleef  <ds@schleef.org>
5458
5459         * gst/glib-compat.h:
5460         * gst/gstregistryxml.c:
5461           Convergence is near.  Seriously.
5462
5463 2005-09-14  David Schleef  <ds@schleef.org>
5464
5465         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5466         * gst/glib-compat.h:
5467           Attempt #4 to appease the buildbots.
5468
5469 2005-09-14  David Schleef  <ds@schleef.org>
5470
5471         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5472           Attempt #3.
5473
5474 2005-09-14  David Schleef  <ds@schleef.org>
5475
5476         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5477         Attempt #2.
5478
5479 2005-09-14  David Schleef  <ds@schleef.org>
5480
5481         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5482           the new functions.
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         * gst/glib-compat.h: Add some functions that are in newer versions
5488           of glib than we care to require.
5489         * gst/gstregistryxml.c: Use them.
5490
5491 2005-09-14  David Schleef  <ds@schleef.org>
5492
5493         * po/POTFILES.in: remove gst-register.c
5494
5495 2005-09-14  David Schleef  <ds@schleef.org>
5496
5497         * docs/gst/gstreamer-docs.sgml:
5498         * docs/gst/gstreamer-sections.txt:
5499         * docs/gst/gstreamer.types:
5500         * docs/gst/tmpl/gstelement.sgml:
5501         * docs/gst/tmpl/gstplugin.sgml:
5502         * docs/gst/tmpl/gstpluginfeature.sgml:
5503           Documentation updates for registry changes.
5504
5505 2005-09-14  David Schleef  <ds@schleef.org>
5506
5507         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5508           because we don't require glib-2.8.
5509
5510 2005-09-14  David Schleef  <ds@schleef.org>
5511
5512         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5513           registries directory.
5514
5515 2005-09-14  David Schleef  <ds@schleef.org>
5516
5517         * check/Makefile.am:
5518         * check/generic/states.c:
5519         * gst/Makefile.am:
5520         * gst/gst.c:
5521         * gst/gst.h:
5522         * gst/gst_private.h:
5523         * gst/gstelementfactory.c:
5524         * gst/gstindex.c:
5525         * gst/gstinfo.c:
5526         * gst/gstplugin.c:
5527         * gst/gstplugin.h:
5528         * gst/gstpluginfeature.c:
5529         * gst/gstpluginfeature.h:
5530         * gst/gstregistry.c:
5531         * gst/gstregistry.h:
5532         * gst/gstregistrypool.c: remove
5533         * gst/gstregistrypool.h: remove
5534         * gst/gsttypefind.c:
5535         * gst/gsttypefindfactory.c:
5536         * gst/gsturi.c:
5537         * tools/Makefile.am:
5538         * tools/gst-compprep.c:
5539         * tools/gst-inspect.c:
5540         * tools/gst-register.c: remove
5541         * tools/gst-xmlinspect.c:
5542           Registry rewrite.  Changes registry from being a file created
5543           by a tool into a simple cache file created automatically by 
5544           libgstreamer.  Removed gst-register (because it's no longer
5545           needed).  Remove registry pools, because we only have one
5546           registry implementation (XML).  Fix up other subsystems as
5547           necessary.
5548
5549 2005-09-13  Michael Smith <msmith@fluendo.com>
5550
5551         * gst/gstconfig.h.in:
5552           Don't Use windows linking attributes for MinGW. Fixes #316157
5553
5554 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5555
5556         * gst/gstutils.c: (set_state_async_thread_func),
5557         (gst_element_set_state_async):
5558           Apparently people think it's better if this function doesn't
5559           try to set the state to whatever state was asked for on the first
5560           call to this function for any object.  Seriously.
5561
5562 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5563
5564         * check/gst/gstpipeline.c: (GST_START_TEST):
5565         * docs/gst/gstreamer-sections.txt:
5566         * gst/gstutils.c: (set_state_async_thread_func),
5567         (gst_element_set_state_async):
5568         * gst/gstutils.h:
5569           add a "gst_element_set_state_async" method that
5570           sets the state and starts a thread to make sure the state
5571           change completes as best as it can
5572
5573 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5574
5575         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5576           codify design+behaviour in testsuite after discussion
5577
5578 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5579
5580         * docs/gst/tmpl/gstelement.sgml:
5581         * docs/manual/appendix-quotes.xml:
5582           add a quote
5583         * gst/gstelement.c: (gst_element_set_state):
5584           add some debug
5585
5586 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5587
5588         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5589         (gst_base_transform_prepare_output_buf),
5590         (gst_base_transform_handle_buffer):
5591         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5592         (gst_capsfilter_prepare_buf):
5593           Remove the requirement for sub-classes to call the parent
5594           implementation of prepare_output_buffer with a wrapper function.
5595           
5596         * gst/gsttaglist.h:
5597         * gst/gsttagsetter.h:
5598           Fix #define wrapper
5599
5600 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5601
5602         * docs/gst/gstreamer-sections.txt:
5603           more doc cleanups
5604
5605 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5606
5607         * docs/gst/gstreamer-sections.txt:
5608         * docs/gst/tmpl/gstelement.sgml:
5609         * docs/gst/tmpl/gstplugin.sgml:
5610         * gst/gstminiobject.c:
5611         * gst/gstvalue.h:
5612           docs now stop throwing warnings
5613
5614 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5615
5616         * docs/gst/gstreamer-sections.txt:
5617         * docs/gst/gstreamer.types:
5618         * docs/gst/tmpl/gstpad.sgml:
5619         * docs/gst/tmpl/gsttypes.sgml:
5620         * gst/base/gstadapter.h:
5621         * gst/base/gstbasesink.h:
5622         * gst/base/gstbasesrc.h:
5623         * gst/gstbin.h:
5624         * gst/gstbuffer.h:
5625         * gst/gstbus.h:
5626         * gst/gstcaps.h:
5627         * gst/gstclock.h:
5628         * gst/gstelement.h:
5629         * gst/gstevent.h:
5630         * gst/gstmessage.h:
5631         * gst/gstpad.h:
5632         * gst/gststructure.c:
5633         * gst/registries/gstlibxmlregistry.h:
5634           various documentation fixes
5635
5636 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5637
5638         * docs/gst/gstreamer-sections.txt:
5639         * docs/gst/tmpl/gstvalue.sgml:
5640           rearrange gstvalue section
5641         * gst/gstutils.c: (gst_element_state_get_name):
5642           NONE -> VOID
5643         * gst/gstvalue.c: (_gst_value_initialize):
5644         * gst/gstvalue.h:
5645           doc updates
5646
5647 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5648
5649         * check/gst-libs/controller.c:
5650           Header include fix.
5651         * gst/base/gstbasetransform.c:
5652         (gst_base_transform_default_prepare_buf),
5653         (gst_base_transform_handle_buffer):
5654         * gst/base/gstbasetransform.h:
5655           Some more basetransform changes and fixes to enable sub-classes
5656           that modify buffer metadata only.
5657         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5658         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5659         (gst_capsfilter_prepare_buf):
5660           If the output pad has fixed allowed caps and input buffers 
5661           don't have any, set the fixed caps on outgoing buffers.
5662
5663 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5664         * check/elements/identity.c: (GST_START_TEST):
5665           Make the error a little clearer when the test fails because
5666           identity made a copy of the buffer.
5667         * docs/gst/gstreamer-sections.txt:
5668           New symbols in gstbasetransform.h
5669         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5670         (gst_base_transform_init), (gst_base_transform_transform_size),
5671         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5672         (gst_base_transform_default_prepare_buf),
5673         (gst_base_transform_get_unit_size),
5674         (gst_base_transform_buffer_alloc),
5675         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5676         (gst_base_transform_change_state),
5677         (gst_base_transform_set_passthrough),
5678         (gst_base_transform_set_in_place),
5679         (gst_base_transform_is_in_place):
5680         * gst/base/gstbasetransform.h:
5681           Change BaseTransform to separate in_place operate from same_caps
5682           output. in_place implies that the element can perform the transform
5683           on incoming buffers in-place, even if the caps on the output are
5684           different.
5685           Sub-class elements can now implement special buffer allocation
5686           methods for outgoing buffers if they wish to.
5687           Big documentation addition.
5688         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5689         * gst/elements/gstelements.c:
5690           Changes for basetransform modifications.
5691         * gst/elements/Makefile.am:
5692         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5693           Compile fix. Extra debug output.
5694
5695 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5696
5697         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5698         (gst_pad_suite):
5699           add tests for valid pad naming
5700         * gst/check/gstcheck.c: (gst_check_log_message_func),
5701         (gst_check_log_critical_func):
5702           add ASSERT_WARNING
5703           remove printing of code, it is fragile when the code contains
5704           % and the line number is enough info
5705         * gst/check/gstcheck.h:
5706         * gst/gstpad.c: (gst_pad_template_new):
5707           fix memleaks
5708
5709 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5710
5711         * configure.ac:
5712           say what CHECK flags we use
5713         * docs/libs/gstreamer-libs.types:
5714         * libs/gst/controller/Makefile.am:
5715         * libs/gst/controller/gst-controller.c:
5716         * libs/gst/controller/gst-controller.h:
5717         * libs/gst/controller/gst-helper.c:
5718         * libs/gst/controller/gst-interpolation.c:
5719         * libs/gst/controller/gstcontroller.c:
5720         * libs/gst/controller/gsthelper.c:
5721         * libs/gst/controller/gstinterpolation.c:
5722         * tools/gst-inspect.c: (print_plugin_info):
5723           we don't use dashes in header names
5724
5725 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5726
5727         * check/Makefile.am:
5728         * check/gst/.cvsignore:
5729         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5730         (gst_pipeline_suite), (main):
5731           adding a test for pipelines and state changes
5732         * gst/gstutils.c: (get_state_func):
5733           add some debugging
5734         * gstreamer.spec.in:
5735           fix up spec file
5736
5737 2005-09-08  Michael Smith <msmith@fluendo.com>
5738
5739         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5740         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5741         (gst_file_src_is_seekable), (gst_file_src_get_size),
5742         (gst_file_src_start):
5743         * gst/elements/gstfilesrc.h:
5744           Various fixes for unseekable, unmmapable, and non-normal files, so
5745           that fallback to read() rather than mmap() works.
5746         * gst/gstevent.c: (gst_event_new_newsegment):
5747           Allow newsegment events with segment_start == segment_end, as will
5748           correctly happen if you use filesrc on a zero-size file, for
5749           example.
5750
5751 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5752
5753         * gst/gstplugin.c: (gst_plugin_load_file):
5754           Call g_module_close when we don't load the module
5755
5756         * gst/registries/gstlibxmlregistry.c:
5757         (gst_xml_registry_get_property):
5758           Port leak fix from 0.8
5759
5760 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5761
5762         * docs/gst/gstreamer-docs.sgml:
5763         * docs/gst/tmpl/.cvsignore:
5764         * docs/gst/tmpl/gsttrace.sgml:
5765         * docs/gst/tmpl/gsttrashstack.sgml:
5766         * gst/Makefile.am:
5767         * gst/gst.h:
5768         * gst/gstelement.h:
5769         * gst/gstevent.h:
5770         * gst/gstmessage.c:
5771         * gst/gstmessage.h:
5772         * gst/gsttag.c:
5773         * gst/gsttag.h:
5774         * gst/gsttaginterface.c:
5775         * gst/gsttaginterface.h:
5776         * gst/gsttaglist.c:
5777         * gst/gsttaglist.h:
5778         * gst/gsttagsetter.c:
5779         * gst/gsttagsetter.h:
5780         * gst/gsttrace.c:
5781         * gst/gsttrace.h:
5782         * gst/gsttrashstack.c:
5783           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5784           inlined docs for gsttrace, gsttrashstack
5785
5786 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5787
5788         * gst/Makefile.am:
5789         * gst/elements/gstbufferstore.h:
5790         * gst/elements/gsttypefindelement.c:
5791         * gst/elements/gsttypefindelement.h:
5792         * gst/gst.h:
5793         * gst/gsttypefind.c:
5794         * gst/gsttypefind.h:
5795         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5796         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5797         (gst_type_find_factory_dispose),
5798         (gst_type_find_factory_unload_thyself),
5799         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5800         (gst_type_find_factory_get_caps),
5801         (gst_type_find_factory_get_extensions),
5802         (gst_type_find_factory_call_function):
5803         * gst/gsttypefindfactory.h:
5804         * gst/registries/gstlibxmlregistry.c:
5805         * gst/registries/gstxmlregistry.c:
5806           splitted gsttypefind into gsttypefind, gsttypefindfactory
5807
5808 2005-09-07  Andy Wingo  <wingo@pobox.com>
5809
5810         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5811         condition whereby the pad's task function is entered before the
5812         pad_mode variable was set.
5813
5814 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5815
5816         * gst/gstpad.c: (gst_pad_alloc_buffer):
5817           Catch misbehaving pad_alloc functions that don't
5818           set up caps and do it for them.
5819
5820 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5821
5822         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5823           test for pipe!=NULL
5824         * docs/gst/tmpl/.cvsignore:
5825         * docs/gst/tmpl/gstmemchunk.sgml:
5826         * docs/gst/tmpl/gstparse.sgml:
5827         * docs/gst/tmpl/gsttaglist.sgml:
5828         * docs/gst/tmpl/gsttagsetter.sgml:
5829         * docs/gst/tmpl/gsttypefind.sgml:
5830         * docs/gst/tmpl/gsttypefindfactory.sgml:
5831         * gst/gstmemchunk.c:
5832         * gst/gstparse.c:
5833         * gst/gsttag.c:
5834         * gst/gsttaginterface.c:
5835         * gst/gsttypefind.c:
5836         * gst/gsttypefind.h:
5837           inlined more docs
5838
5839 === release 0.9.2 ===
5840
5841 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5842
5843         * NEWS:
5844         * RELEASE:
5845         * configure.ac:
5846           releasing 0.9.2, "South"
5847
5848 2005-09-05  Andy Wingo  <wingo@pobox.com>
5849
5850         * gst/registries/gstxmlregistry.h:
5851         * gst/registries/gstxmlregistry.c: Um... resurrect...
5852         
5853         * gst/registries/gstxmlregistry.h:
5854         * gst/registries/gstxmlregistry.c: and update to newer API.
5855         Incidentally they should be a bit faster now that they don't have
5856         to parse the caps.
5857         
5858 2005-09-05  Andy Wingo  <wingo@pobox.com>
5859
5860         * gst/registries/gstxmlregistry.h:
5861         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5862         replaced by the libxml registry a while back
5863
5864 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5865
5866         * docs/gst/tmpl/gstplugin.sgml:
5867         * gst/elements/gstelements.c:
5868         * gst/gst.c:
5869         * gst/gstplugin.c: (gst_plugin_register_func),
5870         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5871         (gst_plugin_get_source):
5872         * gst/gstplugin.h:
5873         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5874         (gst_xml_registry_save_plugin):
5875         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5876         (gst_xml_registry_save_plugin):
5877         * tools/gst-inspect.c: (print_plugin_info):
5878           add a "source" plugin description field, to represent the source
5879           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5880           will set it to PACKAGE, which is automake's idea of the name of
5881           the source project.
5882
5883 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5884
5885         * Makefile.am:
5886         * autogen.sh:
5887         * configure.ac:
5888         * docs/Makefile.am:
5889         * docs/faq/Makefile.am:
5890         * docs/gst/tmpl/gstelement.sgml:
5891         * docs/gst/tmpl/gsttypes.sgml:
5892         * docs/htmlinstall.mak:
5893         * docs/manual/Makefile.am:
5894         * docs/pwg/Makefile.am:
5895           reorganize doc build a little
5896           split out docbook and gtk-doc stuff
5897           have two separate --enable's and enable them through autogen
5898           but disable by default in configure (to be similar to other
5899           projects)
5900         * gstreamer.spec.in:
5901           clean up docs install
5902         * po/af.po:
5903         * po/az.po:
5904         * po/ca.po:
5905         * po/cs.po:
5906         * po/de.po:
5907         * po/en_GB.po:
5908         * po/fr.po:
5909         * po/it.po:
5910         * po/nb.po:
5911         * po/nl.po:
5912         * po/ru.po:
5913         * po/sq.po:
5914         * po/sr.po:
5915         * po/sv.po:
5916         * po/tr.po:
5917         * po/uk.po:
5918         * po/vi.po:
5919           translation updates
5920
5921 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5922
5923         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5924           Add comment.
5925           
5926         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5927         (gst_fake_sink_change_state):
5928           Make state change function thread-safe.
5929           
5930         * gst/gstpad.c: (gst_pad_alloc_buffer):
5931           Set offset on generic buffer allocated by fallback.
5932
5933 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5934
5935         * docs/gst/gstreamer-sections.txt:
5936         * docs/gst/tmpl/gstelement.sgml:
5937         * gst/gstpad.c:
5938         * libs/gst/controller/gst-controller.c:
5939         (gst_controlled_property_set_interpolation_mode),
5940         (gst_controlled_property_new),
5941         (gst_controller_find_controlled_property):
5942          run the wingo-magic script against the docs
5943
5944 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5945
5946         * docs/gst/gstreamer-docs.sgml:
5947         * docs/gst/gstreamer-sections.txt:
5948         * docs/gst/tmpl/.cvsignore:
5949         * docs/gst/tmpl/gstelementdetails.sgml:
5950         * docs/gst/tmpl/gstelementfactory.sgml:
5951         * gst/gst.c:
5952         * gst/gstbus.c:
5953         * gst/gstelementfactory.c:
5954         * gst/gstelementfactory.h:
5955           merged elementdetails docs into elementfactory docs
5956           inlined both
5957
5958 2005-09-02  Andy Wingo  <wingo@pobox.com>
5959
5960         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5961         consider this enum an enum and not a flags.
5962
5963 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5964
5965         * docs/gst/gstreamer-docs.sgml:
5966         * docs/gst/tmpl/.cvsignore:
5967         * docs/gst/tmpl/gstghostpad.sgml:
5968         * docs/gst/tmpl/gstiterator.sgml:
5969         * docs/gst/tmpl/gstmacros.sgml:
5970         * docs/gst/tmpl/gstrealpad.sgml:
5971         * docs/gst/tmpl/gstregistry.sgml:
5972         * docs/gst/tmpl/gstregistrypool.sgml:
5973         * docs/gst/tmpl/gststructure.sgml:
5974         * docs/gst/tmpl/gstsystemclock.sgml:
5975         * docs/gst/tmpl/gsttrace.sgml:
5976         * gst/gstghostpad.c:
5977         * gst/gstmacros.h:
5978         * gst/gstmemchunk.c:
5979         * gst/gstmemchunk.h:
5980         * gst/gstqueue.c:
5981         * gst/gstregistry.c:
5982         * gst/gstregistrypool.c:
5983         * gst/gststructure.c:
5984         * gst/gstsystemclock.c:
5985           more docs inlined
5986
5987 2005-09-02  Andy Wingo  <wingo@pobox.com>
5988
5989         * gst/gstelement.h (GstState): Renamed from GstElementState,
5990         changed to be a normal enum instead of flags.
5991         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5992         munged to be GST_STATE_CHANGE_*.
5993         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5994         work with the new state representation.
5995         (GstStateChange): New enumeration of possible state transitions.
5996         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5997         (GstElementClass::change_state): Pass the GstStateChange along as
5998         an argument. Helps language bindings, so they don't have to use
5999         tricky lock-needing macros like GST_STATE_CHANGE ().
6000
6001         * scripts/update-states (file): New script. Run it on a file to
6002         update it for state naming and API changes. Updates files in
6003         place.
6004
6005         * All files updated for the new API.
6006
6007 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6010         * gst/gstutils.c: (gst_util_set_value_from_string),
6011         (gst_util_set_object_arg):
6012           fix a bunch of unchecked return values
6013         * tools/gst-complete.c: (main):
6014         * gstreamer.spec.in:
6015           clean up a little
6016
6017 2005-09-01  Wim Taymans  <wim@fluendo.com>
6018
6019         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6020         (gst_base_sink_event), (gst_base_sink_do_sync),
6021         (gst_base_sink_handle_event):
6022         * gst/base/gstbasesink.h:
6023         Handle newsegments more correctly.
6024
6025         * gst/gstbus.c:
6026         Fix docs.
6027
6028         * gst/gstevent.c: (gst_event_new_newsegment):
6029         A newsegment cannot have a start_time of -1
6030
6031 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6032
6033         * win32/gstenumtypes.c:
6034         * win32/gstenumtypes.h:
6035           Update
6036
6037 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6038
6039         * libs/gst/controller/gst-controller.c:
6040         (gst_controlled_property_set_interpolation_mode),
6041         (gst_controlled_property_new):
6042          fixed boolean again
6043
6044 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6045
6046         * docs/faq/gst-uninstalled:
6047           add -good
6048         * gst/gstevent.c:
6049         * gst/gstevent.h:
6050           remove wrong docs
6051         * gst/gstutils.c: (gst_element_link_filtered):
6052         * gst/gstutils.h:
6053           add gst_element_link_filtered
6054
6055 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6056
6057         * docs/gst/gstreamer-docs.sgml:
6058         * docs/gst/gstreamer-sections.txt:
6059         * docs/gst/tmpl/.cvsignore:
6060         * docs/gst/tmpl/gsterror.sgml:
6061         * docs/gst/tmpl/gstfilter.sgml:
6062         * docs/gst/tmpl/gsturihandler.sgml:
6063         * docs/gst/tmpl/gsturitype.sgml:
6064         * docs/gst/tmpl/gstutils.sgml:
6065         * docs/gst/tmpl/gstxml.sgml:
6066         * gst/gsterror.c:
6067         * gst/gsterror.h:
6068         * gst/gstfilter.c:
6069         * gst/gsturi.c:
6070         * gst/gsturitype.c:
6071         * gst/gstutils.c:
6072         * gst/gstxml.c:
6073           inlined more docs, fixed double id-ref
6074
6075 2005-08-31  Wim Taymans  <wim@fluendo.com>
6076
6077         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6078         (gst_base_transform_handle_buffer):
6079         Passthrough elements don't need the caps as they don't care.
6080
6081 2005-08-31  Wim Taymans  <wim@fluendo.com>
6082
6083         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6084         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6085         Don't leak refcounts on buffers.
6086
6087 2005-08-31  Wim Taymans  <wim@fluendo.com>
6088
6089         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6090         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6091         (gst_base_transform_chain), (gst_base_transform_change_state):
6092         * gst/base/gstbasetransform.h:
6093         Handle the case where we are not negotiated more gracefully.
6094
6095 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6096
6097         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6098         (gst_file_src_map_region):
6099           Set READONLY flag on mmap'ed buffers, otherwise
6100           gst_buffer_make_writable() won't work properly (#314708).
6101
6102 2005-08-31  Wim Taymans  <wim@fluendo.com>
6103
6104         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6105         passthrough elements can even do inplace on non writable
6106         buffers (as they don't touch them).
6107
6108 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6109
6110         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6111         (gst_test_mono_source_set_property),
6112         (gst_test_mono_source_class_init), (GST_START_TEST),
6113         (gst_controller_suite):
6114           more tests (hehe I have the most)
6115         * gst/gstbus.c:
6116           describe popping messages whenusing mulltiple sources
6117         * libs/gst/controller/gst-controller.c:
6118         (gst_controlled_property_set_interpolation_mode),
6119         (gst_controlled_property_new):
6120         * libs/gst/controller/gst-controller.h:
6121         * libs/gst/controller/gst-interpolation.c:
6122           implement boolean properties
6123
6124 2005-08-31  Wim Taymans  <wim@fluendo.com>
6125
6126         * gst/gstminiobject.c: (gst_mini_object_ref):
6127         Cannot assert that the refcount has to be positive
6128         since a disposed object can be resurrected.
6129
6130 2005-08-31  Wim Taymans  <wim@fluendo.com>
6131
6132         * gst/gstpad.c: (gst_pad_init):
6133         Revert change, need to first fix badly behaving 
6134         apps.
6135
6136 2005-08-30  Wim Taymans  <wim@fluendo.com>
6137
6138         * check/elements/fakesrc.c: (setup_fakesrc):
6139         * check/elements/identity.c: (setup_identity):
6140         Activate pads before using them.
6141
6142 2005-08-30  Wim Taymans  <wim@fluendo.com>
6143
6144         * gst/base/gstadapter.c: (gst_adapter_flush):
6145         Flushing out 0 bytes is ok for this function.
6146
6147         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6148         no newsegment gives a warning and sets the start/stop to 
6149         invalid.
6150
6151         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6152         (gst_base_transform_set_passthrough):
6153         Some debug info.
6154
6155         * gst/gstminiobject.c: (gst_mini_object_ref):
6156         Check refcount here too.
6157
6158         * gst/gstpad.c: (gst_pad_init):
6159         Pads are initially flushing and refusing data.
6160
6161         * gst/gstutils.c: (gst_element_link_pads_filtered):
6162         When adding a capsfilter element make sure it has the
6163         same state as the parent bin.
6164
6165 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6166
6167         * docs/gst/tmpl/.cvsignore:
6168         * docs/gst/tmpl/gstformat.sgml:
6169         * docs/gst/tmpl/gstversion.sgml:
6170         * gst/gstbus.h:
6171         * gst/gstformat.c:
6172         * gst/gstformat.h:
6173         * gst/gstversion.h.in:
6174           more docs and two more inlined
6175
6176 2005-08-30  Wim Taymans  <wim@fluendo.com>
6177
6178         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6179         Don't sync to clock.
6180
6181 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6182
6183         * docs/gst/gstreamer-sections.txt:
6184           ultral33t func10ns deserve to appear in the docs actually
6185         * docs/gst/tmpl/.cvsignore:
6186         * docs/gst/tmpl/gstcompat.sgml:
6187         * docs/gst/tmpl/gstconfig.sgml:
6188         * gst/check/gstcheck.c:
6189         * gst/gstcompat.h:
6190         * gst/gstconfig.h.in:
6191           inlined more docs
6192
6193 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6194
6195         * docs/gst/tmpl/.cvsignore:
6196         * docs/gst/tmpl/gstquery.sgml:
6197         * docs/gst/tmpl/gstutils.sgml:
6198         * gst/gstquery.c:
6199         * gst/gstquery.h:
6200           inlined and extended docs
6201
6202 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6203
6204         * check/gst-libs/controller.c: (GST_START_TEST),
6205         (gst_controller_suite):
6206           more tests
6207         * docs/gst/tmpl/gstutils.sgml:
6208         * docs/libs/gstreamer-libs-sections.txt:
6209         * docs/libs/tmpl/gstdataprotocol.sgml:
6210           include path fixes
6211         * examples/controller/audio-example.c: (main):
6212           controller example works now
6213         * gst/gstclock.h:
6214           doc fixes
6215         * tools/gst-inspect.c: (print_element_properties_info):
6216           show param spec flags
6217
6218 2005-08-29  Andy Wingo  <wingo@pobox.com>
6219
6220         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6221
6222 2005-08-28  Andy Wingo  <wingo@pobox.com>
6223
6224         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6225         as having two arguments instead of just one. Allows superclasses
6226         to access information on subclasses -- see the terrible for() loop
6227         in gtype.c:g_type_create_instance for the reason why. All callers
6228         changed.
6229
6230 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6231
6232         * docs/design/part-messages.txt:
6233           update info
6234         * docs/gst/tmpl/.cvsignore:
6235         * docs/gst/tmpl/gstcaps.sgml:
6236         * docs/gst/tmpl/gstclock.sgml:
6237         * gst/gstbus.c:
6238         * gst/gstcaps.c:
6239         * gst/gstcaps.h:
6240         * gst/gstclock.c:
6241         * gst/gstclock.h:
6242         * gst/gstmessage.c:
6243           added descriptions for bus and message
6244           inline caps and clock docs
6245
6246 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6247
6248         * gst/gstmessage.c:
6249         * gst/gstmessage.h:
6250           doc fixes
6251
6252 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6253
6254         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6255           fix div-by-zero
6256
6257 2005-08-26  Andy Wingo  <wingo@pobox.com>
6258
6259         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6260         element_set_state's return val.
6261         (test_2_elements): Add test that's been disabled for months.
6262
6263         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6264         can-activate-pull properties.
6265
6266         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6267         can-activate-pull properties. Implement is_seekable so fakesrc can
6268         operate in pull mode.
6269
6270         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6271         properties.
6272         (gst_base_sink_activate, gst_base_sink_activate_pull)
6273         (gst_base_sink_activate_push): Make activation mode choosing work.
6274         Cleanups.
6275         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6276         is right. Make pull mode work. Post an eos before pausing in pull
6277         mode.
6278         (gst_base_sink_change_state): Pay attention to the core's
6279         change_state() return val.
6280         
6281         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6282         has-getrange properties. Cleanups.
6283         
6284         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6285         has_getrange and replace with can_activate_pull and
6286         can_activate_push.
6287
6288         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6289         locking comments. Remove has_loop, has_chain and replace with
6290         can_activate_pull and can_activate_push.
6291
6292 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6293
6294         * configure.ac:
6295         * examples/Makefile.am:
6296         * examples/metadata/Makefile.am:
6297         * examples/metadata/read-metadata.c: (message_loop),
6298         (have_pad_handler), (make_pipeline), (print_tag), (main):
6299           Add metadata reading example that loops over a list of filenames,
6300           dumping any tags found.
6301
6302         * gst/gstbus.c: (gst_bus_dispose):
6303         * gst/gstelement.c: (gst_element_dispose):
6304           Release a few potentially-held references in dispose.
6305
6306 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6307
6308         * docs/gst/tmpl/gstminiobject.sgml:
6309           do *not* add tmpl/*.sgml files to CVS!
6310
6311 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6312
6313         * libs/gst/bytestream/.cvsignore:
6314         * libs/gst/bytestream/Makefile.am:
6315         * libs/gst/bytestream/adapter.c:
6316         * libs/gst/bytestream/adapter.h:
6317         * libs/gst/bytestream/bytestream.c:
6318         * libs/gst/bytestream/bytestream.h:
6319         * libs/gst/bytestream/filepad.c:
6320         * libs/gst/bytestream/filepad.h:
6321           removing obsolete files
6322
6323 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6324
6325         * docs/gst/gstreamer-docs.sgml:
6326         * docs/libs/gstreamer-libs-docs.sgml:
6327           disabed additional index entries again, as this makes docs-gen just
6328           slow and they aren't useful yet
6329         * docs/libs/gstreamer-libs-sections.txt:
6330           little -section.txt cleanup for libs
6331
6332 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6333
6334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6335         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6336           fix up some debugging
6337         (gst_base_transform_get_unit_size),
6338         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6339         (gst_base_transform_handle_buffer):
6340         * gst/base/gstbasetransform.h:
6341           handle and store timed NEWSEGMENT events so that subclasses that
6342           calculate time by counting samples have a segment_start time they
6343           need to add to their timestamps - see audioresample
6344
6345 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6346
6347         * gst/gstbin.h:
6348           removed ';' from the end of macro defs
6349         * docs/gst/gstreamer-docs.sgml:
6350         * docs/gst/gstreamer-sections.txt:
6351         * docs/gst/tmpl/.cvsignore:
6352         * gst/gstbus.h:
6353         * gst/gstelement.c: (gst_element_class_init),
6354         (gst_element_set_state), (activate_pads),
6355         (gst_element_save_thyself):
6356         * gst/gstevent.c: (gst_event_new_newsegment):
6357         * gst/gstevent.h:
6358         * gst/gstiterator.c:
6359         * gst/gstiterator.h:
6360         * gst/gstpad.c:
6361         * gst/gstprobe.h:
6362         * gst/gstutils.c: (gst_pad_query_convert):
6363         * gst/gstutils.h:
6364           fixed parameter name mismatches between source, header and docs
6365           added some more docs, resolved the last batch of unused elements in
6366           docs (now someone needs to doc them)
6367
6368 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6369
6370         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6371         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6372           don't walk through the plugins backwards.  Where is all this
6373           reversed logic coming from ?
6374
6375 2005-08-25  Wim Taymans  <wim@fluendo.com>
6376
6377         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6378         (gst_base_transform_transform_size),
6379         (gst_base_transform_configure_caps),
6380         (gst_base_transform_get_unit_size),
6381         (gst_base_transform_buffer_alloc),
6382         (gst_base_transform_change_state):
6383         * gst/base/gstbasetransform.h:
6384         Cache caps unit_size.
6385         Make sure we cannot negotiate up and downstream at the
6386         same time.
6387
6388 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6389
6390         * gst/gst.c: (init_pre), (init_post):
6391           register the installed plugin path after the env var
6392         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6393         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6394           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6395           directories, so the tests can prefer uninstalled over installed
6396
6397 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6398
6399         * gst/base/gstbasetransform.h:
6400           comment
6401         * gst/gstpad.c:
6402           add to docs
6403
6404 2005-08-25  Wim Taymans  <wim@fluendo.com>
6405
6406         * gst/gstbin.c: (bin_bus_handler):
6407         Be a bit more conservative about the posted message.
6408         
6409         * gst/gstbus.c: (gst_bus_post):
6410         Some cleanups, warn wrong return values.
6411
6412 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6413
6414         * check/gst/gstbin.c: (GST_START_TEST):
6415         * gst/gstbin.c: (bin_bus_handler):
6416         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6417         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6418         (gst_message_new_warning), (gst_message_new_tag),
6419         (gst_message_new_state_changed), (gst_message_new_segment_start),
6420         (gst_message_new_segment_done), (gst_message_new_custom):
6421         * gst/gstmessage.h:
6422         * tools/gst-launch.c: (event_loop):
6423         * tools/gst-md5sum.c: (event_loop):
6424           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6425
6426 2005-08-25  Wim Taymans  <wim@fluendo.com>
6427
6428         * check/generic/states.c: (GST_START_TEST):
6429         Cleanup can be done at the end.
6430
6431         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6432         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6433         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6434         Oh boy.. Thanks for finding this, Thomas. 
6435
6436 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6437
6438         * docs/gst/gstreamer.types:
6439           added missing types
6440
6441 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6442
6443         * docs/gst/gstreamer-docs.sgml:
6444         * docs/gst/gstreamer-sections.txt:
6445         * docs/gst/tmpl/.cvsignore:
6446         * gst/gstbin.c:
6447         * gst/gstiterator.c:
6448         * gst/gstutils.c:
6449         * gst/registries/gstxmlregistry.h:
6450           added missing classes and symbols (123 more to go)
6451           removed removed symbols from section file
6452           fixed many doc-comments
6453
6454 2005-08-24  Wim Taymans  <wim@fluendo.com>
6455
6456         * check/generic/states.c: (GST_START_TEST):
6457         Make sure all tasks are stopped.
6458
6459         * check/gst/gstbin.c: (GST_START_TEST):
6460         Unref after usage for proper valgrinding.
6461
6462         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6463         Really wait for the task to stop before destroying the
6464         mutex.
6465
6466         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6467         (gst_queue_src_activate_push):
6468         Small cleanups. Don't stop the task when we did not start
6469         it.
6470
6471         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6472         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6473         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6474         (gst_task_join):
6475         * gst/gsttask.h:
6476         Protect the stream lock with the object lock.
6477         Disallow setting the stream lock when running.
6478         Add cleanup_all to wait for the threadpool to finish.
6479         Remove code to autoallocate a mutex if none was provided.
6480         Add _join() to wait for a task to stop.
6481         Protect the thread pool with a global lock.
6482
6483 2005-08-24  Wim Taymans  <wim@fluendo.com>
6484
6485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6486         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6487         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6488         * gst/base/gstbasesink.h:
6489         Handle newsegment events correctly.
6490         Drop buffers out of the segment range.
6491
6492 2005-08-22  Andy Wingo  <wingo@pobox.com>
6493
6494         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6495         macro, implements an interface and gstimplementsinterface for a
6496         new type.
6497
6498 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6499
6500         * check/Makefile.am:
6501         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6502           add a test that does a bunch of state changes on elements
6503           needs some fixing for valgrind
6504         * check/states/sinks.c: (gst_object_suite):
6505           whitespace
6506         * gst/gstcaps.h:
6507           add prototype for gst_caps_is_equal_fixed
6508         * gst/gstplugin.c:
6509         * gst/gstregistrypool.c:
6510           doc fixes
6511
6512 2005-08-24  Andy Wingo  <wingo@pobox.com>
6513
6514         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6515         convert a negative value. Doesn't make much sense. Mostly this is
6516         here to force callers to ensure -1 maps to -1.
6517
6518 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6519
6520         * docs/pwg/advanced-types.xml:
6521           Well done to Michael for catching my deliberate introduction
6522           of this spelling mistake. 
6523         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6524         * gst/gstelement.h:
6525           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6526           unlink pads before removing the element from the bin.
6527
6528 2005-08-24  Andy Wingo  <wingo@pobox.com>
6529
6530         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6531         the same thing as GST_DEBUG=*:4.
6532         (parse_debug_level, parse_debug_category): New helper parsers.
6533
6534 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6535
6536         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6537         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6538         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6539         (gst_base_transform_buffer_alloc),
6540         (gst_base_transform_handle_buffer):
6541           use gboolean return values and pointers to size so we can use the
6542           full GST_BUFFER_SIZE range (guint) for buffer sizes
6543           use GstPadDirection for transform_caps
6544         * gst/base/gstbasetransform.h:
6545           rename get_size to get_unit_size since that's what it is
6546         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6547           use GstPadDirection for transform_caps
6548         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6549         * gst/gstutils.h:
6550           cleanup and debugging
6551
6552 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6553
6554         * gst/gstelement.c: (gst_element_class_init),
6555         (gst_element_set_state), (activate_pads),
6556         (gst_element_save_thyself):
6557         * tools/gst-compprep.c: (main):
6558         * tools/gst-inspect.c: (print_element_properties_info):
6559         * tools/gst-xmlinspect.c: (print_element_properties):
6560           Fixed long standing mem-leak
6561
6562 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6563
6564         * check/gst/gstbin.c: (GST_START_TEST):
6565         * gst/gstbin.c: (bin_bus_handler):
6566         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6567         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6568         (gst_message_new_warning), (gst_message_new_tag),
6569         (gst_message_new_state_changed), (gst_message_new_segment_start),
6570         (gst_message_new_segment_done), (gst_message_new_custom):
6571         * gst/gstmessage.h:
6572         * tools/gst-launch.c: (event_loop):
6573         * tools/gst-md5sum.c: (event_loop):
6574           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6575           that applications can sensibly post custom messages with references
6576           to their own objects.
6577
6578 2005-08-24  Andy Wingo  <wingo@pobox.com>
6579
6580         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6581         already.
6582
6583 2005-08-24  Wim Taymans  <wim@fluendo.com>
6584
6585         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6586         (gst_base_transform_transform_caps),
6587         (gst_base_transform_transform_size),
6588         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6589         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6590         (gst_base_transform_handle_buffer):
6591         * gst/base/gstbasetransform.h:
6592         Many fixes and new features added by Thomas. Can now also do
6593         transforms with variable sizes and a custom fixate_caps function.
6594
6595 2005-08-24  Wim Taymans  <wim@fluendo.com>
6596
6597         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6598         Some debugging.
6599
6600         * gst/gstclock.h:
6601         Cast to ClockTime before formatting to time.
6602
6603         * gst/gstutils.h:
6604         Cleanups.
6605
6606 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6607
6608         * check/gst-libs/controller.c: (GST_START_TEST),
6609         (gst_controller_suite):
6610         * docs/gst/tmpl/gstcaps.sgml:
6611         * docs/gst/tmpl/gstghostpad.sgml:
6612         * docs/gst/tmpl/gstquery.sgml:
6613         * docs/gst/tmpl/gstutils.sgml:
6614         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6615         (gst_object_sink_values), (gst_object_get_value_arrays),
6616         (gst_object_get_value_array):
6617           gracefully handle helper method calls to objects that are not beeing
6618           controlled, added test case for that          
6619
6620 2005-08-23  Wim Taymans  <wim@fluendo.com>
6621
6622         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6623         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6624         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6625         (gst_event_parse_qos), (gst_event_new_seek),
6626         (gst_event_parse_seek):
6627         * gst/gstevent.h:
6628         Some more debugging output and doc cleanups.
6629
6630         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6631         Fix possible deadlock.
6632
6633 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6634
6635         * docs/gst/gstreamer-docs.sgml:
6636         * docs/gst/gstreamer-sections.txt:
6637         * docs/gst/gstreamer.types:
6638         * docs/gst/tmpl/.cvsignore:
6639         * gst/gstbin.h:
6640         * gst/gstbus.c:
6641         * gst/gstelement.c:
6642         * gst/gstevent.h:
6643           added 100 symbols from gstreamer-unused.txt to the right sections
6644           fixed more broken comments
6645           added GstBus to docs
6646
6647 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6648
6649         * docs/gst/gstreamer-sections.txt:
6650         * docs/gst/tmpl/.cvsignore:
6651         * docs/gst/tmpl/gstbin.sgml:
6652         * docs/gst/tmpl/gstbuffer.sgml:
6653         * gst/base/gstbasesrc.c:
6654         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6655         * gst/gstbuffer.c:
6656         * gst/gstbuffer.h:
6657         * tools/gst-launch.1.in:
6658           inlined more doc comments, added missing comments and fixed comments
6659           fixed typos
6660
6661 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6662
6663         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6664           some debugging
6665         * gst/gstcaps.h:
6666           whitespace fixes
6667         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6668           more debugging
6669         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6670         * gst/gststructure.h:
6671           add a fixate function for booleans; add a FIXME that these func
6672           names should probably be gst_structure_fixate_*
6673
6674 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6675
6676         * docs/gst/gstreamer-docs.sgml:
6677         * docs/gst/gstreamer-sections.txt:
6678         * gst/Makefile.am:
6679         * gst/gstbin.c: (gst_bin_get_type),
6680         (gst_bin_child_proxy_get_child_by_index),
6681         (gst_bin_child_proxy_get_children_count),
6682         (gst_bin_child_proxy_init):
6683         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6684         (gst_child_proxy_get_child_by_index),
6685         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6686         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6687         (gst_child_proxy_get), (gst_child_proxy_set_property),
6688         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6689         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6690         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6691         * gst/gstchildproxy.h:
6692         * gst/parse/grammar.y:
6693         * tools/gst-inspect.c: (print_interfaces),
6694         (print_element_properties_info), (print_element_info):
6695           ported gstchildproxy over from 0.8
6696           ported gst-inspect fixes and enhancements over from 0.8
6697
6698 2005-08-22  Wim Taymans  <wim@fluendo.com>
6699
6700         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6701         (gst_base_transform_handle_buffer):
6702         Also call the transform function if we have ANY caps.
6703
6704         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6705         Fix debug info.
6706
6707 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6708
6709         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6710           Don't pretend to handle seek events if the source is not seekable
6711
6712 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6713
6714         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6715           Remove extra parameter to debug output
6716
6717         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6718         (gst_base_src_do_seek), (gst_base_src_activate_push):
6719           Fix seek event handling.
6720
6721         * gst/gstpipeline.c: (gst_pipeline_change_state):
6722         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6723         (gst_queue_src_activate_push):
6724           Don't start the src pad task on FLUSH_STOP if the pad
6725           isn't linked.
6726           Debug changes.
6727
6728 2005-08-22  Wim Taymans  <wim@fluendo.com>
6729
6730         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6731         Added check for gst_static_caps_get() refcounting.
6732
6733 2005-08-22  Wim Taymans  <wim@fluendo.com>
6734
6735         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6736         Make _static_caps_get() refcounting sane.
6737         
6738         * gst/gstelement.c: (gst_element_set_state):
6739         Add g_return_val_if_fail() to protect against segfaults.
6740
6741 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6742
6743         * docs/gst/tmpl/gstevent.sgml:
6744         * gst/gstevent.c:
6745         * gst/gstevent.h:
6746           inlined remaining docs, added missing doc comments
6747
6748 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6749
6750         * check/gst/gstbin.c: (GST_START_TEST):
6751           since we don't know when preroll is done, use refcount range
6752           check for the sink
6753         * gst/check/gstcheck.h:
6754           add macro for checking refcount range
6755
6756 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6757
6758         * check/Makefile.am:
6759           clean up environment for when registry gets built versus
6760           when actual tests are run; valgrind seems to not report
6761           leaks if GST_PLUGIN_PATH is set to some specific values
6762         * check/gst/gstbin.c: (GST_START_TEST):
6763           add more refcounting checks; maybe this exposes a
6764           preroll lock bug ?
6765         * common/check.mak:
6766         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6767         * gst/check/gstcheck.h:
6768         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6769         (gst_bin_change_state):
6770         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6771           add/fix debugging/whitespace
6772
6773 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6774
6775         * check/gst/gstevent.c: (event_probe), (test_event),
6776         (GST_START_TEST):
6777          Er, don't call gst_bin_watch_for_state_change you idiot.
6778
6779 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6780
6781         * check/Makefile.am:
6782           Use CHECK_CFLAGS and CHECK_LIBS
6783         * check/gst/gstevent.c: (event_probe), (test_event),
6784         (GST_START_TEST):
6785           Don't leak events.
6786         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6787         (gst_base_src_start), (gst_base_src_stop),
6788         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6789         (gst_base_src_change_state):
6790           Sprinkle gst_base_src_stop liberally around error paths to fix
6791           problems reusing a source after failed state changes.
6792         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6793         (helper_find_suggest), (gst_type_find_helper):
6794           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6795         * gst/gstevent.h:
6796         * docs/gst/tmpl/gstevent.sgml:
6797           Migrate part of the docs from the SGML file. Wait for ensonic to
6798           tell me how I did it wrong ;)
6799         * tools/gst-typefind.c: (main):
6800           Extra robustness to state changes between files.
6801
6802 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         * check/Makefile.am:
6805           don't valgrind the controller test - it's leaking - Stefan, HELP
6806         * gst/check/gstcheck.c: (gst_check_message_error),
6807         (gst_check_chain_func), (gst_check_setup_element),
6808         (gst_check_teardown_element), (gst_check_setup_src_pad),
6809         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6810         (gst_check_teardown_sink_pad):
6811         * gst/check/gstcheck.h:
6812           add a bunch of methods to set up elements, and src and sink pads
6813         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6814         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6815         (GST_START_TEST):
6816           use them
6817         * gst/gstmessage.c:
6818         * gst/gsttag.h:
6819           whitespace/doc fixes
6820
6821 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6822
6823         * gst/gstelement.h:
6824           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6825           be handled by the application and not always printed as well
6826
6827 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6828
6829         * check/Makefile.am:
6830           set GST_TOOLS_DIR
6831         * gst/check/gstcheck.c: (gst_check_message_error):
6832         * gst/check/gstcheck.h:
6833           add a fail_unless_equals_int
6834           add fail_unless for error messages
6835
6836 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6837
6838         * check/Makefile.am:
6839         * check/gst.supp:
6840         * common/Makefile.am:
6841         * common/check.mak:
6842         * common/gst.supp:
6843           factor out some of the common stuff so we can use it
6844
6845 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6846
6847         * check/Makefile.am:
6848         * check/gst/gstiterator.c: (GST_START_TEST):
6849         * check/gst/gstsystemclock.c: (GST_START_TEST),
6850         (gst_systemclock_suite):
6851         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6852         * gst/gstclock.c:
6853           valgrind more tests
6854
6855 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6856
6857         * check/elements/.cvsignore:
6858         * check/elements/gstfakesrc.c:
6859           rename to name of element
6860         * check/elements/identity.c: (chain_func), (event_func),
6861         (setup_identity), (cleanup_identity), (GST_START_TEST),
6862         (identity_suite), (main):
6863           add a test for identity
6864         * check/Makefile.am:
6865         * pkgconfig/Makefile.am:
6866         * pkgconfig/gstreamer-check.pc.in:
6867         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6868         * gst/check:
6869         * gst/Makefile.am:
6870         * configure.ac:
6871           move the check stuff to a library that gets installed
6872         * check/gst-libs/controller.c: (GST_START_TEST):
6873         * check/gst-libs/gdp.c:
6874         * check/gst/gst.c: (GST_START_TEST):
6875         * check/gst/gstbin.c:
6876         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6877         * check/gst/gstbus.c:
6878         * check/gst/gstcaps.c: (GST_START_TEST):
6879         * check/gst/gstelement.c:
6880         * check/gst/gstghostpad.c:
6881         * check/gst/gstiterator.c:
6882         * check/gst/gstmessage.c:
6883         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6884         * check/gst/gstobject.c:
6885         * check/gst/gstpad.c: (GST_START_TEST):
6886         * check/gst/gststructure.c: (GST_START_TEST):
6887         * check/gst/gstsystemclock.c: (GST_START_TEST),
6888         (gst_systemclock_suite):
6889         * check/gst/gsttag.c: (gst_tag_suite):
6890         * check/gst/gstvalue.c:
6891         * check/pipelines/cleanup.c:
6892         * check/pipelines/simple_launch_lines.c:
6893         * check/states/sinks.c:
6894           change include statement
6895
6896         * docs/gst/gstreamer-sections.txt:
6897         * docs/gst/tmpl/gstpad.sgml:
6898           document more pad stuff
6899         * gst/gstminiobject.c: (gst_mini_object_ref),
6900         (gst_mini_object_unref):
6901           debug refcounting
6902
6903 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6904
6905         * docs/gst/tmpl/gst.sgml:
6906         * gst/gst.c:
6907           eliminate another tmpl file, fix spelling in the long-description
6908
6909 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6910
6911         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6912         (test_event), (timediff), (gstevents_suite):
6913           Should fix build on 64-bit arch's
6914
6915 2005-08-18  Andy Wingo  <wingo@pobox.com>
6916
6917         Make sure that when a pipeline goes to PLAYING, that data has
6918         actually hit the sink.
6919
6920         * check/states/sinks.c (test_sink): A sink that doesn't get any
6921         data shouldn't return SUCCESS for going to either PLAYING or
6922         PAUSED. Test also the return values on the way back down.
6923
6924         * gst/gstelement.c (gst_element_set_state): When changing the
6925         state of an element currently changing state asynchronously, go to
6926         lost-state after commiting the pending state. Makes future calls
6927         to get_state continue to return ASYNC.
6928
6929         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6930         ASYNC when going to PLAYING if we still don't have preroll, as can
6931         happen with live sources.
6932
6933 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6934
6935         * docs/pwg/advanced-types.xml:
6936           Hack long paragraph into 2 chunks as a workaround for buggy
6937           jadetex version in sid and breezy that loops infinitely and
6938           eats all RAM.
6939
6940 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6941
6942         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6943         (test_event), (timediff), (gstevents_suite):
6944           Provide more error margin in clock measurements to allow for 
6945           g_get_current_time inaccuracies.
6946
6947 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6948
6949         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6950         (test_event), (timediff), (gstevents_suite):
6951            Fix error message output so I might be able to tell why the
6952            test works here but fails on the build farm.
6953
6954 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6955
6956         * check/Makefile.am:
6957         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6958         (test_event), (timediff), (gstevents_suite), (main):
6959           I wrote a test!
6960
6961         * docs/design/part-seeking.txt:
6962           Spelling correction
6963
6964         * docs/gst/tmpl/gstevent.sgml:
6965         * docs/gst/tmpl/gstfakesrc.sgml:
6966           Docs updates.
6967
6968         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6969           Treat a buffer-without-newsegment the same as a receiving 
6970           a newsegment not in time format, and disable syncing to the clock
6971           with a warning.
6972
6973         * gst/gstbus.c: (gst_bus_set_sync_handler):
6974           Assert if anyone tries to replace the existing sync_handler for bus, 
6975           as only the owner should be setting it.
6976
6977         * gst/gstevent.h:
6978           Have a fixed set of custom event enums with events identified by
6979           their structure name (as in 0.8), rather than a free-for-all
6980           allowing collisions between enum values from different plugins.
6981
6982         * gst/gstpad.c: (gst_pad_class_init):
6983           Docs change.
6984           
6985         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6986           Handle out-of-band downstream events from the sending thread.
6987
6988 2005-08-17  Andy Wingo  <wingo@pobox.com>
6989
6990         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6991         play-timeout==0 to mean no timeout at all. In that case, don't
6992         bother with a get_state or a warning, just return directly, even
6993         if it's ASYNC.
6994
6995         * gst/base/gstbasetransform.c: Debug changes.
6996
6997         * gst/gstutils.h:
6998         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6999         ensure bins post state change messages. A bit of a hack but I can't
7000         think of a way to avoid it.
7001
7002         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7003
7004 2005-08-16  Andy Wingo  <wingo@pobox.com>
7005
7006         * gst/base/gstadapter.h:
7007         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7008         peek() but you own the data. Not terribly efficient atm.
7009
7010 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7011
7012         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7013         (gst_element_found_tags):
7014         * gst/gstutils.h:
7015           Add two utility functions for tag handling.
7016
7017 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7018
7019         * docs/manual/advanced-dataaccess.xml:
7020         * docs/manual/basics-helloworld.xml:
7021           Fix docs to use _bin_add() before _link(), which fixes the examples
7022           with recent core versions (reported by Madhan Raj M
7023           <raj_madan@rediffmail.com>, #313199).
7024
7025 2005-08-16  Wim Taymans  <wim@fluendo.com>
7026
7027         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7028         Added subtract checks.
7029
7030         * docs/design/part-events.txt:
7031         Some more docs about newsegment
7032
7033         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7034         Fix FIXME
7035
7036         * gst/gstcaps.c: (gst_caps_to_string):
7037         Add comments, cleanups.
7038         
7039         * gst/gstelement.c: (gst_element_save_thyself):
7040         cleanups
7041         
7042         * gst/gstvalue.c: (gst_value_collect_int_range),
7043         (gst_string_unwrap), (gst_value_union_int_int_range),
7044         (gst_value_union_int_range_int_range),
7045         (gst_value_intersect_int_int_range),
7046         (gst_value_intersect_int_range_int_range),
7047         (gst_value_intersect_double_double_range),
7048         (gst_value_intersect_double_range_double_range),
7049         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7050         (gst_value_subtract_int_range_int),
7051         (gst_value_subtract_double_range_double),
7052         (gst_value_subtract_double_range_double_range),
7053         (gst_value_subtract_from_list), (gst_value_subtract_list),
7054         (gst_value_can_compare), (gst_value_compare_fraction):
7055         Cleanups, add comments, remove unneeded asserts.
7056
7057 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7058
7059         * tools/gst-launch.c: (event_loop):
7060           don't convert NULL structures to strings
7061
7062 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7063
7064         * docs/gst/gstreamer-sections.txt:
7065           made some defines private
7066         * docs/gst/tmpl/gstconfig.sgml:
7067         * docs/gst/tmpl/gstqueue.sgml:
7068         * docs/gst/tmpl/gsttaglist.sgml:
7069         * docs/gst/tmpl/gsttypes.sgml:
7070         * docs/gst/tmpl/gstutils.sgml:
7071         * docs/pwg/appendix-porting.xml:
7072         * gst/base/gstbasesink.h:
7073         * gst/base/gstbasesrc.c:
7074         * gst/base/gstbasesrc.h:
7075         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7076         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7077         * gst/gstelement.c: (gst_element_class_init):
7078         * gst/gstpad.c: (gst_pad_class_init):
7079         * gst/gstqueue.c: (gst_queue_class_init):
7080         * gst/gstxml.c: (gst_xml_class_init):
7081           documented all undocumented signal inline
7082         * libs/gst/controller/gst-controller.h:
7083           added padding
7084
7085 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7086
7087         * docs/pwg/appendix-porting.xml:
7088           Document _set_link_function -> _set_setcaps_function.
7089
7090 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7091
7092         * check/Makefile.am:
7093           add a .check target for running the check
7094         * check/gst-libs/controller.c: (GST_START_TEST):
7095           cosmetic fixups
7096         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7097           complete checks for gstbuffer; would be nice if I could get the
7098           gcov stuff to work so I can see if I actually completed gstbuffer.c
7099         * check/gstcheck.h:
7100           add ASSERT_BUFFER_REFCOUNT
7101
7102 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7103
7104         * docs/gst/gstreamer-sections.txt:
7105         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7106         * gst/gsttag.h:
7107           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7108           spew out a warning if a tag that is already registered
7109           is re-registered, unless it is re-registered with a 
7110           different type (#308438).
7111
7112 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7113
7114         * docs/pwg/appendix-porting.xml:
7115         * docs/pwg/building-state.xml:
7116           Add some paragraphs about state changes in 0.9 to the PWG
7117           and the porting guide, in particular about the new meaning
7118           of GST_STATE_PAUSED and how to write state change functions
7119           with concurrent access by multiple threads in mind.
7120
7121 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7122
7123         * docs/gst/gstreamer-docs.sgml:
7124         * docs/libs/gstreamer-libs-docs.sgml:
7125           added deprecation and since indexes
7126         * libs/gst/controller/gst-controller.c:
7127         * libs/gst/controller/gst-helper.c:
7128           added since tags
7129
7130
7131 2005-08-11  Wim Taymans  <wim@fluendo.com>
7132
7133         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7134         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7135         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7136         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7137         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7138         (gst_ghost_pad_set_target):
7139         Actually implement (re)setting the target on a ghostpad
7140         as described in the docs.
7141
7142 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7143
7144         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7145           Check whether GST_DEBUG_NO_COLOR environment variable is
7146           set and disable coloured debug output if that is the case.
7147
7148 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7149
7150         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7151         (gst_type_find_helper):
7152           The memory returned by gst_type_find_peek() needs to
7153           stay valid until the end of a typefind function, and
7154           typefind functions may keep results from different 
7155           offsets around, so we can't just unref the buffer from
7156           the previous _peek(), but have to save all buffers 
7157           returned by _peek() until typefinding is done and only
7158           free them then.
7159
7160 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7161
7162         * docs/gst/gstreamer-sections.txt:
7163         * gst/gstutils.h:
7164           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7165
7166 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7167
7168         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7169           Fix a pretty good memleak.
7170
7171 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7172
7173         * gst/gstiterator.h:
7174           Fix wrong include and 'make distcheck'.
7175
7176 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7177
7178         * gst/gstbin.c: (bin_bus_handler):
7179           Use gst_element_post_message() instead.
7180
7181 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7182
7183         * gst/base/gstadapter.h:
7184         * gst/base/gstbasesink.h:
7185         * gst/base/gstbasesrc.h:
7186         * gst/base/gstbasetransform.h:
7187         * gst/base/gstcollectpads.h:
7188         * gst/base/gstpushsrc.h:
7189         * gst/gstiterator.h:
7190           Add padding to our base elements' class and instance structs and
7191           to GstIterator (you will need to rebuild all plugins and apps!)
7192
7193 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7194
7195         * gst/gstbin.c: (bin_bus_handler):
7196           Make default message forwarding from child->bus to bin->bus
7197           threadsafe and make it not emit warnings if the parent has no bus.
7198
7199 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7200
7201         * gst/gstelement.c: (activate_pads):
7202           On paused->ready, set pad->caps to NULL, as is the documented
7203           behaviour in this state change. Fixes playback of series of
7204           media files when visualization is enabled in Totem.
7205
7206 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7207
7208         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7209           Allow NULL as filter-caps (which means "any").
7210
7211 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7212
7213         * docs/libs/gstreamer-libs-sections.txt:
7214         * libs/gst/controller/gst-controller.c:
7215         * libs/gst/controller/gst-controller.h:
7216         * libs/gst/controller/gst-helper.c:
7217           adding more entries to the docs and fix small doc-bugs
7218
7219 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7220
7221         * docs/gst/gstreamer-docs.sgml:
7222         * docs/gst/gstreamer-sections.txt:
7223         * docs/gst/gstreamer.types:
7224         * docs/gst/tmpl/gstbasesink.sgml:
7225         * docs/gst/tmpl/gstbasesrc.sgml:
7226         * docs/gst/tmpl/gstbasetransform.sgml:
7227         * docs/gst/tmpl/gstfakesrc.sgml:
7228         * gst/base/gstcollectpads.c:
7229         * gst/base/gstcollectpads.h:
7230         * libs/gst/controller/gst-controller.c:
7231         * libs/gst/controller/gst-controller.h:
7232         * libs/gst/controller/gst-helper.c:
7233         * libs/gst/controller/gst-interpolation.c:
7234         * libs/gst/controller/lib.c:
7235           added long/short desc for controller docs
7236           added collectpads base class docs
7237           added correct includes to base-class docs
7238
7239 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7240
7241         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7242         (gst_test_mono_source_set_property),
7243         (gst_test_mono_source_class_init), (GST_START_TEST),
7244         (gst_controller_suite):
7245         * docs/gst/gstreamer-docs.sgml:
7246         * docs/gst/gstreamer-sections.txt:
7247         * docs/gst/gstreamer.types:
7248         * docs/libs/gstreamer-libs-docs.sgml:
7249         * docs/libs/gstreamer-libs-sections.txt:
7250         * gst/base/gstadapter.c:
7251         * libs/gst/controller/gst-controller.c:
7252         (gst_controlled_property_new), (gst_controlled_property_free),
7253         (gst_controller_new_valist),
7254         (gst_controller_remove_properties_valist),
7255         (gst_controller_sink_values), (_gst_controller_finalize):
7256         * libs/gst/controller/gst-controller.h:
7257         * libs/gst/controller/gst-helper.c:
7258         (gst_object_control_properties), (gst_object_uncontrol_properties),
7259         (gst_object_get_controller), (gst_object_set_controller),
7260         (gst_object_sink_values), (gst_object_get_value_arrays),
7261         (gst_object_get_value_array):
7262           more tests (and fixes) for the controller
7263           more docs for the controller
7264           integrated companies docs for the adapter 
7265
7266 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7267
7268         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7269         (GST_START_TEST), (fakesrc_suite):
7270           add tests for sizetype
7271
7272 2005-08-04  Andy Wingo  <wingo@pobox.com>
7273
7274         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7275         fixes buffer_alloc proxying among other things.
7276
7277         * gst/base/gstbasetransform.c:
7278         * gst/base/gstbasetransform.h:
7279         Revert patch to gstbasetransform from 7-28 removing
7280         delay_configure.
7281
7282         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7283         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7284         Semantics changed, should return not the size of the output buffer
7285         but the byte size of a buffer with a given caps.
7286
7287         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7288         debug object.
7289         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7290         out) are not the pad caps until setcaps finishes.
7291         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7292         not-in-place case as well. Deal with changing from in-place to
7293         not-in-place within calling pad_alloc_buffer. Still a bit
7294         concerned about the overhead here...
7295
7296 2005-08-03  Andy Wingo  <wingo@pobox.com>
7297
7298         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7299         fixating is an error.
7300
7301 2005-08-04  Edward Hervey  <edward@fluendo.com>
7302
7303         * gst/base/gstadapter.h: 
7304         Added gst_adapter_get_type() to the header
7305
7306 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7307
7308         * check/Makefile.am:
7309         * check/gst-libs/controller.c:
7310         * libs/gst/controller/gst-controller.c:
7311         (gst_controller_new_valist):
7312           added check test suite for the controller
7313         * gst/base/gstpushsrc.c:
7314           fixed a doc typo
7315
7316 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7317
7318         * docs/gst/Makefile.am:
7319         * docs/gst/gstreamer-docs.sgml:
7320         * docs/gst/gstreamer-sections.txt:
7321         * docs/gst/gstreamer.types:
7322         * docs/gst/tmpl/gstfakesrc.sgml:
7323         * gst/base/README:
7324         * gst/base/gstbasesink.c:
7325         * gst/base/gstbasesink.h:
7326         * gst/base/gstbasesrc.c:
7327         * gst/base/gstbasesrc.h:
7328         * gst/base/gstbasetransform.c:
7329         * gst/base/gstpushsrc.c:
7330         * gst/base/gstpushsrc.h:
7331           add short/long description docs to base classes
7332           add pushsrc to the docs
7333           remove consolidated doc fragments
7334
7335 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * configure.ac:
7338         * docs/libs/Makefile.am:
7339         * docs/libs/gstreamer-libs-docs.sgml:
7340         * docs/libs/gstreamer-libs-sections.txt:
7341         * docs/libs/gstreamer-libs.types:
7342         * examples/Makefile.am:
7343         * examples/controller/.cvsignore:
7344         * examples/controller/Makefile.am:
7345         * examples/controller/audio-example.c: (main):
7346         * libs/gst/Makefile.am:
7347         * libs/gst/controller/.cvsignore:
7348         * libs/gst/controller/Makefile.am:
7349         * libs/gst/controller/gst-controller.c:
7350         (on_object_controlled_property_changed), (gst_timed_value_compare),
7351         (gst_timed_value_find),
7352         (gst_controlled_property_set_interpolation_mode),
7353         (gst_controlled_property_new), (gst_controlled_property_free),
7354         (gst_controller_find_controlled_property),
7355         (gst_controller_new_valist), (gst_controller_new),
7356         (gst_controller_remove_properties_valist),
7357         (gst_controller_remove_properties), (gst_controller_set),
7358         (gst_controller_set_from_list), (gst_controller_unset),
7359         (gst_controller_get), (gst_controller_get_all),
7360         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7361         (gst_controller_get_value_array),
7362         (gst_controller_set_interpolation_mode),
7363         (_gst_controller_finalize), (_gst_controller_init),
7364         (_gst_controller_class_init), (gst_controller_get_type):
7365         * libs/gst/controller/gst-controller.h:
7366         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7367         (g_object_uncontrol_properties), (g_object_get_controller),
7368         (g_object_set_controller), (g_object_sink_values),
7369         (g_object_get_value_arrays), (g_object_get_value_array):
7370         * libs/gst/controller/gst-interpolation.c:
7371         (gst_controlled_property_find_timed_value_node),
7372         (interpolate_none_get), (interpolate_trigger_get),
7373         (interpolate_trigger_get_value_array):
7374         * libs/gst/controller/lib.c: (gst_controller_init):
7375         * pkgconfig/Makefile.am:
7376         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7377         * pkgconfig/gstreamer-control.pc.in:
7378         * testsuite/Makefile.am:
7379         * testsuite/controller/.cvsignore:
7380         * testsuite/controller/Makefile.am:
7381         * testsuite/controller/interpolator.c: (main):
7382           added controller code
7383           removed dparam pc files
7384
7385 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7386         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7387         (gst_collectpads_stop):
7388           Broadcast the condition when shutting down, to make sure we wake all
7389           threads up. Shut down pads on finalize, for safety.
7390
7391 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7392         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7393         (gst_base_transform_handle_buffer),
7394         (gst_base_transform_change_state):
7395           Handle PAUSED->READY->PAUSED transition after negotiation
7396           occurred already.
7397         * gst/gstmessage.c: (gst_message_init):
7398           Extra piece of debug for new messages.
7399
7400 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7401
7402         * configure.ac:
7403         * docs/gst/tmpl/gstbasesrc.sgml:
7404         * docs/gst/tmpl/gstelement.sgml:
7405         * docs/gst/tmpl/gstevent.sgml:
7406         * docs/gst/tmpl/gstfakesrc.sgml:
7407         * docs/gst/tmpl/gstformat.sgml:
7408         * docs/gst/tmpl/gstghostpad.sgml:
7409         * docs/gst/tmpl/gstpad.sgml:
7410         * docs/gst/tmpl/gstquery.sgml:
7411         * docs/gst/tmpl/gststructure.sgml:
7412         * docs/gst/tmpl/gsttaglist.sgml:
7413         * docs/gst/tmpl/gstvalue.sgml:
7414         * docs/libs/gstreamer-libs-docs.sgml:
7415         * docs/libs/gstreamer-libs-sections.txt:
7416         * docs/libs/gstreamer-libs.types:
7417         * libs/gst/Makefile.am:
7418         * libs/gst/control/.cvsignore:
7419         * libs/gst/control/Makefile.am:
7420         * libs/gst/control/control.c:
7421         * libs/gst/control/control.h:
7422         * libs/gst/control/dparam.c:
7423         * libs/gst/control/dparam.h:
7424         * libs/gst/control/dparam_smooth.c:
7425         * libs/gst/control/dparam_smooth.h:
7426         * libs/gst/control/dparamcommon.h:
7427         * libs/gst/control/dparammanager.c:
7428         * libs/gst/control/dparammanager.h:
7429         * libs/gst/control/dplinearinterp.c:
7430         * libs/gst/control/dplinearinterp.h:
7431         * libs/gst/control/unitconvert.c:
7432         * libs/gst/control/unitconvert.h:
7433         * testsuite/Makefile.am:
7434         * testsuite/dynparams/.cvsignore:
7435         * testsuite/dynparams/Makefile.am:
7436         * testsuite/dynparams/dparamstest.c:
7437         * tools/Makefile.am:
7438         * tools/gst-inspect.c: (print_element_info), (main):
7439         * tools/gst-xmlinspect.c: (print_element_info), (main):
7440           deactivate and remove dparams (libgstcontrol)
7441
7442 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7443
7444         * gst/elements/gsttypefindelement.c:
7445         (gst_type_find_element_have_type), (gst_type_find_element_init),
7446         (stop_typefinding), (gst_type_find_element_handle_event),
7447         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7448         * gst/elements/gsttypefindelement.h:
7449           Set caps on all outgoing buffers, not just the first one.
7450
7451 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7452
7453         * gst/elements/gsttypefindelement.c:
7454         (gst_type_find_element_have_type),
7455         (gst_type_find_element_check_set_buffer_caps),
7456         (gst_type_find_element_init), (stop_typefinding),
7457         (gst_type_find_element_handle_event),
7458         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7459         * gst/elements/gsttypefindelement.h:
7460           Set caps on first outgoing buffer when we've found the type.
7461
7462 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7463
7464         * docs/gst/gstreamer-docs.sgml:
7465         * docs/gst/gstreamer-sections.txt:
7466         * docs/gst/tmpl/gstscheduler.sgml:
7467         * docs/gst/tmpl/gstschedulerfactory.sgml:
7468           Remove some old cruft from docs.
7469
7470 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7471
7472         * gst/gstpad.h:
7473           Fix inline docs for GstPadLinkReturn.
7474           
7475         * gst/gststructure.c: (gst_structure_has_name):
7476         * gst/gststructure.h:
7477         * docs/gst/gstreamer-sections.txt:
7478           New API: gst_structure_has_name().
7479
7480 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7481
7482         * configure.ac:
7483           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7484           and _LARGEFILE_SOURCE in config.h as required. Do not 
7485           export those flags in our .pc files any longer (#142209).
7486
7487           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7488
7489         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7490         (gst_file_sink_do_seek), (gst_file_sink_event),
7491         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7492           Redo seek/tell calls with large file support in mind; add some
7493           debugging messages; add log message that tells us when large
7494           file support is unavailable or not enabled for some reason.
7495
7496         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7497           Add log message that tells us when large file support 
7498           is unavailable or not enabled for some reason.
7499
7500 2005-07-29  Wim Taymans  <wim@fluendo.com>
7501
7502         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7503         Added test for removing an element with ghostpad from a bin.
7504         Fixed test as current implementation does the right thing.
7505
7506         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7507         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7508         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7509         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7510         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7511         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7512         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7513         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7514         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7515         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7516         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7517         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7518         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7519         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7520         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7521         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7522         * gst/gstghostpad.h:
7523         Clean up ghostpads, remove properties for internal stuff.
7524         Make threadsafe.
7525         Fix refcounting.
7526         Prepare for switching targets, not all use cases work yet.
7527
7528 2005-07-29  Wim Taymans  <wim@fluendo.com>
7529
7530         * docs/design/part-gstghostpad.txt:
7531         Small update.
7532
7533         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7534         (gst_bin_remove_func):
7535         Unlinking pads while holding the bin LOCK is not a good
7536         idea.
7537
7538         * gst/gstpad.c: (gst_pad_class_init),
7539         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7540         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7541         No prob setting template after creating the pad.
7542
7543 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7544
7545         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7546         (gst_bus_peek), (gst_bus_source_dispatch),
7547         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7548         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7549           gst_bus_poll may be called from other threads. Handle
7550           this nicely by not making poll_data disappear off the
7551           stack once gst_bus_poll returns.
7552           gst_bus_peek now increments the refcount on the returned
7553           message.
7554
7555 2005-07-29  Wim Taymans  <wim@fluendo.com>
7556
7557         * docs/design/part-gstghostpad.txt:
7558         Overview of current GhostPad datastructures and use
7559         cases for changing the target.
7560
7561 2005-07-28  Wim Taymans  <wim@fluendo.com>
7562
7563         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7564         Added checks for hierarchy consistency whan adding linked
7565         elements to bins.
7566
7567         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7568         Added check to test element scheduling without bin/pipeline.
7569
7570         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7571         First add elements to bin, then link.
7572         
7573         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7574         (gst_bin_remove_func):
7575         Unlink pads from elements added/removed from bin to maintain
7576         hierarchy consistency.
7577
7578 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7579
7580         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7581         (gst_base_transform_handle_buffer):
7582         * gst/base/gstbasetransform.h:
7583           Remove broken delay_configure (fixes renegotiation of software
7584           scaling pipelines); remove some leftover printf()s.
7585
7586 2005-07-28  Wim Taymans  <wim@fluendo.com>
7587
7588         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7589         Added some more tests for wrong hierarchy
7590
7591         * docs/design/part-overview.txt:
7592         Some updates.
7593
7594         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7595         Cleanups.
7596
7597         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7598         (gst_element_dispose):
7599         Some more cleanups.
7600
7601         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7602         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7603         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7604         (gst_pad_set_caps), (gst_pad_send_event):
7605         Check for correct hierarchy when linking pads. Moving to
7606         strict requirement for ghostpads when linking elements in
7607         different bins.
7608
7609         * gst/gstpad.h:
7610         Clean ups. Added WRONG_HIERARCHY return value.
7611
7612 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7613
7614         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7615           Better debug if no transform is possible.
7616
7617 2005-07-27  Wim Taymans  <wim@fluendo.com>
7618
7619         * docs/random/wtay/network-transp:
7620         Some old doc I had.
7621
7622 2005-07-27  Wim Taymans  <wim@fluendo.com>
7623
7624         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7625         (gst_dp_event_from_packet):
7626         Fix serialization of seek events.
7627
7628 2005-07-27  Wim Taymans  <wim@fluendo.com>
7629
7630         * check/gst-libs/gdp.c: (GST_START_TEST):
7631         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7632         Fix compilation and fix event serialization.
7633
7634 2005-07-27  Wim Taymans  <wim@fluendo.com>
7635
7636         * CHANGES-0.9:
7637         * docs/design/part-TODO.txt:
7638         * docs/design/part-events.txt:
7639         Some docs updates
7640
7641         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7642         (gst_base_sink_event), (gst_base_sink_do_sync),
7643         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7644         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7645         (gst_base_src_do_seek), (gst_base_src_event_handler),
7646         (gst_base_src_loop):
7647         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7648         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7649         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7650         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7651         (gst_base_transform_set_passthrough),
7652         (gst_base_transform_is_passthrough):
7653         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7654         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7655         Event updates.
7656
7657         * gst/gstbuffer.h:
7658         Use faster casts.
7659
7660         * gst/gstelement.c: (gst_element_seek):
7661         * gst/gstelement.h:
7662         Update gst_element_seek.
7663
7664         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7665         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7666         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7667         (gst_event_new_eos), (gst_event_new_newsegment),
7668         (gst_event_parse_newsegment), (gst_event_new_tag),
7669         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7670         (gst_event_parse_qos), (gst_event_new_seek),
7671         (gst_event_parse_seek), (gst_event_new_navigation):
7672         * gst/gstevent.h:
7673         Make GstEvent use GstStructure. Add parsing code, make sure the
7674         API is sufficiently generic.
7675         Mark possible directions of events and serialization.
7676
7677         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7678         (_gst_message_copy), (gst_message_new_segment_start),
7679         (gst_message_new_segment_done), (gst_message_new_custom),
7680         (gst_message_parse_segment_start),
7681         (gst_message_parse_segment_done):
7682         Small cleanups.
7683
7684         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7685         (gst_pad_set_caps), (gst_pad_send_event):
7686         Update for new events. 
7687         Catch events sent in wrong directions.
7688
7689         * gst/gstqueue.c: (gst_queue_link_src),
7690         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7691         (gst_queue_handle_src_query):
7692         Event updates.
7693
7694         * gst/gsttag.c:
7695         * gst/gsttag.h:
7696         Remove event code from this file.
7697
7698         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7699         (gst_dp_event_from_packet):
7700         Event updates.
7701
7702 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7703
7704         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7705         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7706         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7707           Make debugging actually useful.
7708
7709 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7710
7711         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7712         (gst_pad_fixate_caps):
7713           Implement default fixation once again, so that gst_pad_fixate()
7714           actually does anything at all. This probably needs to be some
7715           sort of a last resort, and use profile-based fixation first, but
7716           since that doesn't exist yet, this is the best we have. Fixes
7717           visualization in Totem.
7718
7719 2005-07-22  Wim Taymans  <wim@fluendo.com>
7720
7721         * docs/design/part-events.txt:
7722         Small update.
7723
7724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7725         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7726         (gst_base_sink_activate_pull):
7727         Some more comments.
7728
7729         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7730         (gst_fake_src_create):
7731         Fix handoff marshall.
7732
7733         * gst/elements/gstidentity.c: (gst_identity_class_init),
7734         (gst_identity_transform_ip):
7735         We're a real inplace element.
7736
7737         * gst/gstbus.c: (gst_bus_post):
7738         Added some comments.
7739
7740         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7741         * tests/muxing/case1.c: (main):
7742         * tests/sched/dynamic-pipeline.c: (main):
7743         * tests/sched/interrupt1.c: (main):
7744         * tests/sched/interrupt2.c: (main):
7745         * tests/sched/interrupt3.c: (main):
7746         * tests/sched/runxml.c: (main):
7747         * tests/sched/sched-stress.c: (main):
7748         * tests/seeking/seeking1.c: (event_received), (main):
7749         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7750         (main):
7751         * tests/threadstate/threadstate3.c: (main):
7752         * tests/threadstate/threadstate4.c: (main):
7753         * tests/threadstate/threadstate5.c: (main):
7754         Fix the tests.
7755
7756 2005-07-21  Wim Taymans  <wim@fluendo.com>
7757
7758         * docs/design/part-seeking.txt:
7759         Some small additions.
7760
7761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7762         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7763         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7764         * gst/base/gstbasesink.h:
7765         discont values are gint64, handle the math correctly.
7766
7767         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7768         Make the basesrc report error if the source pad is not linked.
7769
7770         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7771         (gst_queue_loop), (gst_queue_handle_src_query),
7772         (gst_queue_src_activate_push):
7773         Make queue collect data even if the srcpad is not linked.
7774         Start pushing out data as soon as it is linked.
7775
7776         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7777         * gst/gstutils.h:
7778         Added gst_flow_get_name() to ease error reporting.
7779
7780 2005-07-20  Wim Taymans  <wim@fluendo.com>
7781
7782         * gst/gstmessage.c: (gst_message_new_segment_start),
7783         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7784         (gst_message_parse_segment_done):
7785         * gst/gstmessage.h:
7786         Added a bunch of messages for advanced seeking.
7787
7788         * gst/parse/grammar.y:
7789         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7790         (gst_dpman_state_changed):
7791         Fix some new-pad -> pad-added signals
7792
7793 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7794
7795         * docs/manual/appendix-porting.xml:
7796         * docs/pwg/appendix-porting.xml:
7797           Document new-pad/state-change signal renames and the FixedList
7798           type rename.
7799
7800 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7801
7802         * docs/manual/advanced-autoplugging.xml:
7803         * docs/manual/basics-helloworld.xml:
7804         * docs/manual/basics-pads.xml:
7805         * docs/random/ds/0.9-suggested-changes:
7806         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7807         * gst/gstelement.h:
7808         * gst/gstevent.h:
7809         * gst/gstformat.h:
7810         * gst/gstquery.h:
7811         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7812         (gst_structure_parse_array), (gst_structure_parse_value):
7813         * gst/gstvalue.c: (gst_type_is_fixed),
7814         (gst_value_list_prepend_value), (gst_value_list_append_value),
7815         (gst_value_list_get_size), (gst_value_list_get_value),
7816         (gst_value_transform_array_string), (gst_value_serialize_array),
7817         (gst_value_deserialize_array), (gst_value_intersect_array),
7818         (gst_value_is_fixed), (_gst_value_initialize):
7819         * gst/gstvalue.h:
7820           GstElement::new-pad -> pad-added, GstElement::state-change ->
7821           state-changed, GstValueFixedList -> GstValueArray, add format and
7822           flags as their own arguments in gst_element_seek() (should improve
7823           "bindeability"), remove function generators since they don't work
7824           under a whole bunch of compilers (they were deprecated already
7825           anyway).
7826
7827 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7828
7829         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7830         (_gst_debug_register_funcptr):
7831         * gst/gstinfo.h:
7832           Fix illegal cast on some platforms (#309253).
7833
7834 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7835
7836         * gst/gstmessage.c: (gst_message_new_custom):
7837         * gst/gstmessage.h:
7838           Add _new_custom, make _new_application a macro to _new_custom.
7839
7840 2005-07-20  Wim Taymans  <wim@fluendo.com>
7841
7842         * gst/base/gstbasesrc.c: (gst_base_src_init),
7843         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7844         * gst/base/gstbasesrc.h:
7845         Add a gboolean to decide when to push out a discont.
7846
7847         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7848         (gst_queue_loop), (gst_queue_handle_src_query),
7849         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7850         (gst_queue_set_property), (gst_queue_get_property):
7851         Some cleanups.
7852
7853         * tests/threadstate/threadstate1.c: (main):
7854         Make a thread test compile and run... very silly..
7855
7856
7857 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7858
7859         * docs/manual/appendix-porting.xml:
7860           Mention removal of libgstgconf-0.9.la and existence of gconf
7861           elements.
7862
7863 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7864
7865         * docs/pwg/advanced-clock.xml:
7866         * docs/pwg/appendix-porting.xml:
7867         * docs/pwg/intro-preface.xml:
7868         * docs/pwg/other-base.xml:
7869         * docs/pwg/other-manager.xml:
7870         * docs/pwg/other-nton.xml:
7871         * docs/pwg/other-ntoone.xml:
7872         * docs/pwg/other-oneton.xml:
7873         * docs/pwg/pwg.xml:
7874           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7875           demuxer), remove n-to-n (was never written), fix some code examples
7876           and links and update the porting section to include all this.
7877
7878 2005-07-19  Wim Taymans  <wim@fluendo.com>
7879
7880         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7881         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7882         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7883         (gst_queue_src_activate_push), (gst_queue_change_state),
7884         (gst_queue_get_property):
7885         * gst/gstqueue.h:
7886         Propagate GstFlowReturn more intelligently upstream and output
7887         an ERROR/EOS when streaming stopped due to fatal error.
7888
7889 2005-07-19  Wim Taymans  <wim@fluendo.com>
7890
7891         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7892         Don't block forever for the state change to complete, the
7893         pipeline already did with a sensible timeout.
7894
7895 2005-07-19  Wim Taymans  <wim@fluendo.com>
7896
7897         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7898         Make sure we never call the create function is we
7899         got deactivated.
7900
7901 2005-07-19  Andy Wingo  <wingo@pobox.com>
7902
7903         * gst/parse/parse.l: Attempt to solve bug #172815.
7904
7905 2005-07-19  Wim Taymans  <wim@fluendo.com>
7906
7907         * docs/design/part-clocks.txt:
7908         * docs/design/part-events.txt:
7909         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7910         Small docs updates.
7911         Only update the seeking values when we are not
7912         busy streaming.
7913
7914 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7915
7916         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7917           Oops, ignore the result of gst_pad_push_event here.
7918
7919 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7920
7921         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7922         (gst_base_src_activate_push):
7923           Send discont event from the loop function, as pads
7924           aren't activated yet in the activate_push handler.
7925
7926         * gst/gstbin.c: (bin_bus_handler):
7927           Don't leak element name.
7928
7929 2005-07-18  Andy Wingo  <wingo@pobox.com>
7930
7931         * configure.ac: Use AS_LIBTOOL_TAGS.
7932
7933 2005-07-18  Wim Taymans  <wim@fluendo.com>
7934
7935         * docs/gst/gstreamer.types:
7936         Remove deleted types.
7937
7938 2005-07-18  Wim Taymans  <wim@fluendo.com>
7939
7940         * check/elements/gstfakesrc.c: (GST_START_TEST):
7941         * configure.ac:
7942         * gst/Makefile.am:
7943         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7944         (init_popt_callback):
7945         * gst/gst.h:
7946         * gst/gst_private.h:
7947         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7948         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7949         * gst/gstbin.h:
7950         * gst/gstbus.h:
7951         * gst/gstconfig.h.in:
7952         * gst/gstelement.c: (gst_element_class_init),
7953         (gst_element_set_base_time), (gst_element_get_base_time),
7954         (iterator_fold_with_resync), (gst_element_change_state),
7955         (gst_element_dispose), (gst_element_get_bus):
7956         * gst/gstelement.h:
7957         * gst/gstelementfactory.h:
7958         * gst/gsterror.c: (_gst_core_errors_init):
7959         * gst/gsterror.h:
7960         * gst/gstevent.h:
7961         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7962         * gst/gstindex.c:
7963         * gst/gstinfo.c: (_gst_debug_init):
7964         * gst/gstmessage.c: (_gst_message_copy):
7965         * gst/gstmessage.h:
7966         * gst/gstminiobject.h:
7967         * gst/gstobject.c:
7968         * gst/gstobject.h:
7969         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7970         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7971         * gst/gstpad.h:
7972         * gst/gstparse.h:
7973         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7974         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7975         (gst_pipeline_get_last_stream_time):
7976         * gst/gstpipeline.h:
7977         * gst/gstpluginfeature.h:
7978         * gst/gstquery.h:
7979         * gst/gstscheduler.c:
7980         * gst/gstscheduler.h:
7981         * gst/gststructure.h:
7982         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7983         (gst_task_finalize), (gst_task_func), (gst_task_create),
7984         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7985         (gst_task_stop), (gst_task_pause):
7986         * gst/gsttask.h:
7987         * gst/gsttypefind.h:
7988         * gst/gsttypes.h:
7989         * gst/registries/gstlibxmlregistry.c: (load_feature),
7990         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7991         * gst/registries/gstxmlregistry.c:
7992         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7993         * gst/schedulers/threadscheduler.c:
7994         * libs/gst/control/dparammanager.h:
7995         * tools/gst-inspect.c: (print_element_list),
7996         (print_plugin_features), (print_element_features):
7997         * tools/gst-xmlinspect.c: (print_element_list),
7998         (print_plugin_info), (main):
7999         Removed plugable schedulers.
8000         Removed Scheduler/Manager from elements.
8001         Removed gsttypes.h, rearranged includes.
8002         Removed dependency pad<->element, element<>pipeline, and
8003         various others,  fix includes.
8004         implement gst_pad_get_parent() with gst_object_get_parent()
8005         Make GstTask sefcontained.
8006         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8007         timeout.
8008         Fix endless loop in iterator_fold_with_resync.
8009
8010
8011 2005-07-18  Wim Taymans  <wim@fluendo.com>
8012
8013         * gst/Makefile.am:
8014         * gst/gstarch.h:
8015         Remove old file.
8016
8017 2005-07-18  Wim Taymans  <wim@fluendo.com>
8018
8019         * gst/Makefile.am:
8020         No more cothreads.h
8021
8022 2005-07-18  Wim Taymans  <wim@fluendo.com>
8023
8024         * gst/cothreads.c:
8025         * gst/cothreads.h:
8026         Let's remove these.
8027
8028 2005-07-18  Wim Taymans  <wim@fluendo.com>
8029
8030         * docs/design/part-dynamic.txt:
8031         * docs/design/part-events.txt:
8032         * docs/design/part-seeking.txt:
8033         Some more docs in the works.
8034
8035         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8036         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8037         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8038         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8039         (gst_base_transform_handle_buffer),
8040         (gst_base_transform_sink_activate_push),
8041         (gst_base_transform_src_activate_pull),
8042         (gst_base_transform_set_passthrough),
8043         (gst_base_transform_is_passthrough):
8044         Refcounting fixes.
8045
8046         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8047         Cleanups.
8048
8049         * gst/gstevent.c: (gst_event_finalize):
8050         Set SRC to NULL.
8051
8052         * gst/gstutils.c: (gst_element_unlink),
8053         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8054         (gst_pad_proxy_setcaps):
8055         * gst/gstutils.h:
8056         Add _get_parent_element() to get a pads parent as an element.
8057
8058 2005-07-18  Wim Taymans  <wim@fluendo.com>
8059
8060         * check/gst/gstbin.c: (GST_START_TEST):
8061         Remove bogus test.
8062
8063 2005-07-18  Wim Taymans  <wim@fluendo.com>
8064
8065         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8066         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8067         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8068         (gst_base_sink_event), (gst_base_sink_do_sync),
8069         (gst_base_sink_chain), (gst_base_sink_loop),
8070         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8071         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8072         Refcounting fixes.
8073         Fix logic for returning ASYNC when not prerolled.
8074
8075 2005-07-18  Wim Taymans  <wim@fluendo.com>
8076
8077         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8078         Fix nasty refcount bug.
8079
8080 2005-07-16 Philippe Khalaf <burger@speedy.org>
8081
8082         * gst/elements/gstfdsrc.c:
8083         * gst/elements/gstfdsrc.h:
8084         * gst/elements/gstelements.c:
8085         * gst/elements/Makefile.am:
8086         Ported fdsrc to 0.9.
8087
8088 2005-07-16  Wim Taymans  <wim@fluendo.com>
8089
8090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8091         (gst_base_sink_do_sync):
8092         Fix compile error.
8093
8094 2005-07-16  Wim Taymans  <wim@fluendo.com>
8095
8096         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8097         (gst_base_sink_event), (gst_base_sink_get_times),
8098         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8099         * gst/base/gstbasesink.h:
8100         Store and use discont values when syncing buffers as described
8101         in design docs.
8102         
8103         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8104         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8105         (gst_base_src_activate_push):
8106         Push discont event when starting.
8107
8108         * gst/elements/gstidentity.c: (gst_identity_transform):
8109         Small cleanups.
8110
8111         * gst/gstbin.c: (gst_bin_change_state):
8112         Small cleanups in base_time  distribution.
8113
8114         * gst/gstelement.c: (gst_element_set_base_time),
8115         (gst_element_get_base_time), (gst_element_change_state):
8116         * gst/gstelement.h:
8117         Added methods for the base_time of the element.
8118         Some MT fixes.
8119
8120         * gst/gstpipeline.c: (gst_pipeline_send_event),
8121         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8122         (gst_pipeline_get_last_stream_time):
8123         * gst/gstpipeline.h:
8124         MT fixes.
8125         Handle seeking as described in design doc, remove stream_time
8126         hack.
8127         Cleanups clock and stream_time selection code. Added accessors
8128         for the stream_time.
8129         
8130
8131 2005-07-16  Andy Wingo  <wingo@pobox.com>
8132
8133         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8134         (#305291).
8135
8136 2005-07-16  Wim Taymans  <wim@fluendo.com>
8137
8138         * check/gst/gstbin.c: (GST_START_TEST):
8139         Make elements silent as the deep_notify refs the
8140         parent, which might make the test fail.
8141
8142         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8143         Don't hold the lock for too long.
8144
8145 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8146
8147         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8148           Don't unref the caps we passed to gst_caps_make_writable() after
8149           passing them. gst_caps_make_writable() will do that for us.
8150
8151 2005-07-15  Andy Wingo  <wingo@pobox.com>
8152
8153         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8154         (#157311).
8155
8156         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8157         own marshalling function for the handoff signal. Properly type the
8158         buffer as a buffer. Fixes some warnings. Should do a more general
8159         solution.
8160         (gst_identity_class_init): Plug into the right marshaller.
8161
8162 2005-07-15  Wim Taymans  <wim@fluendo.com>
8163
8164         * docs/design/part-TODO.txt:
8165         * docs/design/part-clocks.txt:
8166         * docs/design/part-element-sink.txt:
8167         * docs/design/part-events.txt:
8168         * docs/design/part-gstpipeline.txt:
8169         Updated docs, mostly DISCONT related.
8170
8171 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8172
8173         * docs/pwg/building-pads.xml:
8174           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8175
8176 2005-07-15  Andy Wingo  <wingo@pobox.com>
8177
8178         * tools/gst-typefind.c: Update, add copyright block.
8179
8180         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8181         Normalize and truncate caps before fixation.
8182
8183         * gst/gstcaps.h:
8184         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8185         discards all but the first structure from its argument.
8186
8187 2005-07-15  Wim Taymans  <wim@fluendo.com>
8188
8189         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8190         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8191         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8192         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8193         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8194         (gst_base_transform_chain), (gst_base_transform_change_state),
8195         (gst_base_transform_set_passthrough),
8196         (gst_base_transform_is_passthrough):
8197         * gst/base/gstbasetransform.h:
8198         Make passthrough work using the bufferpools.
8199         Changed API a bit, subclasses have to write into a buffer
8200         provided by the base class.
8201         More debug info in nego functions.
8202         
8203         * gst/elements/gstidentity.c: (gst_identity_init),
8204         (gst_identity_transform):
8205         Port to new base class.
8206
8207 2005-07-15  Wim Taymans  <wim@fluendo.com>
8208
8209         * gst/gstmessage.c: (gst_message_new_state_changed):
8210         * tools/gst-launch.c: (event_loop), (main):
8211         Totally dump messages in -launch with the -m option.
8212         Fix message name for State messages,
8213
8214 2005-07-14  Wim Taymans  <wim@fluendo.com>
8215
8216         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8217         Post error messages on errors.
8218
8219 2005-07-14  Wim Taymans  <wim@fluendo.com>
8220
8221         * gst/gstcaps.c: (gst_caps_do_simplify):
8222         Remove debug info.
8223
8224         * gst/gsterror.h:
8225         Define error for stream stopped.
8226
8227         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8228         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8229         Do proper return values.
8230
8231         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8232         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8233         (gst_pad_get_range):
8234         Better return values.
8235
8236         * gst/gstpad.h:
8237         Reorganise return values, add macro to check for fatal errors.
8238
8239         * gst/gstqueue.c: (gst_queue_chain):
8240         Return proper GstFlowReturn values,
8241
8242 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8243
8244         * docs/gst/gstreamer-sections.txt:
8245         * docs/gst/gstreamer.types:
8246         * docs/gst/tmpl/gst.sgml:
8247         * docs/gst/tmpl/gstbasesink.sgml:
8248         * docs/gst/tmpl/gstbasesrc.sgml:
8249         * docs/gst/tmpl/gstbasetransform.sgml:
8250         * docs/gst/tmpl/gstbin.sgml:
8251         * docs/gst/tmpl/gstbuffer.sgml:
8252         * docs/gst/tmpl/gstcaps.sgml:
8253         * docs/gst/tmpl/gstclock.sgml:
8254         * docs/gst/tmpl/gstcompat.sgml:
8255         * docs/gst/tmpl/gstconfig.sgml:
8256         * docs/gst/tmpl/gstelement.sgml:
8257         * docs/gst/tmpl/gstelementdetails.sgml:
8258         * docs/gst/tmpl/gstelementfactory.sgml:
8259         * docs/gst/tmpl/gstenumtypes.sgml:
8260         * docs/gst/tmpl/gsterror.sgml:
8261         * docs/gst/tmpl/gstevent.sgml:
8262         * docs/gst/tmpl/gstfakesink.sgml:
8263         * docs/gst/tmpl/gstfakesrc.sgml:
8264         * docs/gst/tmpl/gstfilesink.sgml:
8265         * docs/gst/tmpl/gstfilesrc.sgml:
8266         * docs/gst/tmpl/gstfilter.sgml:
8267         * docs/gst/tmpl/gstformat.sgml:
8268         * docs/gst/tmpl/gstghostpad.sgml:
8269         * docs/gst/tmpl/gstimplementsinterface.sgml:
8270         * docs/gst/tmpl/gstindex.sgml:
8271         * docs/gst/tmpl/gstindexfactory.sgml:
8272         * docs/gst/tmpl/gstinfo.sgml:
8273         * docs/gst/tmpl/gstiterator.sgml:
8274         * docs/gst/tmpl/gstmacros.sgml:
8275         * docs/gst/tmpl/gstmemchunk.sgml:
8276         * docs/gst/tmpl/gstminiobject.sgml:
8277         * docs/gst/tmpl/gstobject.sgml:
8278         * docs/gst/tmpl/gstpad.sgml:
8279         * docs/gst/tmpl/gstpadtemplate.sgml:
8280         * docs/gst/tmpl/gstparse.sgml:
8281         * docs/gst/tmpl/gstpipeline.sgml:
8282         * docs/gst/tmpl/gstplugin.sgml:
8283         * docs/gst/tmpl/gstpluginfeature.sgml:
8284         * docs/gst/tmpl/gstquery.sgml:
8285         * docs/gst/tmpl/gstqueue.sgml:
8286         * docs/gst/tmpl/gstregistry.sgml:
8287         * docs/gst/tmpl/gstregistrypool.sgml:
8288         * docs/gst/tmpl/gstscheduler.sgml:
8289         * docs/gst/tmpl/gstschedulerfactory.sgml:
8290         * docs/gst/tmpl/gststructure.sgml:
8291         * docs/gst/tmpl/gstsystemclock.sgml:
8292         * docs/gst/tmpl/gsttaglist.sgml:
8293         * docs/gst/tmpl/gsttagsetter.sgml:
8294         * docs/gst/tmpl/gsttrace.sgml:
8295         * docs/gst/tmpl/gsttrashstack.sgml:
8296         * docs/gst/tmpl/gsttypefind.sgml:
8297         * docs/gst/tmpl/gsttypefindfactory.sgml:
8298         * docs/gst/tmpl/gsttypes.sgml:
8299         * docs/gst/tmpl/gsturihandler.sgml:
8300         * docs/gst/tmpl/gsturitype.sgml:
8301         * docs/gst/tmpl/gstutils.sgml:
8302         * docs/gst/tmpl/gstvalue.sgml:
8303         * docs/gst/tmpl/gstversion.sgml:
8304         * docs/gst/tmpl/gstxml.sgml:
8305         * docs/libs/tmpl/gstcontrol.sgml:
8306         * docs/libs/tmpl/gstdataprotocol.sgml:
8307         * docs/libs/tmpl/gstdparam.sgml:
8308         * docs/libs/tmpl/gstdplinint.sgml:
8309         * docs/libs/tmpl/gstdpman.sgml:
8310         * docs/libs/tmpl/gstdpsmooth.sgml:
8311         * docs/libs/tmpl/gstgetbits.sgml:
8312         * docs/libs/tmpl/gstunitconvert.sgml:
8313         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8314         (gst_push_src_base_init), (gst_push_src_class_init),
8315         (gst_push_src_init), (gst_push_src_create):
8316         * gst/base/gstpushsrc.h:
8317         * gst/elements/gstelements.c:
8318         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8319         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8320         (gst_fake_sink_init), (gst_fake_sink_set_property),
8321         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8322         (gst_fake_sink_event), (gst_fake_sink_preroll),
8323         (gst_fake_sink_render), (gst_fake_sink_change_state):
8324         * gst/elements/gstfakesink.h:
8325         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8326         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8327         (gst_fake_src_base_init), (gst_fake_src_class_init),
8328         (gst_fake_src_init), (gst_fake_src_event_handler),
8329         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8330         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8331         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8332         (gst_fake_src_create_buffer), (gst_fake_src_create),
8333         (gst_fake_src_start), (gst_fake_src_stop):
8334         * gst/elements/gstfakesrc.h:
8335         * gst/elements/gstfilesink.c: (_do_init),
8336         (gst_file_sink_base_init), (gst_file_sink_class_init),
8337         (gst_file_sink_init), (gst_file_sink_dispose),
8338         (gst_file_sink_set_location), (gst_file_sink_set_property),
8339         (gst_file_sink_get_property), (gst_file_sink_open_file),
8340         (gst_file_sink_close_file), (gst_file_sink_query),
8341         (gst_file_sink_event), (gst_file_sink_render),
8342         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8343         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8344         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8345         * gst/elements/gstfilesink.h:
8346         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8347         (gst_file_src_class_init), (gst_file_src_init),
8348         (gst_file_src_finalize), (gst_file_src_set_location),
8349         (gst_file_src_set_property), (gst_file_src_get_property),
8350         (gst_file_src_map_region), (gst_file_src_map_small_region),
8351         (gst_file_src_create_mmap), (gst_file_src_create_read),
8352         (gst_file_src_create), (gst_file_src_is_seekable),
8353         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8354         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8355         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8356         (gst_file_src_uri_handler_init):
8357         * gst/elements/gstfilesrc.h:
8358           more autistic cleanliness in functions/names/defines
8359
8360 2005-07-13  Andy Wingo  <wingo@pobox.com>
8361
8362         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8363         source couldn't negotiate.
8364
8365         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8366         connections again.
8367
8368         * gst/gstutils.h:
8369         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8370         function. I am channeling Hades. Put your boots on suckers!!!
8371
8372 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8373
8374         * testsuite/caps/Makefile.am:
8375         * testsuite/caps/value_compare.c:
8376         * testsuite/caps/value_intersect.c:
8377         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8378           move two testsuite apps over to the check dir
8379
8380 2005-07-12  Wim Taymans  <wim@fluendo.com>
8381
8382         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8383         Added more debug info in the negotiate process.
8384
8385         * gst/gstmessage.h:
8386         Prepare for segment playback.
8387
8388         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8389         Better debugging.
8390
8391         * gst/gstutils.c:
8392         Some more docs.
8393
8394         * tools/gst-launch.c: (main):
8395         NULL pipeline on errors.
8396
8397 2005-07-12  Andy Wingo  <wingo@pobox.com>
8398
8399         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8400         not it comes from a malloc region. Make sure our copy gets freed.
8401
8402 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8403
8404         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8405         * check/gst/gstmessage.c: (GST_START_TEST):
8406         * check/gst/gststructure.c: (GST_START_TEST),
8407         (gst_structure_suite), (main):
8408           more testing
8409         * gst/gstelement.c: (gst_element_message_full):
8410           clean up GError and debug string now that they get copied
8411         * gst/gstmessage.c: (gst_message_new_error),
8412         (gst_message_new_warning), (gst_message_parse_error),
8413         (gst_message_parse_warning):
8414           use GST_TYPE_G_ERROR for structure_new, and take copies of
8415           arguments, so that we don't mess up refcounting
8416
8417 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8418
8419         * check/Makefile.am:
8420           add per-test valgrind targets
8421         * check/gst-libs/gdp.c: (GST_START_TEST),
8422         (gst_data_protocol_suite), (main):
8423           clean up
8424
8425 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8426
8427         * check/Makefile.am:
8428           instate more valgrindable tests
8429         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8430         (GST_START_TEST), (fakesrc_suite):
8431         * check/gst/gstpad.c: (GST_START_TEST):
8432         * check/gst/gststructure.c: (GST_START_TEST):
8433           fix test leaks
8434         * docs/gst/tmpl/gstminiobject.sgml:
8435         * gst/gstpad.c: (gst_pad_finalize):
8436           fix the static mutex leak
8437
8438 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8439
8440         * check/Makefile.am:
8441           add two more tests for valgrinding
8442         * check/gst/gstvalue.c: (GST_START_TEST):
8443           test refcount of deserialized buffer, found a leak
8444         * docs/gst/gstreamer-docs.sgml:
8445         * docs/gst/gstreamer-sections.txt:
8446         * docs/gst/gstreamer.types:
8447         * docs/gst/tmpl/gstminiobject.sgml:
8448           add miniobject to docs
8449         * gst/gstminiobject.c:
8450           add some docs
8451         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8452         (gst_string_unwrap):
8453           fix a hard-to-find invalid write for one of the tests
8454           fix a leak for deserialized buffers
8455
8456 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8457
8458         * docs/pwg/advanced-events.xml:
8459         * docs/pwg/advanced-request.xml:
8460         * docs/pwg/advanced-scheduling.xml:
8461         * docs/pwg/appendix-porting.xml:
8462         * docs/pwg/building-boiler.xml:
8463         * docs/pwg/intro-preface.xml:
8464         * docs/pwg/other-ntoone.xml:
8465           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8466           of example code and explanation for pad activation, loop() and
8467           getrange() functions and a bit more. Remove old comments pointing
8468           to loop-functions.
8469         * examples/pwg/Makefile.am:
8470           Add loop/getrange examples.
8471
8472 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8473
8474         * configure.ac:
8475           check for valgrind binary + some fixes
8476         * check/gst.supp:
8477           valgrind suppressions for the tests
8478         * check/Makefile.am:
8479           add a valgrind: target that valgrinds the unit tests
8480         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8481         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8482         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8483         * check/gst/gstghostpad.c:
8484           added some cleanup
8485         * check/gst/gstdata.c:
8486           removed
8487         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8488         (thread_unref), (gst_mini_object_suite), (main):
8489           added
8490         * gst/gst.c: (gst_deinit):
8491         * gst/gst.h:
8492           add a method to clean up.
8493         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8494         (gst_system_clock_obtain):
8495           allow for disposing the system clock.
8496         * tools/gst-launch.c: (main):
8497           deinit
8498
8499 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8500
8501         * docs/gst/tmpl/gstbasesrc.sgml:
8502         * docs/gst/tmpl/gstfakesrc.sgml:
8503         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8504         (gst_base_src_init), (gst_base_src_set_property),
8505         (gst_base_src_get_property), (gst_base_src_get_range),
8506         (gst_base_src_start):
8507         * gst/base/gstbasesrc.h:
8508           add num-buffers property
8509         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8510         (gst_fakesrc_init), (gst_fakesrc_set_property),
8511         (gst_fakesrc_get_property), (gst_fakesrc_create),
8512         (gst_fakesrc_start):
8513           remove num-buffers property
8514
8515 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8516
8517         * docs/gst/gstreamer-sections.txt:
8518         * docs/gst/tmpl/gstbasesink.sgml:
8519         * docs/gst/tmpl/gstbasesrc.sgml:
8520         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8521         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8522         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8523         (gst_base_sink_set_property), (gst_base_sink_get_property),
8524         (gst_base_sink_handle_object), (gst_base_sink_event),
8525         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8526         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8527         (gst_base_sink_loop), (gst_base_sink_deactivate),
8528         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8529         (gst_base_sink_change_state):
8530         * gst/base/gstbasesink.h:
8531         * gst/base/gstbasesrc.h:
8532         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8533         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8534         (gst_filesink_init):
8535           more macro splitting
8536
8537 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8538
8539         * gst/gstelement.c: (gst_element_get_bus):
8540           add debug
8541         * tools/gst-launch.c: (check_intr), (event_loop):
8542           fix bus leaks
8543
8544 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8545
8546         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8547           fix a caps leak
8548
8549 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8550
8551         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8552         (gst_base_src_finalize):
8553           add finalize method and clean up properly
8554         * gst/gstpipeline.c: (gst_pipeline_dispose):
8555           add debug
8556
8557 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8558
8559         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8560         (gst_bin_suite):
8561           add more things to check
8562         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8563         * gst/gstelement.c:
8564           more debug
8565
8566 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8567
8568         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8569         (GST_START_TEST), (fakesrc_suite):
8570         * check/gst-libs/gdp.c: (GST_START_TEST):
8571         * check/gst/gst.c: (GST_START_TEST):
8572         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8573         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8574         * check/gst/gstbus.c: (GST_START_TEST):
8575         * check/gst/gstcaps.c: (GST_START_TEST):
8576         * check/gst/gstdata.c: (GST_START_TEST):
8577         * check/gst/gstelement.c: (GST_START_TEST):
8578         * check/gst/gstghostpad.c: (GST_START_TEST):
8579         * check/gst/gstiterator.c: (GST_START_TEST):
8580         * check/gst/gstmessage.c: (GST_START_TEST):
8581         * check/gst/gstobject.c: (GST_START_TEST):
8582         * check/gst/gstpad.c: (GST_START_TEST):
8583         * check/gst/gststructure.c: (GST_START_TEST):
8584         * check/gst/gstsystemclock.c: (GST_START_TEST),
8585         (gst_systemclock_suite):
8586         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8587         * check/gst/gstvalue.c: (GST_START_TEST):
8588         * check/pipelines/cleanup.c: (GST_START_TEST):
8589         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8590         * check/states/sinks.c: (GST_START_TEST):
8591         * check/gstcheck.c: (gst_check_init):
8592         * check/gstcheck.h:
8593           add debugging category
8594           use GST_START_TEST now, so we add a debug line
8595
8596 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8599           add test for state change message on a bin
8600         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8601           add another test
8602         * gst/gstbin.c: (gst_bin_init):
8603         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8604         * gst/gstelement.c: (gst_element_post_message),
8605         (gst_element_set_state):
8606         * gst/gstelementfactory.c: (gst_element_factory_create):
8607         * gst/gstmessage.c: (gst_message_new):
8608         * gst/gstscheduler.c:
8609           various debugging additions and cleanups
8610
8611 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8612
8613         * check/Makefile.am:
8614         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8615         (main):
8616           adding tests for elements
8617         * gst/gstelement.c: (gst_element_dispose):
8618
8619 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8620
8621         * gst/registries/gstlibxmlregistry.c: (load_feature):
8622           plug more leaks.  A simple gst_init() now is leakfree, yay.
8623
8624 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8625
8626         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8627         (gst_xml_registry_load):
8628           plug another memleak
8629
8630 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8631
8632         * configure.ac:
8633           use GST_SET_ERROR_CFLAGS
8634         * docs/faq/cvs.xml:
8635           change to ERROR_CFLAGS
8636
8637 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8638
8639         * configure.ac:
8640           make GST_ERROR_CFLAGS overridable and re-enable Werror
8641         * docs/faq/cvs.xml:
8642           add a note about error CFLAGS
8643         * docs/gst/tmpl/gstfakesrc.sgml:
8644         * gst/elements/gstfakesrc.c:
8645           comment out some unused code
8646         * gst/gst.c: (split_and_iterate):
8647         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8648         (load_feature):
8649           plug some memleaks
8650
8651 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8652
8653         * common/Makefile.am:
8654         * common/gtk-doc.mak:
8655         * docs/gst/Makefile.am:
8656           factor out gtk-doc.mak
8657
8658 2005-07-07  Wim Taymans  <wim@fluendo.com>
8659
8660         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8661         (gst_thread_scheduler_dispose):
8662         Unlock the STREAM_LOCK completely.
8663
8664 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8665
8666         * check/Makefile.am:
8667         * check/elements/.cvsignore:
8668         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8669         (START_TEST), (fakesrc_suite), (main):
8670         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8671         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8672         (gst_fakesrc_create), (gst_fakesrc_start):
8673         * gst/elements/gstfakesrc.h:
8674           adding a first element test
8675
8676 2005-07-07  Andy Wingo  <wingo@pobox.com>
8677
8678         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8679         debug message.
8680
8681 2005-07-07  Wim Taymans  <wim@fluendo.com>
8682
8683         * gst/gstquery.c:
8684         * gst/gstquery.h:
8685         Remove old types
8686
8687 2005-07-07  Wim Taymans  <wim@fluendo.com>
8688
8689         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8690         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8691         Allow subclasses to implement their own negotiation.
8692
8693 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8694
8695         * docs/design/part-gstbin.txt:
8696         * docs/design/part-gstpipeline.txt:
8697           Update design notes to reflect the movement of
8698           responsibility for bus handling from GstPipeline to
8699           GstBin
8700
8701 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8702
8703         * configure.ac:
8704           Remove unnecessary queue2/3/4 examples.
8705
8706 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8707
8708         * examples/Makefile.am:
8709         * examples/helloworld/helloworld.c: (event_loop), (main):
8710         * examples/queue/queue.c: (event_loop), (main):
8711         * examples/queue2/queue2.c: (main):
8712           Update a couple of the examples to work again.
8713
8714         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8715         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8716          Spelling corrections and extra debug.
8717         
8718         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8719         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8720         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8721         * gst/gstbin.h:
8722         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8723         (gst_pipeline_change_state):
8724         * gst/gstpipeline.h:
8725           Move the bus handler for children to the GstBin, and create a
8726           separate bus for receiving messages from children to the one the
8727           bus sends 'upwards' on.
8728
8729 2005-07-06  Wim Taymans  <wim@fluendo.com>
8730
8731         * gst/base/README:
8732         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8733         (gst_base_sink_handle_object), (gst_base_sink_loop),
8734         (gst_base_sink_change_state):
8735         * gst/base/gstbasesink.h:
8736         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8737         (gst_base_src_init), (gst_base_src_setcaps),
8738         (gst_base_src_getcaps), (gst_base_src_loop),
8739         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8740         (gst_base_src_start), (gst_base_src_change_state):
8741         * gst/base/gstbasesrc.h:
8742         Make basesrc negotiate.
8743         Handle the case where preroll fails in basesink.
8744         Update README.
8745
8746 2005-07-06  Wim Taymans  <wim@fluendo.com>
8747
8748         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8749         Implement the fixate function.
8750         Clean up acceptcaps.
8751
8752 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8753
8754         * docs/pwg/building-filterfactory.xml:
8755         * docs/pwg/pwg.xml:
8756           Remove never-written filter-factory chapter; I'll add the various
8757           base classes to part 4 ("other element types") later on.
8758
8759 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8760
8761         * docs/pwg/advanced-negotiation.xml:
8762         * docs/pwg/building-boiler.xml:
8763         * docs/pwg/building-pads.xml:
8764         * docs/pwg/pwg.xml:
8765         * examples/pwg/Makefile.am:
8766           Add a chapter on caps negotiation, simplify the original code
8767           samples a bit w.r.t. caps negotiation, add link to the advanced
8768           section. Add a bunch of examples showing different use cases of
8769           different types of caps negotiation. Upstream renegotiation isn't
8770           fully documented yet since nobody knows how that works.
8771
8772 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8773
8774         * check/gst/gstpad.c:
8775         * check/gstcheck.c:
8776         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8777           if pad has no parent, return NULL as list of internal links
8778
8779 2005-07-05  Andy Wingo  <wingo@pobox.com>
8780
8781         * gst/elements/gstfilesrc.c:
8782         * gst/elements/gstfakesrc.c: 
8783         * gst/base/gstpushsrc.c:
8784         * gst/base/gstbasesrc.h: 
8785         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8786         
8787 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8788
8789         * Makefile.am:
8790           better report generation target (lcov needs a patch)
8791
8792 2005-07-05  Andy Wingo  <wingo@pobox.com>
8793
8794         * gst/elements, testsuite: Null if we got it...
8795
8796 2005-07-05  Wim Taymans  <wim@fluendo.com>
8797
8798         * configure.ac:
8799         * libs/gst/dataprotocol/Makefile.am:
8800         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8801         * libs/gst/dataprotocol/dataprotocol.h:
8802         * pkgconfig/Makefile.am:
8803         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8804         * pkgconfig/gstreamer-dataprotocol.pc.in:
8805         Ported dataprotol to 0.9. 
8806         Added pkgconfig files.
8807
8808 2005-07-05  Andy Wingo  <wingo@pobox.com>
8809
8810         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8811         Default to returning TRUE for the case when tranform_caps returns
8812         a fixed caps, like for identity or volume.
8813
8814         * check/gst/gstbus.c (pound_bus_with_messages): 
8815         * check/gst/gstmessage.c (START_TEST): 
8816         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8817         message API change.
8818
8819         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8820         logic weaks here: always run transform_caps, trying passthrough
8821         operation only if the original caps intersects with the transform.
8822
8823         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8824         source and sink caps.
8825
8826         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8827         Intersect the peer caps with the pad template before going into
8828         transform_caps.
8829         (gst_base_transform_transform_caps): More debugging.
8830
8831         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8832         src argument.
8833
8834 2005-07-04  Edward Hervey  <edward@fluendo.com>
8835
8836         * gst/gstutils.c:
8837         * gst/gstutils.h:
8838         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8839         in bindings.
8840
8841 2005-07-04  Andy Wingo  <wingo@pobox.com>
8842
8843         * check/gst/gstpad.c: Only set explicit caps on pads.
8844
8845 2005-07-01  Andy Wingo  <wingo@pobox.com>
8846
8847         * tests/network-clock.scm: Commentary update.
8848
8849         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8850         Didn't really make sense, not implementable with basetransform,
8851         etc.
8852         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8853         attempt at implementing the sync property, needs an unlock method.
8854
8855         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8856         New func, by default returns the same caps (the identity
8857         transformation).
8858         (gst_base_transform_getcaps): Uses transform_caps to return
8859         something sensible.
8860         (gst_base_transform_setcaps): Complicated logic to get caps on
8861         both pads, even if they are different, and to call set_caps once
8862         for every time both pads get their caps set.
8863         (gst_base_transform_handle_buffer): Give the ref to the transform
8864         function. Allows in-place modification of the buffer.
8865
8866         * gst/base/gstbasetransform.h (transform_caps): New class method.
8867         Given caps on one side, what can I do on the other.
8868         (set_caps): Take two caps, one for each side of the element.
8869
8870         * gst/gstpad.h:
8871         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8872         caps in place. This is safe because we can check the mutability of
8873         the caps, and a good idea because fixate functions are just called
8874         as a matter of last resort. (Not actually implemented.)
8875         (gst_pad_set_caps): If the caps we're setting is actually the same
8876         as the existing pad caps, just update the pointer without calling
8877         setcaps. Assert that caps is either NULL or fixed, as per the
8878         docs.
8879
8880         * gst/gstghostpad.c: Update for fixate changes.
8881
8882 2005-07-02  Andy Wingo  <wingo@pobox.com>
8883
8884         * gst/gstcaps.c:
8885         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8886         two refcounts makes it immutable, which is enough. Doc more.
8887
8888 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8889
8890         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8891           Put the mini_object into GValue as a mini_object,
8892           not a gpointer, since that's how we declared
8893           the signal.
8894
8895 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8896
8897         * examples/pwg/Makefile.am:
8898           Fix buildbot again.
8899
8900 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8901
8902         * docs/pwg/building-testapp.xml:
8903           Add extra check.
8904         * examples/pwg/Makefile.am:
8905           Fix buildbot.
8906
8907 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8908
8909         * configure.ac:
8910         * examples/Makefile.am:
8911         * examples/pwg/Makefile.am:
8912         * examples/pwg/extract.pl:
8913           Enable building the PWG examples.
8914         * docs/pwg/advanced-interfaces.xml:
8915           Add URI interface stub.
8916         * docs/pwg/advanced-types.xml:
8917         * docs/pwg/other-autoplugger.xml:
8918         * docs/pwg/appendix-porting.xml:
8919         * docs/pwg/pwg.xml:
8920           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8921         * docs/pwg/building-boiler.xml:
8922         * docs/pwg/building-chainfn.xml:
8923         * docs/pwg/building-pads.xml:
8924         * docs/pwg/building-props.xml:
8925         * docs/pwg/building-state.xml:
8926         * docs/pwg/building-testapp.xml:
8927           Update the building-*.xml parts for 0.9 changes. All examples
8928           code blocks compile in examples/pwg/*.
8929
8930 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8931
8932         * docs/manual/advanced-autoplugging.xml:
8933         * docs/manual/appendix-checklist.xml:
8934         * docs/manual/appendix-integration.xml:
8935         * docs/manual/highlevel-components.xml:
8936           Fix playbin/decodebin examples, update docs a bit, mention bus
8937           instead of signals in various places, mention kmplayer and
8938           kaffeine since they have a working GStreamer backend in the KDE
8939           section.
8940
8941 2005-06-30  Wim Taymans  <wim@fluendo.com>
8942
8943         * CHANGES-0.9:
8944         * docs/design/draft-ghostpads.txt:
8945         * docs/design/draft-push-pull.txt:
8946         * docs/design/draft-query.txt:
8947         * docs/design/part-TODO.txt:
8948         * docs/design/part-query.txt:
8949         Added CHANGES-0.9 doc, updated status of other docs.
8950         
8951         * gst/gstquery.h:
8952         Remove "hmm" macro
8953
8954 2005-06-30  Wim Taymans  <wim@fluendo.com>
8955
8956         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8957         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8958         (gst_base_sink_change_state):
8959         * gst/base/gstbasesink.h:
8960         Some tweaks, only EOS and a buffer complete a preroll.
8961
8962 2005-06-30  Andy Wingo  <wingo@pobox.com>
8963
8964         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8965         activate_push down to the internal pad as well.
8966
8967 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8968
8969         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8970
8971         * gst/gsttaginterface.c:
8972           Some documentation fixes (#307394 and #307397).
8973
8974 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8975
8976         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8977
8978         * gst/gstvalue.c: (gst_value_intersect_list):
8979           Fix memleak (#309125).
8980
8981 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8982
8983         * docs/manual/advanced-dataaccess.xml:
8984           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8985         * docs/manual/basics-pads.xml:
8986           Add reference for filtered caps to above chapter.
8987
8988 2005-06-30  Wim Taymans  <wim@fluendo.com>
8989
8990         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8991         (gst_bin_change_state):
8992         Probes are gone.
8993         Lame attempt at making the state change function a bit
8994         more readable.
8995
8996 2005-06-30  Wim Taymans  <wim@fluendo.com>
8997
8998         * docs/design/part-clocks.txt:
8999         * docs/design/part-element-sink.txt:
9000         * docs/design/part-events.txt:
9001         * docs/design/part-preroll.txt:
9002         * docs/design/part-states.txt:
9003         Some more tweeks and additions to the docs.
9004
9005 2005-06-30  Wim Taymans  <wim@fluendo.com>
9006
9007         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9008         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9009         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9010         (gst_pad_check_pull_range), (gst_pad_get_range),
9011         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9012         * gst/gstpad.h:
9013         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9014         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9015         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9016         (gst_pad_remove_buffer_probe):
9017         Removed atomic operations, use existing LOCK.
9018         Move exception handling out of main code path.
9019
9020 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9021
9022         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9023         (silly_return_true_function), (gst_pad_class_init),
9024         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9025         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9026         (gst_pad_send_event):
9027           Fix accumulator, add default value by using _emitv() instead
9028           of _emit() for signal emission.
9029
9030 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9031
9032         * docs/manual/advanced-dataaccess.xml:
9033         * examples/manual/Makefile.am:
9034           Add probe example.
9035         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9036           Make work (??).
9037
9038 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9039
9040         * gst/elements/gstfilesink.c: (gst_filesink_render):
9041           Simplify code so that we don't have to handle short
9042           writes and return GST_FLOW_ERROR if an error occured.
9043
9044 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9045
9046         * docs/gst/gstreamer-docs.sgml:
9047           Remove probes more.
9048
9049 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9050
9051         * docs/gst/gstreamer-sections.txt:
9052         * docs/gst/tmpl/gstpad.sgml:
9053         * docs/gst/tmpl/gstprobe.sgml:
9054         * gst/Makefile.am:
9055         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9056         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9057         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9058         (gst_pad_push_event), (gst_pad_send_event):
9059         * gst/gstpad.h:
9060         * gst/gstutils.c: (gst_pad_add_data_probe),
9061         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9062         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9063         (gst_pad_remove_buffer_probe):
9064         * gst/gstutils.h:
9065           Remove old probes, add new g-signal-based probes and some utility
9066           functions.
9067
9068 2005-06-29  Edward Hervey  <edward@fluendo.com>
9069
9070         * gst/gstelementfactory.c:
9071         * gst/gstutils.h:
9072         * gst/gstutils.c:
9073         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9074         the definition to the header file.
9075
9076 2005-06-29  Andy Wingo  <wingo@pobox.com>
9077
9078         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9079         plugins from the source directory.
9080
9081 2005-06-29  Wim Taymans  <wim@fluendo.com>
9082
9083         * docs/gst/tmpl/gstbuffer.sgml:
9084         * docs/gst/tmpl/gstclock.sgml:
9085         Some fixings for blantently wrong text.
9086
9087 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9088
9089         * check/Makefile.am:
9090         * gst/gst.c: (add_path_func), (init_pre):
9091         * gst/gstregistry.c: (gst_registry_add_path):
9092           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9093           only scan the GST_PLUGIN_PATH locations, and not add
9094           system locations
9095
9096 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9097
9098         * docs/gst/gstreamer-sections.txt:
9099         * docs/gst/tmpl/gstbasesrc.sgml:
9100         * gst/gstelement.c:
9101         * gst/gstelement.h:
9102         * gst/gstevent.c:
9103         * gst/gstutils.c:
9104           doc fixes
9105
9106 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9107
9108         * docs/manual/advanced-autoplugging.xml:
9109           Fix autoplugging example.
9110
9111 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9112
9113         * docs/manual/advanced-autoplugging.xml:
9114         * docs/manual/mime-world.fig:
9115           Try to get autoplugging working, fix type detection. Fix text
9116           in hello-world image.
9117
9118 2005-06-29  Wim Taymans  <wim@fluendo.com>
9119
9120         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9121         (gst_base_sink_change_state):
9122         Small debug line.
9123
9124         * gst/gstclock.h:
9125         map SIGNAL and BROADCAST to the right function.
9126
9127         * gst/gstobject.h:
9128         Remove redundant braces.
9129
9130         * gst/gstpad.c: (gst_pad_set_caps):
9131         Don't call setcaps function when reseting caps to NULL.
9132
9133         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9134         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9135         (gst_system_clock_id_unschedule):
9136         Use BROADCAST as this is what we do.
9137
9138 2005-06-29  Wim Taymans  <wim@fluendo.com>
9139
9140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9141         We are actually prerolling before commiting the state
9142         change. 
9143
9144 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9145
9146         * docs/manual/advanced-clocks.xml:
9147         * docs/manual/advanced-interfaces.xml:
9148         * docs/manual/advanced-metadata.xml:
9149         * docs/manual/advanced-position.xml:
9150         * docs/manual/advanced-schedulers.xml:
9151         * docs/manual/advanced-threads.xml:
9152         * docs/manual/appendix-porting.xml:
9153         * docs/manual/basics-bins.xml:
9154         * docs/manual/basics-bus.xml:
9155         * docs/manual/basics-elements.xml:
9156         * docs/manual/basics-helloworld.xml:
9157         * docs/manual/basics-pads.xml:
9158         * docs/manual/highlevel-components.xml:
9159         * docs/manual/manual.xml:
9160         * docs/manual/thread.fig:
9161           Update (until threads/scheduling) Application Development Manual;
9162           remove GstThread, add GstBus, add simple porting checklist, add
9163           documentation for tag writing, clocks, make all examples until this
9164           part compile and run.
9165         * examples/manual/Makefile.am:
9166           Update from changes to Application Development Manual; add bus
9167           example, remove thread example.
9168
9169 2005-06-28  Wim Taymans  <wim@fluendo.com>
9170
9171         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9172         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9173         (gst_bus_source_dispatch):
9174         Add debugging messages.
9175         Make internal methods static.
9176         Handle the case where the bus is flushed in the handler.
9177         
9178         * gst/gstelement.c: (gst_element_get_bus):
9179         Fix refcount in _get_bus();
9180
9181         * gst/gstpipeline.c: (gst_pipeline_change_state),
9182         (gst_pipeline_get_clock_func):
9183         Clock refcounting fixes.
9184         Handle the case where preroll timed out more gracefully.
9185         
9186         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9187         Clean up the internal thread in dispose. This is needed
9188         for subclasses that actually get disposed.
9189         
9190         * gst/schedulers/threadscheduler.c:
9191         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9192         (gst_thread_scheduler_dispose):
9193         Free thread pool in dispose.
9194
9195 2005-06-28  Andy Wingo  <wingo@pobox.com>
9196
9197         * tests/network-clock-utils.scm (debug, print-event): New utils.
9198
9199         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9200         (*packet-loss*): Unified loss probability.
9201         (network-time): Report out-of-band events.
9202
9203         * tests/plot-data: Add support for out-of-band events. Hack it
9204         into this script instead of passing it down the pipe; should fix
9205         this later.
9206
9207 2005-06-28  Wim Taymans  <wim@fluendo.com>
9208
9209         * docs/gst/gstreamer.types:
9210         * docs/gst/tmpl/gstbasesrc.sgml:
9211         * docs/gst/tmpl/gstpad.sgml:
9212         Docs fixes.
9213
9214 2005-06-28  Wim Taymans  <wim@fluendo.com>
9215
9216         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9217         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9218         (gst_proxy_pad_do_fixatecaps):
9219         Correctly proxy the check_pull_range function.
9220
9221 2005-06-28  Andy Wingo  <wingo@pobox.com>
9222
9223         * tests/network-clock.scm: Removed need for slib.
9224         
9225 2005-06-28  Wim Taymans  <wim@fluendo.com>
9226
9227         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9228         (gst_basesink_preroll_queue_flush):
9229         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9230         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9231         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9232         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9233         (gst_proxy_pad_set_property):
9234         * gst/gstpad.c:
9235         * gst/gstpad.h:
9236         * gst/gstqueue.c: (gst_queue_init):
9237         The deprecated pad loop function is removed now.
9238
9239 2005-06-28  Andy Wingo  <wingo@pobox.com>
9240
9241         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9242         New parameters, simulate network packet loss.
9243
9244         * tests/network-clock-utils.scm: Initialize the RNG.
9245
9246 2005-06-28  Wim Taymans  <wim@fluendo.com>
9247
9248         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9249         (gst_basesink_event), (gst_basesink_deactivate):
9250         Flushing the preroll queue always needs to unlock the waiters.
9251
9252 2005-06-28  Edward Hervey  <edward@fluendo.com>
9253
9254         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9255         Wheen a seek was successful on a pipeline, set the stream_time to the
9256         seek offset in order to have a synchronized stream_time.
9257
9258 2005-06-28  Wim Taymans  <wim@fluendo.com>
9259
9260         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9261         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9262         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9263         (gst_proxy_pad_do_fixatecaps):
9264         Call wrapper function instead of just calling the function
9265         pointers. This takes care of any locking and whatmore.
9266
9267 2005-06-28  Wim Taymans  <wim@fluendo.com>
9268
9269         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9270         (gst_pad_pull_range):
9271         * gst/gstpad.h:
9272         CONNECTED -> LINKED.
9273
9274 2005-06-28  Andy Wingo  <wingo@pobox.com>
9275
9276         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9277         source-munging commit!!!
9278
9279         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9280         (gst_object_sink): Take gpointer arguments, not GstObject --
9281         avoids casts. Like GLib.
9282
9283         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9284         activate.
9285
9286 2005-06-27  Andy Wingo  <wingo@pobox.com>
9287
9288         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9289         remaining buffer.
9290
9291         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9292         returns a sorted copy of the trace list.
9293         (gst_alloc_trace_print_live): New API, only prints traces with
9294         live objects. Sort the list.
9295         (gst_alloc_trace_print_all): Sort the list.
9296         (gst_alloc_trace_print): Align columns.
9297
9298         * gst/elements/gstttypefindelement.c:
9299         * gst/elements/gsttee.c:
9300         * gst/base/gstbasesrc.c:
9301         * gst/base/gstbasesink.c:
9302         * gst/base/gstbasetransform.c:
9303         * gst/gstqueue.c: Adapt for pad activation changes.
9304
9305         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9306         sched.
9307         (gst_pipeline_dispose): Drop ref on sched.
9308
9309         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9310         (gst_pad_activate_default): Push mode by default.
9311         (pre_activate_switch, post_activate_switch): New stubs, things to
9312         do before and after switching activation modes on pads.
9313         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9314         the pad's activate function to choose which mode to activate.
9315         Shortcut on deactivation and call the right function directly.
9316         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9317         mode.
9318         (gst_pad_activate_push): New API, same for push mode.
9319         (gst_pad_set_activate_function) 
9320         (gst_pad_set_activatepull_function) 
9321         (gst_pad_set_activatepush_function): Setters for new API.
9322
9323         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9324         Trace all miniobjects.
9325         (gst_mini_object_make_writable): Unref the arg if we copy, like
9326         gst_caps_make_writable.
9327
9328         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9329
9330         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9331         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9332         Adapt for new pad API.
9333
9334         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9335
9336         * gst/gstelement.h:
9337         * gst/gstelement.c (gst_element_iterate_src_pads) 
9338         (gst_element_iterate_sink_pads): New API functions.
9339         
9340         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9341         should fold into gstiterator.c in some form.
9342         (gst_element_pads_activate): Simplified via use of fold and
9343         delegation of decisions to gstpad->activate.
9344
9345         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9346         help in debugging.
9347
9348         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9349         class once in init, like gstmessage. Didn't run into this issue
9350         but it seems correct. Don't initialize a trace, gstminiobject does
9351         that.
9352
9353         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9354         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9355         to the bus.
9356         (assert_live_count): New util function, uses alloc traces to check
9357         cleanup.
9358
9359         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9360         To be modified when unlink drops the internal pad.
9361
9362 2005-06-27  Wim Taymans  <wim@fluendo.com>
9363
9364         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9365         (gst_bin_change_state):
9366         Cleanup the get_state() function a little, make sure it
9367         iterates the same set of elements.
9368         Added stub iterate_state_order().
9369
9370 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9371
9372         * docs/gst/gstreamer-docs.sgml:
9373         * docs/gst/gstreamer-sections.txt:
9374         * docs/gst/gstreamer.types:
9375         * docs/gst/tmpl/gstbasesink.sgml:
9376         * docs/gst/tmpl/gstbasesrc.sgml:
9377         * docs/gst/tmpl/gstbasetransform.sgml:
9378         * docs/gst/tmpl/gstelement.sgml:
9379         * docs/gst/tmpl/gstiterator.sgml:
9380         * gst/base/gstbasesrc.c:
9381         * gst/base/gstbasesrc.h:
9382         * gst/base/gstbasetransform.h:
9383         * gst/gstelement.c:
9384         * gst/gstiterator.h:
9385           adding basetransform and iterator docs
9386
9387 2005-06-27  Andy Wingo  <wingo@pobox.com>
9388
9389         * docs/design/part-activation.txt: Notes on how activation should
9390         work -- not quite implemented yet.
9391
9392 2005-06-25  Wim Taymans  <wim@fluendo.com>
9393
9394         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9395         At least get the chain function correct, needs more
9396         fixing.
9397
9398 2005-06-25  Wim Taymans  <wim@fluendo.com>
9399
9400         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9401         (gst_basesink_handle_object), (gst_basesink_event),
9402         (gst_basesink_do_sync), (gst_basesink_handle_event),
9403         (gst_basesink_change_state):
9404         * gst/gsttask.h:
9405         Right, two problems here: ghostpads don't take locks and
9406         glib _rec_mutex_lock_full() with depth==0 still locks.
9407         Catch illegal locking and g_warn them.
9408
9409 2005-06-25  Wim Taymans  <wim@fluendo.com>
9410
9411         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9412         Have to check for completion now...
9413
9414 2005-06-25  Wim Taymans  <wim@fluendo.com>
9415
9416         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9417         (gst_basesink_handle_object), (gst_basesink_event),
9418         (gst_basesink_do_sync), (gst_basesink_handle_event),
9419         (gst_basesink_change_state):
9420         * gst/gstpad.h:
9421         Unlock STREAM_LOCK whatever the recursion was.
9422
9423 2005-06-25  Wim Taymans  <wim@fluendo.com>
9424
9425         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9426         (gst_basesink_preroll_queue_empty),
9427         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9428         (gst_basesink_event), (gst_basesink_do_sync),
9429         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9430         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9431         (gst_basesink_change_state):
9432         Reworked the base sink, handle event and buffer serialisation
9433         correctly and removed possible deadlock.
9434         Handle EOS correctly.
9435
9436 2005-06-25  Wim Taymans  <wim@fluendo.com>
9437
9438         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9439         (gst_pipeline_change_state):
9440         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9441         Allow elements to post EOS in the state change function.
9442         Fix up -launch, make it exit the poll loop when the
9443         pipeline actually changed state.
9444         Fix up warning parsing in -launch.
9445
9446 2005-06-25  Wim Taymans  <wim@fluendo.com>
9447
9448         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9449         (gst_tee_sink_activate):
9450         Core takes STREAM_LOCK for us now.
9451
9452 2005-06-25  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/gstelement.c: (gst_element_get_state_func),
9455         (gst_element_set_state):
9456         * gst/gstelement.h:
9457         * gst/gstmessage.c: (gst_message_parse_error),
9458         (gst_message_parse_warning):
9459         Keep track of current target state while performing a state
9460         change so that subclasses can do something interesting.
9461         Fix parsing of warning/error messages when GError is NULL.
9462
9463 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9464
9465         * docs/gst/Makefile.am:
9466         * docs/gst/gstreamer-docs.sgml:
9467         * docs/gst/gstreamer-sections.txt:
9468         * docs/gst/gstreamer.types:
9469         * docs/gst/tmpl/gstbasesink.sgml:
9470         * docs/gst/tmpl/gstbasesrc.sgml:
9471         * docs/gst/tmpl/gstbin.sgml:
9472         * docs/gst/tmpl/gstcompat.sgml:
9473         * docs/gst/tmpl/gstfakesink.sgml:
9474         * docs/gst/tmpl/gstfakesrc.sgml:
9475         * docs/gst/tmpl/gstfilesink.sgml:
9476         * docs/gst/tmpl/gstfilesrc.sgml:
9477         * docs/gst/tmpl/gstindex.sgml:
9478         * docs/manual/appendix-quotes.xml:
9479         * gst/base/gstbasesrc.h:
9480         * gst/elements/gstfakesrc.h:
9481         * gst/gstmessage.h:
9482           start pulling in base classes and elements in our docs
9483
9484 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9485
9486         * docs/gst/Makefile.am:
9487         * docs/libs/Makefile.am:
9488           fixed make distcheck with gtk-doc 1.3
9489
9490 2005-06-23  Wim Taymans  <wim@fluendo.com>
9491
9492         * gst/gstelement.c: (gst_element_get_state_func),
9493         (gst_element_set_state), (gst_element_change_state):
9494         When the state did not change, also report NO_PREROLL
9495         when it matters.
9496
9497 2005-06-23  Wim Taymans  <wim@fluendo.com>
9498
9499         * gst/gstpad.c: (gst_pad_event_default):
9500         * gst/gstqueue.c: (gst_queue_loop):
9501         No unsafe task pausing please.
9502
9503 2005-06-23  Wim Taymans  <wim@fluendo.com>
9504
9505         * gst/schedulers/threadscheduler.c:
9506         (gst_thread_scheduler_task_start),
9507         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9508         Ref the task before pushing it on the threadpool. This
9509         makes sure that we have a ref when the threadfunction is
9510         actually called.
9511
9512 2005-06-23  Andy Wingo  <wingo@pobox.com>
9513
9514         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9515         offset is greater than the file's size.
9516
9517         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9518         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9519         * gst/gstobject.c (gst_object_class_init): Make the class lock
9520         recursive. Wim won't let me drop deep_notify. Decodebin works
9521         again, whoopdy doo.
9522
9523         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9524         internal pad, and hacks accordingly. Doesn't do it on the target
9525         pad because we change its caps. Probably catches all cases of
9526         interest tho.
9527         (gst_ghost_pad_set_property): Connect to notify::caps as
9528         appropritate.
9529
9530         * tests/network-clock.scm (plot-simulation): Pipe data to the
9531         elite python skript.
9532
9533         * tests/network-clock-utils.scm (define-parameter): New macro,
9534         defines a parameter that can be set via the command line.
9535         (set-parameter!, parse-parameter-arguments): Command line args
9536         parser.
9537
9538         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9539         stdin.
9540
9541 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9542
9543         * gst/elements/gsttypefindelement.c:
9544         (gst_type_find_element_handle_event):
9545           Don't restart typefinding on a discont.
9546         * gst/gstelement.c: (gst_element_set_state):
9547           Debug spelling fix.
9548         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9549           Allow changing mode of an active pad.
9550           Debug output fixes.
9551         * gst/registries/gstlibxmlregistry.c: (load_feature):
9552           Don't cast a static pad template to a normal pad template.
9553
9554 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9555
9556         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9557         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9558           remove gst_strtoll completely, since it didn't actually do
9559           anything more than what g_ascii_strtoull already does.
9560           check for range errors when deserializing
9561           do a cast for the unsigned cases; but further fixing needs
9562           a decision on what the interpretation of "(int)" and
9563           deserialization should be for values that fall outside the
9564           type's boundaries (ie, refuse, or interpret as casting)
9565
9566 2005-06-23  Wim Taymans  <wim@fluendo.com>
9567
9568         * check/Makefile.am:
9569         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9570         * docs/design/part-live-source.txt:
9571         * docs/design/part-states.txt:
9572         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9573         (gst_basesrc_set_live), (gst_basesrc_is_live),
9574         (gst_basesrc_get_range), (gst_basesrc_activate),
9575         (gst_basesrc_change_state):
9576         * gst/base/gstbasesrc.h:
9577         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9578         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9579         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9580         * gst/gstelement.c: (gst_element_get_state_func),
9581         (gst_element_set_state):
9582         * gst/gstelement.h:
9583         * gst/gsttypes.h:
9584         * tools/gst-launch.c: (event_loop), (main):
9585         Added support for live sources and other elements that
9586         cannot do preroll.
9587         Updated design docs, added live-source design doc.
9588         Implemented live source functionality in basesrc
9589         Fix error condition in _bin_get_state()
9590         Implement live source handling in -launch.
9591         Added check for live sources.
9592         Fixed case in GstBin where elements were changed state
9593         multiple times.
9594
9595
9596 2005-06-23  Andy Wingo  <wingo@pobox.com>
9597
9598         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9599         borken refcounting.
9600
9601         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9602         gst_caps_replace takes care of this for us.
9603
9604         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9605         gst_pad_set_caps on the target, not just its setcaps() function.
9606
9607         * tests/network-clock.scm: 
9608         * tests/network-clock-utils.scm: A network clock simulator.
9609         Something of an algorithmic testbed before doing something in C.
9610
9611 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9612
9613         * check/Makefile.am:
9614         * check/gst/capslist.h:
9615           copy over from 0.8, and add two with bitmasks specified with
9616           (int) 0xFF...
9617         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9618           add test to parse everything from capslist.h
9619         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9620         (main):
9621           add test for structure deserialization
9622         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9623           add tests for deserialization of strings to int types
9624         * gst/gststructure.c: (gst_structure_nth_field_name):
9625         * gst/gststructure.h:
9626           add a way to get the name of a field referenced by index
9627         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9628           instead of checking if the resulting long long lies between
9629           min and max, we check if the long long would fit into
9630           a number of bytes for the final type.
9631           This fixes cases where a string represents 2^32 - 1, which
9632           when cast to int would be the (valid) -1, but is bigger than
9633           G_MAXINT
9634
9635 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9636
9637         * gst/parse/grammar.y:
9638           add a log line for type deserialization
9639
9640 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9641
9642         * check/gst/gstvalue.c: (START_TEST):
9643         * gst/gstvalue.c: (gst_value_deserialize):
9644           return long long, not int, so gint64 deserialization actually
9645           works.  Is there any flag that makes the compiler check this ?
9646           Fixes #308559
9647
9648 2005-06-22  Wim Taymans  <wim@fluendo.com>
9649
9650         * gst/gstbuffer.h:
9651         Added convenience macros for setting buffers in GValue.
9652
9653 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9654
9655         * check/gst/.cvsignore:
9656         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9657           add a test deserializing int64, and comment part out because
9658           it fails, yay !
9659
9660 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9661
9662         * check/Makefile.am:
9663         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9664         * testsuite/Makefile.am:
9665         * testsuite/caps/Makefile.am:
9666         * testsuite/caps/value_serialize.c:
9667         * testsuite/test_gst_init.c:
9668           move a value_serialize test over
9669
9670 2005-06-20  Wim Taymans  <wim@fluendo.com>
9671
9672         * gst/gstpad.c:
9673         Small doc updates.
9674         
9675         * gst/gstvalue.c: (gst_value_compare_buffer),
9676         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9677         (gst_value_compare_flags), (gst_value_serialize_flags),
9678         (gst_value_deserialize_flags), (_gst_value_initialize):
9679         Fix serialisation of buffers, they are not boxed types anymore
9680
9681 2005-06-20  Wim Taymans  <wim@fluendo.com>
9682
9683         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9684         Testcase to show error in buffer-on-caps serialisation.
9685
9686 2005-06-20  Andy Wingo  <wingo@pobox.com>
9687
9688         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9689         will be adding to later.
9690
9691         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9692         if its socks fill with rocks.
9693         (gst_system_clock_obtain): Set the name on object construction.
9694         Avoid double-checked locking.
9695
9696 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9697
9698         * gst/gsturi.c: (gst_element_make_from_uri):
9699           Fix potential endless loop.
9700
9701 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * check/Makefile.am:
9704           add gsttag
9705         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9706         (main):
9707           move over from testsuite dir and clean up
9708         * configure.ac:
9709         * gst/gsttag.c:
9710         * testsuite/Makefile.am:
9711         * testsuite/tags/.cvsignore:
9712         * testsuite/tags/Makefile.am:
9713         * testsuite/tags/merge.c:
9714           remove testsuite/tags
9715
9716 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * docs/gst/gstreamer-sections.txt:
9719         * docs/gst/tmpl/gstenumtypes.sgml:
9720         * win32/gstenumtypes.c:
9721           clean up documentation build a little
9722
9723 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9724
9725         * check/gstcheck.h:
9726           add macros for checking refcounts on objects and caps
9727         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9728           add some more unit tests
9729         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9730         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9731           fix leaked refcounts (I hope :)) so unittest works
9732         * gst/gstpad.h:
9733           whitespace removal
9734
9735 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9736
9737         * configure.ac: back to HEAD
9738
9739 === release 0.9.1 ===
9740
9741 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9742
9743         * NEWS:
9744         * RELEASE:
9745           updated
9746
9747 2005-06-17  Andy Wingo  <wingo@pobox.com>
9748
9749         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9750         assert; it's always possible that the pad gets deactivated in
9751         between the checks in gstpad.c and the implementation. Rely on
9752         finish_preroll() to return a FLUSHING or similar instead of on the
9753         assert.
9754         
9755         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9756         clock and post an EOS message if we come out of finish_preroll in
9757         the playing state.
9758
9759 2005-06-16  David Schleef  <ds@schleef.org>
9760
9761         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9762         (gst_capsfilter_set_property): Allow NULL as possible value
9763         for filter_caps property, indicating GST_CAPS_ANY.
9764
9765 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9766
9767         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9768           fix debug output
9769         * gst/schedulers/Makefile.am:
9770           use libgst prefix
9771         * gstreamer.spec.in:
9772           fix spec for it
9773
9774 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9775
9776         * gstreamer.spec.in:
9777           clean up
9778
9779 2005-06-08  Andy Wingo  <wingo@pobox.com>
9780
9781         * gst/gstutils.c: RPAD fixes all around.
9782         (gst_element_link_pads): Refcounting fixes.
9783
9784         * tools/gst-inspect.c:
9785         * tools/gst-xmlinspect.c:
9786         * parse/grammar.y:
9787         * gst/base/gsttypefindhelper.c:
9788         * gst/base/gstbasesink.c:
9789         * gst/gstqueue.c: RPAD fixes.
9790
9791         * gst/gstghostpad.h:
9792         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9793         pads. The tricky thing is they provide both source and sink
9794         interfaces, since they proxy the internal pad for the external
9795         pad, and vice versa. Implement with lower-level ProxyPad objects,
9796         with the interior proxy pad as a child of the exterior ghost pad.
9797         Should write a doc on this.
9798         
9799         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9800         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9801         gst_object API.
9802         
9803         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9804         pads are real pads. No ghost pads in this file. Not documenting
9805         the myriad s/RPAD/PAD/ and REALIZE fixes.
9806         (gst_pad_class_init): Add properties for "direction" and
9807         "template". Both are construct-only, so they can't change during
9808         the life of the pad. Fixes properly deriving from GstPad.
9809         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9810         derived objects, just set properties when creating the objects via
9811         g_object_new.
9812         (gst_pad_get_parent): Implement as a function, return NULL if the
9813         parent is not an element.
9814         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9815         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9816         
9817         * gst/gstobject.c (gst_object_class_init): Make name a construct
9818         property. Don't set it in the object init.
9819
9820         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9821         with UNKNOWN direction.
9822         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9823         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9824         (gst_element_remove_pad): Remove ghost-pad special cases.
9825         (gst_element_pads_activate): Remove rpad cruft.
9826
9827         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9828         catch the pad's-parent-not-an-element case.
9829
9830         * gst/gst.h: Include gstghostpad.h.
9831
9832         * gst/gst.c (init_post): No more real, ghost pads.
9833
9834         * gst/Makefile.am: Add gstghostpad.[ch].
9835
9836         * check/Makefile.am:
9837         * check/gst/gstbin.c:
9838         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9839         into a bin creates ghost pads, and that the refcounts are right.
9840         Partly moved from gstbin.c.
9841
9842 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9843
9844         * check/gst-libs/.cvsignore:
9845         * check/gst/.cvsignore:
9846         * check/pipelines/.cvsignore:
9847           ignore more
9848         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9849         (START_TEST), (cleanup_suite), (main):
9850           add some tests related to cleanup after running pipelines
9851
9852 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9853
9854         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9855           add a testsuite for GstBuffer
9856
9857 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9858
9859         * gst/gstminiobject.h:
9860           add defines for accessing the refcount
9861
9862 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9863
9864         * Makefile.am: added support for html unit test coverage reports
9865
9866 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9867
9868         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9869           Free existing caps if the capsfilter changes. Add a FIXME about
9870           setting those caps on the pads.
9871
9872         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9873           Before adding a ghost pad to a parent bin, check that there isn't
9874           already one for the element on the bin. Prevents infinite recursion
9875           when using decodebin in parse pipelines. Andy says he'll rewrite the
9876           way this works anyway, so ignore the hack.
9877
9878 2005-06-02  Andy Wingo  <wingo@pobox.com>
9879
9880         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9881         file size, pass it on to the type find helper.
9882
9883         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9884         segment_start and segment_end properly according to the seek
9885         method. Segment_end is still a bit flaky because offset can be
9886         negative for CUR and END cases, but it takes -1 as an "unset"
9887         value.
9888
9889 2005-06-02  Wim Taymans  <wim@fluendo.com>
9890
9891         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9892         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9893         (gst_basesink_activate):
9894         * gst/base/gstbasesink.h:
9895         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9896         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9897         (gst_pad_query), (gst_pad_start_task):
9898         * gst/gstpad.h:
9899         * gst/gstqueue.c: (gst_queue_bufferalloc),
9900         (gst_queue_handle_sink_event), (gst_queue_chain):
9901         Bufferalloc: return GstFlowReturn to more accuratly report
9902         why allocation failed.
9903
9904 2005-06-02  Wim Taymans  <wim@fluendo.com>
9905
9906         * gst/gstpipeline.c: (gst_pipeline_send_event):
9907         Take snapshot of state without blocking.
9908
9909 2005-06-02  Wim Taymans  <wim@fluendo.com>
9910
9911         * docs/design/part-TODO.txt:
9912         * docs/design/part-caps.txt:
9913         * docs/design/part-clocks.txt:
9914         * docs/design/part-negotiation.txt:
9915         * docs/design/part-preroll.txt:
9916         Small doc updates 
9917
9918 2005-05-30  Wim Taymans  <wim@fluendo.com>
9919
9920         * gst/elements/gstidentity.c: (gst_identity_event),
9921         (gst_identity_transform), (gst_identity_get_property):
9922         Protect last_message property as it is accessed from
9923         multiple threads.
9924
9925 2005-05-30  Wim Taymans  <wim@fluendo.com>
9926
9927         * gst/gstelement.c: (gst_element_init),
9928         (gst_element_pads_activate), (gst_element_change_state):
9929         Slicker pad activation code.
9930
9931 2005-05-30  Wim Taymans  <wim@fluendo.com>
9932
9933         * gst/Makefile.am:
9934         * gst/gstelement.h:
9935         * gst/gstelementfactory.h:
9936         * gst/gsttypes.h:
9937         Move elementfactory methods to separate .h file.
9938
9939 2005-05-30  Wim Taymans  <wim@fluendo.com>
9940
9941         * docs/design/part-overview.txt:
9942         * gst/gstsystemclock.h:
9943         Small typo fixes, doc updates.
9944
9945 2005-05-30  Wim Taymans  <wim@fluendo.com>
9946
9947         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9948         (init_popt_callback):
9949         Remove cpu-opt flag.
9950
9951 2005-05-30  Wim Taymans  <wim@fluendo.com>
9952
9953         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9954         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9955         * gst/gstbuffer.h:
9956         Avoid typechecking in places where not needed.
9957         Added accessor for malloc_data.
9958
9959 2005-05-30  Wim Taymans  <wim@fluendo.com>
9960
9961         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9962         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9963         (gst_pad_configure_sink), (gst_pad_configure_src),
9964         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9965         (gst_pad_start_task):
9966         Propagate errors from _set_caps() in configure_src/sink
9967         functions instead of returning TRUE.
9968         FLUSH events can travel up and downstream
9969
9970
9971 2005-05-30  Wim Taymans  <wim@fluendo.com>
9972
9973         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9974         (gst_basesink_activate):
9975         Handle EOS in preroll.
9976
9977 2005-05-30  Wim Taymans  <wim@fluendo.com>
9978
9979         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9980         (gst_queue_loop), (gst_queue_handle_src_event):
9981         Remove old pieces of code
9982         Flushing the queue in an upstream event is a very bad idea.
9983
9984 2005-05-26  Andy Wingo  <wingo@pobox.com>
9985
9986         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9987         gst_value_set_mini_object so as to add a ref on the object (which
9988         will be removed when the value is unset).
9989
9990         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9991         arg type in ::handoff.
9992
9993         * gst/gstelement.c (gst_element_change_state): Also deactivate
9994         pads in READY->NULL, just in case the element didn't make it to
9995         PAUSED. Wingo tested, Wim approved.
9996
9997 2005-05-26  Wim Taymans  <wim@fluendo.com>
9998
9999         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10000         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10001         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10002         A flushing pad cannot be used to alloc_buffer from.
10003
10004 2005-05-26  Wim Taymans  <wim@fluendo.com>
10005
10006         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10007         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10008         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10009         (gst_bus_create_watch), (gst_bus_add_watch_full):
10010         * gst/gstbus.h:
10011         Implement a real GSource and use g_main_context_wakeup() to
10012         signal new messages instead of the socketpair.
10013
10014 2005-05-25  Wim Taymans  <wim@fluendo.com>
10015
10016         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10017         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10018         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10019         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10020         (gst_pad_send_event), (gst_pad_start_task):
10021         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10022         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10023         (gst_queue_sink_activate), (gst_queue_src_activate),
10024         (gst_queue_change_state):
10025         * gst/gstqueue.h:
10026         Fix state changes for non sinks. We now change sinks, then elements
10027         with unconnected srcpads, then the rest.
10028         More efficient queue unlocking in flush and state changes.
10029         Set the pad activate mode even if it does not have an activate
10030         function.
10031
10032 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10033
10034         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10035           Don't go in pull mode for non-seekable sources.
10036         * gst/elements/gsttypefindelement.h:
10037         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10038         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10039         (free_entry), (stop_typefinding),
10040         (gst_type_find_element_handle_event), (find_peek),
10041         (gst_type_find_element_chain), (do_pull_typefind),
10042         (gst_type_find_element_change_state):
10043           Allow typefinding (w/o seeking) in push-mode, simplified version
10044           of what was in 0.8.
10045         * gst/gstutils.c: (gst_buffer_join):
10046         * gst/gstutils.h:
10047           gst_buffer_join() from 0.8.
10048
10049 2005-05-25  Wim Taymans  <wim@fluendo.com>
10050
10051         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10052         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10053         (gst_pad_send_event), (gst_pad_start_task):
10054         Disable attempt at mode switching until it is figured out.
10055
10056 2005-05-25  Wim Taymans  <wim@fluendo.com>
10057
10058         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10059         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10060         (gst_basesink_finish_preroll), (gst_basesink_chain),
10061         (gst_basesink_loop), (gst_basesink_activate),
10062         (gst_basesink_change_state):
10063         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10064         (gst_basesrc_get_range), (gst_basesrc_loop),
10065         (gst_basesrc_activate):
10066         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10067         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10068         (gst_real_pad_init), (gst_real_pad_set_property),
10069         (gst_real_pad_get_property), (gst_pad_set_active),
10070         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10071         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10072         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10073         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10074         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10075         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10076         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10077         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10078         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10079         (gst_pad_stop_task):
10080         * gst/gstpad.h:
10081         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10082         (gst_queue_loop), (gst_queue_src_activate):
10083         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10084         (gst_task_get_state):
10085         * gst/gsttask.h:
10086         * gst/schedulers/threadscheduler.c:
10087         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10088         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10089         in task function.
10090         Remove ACTIVE pad flag, use FLUSHING everywhere
10091         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10092         functions.
10093         Add locks around IS_FLUSHING when reading.
10094         Take STREAM lock in chain(), get_range() functions so plugins
10095         don't need to take it anymore.
10096         
10097
10098
10099 2005-05-25  Wim Taymans  <wim@fluendo.com>
10100
10101         * tools/gst-launch.c: (event_loop):
10102         Unref message after using its contents instead of
10103         before.
10104
10105 2005-05-24  Wim Taymans  <wim@fluendo.com>
10106
10107         * docs/design/draft-ghostpads.txt:
10108         * docs/design/draft-push-pull.txt:
10109         * docs/design/draft-query.txt:
10110         * docs/design/part-overview.txt:
10111         Docs updates, added general overview doc.
10112
10113 2005-05-21  David Schleef  <ds@schleef.org>
10114
10115         * docs/gst/tmpl/old/GstBin.sgml:
10116         * docs/gst/tmpl/old/GstBuffer.sgml:
10117         * docs/gst/tmpl/old/GstCaps.sgml:
10118         * docs/gst/tmpl/old/GstClock.sgml:
10119         * docs/gst/tmpl/old/GstCompat.sgml:
10120         * docs/gst/tmpl/old/GstData.sgml:
10121         * docs/gst/tmpl/old/GstElement.sgml:
10122         * docs/gst/tmpl/old/GstEvent.sgml:
10123         * docs/gst/tmpl/old/GstIndex.sgml:
10124         * docs/gst/tmpl/old/GstStructure.sgml:
10125         * docs/gst/tmpl/old/GstTag.sgml:
10126         * docs/gst/tmpl/old/cothreads.sgml:
10127         * docs/gst/tmpl/old/cothreads_compat.sgml:
10128         * docs/gst/tmpl/old/gettext.sgml:
10129         * docs/gst/tmpl/old/gobject2gtk.sgml:
10130         * docs/gst/tmpl/old/grammar.tab.sgml:
10131         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10132         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10133         * docs/gst/tmpl/old/gst_private.sgml:
10134         * docs/gst/tmpl/old/gstaggregator.sgml:
10135         * docs/gst/tmpl/old/gstarch.sgml:
10136         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10137         * docs/gst/tmpl/old/gstbufferstore.sgml:
10138         * docs/gst/tmpl/old/gstdata_private.sgml:
10139         * docs/gst/tmpl/old/gstdisksink.sgml:
10140         * docs/gst/tmpl/old/gstdisksrc.sgml:
10141         * docs/gst/tmpl/old/gstelementfactory.sgml:
10142         * docs/gst/tmpl/old/gstextratypes.sgml:
10143         * docs/gst/tmpl/old/gstfakesink.sgml:
10144         * docs/gst/tmpl/old/gstfakesrc.sgml:
10145         * docs/gst/tmpl/old/gstfdsink.sgml:
10146         * docs/gst/tmpl/old/gstfdsrc.sgml:
10147         * docs/gst/tmpl/old/gstfilesink.sgml:
10148         * docs/gst/tmpl/old/gstfilesrc.sgml:
10149         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10150         * docs/gst/tmpl/old/gstidentity.sgml:
10151         * docs/gst/tmpl/old/gstindexfactory.sgml:
10152         * docs/gst/tmpl/old/gstmarshal.sgml:
10153         * docs/gst/tmpl/old/gstmd5sink.sgml:
10154         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10155         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10156         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10157         * docs/gst/tmpl/old/gstpipefilter.sgml:
10158         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10159         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10160         * docs/gst/tmpl/old/gstshaper.sgml:
10161         * docs/gst/tmpl/old/gstspider.sgml:
10162         * docs/gst/tmpl/old/gstspideridentity.sgml:
10163         * docs/gst/tmpl/old/gststatistics.sgml:
10164         * docs/gst/tmpl/old/gsttee.sgml:
10165         * docs/gst/tmpl/old/gsttimecache.sgml:
10166         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10167         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10168         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10169         * docs/gst/tmpl/old/types.sgml:
10170           I didn't intend to add these or check them in.
10171
10172 2005-05-19  David Schleef  <ds@schleef.org>
10173
10174         * configure.ac: Use -no-common everywhere.  In a sane world, it
10175           would be the default in libtool, because without it, you can't
10176           build DLLs on Windows.
10177         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10178         * docs/gst/gstreamer-sections.txt:
10179         * docs/gst/tmpl/gstcpu.sgml:
10180         * docs/gst/tmpl/gstdata.sgml:
10181         * docs/gst/tmpl/gstthread.sgml:
10182
10183 2005-05-19  David Schleef  <ds@schleef.org>
10184
10185         * gst/gstminiobject.c: (gst_value_set_mini_object),
10186         (gst_value_take_mini_object), (gst_value_get_mini_object):
10187         * gst/gstminiobject.h: Add GValue set/get functions.
10188
10189 2005-05-19  Wim Taymans  <wim@fluendo.com>
10190
10191         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10192         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10193         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10194         * gst/gstbuffer.h:
10195         * gst/gstbus.c: (gst_bus_post):
10196         * gst/gstelement.c: (gst_element_get_random_pad):
10197         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10198         Make subbufer unref the parent in finalize.
10199         some more debugging info.
10200
10201
10202 2005-05-19  Wim Taymans  <wim@fluendo.com>
10203
10204         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10205         (gst_basesink_init), (gst_basesink_finalize),
10206         (gst_basesink_activate), (gst_basesink_change_state):
10207         Don't free preroll queue too early.
10208
10209 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10210
10211         * gst/Makefile.am:
10212         * gst/ROADMAP:
10213           Hi, I'm outdated. Please shoot me.
10214
10215 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10216
10217         * gst/gstpipeline.c: (gst_pipeline_send_event):
10218           Do not access variables after they have been deleted.
10219
10220 2005-05-19  Wim Taymans  <wim@fluendo.com>
10221
10222         * tools/gst-inspect.c: (print_plugin_features):
10223         A plugin feature does unfortunatly not use the
10224         object name yet...
10225
10226 2005-05-18  Wim Taymans  <wim@fluendo.com>
10227
10228         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10229         Port _span() functions to new subbuffers.
10230
10231 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10232
10233         * gst/gstbin.c: (gst_bin_add_func):
10234           Fix clock settery in bins when adding kids after the clock has
10235           been selected.
10236
10237 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10238
10239         * gst/elements/gstidentity.c: (gst_identity_class_init):
10240           Workaround until signals support GstMiniObject.
10241
10242 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10243
10244         * gst/gstbuffer.c:
10245         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10246
10247 2005-05-18  Wim Taymans  <wim@fluendo.com>
10248
10249         * gst/base/Makefile.am:
10250         * gst/base/gstadapter.c: (gst_adapter_base_init),
10251         (gst_adapter_class_init), (gst_adapter_init),
10252         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10253         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10254         (gst_adapter_flush), (gst_adapter_available),
10255         (gst_adapter_available_fast):
10256         * gst/base/gstadapter.h:
10257         Ported and added adapter to the base classes.
10258
10259 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10260
10261         * gst/gst.c:
10262         * gst/gstmessage.c:
10263           Make sure the class is reffed/unreffed once before threads can be
10264           used.  Fixes #304551.
10265
10266 2005-05-17  Wim Taymans  <wim@fluendo.com>
10267
10268         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10269         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10270         * gst/gstminiobject.c: (gst_mini_object_get_type),
10271         (gst_mini_object_free):
10272         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10273         (gst_pad_push), (gst_pad_push_event):
10274         * gst/gstqueue.c: (gst_queue_change_state):
10275         Don't queue buffers in basesink when we are flushing.
10276         Unref buffer when flushing in basesink.
10277         Flush queue when going to READY
10278         Unref buffer when _push() returns an error.
10279         Don't free MiniObject instance when refcount is incremented
10280         in _finalize() so that we can recover objects.
10281
10282 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10283
10284         * docs/manual/advanced-schedulers.xml:
10285         * docs/manual/appendix-checklist.xml:
10286         * docs/pwg/advanced-clock.xml:
10287         * docs/pwg/advanced-interfaces.xml:
10288         * docs/pwg/advanced-request.xml:
10289         * docs/pwg/advanced-types.xml:
10290         * docs/pwg/intro-preface.xml:
10291         * examples/plugins/example.c: (gst_example_get_type),
10292         (gst_example_class_init), (gst_example_chain),
10293         (gst_example_set_property), (gst_example_get_property),
10294         (gst_example_change_state), (plugin_init):
10295         * examples/plugins/example.h:
10296           small doc fixes
10297
10298 2005-05-17  Wim Taymans  <wim@fluendo.com>
10299
10300         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10301         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10302         * gst/gstqueue.c: (gst_queue_change_state):
10303         Clear queue when going to READY.
10304         Remove IN_SETCAPS flag too.
10305
10306 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10307
10308         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10309           Remove implicit cast from gboolean to GstElementStateReturn;
10310           make sure we still return failure in paused => ready case if
10311           the parent class fails to change state and our own stop 
10312           vfunc succeeds.
10313
10314 2005-05-17  Wim Taymans  <wim@fluendo.com>
10315
10316         * tools/gst-launch.c: (event_loop):
10317         Message was unreffed too soon.
10318
10319 2005-05-16  Andy Wingo  <wingo@pobox.com>
10320
10321         * gst/gstbin.c (sink_iterator_filter): Err... um...
10322
10323         * check/gst/gstbin.c (test_ghost_pads): New test for the
10324         ghosting-if-elements-not-in-same-bin behavior.
10325
10326 2005-05-16  David Schleef  <ds@schleef.org>
10327
10328         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10329         accessing refcount directly.
10330
10331 2005-05-15  David Schleef  <ds@schleef.org>
10332
10333         * check/Makefile.am: remove GstData checks
10334         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10335         * gst/Makefile.am: add miniobject, remove data
10336         * gst/gst.h: add miniobject, remove data
10337         * gst/gstdata.c: remove
10338         * gst/gstdata.h: remove
10339         * gst/gstdata_private.h: remove
10340         * gst/gsttypes.h: remove GstEvent and GstMessage
10341         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10342         * gst/gstmarshal.list: change BOXED -> OBJECT
10343
10344         Implement GstMiniObject.
10345         * gst/gstminiobject.c:
10346         * gst/gstminiobject.h:
10347
10348         Modify to be subclasses of GstMiniObject.
10349         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10350         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10351         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10352         (gst_subbuffer_get_type), (gst_subbuffer_init),
10353         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10354         (gst_buffer_span):
10355         * gst/gstbuffer.h:
10356         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10357         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10358         (_gst_event_copy), (gst_event_new):
10359         * gst/gstevent.h:
10360         * gst/gstmessage.c: (_gst_message_initialize),
10361         (gst_message_get_type), (gst_message_class_init),
10362         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10363         (gst_message_new), (gst_message_new_error),
10364         (gst_message_new_warning), (gst_message_new_tag),
10365         (gst_message_new_state_changed), (gst_message_new_application):
10366         * gst/gstmessage.h:
10367         * gst/gstprobe.c: (gst_probe_perform),
10368         (gst_probe_dispatcher_dispatch):
10369         * gst/gstprobe.h:
10370         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10371         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10372         (_gst_query_copy), (gst_query_new):
10373
10374         Update elements for GstData -> GstMiniObject changes
10375         * gst/gstquery.h:
10376         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10377         (gst_queue_chain), (gst_queue_loop):
10378         * gst/elements/gstbufferstore.c:
10379         (gst_buffer_store_add_buffer_func),
10380         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10381         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10382         (gst_fakesink_render):
10383         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10384         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10385         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10386         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10387         (gst_filesrc_create_read):
10388         * gst/elements/gstidentity.c: (gst_identity_class_init):
10389         * gst/elements/gsttypefindelement.c:
10390         (gst_type_find_element_src_event), (free_entry_buffers),
10391         (gst_type_find_element_handle_event):
10392         * libs/gst/dataprotocol/dataprotocol.c:
10393         (gst_dp_header_from_buffer):
10394         * libs/gst/dataprotocol/dataprotocol.h:
10395         * libs/gst/dataprotocol/dp-private.h:
10396
10397 2005-05-15  David Schleef  <ds@schleef.org>
10398
10399         * gst/elements/gstelements.c: Don't include headers that were
10400         just removed.
10401
10402 2005-05-15  David Schleef  <ds@schleef.org>
10403
10404         * gst/elements/Makefile.am: Remove some elements that don't
10405         need to be in the core (or even exist at all).
10406         * gst/elements/gstaggregator.c:
10407         * gst/elements/gstaggregator.h:
10408         * gst/elements/gstmd5sink.c:
10409         * gst/elements/gstmd5sink.h:
10410         * gst/elements/gstmultifilesrc.c:
10411         * gst/elements/gstmultifilesrc.h:
10412         * gst/elements/gstpipefilter.c:
10413         * gst/elements/gstpipefilter.h:
10414         * gst/elements/gstshaper.c:
10415         * gst/elements/gstshaper.h:
10416         * gst/elements/gststatistics.c:
10417         * gst/elements/gststatistics.h:
10418         * po/POTFILES.in: Remove above files.
10419
10420 2005-05-14  Andy Wingo  <wingo@pobox.com>
10421
10422         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10423         so as to get the refs right.
10424         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10425         unreffing objects that don't pass the filter.
10426
10427         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10428         gst_element_set_bus.
10429         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10430         normal cases, this will destroy the bus.
10431
10432         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10433         object.
10434
10435         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10436         has no sinks.
10437
10438 2005-05-13  Andy Wingo  <wingo@pobox.com>
10439
10440         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10441         gst_pad_link, call pad_link_maybe_ghosting,
10442         (pad_link_maybe_ghosting): Links pads, making sure that the
10443         elements being linked are in the same bin.
10444         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10445         Helpers for pad_link_maybe_ghosting.
10446
10447 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10448
10449         * configure.ac:
10450           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10451
10452 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10453
10454         * docs/design/part-element-source.txt:
10455           Mention GstPushSrc
10456
10457 2005-05-12  Wim Taymans  <wim@fluendo.com>
10458
10459         * gst/base/gstbasesink.c: (gst_basesink_init),
10460         (gst_basesink_activate):
10461         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10462         (gst_basesrc_is_seekable):
10463         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10464         (bin_element_is_sink), (gst_bin_change_state):
10465         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10466         * gst/gstelement.h:
10467         Identify sinks by their flag to avoid overly complicated
10468         checks (fow now).
10469         Do state changes even for elements not reachable from the
10470         sinks.
10471         BaseSink is a sink now :)
10472         Some more debugging info in the basesrc.
10473
10474
10475 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10476
10477         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10478           Implement _query on a bin, similar to _send_event.
10479
10480 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10481
10482         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10483           Discont event offset format should be GST_FORMAT_BYTES,
10484           not GST_FORMAT_TIME.
10485
10486 2005-05-12  Wim Taymans  <wim@fluendo.com>
10487
10488         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10489         Same fix as Ronald's but without the signal. 
10490
10491 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10492
10493         * gst/gstutils.c: (gst_element_query_position):
10494           No, an element is not a pad.
10495
10496 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10497
10498         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10499         (gst_bin_get_state):
10500           If a child is removed from a bin while we remove the child from
10501           the bin and while we're retrieving its state, signal this to the
10502           get_state function so we abort the wait (instead of waiting for
10503           a timeout) and can immediately re-iterate over all other elements.
10504
10505 2005-05-12  Wim Taymans  <wim@fluendo.com>
10506
10507         * gst/base/Makefile.am:
10508         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10509         (gst_basesrc_start):
10510         * gst/base/gstbasesrc.h:
10511         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10512         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10513         (gst_pushsrc_init), (gst_pushsrc_create):
10514         * gst/base/gstpushsrc.h:
10515         Added is_seekable to BaseSrc
10516         Added simple PushSrc.
10517
10518 2005-05-11  Wim Taymans  <wim@fluendo.com>
10519
10520         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10521         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10522         (gst_element_link_pads), (gst_element_query_position),
10523         (gst_element_query_convert), (intersect_caps_func),
10524         (gst_pad_query_position), (gst_pad_query_convert):
10525         Fix refcounting in utils function.
10526         No point in trying to activate a pad when it's added, it could
10527         be added from the state change function and then we deadlock, the
10528         element has to decide what to do.
10529
10530 2005-05-10  Andy Wingo  <wingo@pobox.com>
10531
10532         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10533         *all* the arguments.
10534
10535         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10536         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10537         lock (according to the docs -- if this is wrong change the docs).
10538
10539         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10540         flush messages in the NULL state.
10541
10542         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10543         message immediately and return.
10544         (gst_bus_set_flushing): New function. If a bus is flushing, it
10545         flushes out any queued messages and immediately unrefs new
10546         messages. This is so when an element goes to NULL, all of the
10547         unhandled messages coming from it can be freed, and their
10548         references to the element dropped. In other words: message source
10549         ref considered harmful :P
10550
10551         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10552         we're finished with it.
10553
10554         * gst/gstmessage.c (gst_message_new_state_changed): 
10555
10556 2005-05-10  Wim Taymans  <wim@fluendo.com>
10557
10558         * gst/gstvalue.c: (gst_value_compare_flags),
10559         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10560         (_gst_value_initialize):
10561         Added flags serialize/deserialize/compare code.
10562
10563 2005-05-09  Andy Wingo  <wingo@pobox.com>
10564
10565         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10566         Intersect the peer's caps with our caps.
10567
10568 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10569
10570         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10571         * gst/elements/gsttypefindelement.c: (find_peek):
10572           Handle negative offsets better. Fixes decodebin.
10573
10574 2005-05-09  Wim Taymans  <wim@fluendo.com>
10575
10576         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10577         (gst_base_transform_event):
10578         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10579         Implement accept_caps.
10580         Fix silly lock/unlock mismatch in base class.
10581
10582 2005-05-09  Wim Taymans  <wim@fluendo.com>
10583
10584         * docs/design/draft-push-pull.txt:
10585         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10586         * gst/elements/gstfilesink.c: (gst_filesink_init),
10587         (gst_filesink_query):
10588         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10589         (gst_type_find_handle_src_query), (find_element_get_length):
10590         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10591         * gst/gstelement.h:
10592         * gst/gstmessage.c:
10593         * gst/gstmessage.h:
10594         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10595         (gst_real_pad_get_caps_unlocked),
10596         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10597         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10598         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10599         (gst_real_pad_dispose), (gst_real_pad_finalize),
10600         (gst_pad_load_and_link), (gst_pad_save_thyself),
10601         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10602         (gst_pad_check_pull_range), (gst_pad_pull_range),
10603         (gst_pad_template_get_type), (gst_pad_template_class_init),
10604         (gst_pad_template_init), (gst_pad_template_dispose),
10605         (name_is_valid), (gst_static_pad_template_get),
10606         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10607         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10608         (gst_pad_get_element_private), (gst_pad_start_task),
10609         (gst_pad_pause_task), (gst_pad_stop_task),
10610         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10611         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10612         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10613         (gst_ghost_pad_new):
10614         * gst/gstpad.h:
10615         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10616         (gst_query_new_position), (gst_query_set_position),
10617         (gst_query_parse_position), (gst_query_new_convert),
10618         (gst_query_set_convert), (gst_query_parse_convert):
10619         * gst/gstquery.h:
10620         * gst/gstqueryutils.c:
10621         * gst/gstqueryutils.h:
10622         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10623         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10624         (gst_queue_handle_src_query):
10625         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10626         (gst_element_query_position), (gst_element_query_convert),
10627         (intersect_caps_func), (gst_pad_query_position),
10628         (gst_pad_query_convert):
10629         * gst/gstutils.h:
10630         * tools/gst-inspect.c: (print_pad_info):
10631         * tools/gst-xmlinspect.c: (print_element_info):
10632         Remove old query functions. Ported old code.
10633         Added position/convert helper functions to gstutils.
10634         Reordered gstpad.c code, grouping relevant things.
10635         Remove gst_message_new(), always need to speficy a specific
10636         message.
10637
10638
10639 2005-05-09  Andy Wingo  <wingo@pobox.com>
10640
10641         * gst/gstiterator.h: Add some includes.
10642
10643         * gst/gstqueryutils.h: Include more headers.
10644
10645         * gst/gstpad.h:
10646         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10647         some uses of gst_pad_query.
10648
10649         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10650         NULL out parameters.
10651         (gst_query_new_position): New proc, allocates a new position
10652         query.
10653
10654         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10655         gstqueryutils.c to the build.
10656
10657         * gst/gststructure.c (gst_structure_set_valist): Implement with
10658         the generic G_VALUE_COLLECT.
10659         
10660 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10661
10662         * gst/Makefile.am: (gst_headers):
10663         Added gstqueryutils.h to the list of headers to install, that was
10664         a 'nachty' move wingo :)
10665
10666 2005-05-06  Andy Wingo  <wingo@pobox.com>
10667
10668         * gst/gstquery.h
10669         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10670         GstData, init a memchunk.
10671         (standard_definitions): Add a few query types, deprecate a few.
10672         (gst_query_get_type): New proc.
10673         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10674         implementation.
10675         (gst_query_new_application, gst_query_get_structure): New public
10676         procs.
10677
10678         * docs/design/draft-query.txt: Removed LINKS from the query types,
10679         because all the rest can be dispatched to other pads -- seemed
10680         ugly to have a query that couldn't be dispatched. internal_links
10681         is fine as a pad method.
10682
10683         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10684         in gstpad.c, but maintain binary compatibility for the moment.
10685         Will fix before 0.9 is out.
10686
10687         * gst/gstqueryutils.c: 
10688         * gst/gstqueryutils.h: New files, implement 3 methods for each
10689         query type: parse_query, parse_response, and set. Probably need an
10690         allocator as well.
10691
10692         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10693
10694         * gst/elements/gstfilesink.c (gst_filesink_query2):
10695         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10696         query_types, and formats methods.
10697
10698         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10699         (gst_pad_set_query2_function): New functions.
10700         (gst_real_pad_init): Set query2_default as the default query2
10701         function. Basically just dispatches to internally linked pads.
10702
10703         Needs review!
10704         
10705         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10706         without using the atomic operations. Only one thread can possibly
10707         be accessing the data at this point. Changed so as to avoid
10708         gst_atomic operations.
10709
10710 2005-05-06  Wim Taymans  <wim@fluendo.com>
10711
10712         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10713         Also set caps if we use the fallback buffer alloc.
10714
10715 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10716
10717         * docs/gst/Makefile.am:
10718         * docs/gst/gstreamer-docs.sgml:
10719         * docs/gst/gstreamer-sections.txt:
10720         * docs/gst/tmpl/gstatomic.sgml:
10721         * docs/gst/tmpl/gstmemchunk.sgml:
10722         * testsuite/elements/struct_i386.h:
10723         * win32/GStreamer.vcproj:
10724         * win32/Makefile:
10725           Purge GstAtomic stuff from docs and win32 makefiles as well
10726
10727 2005-05-06  Wim Taymans  <wim@fluendo.com>
10728
10729         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10730         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10731         * gst/gstpad.c: (gst_pad_peer_get_caps):
10732         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10733         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10734         (gst_queue_src_activate), (gst_queue_change_state):
10735         * gst/gstqueue.h:
10736         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10737         (intersect_caps_func):
10738         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10739         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10740         Some fixes for the peer_get_caps() change.
10741
10742 2005-05-06  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10745         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10746         (gst_basesink_activate):
10747         Actually do something with error codes returned from the push
10748         functions.
10749
10750 2005-05-06  Wim Taymans  <wim@fluendo.com>
10751
10752         * docs/design/part-element-sink.txt:
10753         * docs/design/part-element-source.txt:
10754         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10755         (gst_basesink_event), (gst_basesink_activate):
10756         * gst/base/gstbasesink.h:
10757         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10758         (gst_basesrc_activate):
10759         * gst/base/gstbasesrc.h:
10760         * gst/gstelement.c: (gst_element_pads_activate):
10761         Some more documentation.
10762         Fixed scheduling decision in _pads_activate().
10763
10764 2005-05-05  Andy Wingo  <wingo@pobox.com>
10765
10766         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10767         the test suite.
10768
10769 2005-05-05  Wim Taymans  <wim@fluendo.com>
10770
10771         * gst/base/Makefile.am:
10772         * gst/base/gstbasesink.h:
10773         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10774         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10775         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10776         (gst_collectpads_class_init), (gst_collectpads_init),
10777         (gst_collectpads_finalize), (gst_collectpads_new),
10778         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10779         (find_pad), (gst_collectpads_remove_pad),
10780         (gst_collectpads_is_active), (gst_collectpads_collect),
10781         (gst_collectpads_collect_range), (gst_collectpads_start),
10782         (gst_collectpads_stop), (gst_collectpads_peek),
10783         (gst_collectpads_pop), (gst_collectpads_available),
10784         (gst_collectpads_read), (gst_collectpads_flush),
10785         (gst_collectpads_chain):
10786         * gst/base/gstcollectpads.h:
10787         * gst/elements/Makefile.am:
10788         * gst/elements/gstelements.c:
10789         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10790         (gst_fakesink_get_times), (gst_fakesink_event),
10791         (gst_fakesink_preroll), (gst_fakesink_render):
10792         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10793         (gst_filesink_init), (gst_filesink_set_location),
10794         (gst_filesink_open_file), (gst_filesink_close_file),
10795         (gst_filesink_pad_query), (gst_filesink_event),
10796         (gst_filesink_render), (gst_filesink_change_state):
10797         * gst/elements/gstfilesink.h:
10798         Added object to help in making collect pad based elements.
10799         Ported filesink.
10800         Make event function in sink baseclass return gboolean.
10801
10802 2005-05-05  Wim Taymans  <wim@fluendo.com>
10803
10804         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10805         (gst_bin_get_by_name):
10806         * gst/gstbuffer.h:
10807         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10808         (gst_clock_finalize):
10809         * gst/gstdata.c: (gst_data_replace):
10810         * gst/gstdata.h:
10811         * gst/gstelement.c: (gst_element_request_pad),
10812         (gst_element_pads_activate):
10813         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10814         (gst_object_unref):
10815         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10816         (gst_pad_set_checkgetrange_function),
10817         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10818         (gst_pad_check_pull_range), (gst_pad_pull_range),
10819         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10820         (gst_pad_pause_task), (gst_pad_stop_task):
10821         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10822         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10823         Fix name lookup in GstBin.
10824         Added _data_replace() function and _buffer_replace()
10825         Use finalize method to clean up clock.
10826         Fix refcounting on request pads.
10827         Fix pad schedule mode error.
10828         Some more object refcounting debug info,
10829
10830
10831 2005-05-04  Andy Wingo <wingo@pobox.com>
10832
10833         * check/Makefile.am:
10834         * docs/gst/tmpl/gstatomic.sgml:
10835         * docs/gst/tmpl/gstplugin.sgml:
10836         * gst/base/gstbasesink.c: (gst_basesink_activate):
10837         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10838         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10839         (gst_basesrc_query), (gst_basesrc_set_property),
10840         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10841         (gst_basesrc_activate):
10842         * gst/base/gstbasesrc.h:
10843         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10844         (gst_base_transform_src_activate):
10845         * gst/elements/gstelements.c:
10846         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10847         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10848         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10849         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10850         (gst_type_find_element_checkgetrange),
10851         (gst_type_find_element_activate):
10852         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10853         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10854         (gst_caps_load_thyself):
10855         * gst/gstelement.c: (gst_element_pads_activate),
10856         (gst_element_save_thyself), (gst_element_restore_thyself):
10857         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10858         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10859         * gst/gstpad.h:
10860         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10861         (gst_xml_parse_file), (gst_xml_parse_memory),
10862         (gst_xml_get_element), (gst_xml_make_element):
10863         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10864         (_file_index_id_save_xml), (gst_file_index_commit):
10865         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10866         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10867         (load_paths):
10868         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10869         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10870         * tools/gst-complete.c: (main):
10871         * tools/gst-compprep.c: (main):
10872         * tools/gst-inspect.c: (print_element_properties_info):
10873         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10874         * tools/gst-xmlinspect.c: (print_element_properties):
10875         GCC 4 fixen.
10876         
10877 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * gst/gstplugin.c: (gst_plugin_check_module),
10880         (gst_plugin_check_file), (gst_plugin_load_file):
10881             apply patch from #172526 to make register work on MacOSX
10882
10883 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10884
10885         * docs/gst/tmpl/gstconfig.sgml:
10886         * gst/gstconfig.h.in:
10887           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10888         * testsuite/debug/printf_extension.c: (main):
10889           Do not use GST_PTR_FORMAT on pointers to types with
10890           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10891         * testsuite/elements/property.h:
10892           use correct printf format
10893
10894 2005-05-02  Wim Taymans  <wim@fluendo.com>
10895
10896         * docs/design/draft-push-pull.txt:
10897         * docs/design/draft-query.txt:
10898         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10899         (gst_basesrc_start):
10900         Added draft for new query API.
10901         Added draft for better selecting scheduling methods.
10902         Make basesrc ignore length if the subclass does not support
10903         it.
10904
10905 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10906
10907         * gst/Makefile.am:
10908           possible fixes for automake-1.5 - _LIBADD is reserved
10909
10910 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10911
10912         * docs/faq/Makefile.am:
10913         * docs/manual/Makefile.am:
10914         * docs/manuals.mak:
10915         * docs/pwg/Makefile.am:
10916         * gst/Makefile.am:
10917           possible fixes for automake-1.5
10918
10919 2005-04-28  Wim Taymans  <wim@fluendo.com>
10920
10921         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10922         (gst_basesink_pad_getcaps), (gst_basesink_init),
10923         (gst_basesink_do_sync):
10924         * gst/gstclock.c: (gst_clock_entry_new):
10925         * gst/gstevent.c: (gst_event_discont_get_value):
10926         * gst/gstpipeline.c: (pipeline_bus_handler),
10927         (gst_pipeline_change_state):
10928         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10929         Better debugging of clocking info.
10930         Allow NULL values when getting discont values.
10931
10932 2005-04-27  Wim Taymans  <wim@fluendo.com>
10933
10934         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10935         * check/gst/gstpad.c: (gst_pad_suite):
10936         Increase timeout for checks.
10937
10938 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10939
10940         * check/Makefile.am:
10941           fix the broken rule for cleanup.  Apparently this rule is
10942           only needed on FC2, so maybe this warrants further autotool
10943           inspection.
10944
10945 2005-04-26  Wim Taymans  <wim@fluendo.com>
10946
10947         * gst/gsttrashstack.h:
10948         Ooohh. a nasty one! After having a failed pop() from the stack,
10949         it's possible that the stack is empty. In that case, don't
10950         follow the NULL pointer.
10951
10952 2005-04-25  Wim Taymans  <wim@fluendo.com>
10953
10954         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10955         (gst_pad_set_checkgetrange_function),
10956         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10957         (gst_pad_check_pull_range), (gst_pad_pull_range),
10958         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10959         (gst_pad_pause_task), (gst_pad_stop_task):
10960         * gst/gstplugin.c: (gst_plugin_load):
10961         * gst/gstplugin.h:
10962         Remove gst_library_load as it does more harm than good with
10963         the new g_module flags.
10964         Revert bogus caps template check in pad linking, pad caps
10965         are important when linking not the template, which is more
10966         general than the current caps.
10967
10968 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10969
10970         * gst/autoplug/.cvsignore:
10971         * gst/autoplug/Makefile.am:
10972         * gst/autoplug/gstsearchfuncs.c:
10973         * gst/autoplug/gstsearchfuncs.h:
10974         * gst/autoplug/gstspider.c:
10975         * gst/autoplug/gstspider.h:
10976         * gst/autoplug/gstspideridentity.c:
10977         * gst/autoplug/gstspideridentity.h:
10978         * gst/autoplug/spidertest.c:
10979           Die, spider, die.
10980
10981 2005-04-25  Wim Taymans  <wim@fluendo.com>
10982
10983         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10984         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10985         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10986         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10987         * gst/gstpad.h:
10988         Added stubs for unimplemented functions. 
10989
10990 2005-04-24  David Schleef  <ds@schleef.org>
10991
10992         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10993         please fix.
10994
10995 2005-04-24  David Schleef  <ds@schleef.org>
10996
10997         Convert everything from GstAtomicInt to g_atomic_int_*, and
10998         remove gstatomic.
10999         * gst/Makefile.am:
11000         * gst/gstatomic.c:
11001         * gst/gstatomic.h:
11002         * gst/gstatomic_impl.h:
11003         * gst/gstbuffer.c:
11004         * gst/gstcaps.c:
11005         * gst/gstcaps.h:
11006         * gst/gstclock.c:
11007         * gst/gstclock.h:
11008         * gst/gstdata.c:
11009         * gst/gstdata.h:
11010         * gst/gstdata_private.h:
11011         * gst/gstevent.c:
11012         * gst/gstinfo.c:
11013         * gst/gstinfo.h:
11014         * gst/gstmessage.c:
11015         * gst/gstobject.c:
11016         * gst/gstobject.h:
11017         * gst/gststructure.c:
11018         * gst/gststructure.h:
11019         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11020         * gst/gstutils.h:
11021
11022 2005-04-24  David Schleef  <ds@schleef.org>
11023
11024         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11025         make the regressions tests work.  Remove some code that is no
11026         longer true.
11027         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11028         Disable warning for pads without templates.
11029
11030 2005-04-24  David Schleef  <ds@schleef.org>
11031
11032         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11033         functions that handle filtered links.
11034         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11035         removed functions.
11036         * gst/gstutils.c: Fix/remove utility functions that handle
11037         filtered caps.
11038         * gst/gstutils.h:
11039         * gst/gstvalue.c: Add serialization/deserialization of caps
11040         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11041         requires fixing so that the filter caps notation creates
11042         a capsfilter element and sets the filter_caps property.  I
11043         think everyone probably wants to keep the shorthand notation.
11044         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11045         * docs/gst/tmpl/gstpad.sgml:
11046
11047         * gst/elements/gstelements.c: Register capsfilter element.
11048         * gst/Makefile.am: fix spacing
11049         * docs/random/ds/0.9-suggested-changes: random
11050
11051 2005-04-23  David Schleef  <ds@schleef.org>
11052
11053         * gst/elements/Makefile.am:
11054         * gst/elements/gstcapsfilter.c: New element that acts like an
11055         identity, but filters caps.  Will eventually replace filtered
11056         caps in pad linking.
11057         * gst/gstutils.c: (gst_element_create_all_pads): New function
11058         to create all the ALWAYS pads that are registered with an
11059         element class.  This functionality should eventually be
11060         merged in with GstElement initialization.
11061         * gst/gstutils.h:
11062         * testsuite/trigger/README: part of trigger test code that should
11063         have been checked in a long time ago.
11064
11065 2005-04-23  David Schleef  <ds@schleef.org>
11066
11067         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11068         needed with new versions of libtool (nobody will confirm this),
11069         and hard to carry around.
11070         * gst/autoplug/Makefile.am:
11071         * gst/base/Makefile.am:
11072         * gst/elements/Makefile.am:
11073         * gst/indexers/Makefile.am:
11074         * gst/schedulers/Makefile.am:
11075         * libs/gst/bytestream/Makefile.am:
11076         * libs/gst/control/Makefile.am:
11077         * libs/gst/dataprotocol/Makefile.am:
11078         * libs/gst/getbits/Makefile.am:
11079
11080 2005-04-21  Wim Taymans  <wim@fluendo.com>
11081
11082         * docs/design/draft-push-pull.txt:
11083         * docs/design/part-MT-refcounting.txt:
11084         * docs/design/part-TODO.txt:
11085         * docs/design/part-caps.txt:
11086         * docs/design/part-events.txt:
11087         * docs/design/part-gstbus.txt:
11088         * docs/design/part-gstpipeline.txt:
11089         * docs/design/part-messages.txt:
11090         * docs/design/part-push-pull.txt:
11091         * docs/design/part-query.txt:
11092         Some more docs.
11093
11094 2005-04-21  Wim Taymans  <wim@fluendo.com>
11095
11096         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11097         (gst_message_new), (gst_message_new_error),
11098         (gst_message_new_warning), (gst_message_new_tag),
11099         (gst_message_new_state_changed), (gst_message_new_application),
11100         (gst_message_get_structure):
11101         * gst/gstmessage.h:
11102         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11103         (gst_structure_copy_conditional):
11104         Use parent refcount in GstMessage to ensure GstStructure
11105         consistency.
11106         Cleaned up headers a bit.
11107         
11108
11109 2005-04-20  Wim Taymans  <wim@fluendo.com>
11110
11111         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11112         (gst_basesink_pad_getcaps), (gst_basesink_init),
11113         (gst_basesink_chain_unlocked):
11114         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11115         (gst_type_find_helper):
11116         * gst/elements/gsttypefindelement.c:
11117         (gst_type_find_element_have_type), (gst_type_find_element_init),
11118         (stop_typefinding), (gst_type_find_element_handle_event),
11119         (find_suggest), (gst_type_find_element_chain),
11120         (gst_type_find_element_checkgetrange),
11121         (gst_type_find_element_getrange), (do_typefind),
11122         (gst_type_find_element_activate):
11123         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11124         (gst_buffer_default_free), (gst_buffer_default_copy),
11125         (gst_buffer_set_caps):
11126         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11127         (gst_caps_replace):
11128         * gst/gstmessage.c: (gst_message_new),
11129         (gst_message_new_state_changed):
11130         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11131         (gst_pad_set_checkgetrange_function),
11132         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11133         (gst_pad_set_caps), (gst_pad_check_pull_range),
11134         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11135         * gst/gstpad.h:
11136         * gst/gsttypefind.c: (gst_type_find_register):
11137         Make gst_caps_replace() work like other _replace() functions.
11138         Use _caps_replace() where possible.
11139         Make sure _message_new() initialises its field.
11140         Add gst_static_pad_template_get_caps()
11141
11142
11143 2005-04-18  Andy Wingo  <wingo@pobox.com>
11144
11145         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11146         on the peer, not the pad. I think that was a typo. Pass an extra
11147         arg to see if random access is possible. Activate the pads as
11148         PULL_RANGE if possible.
11149
11150         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11151
11152         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11153         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11154         to PROP_....
11155
11156 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11157
11158         * docs/faq/using.xml:
11159           Add note on gstreamer-properties (#154996).
11160
11161 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11162
11163         * docs/random/bbb/optional-properties:
11164           Some analysis on optional properties.
11165
11166 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11167
11168         * docs/gst/tmpl/gstelementfactory.sgml:
11169         * gst/gstelement.h:
11170         * gst/gstelementfactory.c: (gst_element_factory_init),
11171         (gst_element_factory_cleanup), (gst_element_register),
11172         (__gst_element_factory_add_static_pad_template),
11173         (gst_element_factory_get_static_pad_templates),
11174         (gst_element_factory_can_src_caps),
11175         (gst_element_factory_can_sink_caps):
11176         * gst/registries/Makefile.am:
11177         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11178         (gst_xml_registry_class_init), (gst_xml_registry_init),
11179         (gst_xml_registry_new), (gst_xml_registry_set_property),
11180         (gst_xml_registry_get_property), (get_time), (make_dir),
11181         (gst_xml_registry_get_perms_func),
11182         (plugin_times_older_than_recurse), (plugin_times_older_than),
11183         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11184         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11185         (add_to_char_array), (read_string), (read_uint), (read_enum),
11186         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11187         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11188         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11189         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11190         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11191         (gst_xml_registry_rebuild):
11192         * gst/registries/gstlibxmlregistry.h:
11193         * tools/gst-compprep.c: (main):
11194         * tools/gst-inspect.c: (print_pad_templates_info):
11195         * tools/gst-xmlinspect.c: (print_element_info):
11196           Use libxml2 for registry parsing, use staticpadtemplates in
11197           elementfactories. Makes gst_init() +/- 10x faster.
11198
11199 2005-04-12  Wim Taymans  <wim@fluendo.com>
11200
11201         * gst/base/Makefile.am:
11202         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11203         (gst_basesink_pad_getcaps), (gst_basesink_init),
11204         (gst_basesink_event), (gst_basesink_change_state):
11205         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11206         (gst_basesrc_init), (gst_basesrc_query),
11207         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11208         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11209         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11210         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11211         (gst_basesrc_stop), (gst_basesrc_activate),
11212         (gst_basesrc_change_state):
11213         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11214         (helper_find_suggest), (gst_type_find_helper):
11215         * gst/base/gsttypefindhelper.h:
11216         * gst/elements/Makefile.am:
11217         * gst/elements/gstelements.c:
11218         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11219         (gst_fakesink_get_times), (gst_fakesink_event),
11220         (gst_fakesink_preroll), (gst_fakesink_render):
11221         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11222         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11223         (gst_fakesrc_get_property), (gst_fakesrc_create),
11224         (gst_fakesrc_start), (gst_fakesrc_stop):
11225         * gst/elements/gstfakesrc.h:
11226         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11227         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11228         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11229         (gst_filesrc_create_read), (gst_filesrc_create),
11230         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11231         (gst_filesrc_start):
11232         * gst/elements/gsttypefindelement.c:
11233         (gst_type_find_element_have_type), (gst_type_find_element_init),
11234         (start_typefinding), (stop_typefinding), (push_buffer_store),
11235         (gst_type_find_element_handle_event),
11236         (gst_type_find_element_chain),
11237         (gst_type_find_element_checkgetrange),
11238         (gst_type_find_element_getrange), (do_typefind),
11239         (gst_type_find_element_activate),
11240         (gst_type_find_element_change_state):
11241         * gst/elements/gsttypefindelement.h:
11242         * gst/gstpipeline.c: (pipeline_bus_handler):
11243         Added typefind helper.
11244         Small preroll fix in the base sink.
11245         Disable typefind code in basesrc.
11246         Crude port of typefindelement.
11247         Fakesrc cleanups.
11248
11249
11250 2005-04-11  Wim Taymans  <wim@fluendo.com>
11251
11252         * check/gst/gstbus.c: (gstbus_suite):
11253         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11254         * check/gstcheck.h:
11255           Fix up the timeout so that the test does not fail.
11256
11257 2005-04-06  Wim Taymans  <wim@fluendo.com>
11258
11259         * gst/base/README:
11260         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11261         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11262         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11263         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11264         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11265         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11266         (gst_basesrc_stop), (gst_basesrc_activate),
11267         (gst_basesrc_change_state), (basesrc_find_peek),
11268         (basesrc_find_suggest), (gst_basesrc_type_find):
11269         * gst/base/gstbasesrc.h:
11270         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11271         (gst_filesrc_class_init), (gst_filesrc_init),
11272         (gst_filesrc_finalize), (gst_filesrc_set_location),
11273         (gst_filesrc_set_property), (gst_filesrc_get_property),
11274         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11275         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11276         (gst_filesrc_create_read), (gst_filesrc_create),
11277         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11278         * gst/elements/gstfilesrc.h:
11279         * gst/gstelement.c: (gst_element_get_state_func),
11280         (gst_element_lost_state), (gst_element_pads_activate):
11281         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11282         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11283         (gst_pad_pull_range):
11284         * gst/gstpad.h:
11285         More work on the generic source base class, implement seeking,
11286         query.
11287         Make filesrc extend the base source class.
11288         Added gst_pad_set_checkgetrange_function to GstPad.
11289
11290 2005-04-06  Andy Wingo  <wingo@pobox.com>
11291
11292         * pkgconfig/gstreamer-base.pc.in:
11293         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11294
11295         * pkgconfig/Makefile.am:
11296         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11297
11298 2005-04-04  Wim Taymans  <wim@fluendo.com>
11299
11300         * gst/base/Makefile.am:
11301         * gst/base/README:
11302         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11303         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11304         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11305         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11306         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11307         (gst_basesrc_base_init), (gst_basesrc_class_init),
11308         (gst_basesrc_init), (gst_basesrc_get_formats),
11309         (gst_basesrc_get_query_types), (gst_basesrc_query),
11310         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11311         (gst_basesrc_set_property), (gst_basesrc_get_property),
11312         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11313         (gst_basesrc_loop), (gst_basesrc_activate),
11314         (gst_basesrc_change_state):
11315         * gst/base/gstbasesrc.h:
11316         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11317         (gst_fakesrc_class_init), (gst_fakesrc_init),
11318         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11319         (gst_fakesrc_get_property), (gst_fakesrc_create):
11320         * gst/elements/gstfakesrc.h:
11321         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11322         (gst_filesrc_open_file), (gst_filesrc_loop),
11323         (gst_filesrc_activate), (filesrc_find_peek),
11324         (gst_filesrc_type_find):
11325         Made base source class, make fakesrc extend it.
11326         Add comments to basesink class.
11327         Some filesrc cleanup.
11328
11329 2005-03-31  David Schleef  <ds@schleef.org>
11330
11331         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11332         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11333         expected to link against libgstreamer.
11334         * gst/base/Makefile.am: link against libgstreamer
11335         * gst/elements/Makefile.am: same
11336
11337 2005-03-31  Andy Wingo  <wingo@pobox.com>
11338
11339         * tests/instantiate/Makefile.am:
11340         * tests/instantiate/caps.c: Add test to test speed of caps copy
11341         and free.
11342
11343         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11344         GMemChunk to be fair.
11345
11346         * gst/gsttrashstack.h: Remove warning about using the fallback
11347         trash stack implementation, it's still faster than malloc.
11348
11349 2005-03-30  Andy Wingo  <wingo@pobox.com>
11350
11351         * tests/complexity.c: Add a copyright.
11352
11353 2005-03-31  Wim Taymans  <wim@fluendo.com>
11354
11355         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11356         (gst_base_transform_class_init), (gst_base_transform_init),
11357         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11358         (gst_base_transform_get_property),
11359         (gst_base_transform_sink_activate),
11360         (gst_base_transform_src_activate),
11361         (gst_base_transform_change_state):
11362         * gst/base/gstbasetransform.h:
11363         * gst/elements/gstidentity.c: (gst_identity_class_init),
11364         (gst_identity_event), (gst_identity_check_perfect),
11365         (gst_identity_transform), (gst_identity_start),
11366         (gst_identity_stop):
11367         Added start/stop methods to transform base class so subclasses 
11368         don't need to deal with state changes even.
11369
11370 2005-03-31  Wim Taymans  <wim@fluendo.com>
11371
11372         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11373         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11374         * gst/gstevent.h:
11375         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11376         (gst_pad_pull_range):
11377         Added rate to the discont event to prepare for variable speed
11378         and reverse playback.
11379
11380 2005-03-29  David Schleef  <ds@schleef.org>
11381
11382         * configure.ac:
11383         * testsuite/trigger/Makefile.am:
11384         * testsuite/trigger/trigger.c: A little example program to show
11385         how trigger-based elements can work.
11386
11387 2005-03-29  Wim Taymans  <wim@fluendo.com>
11388
11389         * gst/base/Makefile.am:
11390         * gst/base/README:
11391         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11392         (gst_basesink_base_init), (gst_basesink_class_init),
11393         (gst_basesink_pad_getcaps), (gst_basesink_init),
11394         (gst_basesink_activate), (gst_basesink_change_state):
11395         * gst/base/gstbasesink.h:
11396         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11397         (gst_base_transform_base_init), (gst_base_transform_finalize),
11398         (gst_base_transform_class_init), (gst_base_transform_init),
11399         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11400         (gst_base_transform_event), (gst_base_transform_getrange),
11401         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11402         (gst_base_transform_set_property),
11403         (gst_base_transform_get_property),
11404         (gst_base_transform_sink_activate),
11405         (gst_base_transform_src_activate),
11406         (gst_base_transform_change_state):
11407         * gst/base/gstbasetransform.h:
11408         * gst/elements/gstidentity.c: (gst_identity_finalize),
11409         (gst_identity_class_init), (gst_identity_init),
11410         (gst_identity_event), (gst_identity_check_perfect),
11411         (gst_identity_transform), (gst_identity_set_property),
11412         (gst_identity_get_property), (gst_identity_change_state):
11413         * gst/elements/gstidentity.h:
11414         * gst/gstelement.c: (gst_element_get_state_func),
11415         (gst_element_lost_state), (gst_element_pads_activate):
11416         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11417         (gst_pad_check_pull_range), (gst_pad_pull_range):
11418         * gst/gstpad.h:
11419         Simplify pad activation.
11420         Added function to check if pull_range can be performed.
11421         Error out when pulling inactive or flushing pads.
11422         Removed const from refcounted types as it does not make sense.
11423         Simplify pad templates in basesink
11424         Added base class for simple 1-to-1 transforms.
11425         Make identity subclass the base transform.
11426
11427 2005-03-29  Andy Wingo  <wingo@pobox.com>
11428
11429         * docs/libs/gstreamer-libs-overrides.txt: 
11430         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11431         really don't understand what's going on, but like whatever. I want
11432         green buildbot!
11433
11434         * docs/gst/Makefile.am:
11435         * docs/libs/Makefile.am: Dist the overrides files.
11436
11437         * check/Makefile.am (clean-local): Remove .libs directories.
11438
11439         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11440         elements to EXTRA_DIST, so po/ files are happy.
11441
11442         * po/POTFILES.in: Er, remove it here.
11443
11444         * po/POTFILES: Remove gstspider.c.
11445
11446         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11447
11448         * docs/libs/gstreamer-libs-docs.sgml: 
11449         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11450         bytestream.
11451
11452         * tests/complexity.c (main): Set the length of the preroll queue
11453         on the sinks to prevent a lockup.
11454
11455         * libs/gst/dataprotocol/Makefile.am: 
11456         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11457         the same as the one in check/gst-libs/gdp.c.
11458
11459         * po/, docs/gst/: Commit automatic changes to docs and po files.
11460
11461         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11462         the versioned libgstbase.
11463
11464         * check/Makefile.am: Depend on an unversioned gst-register, seems
11465         to make autoconf happier.
11466
11467         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11468
11469 2005-03-28  Wim Taymans  <wim@fluendo.com>
11470
11471         * configure.ac:
11472         * docs/design/part-gstelement.txt:
11473         * docs/design/part-negotiation.txt:
11474         * docs/design/part-preroll.txt:
11475         * docs/design/part-scheduling.txt:
11476         * docs/design/part-states.txt:
11477         * gst/Makefile.am:
11478         * gst/base/Makefile.am:
11479         * gst/base/README:
11480         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11481         (gst_basesink_base_init), (gst_basesink_class_init),
11482         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11483         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11484         (gst_basesink_set_pad_functions),
11485         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11486         (gst_basesink_set_property), (gst_basesink_get_property),
11487         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11488         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11489         (gst_basesink_preroll_queue_push),
11490         (gst_basesink_preroll_queue_empty),
11491         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11492         (gst_basesink_event), (gst_basesink_get_times),
11493         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11494         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11495         (gst_basesink_loop), (gst_basesink_activate),
11496         (gst_basesink_change_state):
11497         * gst/base/gstbasesink.h:
11498         * gst/elements/Makefile.am:
11499         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11500         (gst_fakesink_class_init), (gst_fakesink_init),
11501         (gst_fakesink_set_property), (gst_fakesink_get_property),
11502         (gst_fakesink_get_times), (gst_fakesink_event),
11503         (gst_fakesink_preroll), (gst_fakesink_render),
11504         (gst_fakesink_change_state):
11505         * gst/elements/gstfakesink.h:
11506         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11507         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11508         * gst/gstelement.c: (gst_element_add_pad),
11509         (gst_element_get_state_func), (gst_element_abort_state),
11510         (gst_element_commit_state), (gst_element_lost_state),
11511         (gst_element_set_state), (gst_element_pads_activate):
11512         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11513         * gst/gstpipeline.c: (gst_pipeline_send_event),
11514         (gst_pipeline_change_state):
11515         Added state change code.
11516         Added/updated docs.
11517         Added sink base class, make fakesink extend the base class.
11518         Small cleanups in GstPipeline.
11519
11520 2005-03-26  David Schleef  <ds@schleef.org>
11521
11522         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11523         is broken and should be implemented in a different library.
11524         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11525         * gst/gst.h: remove gstcpu.h
11526         * gst/gstcpu.c: remove
11527         * gst/gstcpu.h: remove
11528         * gst/Makefile.am.future: Remove this file.  It's ancient.
11529
11530 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11531
11532         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11533         (gst_bin_send_event):
11534           Add default event/set_manager handlers. The set_manager handler
11535           takes care that the manager is distributed over kids that were
11536           already in the bin before the manager was set. The event handler
11537           is a utility virtual function that sends the event over all sinks,
11538           so that gst_element_send_event (bin, event); has the expected
11539           behaviour.
11540         * gst/gstpad.c: (gst_pad_event_default):
11541           Re-install default event handling for discontinuities, so that
11542           seeking works without requiring hacks in applications or extra
11543           code in sinks.
11544         * gst/gstpipeline.c: (gst_pipeline_class_init),
11545         (gst_pipeline_send_event):
11546           Half hack, half utility: set a pipeline to PAUSED for seek events,
11547           since that is the only way we can guarantee a/v sync. Means that
11548           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11549           and it "just works".
11550
11551 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11552
11553         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11554           Lock/unlock mismatch.
11555
11556 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11557
11558         * docs/faq/gst-uninstalled:
11559           add gst-plugins-base
11560         * docs/gst/Makefile.am:
11561           don't error out until docs are fixed
11562         * docs/gst/gstreamer.types:
11563           remove thread
11564
11565 2005-03-22  Wim Taymans  <wim@fluendo.com>
11566
11567         * check/Makefile.am:
11568         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11569         * gst/gststructure.c: (gst_structure_set_valist),
11570         (gst_structure_copy_conditional):
11571         Activated more tests.
11572         Added message test.
11573         Added G_TYPE_POINTER to GstStructure.
11574         
11575
11576 2005-03-22  Wim Taymans  <wim@fluendo.com>
11577
11578         * docs/design/part-TODO.txt:
11579         * docs/design/part-events.txt:
11580         * docs/design/part-gstbin.txt:
11581         * docs/design/part-gstbus.txt:
11582         * docs/design/part-gstpipeline.txt:
11583         * docs/design/part-messages.txt:
11584         * gst/gstbus.c:
11585         * gst/gstmessage.c:
11586         Docs updates
11587
11588 2005-03-21  Wim Taymans  <wim@fluendo.com>
11589
11590         * gst/gstbus.c: (gst_bus_post):
11591         Fix copy-and-paste error.
11592
11593 2005-03-21  Wim Taymans  <wim@fluendo.com>
11594
11595         * check/Makefile.am:
11596         * gst/Makefile.am:
11597         * gst/elements/Makefile.am:
11598         * gst/elements/gstelements.c:
11599         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11600         (gst_fakesink_event), (gst_fakesink_chain):
11601         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11602         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11603         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11604         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11605         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11606         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11607         (gst_fakesrc_loop), (gst_fakesrc_activate),
11608         (gst_fakesrc_change_state):
11609         * gst/elements/gstfakesrc.h:
11610         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11611         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11612         (gst_filesrc_open_file), (gst_filesrc_loop),
11613         (gst_filesrc_activate), (gst_filesrc_change_state),
11614         (filesrc_find_peek), (filesrc_find_suggest),
11615         (gst_filesrc_type_find):
11616         * gst/elements/gstidentity.c: (gst_identity_finalize),
11617         (gst_identity_class_init), (gst_identity_init),
11618         (gst_identity_proxy_getcaps), (identity_queue_push),
11619         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11620         (gst_identity_getrange), (gst_identity_chain),
11621         (gst_identity_sink_loop), (gst_identity_src_loop),
11622         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11623         (gst_identity_set_property), (gst_identity_get_property),
11624         (gst_identity_change_state):
11625         * gst/elements/gstidentity.h:
11626         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11627         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11628         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11629         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11630         (gst_tee_sink_activate):
11631         * gst/elements/gsttee.h:
11632         * gst/gst.c: (gst_register_core_elements), (init_post):
11633         * gst/gst.h:
11634         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11635         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11636         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11637         (gst_bin_change_state):
11638         * gst/gstbin.h:
11639         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11640         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11641         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11642         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11643         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11644         (bus_watch_callback), (bus_watch_destroy),
11645         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11646         (poll_timeout), (gst_bus_poll):
11647         * gst/gstbus.h:
11648         * gst/gstcaps.h:
11649         * gst/gstdata.h:
11650         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11651         (gst_element_post_message), (gst_element_message_full),
11652         (gst_element_get_state_func), (gst_element_get_state),
11653         (gst_element_abort_state), (gst_element_commit_state),
11654         (gst_element_lost_state), (gst_element_set_state),
11655         (gst_element_pads_activate), (gst_element_change_state),
11656         (gst_element_dispose), (gst_element_set_manager_func),
11657         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11658         (gst_element_set_manager), (gst_element_get_manager),
11659         (gst_element_set_bus), (gst_element_get_bus),
11660         (gst_element_set_scheduler), (gst_element_get_scheduler):
11661         * gst/gstelement.h:
11662         * gst/gstevent.c: (gst_event_new_segment_seek),
11663         (gst_event_new_flush):
11664         * gst/gstevent.h:
11665         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11666         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11667         (gst_message_new_eos), (gst_message_new_error),
11668         (gst_message_new_warning), (gst_message_new_tag),
11669         (gst_message_new_state_changed), (gst_message_new_application),
11670         (gst_message_get_structure), (gst_message_parse_tag),
11671         (gst_message_parse_state_changed), (gst_message_parse_error),
11672         (gst_message_parse_warning):
11673         * gst/gstmessage.h:
11674         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11675         (gst_real_pad_set_property), (gst_pad_set_active),
11676         (gst_pad_is_active), (gst_pad_set_blocked_async),
11677         (gst_pad_set_blocked), (gst_pad_is_blocked),
11678         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11679         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11680         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11681         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11682         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11683         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11684         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11685         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11686         (gst_pad_set_caps), (gst_pad_configure_sink),
11687         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11688         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11689         (gst_real_pad_dispose), (gst_real_pad_finalize),
11690         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11691         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11692         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11693         * gst/gstpad.h:
11694         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11695         (pipeline_bus_handler), (gst_pipeline_change_state),
11696         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11697         * gst/gstpipeline.h:
11698         * gst/gstprobe.h:
11699         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11700         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11701         (gst_queue_link_src), (gst_queue_bufferalloc),
11702         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11703         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11704         (gst_queue_loop), (gst_queue_handle_src_event),
11705         (gst_queue_handle_src_query), (gst_queue_src_activate),
11706         (gst_queue_change_state):
11707         * gst/gstqueue.h:
11708         * gst/gstscheduler.c: (gst_scheduler_init),
11709         (gst_scheduler_dispose), (gst_scheduler_create_task),
11710         (gst_scheduler_factory_create):
11711         * gst/gstscheduler.h:
11712         * gst/gststructure.c: (gst_structure_get_type),
11713         (gst_structure_copy_conditional):
11714         * gst/gststructure.h:
11715         * gst/gsttaginterface.h:
11716         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11717         (gst_task_init), (gst_task_dispose), (gst_task_create),
11718         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11719         (gst_task_pause):
11720         * gst/gsttask.h:
11721         * gst/gstthread.c:
11722         * gst/gstthread.h:
11723         * gst/gsttypes.h:
11724         * gst/schedulers/Makefile.am:
11725         * gst/schedulers/cothreads_compat.h:
11726         * gst/schedulers/entryscheduler.c:
11727         * gst/schedulers/faircothreads.c:
11728         * gst/schedulers/faircothreads.h:
11729         * gst/schedulers/fairscheduler.c:
11730         * gst/schedulers/gstbasicscheduler.c:
11731         * gst/schedulers/gstoptimalscheduler.c:
11732         * gst/schedulers/gthread-cothreads.h:
11733         * gst/schedulers/threadscheduler.c:
11734         (gst_thread_scheduler_task_get_type),
11735         (gst_thread_scheduler_task_class_init),
11736         (gst_thread_scheduler_task_init),
11737         (gst_thread_scheduler_task_start),
11738         (gst_thread_scheduler_task_stop),
11739         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11740         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11741         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11742         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11743         (plugin_init):
11744         * libs/gst/Makefile.am:
11745         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11746         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11747         (gst_file_pad_parent_set):
11748         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11749         (gst_dp_event_from_packet):
11750         * tests/complexity.c: (main):
11751         * tests/mass_elements.c: (main):
11752         * testsuite/states/locked.c: (message_received), (main):
11753         * testsuite/states/parent.c: (main):
11754         * tools/gst-inspect.c: (print_element_flag_info),
11755         (print_implementation_info), (print_pad_info):
11756         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11757         (main):
11758         * tools/gst-md5sum.c: (event_loop), (main):
11759         * tools/gst-typefind.c: (main):
11760         * tools/gst-xmlinspect.c: (print_element_info):
11761         Next big merge.
11762         Added GstBus for mainloop integration.
11763         Added GstMessage for sending notifications on the bus.
11764         Added GstTask as an abstraction for pipeline entry points.
11765         Removed GstThread.
11766         Removed Schedulers.
11767         Simplified GstQueue for multithreaded core.
11768         Made _link threadsafe, removed old capsnego.
11769         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11770         Added pad blocking functions.
11771         Reworked scheduling functions in GstPad to prepare for
11772         scheduling updates soon.
11773         Moved events out of data stream.
11774         Simplified GstEvent types.
11775         Added return values to push/pull.
11776         Removed clocking from GstElement.
11777         Added prototypes for state change function for next merge.
11778         Removed iterate from bins and state change management.
11779         Fixed some elements, disabled others for now.
11780         Fixed -inspect and -launch.
11781         Added check for GstBus.
11782
11783 2005-03-10  Wim Taymans  <wim@fluendo.com>
11784
11785         * docs/design/part-MT-refcounting.txt:
11786         * docs/design/part-clocks.txt:
11787         * docs/design/part-gstelement.txt:
11788         * docs/design/part-gstobject.txt:
11789         * docs/design/part-standards.txt:
11790         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11791         (gst_bin_remove_func), (gst_bin_remove):
11792         * gst/gstbin.h:
11793         * gst/gstbuffer.c:
11794         * gst/gstcaps.h:
11795         * testsuite/clock/clock1.c: (main):
11796         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11797         (main):
11798         * testsuite/dlopen/loadgst.c: (do_test):
11799         * testsuite/refcounting/bin.c: (add_remove_test1),
11800         (add_remove_test2), (main):
11801         * testsuite/refcounting/element.c: (main):
11802         * testsuite/refcounting/element_pad.c: (main):
11803         * testsuite/refcounting/pad.c: (main):
11804         * tools/gst-launch.c: (sigint_handler_sighandler):
11805         * tools/gst-typefind.c: (main):
11806         Doc updates.
11807         Added doc about clock.
11808         removed gst_bin_iterate_recurse_up(), marked methods
11809         for removal.
11810         Fix more testsuites.
11811
11812 2005-03-09  Wim Taymans  <wim@fluendo.com>
11813
11814         * gst/gstpad.c: (gst_pad_get_direction),
11815         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11816         (gst_pad_collect_valist):
11817         * testsuite/bins/interface.c: (main):
11818         * testsuite/caps/audioscale.c: (test_caps):
11819         * testsuite/caps/caps.c: (test1), (test2), (test3):
11820         * testsuite/caps/deserialize.c: (main):
11821         * testsuite/caps/enumcaps.c: (main):
11822         * testsuite/caps/filtercaps.c: (main):
11823         * testsuite/caps/intersect2.c: (main):
11824         * testsuite/caps/random.c: (main):
11825         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11826         * testsuite/caps/sets.c: (check_caps):
11827         * testsuite/caps/simplify.c: (check_caps), (main):
11828         * testsuite/caps/subtract.c: (check_caps):
11829         Fix _pad_get_direction wrt ghostpads.
11830         Fix caps testsuite.
11831
11832 2005-03-09  Wim Taymans  <wim@fluendo.com>
11833
11834         * check/Makefile.am:
11835         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11836         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11837         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11838         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11839         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11840         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11841         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11842         (bin_element_is_sink), (gst_bin_iterate_sinks),
11843         (gst_bin_iterate_all_by_interface):
11844         * gst/gstbin.h:
11845         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11846         (gst_element_change_state), (gst_element_dispose),
11847         (gst_element_finalize), (gst_element_set_loop_function):
11848         * gst/gstelement.h:
11849         * gst/gstiterator.c: (find_custom_fold_func):
11850         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11851         (gst_pad_collectv), (gst_pad_collect_valist),
11852         (gst_pad_template_new):
11853         * gst/gstpipeline.c: (gst_pipeline_class_init),
11854         (gst_pipeline_dispose), (gst_pipeline_set_property),
11855         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11856         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11857         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11858         * gst/gstutils.h:
11859         * gst/schedulers/entryscheduler.c:
11860         * gst/schedulers/gstbasicscheduler.c:
11861         (gst_basic_scheduler_cothreaded_chain),
11862         (gst_basic_scheduler_chain_add_element):
11863         * testsuite/bins/interface.c: (main):
11864         Added GstBin test.
11865         Added GstSystemClock test.
11866         Implemented clock distribution code in GstBin.
11867         Implemented iterate sinks method for future use.
11868         Rearranged gstelement.h
11869         Fix GstIterator comparison bug.
11870         Moved some code to GstPipeline, mostly clocking related.
11871
11872 2005-03-09  Wim Taymans  <wim@fluendo.com>
11873
11874         * configure.ac:
11875         * gst/gst_private.h:
11876         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11877         (gst_bin_remove_func), (gst_bin_remove),
11878         (gst_bin_get_by_name_recurse_up):
11879         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11880         (gst_clock_id_compare_func), (gst_clock_id_wait),
11881         (gst_clock_id_wait_async), (gst_clock_init),
11882         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11883         * gst/gstelement.h:
11884         * gst/gstinfo.c: (_gst_debug_init):
11885         * gst/gstobject.h:
11886         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11887         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11888         * gst/gstpad.h:
11889         Bump version number, we're now 0.9.0
11890         Add future debugging category.
11891         Fix NULL _unref() in _get_by_name_recurse_up
11892         Rearrange gstpad.h.
11893         Update some docs.
11894
11895 2005-03-08  Wim Taymans  <wim@fluendo.com>
11896
11897         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11898         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11899         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11900         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11901         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11902         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11903         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11904         * gst/elements/gstidentity.c: (gst_identity_class_init):
11905         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11906         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11907         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11908         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11909         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11910         (gst_tee_link):
11911         * gst/gstelement.c: (gst_element_class_init),
11912         (gst_element_base_class_init), (gst_element_init),
11913         (gst_element_get_random_pad), (gst_element_wait_state_change),
11914         (gst_element_change_state), (gst_element_dispose),
11915         (gst_element_finalize), (gst_element_set_loop_function):
11916         * gst/gstelement.h:
11917         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11918         * gst/gstthread.c: (gst_thread_class_init),
11919         (gst_thread_release_children_locks), (gst_thread_change_state):
11920         * gst/schedulers/gstbasicscheduler.c:
11921         (gst_basic_scheduler_loopfunc_wrapper),
11922         (gst_basic_scheduler_chain_wrapper),
11923         (gst_basic_scheduler_src_wrapper),
11924         (gst_basic_scheduler_remove_element):
11925         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11926         Remove threadsafe properties. Fix elements because GObject
11927         complains when installing a property before declaring a
11928         set/get_property handler.
11929         Rearrange gstelement.h file, use STATE macros for state locks.
11930         Free mutexes in the finalize method instead of dispose.
11931
11932 2005-03-08  Wim Taymans  <wim@fluendo.com>
11933
11934         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11935         * gst/gstthread.c: (gst_thread_release_children_locks):
11936         Added parentage check.
11937         Fix build og GstThread again.
11938
11939 2005-03-08  Wim Taymans  <wim@fluendo.com>
11940
11941         * docs/design/part-MT-refcounting.txt:
11942         * docs/design/part-conventions.txt:
11943         * docs/design/part-gstobject.txt:
11944         * docs/design/part-relations.txt:
11945         * docs/design/part-standards.txt:
11946         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11947         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11948         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11949         (gst_bin_iterate_all_by_interface):
11950         * gst/gstbuffer.h:
11951         * gst/gstclock.h:
11952         * gst/gstelement.c: (gst_element_class_init),
11953         (gst_element_change_state), (gst_element_set_loop_function):
11954         * gst/gstelement.h:
11955         * gst/gstiterator.c:
11956         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11957         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11958         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11959         (gst_object_set_parent), (gst_object_unparent),
11960         (gst_object_check_uniqueness):
11961         * gst/gstobject.h:
11962         Docs updates, clean up some headers.
11963
11964 2005-03-07  Wim Taymans  <wim@fluendo.com>
11965
11966         * check/.cvsignore:
11967         * check/Makefile.am:
11968         * check/gst-libs/.cvsignore:
11969         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11970         * check/gst/.cvsignore:
11971         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11972         (START_TEST), (gstbus_suite), (main):
11973         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11974         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11975         (gst_data_suite), (main):
11976         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11977         (add_fold_func), (gstiterator_suite), (main):
11978         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11979         (thread_name_object), (thread_name_object_default),
11980         (gst_object_name_compare), (gst_object_suite), (main):
11981         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11982         (gst_pad_suite), (main):
11983         * check/gstcheck.c: (gst_check_log_message_func),
11984         (gst_check_log_critical_func), (gst_check_init):
11985         * check/gstcheck.h:
11986         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11987         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11988         Added checks.
11989
11990 2005-03-07  Wim Taymans  <wim@fluendo.com>
11991
11992         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11993         (gst_list_iterator_next), (gst_list_iterator_resync),
11994         (gst_list_iterator_free), (gst_iterator_new_list),
11995         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11996         (gst_iterator_free), (gst_iterator_push), (filter_next),
11997         (filter_resync), (filter_uninit), (filter_free),
11998         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11999         (gst_iterator_foreach), (find_custom_fold_func),
12000         (gst_iterator_find_custom):
12001         * gst/gstiterator.h:
12002         Added missing files.
12003
12004 2005-03-07  Wim Taymans  <wim@fluendo.com>
12005
12006         * Makefile.am:
12007         * configure.ac:
12008         * docs/design/part-MT-refcounting.txt:
12009         * docs/design/part-conventions.txt:
12010         * docs/design/part-gstobject.txt:
12011         * docs/design/part-relations.txt:
12012         * examples/mixer/mixer.c: (main):
12013         * examples/thread/thread.c: (eos), (main):
12014         * gst/Makefile.am:
12015         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12016         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12017         (gst_spider_plug_from_srcpad):
12018         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12019         (gst_spider_identity_change_state),
12020         (gst_spider_identity_sink_loop_type_finding):
12021         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12022         * gst/elements/gstidentity.c: (gst_identity_init):
12023         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12024         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12025         * gst/elements/gsttypefindelement.c: (free_entry):
12026         * gst/gst.c:
12027         * gst/gst.h:
12028         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12029         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12030         (gst_bin_set_index), (gst_bin_set_element_sched),
12031         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12032         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12033         (gst_bin_iterate_elements), (iterate_child_recurse),
12034         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12035         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12036         (compare_interface), (gst_bin_get_by_interface),
12037         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12038         * gst/gstbin.h:
12039         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12040         (gst_buffer_default_free), (gst_buffer_default_copy),
12041         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12042         (gst_buffer_create_sub):
12043         * gst/gstbuffer.h:
12044         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12045         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12046         (gst_caps_unref), (gst_static_caps_get),
12047         (gst_caps_remove_and_get_structure), (gst_caps_append),
12048         (gst_caps_append_structure), (gst_caps_remove_structure),
12049         (gst_caps_copy_nth), (gst_caps_set_simple),
12050         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12051         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12052         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12053         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12054         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12055         (gst_caps_structure_figure_out_union),
12056         (gst_caps_switch_structures), (gst_caps_do_simplify),
12057         (gst_caps_replace), (gst_caps_from_string),
12058         (gst_caps_copy_conditional):
12059         * gst/gstcaps.h:
12060         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12061         (_gst_clock_id_free), (gst_clock_id_unref),
12062         (gst_clock_id_compare_func), (gst_clock_id_wait),
12063         (gst_clock_id_wait_async), (gst_clock_class_init),
12064         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12065         (gst_clock_get_time), (gst_clock_set_time_adjust),
12066         (gst_clock_set_property), (gst_clock_get_property):
12067         * gst/gstclock.h:
12068         * gst/gstcompat.h:
12069         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12070         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12071         * gst/gstdata.h:
12072         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12073         (gst_element_requires_clock), (gst_element_provides_clock),
12074         (gst_element_set_clock), (gst_element_clock_wait),
12075         (gst_element_wait), (gst_element_set_time_delay),
12076         (gst_element_is_indexable), (gst_element_add_pad),
12077         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12078         (pad_compare_name), (gst_element_get_static_pad),
12079         (gst_element_request_pad), (gst_element_get_request_pad),
12080         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12081         (gst_element_class_get_pad_template_list),
12082         (gst_element_class_get_pad_template), (gst_element_error_func),
12083         (gst_element_get_random_pad), (gst_element_get_event_masks),
12084         (gst_element_send_event), (gst_element_seek),
12085         (gst_element_get_query_types), (gst_element_query),
12086         (gst_element_get_formats), (gst_element_convert),
12087         (gst_element_is_locked_state), (gst_element_set_locked_state),
12088         (gst_element_sync_state_with_parent), (gst_element_change_state),
12089         (gst_element_finalize), (gst_element_yield),
12090         (gst_element_interrupt), (gst_element_set_scheduler),
12091         (gst_element_get_scheduler), (gst_element_set_loop_function):
12092         * gst/gstelement.h:
12093         * gst/gstevent.h:
12094         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12095         (gst_format_get_by_nick), (gst_format_get_details),
12096         (gst_format_iterate_definitions):
12097         * gst/gstformat.h:
12098         * gst/gstindex.c: (gst_index_gtype_resolver):
12099         * gst/gstinfo.c:
12100         * gst/gstinfo.h:
12101         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12102         (gst_mem_chunk_free):
12103         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12104         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12105         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12106         (gst_object_dispatch_properties_changed),
12107         (gst_object_set_name_default), (gst_object_set_name),
12108         (gst_object_get_name), (gst_object_set_name_prefix),
12109         (gst_object_get_name_prefix), (gst_object_set_parent),
12110         (gst_object_get_parent), (gst_object_unparent),
12111         (gst_object_check_uniqueness), (gst_object_save_thyself),
12112         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12113         (gst_object_set_property), (gst_object_get_property),
12114         (gst_object_get_path_string):
12115         * gst/gstobject.h:
12116         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12117         (gst_real_pad_init), (gst_real_pad_get_property),
12118         (gst_pad_custom_new), (gst_pad_get_direction),
12119         (gst_pad_set_active), (gst_pad_is_active),
12120         (gst_pad_set_event_function), (gst_pad_is_linked),
12121         (gst_pad_link_free), (gst_pad_link_intersect),
12122         (gst_pad_link_fixate), (gst_pad_set_caps),
12123         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12124         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12125         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12126         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12127         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12128         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12129         (gst_pad_realize), (gst_pad_get_allowed_caps),
12130         (gst_real_pad_dispose), (gst_real_pad_finalize),
12131         (gst_pad_collectv), (gst_pad_collect_valist),
12132         (gst_pad_template_dispose), (gst_pad_template_new),
12133         (gst_pad_get_internal_links):
12134         * gst/gstpad.h:
12135         * gst/gstpipeline.c: (gst_pipeline_dispose),
12136         (gst_pipeline_change_state):
12137         * gst/gstpipeline.h:
12138         * gst/gstplugin.c:
12139         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12140         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12141         * gst/gstpluginfeature.h:
12142         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12143         * gst/gstquery.c: (_gst_query_type_initialize),
12144         (gst_query_type_register), (gst_query_type_get_by_nick),
12145         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12146         * gst/gstquery.h:
12147         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12148         * gst/gstscheduler.c: (gst_scheduler_add_element),
12149         (gst_scheduler_factory_create):
12150         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12151         (gst_structure_free), (gst_structure_set_name),
12152         (gst_structure_id_set_value), (gst_structure_set_value),
12153         (gst_structure_set_valist), (gst_structure_remove_field),
12154         (gst_structure_remove_fields),
12155         (gst_structure_remove_fields_valist),
12156         (gst_structure_remove_all_fields), (gst_structure_foreach),
12157         (gst_structure_map_in_place),
12158         (gst_caps_structure_fixate_field_nearest_int),
12159         (gst_caps_structure_fixate_field_nearest_double):
12160         * gst/gststructure.h:
12161         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12162         (gst_system_clock_init), (gst_system_clock_dispose),
12163         (gst_system_clock_async_thread),
12164         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12165         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12166         * gst/gstsystemclock.h:
12167         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12168         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12169         * gst/gsttaginterface.c:
12170         * gst/gstthread.c: (gst_thread_dispose),
12171         (gst_thread_release_children_locks), (gst_thread_change_state),
12172         (gst_thread_main_loop):
12173         * gst/gsttrashstack.h:
12174         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12175         * gst/gsttypes.h:
12176         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12177         (gst_element_request_pad), (gst_element_get_pad_from_template),
12178         (gst_element_request_compatible_pad),
12179         (gst_element_get_compatible_pad_filtered),
12180         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12181         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12182         (gst_element_link_many), (gst_element_link),
12183         (gst_element_link_pads), (gst_element_unlink_pads),
12184         (gst_element_unlink_many), (gst_element_unlink),
12185         (gst_pad_can_link_filtered), (gst_pad_can_link),
12186         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12187         (gst_object_default_error), (gst_bin_add_many),
12188         (gst_bin_remove_many), (gst_element_populate_std_props),
12189         (gst_element_class_install_std_props), (gst_buffer_merge),
12190         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12191         (link_fold_func), (gst_pad_proxy_setcaps):
12192         * gst/gstutils.h:
12193         * gst/gstvalue.c: (gst_value_deserialize_string):
12194         * gst/parse/grammar.y:
12195         * gst/schedulers/gstbasicscheduler.c:
12196         (gst_basic_scheduler_cothreaded_chain),
12197         (gst_basic_scheduler_chain_recursive_add),
12198         (gst_basic_scheduler_pad_link):
12199         * gst/schedulers/gstoptimalscheduler.c:
12200         (get_group_schedule_function),
12201         (gst_opt_scheduler_state_transition),
12202         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12203         * libs/gst/bytestream/bytestream.c:
12204         * libs/gst/dataprotocol/dataprotocol.c:
12205         (gst_dp_header_from_buffer):
12206         * po/nb.po:
12207         * po/ru.po:
12208         * tests/threadstate/threadstate2.c: (eos):
12209         * tools/gst-compprep.c: (main):
12210         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12211         (print_pad_info), (print_children_info):
12212         * tools/gst-launch.c: (idle_func), (main):
12213         * tools/gst-md5sum.c: (idle_func), (main):
12214         * tools/gst-xmlinspect.c: (print_element_info):
12215         First THREADED backport attempt, focusing on adding locks and
12216         making sure the API is threadsafe. Needs more work. More docs
12217         follow this week.
12218
12219 2005-02-24  Andy Wingo  <wingo@pobox.com>
12220
12221         * tests/bench-complexity.scm:
12222         * tests/complexity.gnuplot: New files, good for running complexity
12223         benchmarks.
12224
12225         * tests/Makefile.am:
12226         * tests/complexity.c: New test, sets up N elements, at each level
12227         teeing into M streams per element. Eeeenteresting.
12228
12229         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12230         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12231         running bench-mass_elements.scm.
12232
12233         * tests/bench-mass_elements.scm: New script, runs mass_elements
12234         for various numbers of identities, outputting the results to a
12235         file. Requires guile 1.6. Just for testing.
12236
12237 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12238
12239         * gst/schedulers/fairscheduler.c:
12240           compile with debug disabled
12241
12242 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12243
12244         * configure.ac:
12245           hunting season on 0.9 is now OPEN