21b38a0b4376fa3b667f5be9a1f52022e8ccd81d
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * check/Makefile.am:
4         * check/elements/fdsrc.c: (GST_START_TEST):
5         Use a cmdline define to specify the location of a file to use for
6         testing, to avoid breaking distcheck.
7
8 2005-11-28  Andy Wingo  <wingo@pobox.com>
9
10         * gst/gstpad.c (fixate_value): Use array functions for arrays.
11
12 2005-11-28  Edward Hervey  <edward@fluendo.com>
13
14         * tools/gst-launch.c: (main):
15         Clarify the output strings, makes it easier to translate.
16         Fixes #322626
17
18 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19
20         * gst/Makefile.am:
21           don't try and build net if we don't even have <sys/socket.h>
22
23 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
24
25         * check/Makefile.am:
26         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
27         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
28           Add tests for fdsrc seekability
29
30         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
31         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
32         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
33         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
34         * gst/elements/gstfdsrc.h:
35           fdsrc should not be a 'live' source.
36           Implement seeking on seekable fd's.
37
38         * gst/gstquery.c: (gst_query_new_seeking),
39         (gst_query_parse_seeking):
40         * gst/gstquery.h:
41           Implement SEEKING query functions: 
42             *_new_seeking and *_parse_seeking
43
44 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
45
46         * gst/gstelement.c: (gst_element_dispose):
47           don't loop forever
48
49         * gst/gstiterator.c:
50         * gst/gststructure.c:
51           doc fixes
52
53         * libs/gst/controller/gstcontroller.c:
54         (gst_controlled_property_set_interpolation_mode):
55         * libs/gst/controller/gstcontroller.h:
56         * libs/gst/controller/gstinterpolation.c:
57         (interpolate_none_get_enum_value_array):
58           support controlling enums
59
60 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
61
62         * gst/gstvalue.c:
63           Improve documentation for gst_value_union().
64
65         * gst/gstvalue.h:
66           Change return value for union, intersect and subtract functions
67           from gint to gboolean.
68
69 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
70
71         * gst/gstvalue.c: (gst_value_serialize_any_list),
72         (gst_value_transform_any_list_string),
73         (gst_value_deserialize_list), (gst_value_deserialize_array),
74         (gst_value_set_int_range), (gst_value_deserialize_int_range),
75         (gst_value_set_double_range), (gst_value_deserialize_double_range),
76         (gst_value_set_fraction_range_full),
77         (gst_value_deserialize_fraction_range),
78         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
79         (gst_value_deserialize_boolean),
80         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
81         (gst_value_serialize_float), (gst_value_deserialize_float),
82         (gst_string_wrap), (gst_value_deserialize_string),
83         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
84         (gst_value_union_int_range_int_range),
85         (gst_value_intersect_int_range_int_range),
86         (gst_value_intersect_double_range_double_range),
87         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
88         (gst_value_subtract_int_range_int_range),
89         (gst_value_subtract_double_double_range),
90         (gst_value_subtract_double_range_double_range),
91         (gst_value_deserialize_fraction):
92         * gst/gstvalue.h:
93           Use gint, gdouble and gchar in our API instead of int, double and
94           char (and make usage in gstvalue.c more consistent).
95
96 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
97
98         * check/Makefile.am:
99         * libs/gst/controller/Makefile.am:
100         * libs/gst/dataprotocol/Makefile.am:
101           fix up Makefile.am and remove GST_ENABLE_NEW
102
103 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
104
105         * configure.ac:
106         * gst/Makefile.am:
107         * gst/base/Makefile.am:
108         * gst/check/Makefile.am:
109         * gst/elements/Makefile.am:
110         * gst/net/Makefile.am:
111           update LDFLAGS use some more
112
113 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
114
115         * common/m4/gst-doc.m4:
116           Fixes #312589
117
118 2005-11-26  Edward Hervey  <edward@fluendo.com>
119
120         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
121         This shouldn't issue a g_warning since it returns NULL if it
122         couldn't find the plugin, and all functions using this behave
123         properly on a NULL return. Switching to a GST_WARNING.
124
125 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
126
127         * gst/gstbin.c: (gst_bin_handle_message_func):
128         Don't leak clock messages.
129
130 2005-11-25  Wim Taymans  <wim@fluendo.com>
131
132         * gst/gstutils.c: (gst_util_uint64_scale_int64),
133         (gst_util_uint64_scale_int):
134         Optimisations, remove unneeded vars.
135
136 2005-11-25  Wim Taymans  <wim@fluendo.com>
137
138         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
139         Added more checks for the high precision uint64 cases.
140
141         * gst/gstutils.c: (gst_util_uint64_scale_int64),
142         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
143         Implement high precission (guint64 * guint64) / guint64.
144
145 2005-11-24  Wim Taymans  <wim@fluendo.com>
146
147         * gst/base/gstbasesrc.c: (gst_base_src_query):
148         Fix wrong percentage query.
149
150         * gst/gstutils.c: (gst_util_uint64_scale),
151         (gst_util_uint64_scale_int):
152         Add some more common cases that can be handled 
153         efficiently to _scale.
154
155 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
156
157         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
158         (gst_mini_object_suite):
159           don't use check calls from threads; check probably isn't
160           threadsafe and using a lock to make it threadsafe would
161           defeat the purpose of this check
162         * gst/check/gstcheck.c:
163         * gst/check/gstcheck.h:
164           use GST_DEBUG some more
165
166 2005-11-24  Wim Taymans  <wim@fluendo.com>
167
168         * gst/gstutils.c: (gst_util_uint64_scale),
169         (gst_util_uint64_scale_int):
170         Chain trivial case to _scale_int.
171
172 2005-11-24  Wim Taymans  <wim@fluendo.com>
173
174         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
175         Added test for scaling.
176
177         * gst/gstclock.h:
178         Small doc fix.
179
180         * gst/gstutils.c: (gst_util_uint64_scale_int):
181         Implemented high precision scaling code.
182
183 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
184
185         * gst/gstinfo.h:
186           do not crash on pad==NULL
187
188 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
189
190         Patch by: Stefan Kost
191
192         * common/gtk-doc.mak:
193         * docs/gst/Makefile.am:
194         * docs/libs/Makefile.am:
195           Fix distcheck issues for the libraries docs build
196           Closes #319599.
197
198 2005-11-24  Michael Smith <msmith@fluendo.com>
199
200         * docs/manual/basics-helloworld.xml:
201           Fix bug #315027: memory leak in example code in docs.
202
203 2005-11-24  Michael Smith <msmith@fluendo.com>
204
205         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
206           Unlock the PREROLL_LOCK in a failure case.
207
208 2005-11-24  Wim Taymans  <wim@fluendo.com>
209
210         * docs/gst/gstreamer-sections.txt:
211         * gst/base/gstadapter.h:
212         * gst/base/gstbasesink.h:
213         * gst/base/gstbasesrc.h:
214         * gst/base/gstbasetransform.h:
215         * gst/base/gstpushsrc.h:
216         * gst/elements/gstfakesink.h:
217         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
218         * gst/elements/gstfakesrc.h:
219         * gst/elements/gstfilesink.h:
220         * gst/elements/gstfilesrc.h:
221         * gst/gst.c:
222         * gst/gstbin.c:
223         * gst/gstbuffer.c: (_gst_buffer_copy):
224         * gst/gstbus.h:
225         * gst/gstcaps.c:
226         * gst/gstchildproxy.c:
227         * gst/gstclock.c:
228         * gst/gstelement.c:
229         * gst/gstelementfactory.c:
230         * gst/gstelementfactory.h:
231         * gst/gstevent.c:
232         * gst/gstghostpad.h:
233         * gst/gstindex.h:
234         * gst/gstinterface.h:
235         * gst/gstminiobject.c:
236         * gst/gstminiobject.h:
237         * gst/gstpad.c:
238         * gst/gstpad.h:
239         * gst/gstpadtemplate.h:
240         * gst/gstpipeline.h:
241         * gst/gstpluginfeature.h:
242         * gst/gstquery.h:
243         * gst/gstqueue.h:
244         * gst/gsttaglist.c:
245         * gst/gsttaglist.h:
246         * gst/gsttagsetter.c:
247         * gst/gsttagsetter.h:
248         * gst/gsttrace.c:
249         * gst/gsttrace.h:
250         * gst/gsttypefind.h:
251         * gst/gsturi.h:
252         * gst/gstvalue.c:
253         * gst/net/gstnetclientclock.c:
254         * gst/net/gstnetclientclock.h:
255         * gst/net/gstnettimepacket.c:
256         * gst/net/gstnettimeprovider.c:
257         * gst/net/gstnettimeprovider.h:
258         Doc fixes.
259
260 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
261
262         * configure.ac: back to HEAD
263
264 === release 0.9.6 ===
265
266 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
267
268         * configure.ac:
269           releasing 0.9.6, "Always On Time"
270
271 2005-11-23  Wim Taymans  <wim@fluendo.com>
272
273         * docs/gst/gstreamer-sections.txt:
274         * gst/glib-compat.c:
275         * gst/gsttagsetter.c:
276         * gst/gstvalue.c:
277         * gst/net/gstnetclientclock.c:
278         * gst/net/gstnettimepacket.h:
279         Doc updates.
280
281 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
282
283         * docs/faq/using.xml:
284         * docs/libs/tmpl/gstcontrol.sgml:
285         * docs/manual/advanced-dparams.xml:
286         * docs/manual/appendix-checklist.xml:
287         * docs/manual/basics-elements.xml:
288         * docs/pwg/other-source.xml:
289         * docs/random/moving-plugins:
290         * gst/gstpad.c:
291         * tools/gst-launch.1.in:
292           remove mentions of sinesrc
293
294 2005-11-23  Michael Smith <msmith@fluendo.com>
295
296         * docs/gst/gstreamer-sections.txt:
297           Update for new API and API changes.
298         * gst/gstobject.h:
299           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
300         * gst/gstvalue.c:
301           Documentation typo fix.
302         * gst/net/gstnettimepacket.c:
303           Documentation fixes for arguments.
304
305 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
306
307         * gst/gststructure.c: (gst_structure_get_fraction),
308         (gst_structure_parse_value),
309         (gst_structure_fixate_field_nearest_fraction):
310         * gst/gststructure.h:
311         * gst/gstutils.c: (gst_util_uint64_scale_int):
312         * gst/gstutils.h:
313         * scripts/update-funcnames:
314         API Changes. 
315         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
316         Make gst_structure_fixate_field_nearest_fraction take a numerator
317         and denominator argument instead of a GValue
318         add gst_structure_get_fraction helper function.
319
320 2005-11-23  Wim Taymans  <wim@fluendo.com>
321
322         * docs/design/part-TODO.txt:
323         Update TODO.
324
325         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
326         * gst/net/gstnetclientclock.h:
327         Use parent fields for timeout and window_size.
328
329 2005-11-23  Andy Wingo  <wingo@pobox.com>
330
331         * check/net/gstnetclientclock.c (test_functioning): Adjust to
332         rate_num/rate_denom change.
333
334         * gst/net/gstnetclientclock.c
335         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
336         OBJECT_LOCK. Don't call add_observation with the lock.
337
338         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
339         fraction.
340         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
341         rate fraction.
342         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
343         deal with rate as a fraction whose numerator and denominator are
344         GstClockTime values.
345         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
346         master; the other fields are protected by the SLAVE_LOCK.
347         (do_linear_regression): Note that this must be called with the
348         SLAVE_LOCK.
349         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
350         OBJECT_LOCK. Call set_calibration instead of touching the
351         variables directly.
352         (gst_clock_set_property, gst_clock_get_property): Protect
353         master/slave parameters with the SLAVE_LOCK.
354
355         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
356         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
357         note that all of the instance variables that add_observation and
358         the set_master functions use are protected by that lock and not
359         the OBJECT_LOCK.
360         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
361
362         * gst/gstclock.c (gst_clock_add_observation): No longer requires
363         the caller to take the object lock.
364
365 2005-11-23  Wim Taymans  <wim@fluendo.com>
366
367         * gst/gsterror.c: (_gst_core_errors_init):
368         * gst/gsterror.h:
369         Add error for clock stuff.
370
371         * gst/gstpipeline.c: (gst_pipeline_change_state),
372         (gst_pipeline_set_clock):
373         Post clock error when clock cannot be used in a pipeline.
374
375 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
376
377         * docs/gst/gstreamer-sections.txt:
378           make two symbols from gstinfo private for the docs
379         * gst/base/gstcollectpads.h:
380         * gst/gstutils.c:
381           fix doc typos, update docs
382
383 2005-11-22  Wim Taymans  <wim@fluendo.com>
384
385         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
386         (gst_base_sink_wait), (gst_base_sink_do_sync),
387         (gst_base_sink_handle_event):
388         * gst/base/gstbasesink.h:
389         No need to store the clock, the parent element class already
390         has it.
391
392         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
393         Updates for clock_set returning a gboolean
394
395         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
396         (gst_clock_id_wait_async), (gst_clock_class_init),
397         (gst_clock_init), (gst_clock_finalize),
398         (gst_clock_get_internal_time), (gst_clock_get_time),
399         (gst_clock_slave_callback), (gst_clock_set_master),
400         (gst_clock_get_master), (do_linear_regression),
401         (gst_clock_add_observation), (gst_clock_set_property),
402         (gst_clock_get_property):
403         * gst/gstclock.h:
404         Implement master/slave. When setting a clock as a slave, a
405         periodic timeout is scheduled to sample master and slave times.
406         Then the slave clock is recalibrated to match offset and rate
407         of the master clock.
408         Update logging a bit.
409         Add flag so that a clock can state that is cannot be slaved to
410         another clock.
411
412         * gst/gstelement.c: (gst_element_set_clock):
413         * gst/gstelement.h:
414         The set clock returns a gboolean for when an element cannot
415         deal with the selected clock in the pipeline. 
416
417         * gst/gstpipeline.c: (gst_pipeline_change_state),
418         (gst_pipeline_set_clock):
419         * gst/gstpipeline.h:
420         Handle the case where the selected clock cannot be set on
421         the pipeline.
422
423         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
424         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
425         (gst_net_client_clock_set_property),
426         (gst_net_client_clock_get_property),
427         (gst_net_client_clock_observe_times):
428         * gst/net/gstnetclientclock.h:
429         Use regression code in GstClock parent, remove duplicated
430         functionality.
431
432 2005-11-22  Michael Smith <msmith@fluendo.com>
433
434         * gst/gstutils.c: (gst_util_clock_time_scale):
435         * gst/gstutils.h:
436         * docs/gst/gstreamer-sections.txt:
437           Rename method to have extra underscore.
438
439 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
440
441         * gst/elements/Makefile.am:
442         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
443         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
444         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
445         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
446         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
447         * gst/elements/gstfakesrc.h:
448         * gst/gstqueue.c: (queue_leaky_get_type):
449           correctly fix GEnumValues so that nick is the short lowercase
450           dashed tag
451         * tools/gst-inspect.c: (print_element_properties_info):
452           also show the nick, since it's useful to use from parse_launch
453           syntax
454           Fixes #322139
455
456 2005-11-22  Michael Smith <msmith@fluendo.com>
457
458         * gst/gstutils.c: (gst_util_clocktime_scale):
459         * gst/gstutils.h:
460         * docs/gst/gstreamer-sections.txt:
461           Add util method for scaling a clocktime by a fraction. Useful 
462           implementation is left as an exercise for the reader.
463
464 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
465
466         * gst/gstvalue.c: (gst_value_collect_fraction_range):
467         If needed, allocate storage in the destination value during
468         collection.
469
470 2005-11-22  Edward Hervey  <edward@fluendo.com>
471
472         * docs/gst/gstreamer-sections.txt:
473         * gst/Makefile.am:
474         * gst/gst.h:
475         * gst/gsturitype.c:
476         * gst/gsturitype.h:
477         * gst/gstutils.c: (gst_util_set_object_arg):
478         * tools/gst-compprep.c: (main):
479         * tools/gst-inspect.c: (print_element_properties_info):
480         Removed GstURI, closes bug #321061
481
482 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
483
484         * check/gst/gststructure.c: (GST_START_TEST):
485         * gst/gststructure.c: (gst_structure_parse_value):
486           Oops, broke automatic string type parsing.
487           Add a test to catch it in future.
488
489 2005-11-22  Andy Wingo  <wingo@pobox.com>
490
491         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
492         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
493         Actually rename the function implementations. Grr.
494
495 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
496
497         * check/gst/capslist.h:
498           Comment test cases
499         * check/gst/gststructure.c: (GST_START_TEST),
500         (gst_structure_suite):
501           Test automatic value type detection in gst_structure_from_string.
502         * gst/gststructure.c: (gst_structure_parse_value):
503           Add fraction as a type we try and guess automatically in
504           caps/structure strings.
505
506 2005-11-22  Andy Wingo  <wingo@pobox.com>
507
508         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
509
510         * gst/gsttagsetter.h:
511         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
512         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
513         (gst_tag_setter_add_tag_valist)
514         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
515         _add_values, _add_valist, and _add_valist_values. Since this is an
516         interface the function suffixes should be more explicit so
517         language binding don't end up with element.add_valist ->
518         gst_tag_setter_add_valist, for example. Fixes #322069.
519
520 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
521
522         * check/gst/gstcaps.c: (GST_START_TEST):
523           Extend caps string tests to check that a caps to string
524           conversion is reversible and produces the same caps.
525
526         * gst/gststructure.c: (gst_structure_value_get_generic_type):
527           Output "fraction" as the generic type fraction range, so caps
528           serialisation and deserialisation works.
529         * check/gst/capslist.h:
530         * gst/gstvalue.c: (gst_value_deserialize_fraction):
531           Support 'MIN' and 'MAX' for deserialising fractions.
532
533 2005-11-22  Andy Wingo  <wingo@pobox.com>
534
535         * gst/gstevent.h (gst_event_new_new_segment)
536         (gst_event_parse_new_segment, gst_event_new_buffer_size)
537         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
538         Renamed from *_newsegment, *_buffersize, *_notarget.
539
540         * scripts/update-funcnames: New script, performs the changes
541         listed above.
542
543 2005-11-22  Wim Taymans  <wim@fluendo.com>
544
545         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
546         Make sure the GstFlowReturn is returned.
547
548         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
549         (gst_bus_add_signal_watch):
550         * gst/gstbus.h:
551         add gst_bus_add_signal_watch_full.
552
553         * gst/gstplugin.c: (gst_plugin_load_file):
554         Small style cleanup.
555
556 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
557
558         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
559           Block the fakesrc srcpad when we send an event, to avoid
560           contention on the stream_lock causing random test failures.
561
562 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
563
564         * check/gst/gstvalue.c: (GST_START_TEST):
565         * gst/gstvalue.c: (gst_value_fraction_subtract):
566           Fix subtraction.
567
568 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
569
570         * gst/gst.h:
571           include "gstchildproxy.h"
572         * gst/gstchildproxy.h:
573         * libs/gst/controller/gstcontroller.h:
574           use G_GNUC_NULL_TERMINATED
575
576 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
577
578         * check/gst/capslist.h:
579         * check/gst/gstcaps.c: (GST_START_TEST):
580         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
581         * gst/gststructure.c: (gst_structure_parse_range),
582         (gst_structure_fixate_field_nearest_fraction):
583         * gst/gststructure.h:
584         * gst/gstvalue.c: (gst_value_init_fraction_range),
585         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
586         (gst_value_collect_fraction_range),
587         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
588         (gst_value_set_fraction_range_full),
589         (gst_value_get_fraction_range_min),
590         (gst_value_get_fraction_range_max),
591         (gst_value_serialize_fraction_range),
592         (gst_value_transform_fraction_range_string),
593         (gst_value_compare_fraction_range),
594         (gst_value_deserialize_fraction_range),
595         (gst_value_intersect_fraction_fraction_range),
596         (gst_value_intersect_fraction_range_fraction_range),
597         (gst_value_subtract_fraction_fraction_range),
598         (gst_value_subtract_fraction_range_fraction),
599         (gst_value_subtract_fraction_range_fraction_range),
600         (gst_value_collect_fraction), (gst_value_fraction_multiply),
601         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
602         (gst_value_transform_string_fraction), (_gst_value_initialize):
603         * gst/gstvalue.h:
604           Implement fraction ranges and extend GstFraction to support
605           arithmetic subtraction, as well as deserialization from integer
606           strings such as "100"
607           Add a testsuite as for int and double range set operations
608
609 2005-11-21  Andy Wingo  <wingo@pobox.com>
610
611         * gst/gsttaglist.h: 
612         * gst/gstcaps.h: 
613         * gst/gststructure.h: Add glib-compat.h.
614
615 2005-11-21  Wim Taymans  <wim@fluendo.com>
616
617         * gst/gstbin.c: (gst_bin_change_state_func):
618         Fix for #321595
619
620 2005-11-21  Wim Taymans  <wim@fluendo.com>
621
622         * gst/gstsegment.h:
623         And add a nice define too.
624
625 2005-11-21  Wim Taymans  <wim@fluendo.com>
626
627         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
628         (gst_segment_new), (gst_segment_free), (gst_segment_init),
629         (gst_segment_set_duration), (gst_segment_set_last_stop),
630         (gst_segment_set_seek), (gst_segment_set_newsegment),
631         (gst_segment_to_stream_time), (gst_segment_to_running_time),
632         (gst_segment_clip):
633         * gst/gstsegment.h:
634         Make binding friendly.
635
636 2005-11-21  Andy Wingo  <wingo@pobox.com>
637
638         * gst/gsttagsetter.h: 
639         * gst/gsttaglist.h: 
640         * gst/gststructure.h: 
641         * gst/gstcaps.h: 
642         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
643         #319940.
644
645         * gst/gsterror.c (_gst_core_errors_init):
646         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
647         category.
648
649         * gst/Makefile.am (gst_headers): Add glib-compat.h.
650         (noinst_HEADERS): noinst the -private.
651
652 2005-11-21  Michael Smith <msmith@fluendo.com>
653
654         * gst/gstplugin.h:
655         * gst/gstregistry.h:
656           Remove unimplemented declarations for which we can see no sensible
657           use.
658
659 2005-11-21  Andy Wingo  <wingo@pobox.com>
660
661         * gst/gst.h: Include glib-compat.h.
662
663         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
664
665         * gst/glib-compat.c: Include the public and the private header.
666
667         * gst/glib-compat-private.h: Copied here from glib-compat.h.
668
669         * gst/gstvalue.c: 
670         * gst/gstpad.c: 
671         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
672
673         * check/gst/gstevent.c (create_custom_events): Check that
674         FLUSH_STOP is serialized.
675
676         * check/elements/identity.c (event_func): 
677         * check/elements/fakesrc.c (event_func): No stream lock, the core
678         takes it.
679
680         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
681         stream lock taking, yay.
682
683         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
684         ensure that core takes the stream lock.
685
686         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
687         lock name change.
688
689         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
690         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
691         it already. For the flush start we do take it though so we get the
692         right preroll state change messages.
693
694         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
695         the stream lock here, the core does it for us.
696
697         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
698         GST_STREAM_GET_LOCK.
699         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
700         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
701         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
702         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
703         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
704         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
705
706         * gst/gstpad.c: Update for stream lock name change.
707
708         * gst/base/gstbasesink.c: Update for preroll lock name change.
709
710 2005-11-21  Wim Taymans  <wim@fluendo.com>
711
712         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
713         (gst_clock_get_master):
714         * gst/gstclock.h:
715         * gst/gstsystemclock.c: (gst_system_clock_init):
716         Convert Clock flags to object flags.
717         Added methods to manage master/slave clocks.
718
719 2005-11-21  Wim Taymans  <wim@fluendo.com>
720
721         * check/gst/gstsegment.c: (GST_START_TEST):
722         * docs/design/part-TODO.txt:
723         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
724         (gst_base_sink_event), (gst_base_sink_do_sync),
725         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
726         (gst_base_sink_query), (gst_base_sink_change_state):
727         * gst/base/gstbasesink.h:
728         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
729         (gst_base_src_default_newsegment),
730         (gst_base_src_configure_segment), (gst_base_src_do_seek),
731         (gst_base_src_get_range), (gst_base_src_loop),
732         (gst_base_src_change_state):
733         * gst/base/gstbasesrc.h:
734         * gst/base/gstbasetransform.c:
735         (gst_base_transform_prepare_output_buf),
736         (gst_base_transform_event), (gst_base_transform_change_state):
737         * gst/base/gstbasetransform.h:
738         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
739         (gst_collect_pads_event):
740         * gst/base/gstcollectpads.h:
741         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
742         (gst_fake_src_create):
743         * gst/elements/gstfakesrc.h:
744         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
745         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
746         (gst_segment_set_last_stop), (gst_segment_set_seek),
747         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
748         (gst_segment_to_running_time), (gst_segment_clip):
749         * gst/gstsegment.h:
750         More segment updates, replace code in plugins with segment
751         helper functions.
752
753 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
754
755         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
756         Don't ignore sscanf results
757
758 2005-11-21  Andy Wingo  <wingo@pobox.com>
759
760         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
761
762         * *.h:
763         * *.c: Ran scripts/update-macros. Oh yes.
764
765         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
766         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
767         GST_GET_LOCK, etc.
768
769         * scripts/update-macros: New script. Run it on your files to
770         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
771         well.
772
773 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
774
775         * docs/gst/Makefile.am:
776         * docs/gst/gstreamer-docs.sgml:
777         * docs/gst/gstreamer-sections.txt:
778         * docs/gst/gstreamer.types:
779         * gst/gstinfo.h:
780           more docs fixes, add new api to the docs
781
782 2005-11-21  Andy Wingo  <wingo@pobox.com>
783
784         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
785         state_broadcast call.
786
787         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
788
789 2005-11-21  Julien MOUTTE  <julien@moutte.net>
790
791         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
792         function calls for arrays.
793
794 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
795
796         * docs/random/ensonic/media-device-daemon.txt:
797           wild idea, can this be done?
798         * docs/gst/gstreamer-sections.txt:
799         * gst/gsterror.h:
800         * gst/gstfilter.c:
801         * gst/gstfilter.h:
802         * gst/gstplugin.h:
803         * gst/gstpluginfeature.c:
804         * gst/gsttrace.c:
805         * gst/gstvalue.c:
806         * gst/gstvalue.h:
807           doc fixes and additions
808
809 2005-11-21  Andy Wingo  <wingo@pobox.com>
810
811         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
812         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
813         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
814         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
815         private to the basesrc implementation.
816
817         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
818         behalf of event function if necessary. It should no longer be
819         necessary to take the stream lock in pad's event functions. Fixes
820         #320299.
821
822 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
823         * docs/gst/gstreamer-sections.txt:
824         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
825         (gst_structure_fixate_field_nearest_double),
826         (gst_structure_fixate_field_boolean):
827         * gst/gststructure.h:
828         * win32/common/libgstreamer.def:
829         * win32/gstreamer.def:
830
831         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
832         (#322027)
833
834 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
835
836         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
837         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
838         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
839         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
840         (gst_fdsrc_uri_handler_init):
841         * gst/elements/gstfdsrc.h:
842           Port fd:// URI handler from 0.8 to fdsrc
843
844 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
845
846         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
847         (gst_value_serialize_fourcc):
848         * gst/gstvalue.h:
849           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
850           consistent with our other format defines (#320324).
851
852 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
853
854         * gst/gstvalue.c: (gst_value_is_fixed):
855           Revert previous commit. Value lists are by definition
856           not fixed, as they are a list of possible values.
857
858 2005-11-21  Andy Wingo  <wingo@pobox.com>
859
860         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
861         during the stable series if we need it. Fixes #319178.
862
863         * gst/gstevent.c (gst_event_new_filler): Removed.
864
865         * check/gst/gstevent.c: Update comment about filler events.
866
867 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
868
869         * gst/gstvalue.c: (gst_value_is_fixed):
870           Should handle both value arrays and value lists.
871
872 2005-11-21  Andy Wingo  <wingo@pobox.com>
873
874         patch by: Alessandro Dessina <alessandro nnva org>
875
876         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
877         functions to access arrays. Fixes #321962.
878
879 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
880
881         * docs/gst/gstreamer.types:
882           gst_collectpads_get_type => gst_collect_pads_get_type.
883           
884         * gst/base/gstbasetransform.c:
885           Remove unused SIGNAL_HANDOFF enum.
886
887 2005-11-21  Andy Wingo  <wingo@pobox.com>
888
889         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
890         the event type (upstream, downstream, serialized). Renamed
891         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
892         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
893         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
894
895         * gst/gstevent.c: Update for new CUSTOM event names.
896
897         * check/gst/gstevent.c: Update check for new CUSTOM event names.
898
899         * gst/gstevent.h:
900         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
901         bug #319392.
902
903 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
904
905         * docs/gst/gstreamer-sections.txt:
906         * win32/common/libgstbase.def:
907         * win32/libgstbase.def:
908         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
909         (gst_collect_pads_class_init), (gst_collect_pads_init),
910         (gst_collect_pads_finalize), (gst_collect_pads_new),
911         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
912         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
913         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
914         (gst_collect_pads_start), (gst_collect_pads_stop),
915         (gst_collect_pads_peek), (gst_collect_pads_pop),
916         (gst_collect_pads_available), (gst_collect_pads_read),
917         (gst_collect_pads_flush), (gst_collect_pads_event),
918         (gst_collect_pads_chain):
919         * gst/base/gstcollectpads.h:
920           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
921           unimplemented functions as unimplemented. Add padding to
922           GstCollectData. (#320766, #320423)
923
924 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
925
926         * gst/gstmessage.c:
927           Improve docs for DURATION message (usage of duration parameter)
928           (#320113)
929
930 2005-11-20  Wim Taymans  <wim@fluendo.com>
931
932         * check/Makefile.am:
933         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
934         (main):
935         * gst/Makefile.am:
936         * gst/gst.h:
937         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
938         (gst_segment_set_seek), (gst_segment_set_newsegment),
939         (gst_segment_to_stream_time), (gst_segment_to_running_time),
940         (gst_segment_clip):
941         * gst/gstsegment.h:
942         Added segment helper structure and methods. Not fully implemented
943         yet.
944         Added segment check.
945
946 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
947
948         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
949           Add a deserialisation test for fractions
950         * examples/metadata/read-metadata.c: (message_loop),
951         (make_pipeline), (main):
952           Fix up metadata reading sample.
953         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
954           Debug format fix
955         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
956           Don't try and fixate empty caps
957         * gst/gst_private.h:
958           Wrap in G_BEGIN_DECLS/G_END_DECLS
959         * gst/gstvalue.c: (gst_value_collect_fraction),
960         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
961         (gst_value_transform_string_fraction),
962         (gst_value_compare_fraction):
963           Add some extra guards to ensure that we don't end up 
964           with an invalid denominator of 0 in a gstfraction and
965           that fractions always get reduced.
966
967 2005-11-20  Wim Taymans  <wim@fluendo.com>
968
969         * docs/gst/gstreamer-sections.txt:
970         * gst/gstbuffer.h:
971         * gst/gstelement.c:
972         * gst/gstformat.c:
973         * gst/gstformat.h:
974         * gst/gstindex.h:
975         * gst/gstquery.c:
976         * gst/gstquery.h:
977         * gst/gstvalue.c:
978         Doc fixes.
979
980 2005-11-20  Wim Taymans  <wim@fluendo.com>
981
982         * docs/design/part-TODO.txt:
983         * gst/gstcaps.h:
984         Make a proper enum of the flag.
985
986 2005-11-19  Wim Taymans  <wim@fluendo.com>
987
988         * docs/design/part-TODO.txt:
989         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
990         (gst_format_to_quark), (gst_format_register):
991         * gst/gstformat.h:
992         * gst/gstquery.c: (_gst_query_initialize),
993         (gst_query_type_get_name), (gst_query_type_to_quark),
994         (gst_query_type_register):
995         * gst/gstquery.h:
996         Add type to quark and type to string conversions.
997
998 2005-11-19  Andy Wingo  <wingo@pobox.com>
999
1000         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1001         #320097.
1002
1003 2005-11-19  Wim Taymans  <wim@fluendo.com>
1004
1005         * docs/design/part-TODO.txt:
1006         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1007         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1008         (gst_bin_handle_message_func):
1009         * gst/gstbin.h:
1010         Make message handling overridable.
1011
1012 2005-11-19  Andy Wingo  <wingo@pobox.com>
1013
1014         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1015
1016         * gst/gstclock.h:
1017         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1018         be a GstClockTime.
1019         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1020         is a GstClockTime. Fixes #321710.
1021
1022         * gst/gstclock.h (GstClock): Remove offset property. Add
1023         internal_calibration and external_calibration. Fix padding. Pad
1024         also by GstClockTime so we don't run into problems.
1025
1026         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1027         (gst_clock_get_rate_offset): Remove.
1028         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1029
1030         * gst/gstutils.h:
1031         * gst/gstutils.c (g_static_rec_cond_wait)
1032         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1033
1034         * gst/gstbin.c: Remove terrible continue_state prototype.
1035
1036         * gst/gstelement.h (gst_element_continue_state): Make public.
1037
1038         * gst/gstelement.h:
1039         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1040         by continue_state. Fixes #319389.
1041
1042         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1043         Really fixes #168438. However I don't see anywhere where the
1044         filter function is called... stupid GStreamer...
1045         
1046         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1047         don't have a dispose function, so it won't get called when the
1048         object is unreffed, but oh well!
1049
1050         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1051         allows a destroy function to be set so user_data can be freed.
1052         Fixes #168438.
1053         (gst_index_set_filter): Call gst_index_set_filter_full.
1054
1055         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1056
1057         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1058         string should produce an error, given the lack of a way to
1059         represent NULL strings. Fixes #165650.
1060         
1061         * gst/gstvalue.h: 
1062         * gst/gstvalue.c (gst_value_array_append_value) 
1063         (gst_value_array_prepend_value, gst_value_array_get_size) 
1064         (gst_value_array_get_value): New API, copied from
1065         gst_value_list_*, only operates on arrays.
1066         (gst_value_list_append_value, gst_value_list_prepend_value) 
1067         (gst_value_list_concat, gst_value_list_get_size) 
1068         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1069
1070         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1071         init_list, because it works on both.
1072         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1073         (gst_value_copy_list_or_array): Renamed from copy_list.
1074         (gst_value_free_list_or_array): Renamed from free_list.
1075         (gst_value_collect_list_or_array): Renamed from collect_list.
1076         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1077         (gst_value_list_or_array_peek_pointer): Renamed from
1078         list_peek_pointer.
1079         (_gst_value_array_value_table, _gst_value_list_value_table):
1080         Update value table functions.
1081         (gst_value_compare_list_or_array): Renamed from compare_list.
1082
1083         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1084         some constness.
1085
1086         * gst/gsttaglist.c:
1087         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1088         GstTagList*. Fixes #143472.
1089
1090         * gst/gststructure.h: Clarify what the foreach/map functions can
1091         or can't do to their arguments.
1092
1093 2005-11-18  Wim Taymans  <wim@fluendo.com>
1094
1095         * gst/gstclock.c: (gst_clock_set_calibration),
1096         (gst_clock_get_calibration):
1097         Doc and API fixes.
1098         Calibration can be set with internal time equal to current
1099         internal time too.
1100
1101 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1102
1103         * gst/gsterror.c:
1104         * gst/gsterror.h:
1105           document
1106
1107 2005-11-18  Andy Wingo  <wingo@pobox.com>
1108
1109         * configure.ac: 
1110         * pkgconfig/gstreamer-net.pc.in:
1111         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1112         * pkgconfig/Makefile.am: Add net pkgconfig files.
1113
1114 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1115
1116         * gst/gstcaps.c:
1117         * gst/gstghostpad.c:
1118         * gst/gsttrace.c:
1119         * gst/gstvalue.c:
1120         * gst/gstvalue.h:
1121           docs fixes
1122
1123 2005-11-18  Andy Wingo  <wingo@pobox.com>
1124
1125         * gst/net/gstnetclientclock.c: Turn off debugging.
1126
1127         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1128         times connverge somewhat. Can't make a real test.
1129
1130         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1131         integer arithmetic. Return the minimum of the domain, which can be
1132         set as "internal" for gst_clock_set_calibration.
1133         (gst_net_client_clock_observe_times): Call _set_calibration.
1134         (gst_net_client_clock_new): Call _set_calibration instead of
1135         rate_offset.
1136
1137         * check/net/gstnetclientclock.c (test_functioning): Use the right
1138         adjustment api.
1139
1140         * gst/gstclock.h:
1141         * gst/gstclock.c (gst_clock_get_calibration) 
1142         (gst_clock_set_calibration): New functions, obsolete the ones I
1143         added yesterday. Doh. Precision issues mean we have to extrapolate
1144         from a point in the more recent past than 1970.
1145         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1146         obsolete.
1147         (gst_clock_adjust_unlocked): Use the right calibration data.
1148
1149 2005-11-18  Edward Hervey  <edward@fluendo.com>
1150
1151         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1152         Also reset the ->current_* values in READY->PAUSED
1153
1154 2005-11-18  Andy Wingo  <wingo@pobox.com>
1155
1156         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1157         Whoops, check the right fd. Also add some debugging.
1158         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1159         (do_linear_regression): Add a crapload of debugging. Subtract off
1160         the minimum values from the input series to discard unneeded bits.
1161         Use only int arithmetic. There is still double arithmetic when
1162         calculating the intercept that needs fixing. Return boolean to
1163         indicate success; FALSE would mean the domain or range is too
1164         great. Still needs fixes.
1165
1166 2005-11-18  Wim Taymans  <wim@fluendo.com>
1167
1168         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1169         For the current position in stream time, we need to subtract
1170         accumulated time.
1171         
1172         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1173         Release lock before calling the callback function of async
1174         entries.
1175
1176 2005-11-18  Andy Wingo  <wingo@pobox.com>
1177
1178         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1179         Port goes all the way to MAXUINT16.
1180
1181         * gst/net/gstnettimeprovider.c: Make the port range the same as
1182         for the kernel: 0 assigns, otherwise ports are less than
1183         MAXUINT16.
1184
1185         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1186         port change.
1187
1188         * check/net/gstnetclientclock.c (test_functioning): Add the start
1189         of another test. 
1190
1191 2005-11-18  Wim Taymans  <wim@fluendo.com>
1192
1193         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1194         (gst_bin_remove_func), (bin_bus_handler):
1195         * gst/gstbin.h:
1196         Removing a clock provider from a bin, triggers a clock lost message
1197         so that a new clock will be selected.
1198         Adding a clock to a bin triggers a clock provider message.
1199         Make sure we reselect a clock when we received a clock lost message.
1200         Keep a reference to the element that provided the clock.
1201
1202 2005-11-18  Andy Wingo  <wingo@pobox.com>
1203
1204         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1205         the clock initially so it produces values around the base time.
1206         (gst_net_client_clock_class_init): Typo fix.
1207         (gst_net_client_clock_thread): Add note on when the socket gets
1208         closed.
1209
1210 2005-11-17  Wim Taymans  <wim@fluendo.com>
1211
1212         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1213         Free remote and local time arrays.
1214
1215 2005-11-17  Wim Taymans  <wim@fluendo.com>
1216
1217         * gst/net/gstnetclientclock.c: (do_linear_regression),
1218         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1219         Fix compilation, uninitialized vars and a forgotten continue.
1220
1221 2005-11-17  Andy Wingo  <wingo@pobox.com>
1222
1223         * check/Makefile.am (check_PROGRAMS): 
1224         * check/net/gstnetclientclock.c: Add a most minimal test for the
1225         net client clock. More to come later.
1226
1227         * gst/net/gstnet.h: 
1228         * gst/net/Makefile.am: Add netclientclock.
1229
1230         * gst/net/gstnetclientclock.h:
1231         * gst/net/gstnetclientclock.c: New files, implement an untested
1232         GstClock that takes its time from a network time provider.
1233         Implements the algorithm in network-clock.scm.
1234
1235         * tests/network-clock.scm (*window-size*): Rename from
1236         *queue-length*.
1237         * tests/network-clock.scm (network-time): 
1238         * tests/network-clock-utils.scm (q-push): Update callers.
1239
1240 2005-11-17  Wim Taymans  <wim@fluendo.com>
1241
1242         * gst/gstbin.c: (gst_bin_provide_clock_func),
1243         (gst_bin_sort_iterator_new):
1244         And unref the child too..
1245
1246 2005-11-17  Wim Taymans  <wim@fluendo.com>
1247
1248         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1249         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1250         Refactor the sort iterator so it can be used while holding the
1251         LOCK too.
1252         Make clock selection select a clock closest to the source.
1253
1254 2005-11-17  Michael Smith <msmith@fluendo.com>
1255
1256         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1257         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1258         * gst/gstclock.h:
1259           Anonymous structs are a gcc (and some other compilers) extension, so
1260           don't use them. Since this is only for ABI-compatibility, and our
1261           API/ABI freeze is over in a few days, this whole thing will only
1262           last a few days, so don't bother trying to think up a meaningful
1263           name for the struct.
1264
1265 2005-11-17  Andy Wingo  <wingo@pobox.com>
1266
1267         * gst/gstclock.h (GstClock): Add rate and offset properties,
1268         preserving ABI stability. Add rate/offset accessors. Will file bug
1269         for the freeze break.
1270
1271         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1272         and offset, trying to keep precision and avoiding
1273         underflow/overflow.
1274         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1275         functions. Make gst_clock_set_time_adjust obsolete.
1276         (gst_clock_set_time_adjust): Note that this function is obsolete.
1277         Will file bug soon.
1278
1279         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1280         greppable by using GST_PADDING-1+1.
1281
1282 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1283
1284         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1285
1286         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1287           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1288
1289         * gst/gstpadtemplate.h:
1290         * gst/gstpluginfeature.h:
1291           Don't use c++ style comments in headers (#321638).
1292
1293 2005-11-16  Andy Wingo  <wingo@pobox.com>
1294
1295         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1296         buffer.
1297
1298         * check/net/gstnettimeprovider.c: Check to see that the time
1299         provider actually provides times. Works, yo!
1300
1301 2005-11-16  Wim Taymans  <wim@fluendo.com>
1302
1303         * check/Makefile.am:
1304         Enable more tests.
1305
1306         * check/elements/fakesrc.c: (GST_START_TEST):
1307         Set element to NULL before disposing it.
1308
1309 2005-11-16  Andy Wingo  <wingo@pobox.com>
1310
1311         * gst/net/Makefile.am:
1312         * gst/net/gstnet.h:
1313         * gst/net/gstnettimeprovider.c: 
1314         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1315         provider, include it from gstnet.h, and add it to the build.
1316
1317         * gst/net/gstnettimepacket.h: 
1318         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1319         sending and receiving.
1320
1321 2005-11-16  Wim Taymans  <wim@fluendo.com>
1322
1323         * check/Makefile.am:
1324         Enable valgrind check.
1325
1326         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1327         (gst_fake_src_alloc_buffer):
1328         Fix memleak.
1329
1330 2005-11-16  Wim Taymans  <wim@fluendo.com>
1331
1332         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1333         Call parent finalize too.
1334
1335 2005-11-16  Wim Taymans  <wim@fluendo.com>
1336
1337         * check/Makefile.am:
1338         Enable valgrind check that should work fine now.
1339
1340         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1341         * gst/gstqueue.c: (gst_queue_init):
1342         Fix memleaks in pad allocation.
1343
1344 2005-11-16  Andy Wingo  <wingo@pobox.com>
1345
1346         * gst/net/Makefile.am:
1347         * gst/net/gstnet.h: New part of core to hold network elements and
1348         objects. Put in core because it exposes API that applications want
1349         to use. The library is named libgstnet-tempname right now because
1350         of the existing libgstnet in gst-plugins-base. Solution is
1351         probably to rename the one in plugins-base; will file a bug for
1352         the freeze break.
1353
1354         * gst/net/gstnettimeprovider.c: 
1355         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1356         get_time call over the network.
1357
1358         * configure.ac: 
1359         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1360
1361         * check/Makefile.am:
1362         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1363         get additions shortly.
1364
1365 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1366
1367         * gst/gstpad.c: (gst_pad_new_from_static_template):
1368         * gst/gstpad.h:
1369           add gst_pad_new_from_static_template functions
1370         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1371         (gst_check_setup_sink_pad):
1372         * gst/elements/gsttee.c: (gst_tee_init):
1373           and use them
1374
1375 2005-11-16  Wim Taymans  <wim@fluendo.com>
1376
1377         * gst/gstpad.c: (gst_pad_pause_task):
1378         Removed warning, it's not really an error either.
1379
1380 2005-11-16  Wim Taymans  <wim@fluendo.com>
1381
1382         * gst/base/gstbasetransform.c:
1383         (gst_base_transform_prepare_output_buf),
1384         (gst_base_transform_event):
1385         Check if the caps are NULL, this can happen if the element
1386         is shutting down and the pad caps are set to NULL.
1387
1388 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1389
1390         * gst/elements/gsttee.c: (gst_tee_init):
1391           fix pad template leak in tee
1392
1393 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1394
1395         * gst/glib-compat.c: (g_value_dup_gst_object):
1396         * gst/glib-compat.h:
1397         * gst/gstpad.c: (gst_pad_set_property):
1398           use gst_object_ref when setting the pad template; this will
1399           trigger the pad template leaks on GLib 2.6 and the slaves
1400
1401 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1402
1403         * gst/glib-compat.c: (gst_flags_get_first_value):
1404         * gst/glib-compat.h:
1405         * gst/gstregistryxml.c:
1406           remove functions copied from GLib 2.6
1407
1408 2005-11-16  Michael Smith <msmith@fluendo.com>
1409
1410         * gst/Makefile.am:
1411           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1412           do, but only breaks with newer valgrind versions. We're not a
1413           valgrind tool, we have no link-time dependencies on libcoregrind.
1414
1415 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1418           some debug changes
1419         * gst/gstmessage.h:
1420           typo fixes
1421
1422 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1423
1424         * gst/base/gstbasesrc.c: (gst_base_src_init):
1425         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1426         * gst/gstqueue.c: (gst_queue_init):
1427         * gst/gstregistryxml.c: (load_feature):
1428           Revert all these unrefs, they don't even pass make check !
1429
1430 2005-11-15  Johan Dahlin  <johan@gnome.org>
1431
1432         * gst/base/gstbasesrc.c: (gst_base_src_init):
1433         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1434         * gst/gstqueue.c: (gst_queue_init): 
1435         Free pad templates, fixes a couple of leaks.
1436
1437 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1438
1439         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1440
1441         * gst/gstpad.c: (gst_pad_get_property):
1442           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1443           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1444           (#321452)
1445
1446 2005-11-15  Wim Taymans  <wim@fluendo.com>
1447
1448         * gst/gstevent.c:
1449         Small doc update.
1450
1451 2005-11-15  Andy Wingo  <wingo@pobox.com>
1452
1453         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1454
1455         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1456         using GST_CLOCK_TIME_NONE to disable base time management.
1457         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1458         time if it was NONE before.
1459         (gst_pipeline_change_state): Only munge the base time if
1460         stream_time != GST_CLOCK_TIME_NONE.
1461
1462         * check/gst/gstpipeline.c (test_base_time): Punt around the
1463         problem of the probe not being called, because that's not the
1464         issue I'm looking at. Add a check that setting stream_time to NONE
1465         disables base time management.
1466         
1467 2005-11-15  Wim Taymans  <wim@fluendo.com>
1468
1469         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1470         segment_stop == -1 at startup.
1471
1472         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1473         (gst_base_transform_change_state):
1474         Init segment values at start.
1475
1476 2005-11-15  Wim Taymans  <wim@fluendo.com>
1477
1478         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1479         0 segment values are 0 in any format.
1480
1481         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1482         * gst/base/gstbasetransform.h:
1483         Parse newsegment correctly in basetransform
1484
1485         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1486         Sync to clock using updated segment values.
1487
1488 2005-11-15  Andy Wingo  <wingo@pobox.com>
1489
1490         * check/gst/gstpipeline.c (test_base_time): Add check that the
1491         base time and stream time are reset correctly.
1492
1493 2005-11-15  Wim Taymans  <wim@fluendo.com>
1494
1495         * docs/design/part-TODO.txt:
1496         Some more TODO items.
1497
1498 2005-11-15  Andy Wingo  <wingo@pobox.com>
1499
1500         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1501         error if the user selected "no clock" as the clocking method.
1502
1503         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1504         timestamps with live capture.
1505
1506         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1507         is 0 but we are a live source, timestamp the buffers using the
1508         element's clock.
1509
1510 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1511
1512         * docs/gst/gstreamer-sections.txt:
1513         * gst/gsterror.c:
1514         * gst/gstghostpad.c:
1515         * gst/gstobject.h:
1516         * gst/gstxml.c:
1517           more section docs
1518
1519 2005-11-14  Wim Taymans  <wim@fluendo.com>
1520
1521         * common/gst.supp:
1522           add suppressions from Wim's Debian machine
1523
1524 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1525
1526         * common/gst.supp:
1527           add suppressions from Andy's AMD64 Ubuntu machine
1528
1529 2005-11-14  Andy Wingo  <wingo@pobox.com>
1530
1531         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1532         STATE_LOCK not necessary. Fixes #311489.
1533
1534         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1535         #305291.
1536
1537         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1538         this function is not implemented.
1539
1540 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1541
1542         * gst/base/gstbasetransform.c:
1543         (gst_base_transform_prepare_output_buf):
1544         Ref the source pad caps while we need them.
1545         Fixes (#321386)
1546
1547 2005-11-11  Wim Taymans  <wim@fluendo.com>
1548
1549         * docs/gst/gstreamer-sections.txt:
1550         Added some docs for GstCollectData.
1551
1552         * gst/base/gstadapter.c:
1553         Some small code example fix.
1554
1555         * gst/base/gstcollectpads.c:
1556         * gst/base/gstcollectpads.h:
1557         Document some more.
1558
1559 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1560
1561         * configure.ac: back to HEAD
1562
1563 === release 0.9.5 ===
1564
1565 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1566
1567         * configure.ac:
1568           releasing 0.9.5, "Bike Lunch Day"
1569
1570 2005-11-11  Wim Taymans  <wim@fluendo.com>
1571
1572         * gst/gstbuffer.c: (_gst_buffer_copy):
1573         Copy more flags.
1574
1575         * gst/gstcaps.c: (gst_caps_is_equal):
1576         Fix some docs.
1577         Make _is_equal fast in the trivial cases.
1578
1579         * gst/gstminiobject.c:
1580         * gst/gstminiobject.h:
1581         More docs. Spifify .h file.
1582
1583         * gst/gstutils.c:
1584         Small doc update.
1585
1586 2005-11-11  Wim Taymans  <wim@fluendo.com>
1587
1588         * gst/base/gstbasetransform.c:
1589         (gst_base_transform_prepare_output_buf),
1590         (gst_base_transform_handle_buffer):
1591         Small cleanups.
1592         If we're processing a buffer and need to allocate an output
1593         buffer, we cannot accept a format change. If we did get a 
1594         format change, we have to alloc a buffer ourselves of the 
1595         right size.
1596
1597 2005-11-11  Wim Taymans  <wim@fluendo.com>
1598
1599         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1600         While checking the flag for reentrancy in the gstcaps function
1601         is nice to detect recursive invocations, it also makes it 
1602         impossible to call getcaps from multiple threads, which must be
1603         possible. So, checking for recursive calls has to go.
1604
1605 2005-11-11  Michael Smith <msmith@fluendo.com>
1606
1607         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1608           Don't sync on buffers that fall partially outside our current
1609           segment. Prevents an assertion failure/abort playing some files.
1610
1611 2005-11-10  Andy Wingo  <wingo@pobox.com>
1612
1613         * check/gst/gstbin.c (test_message_state_changed_children): Style
1614         fix..
1615
1616         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1617         gst_bus_poll with the signal watch. Ensures that poll and a signal
1618         watch see the same messages.
1619
1620         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1621         a poll and a watch at the same time get the same messages.
1622
1623 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1624
1625         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1626         * gst/gstcaps.c: (gst_caps_intersect):
1627           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1628           and it's not needed.
1629
1630 2005-11-10  Wim Taymans  <wim@fluendo.com>
1631
1632         * docs/design/part-TODO.txt:
1633         Updated todo.
1634
1635 2005-11-10  Wim Taymans  <wim@fluendo.com>
1636
1637         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1638         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1639         (gst_base_src_do_sync), (gst_base_src_get_range):
1640         Implement clock sync in base class.
1641
1642 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1643
1644         patch by: Tim-Philipp Müller <tim at centricular dot net>
1645
1646         * gst/gststructure.c: (gst_structure_parse_field),
1647         (gst_structure_from_string):
1648           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1649           so that gst_parse_launch() can deal with spaces in filtered link
1650           caps (fixes #164479)
1651         * check/gst/capslist.h:
1652         * check/gst/gststructure.c: (GST_START_TEST):
1653           add unit tests for this change
1654
1655 2005-11-10  Wim Taymans  <wim@fluendo.com>
1656
1657         * docs/gst/gstreamer-sections.txt:
1658         * gst/gstelement.c:
1659         * gst/gstelement.h:
1660         Fix docs, move some STATE macros to private.
1661
1662 2005-11-10  Wim Taymans  <wim@fluendo.com>
1663
1664         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1665         Added check for bug #317341
1666
1667         * gst/gstbuffer.c:
1668         * gst/gstbuffer.h:
1669         Some more spiffifying.
1670
1671         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1672         Call peer linkfunction if we are a source pad. Totally fixes
1673         #317341
1674
1675         * gst/gstpad.c:
1676         Update docs, source pads should call the peer linkfunction
1677         so they can atomically perform the pad link.
1678
1679 2005-11-09  Wim Taymans  <wim@fluendo.com>
1680
1681         * gst/gstbuffer.c:
1682         * gst/gstbuffer.h:
1683         Uber-spiffy-spiffify some more.
1684
1685 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1686
1687         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1688         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1689         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1690         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1691         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1692         * gst/gstpad.c: (gst_pad_init):
1693           Use GST_DEBUG_FUNCPTR() more extensively.
1694
1695 2005-11-09  Wim Taymans  <wim@fluendo.com>
1696
1697         * gst/gstobject.c: (gst_object_class_init):
1698         * gst/gstobject.h:
1699         Documentation fixes.
1700
1701 2005-11-09  Edward Hervey  <edward@fluendo.com>
1702
1703         * gst/gsttypefindfactory.c:
1704         Fix docs.
1705         
1706 2005-11-09  Edward Hervey  <edward@fluendo.com>
1707
1708         * gst/base/gsttypefindhelper.c:
1709         * gst/gsttypefind.c:
1710         * gst/gsttypefind.h:
1711         Fix docs.
1712
1713 2005-11-09  Wim Taymans  <wim@fluendo.com>
1714
1715         * gst/gstiterator.c:
1716         Fix revision data.
1717
1718         * gst/gsttask.c:
1719         * gst/gsttask.h:
1720         Fix docs.
1721
1722 2005-11-09  Wim Taymans  <wim@fluendo.com>
1723
1724         * gst/gstevent.h:
1725         * gst/gsturi.h:
1726         Fix docs.
1727
1728 2005-11-09  Wim Taymans  <wim@fluendo.com>
1729
1730         * docs/gst/gstreamer-sections.txt:
1731         Moved the message async delivery private lock and cond
1732         to the private section.
1733
1734         * gst/gstmessage.c:
1735         * gst/gstmessage.h:
1736         Fixed docs.
1737
1738 2005-11-09  Edward Hervey  <edward@fluendo.com>
1739
1740         * docs/gst/gstreamer-sections.txt:
1741         * gst/gsturi.c:
1742         * gst/gsturi.h:
1743         Document GstURIHandler
1744
1745 2005-11-09  Wim Taymans  <wim@fluendo.com>
1746
1747         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1748         (gst_iterator_find_custom):
1749         * gst/gstiterator.h:
1750         Fix iterator docs.
1751
1752 2005-11-09  Wim Taymans  <wim@fluendo.com>
1753
1754         * gst/gstbin.h:
1755         Document another field.
1756
1757         * gst/gststructure.c:
1758         * gst/gststructure.h:
1759         Document.
1760
1761 2005-11-09  Wim Taymans  <wim@fluendo.com>
1762
1763         * gst/gstbin.h:
1764         Documented structs.
1765
1766 2005-11-09  Wim Taymans  <wim@fluendo.com>
1767
1768         * docs/gst/gstreamer-sections.txt:
1769         Added some new macros.
1770
1771         * gst/gstclock.c:
1772         * gst/gstclock.h:
1773         * gst/gstobject.h:
1774         Docs updates.
1775
1776 2005-11-09  Wim Taymans  <wim@fluendo.com>
1777
1778         * docs/design/part-TODO.txt:
1779         Some more items for the TODO
1780
1781         * gst/gstcaps.c:
1782         * gst/gstcaps.h:
1783         Document GstCaps.
1784
1785 2005-11-09  Andy Wingo  <wingo@pobox.com>
1786
1787         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1788         to work on something else now tho...
1789
1790         * gst/base/gstadapter.c: More adapter docs.
1791
1792         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1793         (gst_file_sink_stop): New functions, replace the state change
1794         handler.
1795         (gst_file_sink_class_init): Hook up the start and stop functions.
1796         (gst_file_sink_base_init): Don't set the state change handler any
1797         more. It was a bit ugly too, being set from here...
1798         (gst_file_sink_get_property, gst_file_sink_set_property):
1799         Cleanups...
1800         (gst_file_sink_set_location): More robust check that doesn't call
1801         GST_STATE. Ugggggg.
1802
1803 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1804
1805         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1806           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1807
1808 2005-11-08  Wim Taymans  <wim@fluendo.com>
1809
1810         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1811         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1812         (gst_base_sink_chain), (gst_base_sink_change_state):
1813         * gst/base/gstbasesink.h:
1814         * gst/base/gstbasesrc.h:
1815         * gst/gstelement.h:
1816         * gst/gstevent.h:
1817         Avoid excessive typechecking in macros.
1818
1819         * gst/gstminiobject.c: (gst_mini_object_get_type),
1820         (gst_mini_object_init), (gst_mini_object_new),
1821         (gst_mini_object_free):
1822         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1823         (gst_object_finalize):
1824         Remove cruft code, optimize alloc_trace.
1825
1826 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1827
1828         * docs/faq/gst-uninstalled:
1829           fix up PS1 for systems that try to reset it
1830
1831 2005-11-07  Wim Taymans  <wim@fluendo.com>
1832
1833         * gst/base/gstbasesrc.c: (gst_base_src_init),
1834         (gst_base_src_get_range):
1835         Set the segment_end to -1 initially. Fixed typefind.
1836
1837 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1838
1839         * gst/base/gstadapter.c:
1840           Debug category should be 'adapter', not 'GstAdapter'.
1841           
1842         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1843         (gst_collectpads_class_init), (gst_collectpads_init),
1844         (gst_collectpads_peek), (gst_collectpads_pop),
1845         (gst_collectpads_event), (gst_collectpads_chain):
1846           Add debug category and some debugging output. Use boilerplate
1847           macros. Remove some extraneous words from docs.
1848
1849 2005-11-05  Andy Wingo  <wingo@pobox.com>
1850
1851         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1852         macro.
1853
1854 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1855
1856         * docs/gst/gstreamer-sections.txt:
1857         * gst/gstcaps.h:
1858         * gst/gstinfo.c:
1859         * gst/gstminiobject.h:
1860         * gst/gstobject.h:
1861         * gst/gstutils.h:
1862           more docs added
1863
1864 2005-11-04  Wim Taymans  <wim@fluendo.com>
1865
1866         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1867         Small update to stop at the configured segment_end
1868         position.
1869
1870 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1871
1872         * gst/gstregistry.c:
1873         * gst/gstregistry.h:
1874           added missing docs
1875
1876 2005-11-04  Edward Hervey  <edward@fluendo.com>
1877
1878         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1879         Check if we are doing a segment seek and have arrived at the
1880         end of that segment.
1881
1882 2005-11-04  Wim Taymans  <wim@fluendo.com>
1883
1884         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1885         Don't leak a mutex unlock in case of an error.
1886
1887         * gst/gstbus.h:
1888         Doc fixes.
1889
1890 2005-11-04  Wim Taymans  <wim@fluendo.com>
1891
1892         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1893         (gst_bus_post):
1894         Get the context to wake up only once.
1895
1896 2005-11-03  Wim Taymans  <wim@fluendo.com>
1897
1898         * check/states/sinks.c: (GST_START_TEST):
1899         Uncomment fixed check.
1900
1901         * docs/design/part-TODO.txt:
1902         Updated TODO.
1903
1904         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1905         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1906         (gst_base_sink_get_position):
1907         If we are going to PLAYING, post the right pending state
1908         when we post the intermediate paused message.
1909
1910         * gst/gstelement.c: (gst_element_continue_state),
1911         (gst_element_set_state_func), (gst_element_change_state):
1912         Don't post state changes that were between the same state
1913         and were not ASYNC.
1914
1915 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1916
1917         * docs/gst/gstreamer-sections.txt:
1918         * gst/gstcaps.h:
1919         * gst/gstinfo.c:
1920         * gst/gstminiobject.h:
1921         * gst/gstobject.h:
1922         * gst/gstutils.h:
1923           more docs and doc style fixes
1924
1925 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1926
1927         * docs/gst/gstreamer-sections.txt:
1928         * gst/gstelement.c:
1929         * gst/gstminiobject.c:
1930         doc fixes
1931
1932 2005-11-03  Andy Wingo  <wingo@pobox.com>
1933
1934         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1935         state-changed messages actually have the right order and the right
1936         values.
1937
1938 2005-11-03  Wim Taymans  <wim@fluendo.com>
1939
1940         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1941         Added some more checks. Specifically the case where NO_PREROLL
1942         elements are in the pipeline.
1943
1944         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1945         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1946         (gst_base_sink_get_position):
1947         Post READY->PAUSED state change messages too.
1948         Fix bug where VOID was posted as pending state...
1949
1950         * gst/gstbin.c: (gst_bin_recalc_state):
1951         use _element_continue_state() to continue the state change.
1952
1953         * gst/gstelement.c: (gst_element_continue_state),
1954         (gst_element_commit_state), (gst_element_set_state_func),
1955         (gst_element_change_state), (gst_element_change_state_func):
1956         Lots of state change cleanups, assign the STATE_RETURN in
1957         a new continue_state() function that also propagates the
1958         last return value from a state change to the app.
1959         Update some debug statements with proper category.
1960
1961 2005-11-03  Wim Taymans  <wim@fluendo.com>
1962
1963         * docs/design/part-events.txt:
1964         * docs/design/part-gstpipeline.txt:
1965         * docs/design/part-messages.txt:
1966         * docs/design/part-overview.txt:
1967         * docs/design/part-seeking.txt:
1968         * docs/design/part-states.txt:
1969         * docs/design/part-trickmodes.txt:
1970         * docs/manual/advanced-position.xml:
1971         Small docs updates.
1972
1973         * gst/gstobject.h:
1974         People think !! is ugly, this looks better.
1975
1976         * gst/gstpad.c: (gst_pad_set_blocked_async):
1977         Remove !! since it's fixed elsewhere now.
1978
1979 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1980
1981         * gst/gstminiobject.h:
1982         * gst/gstobject.h:
1983           Add !! to _FLAG_IS_SET macros to make the result boolean.
1984
1985 2005-11-03  Edward Hervey  <edward@fluendo.com>
1986
1987         * gst/gstpad.c: (gst_pad_set_blocked_async):
1988         comparing a flag and a gboolean rarely returns coherent results...
1989         Added two characters (!!) to make that work correctly.
1990         
1991 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1992
1993         * gst/gstbus.c: (gst_bus_class_init):
1994           Fix some typos.
1995           
1996         * gst/gstqueue.c: (gst_queue_loop):
1997           Don't assume a miniobject that isn't a buffer is an
1998           event (it could be that there is a refcounting
1999           problem somewhere and the pointer is stale and
2000           refers to an already destroyed miniobject).
2001
2002 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2003
2004         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2005
2006 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2007
2008         * docs/manual/advanced-position.xml:
2009           Update seek example and explanations to current 0.9 API.
2010
2011         * gst/elements/gsttypefindelement.c:
2012         (gst_type_find_element_activate):
2013           Remove FIXME comment now that the found caps
2014           are unreffed.
2015
2016 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2017
2018         * gst/gstregistryxml.c: (load_feature):
2019           Add another GST_STR_NULL instance
2020
2021 2005-11-02  Edward Hervey  <edward@fluendo.com>
2022
2023         * gst/gstpad.c: (handle_pad_block):
2024         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2025         
2026 2005-11-02  Wim Taymans  <wim@fluendo.com>
2027
2028         * gst/gstbin.c:
2029         Fix typo in docs.
2030
2031         * gst/gstelement.c: (gst_element_commit_state):
2032         Remove unused value.
2033
2034         * gst/gstiterator.c:
2035         Mention that the returned element is reffed in the docs.
2036
2037 2005-11-02  Wim Taymans  <wim@fluendo.com>
2038
2039         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2040         (gst_pad_push), (gst_pad_push_event):
2041         Unlock blocked pads when they are flushed.
2042
2043 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2044
2045         * docs/README:
2046         * docs/gst/gstreamer-sections.txt:
2047         * gst/gstbin.c:
2048           doc updates
2049         * gst/gstregistry.c: (gst_registry_scan_path_level):
2050           fix for a nasty little missed situation where an installed plug-in
2051           which was in the cache did not get overridden by an uninstalled one
2052           which was earlier in the plugin path because the newly created plugin
2053           for the uninstalled one (not in the registry) didn't get its
2054           ->registered set to TRUE
2055
2056 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2057
2058         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2059         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2060         (gst_collectpads_is_active), (gst_collectpads_collect),
2061         (gst_collectpads_collect_range), (gst_collectpads_start),
2062         (gst_collectpads_stop), (gst_collectpads_peek),
2063         (gst_collectpads_pop), (gst_collectpads_available),
2064         (gst_collectpads_read), (gst_collectpads_flush):
2065           Guard public API with assertions.
2066         
2067         * gst/gstpad.c:
2068           Fix docs for gst_pad_set_link_function().
2069
2070 2005-11-02  Johan Dahlin  <johan@gnome.org>
2071
2072         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2073         Unref found_caps after we used it.
2074
2075 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2076
2077         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2078           Don't try to ref NULL.
2079
2080 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2081
2082         * win32/common/config.h.in:
2083           provide a GST_FUNCTION that just gives a string for now
2084
2085 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2086
2087         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2088         (gst_object_flags_get_type), (register_gst_bin_flags),
2089         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2090         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2091         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2092         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2093         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2094         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2095         (gst_clock_flags_get_type), (register_gst_state),
2096         (gst_state_get_type), (register_gst_state_change_return),
2097         (gst_state_change_return_get_type), (register_gst_state_change),
2098         (gst_state_change_get_type), (register_gst_element_flags),
2099         (gst_element_flags_get_type), (register_gst_core_error),
2100         (gst_core_error_get_type), (register_gst_library_error),
2101         (gst_library_error_get_type), (register_gst_resource_error),
2102         (gst_resource_error_get_type), (register_gst_stream_error),
2103         (gst_stream_error_get_type), (register_gst_event_type),
2104         (gst_event_type_get_type), (register_gst_seek_type),
2105         (gst_seek_type_get_type), (register_gst_seek_flags),
2106         (gst_seek_flags_get_type), (register_gst_format),
2107         (gst_format_get_type), (register_gst_index_certainty),
2108         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2109         (gst_index_entry_type_get_type),
2110         (register_gst_index_lookup_method),
2111         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2112         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2113         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2114         (gst_index_flags_get_type), (register_gst_debug_level),
2115         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2116         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2117         (gst_iterator_result_get_type), (register_gst_iterator_item),
2118         (gst_iterator_item_get_type), (register_gst_message_type),
2119         (gst_message_type_get_type), (register_gst_mini_object_flags),
2120         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2121         (gst_pad_link_return_get_type), (register_gst_flow_return),
2122         (gst_flow_return_get_type), (register_gst_activate_mode),
2123         (gst_activate_mode_get_type), (register_gst_pad_direction),
2124         (gst_pad_direction_get_type), (register_gst_pad_flags),
2125         (gst_pad_flags_get_type), (register_gst_pad_presence),
2126         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2127         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2128         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2129         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2130         (gst_plugin_flags_get_type), (register_gst_rank),
2131         (gst_rank_get_type), (register_gst_query_type),
2132         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2133         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2134         (gst_tag_flag_get_type), (register_gst_task_state),
2135         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2136         (gst_alloc_trace_flags_get_type),
2137         (register_gst_type_find_probability),
2138         (gst_type_find_probability_get_type), (register_gst_uri_type),
2139         (gst_uri_type_get_type), (register_gst_parse_error),
2140         (gst_parse_error_get_type):
2141         * win32/common/gstversion.h:
2142           update win32 copies
2143
2144 2005-11-01  Luca Ognibene  <luogni@tin.it>
2145
2146         * gst/gst.c:
2147           fix docs. popt is dead, long live GOption.
2148
2149 2005-10-31  Wim Taymans  <wim@fluendo.com>
2150
2151         * gst/gstbuffer.h:
2152         Small doc fix.
2153
2154 2005-10-31  Andy Wingo  <wingo@pobox.com>
2155
2156         * Boo!
2157
2158         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2159
2160         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2161         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2162         the possibility of deadlocks here if code calling notify() or
2163         set() has a lock that can be taken in another notify handler (ABBA
2164         with class lock and e.g. python GIL state lock).
2165
2166 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2167
2168         * gst/gstbus.c: Doc updates.
2169
2170 2005-10-28  Wim Taymans  <wim@fluendo.com>
2171
2172         * docs/design/part-TODO.txt:
2173         * gst/gstiterator.c:
2174         * gst/gstsystemclock.c:
2175         * gst/gstsystemclock.h:
2176         Doc updates.
2177
2178 2005-10-28  Edward Hervey  <edward@fluendo.com>
2179
2180         * docs/gst/gstreamer-docs.sgml:
2181         * docs/gst/gstreamer-sections.txt:
2182         the GstURIType documentation page is private, it only defines GstURIType
2183         which should be defined in the GstURIHandler page
2184         
2185 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2186
2187         * gst/gstbin.c: (gst_bin_class_init):
2188         * gst/gstbin.h:
2189         * gst/gstutils.c:
2190         Documentation updates.
2191
2192 2005-10-28  Wim Taymans  <wim@fluendo.com>
2193
2194         * docs/gst/gstreamer-sections.txt:
2195         * gst/gstclock.c:
2196         * gst/gstclock.h:
2197         Documented the clocks.
2198
2199 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2200
2201         * docs/gst/gstreamer-sections.txt:
2202           move some macros to private sections
2203         * gst/gstminiobject.c:
2204         * gst/gstminiobject.h:
2205           add descriptions provided by ds and some more
2206         * gst/gstpad.h:
2207           mark macro as to be removed
2208
2209 2005-10-28  Wim Taymans  <wim@fluendo.com>
2210
2211         * docs/design/part-TODO.txt:
2212         Add an item to TODO.
2213
2214         * gst/gstiterator.c: (gst_iterator_fold),
2215         (gst_iterator_find_custom):
2216         * gst/gstiterator.h:
2217         Add iterator docs.
2218
2219 2005-10-28  Wim Taymans  <wim@fluendo.com>
2220
2221         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2222         (gst_base_transform_init):
2223         Don't leak class.
2224
2225         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2226         An EOS event marks the queue as completely filled.
2227
2228 2005-10-27  Wim Taymans  <wim@fluendo.com>
2229
2230         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2231         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2232         Some more debugging.
2233
2234         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2235         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2236         (gst_base_transform_event), (gst_base_transform_getrange),
2237         (gst_base_transform_chain):
2238         * gst/base/gstbasetransform.h:
2239         Fix debugging,
2240         Protect transform and concurrent buffer alloc with a new lock.
2241         Try not to break ABI/API.
2242
2243 2005-10-27  Wim Taymans  <wim@fluendo.com>
2244
2245         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2246         (gst_base_src_init), (gst_base_src_query),
2247         (gst_base_src_default_newsegment),
2248         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2249         (gst_base_src_send_event), (gst_base_src_event_handler),
2250         (gst_base_src_pad_get_range), (gst_base_src_loop),
2251         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2252         (gst_base_src_start), (gst_base_src_deactivate),
2253         (gst_base_src_activate_push), (gst_base_src_change_state):
2254         Move some stuff around and cleanup things.
2255
2256 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2257
2258         * gst/base/gstbasesrc.c: (gst_base_src_query):
2259           Add missing break statements.
2260
2261 2005-10-27  Wim Taymans  <wim@fluendo.com>
2262
2263         * check/gst/gstbin.c: (GST_START_TEST):
2264         An extra refcount is taken in basesrc.
2265
2266         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2267         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2268         (gst_base_src_loop):
2269         Small cleanups, check for flushing after being unlocked from the 
2270         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2271         Don't send out EOS when going to READY.
2272
2273 2005-10-27  Wim Taymans  <wim@fluendo.com>
2274
2275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2276         (gst_base_sink_get_position):
2277         Some more debug.
2278
2279         * gst/gstbin.c: (message_check), (bin_replace_message),
2280         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2281         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2282         (bin_query_duration_init), (bin_query_duration_fold),
2283         (bin_query_duration_done), (bin_query_generic_fold),
2284         (gst_bin_query):
2285         * tools/gst-launch.c: (main):
2286         Remove old option.
2287
2288 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2289
2290         * examples/controller/audio-example.c: (main):
2291         * examples/queue/queue.c: (event_loop):
2292         * gst/base/gstbasetransform.h:
2293         * gst/gstelement.c: (gst_element_send_event):
2294         * gst/gstevent.h:
2295         * gst/gstpad.c: (gst_pad_send_event):
2296           fixing examples
2297           fixing docs typos
2298           changing log priority in error situations
2299
2300 2005-10-25  Wim Taymans  <wim@fluendo.com>
2301
2302         * gst/gstbin.c: (message_check), (bin_replace_message),
2303         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2304         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2305         (bin_query_duration_init), (bin_query_duration_fold),
2306         (bin_query_duration_done), (bin_query_generic_fold),
2307         (gst_bin_query):
2308         Some doc and debug updates.
2309         Cache previously requested query DURATION for speed. invalidate
2310         cached duration if element posts a DURATION message.
2311
2312 2005-10-25  Wim Taymans  <wim@fluendo.com>
2313
2314         * docs/design/part-TODO.txt:
2315         Update TODO.
2316
2317         * gst/gstbin.c: (message_check), (bin_replace_message),
2318         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2319         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2320         (bin_query_duration_init), (bin_query_duration_fold),
2321         (bin_query_duration_done), (bin_query_generic_fold),
2322         (gst_bin_query):
2323         Handle SEGMENT_START/DONE messages correctly.
2324         More evolved query algorithm that handles duration queries
2325         correctly.
2326
2327         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2328         (gst_element_get_state_func), (gst_element_abort_state),
2329         (gst_element_commit_state), (gst_element_lost_state):
2330         Some more debugging.
2331
2332         * gst/gstmessage.h:
2333         Added doc.
2334
2335 2005-10-25  Wim Taymans  <wim@fluendo.com>
2336
2337         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2338         Don't use invalid stream_time.
2339
2340         * gst/gstevent.c: (gst_event_new_newsegment):
2341         stream_time in newsegment cannot be undefined.
2342
2343 2005-10-24  Wim Taymans  <wim@fluendo.com>
2344
2345         * gst/gstbus.c:
2346         Doc fix.
2347
2348         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2349         (gst_queue_loop):
2350         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2351
2352 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2353
2354         * docs/libs/tmpl/gstdparam.sgml:
2355         * docs/libs/tmpl/gstdplinint.sgml:
2356         * docs/libs/tmpl/gstdpman.sgml:
2357         * docs/libs/tmpl/gstdpsmooth.sgml:
2358         * docs/libs/tmpl/gstunitconvert.sgml:
2359           these are obsolete
2360
2361 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2362
2363         * configure.ac:
2364           back to HEAD
2365
2366 === release 0.9.4 ===
2367
2368 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2369
2370         * configure.ac:
2371           releasing 0.9.4, "Tyrannosaurus Rex"
2372
2373 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2374
2375         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2376         (gst_file_sink_get_current_offset):
2377           Use fseeko() and ftello() if available. When falling back on
2378           lseek() to get the current offset, fflush() first to make sure
2379           everything is up-to-date and we get the right offset.
2380
2381 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2382
2383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2384         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2385         * gst/gsterror.c: (_gst_stream_errors_init):
2386         * gst/gsterror.h:
2387         * gst/gstqueue.c: (gst_queue_loop):
2388         * po/POTFILES.in:
2389           remove prematurely added error category and clean up the instances
2390
2391 2005-10-21  Wim Taymans  <wim@fluendo.com>
2392
2393         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2394         (gst_base_sink_get_position), (gst_base_sink_query),
2395         (gst_base_sink_change_state):
2396         Simply set the right flag when going to playing, that's all
2397         we need to do instead of calling a function inside the object
2398         lock (that could take the lock as well and deadlock)
2399
2400 2005-10-21  Wim Taymans  <wim@fluendo.com>
2401
2402         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2403         (gst_base_src_loop):
2404         Don't warn, the peer element knows what to do best when
2405         the seek failed, it might try something else.
2406
2407 2005-10-21  Wim Taymans  <wim@fluendo.com>
2408
2409         * gst/base/gstbasesrc.c: (gst_base_src_init),
2410         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2411         Fix seeking.
2412
2413 2005-10-21  Wim Taymans  <wim@fluendo.com>
2414
2415         * docs/design/part-segments.txt:
2416         More docs.
2417
2418         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2419         Correctly set caps, even on the subbufer.
2420
2421 2005-10-21  Wim Taymans  <wim@fluendo.com>
2422
2423         * docs/gst/gstreamer-docs.sgml:
2424         * docs/gst/gstreamer-sections.txt:
2425         * gst/gstelement.h:
2426         * gst/gstevent.c:
2427         * gst/gstevent.h:
2428         * gst/gstmessage.h:
2429         * gst/gstpad.h:
2430         * gst/gstparse.h:
2431         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2432         * gst/gsttask.h:
2433         * gst/gstutils.c:
2434         * gst/gstutils.h:
2435         And 2% more doc coverage.
2436
2437 2005-10-21  Andy Wingo  <wingo@pobox.com>
2438
2439         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2440         position reporting.
2441
2442 2005-10-20  Wim Taymans  <wim@fluendo.com>
2443
2444         * gst/gsterror.c: (gst_error_get_message):
2445         * gst/gstparse.h:
2446         * gst/gstquery.h:
2447         * gst/gststructure.c:
2448         * gst/gsttrace.c:
2449         * gst/gstutils.c:
2450         More docs.
2451
2452 2005-10-20  Wim Taymans  <wim@fluendo.com>
2453
2454         * gst/gstbuffer.h:
2455         * gst/gstpad.c:
2456         * gst/gstparse.c:
2457         Another 1% more coverage.
2458
2459 2005-10-20  Wim Taymans  <wim@fluendo.com>
2460
2461         * docs/gst/gstreamer-sections.txt:
2462         * gst/gstelement.c: (gst_element_get_state_func),
2463         (gst_element_abort_state), (gst_element_commit_state),
2464         (gst_element_lost_state):
2465         * gst/gstevent.h:
2466         * gst/gstquery.c: (gst_query_set_position),
2467         (gst_query_parse_position), (gst_query_set_duration),
2468         (gst_query_parse_duration), (gst_query_new_convert):
2469         * gst/gstutils.c:
2470         Yay! 1% more docs coverage.
2471
2472 2005-10-20  Wim Taymans  <wim@fluendo.com>
2473
2474         * gst/gstpad.h:
2475         * gst/gstquery.c: (gst_query_set_position),
2476         (gst_query_parse_position), (gst_query_set_duration),
2477         (gst_query_parse_duration), (gst_query_new_convert):
2478         * gst/gstquery.h:
2479         * gst/gstutils.c: (gst_element_query_convert):
2480         * gst/gstutils.h:
2481         Docs and consistency fixes.
2482
2483 2005-10-20  Wim Taymans  <wim@fluendo.com>
2484
2485         * gst/gsttask.c:
2486         * gst/gsttask.h:
2487         More docs.
2488
2489 2005-10-20  Wim Taymans  <wim@fluendo.com>
2490
2491         * gst/gstbin.c: (message_check), (bin_replace_message),
2492         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2493         (update_degree), (gst_bin_sort_iterator_next),
2494         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2495         Reworked the message handling a bit, cache the messages instead of
2496         only the senders. alows us to do more in the future.
2497
2498 2005-10-20  Wim Taymans  <wim@fluendo.com>
2499
2500         * docs/design/part-TODO.txt:
2501         Update TODO
2502
2503         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2504         (gst_base_sink_query):
2505         Don't use clock time to report position when in EOS.
2506
2507 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2508
2509         * tools/gst-inspect.c: (print_interfaces),
2510         (print_element_properties_info), (print_element_info):
2511           Fix interface output with gst-inspect -a; don't print
2512           newlines after double/float properties.
2513
2514 2005-10-20  Wim Taymans  <wim@fluendo.com>
2515
2516         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2517         (gst_base_sink_query):
2518         Speed up current position calculation.
2519
2520         * gst/base/gstbasesrc.c: (gst_base_src_query),
2521         (gst_base_src_default_newsegment):
2522         Correctly set stream position in newsegment.
2523
2524         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2525         (update_degree), (gst_bin_sort_iterator_next),
2526         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2527         * gst/gstmessage.c: (gst_message_new_custom):
2528         Clean up debugging info
2529
2530         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2531         (gst_queue_loop), (gst_queue_handle_src_query):
2532         Pause task faster.
2533
2534 2005-10-19  Wim Taymans  <wim@fluendo.com>
2535
2536         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2537         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2538         Fix query handling again.
2539
2540 2005-10-19  Wim Taymans  <wim@fluendo.com>
2541
2542         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2543         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2544         * gst/base/gstbasesrc.c: (gst_base_src_query):
2545         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2546         * gst/elements/gsttypefindelement.c:
2547         (gst_type_find_handle_src_query), (find_element_get_length),
2548         (gst_type_find_element_activate):
2549         API change fix.
2550
2551         * gst/gstquery.c: (gst_query_new_position),
2552         (gst_query_set_position), (gst_query_parse_position),
2553         (gst_query_new_duration), (gst_query_set_duration),
2554         (gst_query_parse_duration), (gst_query_set_segment),
2555         (gst_query_parse_segment):
2556         * gst/gstquery.h:
2557         Bundling query position/duration is not a good idea since duration
2558         does not change much and we don't want to recalculate it for every
2559         position query, so they are separated again..
2560         Base value in segment query is not needed.
2561
2562         * gst/gstqueue.c: (gst_queue_handle_src_query):
2563         * gst/gstutils.c: (gst_element_query_position),
2564         (gst_element_query_duration), (gst_pad_query_position),
2565         (gst_pad_query_duration):
2566         * gst/gstutils.h:
2567         Updates for query API change.
2568         Added some docs here and there.
2569
2570 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2571
2572         * check/gst/gstbin.c: (GST_START_TEST):
2573         * check/gst/gstghostpad.c: (GST_START_TEST):
2574         * check/pipelines/cleanup.c: (GST_START_TEST):
2575           wait on thread to die so we can check refcount correctly
2576
2577 2005-10-18  Wim Taymans  <wim@fluendo.com>
2578
2579         * check/pipelines/stress.c: (GST_START_TEST):
2580         Make check a little more time consuming.
2581
2582 2005-10-18  Wim Taymans  <wim@fluendo.com>
2583
2584         * check/Makefile.am:
2585         * check/pipelines/stress.c: (GST_START_TEST),
2586         (simple_launch_lines_suite), (main):
2587         Small state change torture test.
2588
2589         * docs/design/part-states.txt:
2590         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2591         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2592         (gst_base_sink_change_state):
2593         Never take state lock from streaming thread, clean up ugly
2594         hacks. Unfortunatly core does not yet support nice ways to
2595         async commit state.
2596         
2597         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2598         (bin_bus_handler):
2599         Start state recalc if a STATE_DIRTY message is posted, but only
2600         on the toplevel bin.
2601
2602         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2603         (gst_element_get_state_func), (gst_element_abort_state),
2604         (gst_element_commit_state), (gst_element_lost_state),
2605         (gst_element_set_state_func), (gst_element_change_state):
2606         * gst/gstelement.h:
2607         State variables are now protected with the LOCK, the state
2608         lock is only used to serialize _set_state().
2609
2610 2005-10-18  Wim Taymans  <wim@fluendo.com>
2611
2612         * check/gst/gstbin.c: (GST_START_TEST):
2613         * check/gst/gstmessage.c: (GST_START_TEST):
2614         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2615         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2616         (bin_bus_handler):
2617         * gst/gstelement.c: (gst_element_abort_state),
2618         (gst_element_commit_state), (gst_element_lost_state):
2619         * gst/gstmessage.c: (gst_message_new_state_changed),
2620         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2621         (gst_message_new_segment_done), (gst_message_new_duration),
2622         (gst_message_parse_state_changed),
2623         (gst_message_parse_segment_start),
2624         (gst_message_parse_segment_done), (gst_message_parse_duration):
2625         * gst/gstmessage.h:
2626         * tools/gst-launch.c: (event_loop):
2627         Seriously, this is better than a previous commit as we only need
2628         to notify the fact that an element changed state in a streaming
2629         thread, marking the state of the parents dirty, hence the 
2630         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2631         message.
2632
2633 2005-10-18  Wim Taymans  <wim@fluendo.com>
2634
2635         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2636         (gst_bin_recalc_func):
2637         * gst/gstelement.c: (gst_element_set_clock),
2638         (gst_element_abort_state), (gst_element_lost_state):
2639         Cleanups, prepare for state change fixes.
2640
2641 2005-10-18  Wim Taymans  <wim@fluendo.com>
2642
2643         * gst/gstbin.h:
2644         * gst/gstelement.c: (gst_element_class_init),
2645         (gst_element_set_state), (gst_element_set_state_func):
2646         * gst/gstelement.h:
2647         Pending ABI changes.
2648         GThreadPool in GstBinClass to monitor async state changes.
2649         state_cookie in GstElement to detect concurrent gst/set state.
2650         set_state is now virtual too in case a very complicated element
2651         has to be constructed.
2652
2653 2005-10-18  Wim Taymans  <wim@fluendo.com>
2654
2655         * check/gst/gstbin.c: (GST_START_TEST):
2656         * check/gst/gstmessage.c: (GST_START_TEST):
2657         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2658         * gst/gstbin.c: (bin_bus_handler):
2659         * gst/gstelement.c: (gst_element_commit_state),
2660         (gst_element_lost_state):
2661         * gst/gstmessage.c: (gst_message_new_state_changed),
2662         (gst_message_new_segment_start), (gst_message_new_segment_done),
2663         (gst_message_new_duration), (gst_message_parse_state_changed),
2664         (gst_message_parse_segment_start),
2665         (gst_message_parse_segment_done), (gst_message_parse_duration):
2666         * gst/gstmessage.h:
2667         * tools/gst-launch.c: (event_loop):
2668         Make messages future proof.
2669         state-change gets a flag if it was a message comming from the
2670         streaming thread.
2671         segment-start/stop can also be specified in other formats.
2672         A message to notify an app that a pipeline changed playback 
2673         duration.
2674         Also fix a GstMessage leak in -launch
2675
2676 2005-10-18  Andy Wingo  <wingo@pobox.com>
2677
2678         * gst/gstelement.c (gst_element_dispose): More helpful message.
2679
2680 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2681
2682         reviewed by: <delete if not using a buddy>
2683
2684         * common/gtk-doc.mak:
2685
2686 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2687
2688         * gst/gstregistry.c: (gst_registry_scan_path_level):
2689           unref a plug-in we get that was already initialized
2690
2691 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2692
2693         * docs/gst/gstreamer-sections.txt:
2694         * docs/libs/gstreamer-libs-sections.txt:
2695         * gst/gstelement.h:
2696           add new api entries
2697           hide internal macro
2698
2699 2005-10-17  Andy Wingo  <wingo@pobox.com>
2700
2701         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2702         cleanup.
2703
2704         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2705
2706         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2707
2708         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2709         (gst_element_get_state_func): Better debug message.
2710         (gst_element_commit_state): s/INFO/DEBUG/.
2711         (gst_element_lost_state, gst_element_change_state): 
2712
2713         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2714         (gst_message_new_custom): s/INFO/LOG/.
2715
2716 2005-10-17  Michael Smith <msmith@fluendo.com>
2717
2718         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2719           Check if end time is valid using end time, not start time.
2720
2721 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2722
2723         * check/gst-libs/controller.c: (GST_START_TEST),
2724         (gst_controller_suite):
2725         * libs/gst/controller/gstcontroller.c:
2726         (gst_controlled_property_set_interpolation_mode):
2727         * libs/gst/controller/gstcontroller.h:
2728         * libs/gst/controller/gstinterpolation.c:
2729         * testsuite/controller/.cvsignore:
2730         * testsuite/controller/Makefile.am:
2731         * testsuite/controller/interpolator.c:
2732           merge controller testsuites
2733           fix broken tests
2734           remove mem-chunk from docs
2735
2736 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2737
2738         * gst/gstmemchunk.c:
2739         * gst/gstmemchunk.h:
2740         * gst/gsttrashstack.c:
2741         * gst/gsttrashstack.h:
2742           out.  get out.  you're fired.  to the Attic !
2743
2744 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2745
2746         * gst/gstcaps.c: (gst_caps_intersect):
2747           fix signedness issues in a (hopefully) correct way
2748         * gst/gstelement.c: (gst_element_pads_activate):
2749           some debugging
2750         * gst/gstobject.c: (gst_object_set_parent):
2751           some debugging
2752
2753 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2754
2755         * gst/gstvalue.h: Fix prototypes.
2756
2757 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2758
2759         * docs/gst/gstreamer-sections.txt:
2760         * gst/gst.c: (gst_version_string):
2761         * gst/gst.h:
2762         * gst/gstversion.h.in:
2763         * win32/common/libgstreamer.def:
2764           add gst_version_string ()
2765
2766 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2767
2768         * configure.ac:
2769           clean up further
2770         * gst/gst.c: (init_post):
2771         * win32/common/config.h.in:
2772           it's PLUGINDIR now
2773         * gst/gstcaps.c: (gst_caps_intersect):
2774           use gint64, the range could be bigger than a guint
2775
2776 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2777
2778         * gst/gstclock.h:
2779           document potential problem in 2038
2780
2781 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2782
2783         * gst/gstcaps.c: (gst_caps_intersect):
2784           Fix guint j diving under 0
2785
2786 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2787
2788         * configure.ac:
2789         * win32/common/config.h:
2790         * win32/common/config.h.in:
2791           check for process.h, declares getpid() on Windows
2792         * gst/gstinfo.c:
2793           include process.h if we have it
2794         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2795         * gst/gstmemchunk.h:
2796           fix signedness issues
2797         * win32/common/libgstreamer.def:
2798           fix get_type's
2799
2800 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2801
2802         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2803         fix. Because of unsigned ints, caps intersection was going nuts and
2804         trying to access structures with G_MAXUINT index. That fixes
2805         videotestsrc ! ffmpegcolorspace ! fakesink
2806         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2807         consistency.
2808
2809 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2810
2811         * configure.ac:
2812           use the gettext macro
2813         * gst/elements/gstelements.c:
2814         * gst/gst.c:
2815         * gst/indexers/gstindexers.c:
2816           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2817         * win32/common/config.h:
2818           updated config.h
2819         * win32/common/config.h.in:
2820           add the template to generate config.h
2821         * win32/common/gstenumtypes.c:
2822         * win32/common/gstversion.h:
2823           updated copies
2824
2825 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2826
2827         * gst/gst.c: (gst_version):
2828         * gst/gstversion.h.in:
2829           add the nano
2830
2831 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2832
2833         * gst/gstevent.h:
2834           Oops, add missing closing bracket.
2835
2836 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2837
2838         * configure.ac:
2839           use common m4's for argument checking
2840
2841 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * docs/gst/gstreamer-sections.txt:
2844         * gst/gstevent.h:
2845           Add GST_EVENT_TYPE_NAME() macro.
2846
2847 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2848
2849         * gst/gstinfo.c:
2850         * gst/gstpluginfeature.c:
2851         * gst/gsttask.c:
2852           privatize more symbols
2853
2854 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2855
2856         * configure.ac:
2857           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2858           everything that uses GStreamer API should have the includes
2859
2860 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2861
2862         * docs/gst/gstreamer-sections.txt:
2863         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2864         * gst/gstvalue.h:
2865           give each value a _get_type, removes the DATA exports
2866
2867 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2868
2869         * gst/gst.c:
2870         * gst/gst.h:
2871           remove _gst_registry_auto_load, not used anymore
2872         * gst/gstbin.c: (gst_bin_get_type):
2873         * gst/gstbin.h:
2874         * gst/gstelement.c: (gst_element_get_type):
2875         * gst/gstelement.h:
2876         * gst/gstobject.c: (gst_object_get_type):
2877         * gst/gstobject.h:
2878         * gst/gstpad.c: (gst_pad_get_type):
2879         * gst/gstpad.h:
2880           make _get_type functions similar, fixes data export from library
2881
2882 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2883
2884         * configure.ac:
2885           correctly make conditionals
2886         * gst/elements/Makefile.am:
2887         * gst/elements/gstelements.c:
2888           fix typo causing fdsrc not to build
2889
2890 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2891
2892         * testsuite/Makefile.am:
2893         * testsuite/bytestream/.cvsignore:
2894         * testsuite/bytestream/Makefile.am:
2895         * testsuite/bytestream/filepadsink.c:
2896         * testsuite/bytestream/gstbstest.c:
2897         * testsuite/bytestream/test1.c:
2898         * testsuite/bytestream/testfile1:
2899         * testsuite/caps/normalisation.c:
2900         * testsuite/caps/random.c: (main):
2901         * testsuite/cleanup/.cvsignore:
2902         * testsuite/cleanup/Makefile.am:
2903         * testsuite/cleanup/cleanup1.c:
2904         * testsuite/cleanup/cleanup2.c:
2905         * testsuite/cleanup/cleanup3.c:
2906         * testsuite/cleanup/cleanup4.c:
2907         * testsuite/cleanup/cleanup5.c:
2908         * testsuite/controller/interpolator.c:
2909         * testsuite/debug/printf_extension.c: (main):
2910         * testsuite/elements/tee.c:
2911         * testsuite/negotiation/.cvsignore:
2912         * testsuite/negotiation/Makefile.am:
2913         * testsuite/negotiation/pad_link.c:
2914         * testsuite/pad/Makefile.am:
2915         * testsuite/pad/chainnopull.c:
2916         * testsuite/pad/getnopush.c:
2917         * testsuite/pad/link.c:
2918         * testsuite/refcounting/sched.c: (create_pipeline):
2919         * testsuite/registry/Makefile.am:
2920         * testsuite/registry/gst-print-formats.c:
2921         * testsuite/schedulers/.cvsignore:
2922         * testsuite/schedulers/142183-2.c:
2923         * testsuite/schedulers/142183.c:
2924         * testsuite/schedulers/143777-2.c:
2925         * testsuite/schedulers/143777.c:
2926         * testsuite/schedulers/147713.c:
2927         * testsuite/schedulers/147819.c:
2928         * testsuite/schedulers/147894-2.c:
2929         * testsuite/schedulers/147894.c:
2930         * testsuite/schedulers/Makefile.am:
2931         * testsuite/schedulers/group_link.c:
2932         * testsuite/schedulers/queue_link.c:
2933         * testsuite/schedulers/relink.c:
2934         * testsuite/schedulers/unlink.c:
2935         * testsuite/schedulers/unref.c:
2936         * testsuite/schedulers/useless_iteration.c:
2937         * testsuite/states/bin.c:
2938           clean out/remove some stuff from the testsuite directories
2939
2940 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2941
2942         * configure.ac:
2943           check for some headers
2944         * gst/elements/Makefile.am:
2945         * gst/elements/gstelements.c:
2946           don't compile fdsrc without sys/socket.h
2947         * gst/indexers/Makefile.am:
2948         * gst/indexers/gstindexers.c: (plugin_init):
2949           don't compile fileindex without mmap
2950
2951 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2952
2953         * configure.ac:
2954           reorganize
2955           clean up
2956           document more
2957           remove cruft
2958         * check/Makefile.am:
2959         * docs/gst/Makefile.am:
2960         * examples/helloworld/Makefile.am:
2961         * gst/Makefile.am:
2962         * gst/base/Makefile.am:
2963         * gst/check/Makefile.am:
2964         * gst/elements/Makefile.am:
2965         * gst/indexers/Makefile.am:
2966         * gst/parse/Makefile.am:
2967         * libs/gst/controller/Makefile.am:
2968         * libs/gst/dataprotocol/Makefile.am:
2969         * examples/helloworld/helloworld.c: (event_loop):
2970           compile fixes, though it's not being compiled currently
2971
2972 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2973
2974         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2975           Add some simple tests for the new taglist date API.
2976
2977 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2980         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2981           Beautify 'last-message' output: print 'none' for buffer timestamps
2982           and durations if none is set; improve alignment with next messages.
2983
2984 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2985
2986         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2987         * gst/gstpluginfeature.h:
2988         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2989         * gst/gstregistry.h:
2990         * docs/gst/gstreamer-sections.txt:
2991           Add new API to check plugin feature version requirements.
2992
2993         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2994           Some basic tests for the above.         
2995
2996 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2997
2998         * gst/gststructure.c: (gst_structure_to_string):
2999           guard against NULL printf - happens when for example
3000           a message structure with GstClock gets serialized
3001
3002 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3003
3004         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3005           Fix presumable copy'n'pasto.
3006
3007 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3008
3009         * gst/elements/gstfakesrc.h:
3010         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3011         * gst/elements/gsttypefindelement.c:
3012           fix some signedness
3013         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3014           I wonder if this could actually write +2GB files before
3015
3016 2005-10-13  Andy Wingo  <wingo@pobox.com>
3017
3018         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3019         Fix Timmeke Waymans bug.
3020         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3021         string of the proper length to gst_caps_from_string. There's a
3022         potential for, before this fix, that this could cause someone
3023         connecting over the network to cause a segfault if the payload is
3024         not NUL-terminated.
3025
3026 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3027
3028         * docs/design/draft-push-pull.txt:
3029         * docs/design/part-overview.txt:
3030         * docs/random/TODO-pre-0.9:
3031         * docs/random/old/ChangeLog.gstreamer:
3032         * gst/base/gstpushsrc.c:
3033         * gst/gstclock.c:
3034           fixed typos
3035
3036 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3037
3038         * gst/glib-compat.c: (gst_flags_get_first_value):
3039         * gst/glib-compat.h:
3040         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3041         (gst_value_compare_double), (gst_value_serialize_flags):
3042           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3043           infinite loop
3044
3045 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3046
3047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3048         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3049           fix up debugging
3050         * tools/gst-launch.c: (event_loop):
3051           print out clock nicely
3052
3053 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3054
3055         * docs/gst/gstreamer-sections.txt:
3056         * gst/gsttaglist.h:
3057         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3058         (gst_tag_list_get_date_index):
3059           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3060           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3061
3062 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3063
3064         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3065         (gst_collectpads_chain):
3066         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3067         in CollectData.
3068
3069 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3070
3071         * docs/gst/gstreamer-sections.txt:
3072         * gst/gst.c:
3073         * gst/gsterror.h:
3074         * tools/gst-inspect.c: (main):
3075         * tools/gst-launch.c: (main):
3076         * tools/gst-run.c: (main):
3077         * tools/gst-xmlinspect.c: (main):
3078           fix GOption context leaks
3079           doc fixes
3080
3081 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3082
3083         * gst/gstbus.c:
3084           use HAVE_UNISTD_H
3085         * win32/common/config.h:
3086           update config
3087         * win32/vs6/grammar.dsp:
3088         * win32/vs6/libgstelements.dsp:
3089         * win32/vs6/libgstreamer.dsp:
3090           update vs6 files
3091
3092 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3093
3094         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3095         * gst/base/gstbasesrc.c: (gst_base_src_query):
3096           fix more guint64<->gdouble conversions
3097
3098 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3099
3100         * Makefile.am:
3101           add win32-update target
3102         * win32/common/gstconfig.h:
3103         * win32/common/gstenumtypes.c:
3104         * win32/common/gstenumtypes.h:
3105         * win32/common/gstversion.h:
3106           add files that visual studio can't generate
3107
3108 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3109
3110         * Makefile.am:
3111           add a win32-update target
3112         * configure.ac:
3113
3114 2005-10-12  Wim Taymans  <wim@fluendo.com>
3115
3116         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3117         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3118         * gst/gstelement.c: (gst_element_commit_state),
3119         (gst_element_set_state):
3120         Protect flags with proper lock.
3121         unref provided cached clock in dispose.
3122
3123 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3124
3125         * gst/gst.c:
3126         * gst/gstminiobject.h:
3127         * gst/gstpad.h:
3128         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3129           removed unused flags from miniobject
3130           doc fixes
3131
3132 2005-10-12  Wim Taymans  <wim@fluendo.com>
3133
3134         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3135         (gst_file_sink_event), (gst_file_sink_render):
3136         Flush before seeking.
3137
3138 2005-10-12  Andy Wingo  <wingo@pobox.com>
3139
3140         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3141         always been the case.
3142
3143 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3144
3145         * check/gst/gstbin.c: (GST_START_TEST):
3146         * docs/gst/gstreamer-sections.txt:
3147         * gst/base/gstbasesink.c: (gst_base_sink_init):
3148         * gst/base/gstbasesrc.c: (gst_base_src_init),
3149         (gst_base_src_get_range), (gst_base_src_check_get_range),
3150         (gst_base_src_start), (gst_base_src_stop):
3151         * gst/base/gstbasesrc.h:
3152         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3153         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3154         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3155         (bin_bus_handler):
3156         * gst/gstbin.h:
3157         * gst/gstbuffer.h:
3158         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3159         * gst/gstbus.h:
3160         * gst/gstelement.c: (gst_element_is_locked_state),
3161         (gst_element_set_locked_state), (gst_element_commit_state),
3162         (gst_element_set_state):
3163         * gst/gstelement.h:
3164         * gst/gstindex.c: (gst_index_init):
3165         * gst/gstindex.h:
3166         * gst/gstminiobject.h:
3167         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3168         (gst_object_set_parent):
3169         * gst/gstobject.h:
3170         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3171         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3172         * gst/gstpad.h:
3173         * gst/gstpadtemplate.h:
3174         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3175         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3176         * gst/gstpipeline.h:
3177         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3178         (gst_file_index_commit):
3179         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3180         * testsuite/pad/link.c: (gst_test_src_init),
3181         (gst_test_filter_init), (gst_test_sink_init):
3182         * testsuite/states/locked.c: (main):
3183           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3184           moved bitshift from macro to enum definition
3185
3186 2005-10-12  Wim Taymans  <wim@fluendo.com>
3187
3188         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3189         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3190         (gst_file_sink_render):
3191         Some more debugging info.
3192
3193 2005-10-12  Wim Taymans  <wim@fluendo.com>
3194
3195         * docs/design/part-states.txt:
3196         * tools/gst-launch.c: (main):
3197         Some doc updates.
3198         Revert non-intentional change.
3199
3200 2005-10-12  Wim Taymans  <wim@fluendo.com>
3201
3202         * check/gst/gstbin.c: (GST_START_TEST):
3203         * check/gst/gstelement.c: (GST_START_TEST):
3204         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3205         * check/gst/gstghostpad.c: (GST_START_TEST):
3206         * check/gst/gstpipeline.c: (GST_START_TEST):
3207         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3208         * check/states/sinks.c: (GST_START_TEST):
3209         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3210         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3211         (gst_bin_remove_func), (gst_bin_get_state_func),
3212         (gst_bin_recalc_state), (gst_bin_change_state_func),
3213         (bin_bus_handler):
3214         * gst/gstelement.c: (gst_element_get_state_func),
3215         (gst_element_get_state), (gst_element_abort_state),
3216         (gst_element_commit_state), (gst_element_set_state),
3217         (gst_element_change_state), (gst_element_change_state_func):
3218         * gst/gstelement.h:
3219         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3220         (gst_pipeline_provide_clock_func):
3221         * gst/gstutils.c: (gst_element_link_pads_filtered):
3222         * tools/gst-launch.c: (main):
3223         * tools/gst-typefind.c: (main):
3224         Use GstClockTime in _get_state() instead of GTimeVal.
3225         Remove old code in gstutils.c
3226
3227 2005-10-12  Andy Wingo  <wingo@pobox.com>
3228
3229         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3230         removed.
3231
3232         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3233         there is no task. Shouldn't affect any code, as nothing in our
3234         plugins checks this return value.
3235         (gst_pad_stop_task): Also take the stream lock if the pad has no
3236         task. Docs updated.
3237
3238 2005-10-12  Wim Taymans  <wim@fluendo.com>
3239
3240         * gst/gstpad.c: (pre_activate), (post_activate),
3241         (gst_pad_activate_pull), (gst_pad_activate_push):
3242         Cleanup activation code. Reset old state if
3243         activation failed.
3244
3245 2005-10-12  Wim Taymans  <wim@fluendo.com>
3246
3247         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3248         (gst_base_sink_change_state):
3249         No need to prerol after receiving EOS.
3250
3251         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3252         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3253         * gst/elements/gstidentity.c: (gst_identity_event):
3254         Print events more verbosely.
3255
3256 2005-10-12  Wim Taymans  <wim@fluendo.com>
3257
3258         * check/Makefile.am:
3259         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3260         * check/states/sinks2.c:
3261         Moved sinks2 testcode in sinks check.
3262
3263         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3264         (gst_bin_remove_func), (gst_bin_recalc_state),
3265         (gst_bin_change_state_func), (bin_bus_handler):
3266         Fix potential race condition when _get_state() iterated over an
3267         ASYNC element right before it posted a state completion.
3268
3269         * gst/gstclock.h:
3270         Do proper cast here.
3271
3272         * gst/gstevent.c: (gst_event_new_newsegment),
3273         (gst_event_parse_newsegment):
3274         A playback rate of 0.0 is not allowed.
3275
3276 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3277
3278         * win32/common/config.h:
3279         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3280         (_trewinddir), (_ttelldir), (_tseekdir):
3281         * win32/common/dirent.h:
3282         * win32/common/gtchar.h:
3283         * win32/common/libgstbase.def:
3284         * win32/common/libgstreamer.def:
3285         * win32/vs6/grammar.dsp:
3286         * win32/vs6/gst_inspect.dsp:
3287         * win32/vs6/gst_launch.dsp:
3288         * win32/vs6/gstreamer.dsw:
3289         * win32/vs6/libgstbase.dsp:
3290         * win32/vs6/libgstelements.dsp:
3291         * win32/vs6/libgstreamer.dsp:
3292           Visual Studio 6 project files, and a new common directory.
3293           Phear.
3294
3295 2005-10-11  Wim Taymans  <wim@fluendo.com>
3296
3297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3298         (gst_base_sink_do_sync), (gst_base_sink_query),
3299         (gst_base_sink_change_state):
3300         * gst/base/gstbasesink.h:
3301         Correctly parse newsegment info.
3302
3303 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3304
3305         * gst/gst.c: (init_post):
3306           split plugin paths correctly
3307
3308 2005-10-11  Wim Taymans  <wim@fluendo.com>
3309
3310         * check/gst/gstevent.c: (GST_START_TEST):
3311         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3312         (gst_base_sink_change_state):
3313         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3314         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3315         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3316         * gst/gstevent.c: (gst_event_new_newsegment),
3317         (gst_event_parse_newsegment):
3318         * gst/gstevent.h:
3319         Added extra flag to newsegment for future API freeze.
3320         Updated check and base elements.
3321
3322 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3323
3324         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3325         (gst_collectpads_add_pad), (gst_collectpads_pop),
3326         (gst_collectpads_event), (gst_collectpads_chain):
3327         * gst/base/gstcollectpads.h: Handle EOS correctly.
3328
3329 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3330
3331         * tools/gst-launch.c: (main):
3332           more null protecting
3333
3334 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3335
3336         * gst/gst-i18n-lib.h:
3337           check for ENABLE_NLS, not GETTEXT_PACKAGE
3338         * gst/gstregistry.c: (gst_registry_add_plugin),
3339         (gst_registry_scan_path_level),
3340         (_gst_registry_remove_cache_plugins):
3341           protect possibly NULL strings
3342         * gst/parse/types.h:
3343           config.h already included before
3344         * tools/gst-inspect.c: (main):
3345           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3346           check for ENABLE_NLS, not GETTEXT_PACKAGE
3347         * tools/gst-launch.c: (main):
3348           check for ENABLE_NLS, not GETTEXT_PACKAGE
3349
3350 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3351
3352         * configure.ac:
3353           if we don't have glib, fail before testing 2.8
3354         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3355           fix a leak, should fix plugins-base testsuite
3356
3357 2005-10-11  Andy Wingo  <wingo@pobox.com>
3358
3359         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3360         take the mode we're going to as an arg. Go head and set the mode
3361         and flushing flags now, so that if the activate function starts a
3362         thread all the flags will be in the right state.
3363         (post_activate): Renamed also. Just handle making sure streaming
3364         finishes for the deactivation case, and setting the deactivated
3365         mode.
3366         (gst_pad_set_active): Complain loudly if deactivation fails.
3367         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3368         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3369         remove the terrible hack.
3370
3371 2005-10-11  Wim Taymans  <wim@fluendo.com>
3372
3373         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3374         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3375         (gst_bin_recalc_state), (gst_bin_change_state_func),
3376         (gst_bin_dispose), (bin_bus_handler):
3377         * gst/gstbin.h:
3378         Prepare to make current EOS message queue more generic.
3379         Fix some typos.
3380
3381         * gst/gstevent.c: (gst_event_new_newsegment),
3382         (gst_event_parse_newsegment):
3383         * gst/gstevent.h:
3384         Rename base to stream_time.
3385
3386         * gst/gstmessage.h:
3387         Fix typo in docs.
3388
3389 2005-10-11  Wim Taymans  <wim@fluendo.com>
3390
3391         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3392         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3393         (gst_bin_change_state_func), (bin_bus_handler):
3394         * gst/gstbin.h:
3395         Work on proper clock selection.
3396
3397 2005-10-11  Edward Hervey  <edward@fluendo.com>
3398
3399         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3400         * libs/gst/controller/gstcontroller.h:
3401         Added GList* version of _remove_properties() in order to be able to wrap
3402         it in bindings.
3403
3404 2005-10-11  Wim Taymans  <wim@fluendo.com>
3405
3406         * docs/design/part-states.txt:
3407         Some more docs.
3408
3409         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3410         (gst_bin_change_state_func), (bin_bus_handler):
3411         Doc updates. Don't distribute the same clock over and over again.
3412
3413         * gst/gstclock.c:
3414         * gst/gstclock.h:
3415         Doc updates.
3416
3417         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3418         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3419         (gst_pad_send_event):
3420         * gst/gstpad.h:
3421         Make probe emission threadsafe again.
3422         Register quarks and move _get_name() from utils.
3423         Doc updates.
3424
3425         * gst/gstpipeline.c: (gst_pipeline_class_init),
3426         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3427         Only redistribute the clock of it changed.
3428
3429         * gst/gstsystemclock.h:
3430         Doc updates. 
3431
3432         * gst/gstutils.c:
3433         * gst/gstutils.h:
3434         Moved the _flow_get_name() to GstPad.
3435
3436 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3437
3438         * check/gst-libs/gdp.c: (GST_START_TEST):
3439         * check/gst/gstcaps.c: (GST_START_TEST):
3440         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3441         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3442         (gst_dp_packet_from_caps):
3443           fix more valgrind warnings before turning up the heat
3444
3445 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3446
3447         * gst/parse/grammar.y:
3448           some cleanup before the hacking
3449
3450 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3451
3452         * gst/base/gstbasesrc.c: (gst_base_src_query):
3453           use conversions
3454         * gst/gstutils.c: (gst_guint64_to_gdouble),
3455         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3456         * gst/gstutils.h:
3457           externalize, basesrc uses it
3458           obviously the implementation needs testing
3459
3460 2005-10-10  Wim Taymans  <wim@fluendo.com>
3461
3462         * tests/sched/Makefile.am:
3463         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3464         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3465
3466 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3467
3468         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3469           apparently converting from guint64 to double is not implemented
3470           on MSVC
3471
3472 2005-10-10  Wim Taymans  <wim@fluendo.com>
3473
3474         * check/Makefile.am:
3475         * check/generic/states.c: (GST_START_TEST):
3476         * check/gst/gstbin.c: (GST_START_TEST):
3477         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3478         * check/states/sinks.c: (GST_START_TEST):
3479         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3480         (main):
3481         Check fixes, use API as stated in design docs, remove hacks.
3482
3483         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3484         (gst_base_sink_change_state):
3485         Catch stopping our task while we're shutting down.
3486
3487         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3488         (gst_bin_remove_func), (gst_bin_get_state_func),
3489         (gst_bin_recalc_state), (gst_bin_change_state_func),
3490         (bin_bus_handler):
3491         * gst/gstbin.h:
3492         * gst/gstelement.c: (gst_element_init),
3493         (gst_element_get_state_func), (gst_element_abort_state),
3494         (gst_element_commit_state), (gst_element_lost_state),
3495         (gst_element_set_state), (gst_element_change_state),
3496         (gst_element_change_state_func):
3497         * gst/gstelement.h:
3498         New state change algorithm (see #318116)
3499
3500         * gst/gstpipeline.c: (gst_pipeline_class_init),
3501         (gst_pipeline_init), (gst_pipeline_set_property),
3502         (gst_pipeline_get_property), (do_pipeline_seek),
3503         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3504         * gst/gstpipeline.h:
3505         Remove crude state change hacks.
3506
3507         * gst/gstutils.h:
3508         Remove crude hacks.
3509
3510         * tools/gst-launch.c: (main):
3511         Fixes for state change. Needs some more work to fully use the
3512         new stuff.
3513
3514 2005-10-10  Andy Wingo  <wingo@pobox.com>
3515
3516         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3517
3518         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3519         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3520         issue.
3521
3522 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3523
3524         * gst/gstiterator.c: (gst_iterator_new):
3525           Fix my previous commit: GTypes passed to gst_iterator_new()
3526           can be fundamental types.
3527
3528 2005-10-10  Wim Taymans  <wim@fluendo.com>
3529
3530         * gst/gstelement.c: (gst_element_iterate_pad_list),
3531         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3532         (gst_element_iterate_sink_pads):
3533         Use src/sink pads lists for the respective iterators instead
3534         of filtering.
3535
3536 2005-10-10  Andy Wingo  <wingo@pobox.com>
3537
3538         Merged in popt removal + GOption addition patch from Ronald, bug
3539         #169772.
3540
3541         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3542         GstElement macros around, remove popt-related symbols, add goption
3543         stuff.
3544
3545         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3546         
3547         * docs/gst/Makefile.am:
3548         * docs/libs/Makefile.am: No POPT_CFLAGS.
3549         
3550         * examples/manual/Makefile.am:
3551         * docs/manual/basics-init.xml: Doc updates with an example.
3552         
3553         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3554         (gst_init), (parse_one_option), (parse_goption_arg):
3555         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3556         bit of hand merging and debugging to get the GOption stuff working
3557         tho.
3558         
3559         * tests/Makefile.am:
3560         * tools/Makefile.am:
3561         * tools/gst-inspect.c: (main):
3562         * tools/gst-launch.c: (main):
3563         * tools/gst-run.c: (main):
3564         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3565
3566 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3567
3568         * gst/gstiterator.c: (gst_iterator_new):
3569           Add assertions to make sure passed GType is likely to really
3570           be a GType (as the compiler won't catch it if the size and
3571           GType arguments get mixed up, see #318447).
3572
3573 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3574
3575         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3576
3577         * gst/gstbin.c: (gst_bin_iterate_sorted):
3578           Pass GType and size arguments to gst_iterator_new() in the right
3579           order (maybe we should make _new() take the GType as first argument
3580           just like _new_list()?) (#318447).
3581           
3582
3583 2005-10-10  Wim Taymans  <wim@fluendo.com>
3584
3585         * gst/gstelement.c: (gst_element_finalize):
3586         And free the GStaticRecMutex too
3587
3588 2005-10-10  Andy Wingo  <wingo@pobox.com>
3589
3590         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3591         Allocate and free the mutex properly.
3592
3593         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3594         New macros.
3595         (GstElement): The state_lock is now recursive. Rebuild your
3596         plugins, suckers. Old macros adapted.
3597
3598         * docs/gst/gstreamer-sections.txt: Doc updates.
3599
3600         * gst/gstutils.h:
3601         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3602         (g_static_rec_cond_wait): Ported from state changes patch, while
3603         we wait on bug #317802 to be solved in a well-distributed GLib.
3604
3605         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3606         gst_element_change_state, variable name changes.
3607         (gst_element_change_state): Split out of gst_element_set_state in
3608         preparation for the state change merge. Doesn't pay attention to
3609         the 'transition' argument.
3610         (gst_element_set_state): Updates, hopefully purely cosmetic.
3611         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3612         state change patch.
3613         (gst_element_get_state_func): Renamed from get_state, cosmetic
3614         changes.
3615
3616 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3617
3618         * gst/elements/gstelements.c:
3619         * win32/GStreamer.vcproj:
3620         * win32/config.h:
3621         * win32/dirent.c: (_tseekdir):
3622         * win32/gst-inspect.vcproj:
3623         * win32/gst-launch.vcproj:
3624         * win32/gstconfig.h:
3625         * win32/gstelements.vcproj:
3626         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3627         * win32/gstreamer.def:
3628         * win32/msvc71.sln:
3629           updates for the win32 build (patch from Sebastien Moutte)
3630
3631 2005-10-10  Andy Wingo  <wingo@pobox.com>
3632
3633         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3634         gst_bin_get_state, cleaned up (but no logic changes).
3635         (bin_element_is_sink): Comment updates.
3636         (sink_iterator_filter): Remove needless cast.
3637         (gst_bin_iterate_sinks): Doc update.
3638         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3639         cleaned up (but no logic changes).
3640
3641         * check/states/sinks.c (test_src_sink): Cleanups from the state
3642         change patch.
3643         (test_livesrc_sink): Sync on the state.
3644
3645         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3646         the state change patch.
3647
3648         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3649         change patch.
3650
3651         * check/gst/gstbin.c: Merge in some style fixes and additional
3652         checks from Wim's state change patch.
3653
3654 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3655
3656         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3657         (gst_type_find_helper):
3658           Check whether we have the requested data already in our list of
3659           cached buffers before pulling a new buffer; also make the buffer
3660           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3661
3662 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3663
3664         * gst/gstcaps.c:
3665         * gst/gstevent.c:
3666           doc updates
3667         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3668           don't use long long, it's not portable.  Replacing with
3669           gint64 seems to work; let's hope no skeletons fall out of the closet.
3670
3671 2005-10-10  Andy Wingo  <wingo@pobox.com>
3672
3673         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3674
3675 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3676
3677         * docs/gst/gstreamer-sections.txt:
3678         * gst/gstevent.c:
3679         * gst/gstevent.h:
3680         * gst/gstinfo.c:
3681         * gst/gstinfo.h:
3682         * gst/gstmessage.c: (gst_message_parse_state_changed):
3683         * gst/gstpad.c:
3684         * gst/gstpad.h:
3685           more docs, fix compilation
3686
3687 2005-10-09  Philippe Khalaf <burger@speedy.org>
3688         * gst/gstmessage.c:
3689           Fixed a few forgotten variables on previous commit
3690
3691 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3692
3693         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3694           Fix evil typefind crasher: getrange() might return a short
3695           buffer at the end of a file, but gst_type_find_peek() must
3696           either return the full data as requested or NULL, but
3697           never a short buffer.
3698
3699 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3700
3701         * gst/gstmessage.c: (gst_message_new_state_changed),
3702         (gst_message_parse_state_changed):
3703         * gst/gstmessage.h:
3704           don't use "new", it's a C++ keyword
3705
3706 2005-10-08  Wim Taymans  <wim@fluendo.com>
3707
3708         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3709         * gst/gstelement.c: (gst_element_post_message):
3710         * gst/gstpipeline.c: (gst_pipeline_change_state):
3711         Small docs and debug updates.
3712
3713 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3714
3715         * docs/gst/gstreamer-sections.txt:
3716         * gst/gstelementfactory.c:
3717         * gst/gstevent.c:
3718         * gst/gsttaglist.c:
3719           more docs
3720
3721 2005-10-08  Wim Taymans  <wim@fluendo.com>
3722
3723         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3724         (gst_bin_dispose), (bin_bus_handler):
3725         Fix typos, add comments.
3726         Clear EOS list when going to PAUSED from any direction and do it
3727         in a threadsafe way.
3728         Get base time in a threadsafe way too.
3729         Fix confusing debug in the change_state function.
3730         Various other small cleanups.
3731         
3732         * gst/gstelement.c: (gst_element_post_message):
3733         Fix very verbose bus posting code.
3734
3735         * gst/gstpipeline.c: (gst_pipeline_class_init),
3736         (gst_pipeline_set_property), (gst_pipeline_get_property),
3737         (gst_pipeline_change_state):
3738         Small ARG_ -> PROP_ cleanup
3739
3740 2005-10-08  Wim Taymans  <wim@fluendo.com>
3741
3742         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3743         Do a less CPU demanding EOS check because we can.
3744
3745 2005-10-08  Wim Taymans  <wim@fluendo.com>
3746
3747         * libs/gst/dataprotocol/dataprotocol.c:
3748         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3749         (gst_dp_packet_from_event):
3750         * libs/gst/dataprotocol/dataprotocol.h:
3751         * libs/gst/dataprotocol/dp-private.h:
3752         It's about time we bump the version number.
3753         Since event types don't fit in the guint8 anymore describing
3754         the payload type, make payload type 16 bits wide.
3755
3756 2005-10-08  Wim Taymans  <wim@fluendo.com>
3757
3758         * docs/design/part-TODO.txt:
3759         * docs/design/part-clocks.txt:
3760         * docs/design/part-events.txt:
3761         * docs/design/part-gstbin.txt:
3762         * docs/design/part-gstelement.txt:
3763         * docs/design/part-gstpipeline.txt:
3764         * docs/design/part-live-source.txt:
3765         * docs/design/part-messages.txt:
3766         * docs/design/part-overview.txt:
3767         * docs/design/part-states.txt:
3768         Many doc updates.
3769
3770 2005-10-08  Wim Taymans  <wim@fluendo.com>
3771
3772         * gst/gstevent.c:
3773         * gst/gstevent.h:
3774         Fix event quark registration.
3775         Add some space between events so we can insert them in the
3776         right groups.
3777
3778 2005-10-08  Wim Taymans  <wim@fluendo.com>
3779
3780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3781         (gst_base_sink_handle_buffer):
3782         Better log message.
3783
3784         * gst/gstbus.h:
3785         * gst/gstelement.h:
3786         More docs.
3787
3788         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3789         (gst_queue_set_property), (gst_queue_get_property):
3790         * gst/gstqueue.h:
3791         Remove old unused properties.
3792
3793 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3794         * docs/gst/gstreamer-sections.txt:
3795         * gst/gstmessage.c:
3796         * gst/gstmessage.h:
3797         * gst/gstminiobject.c:
3798         * gst/gstminiobject.h:
3799         * gst/gstobject.h:
3800         * gst/gstpad.h:
3801         * gst/gstutils.h:
3802           lots of new docs and doc fixes
3803
3804 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3805
3806         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3807         * gst/gstplugin.h:
3808         * gst/gstregistry.c: (gst_registry_lookup_locked),
3809         (gst_registry_scan_path_level):
3810         * gst/gstregistryxml.c: (load_plugin):
3811           Only ever load one plugin for a given plugin basename.
3812           This ensures correct overriding of GST_PLUGIN_PATH over
3813           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3814           system installed plugins.
3815
3816 2005-10-08  Wim Taymans  <wim@fluendo.com>
3817
3818         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3819         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3820         Prepare for doing QOS.
3821
3822 2005-10-08  Wim Taymans  <wim@fluendo.com>
3823
3824         * check/gst/gstbin.c: (GST_START_TEST):
3825         * check/pipelines/cleanup.c: (GST_START_TEST):
3826         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3827         Allow new clock message too.
3828
3829 2005-10-08  Wim Taymans  <wim@fluendo.com>
3830
3831         * gst/gstmessage.c: (gst_message_new_error),
3832         (gst_message_new_warning), (gst_message_new_tag),
3833         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3834         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3835         (gst_message_new_segment_start), (gst_message_new_segment_done),
3836         (gst_message_parse_state_changed),
3837         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3838         (gst_message_parse_new_clock):
3839         * gst/gstmessage.h:
3840         Also carry the clock in question.
3841
3842 2005-10-08  Wim Taymans  <wim@fluendo.com>
3843
3844         * gst/gstmessage.c: (gst_message_new_custom),
3845         (gst_message_new_eos), (gst_message_new_error),
3846         (gst_message_new_warning), (gst_message_new_tag),
3847         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3848         (gst_message_new_new_clock), (gst_message_new_segment_start),
3849         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3850         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3851         * gst/gstmessage.h:
3852         Clean up.
3853         Added clock related messages.
3854
3855         * gst/gstpipeline.c: (gst_pipeline_change_state):
3856         Post message when the clock changed.
3857
3858         * tools/gst-launch.c: (event_loop):
3859         Print new clock.
3860
3861 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3862
3863         * tools/gst-inspect.c: (print_element_properties_info):
3864           Can't pass NULL strings to g_print() on windows.
3865
3866 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3867
3868         * docs/Makefile.am:
3869         * docs/gst/Makefile.am:
3870         * docs/gst/gstreamer-docs.sgml:
3871         * docs/gst/running.xml:
3872         * docs/version.entities.in:
3873           add a chapter on running GStreamer.
3874           document GST_DEBUG and GST_PLUGIN* env vars
3875
3876 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3877
3878         * Makefile.am:
3879           remove include dir
3880         * configure.ac:
3881           remove PLUGINS_BUILDDIR stuff
3882         * gst/gst.c: (init_post):
3883           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3884         * idiottest.mak:
3885           remove, it was condescending and not needed
3886
3887 2005-10-08  Wim Taymans  <wim@fluendo.com>
3888
3889         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3890         (gst_base_sink_handle_object), (gst_base_sink_event),
3891         (gst_base_sink_wait), (gst_base_sink_handle_event),
3892         (gst_base_sink_change_state):
3893         * gst/base/gstbasesink.h:
3894         Repost EOS message while going to PLAYING if still EOS.
3895         Make sure that when receiving a FLUSH_START we don't attempt
3896         to sync on the clock anymore.
3897
3898 2005-10-08  Wim Taymans  <wim@fluendo.com>
3899
3900         * tools/gst-launch.c: (event_loop):
3901         Better message printout.
3902
3903 2005-10-08  Wim Taymans  <wim@fluendo.com>
3904
3905         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3906         (gst_bin_child_proxy_get_children_count):
3907         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3908         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3909         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3910         (gst_child_proxy_set_valist):
3911         * gst/parse/grammar.y:
3912         Make ChildProxy threadsafe and fix mem leaks.
3913
3914 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3915
3916         * gst/gst.c: (init_post):
3917           debug the GST_PLUGIN_ env vars
3918
3919 2005-10-08  Wim Taymans  <wim@fluendo.com>
3920
3921         * check/gst/gstbin.c: (GST_START_TEST):
3922         * check/gst/gstmessage.c: (GST_START_TEST):
3923         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3924         * gst/gstelement.c: (gst_element_commit_state),
3925         (gst_element_lost_state):
3926         * gst/gstmessage.c: (gst_message_new_state_changed),
3927         (gst_message_parse_state_changed):
3928         * gst/gstmessage.h:
3929         * tools/gst-launch.c: (event_loop):
3930         Added extra field to STATE_CHANGE message with the pending
3931         state, which will be different from the new state soon.
3932
3933 2005-10-08  Wim Taymans  <wim@fluendo.com>
3934
3935         * gst/gstbus.c: (gst_bus_pop):
3936         * gst/gstclock.c:
3937         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3938         Small cleanups and doc updates.
3939
3940 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3941
3942         * gst/gst.c: (init_pre):
3943         * gst/gstbin.c: (gst_bin_add_func):
3944           log distributing clocks and base time
3945         * gst/gstregistry.c: (gst_registry_add_plugin),
3946         (gst_registry_scan_path_level), (gst_registry_scan_path):
3947           clean up the debugging output a little
3948         * gst/gstutils.c: (gst_element_state_get_name):
3949           warn about a memleak (I've actually seen this be used, though
3950           it was probably a bug)
3951
3952 2005-10-07  Wim Taymans  <wim@fluendo.com>
3953
3954         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3955         (gst_base_src_init), (gst_base_src_default_newsegment),
3956         (gst_base_src_newsegment), (gst_base_src_do_seek),
3957         (gst_base_src_loop), (gst_base_src_start):
3958         * gst/base/gstbasesrc.h:
3959         Make the newsegment event customizable by subclasses.
3960
3961 2005-10-07  Wim Taymans  <wim@fluendo.com>
3962
3963         * gst/gstevent.c: (gst_event_new_buffersize),
3964         (gst_event_parse_buffersize):
3965         * gst/gstevent.h:
3966         New event for future idea.
3967
3968 2005-10-07  Andy Wingo  <wingo@pobox.com>
3969
3970         * gst/gstelement.c (gst_element_post_message): Doc update.
3971
3972         * docs/gst/gstreamer-sections.txt: Update.
3973
3974         * gst/gstmessage.c (gst_message_new_application): Made into a
3975         function like honest API calls.
3976         (gst_message_new_element): New message type.
3977
3978         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3979
3980         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3981         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3982         times.
3983
3984         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3985         NO_PREROLL from gst_element_change_state to fall through.
3986
3987 2005-10-07  Wim Taymans  <wim@fluendo.com>
3988
3989         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3990         (gst_ghost_pad_do_activate_push):
3991         Activating a ghostpad with no internal pad in push mode
3992         is ok.
3993
3994 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3995
3996         * gst/gstobject.h:
3997           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3998           Fixes compilation on Windows.
3999
4000 2005-10-07  Michael Smith <msmith@fluendo.com>
4001
4002         * tools/gst-inspect.c:
4003           Print out feature and plugin count at the end when printing out
4004           all features.
4005
4006 2005-10-04  Michael Smith <msmith@fluendo.com>
4007
4008         * gst/gsterror.c: (_gst_stream_errors_init):
4009           Add another error string used in a few existing plugins.
4010
4011         * gst/gstplugin.c:
4012         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4013         * tools/gst-inspect.c: (print_element_info):
4014           When a feature disappears from a plugin (and the feature exists in
4015           the cached registry file), things went horribly wrong. This isn't a
4016           complete fix, we should actually be removing the 'missing' features
4017           from the features list when we load the actual plugin. That's not
4018           yet implemented. 
4019
4020 2005-10-04  Johan Dahlin  <johan@gnome.org>
4021
4022         * check/gst/gstiterator.c: (GST_START_TEST):
4023         * gst/gstbin.c: (gst_bin_iterate_elements),
4024         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4025         * gst/gstelement.c: (gst_element_iterate_pads):
4026         * gst/gstformat.c: (gst_format_iterate_definitions):
4027         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4028         (gst_iterator_new_list), (gst_iterator_filter):
4029         * gst/gstiterator.h:
4030         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4031         Add a GType to GstIterator, update callsites and tests.
4032
4033 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4034
4035         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4036           give events a chance to be handled by event probes when the pad
4037           is not linked
4038
4039 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4040
4041         * gst/gstevent.c: (gst_event_type_get_name),
4042         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4043         * gst/gstevent.h:
4044           add string representations for event types
4045
4046 2005-10-06  Wim Taymans  <wim@fluendo.com>
4047
4048         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4049         Don't use NULL pointers.
4050
4051 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4052
4053         * gst/gst_private.h:
4054         * gst/gstbus.c:
4055         * gst/gstelement.c:
4056         * gst/gstinfo.c:
4057         * gst/gstpluginfeature.c:
4058           widen the debug category in output to fit the biggest one we have
4059           add a bus category and use it
4060           play with the colors
4061           fix up some categories
4062
4063 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4064
4065         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4066           add push activation of sink ghost pads.
4067           Andye, please verify
4068
4069 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4070
4071         * gst/gstutils.c: (gst_element_link_pads):
4072           fix a bug in the case where neither element has a pad
4073         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4074           add a test for that case
4075
4076 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4077
4078         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4079           emit have-data before checking for peers.  This allows
4080           for probe handlers to connect elements.  This helps autopluggers.
4081         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4082         (gst_pad_suite):
4083           add six checks, linked/unlinked with no/true/false probe
4084
4085 2005-10-04  Wim Taymans  <wim@fluendo.com>
4086
4087         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4088         (gst_fake_sink_event), (gst_fake_sink_preroll),
4089         (gst_fake_sink_render), (gst_fake_sink_change_state):
4090         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4091         (gst_fake_src_get_property), (gst_fake_src_create),
4092         (gst_fake_src_stop):
4093         * gst/elements/gstidentity.c: (gst_identity_stop):
4094         Protect last_message with lock.
4095
4096 2005-10-04  Edward Hervey  <edward@fluendo.com>
4097
4098         * gst/gstformat.h: 
4099         Added precision in the comments for GST_FORMAT_DEFAULT
4100
4101 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4102
4103         * tools/gst-launch.c: (main):
4104           Don't try to run erroneous pipelines.
4105
4106 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4107
4108         * gst/gstbus.c: We don't need this header.
4109
4110 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4111
4112         * configure.ac:
4113           back to development
4114
4115 === release 0.9.3 ===
4116
4117 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4118
4119         * README:
4120         * configure.ac:
4121           Releasing 0.9.3, "Unregistered"
4122
4123 2005-10-03  Andy Wingo  <wingo@pobox.com>
4124
4125         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4126         whereby calling a pad's activatepush() function can start a thread
4127         that starts to push or pull before the pad gets the FLUSHING flag
4128         unset. Hack around it by holding the stream lock until the flag is
4129         set. Need to replace this with a proper solution. Together with
4130         the ghost pad fixes, this fixes mp3 playing/tagreading.
4131
4132         * docs/design/part-gstghostpad.txt: Add a note about activation of
4133         proxy pads outside of ghost pads.
4134
4135         * gst/gstghostpad.c: Implement the ghost pad activation design.
4136
4137 2005-10-02  Andy Wingo  <wingo@pobox.com>
4138
4139         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4140         It is volatile, after all.
4141
4142         * docs/design/part-gstghostpad.txt: Flesh out activation with
4143         ghost pads.
4144
4145         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4146         GST_DEBUG_FUNCPTR.
4147
4148 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4149
4150         * configure.ac:
4151           Fix (unused) AM_CONDITIONAL tests.
4152
4153 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4154
4155         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4156
4157         * gst/gstutils.c: (gst_pad_query_convert):
4158           Add assertion that makes sure src_val is >=0, just like
4159           gst_query_new_convert() has. (#315895)
4160
4161 2005-09-30  Edward Hervey  <edward@fluendo.com>
4162
4163         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4164         Let's not iterate pads we're not interested in, it avoids getting 
4165         sky-high refcounts on sinkpad.
4166
4167 2005-09-30  Wim Taymans  <wim@fluendo.com>
4168
4169         * gst/gstelement.c: (gst_element_set_state),
4170         (gst_element_change_state):
4171         Small tweak, element in ASYNC remains ASYNC.
4172
4173 2005-09-30  Wim Taymans  <wim@fluendo.com>
4174
4175         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4176         Only error is an error.
4177
4178         * gst/gstbin.c: (gst_bin_change_state):
4179         Better debugging.
4180
4181         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4182         Also call pad_block in pad alloc.
4183
4184         * gst/gstutils.c: (gst_flow_get_name):
4185         Better debugging.
4186
4187 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4188
4189         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4190         (gst_base_src_get_range):
4191           Fix documentation typos. Add some more debug info.
4192
4193 2005-09-29  David Schleef  <ds@schleef.org>
4194
4195         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4196           more end-user friendly.
4197         * tools/gst-inspect.c: (main): Check if command-line argument is
4198           a file and attempt to load that file as a plugin.
4199
4200 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4201
4202         * check/gst/gstbin.c:
4203         * check/states/sinks.c:
4204           fix tests for the new warning
4205         * check/gst/gstpipeline.c:
4206           add a test for pipeline and bus interaction
4207         * gst/gstelement.c:
4208           elements should be NULL if they get disposed; add a warning if not
4209
4210 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4211
4212         * gst/gstobject.c:
4213           for 2.6 refcounting, make debug log more correct by printing
4214           the actual refcounts at the time of swap (Wim)
4215
4216 2005-09-29  Andy Wingo  <wingo@pobox.com>
4217
4218         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4219         removes signal watches previously added via
4220         gst_bus_add_signal_watch.
4221         (gst_bus_add_signal_watch): Don't return the source id, just store
4222         it on the bus if there wasn't an id already.
4223
4224         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4225         add_signal_watch and remove_signal_watch.
4226
4227 2005-09-29  Edward Hervey  <edward@fluendo.com>
4228
4229         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4230         Better if we actually iterate the list :)
4231
4232 2005-09-29  Wim Taymans  <wim@fluendo.com>
4233
4234         * check/gst/gstbin.c: (GST_START_TEST):
4235         Change for new bus API.
4236
4237         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4238         (send_messages), (GST_START_TEST), (gstbus_suite):
4239         Change for new bus signal API.
4240
4241         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4242         (gst_bus_source_prepare), (gst_bus_source_check),
4243         (gst_bus_create_watch), (gst_bus_add_watch_full),
4244         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4245         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4246         * gst/gstbus.h:
4247         Remove support for multiple GSources operating on different
4248         message types as it is too complex and unneeded when using
4249         signals.
4250         Added support for receiving signals from the bus.
4251
4252 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4253
4254         * docs/libs/tmpl/gstdataprotocol.sgml:
4255         * docs/manual/advanced-dataaccess.xml:
4256         * gst/elements/gstcapsfilter.c:
4257         * gst/gstutils.c:
4258           rename filter-caps to caps property
4259
4260 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4261
4262         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4263           More robust fraction string parsing.
4264
4265         * docs/pwg/appendix-porting.xml:
4266           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4267
4268 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4269
4270         * gst/gstcaps.c: (gst_caps_do_simplify):
4271           Thou shalt not free a structure and then continue using it
4272           in the next loop iteration.
4273
4274         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4275         (gst_caps_suite):
4276           Add test case for caps simplification.
4277
4278 2005-09-29  Wim Taymans  <wim@fluendo.com>
4279
4280         * check/gst/gstbin.c: (GST_START_TEST):
4281         Oops.
4282
4283 2005-09-29  Wim Taymans  <wim@fluendo.com>
4284
4285         * check/gst/gstbin.c: (GST_START_TEST):
4286         Add bus to bin.
4287
4288         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4289         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4290         (find_element), (gst_bin_sort_iterator_next),
4291         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4292         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4293         (gst_bin_change_state), (gst_bin_dispose):
4294         A bin does not have a bus, it gets the bus from the parent.
4295
4296         * gst/gstelement.c: (gst_element_requires_clock),
4297         (gst_element_provides_clock), (gst_element_is_indexable),
4298         (gst_element_is_locked_state), (gst_element_change_state),
4299         (gst_element_set_bus_func):
4300         Small cleanups.
4301
4302         * gst/gstpipeline.c: (gst_pipeline_class_init),
4303         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4304         The pipeline provides a bus.
4305
4306 2005-09-28  Johan Dahlin  <johan@gnome.org>
4307
4308         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4309         gst_structure_get_enum instead of gst_structure_get_int
4310
4311         * gst/gststructure.c (gst_structure_get_enum): Impl.
4312
4313         * gst/gststructure.h (gst_structure_get_enum): Add
4314
4315         * docs/gst/gstreamer-sections.txt: Ditto
4316
4317         * gst/gstmessage.c (gst_message_new_state_changed): Use
4318         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4319         which does introspection.
4320         Reviewed by Christian Schaller
4321
4322 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4323
4324         * gst/gstinfo.c: (gst_debug_log_default):
4325           don't do dummy g_strdup()s
4326         * libs/gst/controller/gstcontroller.c:
4327         (on_object_controlled_property_changed),
4328         (gst_controlled_property_new), (gst_controller_new_valist),
4329         (gst_controller_new_list),
4330         (gst_controller_remove_properties_valist), (gst_controller_set),
4331         (gst_controller_get), (gst_controller_sync_values),
4332         (gst_controller_get_value_array), (_gst_controller_class_init),
4333         (gst_controller_get_type):
4334         * libs/gst/controller/gstcontroller.h:
4335         * libs/gst/controller/gstinterpolation.c:
4336         (gst_controlled_property_find_timed_value_node):
4337           convert // to /**/ comments
4338
4339 2005-09-28  Wim Taymans  <wim@fluendo.com>
4340
4341         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4342         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4343         (gst_bus_sync_signal_handler):
4344         * gst/gstbus.h:
4345         Added async-message and sync-message signals to the bus.
4346         Added helper BusFunc to emit signals for all posted messages.
4347
4348         * gst/gstmessage.c: (gst_message_type_get_name),
4349         (gst_message_type_to_quark), (gst_message_get_type):
4350         * gst/gstmessage.h:
4351         Register quarks for message names.
4352
4353 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4354
4355         * docs/libs/gstreamer-libs-sections.txt:
4356         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4357         (gst_controller_new_list):
4358         * libs/gst/controller/gstcontroller.h:
4359           added another constructor for language bindings
4360
4361 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4362
4363         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4364           add another check
4365         * gst/gstbus.c:
4366           add some doc
4367         * gst/gstinfo.c: (_gst_debug_init):
4368           slightly more readable color for refcount debugging
4369
4370 2005-09-28  Wim Taymans  <wim@fluendo.com>
4371
4372         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4373         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4374         (find_element), (gst_bin_sort_iterator_next),
4375         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4376         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4377         (gst_bin_change_state), (gst_bin_dispose):
4378         Small doc fixes. get_clock -> provide_clock.
4379
4380         * gst/gstelement.c: (gst_element_class_init),
4381         (gst_element_provides_clock), (gst_element_provide_clock),
4382         (gst_element_get_clock), (gst_element_commit_state),
4383         (gst_element_lost_state):
4384         * gst/gstelement.h:
4385         Make get/set_clock() symetric. Add provide_clock vmethod since
4386         that is actually what this function does.
4387
4388         * gst/gstpipeline.c: (gst_pipeline_class_init),
4389         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4390         (gst_pipeline_get_clock):
4391         get_clock -> provide_clock.
4392
4393 2005-09-28  Andy Wingo  <wingo@pobox.com>
4394
4395         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4396         lieu of real docs...
4397
4398         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4399
4400 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4401
4402         * gst/elements/gstcapsfilter.c:
4403         * gst/elements/gstfakesink.c:
4404         * gst/elements/gstfakesrc.c:
4405         * gst/elements/gstfdsink.c:
4406         * gst/elements/gstfdsrc.c:
4407         * gst/elements/gstfilesink.c:
4408         * gst/elements/gstfilesrc.c:
4409         * gst/elements/gstidentity.c:
4410         * gst/elements/gsttee.c:
4411         * gst/elements/gsttypefindelement.c:
4412           Make element details static.
4413
4414 2005-09-28  Wim Taymans  <wim@fluendo.com>
4415
4416         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4417         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4418         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4419         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4420         (gst_bin_change_state), (gst_bin_dispose):
4421         Some documentation updates.
4422         Clean up dispose handlers.
4423
4424         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4425         * gst/gstpad.c: (gst_pad_dispose):
4426         Clean up dispose handler.
4427
4428         * gst/gstpipeline.c: (gst_pipeline_change_state):
4429         Removed spurious UNLOCK.
4430
4431 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4432
4433         * docs/gst/gstreamer-sections.txt:
4434         * gst/base/gstbasesrc.h:
4435         * gst/gstelement.h:
4436         * gst/gstevent.h:
4437         * gst/gstobject.h:
4438         * gst/gstpad.h:
4439         * gst/gstpipeline.c:
4440         * gst/gstpipeline.h:
4441         * gst/gstutils.h:
4442         * gst/gstxml.h:
4443           added two new functions to the docs
4444                 documents all undocumented GstXXXFlags
4445                 completed some incomplete docs 
4446
4447 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4448
4449         * gst/gstbin.c: (gst_bin_dispose):
4450         * gst/gstelement.c: (gst_element_dispose):
4451           remove now useless and leaky resurrection code in dispose
4452         * gst/base/gstbasesrc.c: (gst_base_src_init):
4453         * gst/gstelementfactory.c: (gst_element_factory_create):
4454         * gst/gstobject.c: (gst_object_set_parent):
4455           add some debugging
4456
4457 2005-09-27  Wim Taymans  <wim@fluendo.com>
4458
4459         * docs/design/part-TODO.txt:
4460         Update TODO.
4461
4462         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4463         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4464         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4465         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4466         (gst_bin_change_state):
4467         * gst/gstelement.h:
4468         Remove element variable, we keep element info in the iterator now.
4469
4470 2005-09-27  Andy Wingo  <wingo@pobox.com>
4471
4472         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4473         values.
4474
4475 2005-09-27  Wim Taymans  <wim@fluendo.com>
4476
4477         * check/gst/gstbin.c: (GST_START_TEST):
4478         Enable check that works now.
4479
4480         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4481         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4482         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4483         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4484         (gst_bin_change_state):
4485         * gst/gstbin.h:
4486         Redid the state change algorithm using a topological sort algo.
4487         Handles all cases correctly.
4488         Exposed iterator for state change order.
4489
4490         * gst/gstelement.h:
4491         Temp storage for state changes. Need to get rid of this soon.
4492
4493 2005-09-27  Wim Taymans  <wim@fluendo.com>
4494
4495         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4496         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4497         (link_fold_func), (gst_pad_proxy_setcaps):
4498         Leak fixes, the fold functions need to unref the passed object and
4499         _get_parent_*() returns ref to parent.
4500
4501 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4502
4503         * check/gst/gstbuffer.c: (test_make_writable):
4504           Plug leak in test case and fix 'make check-valgrind'
4505
4506 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4507
4508         * gst/gstbuffer.c: (gst_subbuffer_init):
4509           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4510           works correctly in all circumstances (we could have just copied
4511           the parent buffer's readonly flag, but conceptually it seems
4512           cleaner to mark all subbuffers as read-only). (based on patch
4513           by Alessandro Decina, #314710).
4514         
4515         * check/gst/gstbuffer.c: (create_read_only_buffer),
4516         (test_make_writable), (test_subbuffer_make_writable),
4517         (gst_test_suite):
4518           Add some tests for gst_buffer_make_writable().
4519
4520 2005-09-27  Wim Taymans  <wim@fluendo.com>
4521
4522         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4523         use gst_object_has_ancestor().
4524
4525         * gst/gstobject.c: (gst_object_has_ancestor):
4526         * gst/gstobject.h:
4527         gst_object_has_ancestor() copied from gstbin.c as it is a
4528         usefull function.
4529
4530         * tests/instantiate/create.c: (create_all_elements):
4531         * tests/lat.c: (handoff_src), (handoff_sink):
4532         * tests/sched/runxml.c: (main):
4533         * tests/seeking/seeking1.c: (main):
4534         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4535         (main):
4536         Fix compilation of some tests.
4537
4538 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4539
4540         * gst/gsterror.h:
4541           Remove comment. GST_TYPE_G_ERROR is here to stay,
4542           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4543           (#316961, #300610).
4544
4545 2005-09-26  Wim Taymans  <wim@fluendo.com>
4546
4547         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4548         Added check that shows error in state change order.
4549
4550 2005-09-26  Wim Taymans  <wim@fluendo.com>
4551
4552         * gst/gstbin.c: (gst_bin_change_state):
4553         Make state change function use 3 queues again, we were
4554         adding elements in the wrong order.
4555
4556         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4557         Some debug info,
4558
4559         * gst/gstpad.c: (gst_pad_dispose):
4560         Added some debug info first.
4561
4562 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4563
4564         * docs/design/draft-push-pull.txt:
4565         * docs/design/part-events.txt:
4566         * docs/design/part-overview.txt:
4567         * docs/design/part-scheduling.txt:
4568           Replace all _pull_region() with _pull_range()
4569           
4570 2005-09-26  Andy Wingo  <wingo@pobox.com>
4571
4572         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4573
4574         * check/gst-libs/controller.c: Update for controller api change.
4575
4576         * configure.ac: 
4577         * tests/Makefile.am:
4578         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4579         over by GLib bug 118439.
4580         
4581         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4582         routines to a function.
4583
4584         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4585
4586         * libs/gst/controller/gsthelper.c:
4587         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4588         (gst_object_sync_values): Renamed from sink_values. Ugh.
4589
4590         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4591
4592         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4593         Renamed from controller_key, as it is exported.
4594
4595         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4596
4597 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4598
4599         * gst/Makefile.am:
4600         * gst/gst.h:
4601         * gst/gstpad.h:
4602         * gst/gstpadtemplate.h:
4603         * gst/gstquery.c:
4604         * gst/gstquery.h:
4605         * gst/gstqueryutils.c:
4606         * gst/gstqueryutils.h:
4607           remove queryutils headers after moving the two used functions
4608           to gstquery.  also fixes build problem for gstsiddec
4609
4610 2005-09-26  Michael Smith <msmith@fluendo.com>
4611
4612         * tools/gst-launch.1.in:
4613         Correct documentation in manpage of debug syntax
4614
4615 2005-09-26  Wim Taymans  <wim@fluendo.com>
4616
4617         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4618         (gst_base_src_is_seekable), (gst_base_src_change_state):
4619         Some more debugging info.
4620
4621 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4622
4623         * docs/gst/gstreamer-sections.txt:
4624         * gst/base/gstbasetransform.h:
4625         * gst/gstindex.h:
4626           added more docs
4627
4628 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4629
4630         * docs/gst/.cvsignore:
4631         * docs/gst/tmpl/.cvsignore:
4632         * docs/gst/tmpl/gstpipeline.sgml:
4633         * docs/gst/tmpl/gstplugin.sgml:
4634         * gst/gstpipeline.c:
4635         * gst/gstplugin.c:
4636         * gst/gstplugin.h:
4637           inlined the last two docs files
4638           removed the tmpl directory from cvs (no more conflicts here!)
4639
4640 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4641
4642         * docs/gst/gstreamer-sections.txt:
4643         * docs/gst/tmpl/.cvsignore:
4644         * docs/gst/tmpl/gstpad.sgml:
4645         * docs/gst/tmpl/gstpadtemplate.sgml:
4646         * gst/Makefile.am:
4647         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4648         (gst_pad_finalize), (gst_pad_set_pad_template):
4649         * gst/gstpad.h:
4650         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4651         (gst_pad_template_class_init), (gst_pad_template_init),
4652         (gst_pad_template_dispose), (name_is_valid),
4653         (gst_static_pad_template_get), (gst_pad_template_new),
4654         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4655         (gst_pad_template_pad_created):
4656         * gst/gstpadtemplate.h:
4657           inlined two more docs
4658           factored gstpadtemplate out of gstpad
4659
4660 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4661
4662         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4663         (test_children_state_change_order_semi_sink):
4664           Fix test case: we can't rely on a fixed state change order when
4665           going from READY => PAUSED because the sink might commit its 
4666           new state first when the first buffer created by the source 
4667           reaches the sink before the source has finished its change state.
4668           (Test case still fails at times, see #316856, comment 5 onwards)
4669
4670 2005-09-24  Wim Taymans  <wim@fluendo.com>
4671
4672         * docs/design/part-events.txt:
4673         * docs/design/part-gstbus.txt:
4674         * docs/design/part-gstpipeline.txt:
4675         * docs/design/part-messages.txt:
4676         * docs/design/part-overview.txt:
4677         * docs/design/part-segments.txt:
4678         * gst/gstbin.c:
4679         * gst/gstbuffer.c:
4680         * gst/gstclock.c:
4681         * gst/gstelement.c:
4682         * gst/gstevent.c:
4683         * gst/gstfilter.c:
4684         * gst/gstiterator.c:
4685         Various documentation updates.
4686
4687 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4688
4689         * gst/gstclock.h:
4690           Well, that's embarassing.  Luckily we weren't using
4691           GST_CLOCK_DIFF anywhere.
4692
4693 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4694
4695         * common/gtk-doc.mak:
4696           don't fail on building XML, FC4 slave shows a bunch of doc
4697           missing bits that I don't get
4698         * gst/gstpad.c:
4699         * gst/gstpipeline.c:
4700         * gst/gststructure.c:
4701           some doc updates
4702
4703 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4704
4705         * docs/design/part-gstbin.txt:
4706         * docs/design/part-gstbus.txt:
4707         * gst/gstbus.c:
4708           Add blurb about how the bus goes into flushing mode and
4709           drops all messages when its bin goes from READY into NULL 
4710           state.
4711
4712 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4713
4714         * docs/gst/gstreamer-sections.txt:
4715         * gst/gststructure.c: (gst_structure_get_clock_time):
4716         * gst/gststructure.h:
4717           add a method to get a GstClockTime out of a structure
4718
4719 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4720
4721         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4722         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4723           Added test to check state change order in bins (can still be made
4724           to fail here under heavy disk load; bails out with 'Push on pad
4725           fakesink:sink0, but it was not activated in push mode').
4726
4727         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4728           Fix state change order when there is only a semi sink (#316856)
4729
4730         * gst/gstbus.c: (gst_bus_class_init):
4731           Use _class_peek_parent(), not _class_ref(); fix docs to say
4732           'default main context' instead of 'mainloop' where that is
4733           what's meant.
4734
4735         * gst/gstelement.c: (gst_element_commit_state),
4736         (gst_element_set_state):
4737           Fix typos in debug messages
4738
4739 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4740
4741         * docs/README:
4742         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4743         * gst/gstpluginfeature.c:
4744         * gst/gstutils.c:
4745           various doc updates
4746         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4747           change an assert into an error until it gets fixed properly
4748
4749 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4750
4751         * docs/gst/gstreamer-sections.txt:
4752         * docs/gst/tmpl/.cvsignore:
4753         * docs/gst/tmpl/gstelement.sgml:
4754         * docs/gst/tmpl/gstinfo.sgml:
4755         * docs/gst/tmpl/gstobject.sgml:
4756         * gst/gstelement.c:
4757         * gst/gstelement.h:
4758         * gst/gstinfo.c:
4759         * gst/gstinfo.h:
4760         * gst/gstobject.c: (gst_object_class_init):
4761         * gst/gstobject.h:
4762           inlined 3 more biiiig doc files and added some missing docs on the fly
4763
4764 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4765
4766         * check/gst/.cvsignore:
4767         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4768         * gst/gstregistryxml.c: (load_plugin),
4769         (gst_registry_xml_save_plugin):
4770           put back source in registry.  add checks for find_plugin.
4771         * testsuite/states/bin.c: (assert_state), (empty_bin),
4772         (test_adding_one_element), (main):
4773         * testsuite/states/locked.c: (main):
4774           some compile/run fixes
4775
4776 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4777
4778         * check/gst/gstvalue.c: (GST_START_TEST):
4779           fix leaks in the test itself
4780
4781 2005-09-22  Wim Taymans  <wim@fluendo.com>
4782
4783         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4784         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4785         (gst_base_sink_query):
4786         Prepare for more accurate position reporting and query
4787         handling.
4788
4789         * gst/gstelement.c: (gst_element_send_event),
4790         (gst_element_set_state):
4791         Add some comment.
4792
4793 2005-09-22  Wim Taymans  <wim@fluendo.com>
4794
4795         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4796         (gst_query_parse_segment):
4797         * gst/gstquery.h:
4798         More documentation.
4799         Add segment query for future use.
4800
4801 2005-09-22  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/gstbin.c: (gst_bin_add_func):
4804         Some more debug info.
4805
4806         * gst/gstelement.c: (gst_element_send_event):
4807         Simplify send_event
4808
4809         * gst/gstelement.h:
4810         Don't know how flags got broken.
4811
4812         * gst/gstquery.h:
4813         Added new query.
4814
4815 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4816
4817         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4818           Add simplistic test suite for GST_TYPE_DATE serialisation and
4819           deserialisation.
4820
4821 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4822
4823         * docs/gst/gstreamer-sections.txt:
4824         * gst/gststructure.c: (gst_structure_set_valist),
4825         (gst_structure_get_date):
4826         * gst/gststructure.h:
4827         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4828         (gst_date_copy), (gst_value_compare_date),
4829         (gst_value_serialize_date), (gst_value_deserialize_date),
4830         (gst_value_transform_date_string),
4831         (gst_value_transform_string_date), (_gst_value_initialize):
4832         * gst/gstvalue.h:
4833           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4834           bunch of utility functions along with a hack that checks that
4835           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4836           is required. Part of the grand scheme in #170777.
4837
4838 2005-09-22  Andy Wingo  <wingo@pobox.com>
4839
4840         * gst/gstconfig.h.in: Psych out gtk-doc.
4841
4842         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4843
4844         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4845
4846         * tools/gst-inspect.c (print_element_list): Plug some
4847         inconsequential leaks.
4848
4849         * gst/gstregistry.c (gst_registry_get_default): Doc.
4850
4851         * check/gst/gstplugin.c: 
4852         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4853         * gst/gstelementfactory.c (gst_element_factory_create): 
4854         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4855         refcount changes.
4856
4857         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4858         (gst_plugin_feature_load): Doc, don't eat refs.
4859
4860         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4861         (gst_plugin_list_free): Doc.
4862         (gst_plugin_load_file): Doc updates.
4863
4864         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4865         accessors returning refcounted objects, return a ref.
4866
4867         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4868         accessor for caps. IDEMPOTENCE. Oh yes.
4869
4870 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4871
4872         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4873
4874         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4875         (_gst_debug_register_funcptr):
4876           Add mutex to serialise access to the hash table with
4877           the function pointer => function name string mapping;
4878           make that hash table static scope (#316809).
4879
4880         * gst/registries/.cvsignore:
4881           Remove left-over file.
4882
4883 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4884
4885         * docs/pwg/appendix-porting.xml:
4886           And something about newsegment events and caps-on-buffers to
4887           the porting guide (feel free to improve).
4888
4889 2005-09-21  Andy Wingo  <wingo@pobox.com>
4890
4891         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4892         data and event probes on the same pad.
4893         (test_buffer_probe_once): Test that removing probes from within
4894         the probe functions works.
4895
4896 2005-09-21  Andy Wingo  <wingo@pobox.com>
4897
4898         * check/gst/gstutils.c: New file.
4899         (test_buffer_probe_n_times): A simple buffer probe test. More to
4900         come, foolios.
4901
4902         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4903         have-data::buffer, not have-data.
4904         (gst_pad_add_event_probe): Likewise for have-data::event.
4905         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4906         peer' isn't quite right yet though.
4907         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4908         (gst_pad_remove_data_probe): Change to take the guint handler_id
4909         as their arg, not the function+data, which is more glib-like.
4910
4911         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4912         the signal emission to indicate if the data is a buffer or an
4913         event.
4914         (gst_pad_get_type): Initialize buffer and event quarks.
4915         (gst_pad_class_init): have-data is now a detailed signal, yes it
4916         is.
4917
4918 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4919
4920         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4921         * gst/gstutils.c: (gst_util_set_value_from_string),
4922         (gst_util_set_object_arg):
4923           Don't put functional code in g_return_if_fail() or
4924           g_return_val_if_fail() statements, otherwise things will 
4925           break when G_DISABLE_CHECKS is defined during compilation.
4926
4927 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4928
4929         * docs/gst/tmpl/.cvsignore:
4930         * docs/gst/tmpl/gstvalue.sgml:
4931         * gst/gstvalue.c:
4932         * gst/gstvalue.h:
4933           inlied another one and added  some obvious docs
4934
4935 2005-09-21  Wim Taymans  <wim@fluendo.com>
4936
4937         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4938         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4939         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4940         (gst_fdsrc_get_property), (gst_fdsrc_create):
4941         * gst/elements/gstfdsrc.h:
4942         Properly implement fdsrc. Removed signal and timeout,
4943         better implemented somewhere else.
4944
4945 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4946
4947         * docs/gst/tmpl/.cvsignore:
4948         * docs/gst/tmpl/gstimplementsinterface.sgml:
4949         * gst/gstinterface.c:
4950           inlined more docs
4951
4952 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4953
4954         * docs/gst/gstreamer-sections.txt:
4955         * docs/gst/tmpl/.cvsignore:
4956         * docs/gst/tmpl/gstenumtypes.sgml:
4957           remove obsolete doc file
4958
4959 2005-09-21  David Schleef  <ds@schleef.org>
4960
4961         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4962         little beer, fix a little leak.
4963
4964 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4965
4966         * docs/gst/gstreamer-docs.sgml:
4967         * docs/gst/gstreamer-sections.txt:
4968         * docs/gst/tmpl/.cvsignore:
4969         * gst/Makefile.am:
4970         * gst/gst.h:
4971         * gst/gstbin.c:
4972         * gst/gstelement.h:
4973         * gst/gstindex.c: (gst_index_class_init):
4974         * gst/gstindex.h:
4975         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4976         (gst_index_factory_class_init), (gst_index_factory_init),
4977         (gst_index_factory_finalize), (gst_index_factory_new),
4978         (gst_index_factory_destroy), (gst_index_factory_find),
4979         (gst_index_factory_create), (gst_index_factory_make):
4980         * gst/gstindexfactory.h:
4981         * gst/gstpluginfeature.c:
4982         * gst/gstpluginfeature.h:
4983         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4984           more docs inlined, splitted gstindex.{c,h}
4985
4986 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4987
4988         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4989           fix a leak
4990
4991 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4992
4993         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4994           Set sync to FALSE by default.
4995
4996 2005-09-20  Wim Taymans  <wim@fluendo.com>
4997
4998         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4999         (gst_base_sink_init):
5000         Make sync property settable from subclass.
5001
5002         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5003         (gst_fake_sink_change_state):
5004         Set sync to FALSE by default.
5005
5006 2005-09-20  Wim Taymans  <wim@fluendo.com>
5007
5008         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5009         * tools/gst-launch.c: (main):
5010         The timeout handler should have lower priority than the source
5011         so we don't timeout before popping a message with 0 timeout.
5012         Dump error messages after failed state change.
5013
5014 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5015
5016         * tools/gst-inspect.c: (print_element_properties_info):
5017           Fix two typos.
5018
5019 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5020
5021         * check/gst/gstevent.c:
5022         * gst/elements/gstfakesink.c:
5023         * gst/elements/gstfakesink.h:
5024           remove the sync property from fakesink.
5025           has the side effect of setting sync TRUE
5026           for fakesink, which is a change.  Anyone who knows how
5027           to fix this nicely in a GObject-y way, feel free.
5028
5029 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5030
5031         * docs/gst/gstreamer-docs.sgml:
5032           remove probe refsection
5033
5034 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5035
5036         * check/Makefile.am:
5037           disable valgrinding the controller test again
5038         * docs/gst/gstreamer-sections.txt:
5039           update for api-changes
5040
5041 2005-09-20  Wim Taymans  <wim@fluendo.com>
5042
5043         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5044         (gst_base_sink_set_property), (gst_base_sink_get_property),
5045         (gst_base_sink_do_sync):
5046         * gst/base/gstbasesink.h:
5047         Added sync property to basesink to disable clock sync.
5048
5049 2005-09-20  Andy Wingo  <wingo@pobox.com>
5050
5051         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5052         eating the caller's refcount.
5053
5054         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5055         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5056         refcount.
5057
5058         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5059         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5060         of GLib 2.8 public, so we can know which refcount to check in
5061         tests.
5062
5063         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5064         (gst_object_init): Only set the gst refcount if we're going ahead
5065         with the refcount hack.
5066
5067 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5068
5069         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5070         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5071           more leaks plumbed, added more debug-logging
5072         * gst/gstmacros.h:
5073           whitespace fix
5074
5075 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5076
5077         * gst/gstmessage.c:
5078           remove include of gstmemchunk.h
5079
5080 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5081
5082         * gst/gstclock.c: (_gst_clock_id_free):
5083           Commit from the Political Party For More Atomic CVS Commits,
5084           so that people don't waste too much of their day fishing
5085           out obvious leaks out of massive commits.
5086           Oh, and fix a pretty damn obvious leak in the memchunk
5087           removal code.
5088
5089 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5090
5091         * check/Makefile.am:
5092         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5093           plug mem-leak, re-add to valgrindable tests
5094
5095 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5096
5097         * gst/gstplugin.h:
5098           unbreak the build for those who have chronic arthritis
5099           and typing "make check" is just too taxing on the hands
5100
5101 2005-09-20  Andy Wingo  <wingo@pobox.com>
5102
5103         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5104         really want it out, you should fix plugins at the same time.
5105
5106 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5107
5108         * configure.ac:
5109         * docs/gst/gstreamer-sections.txt:
5110         * gst/gstobject.c:
5111           added missing symbols to api docs
5112           disable ref-count hack if we have glib >= 2.8
5113
5114 2005-09-19  David Schleef  <ds@schleef.org>
5115
5116         * docs/gst/Makefile.am: Ignore a few more internal headers
5117         * docs/gst/gstreamer-docs.sgml: Remove old sections
5118         * docs/gst/gstreamer-sections.txt: Remove old sections
5119         * docs/gst/tmpl/gstobject.sgml: update
5120         * docs/gst/tmpl/gstplugin.sgml: update
5121         * docs/gst/tmpl/gstpluginfeature.sgml: update
5122         * docs/random/ds/0.9-suggested-changes: update.
5123         * gst/Makefile.am: remove memchunk and trashstack, since they're
5124           not used.
5125         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5126         * gst/gst.h: don't include some headers
5127         * gst/gstchildproxy.c: add gstmarshal.h
5128         * gst/gstclock.c: Don't use memchunks
5129         * gst/gstminiobject.c: Add some docs
5130         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5131         * gst/gstobject.h: same
5132         * gst/gstplugin.c: include gstmacros.h
5133         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5134         * gst/gstquery.c: don't use memchunks
5135         * gst/gstregistry.c: rename gst_registry_deinit()
5136         * gst/gstregistry.h: same
5137
5138 2005-09-19  David Schleef  <ds@schleef.org>
5139
5140         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5141         * docs/libs/gstreamer-libs-sections.txt:
5142         * docs/libs/tmpl/gstgetbits.sgml:
5143         * docs/libs/tmpl/gstputbits.sgml:
5144
5145 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * win32/gstenumtypes.c:
5148         * win32/gstenumtypes.h:
5149           Update.
5150
5151 2005-09-19  Wim Taymans  <wim@fluendo.com>
5152
5153         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5154         Automatically PAUSE and RESUME a pipeline when a flushing seek
5155         is performed.
5156
5157 2005-09-19  Andy Wingo  <wingo@pobox.com>
5158
5159         * gst/gstregistry.h: Spacing fixen.
5160
5161 2005-09-19  Wim Taymans  <wim@fluendo.com>
5162
5163         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5164         Handle state change failure more correctly.
5165
5166 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5167
5168         * check/Makefile.am:
5169         * check/pipelines/cleanup.c: (run_pipeline):
5170         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5171         (GST_START_TEST):
5172           enable cleanup again after fixing the leak
5173         * docs/README:
5174           some more info on docs
5175
5176 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5177
5178         * check/Makefile.am:
5179           re-enable tests now that leaks are plugged
5180         * check/gst/gst.c:
5181         * check/gst/gstbin.c:
5182         * check/gst/gstpipeline.c:
5183           add some more tests while fixing leaks
5184         * common/check.mak:
5185           make sure binaries are uptodate when valgrinding/gdbing
5186         * gst/gst.c:
5187         * gst/gstelementfactory.c:
5188           remove a ref too many, and add a FIXME for when we get
5189           round to disposing of classes
5190         * gst/gstplugin.c:
5191           fix the refcounting when loading a plugin from a file and
5192           the code pretends that the pointer is the same even though
5193           of course it can change
5194         * gst/gstpluginfeature.c:
5195           unref plugins marked cached (a bit confusing as a name)
5196           as the docs state should be done
5197           various doc additions to explain refcounting
5198         * gst/gstregistry.c:
5199         * gst/gstregistryxml.c:
5200           debugging
5201
5202 2005-09-19  Wim Taymans  <wim@fluendo.com>
5203
5204         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5205         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5206         (send_messages), (GST_START_TEST), (gstbus_suite):
5207         * check/gst/gstpipeline.c: (GST_START_TEST):
5208         * check/pipelines/cleanup.c: (run_pipeline):
5209         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5210         (GST_START_TEST):
5211         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5212         (gst_bus_source_check), (gst_bus_source_dispatch),
5213         (gst_bus_create_watch), (gst_bus_add_watch_full),
5214         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5215         * gst/gstbus.h:
5216         * tools/gst-launch.c: (event_loop):
5217         * tools/gst-md5sum.c: (event_loop):
5218         GstBusHandler -> GstBusFunc, return value has the same meaning as
5219         any other GSource (FALSE == remove source).
5220         _add_watch() and _add_watch_full() now take a MessageType mask to
5221         only handle specific types of messages.
5222         _poll() returns the GstMessage instead of the message type to avoid
5223         race conditions.
5224         _have_pending() takes a MessageType mask now too.
5225         Added testsuite for multiple bus watches.
5226         Fix testsuites and applications for new bus API.
5227
5228 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5229
5230         * check/Makefile.am:
5231           mark a bunch of the tests as to fix until we fix them
5232
5233 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5234
5235         * common/check.mak:
5236           use GST_PLUGIN settings for valgrind tests as well, so we're
5237           valgrinding the correct thing
5238         * gst/gst.c: (init_post):
5239           plug another leak
5240
5241 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5242
5243         * gst/gst.c: (init_post), (gst_deinit):
5244         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5245         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5246         * gst/gstindex.c: (gst_index_factory_class_init),
5247         (gst_index_factory_finalize):
5248         * gst/gstobject.c: (gst_object_dispose):
5249         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5250         (gst_plugin_load_file), (gst_plugin_desc_free):
5251         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5252         (gst_plugin_feature_finalize):
5253         * gst/gstregistry.c: (gst_registry_class_init),
5254         (gst_registry_init), (gst_registry_finalize),
5255         (gst_registry_get_default), (gst_registry_deinit):
5256         * gst/gstregistry.h:
5257         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5258           various cleanups and memleak plugging.  make valgrind is happy now.
5259
5260 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5261
5262         * common/check.mak:
5263           add a check-valgrind target
5264
5265 2005-09-18  David Schleef  <ds@schleef.org>
5266
5267         * tools/gst-inspect.c: Revert the GOption code.
5268
5269 2005-09-17  David Schleef  <ds@schleef.org>
5270
5271         * check/Makefile.am: Fix environment variables.
5272         * check/gst/gstplugin.c: Fix for API changes.
5273         * tools/gst-inspect.c: Fix for API changes.
5274         * tools/gst-xmlinspect.c: Fix for API changes.
5275         * gst/gstelementfactory.c:
5276         * gst/gstplugin.c:
5277         * gst/gstplugin.h:
5278         * gst/gstpluginfeature.c:
5279         * gst/gstpluginfeature.h:
5280         * gst/gstregistry.c:
5281         * gst/gstregistry.h:
5282         * gst/gstregistryxml.c:
5283         * gst/gsttypefind.c:
5284         * gst/gsttypefindfactory.c:
5285         * gst/indexers/gstfileindex.c:
5286         * gst/indexers/gstmemindex.c:
5287         * gst/schedulers/Makefile.am:
5288           Change registry to keep track of both plugins and features,
5289           removing the feature tracking from plugins themselves.
5290
5291 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5292
5293         * check/Makefile.am:
5294         * tools/gst-register.1.in:
5295           remove gst-register
5296
5297 2005-09-15  David Schleef  <ds@schleef.org>
5298
5299         * check/gst/gstplugin.c:
5300         * gst/gstelementfactory.c:
5301         * gst/gstplugin.c:
5302         * gst/gstpluginfeature.c:
5303         * gst/gstregistry.c:
5304           Getting tired of debugging.  Disabled all the unreffing of
5305           plugins and features, which fixes the segfaults, but of
5306           course leaks like crazy.  At least playbin works.
5307
5308 2005-09-15  David Schleef  <ds@schleef.org>
5309
5310         * check/gst/gstplugin.c: (register_check_elements),
5311         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5312         More testing
5313         * gst/elements/gsttypefindelement.c: Fix refcounting.
5314         * gst/gsttypefind.c:
5315         * gst/gsttypefindfactory.c:
5316         * gst/gsttypefindfactory.h:
5317
5318 2005-09-15  David Schleef  <ds@schleef.org>
5319
5320         * gst/gstindex.c: get refcounting correct.
5321         * gst/gstregistry.c: Handle the case where a feature/plugin is
5322           not found.
5323
5324 2005-09-15  David Schleef  <ds@schleef.org>
5325
5326         * check/Makefile.am:
5327         * check/gst/gstplugin.c: Add test
5328         * gst/gstplugin.c: Fix problems noticed by testsuite
5329         * gst/gstplugin.h:
5330         * gst/gstregistry.c: 
5331         * gst/gstregistry.h:
5332
5333 2005-09-15  David Schleef  <ds@schleef.org>
5334
5335         * gst/gstplugin.c: Implement semi-decent recounting and locking
5336           in plugins and plugin features.
5337         * gst/gstplugin.h:
5338         * gst/gstpluginfeature.c:
5339         * gst/gstpluginfeature.h:
5340         * gst/gstregistry.c:
5341
5342 2005-09-15  Michael Smith <msmith@fluendo.com>
5343
5344         * gst/gstregistry.c: (gst_registry_get_feature_list):
5345           Implement this. Makes oggdemux work; decodebin still broken.
5346
5347 2005-09-14  David Schleef  <ds@schleef.org>
5348
5349         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5350           #316076)
5351         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5352         * gst/check/Makefile.am:
5353         * libs/gst/controller/Makefile.am:
5354         * libs/gst/dataprotocol/Makefile.am:
5355
5356 2005-09-14  David Schleef  <ds@schleef.org>
5357
5358         * configure.ac: Remove getbits library.  Nothing uses it, and
5359           it should be in something like liboil if someone did want
5360           to use it.
5361         * libs/gst/Makefile.am:
5362         * libs/gst/getbits/Makefile.am:
5363         * libs/gst/getbits/gbtest.c:
5364         * libs/gst/getbits/getbits.c:
5365         * libs/gst/getbits/getbits.h:
5366         * libs/gst/getbits/gstgetbits_generic.c:
5367         * libs/gst/getbits/gstgetbits_i386.s:
5368         * libs/gst/getbits/gstgetbits_inl.h:
5369
5370 2005-09-14  David Schleef  <ds@schleef.org>
5371
5372         * gst/Makefile.am: Dist glib-compat.h
5373
5374 2005-09-14  David Schleef  <ds@schleef.org>
5375
5376         * configure.ac: Remove gst/registries, since it's no longer used.
5377         * gst/registries/Makefile.am:
5378         * gst/registries/gstlibxmlregistry.c:
5379         * gst/registries/gstlibxmlregistry.h:
5380         * gst/registries/gstxmlregistry.c:
5381         * gst/registries/gstxmlregistry.h:
5382         * gst/registries/registrytest.c:
5383
5384 2005-09-14  David Schleef  <ds@schleef.org>
5385
5386         * gst/glib-compat.h:
5387         * gst/gstregistryxml.c:
5388           Convergence is near.  Seriously.
5389
5390 2005-09-14  David Schleef  <ds@schleef.org>
5391
5392         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5393         * gst/glib-compat.h:
5394           Attempt #4 to appease the buildbots.
5395
5396 2005-09-14  David Schleef  <ds@schleef.org>
5397
5398         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5399           Attempt #3.
5400
5401 2005-09-14  David Schleef  <ds@schleef.org>
5402
5403         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5404         Attempt #2.
5405
5406 2005-09-14  David Schleef  <ds@schleef.org>
5407
5408         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5409           the new functions.
5410
5411 2005-09-14  David Schleef  <ds@schleef.org>
5412
5413         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5414         * gst/glib-compat.h: Add some functions that are in newer versions
5415           of glib than we care to require.
5416         * gst/gstregistryxml.c: Use them.
5417
5418 2005-09-14  David Schleef  <ds@schleef.org>
5419
5420         * po/POTFILES.in: remove gst-register.c
5421
5422 2005-09-14  David Schleef  <ds@schleef.org>
5423
5424         * docs/gst/gstreamer-docs.sgml:
5425         * docs/gst/gstreamer-sections.txt:
5426         * docs/gst/gstreamer.types:
5427         * docs/gst/tmpl/gstelement.sgml:
5428         * docs/gst/tmpl/gstplugin.sgml:
5429         * docs/gst/tmpl/gstpluginfeature.sgml:
5430           Documentation updates for registry changes.
5431
5432 2005-09-14  David Schleef  <ds@schleef.org>
5433
5434         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5435           because we don't require glib-2.8.
5436
5437 2005-09-14  David Schleef  <ds@schleef.org>
5438
5439         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5440           registries directory.
5441
5442 2005-09-14  David Schleef  <ds@schleef.org>
5443
5444         * check/Makefile.am:
5445         * check/generic/states.c:
5446         * gst/Makefile.am:
5447         * gst/gst.c:
5448         * gst/gst.h:
5449         * gst/gst_private.h:
5450         * gst/gstelementfactory.c:
5451         * gst/gstindex.c:
5452         * gst/gstinfo.c:
5453         * gst/gstplugin.c:
5454         * gst/gstplugin.h:
5455         * gst/gstpluginfeature.c:
5456         * gst/gstpluginfeature.h:
5457         * gst/gstregistry.c:
5458         * gst/gstregistry.h:
5459         * gst/gstregistrypool.c: remove
5460         * gst/gstregistrypool.h: remove
5461         * gst/gsttypefind.c:
5462         * gst/gsttypefindfactory.c:
5463         * gst/gsturi.c:
5464         * tools/Makefile.am:
5465         * tools/gst-compprep.c:
5466         * tools/gst-inspect.c:
5467         * tools/gst-register.c: remove
5468         * tools/gst-xmlinspect.c:
5469           Registry rewrite.  Changes registry from being a file created
5470           by a tool into a simple cache file created automatically by 
5471           libgstreamer.  Removed gst-register (because it's no longer
5472           needed).  Remove registry pools, because we only have one
5473           registry implementation (XML).  Fix up other subsystems as
5474           necessary.
5475
5476 2005-09-13  Michael Smith <msmith@fluendo.com>
5477
5478         * gst/gstconfig.h.in:
5479           Don't Use windows linking attributes for MinGW. Fixes #316157
5480
5481 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * gst/gstutils.c: (set_state_async_thread_func),
5484         (gst_element_set_state_async):
5485           Apparently people think it's better if this function doesn't
5486           try to set the state to whatever state was asked for on the first
5487           call to this function for any object.  Seriously.
5488
5489 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5490
5491         * check/gst/gstpipeline.c: (GST_START_TEST):
5492         * docs/gst/gstreamer-sections.txt:
5493         * gst/gstutils.c: (set_state_async_thread_func),
5494         (gst_element_set_state_async):
5495         * gst/gstutils.h:
5496           add a "gst_element_set_state_async" method that
5497           sets the state and starts a thread to make sure the state
5498           change completes as best as it can
5499
5500 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5501
5502         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5503           codify design+behaviour in testsuite after discussion
5504
5505 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5506
5507         * docs/gst/tmpl/gstelement.sgml:
5508         * docs/manual/appendix-quotes.xml:
5509           add a quote
5510         * gst/gstelement.c: (gst_element_set_state):
5511           add some debug
5512
5513 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5514
5515         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5516         (gst_base_transform_prepare_output_buf),
5517         (gst_base_transform_handle_buffer):
5518         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5519         (gst_capsfilter_prepare_buf):
5520           Remove the requirement for sub-classes to call the parent
5521           implementation of prepare_output_buffer with a wrapper function.
5522           
5523         * gst/gsttaglist.h:
5524         * gst/gsttagsetter.h:
5525           Fix #define wrapper
5526
5527 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5528
5529         * docs/gst/gstreamer-sections.txt:
5530           more doc cleanups
5531
5532 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5533
5534         * docs/gst/gstreamer-sections.txt:
5535         * docs/gst/tmpl/gstelement.sgml:
5536         * docs/gst/tmpl/gstplugin.sgml:
5537         * gst/gstminiobject.c:
5538         * gst/gstvalue.h:
5539           docs now stop throwing warnings
5540
5541 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * docs/gst/gstreamer-sections.txt:
5544         * docs/gst/gstreamer.types:
5545         * docs/gst/tmpl/gstpad.sgml:
5546         * docs/gst/tmpl/gsttypes.sgml:
5547         * gst/base/gstadapter.h:
5548         * gst/base/gstbasesink.h:
5549         * gst/base/gstbasesrc.h:
5550         * gst/gstbin.h:
5551         * gst/gstbuffer.h:
5552         * gst/gstbus.h:
5553         * gst/gstcaps.h:
5554         * gst/gstclock.h:
5555         * gst/gstelement.h:
5556         * gst/gstevent.h:
5557         * gst/gstmessage.h:
5558         * gst/gstpad.h:
5559         * gst/gststructure.c:
5560         * gst/registries/gstlibxmlregistry.h:
5561           various documentation fixes
5562
5563 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5564
5565         * docs/gst/gstreamer-sections.txt:
5566         * docs/gst/tmpl/gstvalue.sgml:
5567           rearrange gstvalue section
5568         * gst/gstutils.c: (gst_element_state_get_name):
5569           NONE -> VOID
5570         * gst/gstvalue.c: (_gst_value_initialize):
5571         * gst/gstvalue.h:
5572           doc updates
5573
5574 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5575
5576         * check/gst-libs/controller.c:
5577           Header include fix.
5578         * gst/base/gstbasetransform.c:
5579         (gst_base_transform_default_prepare_buf),
5580         (gst_base_transform_handle_buffer):
5581         * gst/base/gstbasetransform.h:
5582           Some more basetransform changes and fixes to enable sub-classes
5583           that modify buffer metadata only.
5584         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5585         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5586         (gst_capsfilter_prepare_buf):
5587           If the output pad has fixed allowed caps and input buffers 
5588           don't have any, set the fixed caps on outgoing buffers.
5589
5590 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5591         * check/elements/identity.c: (GST_START_TEST):
5592           Make the error a little clearer when the test fails because
5593           identity made a copy of the buffer.
5594         * docs/gst/gstreamer-sections.txt:
5595           New symbols in gstbasetransform.h
5596         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5597         (gst_base_transform_init), (gst_base_transform_transform_size),
5598         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5599         (gst_base_transform_default_prepare_buf),
5600         (gst_base_transform_get_unit_size),
5601         (gst_base_transform_buffer_alloc),
5602         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5603         (gst_base_transform_change_state),
5604         (gst_base_transform_set_passthrough),
5605         (gst_base_transform_set_in_place),
5606         (gst_base_transform_is_in_place):
5607         * gst/base/gstbasetransform.h:
5608           Change BaseTransform to separate in_place operate from same_caps
5609           output. in_place implies that the element can perform the transform
5610           on incoming buffers in-place, even if the caps on the output are
5611           different.
5612           Sub-class elements can now implement special buffer allocation
5613           methods for outgoing buffers if they wish to.
5614           Big documentation addition.
5615         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5616         * gst/elements/gstelements.c:
5617           Changes for basetransform modifications.
5618         * gst/elements/Makefile.am:
5619         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5620           Compile fix. Extra debug output.
5621
5622 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5623
5624         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5625         (gst_pad_suite):
5626           add tests for valid pad naming
5627         * gst/check/gstcheck.c: (gst_check_log_message_func),
5628         (gst_check_log_critical_func):
5629           add ASSERT_WARNING
5630           remove printing of code, it is fragile when the code contains
5631           % and the line number is enough info
5632         * gst/check/gstcheck.h:
5633         * gst/gstpad.c: (gst_pad_template_new):
5634           fix memleaks
5635
5636 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5637
5638         * configure.ac:
5639           say what CHECK flags we use
5640         * docs/libs/gstreamer-libs.types:
5641         * libs/gst/controller/Makefile.am:
5642         * libs/gst/controller/gst-controller.c:
5643         * libs/gst/controller/gst-controller.h:
5644         * libs/gst/controller/gst-helper.c:
5645         * libs/gst/controller/gst-interpolation.c:
5646         * libs/gst/controller/gstcontroller.c:
5647         * libs/gst/controller/gsthelper.c:
5648         * libs/gst/controller/gstinterpolation.c:
5649         * tools/gst-inspect.c: (print_plugin_info):
5650           we don't use dashes in header names
5651
5652 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5653
5654         * check/Makefile.am:
5655         * check/gst/.cvsignore:
5656         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5657         (gst_pipeline_suite), (main):
5658           adding a test for pipelines and state changes
5659         * gst/gstutils.c: (get_state_func):
5660           add some debugging
5661         * gstreamer.spec.in:
5662           fix up spec file
5663
5664 2005-09-08  Michael Smith <msmith@fluendo.com>
5665
5666         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5667         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5668         (gst_file_src_is_seekable), (gst_file_src_get_size),
5669         (gst_file_src_start):
5670         * gst/elements/gstfilesrc.h:
5671           Various fixes for unseekable, unmmapable, and non-normal files, so
5672           that fallback to read() rather than mmap() works.
5673         * gst/gstevent.c: (gst_event_new_newsegment):
5674           Allow newsegment events with segment_start == segment_end, as will
5675           correctly happen if you use filesrc on a zero-size file, for
5676           example.
5677
5678 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5679
5680         * gst/gstplugin.c: (gst_plugin_load_file):
5681           Call g_module_close when we don't load the module
5682
5683         * gst/registries/gstlibxmlregistry.c:
5684         (gst_xml_registry_get_property):
5685           Port leak fix from 0.8
5686
5687 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5688
5689         * docs/gst/gstreamer-docs.sgml:
5690         * docs/gst/tmpl/.cvsignore:
5691         * docs/gst/tmpl/gsttrace.sgml:
5692         * docs/gst/tmpl/gsttrashstack.sgml:
5693         * gst/Makefile.am:
5694         * gst/gst.h:
5695         * gst/gstelement.h:
5696         * gst/gstevent.h:
5697         * gst/gstmessage.c:
5698         * gst/gstmessage.h:
5699         * gst/gsttag.c:
5700         * gst/gsttag.h:
5701         * gst/gsttaginterface.c:
5702         * gst/gsttaginterface.h:
5703         * gst/gsttaglist.c:
5704         * gst/gsttaglist.h:
5705         * gst/gsttagsetter.c:
5706         * gst/gsttagsetter.h:
5707         * gst/gsttrace.c:
5708         * gst/gsttrace.h:
5709         * gst/gsttrashstack.c:
5710           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5711           inlined docs for gsttrace, gsttrashstack
5712
5713 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5714
5715         * gst/Makefile.am:
5716         * gst/elements/gstbufferstore.h:
5717         * gst/elements/gsttypefindelement.c:
5718         * gst/elements/gsttypefindelement.h:
5719         * gst/gst.h:
5720         * gst/gsttypefind.c:
5721         * gst/gsttypefind.h:
5722         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5723         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5724         (gst_type_find_factory_dispose),
5725         (gst_type_find_factory_unload_thyself),
5726         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5727         (gst_type_find_factory_get_caps),
5728         (gst_type_find_factory_get_extensions),
5729         (gst_type_find_factory_call_function):
5730         * gst/gsttypefindfactory.h:
5731         * gst/registries/gstlibxmlregistry.c:
5732         * gst/registries/gstxmlregistry.c:
5733           splitted gsttypefind into gsttypefind, gsttypefindfactory
5734
5735 2005-09-07  Andy Wingo  <wingo@pobox.com>
5736
5737         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5738         condition whereby the pad's task function is entered before the
5739         pad_mode variable was set.
5740
5741 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5742
5743         * gst/gstpad.c: (gst_pad_alloc_buffer):
5744           Catch misbehaving pad_alloc functions that don't
5745           set up caps and do it for them.
5746
5747 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5748
5749         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5750           test for pipe!=NULL
5751         * docs/gst/tmpl/.cvsignore:
5752         * docs/gst/tmpl/gstmemchunk.sgml:
5753         * docs/gst/tmpl/gstparse.sgml:
5754         * docs/gst/tmpl/gsttaglist.sgml:
5755         * docs/gst/tmpl/gsttagsetter.sgml:
5756         * docs/gst/tmpl/gsttypefind.sgml:
5757         * docs/gst/tmpl/gsttypefindfactory.sgml:
5758         * gst/gstmemchunk.c:
5759         * gst/gstparse.c:
5760         * gst/gsttag.c:
5761         * gst/gsttaginterface.c:
5762         * gst/gsttypefind.c:
5763         * gst/gsttypefind.h:
5764           inlined more docs
5765
5766 === release 0.9.2 ===
5767
5768 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5769
5770         * NEWS:
5771         * RELEASE:
5772         * configure.ac:
5773           releasing 0.9.2, "South"
5774
5775 2005-09-05  Andy Wingo  <wingo@pobox.com>
5776
5777         * gst/registries/gstxmlregistry.h:
5778         * gst/registries/gstxmlregistry.c: Um... resurrect...
5779         
5780         * gst/registries/gstxmlregistry.h:
5781         * gst/registries/gstxmlregistry.c: and update to newer API.
5782         Incidentally they should be a bit faster now that they don't have
5783         to parse the caps.
5784         
5785 2005-09-05  Andy Wingo  <wingo@pobox.com>
5786
5787         * gst/registries/gstxmlregistry.h:
5788         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5789         replaced by the libxml registry a while back
5790
5791 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5792
5793         * docs/gst/tmpl/gstplugin.sgml:
5794         * gst/elements/gstelements.c:
5795         * gst/gst.c:
5796         * gst/gstplugin.c: (gst_plugin_register_func),
5797         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5798         (gst_plugin_get_source):
5799         * gst/gstplugin.h:
5800         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5801         (gst_xml_registry_save_plugin):
5802         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5803         (gst_xml_registry_save_plugin):
5804         * tools/gst-inspect.c: (print_plugin_info):
5805           add a "source" plugin description field, to represent the source
5806           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5807           will set it to PACKAGE, which is automake's idea of the name of
5808           the source project.
5809
5810 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5811
5812         * Makefile.am:
5813         * autogen.sh:
5814         * configure.ac:
5815         * docs/Makefile.am:
5816         * docs/faq/Makefile.am:
5817         * docs/gst/tmpl/gstelement.sgml:
5818         * docs/gst/tmpl/gsttypes.sgml:
5819         * docs/htmlinstall.mak:
5820         * docs/manual/Makefile.am:
5821         * docs/pwg/Makefile.am:
5822           reorganize doc build a little
5823           split out docbook and gtk-doc stuff
5824           have two separate --enable's and enable them through autogen
5825           but disable by default in configure (to be similar to other
5826           projects)
5827         * gstreamer.spec.in:
5828           clean up docs install
5829         * po/af.po:
5830         * po/az.po:
5831         * po/ca.po:
5832         * po/cs.po:
5833         * po/de.po:
5834         * po/en_GB.po:
5835         * po/fr.po:
5836         * po/it.po:
5837         * po/nb.po:
5838         * po/nl.po:
5839         * po/ru.po:
5840         * po/sq.po:
5841         * po/sr.po:
5842         * po/sv.po:
5843         * po/tr.po:
5844         * po/uk.po:
5845         * po/vi.po:
5846           translation updates
5847
5848 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5849
5850         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5851           Add comment.
5852           
5853         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5854         (gst_fake_sink_change_state):
5855           Make state change function thread-safe.
5856           
5857         * gst/gstpad.c: (gst_pad_alloc_buffer):
5858           Set offset on generic buffer allocated by fallback.
5859
5860 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5861
5862         * docs/gst/gstreamer-sections.txt:
5863         * docs/gst/tmpl/gstelement.sgml:
5864         * gst/gstpad.c:
5865         * libs/gst/controller/gst-controller.c:
5866         (gst_controlled_property_set_interpolation_mode),
5867         (gst_controlled_property_new),
5868         (gst_controller_find_controlled_property):
5869          run the wingo-magic script against the docs
5870
5871 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5872
5873         * docs/gst/gstreamer-docs.sgml:
5874         * docs/gst/gstreamer-sections.txt:
5875         * docs/gst/tmpl/.cvsignore:
5876         * docs/gst/tmpl/gstelementdetails.sgml:
5877         * docs/gst/tmpl/gstelementfactory.sgml:
5878         * gst/gst.c:
5879         * gst/gstbus.c:
5880         * gst/gstelementfactory.c:
5881         * gst/gstelementfactory.h:
5882           merged elementdetails docs into elementfactory docs
5883           inlined both
5884
5885 2005-09-02  Andy Wingo  <wingo@pobox.com>
5886
5887         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5888         consider this enum an enum and not a flags.
5889
5890 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5891
5892         * docs/gst/gstreamer-docs.sgml:
5893         * docs/gst/tmpl/.cvsignore:
5894         * docs/gst/tmpl/gstghostpad.sgml:
5895         * docs/gst/tmpl/gstiterator.sgml:
5896         * docs/gst/tmpl/gstmacros.sgml:
5897         * docs/gst/tmpl/gstrealpad.sgml:
5898         * docs/gst/tmpl/gstregistry.sgml:
5899         * docs/gst/tmpl/gstregistrypool.sgml:
5900         * docs/gst/tmpl/gststructure.sgml:
5901         * docs/gst/tmpl/gstsystemclock.sgml:
5902         * docs/gst/tmpl/gsttrace.sgml:
5903         * gst/gstghostpad.c:
5904         * gst/gstmacros.h:
5905         * gst/gstmemchunk.c:
5906         * gst/gstmemchunk.h:
5907         * gst/gstqueue.c:
5908         * gst/gstregistry.c:
5909         * gst/gstregistrypool.c:
5910         * gst/gststructure.c:
5911         * gst/gstsystemclock.c:
5912           more docs inlined
5913
5914 2005-09-02  Andy Wingo  <wingo@pobox.com>
5915
5916         * gst/gstelement.h (GstState): Renamed from GstElementState,
5917         changed to be a normal enum instead of flags.
5918         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5919         munged to be GST_STATE_CHANGE_*.
5920         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5921         work with the new state representation.
5922         (GstStateChange): New enumeration of possible state transitions.
5923         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5924         (GstElementClass::change_state): Pass the GstStateChange along as
5925         an argument. Helps language bindings, so they don't have to use
5926         tricky lock-needing macros like GST_STATE_CHANGE ().
5927
5928         * scripts/update-states (file): New script. Run it on a file to
5929         update it for state naming and API changes. Updates files in
5930         place.
5931
5932         * All files updated for the new API.
5933
5934 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5935
5936         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5937         * gst/gstutils.c: (gst_util_set_value_from_string),
5938         (gst_util_set_object_arg):
5939           fix a bunch of unchecked return values
5940         * tools/gst-complete.c: (main):
5941         * gstreamer.spec.in:
5942           clean up a little
5943
5944 2005-09-01  Wim Taymans  <wim@fluendo.com>
5945
5946         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5947         (gst_base_sink_event), (gst_base_sink_do_sync),
5948         (gst_base_sink_handle_event):
5949         * gst/base/gstbasesink.h:
5950         Handle newsegments more correctly.
5951
5952         * gst/gstbus.c:
5953         Fix docs.
5954
5955         * gst/gstevent.c: (gst_event_new_newsegment):
5956         A newsegment cannot have a start_time of -1
5957
5958 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5959
5960         * win32/gstenumtypes.c:
5961         * win32/gstenumtypes.h:
5962           Update
5963
5964 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5965
5966         * libs/gst/controller/gst-controller.c:
5967         (gst_controlled_property_set_interpolation_mode),
5968         (gst_controlled_property_new):
5969          fixed boolean again
5970
5971 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5972
5973         * docs/faq/gst-uninstalled:
5974           add -good
5975         * gst/gstevent.c:
5976         * gst/gstevent.h:
5977           remove wrong docs
5978         * gst/gstutils.c: (gst_element_link_filtered):
5979         * gst/gstutils.h:
5980           add gst_element_link_filtered
5981
5982 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5983
5984         * docs/gst/gstreamer-docs.sgml:
5985         * docs/gst/gstreamer-sections.txt:
5986         * docs/gst/tmpl/.cvsignore:
5987         * docs/gst/tmpl/gsterror.sgml:
5988         * docs/gst/tmpl/gstfilter.sgml:
5989         * docs/gst/tmpl/gsturihandler.sgml:
5990         * docs/gst/tmpl/gsturitype.sgml:
5991         * docs/gst/tmpl/gstutils.sgml:
5992         * docs/gst/tmpl/gstxml.sgml:
5993         * gst/gsterror.c:
5994         * gst/gsterror.h:
5995         * gst/gstfilter.c:
5996         * gst/gsturi.c:
5997         * gst/gsturitype.c:
5998         * gst/gstutils.c:
5999         * gst/gstxml.c:
6000           inlined more docs, fixed double id-ref
6001
6002 2005-08-31  Wim Taymans  <wim@fluendo.com>
6003
6004         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6005         (gst_base_transform_handle_buffer):
6006         Passthrough elements don't need the caps as they don't care.
6007
6008 2005-08-31  Wim Taymans  <wim@fluendo.com>
6009
6010         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6011         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6012         Don't leak refcounts on buffers.
6013
6014 2005-08-31  Wim Taymans  <wim@fluendo.com>
6015
6016         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6017         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6018         (gst_base_transform_chain), (gst_base_transform_change_state):
6019         * gst/base/gstbasetransform.h:
6020         Handle the case where we are not negotiated more gracefully.
6021
6022 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6023
6024         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6025         (gst_file_src_map_region):
6026           Set READONLY flag on mmap'ed buffers, otherwise
6027           gst_buffer_make_writable() won't work properly (#314708).
6028
6029 2005-08-31  Wim Taymans  <wim@fluendo.com>
6030
6031         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6032         passthrough elements can even do inplace on non writable
6033         buffers (as they don't touch them).
6034
6035 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6036
6037         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6038         (gst_test_mono_source_set_property),
6039         (gst_test_mono_source_class_init), (GST_START_TEST),
6040         (gst_controller_suite):
6041           more tests (hehe I have the most)
6042         * gst/gstbus.c:
6043           describe popping messages whenusing mulltiple sources
6044         * libs/gst/controller/gst-controller.c:
6045         (gst_controlled_property_set_interpolation_mode),
6046         (gst_controlled_property_new):
6047         * libs/gst/controller/gst-controller.h:
6048         * libs/gst/controller/gst-interpolation.c:
6049           implement boolean properties
6050
6051 2005-08-31  Wim Taymans  <wim@fluendo.com>
6052
6053         * gst/gstminiobject.c: (gst_mini_object_ref):
6054         Cannot assert that the refcount has to be positive
6055         since a disposed object can be resurrected.
6056
6057 2005-08-31  Wim Taymans  <wim@fluendo.com>
6058
6059         * gst/gstpad.c: (gst_pad_init):
6060         Revert change, need to first fix badly behaving 
6061         apps.
6062
6063 2005-08-30  Wim Taymans  <wim@fluendo.com>
6064
6065         * check/elements/fakesrc.c: (setup_fakesrc):
6066         * check/elements/identity.c: (setup_identity):
6067         Activate pads before using them.
6068
6069 2005-08-30  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/base/gstadapter.c: (gst_adapter_flush):
6072         Flushing out 0 bytes is ok for this function.
6073
6074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6075         no newsegment gives a warning and sets the start/stop to 
6076         invalid.
6077
6078         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6079         (gst_base_transform_set_passthrough):
6080         Some debug info.
6081
6082         * gst/gstminiobject.c: (gst_mini_object_ref):
6083         Check refcount here too.
6084
6085         * gst/gstpad.c: (gst_pad_init):
6086         Pads are initially flushing and refusing data.
6087
6088         * gst/gstutils.c: (gst_element_link_pads_filtered):
6089         When adding a capsfilter element make sure it has the
6090         same state as the parent bin.
6091
6092 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6093
6094         * docs/gst/tmpl/.cvsignore:
6095         * docs/gst/tmpl/gstformat.sgml:
6096         * docs/gst/tmpl/gstversion.sgml:
6097         * gst/gstbus.h:
6098         * gst/gstformat.c:
6099         * gst/gstformat.h:
6100         * gst/gstversion.h.in:
6101           more docs and two more inlined
6102
6103 2005-08-30  Wim Taymans  <wim@fluendo.com>
6104
6105         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6106         Don't sync to clock.
6107
6108 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6109
6110         * docs/gst/gstreamer-sections.txt:
6111           ultral33t func10ns deserve to appear in the docs actually
6112         * docs/gst/tmpl/.cvsignore:
6113         * docs/gst/tmpl/gstcompat.sgml:
6114         * docs/gst/tmpl/gstconfig.sgml:
6115         * gst/check/gstcheck.c:
6116         * gst/gstcompat.h:
6117         * gst/gstconfig.h.in:
6118           inlined more docs
6119
6120 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6121
6122         * docs/gst/tmpl/.cvsignore:
6123         * docs/gst/tmpl/gstquery.sgml:
6124         * docs/gst/tmpl/gstutils.sgml:
6125         * gst/gstquery.c:
6126         * gst/gstquery.h:
6127           inlined and extended docs
6128
6129 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6130
6131         * check/gst-libs/controller.c: (GST_START_TEST),
6132         (gst_controller_suite):
6133           more tests
6134         * docs/gst/tmpl/gstutils.sgml:
6135         * docs/libs/gstreamer-libs-sections.txt:
6136         * docs/libs/tmpl/gstdataprotocol.sgml:
6137           include path fixes
6138         * examples/controller/audio-example.c: (main):
6139           controller example works now
6140         * gst/gstclock.h:
6141           doc fixes
6142         * tools/gst-inspect.c: (print_element_properties_info):
6143           show param spec flags
6144
6145 2005-08-29  Andy Wingo  <wingo@pobox.com>
6146
6147         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6148
6149 2005-08-28  Andy Wingo  <wingo@pobox.com>
6150
6151         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6152         as having two arguments instead of just one. Allows superclasses
6153         to access information on subclasses -- see the terrible for() loop
6154         in gtype.c:g_type_create_instance for the reason why. All callers
6155         changed.
6156
6157 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6158
6159         * docs/design/part-messages.txt:
6160           update info
6161         * docs/gst/tmpl/.cvsignore:
6162         * docs/gst/tmpl/gstcaps.sgml:
6163         * docs/gst/tmpl/gstclock.sgml:
6164         * gst/gstbus.c:
6165         * gst/gstcaps.c:
6166         * gst/gstcaps.h:
6167         * gst/gstclock.c:
6168         * gst/gstclock.h:
6169         * gst/gstmessage.c:
6170           added descriptions for bus and message
6171           inline caps and clock docs
6172
6173 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6174
6175         * gst/gstmessage.c:
6176         * gst/gstmessage.h:
6177           doc fixes
6178
6179 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6180
6181         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6182           fix div-by-zero
6183
6184 2005-08-26  Andy Wingo  <wingo@pobox.com>
6185
6186         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6187         element_set_state's return val.
6188         (test_2_elements): Add test that's been disabled for months.
6189
6190         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6191         can-activate-pull properties.
6192
6193         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6194         can-activate-pull properties. Implement is_seekable so fakesrc can
6195         operate in pull mode.
6196
6197         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6198         properties.
6199         (gst_base_sink_activate, gst_base_sink_activate_pull)
6200         (gst_base_sink_activate_push): Make activation mode choosing work.
6201         Cleanups.
6202         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6203         is right. Make pull mode work. Post an eos before pausing in pull
6204         mode.
6205         (gst_base_sink_change_state): Pay attention to the core's
6206         change_state() return val.
6207         
6208         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6209         has-getrange properties. Cleanups.
6210         
6211         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6212         has_getrange and replace with can_activate_pull and
6213         can_activate_push.
6214
6215         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6216         locking comments. Remove has_loop, has_chain and replace with
6217         can_activate_pull and can_activate_push.
6218
6219 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6220
6221         * configure.ac:
6222         * examples/Makefile.am:
6223         * examples/metadata/Makefile.am:
6224         * examples/metadata/read-metadata.c: (message_loop),
6225         (have_pad_handler), (make_pipeline), (print_tag), (main):
6226           Add metadata reading example that loops over a list of filenames,
6227           dumping any tags found.
6228
6229         * gst/gstbus.c: (gst_bus_dispose):
6230         * gst/gstelement.c: (gst_element_dispose):
6231           Release a few potentially-held references in dispose.
6232
6233 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6234
6235         * docs/gst/tmpl/gstminiobject.sgml:
6236           do *not* add tmpl/*.sgml files to CVS!
6237
6238 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6239
6240         * libs/gst/bytestream/.cvsignore:
6241         * libs/gst/bytestream/Makefile.am:
6242         * libs/gst/bytestream/adapter.c:
6243         * libs/gst/bytestream/adapter.h:
6244         * libs/gst/bytestream/bytestream.c:
6245         * libs/gst/bytestream/bytestream.h:
6246         * libs/gst/bytestream/filepad.c:
6247         * libs/gst/bytestream/filepad.h:
6248           removing obsolete files
6249
6250 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6251
6252         * docs/gst/gstreamer-docs.sgml:
6253         * docs/libs/gstreamer-libs-docs.sgml:
6254           disabed additional index entries again, as this makes docs-gen just
6255           slow and they aren't useful yet
6256         * docs/libs/gstreamer-libs-sections.txt:
6257           little -section.txt cleanup for libs
6258
6259 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6260
6261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6262         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6263           fix up some debugging
6264         (gst_base_transform_get_unit_size),
6265         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6266         (gst_base_transform_handle_buffer):
6267         * gst/base/gstbasetransform.h:
6268           handle and store timed NEWSEGMENT events so that subclasses that
6269           calculate time by counting samples have a segment_start time they
6270           need to add to their timestamps - see audioresample
6271
6272 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6273
6274         * gst/gstbin.h:
6275           removed ';' from the end of macro defs
6276         * docs/gst/gstreamer-docs.sgml:
6277         * docs/gst/gstreamer-sections.txt:
6278         * docs/gst/tmpl/.cvsignore:
6279         * gst/gstbus.h:
6280         * gst/gstelement.c: (gst_element_class_init),
6281         (gst_element_set_state), (activate_pads),
6282         (gst_element_save_thyself):
6283         * gst/gstevent.c: (gst_event_new_newsegment):
6284         * gst/gstevent.h:
6285         * gst/gstiterator.c:
6286         * gst/gstiterator.h:
6287         * gst/gstpad.c:
6288         * gst/gstprobe.h:
6289         * gst/gstutils.c: (gst_pad_query_convert):
6290         * gst/gstutils.h:
6291           fixed parameter name mismatches between source, header and docs
6292           added some more docs, resolved the last batch of unused elements in
6293           docs (now someone needs to doc them)
6294
6295 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6296
6297         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6298         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6299           don't walk through the plugins backwards.  Where is all this
6300           reversed logic coming from ?
6301
6302 2005-08-25  Wim Taymans  <wim@fluendo.com>
6303
6304         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6305         (gst_base_transform_transform_size),
6306         (gst_base_transform_configure_caps),
6307         (gst_base_transform_get_unit_size),
6308         (gst_base_transform_buffer_alloc),
6309         (gst_base_transform_change_state):
6310         * gst/base/gstbasetransform.h:
6311         Cache caps unit_size.
6312         Make sure we cannot negotiate up and downstream at the
6313         same time.
6314
6315 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6316
6317         * gst/gst.c: (init_pre), (init_post):
6318           register the installed plugin path after the env var
6319         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6320         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6321           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6322           directories, so the tests can prefer uninstalled over installed
6323
6324 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6325
6326         * gst/base/gstbasetransform.h:
6327           comment
6328         * gst/gstpad.c:
6329           add to docs
6330
6331 2005-08-25  Wim Taymans  <wim@fluendo.com>
6332
6333         * gst/gstbin.c: (bin_bus_handler):
6334         Be a bit more conservative about the posted message.
6335         
6336         * gst/gstbus.c: (gst_bus_post):
6337         Some cleanups, warn wrong return values.
6338
6339 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6340
6341         * check/gst/gstbin.c: (GST_START_TEST):
6342         * gst/gstbin.c: (bin_bus_handler):
6343         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6344         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6345         (gst_message_new_warning), (gst_message_new_tag),
6346         (gst_message_new_state_changed), (gst_message_new_segment_start),
6347         (gst_message_new_segment_done), (gst_message_new_custom):
6348         * gst/gstmessage.h:
6349         * tools/gst-launch.c: (event_loop):
6350         * tools/gst-md5sum.c: (event_loop):
6351           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6352
6353 2005-08-25  Wim Taymans  <wim@fluendo.com>
6354
6355         * check/generic/states.c: (GST_START_TEST):
6356         Cleanup can be done at the end.
6357
6358         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6359         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6360         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6361         Oh boy.. Thanks for finding this, Thomas. 
6362
6363 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6364
6365         * docs/gst/gstreamer.types:
6366           added missing types
6367
6368 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6369
6370         * docs/gst/gstreamer-docs.sgml:
6371         * docs/gst/gstreamer-sections.txt:
6372         * docs/gst/tmpl/.cvsignore:
6373         * gst/gstbin.c:
6374         * gst/gstiterator.c:
6375         * gst/gstutils.c:
6376         * gst/registries/gstxmlregistry.h:
6377           added missing classes and symbols (123 more to go)
6378           removed removed symbols from section file
6379           fixed many doc-comments
6380
6381 2005-08-24  Wim Taymans  <wim@fluendo.com>
6382
6383         * check/generic/states.c: (GST_START_TEST):
6384         Make sure all tasks are stopped.
6385
6386         * check/gst/gstbin.c: (GST_START_TEST):
6387         Unref after usage for proper valgrinding.
6388
6389         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6390         Really wait for the task to stop before destroying the
6391         mutex.
6392
6393         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6394         (gst_queue_src_activate_push):
6395         Small cleanups. Don't stop the task when we did not start
6396         it.
6397
6398         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6399         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6400         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6401         (gst_task_join):
6402         * gst/gsttask.h:
6403         Protect the stream lock with the object lock.
6404         Disallow setting the stream lock when running.
6405         Add cleanup_all to wait for the threadpool to finish.
6406         Remove code to autoallocate a mutex if none was provided.
6407         Add _join() to wait for a task to stop.
6408         Protect the thread pool with a global lock.
6409
6410 2005-08-24  Wim Taymans  <wim@fluendo.com>
6411
6412         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6413         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6414         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6415         * gst/base/gstbasesink.h:
6416         Handle newsegment events correctly.
6417         Drop buffers out of the segment range.
6418
6419 2005-08-22  Andy Wingo  <wingo@pobox.com>
6420
6421         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6422         macro, implements an interface and gstimplementsinterface for a
6423         new type.
6424
6425 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6426
6427         * check/Makefile.am:
6428         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6429           add a test that does a bunch of state changes on elements
6430           needs some fixing for valgrind
6431         * check/states/sinks.c: (gst_object_suite):
6432           whitespace
6433         * gst/gstcaps.h:
6434           add prototype for gst_caps_is_equal_fixed
6435         * gst/gstplugin.c:
6436         * gst/gstregistrypool.c:
6437           doc fixes
6438
6439 2005-08-24  Andy Wingo  <wingo@pobox.com>
6440
6441         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6442         convert a negative value. Doesn't make much sense. Mostly this is
6443         here to force callers to ensure -1 maps to -1.
6444
6445 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6446
6447         * docs/pwg/advanced-types.xml:
6448           Well done to Michael for catching my deliberate introduction
6449           of this spelling mistake. 
6450         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6451         * gst/gstelement.h:
6452           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6453           unlink pads before removing the element from the bin.
6454
6455 2005-08-24  Andy Wingo  <wingo@pobox.com>
6456
6457         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6458         the same thing as GST_DEBUG=*:4.
6459         (parse_debug_level, parse_debug_category): New helper parsers.
6460
6461 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6462
6463         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6464         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6465         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6466         (gst_base_transform_buffer_alloc),
6467         (gst_base_transform_handle_buffer):
6468           use gboolean return values and pointers to size so we can use the
6469           full GST_BUFFER_SIZE range (guint) for buffer sizes
6470           use GstPadDirection for transform_caps
6471         * gst/base/gstbasetransform.h:
6472           rename get_size to get_unit_size since that's what it is
6473         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6474           use GstPadDirection for transform_caps
6475         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6476         * gst/gstutils.h:
6477           cleanup and debugging
6478
6479 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6480
6481         * gst/gstelement.c: (gst_element_class_init),
6482         (gst_element_set_state), (activate_pads),
6483         (gst_element_save_thyself):
6484         * tools/gst-compprep.c: (main):
6485         * tools/gst-inspect.c: (print_element_properties_info):
6486         * tools/gst-xmlinspect.c: (print_element_properties):
6487           Fixed long standing mem-leak
6488
6489 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6490
6491         * check/gst/gstbin.c: (GST_START_TEST):
6492         * gst/gstbin.c: (bin_bus_handler):
6493         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6494         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6495         (gst_message_new_warning), (gst_message_new_tag),
6496         (gst_message_new_state_changed), (gst_message_new_segment_start),
6497         (gst_message_new_segment_done), (gst_message_new_custom):
6498         * gst/gstmessage.h:
6499         * tools/gst-launch.c: (event_loop):
6500         * tools/gst-md5sum.c: (event_loop):
6501           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6502           that applications can sensibly post custom messages with references
6503           to their own objects.
6504
6505 2005-08-24  Andy Wingo  <wingo@pobox.com>
6506
6507         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6508         already.
6509
6510 2005-08-24  Wim Taymans  <wim@fluendo.com>
6511
6512         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6513         (gst_base_transform_transform_caps),
6514         (gst_base_transform_transform_size),
6515         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6516         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6517         (gst_base_transform_handle_buffer):
6518         * gst/base/gstbasetransform.h:
6519         Many fixes and new features added by Thomas. Can now also do
6520         transforms with variable sizes and a custom fixate_caps function.
6521
6522 2005-08-24  Wim Taymans  <wim@fluendo.com>
6523
6524         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6525         Some debugging.
6526
6527         * gst/gstclock.h:
6528         Cast to ClockTime before formatting to time.
6529
6530         * gst/gstutils.h:
6531         Cleanups.
6532
6533 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6534
6535         * check/gst-libs/controller.c: (GST_START_TEST),
6536         (gst_controller_suite):
6537         * docs/gst/tmpl/gstcaps.sgml:
6538         * docs/gst/tmpl/gstghostpad.sgml:
6539         * docs/gst/tmpl/gstquery.sgml:
6540         * docs/gst/tmpl/gstutils.sgml:
6541         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6542         (gst_object_sink_values), (gst_object_get_value_arrays),
6543         (gst_object_get_value_array):
6544           gracefully handle helper method calls to objects that are not beeing
6545           controlled, added test case for that          
6546
6547 2005-08-23  Wim Taymans  <wim@fluendo.com>
6548
6549         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6550         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6551         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6552         (gst_event_parse_qos), (gst_event_new_seek),
6553         (gst_event_parse_seek):
6554         * gst/gstevent.h:
6555         Some more debugging output and doc cleanups.
6556
6557         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6558         Fix possible deadlock.
6559
6560 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6561
6562         * docs/gst/gstreamer-docs.sgml:
6563         * docs/gst/gstreamer-sections.txt:
6564         * docs/gst/gstreamer.types:
6565         * docs/gst/tmpl/.cvsignore:
6566         * gst/gstbin.h:
6567         * gst/gstbus.c:
6568         * gst/gstelement.c:
6569         * gst/gstevent.h:
6570           added 100 symbols from gstreamer-unused.txt to the right sections
6571           fixed more broken comments
6572           added GstBus to docs
6573
6574 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6575
6576         * docs/gst/gstreamer-sections.txt:
6577         * docs/gst/tmpl/.cvsignore:
6578         * docs/gst/tmpl/gstbin.sgml:
6579         * docs/gst/tmpl/gstbuffer.sgml:
6580         * gst/base/gstbasesrc.c:
6581         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6582         * gst/gstbuffer.c:
6583         * gst/gstbuffer.h:
6584         * tools/gst-launch.1.in:
6585           inlined more doc comments, added missing comments and fixed comments
6586           fixed typos
6587
6588 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6589
6590         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6591           some debugging
6592         * gst/gstcaps.h:
6593           whitespace fixes
6594         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6595           more debugging
6596         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6597         * gst/gststructure.h:
6598           add a fixate function for booleans; add a FIXME that these func
6599           names should probably be gst_structure_fixate_*
6600
6601 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6602
6603         * docs/gst/gstreamer-docs.sgml:
6604         * docs/gst/gstreamer-sections.txt:
6605         * gst/Makefile.am:
6606         * gst/gstbin.c: (gst_bin_get_type),
6607         (gst_bin_child_proxy_get_child_by_index),
6608         (gst_bin_child_proxy_get_children_count),
6609         (gst_bin_child_proxy_init):
6610         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6611         (gst_child_proxy_get_child_by_index),
6612         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6613         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6614         (gst_child_proxy_get), (gst_child_proxy_set_property),
6615         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6616         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6617         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6618         * gst/gstchildproxy.h:
6619         * gst/parse/grammar.y:
6620         * tools/gst-inspect.c: (print_interfaces),
6621         (print_element_properties_info), (print_element_info):
6622           ported gstchildproxy over from 0.8
6623           ported gst-inspect fixes and enhancements over from 0.8
6624
6625 2005-08-22  Wim Taymans  <wim@fluendo.com>
6626
6627         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6628         (gst_base_transform_handle_buffer):
6629         Also call the transform function if we have ANY caps.
6630
6631         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6632         Fix debug info.
6633
6634 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6635
6636         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6637           Don't pretend to handle seek events if the source is not seekable
6638
6639 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6640
6641         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6642           Remove extra parameter to debug output
6643
6644         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6645         (gst_base_src_do_seek), (gst_base_src_activate_push):
6646           Fix seek event handling.
6647
6648         * gst/gstpipeline.c: (gst_pipeline_change_state):
6649         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6650         (gst_queue_src_activate_push):
6651           Don't start the src pad task on FLUSH_STOP if the pad
6652           isn't linked.
6653           Debug changes.
6654
6655 2005-08-22  Wim Taymans  <wim@fluendo.com>
6656
6657         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6658         Added check for gst_static_caps_get() refcounting.
6659
6660 2005-08-22  Wim Taymans  <wim@fluendo.com>
6661
6662         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6663         Make _static_caps_get() refcounting sane.
6664         
6665         * gst/gstelement.c: (gst_element_set_state):
6666         Add g_return_val_if_fail() to protect against segfaults.
6667
6668 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6669
6670         * docs/gst/tmpl/gstevent.sgml:
6671         * gst/gstevent.c:
6672         * gst/gstevent.h:
6673           inlined remaining docs, added missing doc comments
6674
6675 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6676
6677         * check/gst/gstbin.c: (GST_START_TEST):
6678           since we don't know when preroll is done, use refcount range
6679           check for the sink
6680         * gst/check/gstcheck.h:
6681           add macro for checking refcount range
6682
6683 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6684
6685         * check/Makefile.am:
6686           clean up environment for when registry gets built versus
6687           when actual tests are run; valgrind seems to not report
6688           leaks if GST_PLUGIN_PATH is set to some specific values
6689         * check/gst/gstbin.c: (GST_START_TEST):
6690           add more refcounting checks; maybe this exposes a
6691           preroll lock bug ?
6692         * common/check.mak:
6693         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6694         * gst/check/gstcheck.h:
6695         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6696         (gst_bin_change_state):
6697         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6698           add/fix debugging/whitespace
6699
6700 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6701
6702         * check/gst/gstevent.c: (event_probe), (test_event),
6703         (GST_START_TEST):
6704          Er, don't call gst_bin_watch_for_state_change you idiot.
6705
6706 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6707
6708         * check/Makefile.am:
6709           Use CHECK_CFLAGS and CHECK_LIBS
6710         * check/gst/gstevent.c: (event_probe), (test_event),
6711         (GST_START_TEST):
6712           Don't leak events.
6713         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6714         (gst_base_src_start), (gst_base_src_stop),
6715         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6716         (gst_base_src_change_state):
6717           Sprinkle gst_base_src_stop liberally around error paths to fix
6718           problems reusing a source after failed state changes.
6719         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6720         (helper_find_suggest), (gst_type_find_helper):
6721           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6722         * gst/gstevent.h:
6723         * docs/gst/tmpl/gstevent.sgml:
6724           Migrate part of the docs from the SGML file. Wait for ensonic to
6725           tell me how I did it wrong ;)
6726         * tools/gst-typefind.c: (main):
6727           Extra robustness to state changes between files.
6728
6729 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6730
6731         * check/Makefile.am:
6732           don't valgrind the controller test - it's leaking - Stefan, HELP
6733         * gst/check/gstcheck.c: (gst_check_message_error),
6734         (gst_check_chain_func), (gst_check_setup_element),
6735         (gst_check_teardown_element), (gst_check_setup_src_pad),
6736         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6737         (gst_check_teardown_sink_pad):
6738         * gst/check/gstcheck.h:
6739           add a bunch of methods to set up elements, and src and sink pads
6740         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6741         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6742         (GST_START_TEST):
6743           use them
6744         * gst/gstmessage.c:
6745         * gst/gsttag.h:
6746           whitespace/doc fixes
6747
6748 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6749
6750         * gst/gstelement.h:
6751           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6752           be handled by the application and not always printed as well
6753
6754 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6755
6756         * check/Makefile.am:
6757           set GST_TOOLS_DIR
6758         * gst/check/gstcheck.c: (gst_check_message_error):
6759         * gst/check/gstcheck.h:
6760           add a fail_unless_equals_int
6761           add fail_unless for error messages
6762
6763 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6764
6765         * check/Makefile.am:
6766         * check/gst.supp:
6767         * common/Makefile.am:
6768         * common/check.mak:
6769         * common/gst.supp:
6770           factor out some of the common stuff so we can use it
6771
6772 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6773
6774         * check/Makefile.am:
6775         * check/gst/gstiterator.c: (GST_START_TEST):
6776         * check/gst/gstsystemclock.c: (GST_START_TEST),
6777         (gst_systemclock_suite):
6778         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6779         * gst/gstclock.c:
6780           valgrind more tests
6781
6782 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * check/elements/.cvsignore:
6785         * check/elements/gstfakesrc.c:
6786           rename to name of element
6787         * check/elements/identity.c: (chain_func), (event_func),
6788         (setup_identity), (cleanup_identity), (GST_START_TEST),
6789         (identity_suite), (main):
6790           add a test for identity
6791         * check/Makefile.am:
6792         * pkgconfig/Makefile.am:
6793         * pkgconfig/gstreamer-check.pc.in:
6794         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6795         * gst/check:
6796         * gst/Makefile.am:
6797         * configure.ac:
6798           move the check stuff to a library that gets installed
6799         * check/gst-libs/controller.c: (GST_START_TEST):
6800         * check/gst-libs/gdp.c:
6801         * check/gst/gst.c: (GST_START_TEST):
6802         * check/gst/gstbin.c:
6803         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6804         * check/gst/gstbus.c:
6805         * check/gst/gstcaps.c: (GST_START_TEST):
6806         * check/gst/gstelement.c:
6807         * check/gst/gstghostpad.c:
6808         * check/gst/gstiterator.c:
6809         * check/gst/gstmessage.c:
6810         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6811         * check/gst/gstobject.c:
6812         * check/gst/gstpad.c: (GST_START_TEST):
6813         * check/gst/gststructure.c: (GST_START_TEST):
6814         * check/gst/gstsystemclock.c: (GST_START_TEST),
6815         (gst_systemclock_suite):
6816         * check/gst/gsttag.c: (gst_tag_suite):
6817         * check/gst/gstvalue.c:
6818         * check/pipelines/cleanup.c:
6819         * check/pipelines/simple_launch_lines.c:
6820         * check/states/sinks.c:
6821           change include statement
6822
6823         * docs/gst/gstreamer-sections.txt:
6824         * docs/gst/tmpl/gstpad.sgml:
6825           document more pad stuff
6826         * gst/gstminiobject.c: (gst_mini_object_ref),
6827         (gst_mini_object_unref):
6828           debug refcounting
6829
6830 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6831
6832         * docs/gst/tmpl/gst.sgml:
6833         * gst/gst.c:
6834           eliminate another tmpl file, fix spelling in the long-description
6835
6836 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6837
6838         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6839         (test_event), (timediff), (gstevents_suite):
6840           Should fix build on 64-bit arch's
6841
6842 2005-08-18  Andy Wingo  <wingo@pobox.com>
6843
6844         Make sure that when a pipeline goes to PLAYING, that data has
6845         actually hit the sink.
6846
6847         * check/states/sinks.c (test_sink): A sink that doesn't get any
6848         data shouldn't return SUCCESS for going to either PLAYING or
6849         PAUSED. Test also the return values on the way back down.
6850
6851         * gst/gstelement.c (gst_element_set_state): When changing the
6852         state of an element currently changing state asynchronously, go to
6853         lost-state after commiting the pending state. Makes future calls
6854         to get_state continue to return ASYNC.
6855
6856         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6857         ASYNC when going to PLAYING if we still don't have preroll, as can
6858         happen with live sources.
6859
6860 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6861
6862         * docs/pwg/advanced-types.xml:
6863           Hack long paragraph into 2 chunks as a workaround for buggy
6864           jadetex version in sid and breezy that loops infinitely and
6865           eats all RAM.
6866
6867 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6868
6869         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6870         (test_event), (timediff), (gstevents_suite):
6871           Provide more error margin in clock measurements to allow for 
6872           g_get_current_time inaccuracies.
6873
6874 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6875
6876         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6877         (test_event), (timediff), (gstevents_suite):
6878            Fix error message output so I might be able to tell why the
6879            test works here but fails on the build farm.
6880
6881 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6882
6883         * check/Makefile.am:
6884         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6885         (test_event), (timediff), (gstevents_suite), (main):
6886           I wrote a test!
6887
6888         * docs/design/part-seeking.txt:
6889           Spelling correction
6890
6891         * docs/gst/tmpl/gstevent.sgml:
6892         * docs/gst/tmpl/gstfakesrc.sgml:
6893           Docs updates.
6894
6895         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6896           Treat a buffer-without-newsegment the same as a receiving 
6897           a newsegment not in time format, and disable syncing to the clock
6898           with a warning.
6899
6900         * gst/gstbus.c: (gst_bus_set_sync_handler):
6901           Assert if anyone tries to replace the existing sync_handler for bus, 
6902           as only the owner should be setting it.
6903
6904         * gst/gstevent.h:
6905           Have a fixed set of custom event enums with events identified by
6906           their structure name (as in 0.8), rather than a free-for-all
6907           allowing collisions between enum values from different plugins.
6908
6909         * gst/gstpad.c: (gst_pad_class_init):
6910           Docs change.
6911           
6912         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6913           Handle out-of-band downstream events from the sending thread.
6914
6915 2005-08-17  Andy Wingo  <wingo@pobox.com>
6916
6917         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6918         play-timeout==0 to mean no timeout at all. In that case, don't
6919         bother with a get_state or a warning, just return directly, even
6920         if it's ASYNC.
6921
6922         * gst/base/gstbasetransform.c: Debug changes.
6923
6924         * gst/gstutils.h:
6925         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6926         ensure bins post state change messages. A bit of a hack but I can't
6927         think of a way to avoid it.
6928
6929         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6930
6931 2005-08-16  Andy Wingo  <wingo@pobox.com>
6932
6933         * gst/base/gstadapter.h:
6934         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6935         peek() but you own the data. Not terribly efficient atm.
6936
6937 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6938
6939         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6940         (gst_element_found_tags):
6941         * gst/gstutils.h:
6942           Add two utility functions for tag handling.
6943
6944 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6945
6946         * docs/manual/advanced-dataaccess.xml:
6947         * docs/manual/basics-helloworld.xml:
6948           Fix docs to use _bin_add() before _link(), which fixes the examples
6949           with recent core versions (reported by Madhan Raj M
6950           <raj_madan@rediffmail.com>, #313199).
6951
6952 2005-08-16  Wim Taymans  <wim@fluendo.com>
6953
6954         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6955         Added subtract checks.
6956
6957         * docs/design/part-events.txt:
6958         Some more docs about newsegment
6959
6960         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6961         Fix FIXME
6962
6963         * gst/gstcaps.c: (gst_caps_to_string):
6964         Add comments, cleanups.
6965         
6966         * gst/gstelement.c: (gst_element_save_thyself):
6967         cleanups
6968         
6969         * gst/gstvalue.c: (gst_value_collect_int_range),
6970         (gst_string_unwrap), (gst_value_union_int_int_range),
6971         (gst_value_union_int_range_int_range),
6972         (gst_value_intersect_int_int_range),
6973         (gst_value_intersect_int_range_int_range),
6974         (gst_value_intersect_double_double_range),
6975         (gst_value_intersect_double_range_double_range),
6976         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6977         (gst_value_subtract_int_range_int),
6978         (gst_value_subtract_double_range_double),
6979         (gst_value_subtract_double_range_double_range),
6980         (gst_value_subtract_from_list), (gst_value_subtract_list),
6981         (gst_value_can_compare), (gst_value_compare_fraction):
6982         Cleanups, add comments, remove unneeded asserts.
6983
6984 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6985
6986         * tools/gst-launch.c: (event_loop):
6987           don't convert NULL structures to strings
6988
6989 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6990
6991         * docs/gst/gstreamer-sections.txt:
6992           made some defines private
6993         * docs/gst/tmpl/gstconfig.sgml:
6994         * docs/gst/tmpl/gstqueue.sgml:
6995         * docs/gst/tmpl/gsttaglist.sgml:
6996         * docs/gst/tmpl/gsttypes.sgml:
6997         * docs/gst/tmpl/gstutils.sgml:
6998         * docs/pwg/appendix-porting.xml:
6999         * gst/base/gstbasesink.h:
7000         * gst/base/gstbasesrc.c:
7001         * gst/base/gstbasesrc.h:
7002         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7003         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7004         * gst/gstelement.c: (gst_element_class_init):
7005         * gst/gstpad.c: (gst_pad_class_init):
7006         * gst/gstqueue.c: (gst_queue_class_init):
7007         * gst/gstxml.c: (gst_xml_class_init):
7008           documented all undocumented signal inline
7009         * libs/gst/controller/gst-controller.h:
7010           added padding
7011
7012 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7013
7014         * docs/pwg/appendix-porting.xml:
7015           Document _set_link_function -> _set_setcaps_function.
7016
7017 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7018
7019         * check/Makefile.am:
7020           add a .check target for running the check
7021         * check/gst-libs/controller.c: (GST_START_TEST):
7022           cosmetic fixups
7023         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7024           complete checks for gstbuffer; would be nice if I could get the
7025           gcov stuff to work so I can see if I actually completed gstbuffer.c
7026         * check/gstcheck.h:
7027           add ASSERT_BUFFER_REFCOUNT
7028
7029 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7030
7031         * docs/gst/gstreamer-sections.txt:
7032         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7033         * gst/gsttag.h:
7034           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7035           spew out a warning if a tag that is already registered
7036           is re-registered, unless it is re-registered with a 
7037           different type (#308438).
7038
7039 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7040
7041         * docs/pwg/appendix-porting.xml:
7042         * docs/pwg/building-state.xml:
7043           Add some paragraphs about state changes in 0.9 to the PWG
7044           and the porting guide, in particular about the new meaning
7045           of GST_STATE_PAUSED and how to write state change functions
7046           with concurrent access by multiple threads in mind.
7047
7048 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7049
7050         * docs/gst/gstreamer-docs.sgml:
7051         * docs/libs/gstreamer-libs-docs.sgml:
7052           added deprecation and since indexes
7053         * libs/gst/controller/gst-controller.c:
7054         * libs/gst/controller/gst-helper.c:
7055           added since tags
7056
7057
7058 2005-08-11  Wim Taymans  <wim@fluendo.com>
7059
7060         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7061         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7062         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7063         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7064         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7065         (gst_ghost_pad_set_target):
7066         Actually implement (re)setting the target on a ghostpad
7067         as described in the docs.
7068
7069 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7070
7071         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7072           Check whether GST_DEBUG_NO_COLOR environment variable is
7073           set and disable coloured debug output if that is the case.
7074
7075 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7076
7077         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7078         (gst_type_find_helper):
7079           The memory returned by gst_type_find_peek() needs to
7080           stay valid until the end of a typefind function, and
7081           typefind functions may keep results from different 
7082           offsets around, so we can't just unref the buffer from
7083           the previous _peek(), but have to save all buffers 
7084           returned by _peek() until typefinding is done and only
7085           free them then.
7086
7087 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7088
7089         * docs/gst/gstreamer-sections.txt:
7090         * gst/gstutils.h:
7091           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7092
7093 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7094
7095         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7096           Fix a pretty good memleak.
7097
7098 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7099
7100         * gst/gstiterator.h:
7101           Fix wrong include and 'make distcheck'.
7102
7103 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7104
7105         * gst/gstbin.c: (bin_bus_handler):
7106           Use gst_element_post_message() instead.
7107
7108 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7109
7110         * gst/base/gstadapter.h:
7111         * gst/base/gstbasesink.h:
7112         * gst/base/gstbasesrc.h:
7113         * gst/base/gstbasetransform.h:
7114         * gst/base/gstcollectpads.h:
7115         * gst/base/gstpushsrc.h:
7116         * gst/gstiterator.h:
7117           Add padding to our base elements' class and instance structs and
7118           to GstIterator (you will need to rebuild all plugins and apps!)
7119
7120 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7121
7122         * gst/gstbin.c: (bin_bus_handler):
7123           Make default message forwarding from child->bus to bin->bus
7124           threadsafe and make it not emit warnings if the parent has no bus.
7125
7126 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7127
7128         * gst/gstelement.c: (activate_pads):
7129           On paused->ready, set pad->caps to NULL, as is the documented
7130           behaviour in this state change. Fixes playback of series of
7131           media files when visualization is enabled in Totem.
7132
7133 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7134
7135         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7136           Allow NULL as filter-caps (which means "any").
7137
7138 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7139
7140         * docs/libs/gstreamer-libs-sections.txt:
7141         * libs/gst/controller/gst-controller.c:
7142         * libs/gst/controller/gst-controller.h:
7143         * libs/gst/controller/gst-helper.c:
7144           adding more entries to the docs and fix small doc-bugs
7145
7146 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7147
7148         * docs/gst/gstreamer-docs.sgml:
7149         * docs/gst/gstreamer-sections.txt:
7150         * docs/gst/gstreamer.types:
7151         * docs/gst/tmpl/gstbasesink.sgml:
7152         * docs/gst/tmpl/gstbasesrc.sgml:
7153         * docs/gst/tmpl/gstbasetransform.sgml:
7154         * docs/gst/tmpl/gstfakesrc.sgml:
7155         * gst/base/gstcollectpads.c:
7156         * gst/base/gstcollectpads.h:
7157         * libs/gst/controller/gst-controller.c:
7158         * libs/gst/controller/gst-controller.h:
7159         * libs/gst/controller/gst-helper.c:
7160         * libs/gst/controller/gst-interpolation.c:
7161         * libs/gst/controller/lib.c:
7162           added long/short desc for controller docs
7163           added collectpads base class docs
7164           added correct includes to base-class docs
7165
7166 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7167
7168         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7169         (gst_test_mono_source_set_property),
7170         (gst_test_mono_source_class_init), (GST_START_TEST),
7171         (gst_controller_suite):
7172         * docs/gst/gstreamer-docs.sgml:
7173         * docs/gst/gstreamer-sections.txt:
7174         * docs/gst/gstreamer.types:
7175         * docs/libs/gstreamer-libs-docs.sgml:
7176         * docs/libs/gstreamer-libs-sections.txt:
7177         * gst/base/gstadapter.c:
7178         * libs/gst/controller/gst-controller.c:
7179         (gst_controlled_property_new), (gst_controlled_property_free),
7180         (gst_controller_new_valist),
7181         (gst_controller_remove_properties_valist),
7182         (gst_controller_sink_values), (_gst_controller_finalize):
7183         * libs/gst/controller/gst-controller.h:
7184         * libs/gst/controller/gst-helper.c:
7185         (gst_object_control_properties), (gst_object_uncontrol_properties),
7186         (gst_object_get_controller), (gst_object_set_controller),
7187         (gst_object_sink_values), (gst_object_get_value_arrays),
7188         (gst_object_get_value_array):
7189           more tests (and fixes) for the controller
7190           more docs for the controller
7191           integrated companies docs for the adapter 
7192
7193 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7194
7195         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7196         (GST_START_TEST), (fakesrc_suite):
7197           add tests for sizetype
7198
7199 2005-08-04  Andy Wingo  <wingo@pobox.com>
7200
7201         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7202         fixes buffer_alloc proxying among other things.
7203
7204         * gst/base/gstbasetransform.c:
7205         * gst/base/gstbasetransform.h:
7206         Revert patch to gstbasetransform from 7-28 removing
7207         delay_configure.
7208
7209         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7210         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7211         Semantics changed, should return not the size of the output buffer
7212         but the byte size of a buffer with a given caps.
7213
7214         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7215         debug object.
7216         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7217         out) are not the pad caps until setcaps finishes.
7218         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7219         not-in-place case as well. Deal with changing from in-place to
7220         not-in-place within calling pad_alloc_buffer. Still a bit
7221         concerned about the overhead here...
7222
7223 2005-08-03  Andy Wingo  <wingo@pobox.com>
7224
7225         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7226         fixating is an error.
7227
7228 2005-08-04  Edward Hervey  <edward@fluendo.com>
7229
7230         * gst/base/gstadapter.h: 
7231         Added gst_adapter_get_type() to the header
7232
7233 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7234
7235         * check/Makefile.am:
7236         * check/gst-libs/controller.c:
7237         * libs/gst/controller/gst-controller.c:
7238         (gst_controller_new_valist):
7239           added check test suite for the controller
7240         * gst/base/gstpushsrc.c:
7241           fixed a doc typo
7242
7243 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7244
7245         * docs/gst/Makefile.am:
7246         * docs/gst/gstreamer-docs.sgml:
7247         * docs/gst/gstreamer-sections.txt:
7248         * docs/gst/gstreamer.types:
7249         * docs/gst/tmpl/gstfakesrc.sgml:
7250         * gst/base/README:
7251         * gst/base/gstbasesink.c:
7252         * gst/base/gstbasesink.h:
7253         * gst/base/gstbasesrc.c:
7254         * gst/base/gstbasesrc.h:
7255         * gst/base/gstbasetransform.c:
7256         * gst/base/gstpushsrc.c:
7257         * gst/base/gstpushsrc.h:
7258           add short/long description docs to base classes
7259           add pushsrc to the docs
7260           remove consolidated doc fragments
7261
7262 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7263
7264         * configure.ac:
7265         * docs/libs/Makefile.am:
7266         * docs/libs/gstreamer-libs-docs.sgml:
7267         * docs/libs/gstreamer-libs-sections.txt:
7268         * docs/libs/gstreamer-libs.types:
7269         * examples/Makefile.am:
7270         * examples/controller/.cvsignore:
7271         * examples/controller/Makefile.am:
7272         * examples/controller/audio-example.c: (main):
7273         * libs/gst/Makefile.am:
7274         * libs/gst/controller/.cvsignore:
7275         * libs/gst/controller/Makefile.am:
7276         * libs/gst/controller/gst-controller.c:
7277         (on_object_controlled_property_changed), (gst_timed_value_compare),
7278         (gst_timed_value_find),
7279         (gst_controlled_property_set_interpolation_mode),
7280         (gst_controlled_property_new), (gst_controlled_property_free),
7281         (gst_controller_find_controlled_property),
7282         (gst_controller_new_valist), (gst_controller_new),
7283         (gst_controller_remove_properties_valist),
7284         (gst_controller_remove_properties), (gst_controller_set),
7285         (gst_controller_set_from_list), (gst_controller_unset),
7286         (gst_controller_get), (gst_controller_get_all),
7287         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7288         (gst_controller_get_value_array),
7289         (gst_controller_set_interpolation_mode),
7290         (_gst_controller_finalize), (_gst_controller_init),
7291         (_gst_controller_class_init), (gst_controller_get_type):
7292         * libs/gst/controller/gst-controller.h:
7293         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7294         (g_object_uncontrol_properties), (g_object_get_controller),
7295         (g_object_set_controller), (g_object_sink_values),
7296         (g_object_get_value_arrays), (g_object_get_value_array):
7297         * libs/gst/controller/gst-interpolation.c:
7298         (gst_controlled_property_find_timed_value_node),
7299         (interpolate_none_get), (interpolate_trigger_get),
7300         (interpolate_trigger_get_value_array):
7301         * libs/gst/controller/lib.c: (gst_controller_init):
7302         * pkgconfig/Makefile.am:
7303         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7304         * pkgconfig/gstreamer-control.pc.in:
7305         * testsuite/Makefile.am:
7306         * testsuite/controller/.cvsignore:
7307         * testsuite/controller/Makefile.am:
7308         * testsuite/controller/interpolator.c: (main):
7309           added controller code
7310           removed dparam pc files
7311
7312 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7313         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7314         (gst_collectpads_stop):
7315           Broadcast the condition when shutting down, to make sure we wake all
7316           threads up. Shut down pads on finalize, for safety.
7317
7318 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7319         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7320         (gst_base_transform_handle_buffer),
7321         (gst_base_transform_change_state):
7322           Handle PAUSED->READY->PAUSED transition after negotiation
7323           occurred already.
7324         * gst/gstmessage.c: (gst_message_init):
7325           Extra piece of debug for new messages.
7326
7327 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7328
7329         * configure.ac:
7330         * docs/gst/tmpl/gstbasesrc.sgml:
7331         * docs/gst/tmpl/gstelement.sgml:
7332         * docs/gst/tmpl/gstevent.sgml:
7333         * docs/gst/tmpl/gstfakesrc.sgml:
7334         * docs/gst/tmpl/gstformat.sgml:
7335         * docs/gst/tmpl/gstghostpad.sgml:
7336         * docs/gst/tmpl/gstpad.sgml:
7337         * docs/gst/tmpl/gstquery.sgml:
7338         * docs/gst/tmpl/gststructure.sgml:
7339         * docs/gst/tmpl/gsttaglist.sgml:
7340         * docs/gst/tmpl/gstvalue.sgml:
7341         * docs/libs/gstreamer-libs-docs.sgml:
7342         * docs/libs/gstreamer-libs-sections.txt:
7343         * docs/libs/gstreamer-libs.types:
7344         * libs/gst/Makefile.am:
7345         * libs/gst/control/.cvsignore:
7346         * libs/gst/control/Makefile.am:
7347         * libs/gst/control/control.c:
7348         * libs/gst/control/control.h:
7349         * libs/gst/control/dparam.c:
7350         * libs/gst/control/dparam.h:
7351         * libs/gst/control/dparam_smooth.c:
7352         * libs/gst/control/dparam_smooth.h:
7353         * libs/gst/control/dparamcommon.h:
7354         * libs/gst/control/dparammanager.c:
7355         * libs/gst/control/dparammanager.h:
7356         * libs/gst/control/dplinearinterp.c:
7357         * libs/gst/control/dplinearinterp.h:
7358         * libs/gst/control/unitconvert.c:
7359         * libs/gst/control/unitconvert.h:
7360         * testsuite/Makefile.am:
7361         * testsuite/dynparams/.cvsignore:
7362         * testsuite/dynparams/Makefile.am:
7363         * testsuite/dynparams/dparamstest.c:
7364         * tools/Makefile.am:
7365         * tools/gst-inspect.c: (print_element_info), (main):
7366         * tools/gst-xmlinspect.c: (print_element_info), (main):
7367           deactivate and remove dparams (libgstcontrol)
7368
7369 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7370
7371         * gst/elements/gsttypefindelement.c:
7372         (gst_type_find_element_have_type), (gst_type_find_element_init),
7373         (stop_typefinding), (gst_type_find_element_handle_event),
7374         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7375         * gst/elements/gsttypefindelement.h:
7376           Set caps on all outgoing buffers, not just the first one.
7377
7378 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7379
7380         * gst/elements/gsttypefindelement.c:
7381         (gst_type_find_element_have_type),
7382         (gst_type_find_element_check_set_buffer_caps),
7383         (gst_type_find_element_init), (stop_typefinding),
7384         (gst_type_find_element_handle_event),
7385         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7386         * gst/elements/gsttypefindelement.h:
7387           Set caps on first outgoing buffer when we've found the type.
7388
7389 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7390
7391         * docs/gst/gstreamer-docs.sgml:
7392         * docs/gst/gstreamer-sections.txt:
7393         * docs/gst/tmpl/gstscheduler.sgml:
7394         * docs/gst/tmpl/gstschedulerfactory.sgml:
7395           Remove some old cruft from docs.
7396
7397 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7398
7399         * gst/gstpad.h:
7400           Fix inline docs for GstPadLinkReturn.
7401           
7402         * gst/gststructure.c: (gst_structure_has_name):
7403         * gst/gststructure.h:
7404         * docs/gst/gstreamer-sections.txt:
7405           New API: gst_structure_has_name().
7406
7407 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7408
7409         * configure.ac:
7410           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7411           and _LARGEFILE_SOURCE in config.h as required. Do not 
7412           export those flags in our .pc files any longer (#142209).
7413
7414           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7415
7416         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7417         (gst_file_sink_do_seek), (gst_file_sink_event),
7418         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7419           Redo seek/tell calls with large file support in mind; add some
7420           debugging messages; add log message that tells us when large
7421           file support is unavailable or not enabled for some reason.
7422
7423         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7424           Add log message that tells us when large file support 
7425           is unavailable or not enabled for some reason.
7426
7427 2005-07-29  Wim Taymans  <wim@fluendo.com>
7428
7429         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7430         Added test for removing an element with ghostpad from a bin.
7431         Fixed test as current implementation does the right thing.
7432
7433         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7434         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7435         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7436         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7437         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7438         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7439         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7440         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7441         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7442         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7443         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7444         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7445         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7446         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7447         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7448         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7449         * gst/gstghostpad.h:
7450         Clean up ghostpads, remove properties for internal stuff.
7451         Make threadsafe.
7452         Fix refcounting.
7453         Prepare for switching targets, not all use cases work yet.
7454
7455 2005-07-29  Wim Taymans  <wim@fluendo.com>
7456
7457         * docs/design/part-gstghostpad.txt:
7458         Small update.
7459
7460         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7461         (gst_bin_remove_func):
7462         Unlinking pads while holding the bin LOCK is not a good
7463         idea.
7464
7465         * gst/gstpad.c: (gst_pad_class_init),
7466         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7467         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7468         No prob setting template after creating the pad.
7469
7470 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7471
7472         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7473         (gst_bus_peek), (gst_bus_source_dispatch),
7474         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7475         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7476           gst_bus_poll may be called from other threads. Handle
7477           this nicely by not making poll_data disappear off the
7478           stack once gst_bus_poll returns.
7479           gst_bus_peek now increments the refcount on the returned
7480           message.
7481
7482 2005-07-29  Wim Taymans  <wim@fluendo.com>
7483
7484         * docs/design/part-gstghostpad.txt:
7485         Overview of current GhostPad datastructures and use
7486         cases for changing the target.
7487
7488 2005-07-28  Wim Taymans  <wim@fluendo.com>
7489
7490         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7491         Added checks for hierarchy consistency whan adding linked
7492         elements to bins.
7493
7494         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7495         Added check to test element scheduling without bin/pipeline.
7496
7497         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7498         First add elements to bin, then link.
7499         
7500         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7501         (gst_bin_remove_func):
7502         Unlink pads from elements added/removed from bin to maintain
7503         hierarchy consistency.
7504
7505 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7506
7507         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7508         (gst_base_transform_handle_buffer):
7509         * gst/base/gstbasetransform.h:
7510           Remove broken delay_configure (fixes renegotiation of software
7511           scaling pipelines); remove some leftover printf()s.
7512
7513 2005-07-28  Wim Taymans  <wim@fluendo.com>
7514
7515         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7516         Added some more tests for wrong hierarchy
7517
7518         * docs/design/part-overview.txt:
7519         Some updates.
7520
7521         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7522         Cleanups.
7523
7524         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7525         (gst_element_dispose):
7526         Some more cleanups.
7527
7528         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7529         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7530         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7531         (gst_pad_set_caps), (gst_pad_send_event):
7532         Check for correct hierarchy when linking pads. Moving to
7533         strict requirement for ghostpads when linking elements in
7534         different bins.
7535
7536         * gst/gstpad.h:
7537         Clean ups. Added WRONG_HIERARCHY return value.
7538
7539 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7540
7541         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7542           Better debug if no transform is possible.
7543
7544 2005-07-27  Wim Taymans  <wim@fluendo.com>
7545
7546         * docs/random/wtay/network-transp:
7547         Some old doc I had.
7548
7549 2005-07-27  Wim Taymans  <wim@fluendo.com>
7550
7551         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7552         (gst_dp_event_from_packet):
7553         Fix serialization of seek events.
7554
7555 2005-07-27  Wim Taymans  <wim@fluendo.com>
7556
7557         * check/gst-libs/gdp.c: (GST_START_TEST):
7558         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7559         Fix compilation and fix event serialization.
7560
7561 2005-07-27  Wim Taymans  <wim@fluendo.com>
7562
7563         * CHANGES-0.9:
7564         * docs/design/part-TODO.txt:
7565         * docs/design/part-events.txt:
7566         Some docs updates
7567
7568         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7569         (gst_base_sink_event), (gst_base_sink_do_sync),
7570         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7571         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7572         (gst_base_src_do_seek), (gst_base_src_event_handler),
7573         (gst_base_src_loop):
7574         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7575         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7576         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7577         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7578         (gst_base_transform_set_passthrough),
7579         (gst_base_transform_is_passthrough):
7580         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7581         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7582         Event updates.
7583
7584         * gst/gstbuffer.h:
7585         Use faster casts.
7586
7587         * gst/gstelement.c: (gst_element_seek):
7588         * gst/gstelement.h:
7589         Update gst_element_seek.
7590
7591         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7592         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7593         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7594         (gst_event_new_eos), (gst_event_new_newsegment),
7595         (gst_event_parse_newsegment), (gst_event_new_tag),
7596         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7597         (gst_event_parse_qos), (gst_event_new_seek),
7598         (gst_event_parse_seek), (gst_event_new_navigation):
7599         * gst/gstevent.h:
7600         Make GstEvent use GstStructure. Add parsing code, make sure the
7601         API is sufficiently generic.
7602         Mark possible directions of events and serialization.
7603
7604         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7605         (_gst_message_copy), (gst_message_new_segment_start),
7606         (gst_message_new_segment_done), (gst_message_new_custom),
7607         (gst_message_parse_segment_start),
7608         (gst_message_parse_segment_done):
7609         Small cleanups.
7610
7611         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7612         (gst_pad_set_caps), (gst_pad_send_event):
7613         Update for new events. 
7614         Catch events sent in wrong directions.
7615
7616         * gst/gstqueue.c: (gst_queue_link_src),
7617         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7618         (gst_queue_handle_src_query):
7619         Event updates.
7620
7621         * gst/gsttag.c:
7622         * gst/gsttag.h:
7623         Remove event code from this file.
7624
7625         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7626         (gst_dp_event_from_packet):
7627         Event updates.
7628
7629 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7630
7631         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7632         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7633         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7634           Make debugging actually useful.
7635
7636 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7637
7638         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7639         (gst_pad_fixate_caps):
7640           Implement default fixation once again, so that gst_pad_fixate()
7641           actually does anything at all. This probably needs to be some
7642           sort of a last resort, and use profile-based fixation first, but
7643           since that doesn't exist yet, this is the best we have. Fixes
7644           visualization in Totem.
7645
7646 2005-07-22  Wim Taymans  <wim@fluendo.com>
7647
7648         * docs/design/part-events.txt:
7649         Small update.
7650
7651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7652         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7653         (gst_base_sink_activate_pull):
7654         Some more comments.
7655
7656         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7657         (gst_fake_src_create):
7658         Fix handoff marshall.
7659
7660         * gst/elements/gstidentity.c: (gst_identity_class_init),
7661         (gst_identity_transform_ip):
7662         We're a real inplace element.
7663
7664         * gst/gstbus.c: (gst_bus_post):
7665         Added some comments.
7666
7667         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7668         * tests/muxing/case1.c: (main):
7669         * tests/sched/dynamic-pipeline.c: (main):
7670         * tests/sched/interrupt1.c: (main):
7671         * tests/sched/interrupt2.c: (main):
7672         * tests/sched/interrupt3.c: (main):
7673         * tests/sched/runxml.c: (main):
7674         * tests/sched/sched-stress.c: (main):
7675         * tests/seeking/seeking1.c: (event_received), (main):
7676         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7677         (main):
7678         * tests/threadstate/threadstate3.c: (main):
7679         * tests/threadstate/threadstate4.c: (main):
7680         * tests/threadstate/threadstate5.c: (main):
7681         Fix the tests.
7682
7683 2005-07-21  Wim Taymans  <wim@fluendo.com>
7684
7685         * docs/design/part-seeking.txt:
7686         Some small additions.
7687
7688         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7689         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7690         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7691         * gst/base/gstbasesink.h:
7692         discont values are gint64, handle the math correctly.
7693
7694         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7695         Make the basesrc report error if the source pad is not linked.
7696
7697         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7698         (gst_queue_loop), (gst_queue_handle_src_query),
7699         (gst_queue_src_activate_push):
7700         Make queue collect data even if the srcpad is not linked.
7701         Start pushing out data as soon as it is linked.
7702
7703         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7704         * gst/gstutils.h:
7705         Added gst_flow_get_name() to ease error reporting.
7706
7707 2005-07-20  Wim Taymans  <wim@fluendo.com>
7708
7709         * gst/gstmessage.c: (gst_message_new_segment_start),
7710         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7711         (gst_message_parse_segment_done):
7712         * gst/gstmessage.h:
7713         Added a bunch of messages for advanced seeking.
7714
7715         * gst/parse/grammar.y:
7716         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7717         (gst_dpman_state_changed):
7718         Fix some new-pad -> pad-added signals
7719
7720 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7721
7722         * docs/manual/appendix-porting.xml:
7723         * docs/pwg/appendix-porting.xml:
7724           Document new-pad/state-change signal renames and the FixedList
7725           type rename.
7726
7727 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7728
7729         * docs/manual/advanced-autoplugging.xml:
7730         * docs/manual/basics-helloworld.xml:
7731         * docs/manual/basics-pads.xml:
7732         * docs/random/ds/0.9-suggested-changes:
7733         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7734         * gst/gstelement.h:
7735         * gst/gstevent.h:
7736         * gst/gstformat.h:
7737         * gst/gstquery.h:
7738         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7739         (gst_structure_parse_array), (gst_structure_parse_value):
7740         * gst/gstvalue.c: (gst_type_is_fixed),
7741         (gst_value_list_prepend_value), (gst_value_list_append_value),
7742         (gst_value_list_get_size), (gst_value_list_get_value),
7743         (gst_value_transform_array_string), (gst_value_serialize_array),
7744         (gst_value_deserialize_array), (gst_value_intersect_array),
7745         (gst_value_is_fixed), (_gst_value_initialize):
7746         * gst/gstvalue.h:
7747           GstElement::new-pad -> pad-added, GstElement::state-change ->
7748           state-changed, GstValueFixedList -> GstValueArray, add format and
7749           flags as their own arguments in gst_element_seek() (should improve
7750           "bindeability"), remove function generators since they don't work
7751           under a whole bunch of compilers (they were deprecated already
7752           anyway).
7753
7754 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7755
7756         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7757         (_gst_debug_register_funcptr):
7758         * gst/gstinfo.h:
7759           Fix illegal cast on some platforms (#309253).
7760
7761 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7762
7763         * gst/gstmessage.c: (gst_message_new_custom):
7764         * gst/gstmessage.h:
7765           Add _new_custom, make _new_application a macro to _new_custom.
7766
7767 2005-07-20  Wim Taymans  <wim@fluendo.com>
7768
7769         * gst/base/gstbasesrc.c: (gst_base_src_init),
7770         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7771         * gst/base/gstbasesrc.h:
7772         Add a gboolean to decide when to push out a discont.
7773
7774         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7775         (gst_queue_loop), (gst_queue_handle_src_query),
7776         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7777         (gst_queue_set_property), (gst_queue_get_property):
7778         Some cleanups.
7779
7780         * tests/threadstate/threadstate1.c: (main):
7781         Make a thread test compile and run... very silly..
7782
7783
7784 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7785
7786         * docs/manual/appendix-porting.xml:
7787           Mention removal of libgstgconf-0.9.la and existence of gconf
7788           elements.
7789
7790 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7791
7792         * docs/pwg/advanced-clock.xml:
7793         * docs/pwg/appendix-porting.xml:
7794         * docs/pwg/intro-preface.xml:
7795         * docs/pwg/other-base.xml:
7796         * docs/pwg/other-manager.xml:
7797         * docs/pwg/other-nton.xml:
7798         * docs/pwg/other-ntoone.xml:
7799         * docs/pwg/other-oneton.xml:
7800         * docs/pwg/pwg.xml:
7801           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7802           demuxer), remove n-to-n (was never written), fix some code examples
7803           and links and update the porting section to include all this.
7804
7805 2005-07-19  Wim Taymans  <wim@fluendo.com>
7806
7807         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7808         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7809         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7810         (gst_queue_src_activate_push), (gst_queue_change_state),
7811         (gst_queue_get_property):
7812         * gst/gstqueue.h:
7813         Propagate GstFlowReturn more intelligently upstream and output
7814         an ERROR/EOS when streaming stopped due to fatal error.
7815
7816 2005-07-19  Wim Taymans  <wim@fluendo.com>
7817
7818         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7819         Don't block forever for the state change to complete, the
7820         pipeline already did with a sensible timeout.
7821
7822 2005-07-19  Wim Taymans  <wim@fluendo.com>
7823
7824         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7825         Make sure we never call the create function is we
7826         got deactivated.
7827
7828 2005-07-19  Andy Wingo  <wingo@pobox.com>
7829
7830         * gst/parse/parse.l: Attempt to solve bug #172815.
7831
7832 2005-07-19  Wim Taymans  <wim@fluendo.com>
7833
7834         * docs/design/part-clocks.txt:
7835         * docs/design/part-events.txt:
7836         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7837         Small docs updates.
7838         Only update the seeking values when we are not
7839         busy streaming.
7840
7841 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7842
7843         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7844           Oops, ignore the result of gst_pad_push_event here.
7845
7846 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7847
7848         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7849         (gst_base_src_activate_push):
7850           Send discont event from the loop function, as pads
7851           aren't activated yet in the activate_push handler.
7852
7853         * gst/gstbin.c: (bin_bus_handler):
7854           Don't leak element name.
7855
7856 2005-07-18  Andy Wingo  <wingo@pobox.com>
7857
7858         * configure.ac: Use AS_LIBTOOL_TAGS.
7859
7860 2005-07-18  Wim Taymans  <wim@fluendo.com>
7861
7862         * docs/gst/gstreamer.types:
7863         Remove deleted types.
7864
7865 2005-07-18  Wim Taymans  <wim@fluendo.com>
7866
7867         * check/elements/gstfakesrc.c: (GST_START_TEST):
7868         * configure.ac:
7869         * gst/Makefile.am:
7870         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7871         (init_popt_callback):
7872         * gst/gst.h:
7873         * gst/gst_private.h:
7874         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7875         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7876         * gst/gstbin.h:
7877         * gst/gstbus.h:
7878         * gst/gstconfig.h.in:
7879         * gst/gstelement.c: (gst_element_class_init),
7880         (gst_element_set_base_time), (gst_element_get_base_time),
7881         (iterator_fold_with_resync), (gst_element_change_state),
7882         (gst_element_dispose), (gst_element_get_bus):
7883         * gst/gstelement.h:
7884         * gst/gstelementfactory.h:
7885         * gst/gsterror.c: (_gst_core_errors_init):
7886         * gst/gsterror.h:
7887         * gst/gstevent.h:
7888         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7889         * gst/gstindex.c:
7890         * gst/gstinfo.c: (_gst_debug_init):
7891         * gst/gstmessage.c: (_gst_message_copy):
7892         * gst/gstmessage.h:
7893         * gst/gstminiobject.h:
7894         * gst/gstobject.c:
7895         * gst/gstobject.h:
7896         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7897         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7898         * gst/gstpad.h:
7899         * gst/gstparse.h:
7900         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7901         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7902         (gst_pipeline_get_last_stream_time):
7903         * gst/gstpipeline.h:
7904         * gst/gstpluginfeature.h:
7905         * gst/gstquery.h:
7906         * gst/gstscheduler.c:
7907         * gst/gstscheduler.h:
7908         * gst/gststructure.h:
7909         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7910         (gst_task_finalize), (gst_task_func), (gst_task_create),
7911         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7912         (gst_task_stop), (gst_task_pause):
7913         * gst/gsttask.h:
7914         * gst/gsttypefind.h:
7915         * gst/gsttypes.h:
7916         * gst/registries/gstlibxmlregistry.c: (load_feature),
7917         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7918         * gst/registries/gstxmlregistry.c:
7919         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7920         * gst/schedulers/threadscheduler.c:
7921         * libs/gst/control/dparammanager.h:
7922         * tools/gst-inspect.c: (print_element_list),
7923         (print_plugin_features), (print_element_features):
7924         * tools/gst-xmlinspect.c: (print_element_list),
7925         (print_plugin_info), (main):
7926         Removed plugable schedulers.
7927         Removed Scheduler/Manager from elements.
7928         Removed gsttypes.h, rearranged includes.
7929         Removed dependency pad<->element, element<>pipeline, and
7930         various others,  fix includes.
7931         implement gst_pad_get_parent() with gst_object_get_parent()
7932         Make GstTask sefcontained.
7933         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7934         timeout.
7935         Fix endless loop in iterator_fold_with_resync.
7936
7937
7938 2005-07-18  Wim Taymans  <wim@fluendo.com>
7939
7940         * gst/Makefile.am:
7941         * gst/gstarch.h:
7942         Remove old file.
7943
7944 2005-07-18  Wim Taymans  <wim@fluendo.com>
7945
7946         * gst/Makefile.am:
7947         No more cothreads.h
7948
7949 2005-07-18  Wim Taymans  <wim@fluendo.com>
7950
7951         * gst/cothreads.c:
7952         * gst/cothreads.h:
7953         Let's remove these.
7954
7955 2005-07-18  Wim Taymans  <wim@fluendo.com>
7956
7957         * docs/design/part-dynamic.txt:
7958         * docs/design/part-events.txt:
7959         * docs/design/part-seeking.txt:
7960         Some more docs in the works.
7961
7962         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7963         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7964         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7965         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7966         (gst_base_transform_handle_buffer),
7967         (gst_base_transform_sink_activate_push),
7968         (gst_base_transform_src_activate_pull),
7969         (gst_base_transform_set_passthrough),
7970         (gst_base_transform_is_passthrough):
7971         Refcounting fixes.
7972
7973         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7974         Cleanups.
7975
7976         * gst/gstevent.c: (gst_event_finalize):
7977         Set SRC to NULL.
7978
7979         * gst/gstutils.c: (gst_element_unlink),
7980         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7981         (gst_pad_proxy_setcaps):
7982         * gst/gstutils.h:
7983         Add _get_parent_element() to get a pads parent as an element.
7984
7985 2005-07-18  Wim Taymans  <wim@fluendo.com>
7986
7987         * check/gst/gstbin.c: (GST_START_TEST):
7988         Remove bogus test.
7989
7990 2005-07-18  Wim Taymans  <wim@fluendo.com>
7991
7992         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7993         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7994         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7995         (gst_base_sink_event), (gst_base_sink_do_sync),
7996         (gst_base_sink_chain), (gst_base_sink_loop),
7997         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7998         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7999         Refcounting fixes.
8000         Fix logic for returning ASYNC when not prerolled.
8001
8002 2005-07-18  Wim Taymans  <wim@fluendo.com>
8003
8004         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8005         Fix nasty refcount bug.
8006
8007 2005-07-16 Philippe Khalaf <burger@speedy.org>
8008
8009         * gst/elements/gstfdsrc.c:
8010         * gst/elements/gstfdsrc.h:
8011         * gst/elements/gstelements.c:
8012         * gst/elements/Makefile.am:
8013         Ported fdsrc to 0.9.
8014
8015 2005-07-16  Wim Taymans  <wim@fluendo.com>
8016
8017         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8018         (gst_base_sink_do_sync):
8019         Fix compile error.
8020
8021 2005-07-16  Wim Taymans  <wim@fluendo.com>
8022
8023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8024         (gst_base_sink_event), (gst_base_sink_get_times),
8025         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8026         * gst/base/gstbasesink.h:
8027         Store and use discont values when syncing buffers as described
8028         in design docs.
8029         
8030         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8031         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8032         (gst_base_src_activate_push):
8033         Push discont event when starting.
8034
8035         * gst/elements/gstidentity.c: (gst_identity_transform):
8036         Small cleanups.
8037
8038         * gst/gstbin.c: (gst_bin_change_state):
8039         Small cleanups in base_time  distribution.
8040
8041         * gst/gstelement.c: (gst_element_set_base_time),
8042         (gst_element_get_base_time), (gst_element_change_state):
8043         * gst/gstelement.h:
8044         Added methods for the base_time of the element.
8045         Some MT fixes.
8046
8047         * gst/gstpipeline.c: (gst_pipeline_send_event),
8048         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8049         (gst_pipeline_get_last_stream_time):
8050         * gst/gstpipeline.h:
8051         MT fixes.
8052         Handle seeking as described in design doc, remove stream_time
8053         hack.
8054         Cleanups clock and stream_time selection code. Added accessors
8055         for the stream_time.
8056         
8057
8058 2005-07-16  Andy Wingo  <wingo@pobox.com>
8059
8060         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8061         (#305291).
8062
8063 2005-07-16  Wim Taymans  <wim@fluendo.com>
8064
8065         * check/gst/gstbin.c: (GST_START_TEST):
8066         Make elements silent as the deep_notify refs the
8067         parent, which might make the test fail.
8068
8069         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8070         Don't hold the lock for too long.
8071
8072 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8073
8074         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8075           Don't unref the caps we passed to gst_caps_make_writable() after
8076           passing them. gst_caps_make_writable() will do that for us.
8077
8078 2005-07-15  Andy Wingo  <wingo@pobox.com>
8079
8080         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8081         (#157311).
8082
8083         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8084         own marshalling function for the handoff signal. Properly type the
8085         buffer as a buffer. Fixes some warnings. Should do a more general
8086         solution.
8087         (gst_identity_class_init): Plug into the right marshaller.
8088
8089 2005-07-15  Wim Taymans  <wim@fluendo.com>
8090
8091         * docs/design/part-TODO.txt:
8092         * docs/design/part-clocks.txt:
8093         * docs/design/part-element-sink.txt:
8094         * docs/design/part-events.txt:
8095         * docs/design/part-gstpipeline.txt:
8096         Updated docs, mostly DISCONT related.
8097
8098 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8099
8100         * docs/pwg/building-pads.xml:
8101           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8102
8103 2005-07-15  Andy Wingo  <wingo@pobox.com>
8104
8105         * tools/gst-typefind.c: Update, add copyright block.
8106
8107         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8108         Normalize and truncate caps before fixation.
8109
8110         * gst/gstcaps.h:
8111         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8112         discards all but the first structure from its argument.
8113
8114 2005-07-15  Wim Taymans  <wim@fluendo.com>
8115
8116         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8117         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8118         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8119         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8120         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8121         (gst_base_transform_chain), (gst_base_transform_change_state),
8122         (gst_base_transform_set_passthrough),
8123         (gst_base_transform_is_passthrough):
8124         * gst/base/gstbasetransform.h:
8125         Make passthrough work using the bufferpools.
8126         Changed API a bit, subclasses have to write into a buffer
8127         provided by the base class.
8128         More debug info in nego functions.
8129         
8130         * gst/elements/gstidentity.c: (gst_identity_init),
8131         (gst_identity_transform):
8132         Port to new base class.
8133
8134 2005-07-15  Wim Taymans  <wim@fluendo.com>
8135
8136         * gst/gstmessage.c: (gst_message_new_state_changed):
8137         * tools/gst-launch.c: (event_loop), (main):
8138         Totally dump messages in -launch with the -m option.
8139         Fix message name for State messages,
8140
8141 2005-07-14  Wim Taymans  <wim@fluendo.com>
8142
8143         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8144         Post error messages on errors.
8145
8146 2005-07-14  Wim Taymans  <wim@fluendo.com>
8147
8148         * gst/gstcaps.c: (gst_caps_do_simplify):
8149         Remove debug info.
8150
8151         * gst/gsterror.h:
8152         Define error for stream stopped.
8153
8154         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8155         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8156         Do proper return values.
8157
8158         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8159         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8160         (gst_pad_get_range):
8161         Better return values.
8162
8163         * gst/gstpad.h:
8164         Reorganise return values, add macro to check for fatal errors.
8165
8166         * gst/gstqueue.c: (gst_queue_chain):
8167         Return proper GstFlowReturn values,
8168
8169 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8170
8171         * docs/gst/gstreamer-sections.txt:
8172         * docs/gst/gstreamer.types:
8173         * docs/gst/tmpl/gst.sgml:
8174         * docs/gst/tmpl/gstbasesink.sgml:
8175         * docs/gst/tmpl/gstbasesrc.sgml:
8176         * docs/gst/tmpl/gstbasetransform.sgml:
8177         * docs/gst/tmpl/gstbin.sgml:
8178         * docs/gst/tmpl/gstbuffer.sgml:
8179         * docs/gst/tmpl/gstcaps.sgml:
8180         * docs/gst/tmpl/gstclock.sgml:
8181         * docs/gst/tmpl/gstcompat.sgml:
8182         * docs/gst/tmpl/gstconfig.sgml:
8183         * docs/gst/tmpl/gstelement.sgml:
8184         * docs/gst/tmpl/gstelementdetails.sgml:
8185         * docs/gst/tmpl/gstelementfactory.sgml:
8186         * docs/gst/tmpl/gstenumtypes.sgml:
8187         * docs/gst/tmpl/gsterror.sgml:
8188         * docs/gst/tmpl/gstevent.sgml:
8189         * docs/gst/tmpl/gstfakesink.sgml:
8190         * docs/gst/tmpl/gstfakesrc.sgml:
8191         * docs/gst/tmpl/gstfilesink.sgml:
8192         * docs/gst/tmpl/gstfilesrc.sgml:
8193         * docs/gst/tmpl/gstfilter.sgml:
8194         * docs/gst/tmpl/gstformat.sgml:
8195         * docs/gst/tmpl/gstghostpad.sgml:
8196         * docs/gst/tmpl/gstimplementsinterface.sgml:
8197         * docs/gst/tmpl/gstindex.sgml:
8198         * docs/gst/tmpl/gstindexfactory.sgml:
8199         * docs/gst/tmpl/gstinfo.sgml:
8200         * docs/gst/tmpl/gstiterator.sgml:
8201         * docs/gst/tmpl/gstmacros.sgml:
8202         * docs/gst/tmpl/gstmemchunk.sgml:
8203         * docs/gst/tmpl/gstminiobject.sgml:
8204         * docs/gst/tmpl/gstobject.sgml:
8205         * docs/gst/tmpl/gstpad.sgml:
8206         * docs/gst/tmpl/gstpadtemplate.sgml:
8207         * docs/gst/tmpl/gstparse.sgml:
8208         * docs/gst/tmpl/gstpipeline.sgml:
8209         * docs/gst/tmpl/gstplugin.sgml:
8210         * docs/gst/tmpl/gstpluginfeature.sgml:
8211         * docs/gst/tmpl/gstquery.sgml:
8212         * docs/gst/tmpl/gstqueue.sgml:
8213         * docs/gst/tmpl/gstregistry.sgml:
8214         * docs/gst/tmpl/gstregistrypool.sgml:
8215         * docs/gst/tmpl/gstscheduler.sgml:
8216         * docs/gst/tmpl/gstschedulerfactory.sgml:
8217         * docs/gst/tmpl/gststructure.sgml:
8218         * docs/gst/tmpl/gstsystemclock.sgml:
8219         * docs/gst/tmpl/gsttaglist.sgml:
8220         * docs/gst/tmpl/gsttagsetter.sgml:
8221         * docs/gst/tmpl/gsttrace.sgml:
8222         * docs/gst/tmpl/gsttrashstack.sgml:
8223         * docs/gst/tmpl/gsttypefind.sgml:
8224         * docs/gst/tmpl/gsttypefindfactory.sgml:
8225         * docs/gst/tmpl/gsttypes.sgml:
8226         * docs/gst/tmpl/gsturihandler.sgml:
8227         * docs/gst/tmpl/gsturitype.sgml:
8228         * docs/gst/tmpl/gstutils.sgml:
8229         * docs/gst/tmpl/gstvalue.sgml:
8230         * docs/gst/tmpl/gstversion.sgml:
8231         * docs/gst/tmpl/gstxml.sgml:
8232         * docs/libs/tmpl/gstcontrol.sgml:
8233         * docs/libs/tmpl/gstdataprotocol.sgml:
8234         * docs/libs/tmpl/gstdparam.sgml:
8235         * docs/libs/tmpl/gstdplinint.sgml:
8236         * docs/libs/tmpl/gstdpman.sgml:
8237         * docs/libs/tmpl/gstdpsmooth.sgml:
8238         * docs/libs/tmpl/gstgetbits.sgml:
8239         * docs/libs/tmpl/gstunitconvert.sgml:
8240         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8241         (gst_push_src_base_init), (gst_push_src_class_init),
8242         (gst_push_src_init), (gst_push_src_create):
8243         * gst/base/gstpushsrc.h:
8244         * gst/elements/gstelements.c:
8245         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8246         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8247         (gst_fake_sink_init), (gst_fake_sink_set_property),
8248         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8249         (gst_fake_sink_event), (gst_fake_sink_preroll),
8250         (gst_fake_sink_render), (gst_fake_sink_change_state):
8251         * gst/elements/gstfakesink.h:
8252         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8253         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8254         (gst_fake_src_base_init), (gst_fake_src_class_init),
8255         (gst_fake_src_init), (gst_fake_src_event_handler),
8256         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8257         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8258         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8259         (gst_fake_src_create_buffer), (gst_fake_src_create),
8260         (gst_fake_src_start), (gst_fake_src_stop):
8261         * gst/elements/gstfakesrc.h:
8262         * gst/elements/gstfilesink.c: (_do_init),
8263         (gst_file_sink_base_init), (gst_file_sink_class_init),
8264         (gst_file_sink_init), (gst_file_sink_dispose),
8265         (gst_file_sink_set_location), (gst_file_sink_set_property),
8266         (gst_file_sink_get_property), (gst_file_sink_open_file),
8267         (gst_file_sink_close_file), (gst_file_sink_query),
8268         (gst_file_sink_event), (gst_file_sink_render),
8269         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8270         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8271         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8272         * gst/elements/gstfilesink.h:
8273         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8274         (gst_file_src_class_init), (gst_file_src_init),
8275         (gst_file_src_finalize), (gst_file_src_set_location),
8276         (gst_file_src_set_property), (gst_file_src_get_property),
8277         (gst_file_src_map_region), (gst_file_src_map_small_region),
8278         (gst_file_src_create_mmap), (gst_file_src_create_read),
8279         (gst_file_src_create), (gst_file_src_is_seekable),
8280         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8281         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8282         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8283         (gst_file_src_uri_handler_init):
8284         * gst/elements/gstfilesrc.h:
8285           more autistic cleanliness in functions/names/defines
8286
8287 2005-07-13  Andy Wingo  <wingo@pobox.com>
8288
8289         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8290         source couldn't negotiate.
8291
8292         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8293         connections again.
8294
8295         * gst/gstutils.h:
8296         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8297         function. I am channeling Hades. Put your boots on suckers!!!
8298
8299 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8300
8301         * testsuite/caps/Makefile.am:
8302         * testsuite/caps/value_compare.c:
8303         * testsuite/caps/value_intersect.c:
8304         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8305           move two testsuite apps over to the check dir
8306
8307 2005-07-12  Wim Taymans  <wim@fluendo.com>
8308
8309         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8310         Added more debug info in the negotiate process.
8311
8312         * gst/gstmessage.h:
8313         Prepare for segment playback.
8314
8315         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8316         Better debugging.
8317
8318         * gst/gstutils.c:
8319         Some more docs.
8320
8321         * tools/gst-launch.c: (main):
8322         NULL pipeline on errors.
8323
8324 2005-07-12  Andy Wingo  <wingo@pobox.com>
8325
8326         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8327         not it comes from a malloc region. Make sure our copy gets freed.
8328
8329 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8330
8331         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8332         * check/gst/gstmessage.c: (GST_START_TEST):
8333         * check/gst/gststructure.c: (GST_START_TEST),
8334         (gst_structure_suite), (main):
8335           more testing
8336         * gst/gstelement.c: (gst_element_message_full):
8337           clean up GError and debug string now that they get copied
8338         * gst/gstmessage.c: (gst_message_new_error),
8339         (gst_message_new_warning), (gst_message_parse_error),
8340         (gst_message_parse_warning):
8341           use GST_TYPE_G_ERROR for structure_new, and take copies of
8342           arguments, so that we don't mess up refcounting
8343
8344 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8345
8346         * check/Makefile.am:
8347           add per-test valgrind targets
8348         * check/gst-libs/gdp.c: (GST_START_TEST),
8349         (gst_data_protocol_suite), (main):
8350           clean up
8351
8352 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8353
8354         * check/Makefile.am:
8355           instate more valgrindable tests
8356         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8357         (GST_START_TEST), (fakesrc_suite):
8358         * check/gst/gstpad.c: (GST_START_TEST):
8359         * check/gst/gststructure.c: (GST_START_TEST):
8360           fix test leaks
8361         * docs/gst/tmpl/gstminiobject.sgml:
8362         * gst/gstpad.c: (gst_pad_finalize):
8363           fix the static mutex leak
8364
8365 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8366
8367         * check/Makefile.am:
8368           add two more tests for valgrinding
8369         * check/gst/gstvalue.c: (GST_START_TEST):
8370           test refcount of deserialized buffer, found a leak
8371         * docs/gst/gstreamer-docs.sgml:
8372         * docs/gst/gstreamer-sections.txt:
8373         * docs/gst/gstreamer.types:
8374         * docs/gst/tmpl/gstminiobject.sgml:
8375           add miniobject to docs
8376         * gst/gstminiobject.c:
8377           add some docs
8378         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8379         (gst_string_unwrap):
8380           fix a hard-to-find invalid write for one of the tests
8381           fix a leak for deserialized buffers
8382
8383 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8384
8385         * docs/pwg/advanced-events.xml:
8386         * docs/pwg/advanced-request.xml:
8387         * docs/pwg/advanced-scheduling.xml:
8388         * docs/pwg/appendix-porting.xml:
8389         * docs/pwg/building-boiler.xml:
8390         * docs/pwg/intro-preface.xml:
8391         * docs/pwg/other-ntoone.xml:
8392           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8393           of example code and explanation for pad activation, loop() and
8394           getrange() functions and a bit more. Remove old comments pointing
8395           to loop-functions.
8396         * examples/pwg/Makefile.am:
8397           Add loop/getrange examples.
8398
8399 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8400
8401         * configure.ac:
8402           check for valgrind binary + some fixes
8403         * check/gst.supp:
8404           valgrind suppressions for the tests
8405         * check/Makefile.am:
8406           add a valgrind: target that valgrinds the unit tests
8407         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8408         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8409         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8410         * check/gst/gstghostpad.c:
8411           added some cleanup
8412         * check/gst/gstdata.c:
8413           removed
8414         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8415         (thread_unref), (gst_mini_object_suite), (main):
8416           added
8417         * gst/gst.c: (gst_deinit):
8418         * gst/gst.h:
8419           add a method to clean up.
8420         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8421         (gst_system_clock_obtain):
8422           allow for disposing the system clock.
8423         * tools/gst-launch.c: (main):
8424           deinit
8425
8426 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8427
8428         * docs/gst/tmpl/gstbasesrc.sgml:
8429         * docs/gst/tmpl/gstfakesrc.sgml:
8430         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8431         (gst_base_src_init), (gst_base_src_set_property),
8432         (gst_base_src_get_property), (gst_base_src_get_range),
8433         (gst_base_src_start):
8434         * gst/base/gstbasesrc.h:
8435           add num-buffers property
8436         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8437         (gst_fakesrc_init), (gst_fakesrc_set_property),
8438         (gst_fakesrc_get_property), (gst_fakesrc_create),
8439         (gst_fakesrc_start):
8440           remove num-buffers property
8441
8442 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8443
8444         * docs/gst/gstreamer-sections.txt:
8445         * docs/gst/tmpl/gstbasesink.sgml:
8446         * docs/gst/tmpl/gstbasesrc.sgml:
8447         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8448         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8449         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8450         (gst_base_sink_set_property), (gst_base_sink_get_property),
8451         (gst_base_sink_handle_object), (gst_base_sink_event),
8452         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8453         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8454         (gst_base_sink_loop), (gst_base_sink_deactivate),
8455         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8456         (gst_base_sink_change_state):
8457         * gst/base/gstbasesink.h:
8458         * gst/base/gstbasesrc.h:
8459         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8460         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8461         (gst_filesink_init):
8462           more macro splitting
8463
8464 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8465
8466         * gst/gstelement.c: (gst_element_get_bus):
8467           add debug
8468         * tools/gst-launch.c: (check_intr), (event_loop):
8469           fix bus leaks
8470
8471 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8472
8473         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8474           fix a caps leak
8475
8476 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8477
8478         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8479         (gst_base_src_finalize):
8480           add finalize method and clean up properly
8481         * gst/gstpipeline.c: (gst_pipeline_dispose):
8482           add debug
8483
8484 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8485
8486         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8487         (gst_bin_suite):
8488           add more things to check
8489         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8490         * gst/gstelement.c:
8491           more debug
8492
8493 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8494
8495         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8496         (GST_START_TEST), (fakesrc_suite):
8497         * check/gst-libs/gdp.c: (GST_START_TEST):
8498         * check/gst/gst.c: (GST_START_TEST):
8499         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8500         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8501         * check/gst/gstbus.c: (GST_START_TEST):
8502         * check/gst/gstcaps.c: (GST_START_TEST):
8503         * check/gst/gstdata.c: (GST_START_TEST):
8504         * check/gst/gstelement.c: (GST_START_TEST):
8505         * check/gst/gstghostpad.c: (GST_START_TEST):
8506         * check/gst/gstiterator.c: (GST_START_TEST):
8507         * check/gst/gstmessage.c: (GST_START_TEST):
8508         * check/gst/gstobject.c: (GST_START_TEST):
8509         * check/gst/gstpad.c: (GST_START_TEST):
8510         * check/gst/gststructure.c: (GST_START_TEST):
8511         * check/gst/gstsystemclock.c: (GST_START_TEST),
8512         (gst_systemclock_suite):
8513         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8514         * check/gst/gstvalue.c: (GST_START_TEST):
8515         * check/pipelines/cleanup.c: (GST_START_TEST):
8516         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8517         * check/states/sinks.c: (GST_START_TEST):
8518         * check/gstcheck.c: (gst_check_init):
8519         * check/gstcheck.h:
8520           add debugging category
8521           use GST_START_TEST now, so we add a debug line
8522
8523 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8524
8525         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8526           add test for state change message on a bin
8527         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8528           add another test
8529         * gst/gstbin.c: (gst_bin_init):
8530         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8531         * gst/gstelement.c: (gst_element_post_message),
8532         (gst_element_set_state):
8533         * gst/gstelementfactory.c: (gst_element_factory_create):
8534         * gst/gstmessage.c: (gst_message_new):
8535         * gst/gstscheduler.c:
8536           various debugging additions and cleanups
8537
8538 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8539
8540         * check/Makefile.am:
8541         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8542         (main):
8543           adding tests for elements
8544         * gst/gstelement.c: (gst_element_dispose):
8545
8546 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8547
8548         * gst/registries/gstlibxmlregistry.c: (load_feature):
8549           plug more leaks.  A simple gst_init() now is leakfree, yay.
8550
8551 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8552
8553         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8554         (gst_xml_registry_load):
8555           plug another memleak
8556
8557 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8558
8559         * configure.ac:
8560           use GST_SET_ERROR_CFLAGS
8561         * docs/faq/cvs.xml:
8562           change to ERROR_CFLAGS
8563
8564 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8565
8566         * configure.ac:
8567           make GST_ERROR_CFLAGS overridable and re-enable Werror
8568         * docs/faq/cvs.xml:
8569           add a note about error CFLAGS
8570         * docs/gst/tmpl/gstfakesrc.sgml:
8571         * gst/elements/gstfakesrc.c:
8572           comment out some unused code
8573         * gst/gst.c: (split_and_iterate):
8574         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8575         (load_feature):
8576           plug some memleaks
8577
8578 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8579
8580         * common/Makefile.am:
8581         * common/gtk-doc.mak:
8582         * docs/gst/Makefile.am:
8583           factor out gtk-doc.mak
8584
8585 2005-07-07  Wim Taymans  <wim@fluendo.com>
8586
8587         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8588         (gst_thread_scheduler_dispose):
8589         Unlock the STREAM_LOCK completely.
8590
8591 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * check/Makefile.am:
8594         * check/elements/.cvsignore:
8595         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8596         (START_TEST), (fakesrc_suite), (main):
8597         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8598         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8599         (gst_fakesrc_create), (gst_fakesrc_start):
8600         * gst/elements/gstfakesrc.h:
8601           adding a first element test
8602
8603 2005-07-07  Andy Wingo  <wingo@pobox.com>
8604
8605         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8606         debug message.
8607
8608 2005-07-07  Wim Taymans  <wim@fluendo.com>
8609
8610         * gst/gstquery.c:
8611         * gst/gstquery.h:
8612         Remove old types
8613
8614 2005-07-07  Wim Taymans  <wim@fluendo.com>
8615
8616         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8617         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8618         Allow subclasses to implement their own negotiation.
8619
8620 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8621
8622         * docs/design/part-gstbin.txt:
8623         * docs/design/part-gstpipeline.txt:
8624           Update design notes to reflect the movement of
8625           responsibility for bus handling from GstPipeline to
8626           GstBin
8627
8628 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8629
8630         * configure.ac:
8631           Remove unnecessary queue2/3/4 examples.
8632
8633 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8634
8635         * examples/Makefile.am:
8636         * examples/helloworld/helloworld.c: (event_loop), (main):
8637         * examples/queue/queue.c: (event_loop), (main):
8638         * examples/queue2/queue2.c: (main):
8639           Update a couple of the examples to work again.
8640
8641         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8642         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8643          Spelling corrections and extra debug.
8644         
8645         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8646         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8647         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8648         * gst/gstbin.h:
8649         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8650         (gst_pipeline_change_state):
8651         * gst/gstpipeline.h:
8652           Move the bus handler for children to the GstBin, and create a
8653           separate bus for receiving messages from children to the one the
8654           bus sends 'upwards' on.
8655
8656 2005-07-06  Wim Taymans  <wim@fluendo.com>
8657
8658         * gst/base/README:
8659         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8660         (gst_base_sink_handle_object), (gst_base_sink_loop),
8661         (gst_base_sink_change_state):
8662         * gst/base/gstbasesink.h:
8663         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8664         (gst_base_src_init), (gst_base_src_setcaps),
8665         (gst_base_src_getcaps), (gst_base_src_loop),
8666         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8667         (gst_base_src_start), (gst_base_src_change_state):
8668         * gst/base/gstbasesrc.h:
8669         Make basesrc negotiate.
8670         Handle the case where preroll fails in basesink.
8671         Update README.
8672
8673 2005-07-06  Wim Taymans  <wim@fluendo.com>
8674
8675         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8676         Implement the fixate function.
8677         Clean up acceptcaps.
8678
8679 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8680
8681         * docs/pwg/building-filterfactory.xml:
8682         * docs/pwg/pwg.xml:
8683           Remove never-written filter-factory chapter; I'll add the various
8684           base classes to part 4 ("other element types") later on.
8685
8686 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8687
8688         * docs/pwg/advanced-negotiation.xml:
8689         * docs/pwg/building-boiler.xml:
8690         * docs/pwg/building-pads.xml:
8691         * docs/pwg/pwg.xml:
8692         * examples/pwg/Makefile.am:
8693           Add a chapter on caps negotiation, simplify the original code
8694           samples a bit w.r.t. caps negotiation, add link to the advanced
8695           section. Add a bunch of examples showing different use cases of
8696           different types of caps negotiation. Upstream renegotiation isn't
8697           fully documented yet since nobody knows how that works.
8698
8699 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8700
8701         * check/gst/gstpad.c:
8702         * check/gstcheck.c:
8703         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8704           if pad has no parent, return NULL as list of internal links
8705
8706 2005-07-05  Andy Wingo  <wingo@pobox.com>
8707
8708         * gst/elements/gstfilesrc.c:
8709         * gst/elements/gstfakesrc.c: 
8710         * gst/base/gstpushsrc.c:
8711         * gst/base/gstbasesrc.h: 
8712         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8713         
8714 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8715
8716         * Makefile.am:
8717           better report generation target (lcov needs a patch)
8718
8719 2005-07-05  Andy Wingo  <wingo@pobox.com>
8720
8721         * gst/elements, testsuite: Null if we got it...
8722
8723 2005-07-05  Wim Taymans  <wim@fluendo.com>
8724
8725         * configure.ac:
8726         * libs/gst/dataprotocol/Makefile.am:
8727         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8728         * libs/gst/dataprotocol/dataprotocol.h:
8729         * pkgconfig/Makefile.am:
8730         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8731         * pkgconfig/gstreamer-dataprotocol.pc.in:
8732         Ported dataprotol to 0.9. 
8733         Added pkgconfig files.
8734
8735 2005-07-05  Andy Wingo  <wingo@pobox.com>
8736
8737         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8738         Default to returning TRUE for the case when tranform_caps returns
8739         a fixed caps, like for identity or volume.
8740
8741         * check/gst/gstbus.c (pound_bus_with_messages): 
8742         * check/gst/gstmessage.c (START_TEST): 
8743         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8744         message API change.
8745
8746         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8747         logic weaks here: always run transform_caps, trying passthrough
8748         operation only if the original caps intersects with the transform.
8749
8750         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8751         source and sink caps.
8752
8753         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8754         Intersect the peer caps with the pad template before going into
8755         transform_caps.
8756         (gst_base_transform_transform_caps): More debugging.
8757
8758         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8759         src argument.
8760
8761 2005-07-04  Edward Hervey  <edward@fluendo.com>
8762
8763         * gst/gstutils.c:
8764         * gst/gstutils.h:
8765         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8766         in bindings.
8767
8768 2005-07-04  Andy Wingo  <wingo@pobox.com>
8769
8770         * check/gst/gstpad.c: Only set explicit caps on pads.
8771
8772 2005-07-01  Andy Wingo  <wingo@pobox.com>
8773
8774         * tests/network-clock.scm: Commentary update.
8775
8776         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8777         Didn't really make sense, not implementable with basetransform,
8778         etc.
8779         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8780         attempt at implementing the sync property, needs an unlock method.
8781
8782         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8783         New func, by default returns the same caps (the identity
8784         transformation).
8785         (gst_base_transform_getcaps): Uses transform_caps to return
8786         something sensible.
8787         (gst_base_transform_setcaps): Complicated logic to get caps on
8788         both pads, even if they are different, and to call set_caps once
8789         for every time both pads get their caps set.
8790         (gst_base_transform_handle_buffer): Give the ref to the transform
8791         function. Allows in-place modification of the buffer.
8792
8793         * gst/base/gstbasetransform.h (transform_caps): New class method.
8794         Given caps on one side, what can I do on the other.
8795         (set_caps): Take two caps, one for each side of the element.
8796
8797         * gst/gstpad.h:
8798         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8799         caps in place. This is safe because we can check the mutability of
8800         the caps, and a good idea because fixate functions are just called
8801         as a matter of last resort. (Not actually implemented.)
8802         (gst_pad_set_caps): If the caps we're setting is actually the same
8803         as the existing pad caps, just update the pointer without calling
8804         setcaps. Assert that caps is either NULL or fixed, as per the
8805         docs.
8806
8807         * gst/gstghostpad.c: Update for fixate changes.
8808
8809 2005-07-02  Andy Wingo  <wingo@pobox.com>
8810
8811         * gst/gstcaps.c:
8812         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8813         two refcounts makes it immutable, which is enough. Doc more.
8814
8815 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8816
8817         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8818           Put the mini_object into GValue as a mini_object,
8819           not a gpointer, since that's how we declared
8820           the signal.
8821
8822 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8823
8824         * examples/pwg/Makefile.am:
8825           Fix buildbot again.
8826
8827 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8828
8829         * docs/pwg/building-testapp.xml:
8830           Add extra check.
8831         * examples/pwg/Makefile.am:
8832           Fix buildbot.
8833
8834 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8835
8836         * configure.ac:
8837         * examples/Makefile.am:
8838         * examples/pwg/Makefile.am:
8839         * examples/pwg/extract.pl:
8840           Enable building the PWG examples.
8841         * docs/pwg/advanced-interfaces.xml:
8842           Add URI interface stub.
8843         * docs/pwg/advanced-types.xml:
8844         * docs/pwg/other-autoplugger.xml:
8845         * docs/pwg/appendix-porting.xml:
8846         * docs/pwg/pwg.xml:
8847           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8848         * docs/pwg/building-boiler.xml:
8849         * docs/pwg/building-chainfn.xml:
8850         * docs/pwg/building-pads.xml:
8851         * docs/pwg/building-props.xml:
8852         * docs/pwg/building-state.xml:
8853         * docs/pwg/building-testapp.xml:
8854           Update the building-*.xml parts for 0.9 changes. All examples
8855           code blocks compile in examples/pwg/*.
8856
8857 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8858
8859         * docs/manual/advanced-autoplugging.xml:
8860         * docs/manual/appendix-checklist.xml:
8861         * docs/manual/appendix-integration.xml:
8862         * docs/manual/highlevel-components.xml:
8863           Fix playbin/decodebin examples, update docs a bit, mention bus
8864           instead of signals in various places, mention kmplayer and
8865           kaffeine since they have a working GStreamer backend in the KDE
8866           section.
8867
8868 2005-06-30  Wim Taymans  <wim@fluendo.com>
8869
8870         * CHANGES-0.9:
8871         * docs/design/draft-ghostpads.txt:
8872         * docs/design/draft-push-pull.txt:
8873         * docs/design/draft-query.txt:
8874         * docs/design/part-TODO.txt:
8875         * docs/design/part-query.txt:
8876         Added CHANGES-0.9 doc, updated status of other docs.
8877         
8878         * gst/gstquery.h:
8879         Remove "hmm" macro
8880
8881 2005-06-30  Wim Taymans  <wim@fluendo.com>
8882
8883         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8884         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8885         (gst_base_sink_change_state):
8886         * gst/base/gstbasesink.h:
8887         Some tweaks, only EOS and a buffer complete a preroll.
8888
8889 2005-06-30  Andy Wingo  <wingo@pobox.com>
8890
8891         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8892         activate_push down to the internal pad as well.
8893
8894 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8895
8896         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8897
8898         * gst/gsttaginterface.c:
8899           Some documentation fixes (#307394 and #307397).
8900
8901 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8902
8903         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8904
8905         * gst/gstvalue.c: (gst_value_intersect_list):
8906           Fix memleak (#309125).
8907
8908 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8909
8910         * docs/manual/advanced-dataaccess.xml:
8911           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8912         * docs/manual/basics-pads.xml:
8913           Add reference for filtered caps to above chapter.
8914
8915 2005-06-30  Wim Taymans  <wim@fluendo.com>
8916
8917         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8918         (gst_bin_change_state):
8919         Probes are gone.
8920         Lame attempt at making the state change function a bit
8921         more readable.
8922
8923 2005-06-30  Wim Taymans  <wim@fluendo.com>
8924
8925         * docs/design/part-clocks.txt:
8926         * docs/design/part-element-sink.txt:
8927         * docs/design/part-events.txt:
8928         * docs/design/part-preroll.txt:
8929         * docs/design/part-states.txt:
8930         Some more tweeks and additions to the docs.
8931
8932 2005-06-30  Wim Taymans  <wim@fluendo.com>
8933
8934         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8935         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8936         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8937         (gst_pad_check_pull_range), (gst_pad_get_range),
8938         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8939         * gst/gstpad.h:
8940         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8941         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8942         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8943         (gst_pad_remove_buffer_probe):
8944         Removed atomic operations, use existing LOCK.
8945         Move exception handling out of main code path.
8946
8947 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8948
8949         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8950         (silly_return_true_function), (gst_pad_class_init),
8951         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8952         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8953         (gst_pad_send_event):
8954           Fix accumulator, add default value by using _emitv() instead
8955           of _emit() for signal emission.
8956
8957 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8958
8959         * docs/manual/advanced-dataaccess.xml:
8960         * examples/manual/Makefile.am:
8961           Add probe example.
8962         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8963           Make work (??).
8964
8965 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8966
8967         * gst/elements/gstfilesink.c: (gst_filesink_render):
8968           Simplify code so that we don't have to handle short
8969           writes and return GST_FLOW_ERROR if an error occured.
8970
8971 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8972
8973         * docs/gst/gstreamer-docs.sgml:
8974           Remove probes more.
8975
8976 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8977
8978         * docs/gst/gstreamer-sections.txt:
8979         * docs/gst/tmpl/gstpad.sgml:
8980         * docs/gst/tmpl/gstprobe.sgml:
8981         * gst/Makefile.am:
8982         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8983         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8984         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8985         (gst_pad_push_event), (gst_pad_send_event):
8986         * gst/gstpad.h:
8987         * gst/gstutils.c: (gst_pad_add_data_probe),
8988         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8989         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8990         (gst_pad_remove_buffer_probe):
8991         * gst/gstutils.h:
8992           Remove old probes, add new g-signal-based probes and some utility
8993           functions.
8994
8995 2005-06-29  Edward Hervey  <edward@fluendo.com>
8996
8997         * gst/gstelementfactory.c:
8998         * gst/gstutils.h:
8999         * gst/gstutils.c:
9000         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9001         the definition to the header file.
9002
9003 2005-06-29  Andy Wingo  <wingo@pobox.com>
9004
9005         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9006         plugins from the source directory.
9007
9008 2005-06-29  Wim Taymans  <wim@fluendo.com>
9009
9010         * docs/gst/tmpl/gstbuffer.sgml:
9011         * docs/gst/tmpl/gstclock.sgml:
9012         Some fixings for blantently wrong text.
9013
9014 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9015
9016         * check/Makefile.am:
9017         * gst/gst.c: (add_path_func), (init_pre):
9018         * gst/gstregistry.c: (gst_registry_add_path):
9019           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9020           only scan the GST_PLUGIN_PATH locations, and not add
9021           system locations
9022
9023 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9024
9025         * docs/gst/gstreamer-sections.txt:
9026         * docs/gst/tmpl/gstbasesrc.sgml:
9027         * gst/gstelement.c:
9028         * gst/gstelement.h:
9029         * gst/gstevent.c:
9030         * gst/gstutils.c:
9031           doc fixes
9032
9033 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9034
9035         * docs/manual/advanced-autoplugging.xml:
9036           Fix autoplugging example.
9037
9038 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9039
9040         * docs/manual/advanced-autoplugging.xml:
9041         * docs/manual/mime-world.fig:
9042           Try to get autoplugging working, fix type detection. Fix text
9043           in hello-world image.
9044
9045 2005-06-29  Wim Taymans  <wim@fluendo.com>
9046
9047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9048         (gst_base_sink_change_state):
9049         Small debug line.
9050
9051         * gst/gstclock.h:
9052         map SIGNAL and BROADCAST to the right function.
9053
9054         * gst/gstobject.h:
9055         Remove redundant braces.
9056
9057         * gst/gstpad.c: (gst_pad_set_caps):
9058         Don't call setcaps function when reseting caps to NULL.
9059
9060         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9061         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9062         (gst_system_clock_id_unschedule):
9063         Use BROADCAST as this is what we do.
9064
9065 2005-06-29  Wim Taymans  <wim@fluendo.com>
9066
9067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9068         We are actually prerolling before commiting the state
9069         change. 
9070
9071 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9072
9073         * docs/manual/advanced-clocks.xml:
9074         * docs/manual/advanced-interfaces.xml:
9075         * docs/manual/advanced-metadata.xml:
9076         * docs/manual/advanced-position.xml:
9077         * docs/manual/advanced-schedulers.xml:
9078         * docs/manual/advanced-threads.xml:
9079         * docs/manual/appendix-porting.xml:
9080         * docs/manual/basics-bins.xml:
9081         * docs/manual/basics-bus.xml:
9082         * docs/manual/basics-elements.xml:
9083         * docs/manual/basics-helloworld.xml:
9084         * docs/manual/basics-pads.xml:
9085         * docs/manual/highlevel-components.xml:
9086         * docs/manual/manual.xml:
9087         * docs/manual/thread.fig:
9088           Update (until threads/scheduling) Application Development Manual;
9089           remove GstThread, add GstBus, add simple porting checklist, add
9090           documentation for tag writing, clocks, make all examples until this
9091           part compile and run.
9092         * examples/manual/Makefile.am:
9093           Update from changes to Application Development Manual; add bus
9094           example, remove thread example.
9095
9096 2005-06-28  Wim Taymans  <wim@fluendo.com>
9097
9098         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9099         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9100         (gst_bus_source_dispatch):
9101         Add debugging messages.
9102         Make internal methods static.
9103         Handle the case where the bus is flushed in the handler.
9104         
9105         * gst/gstelement.c: (gst_element_get_bus):
9106         Fix refcount in _get_bus();
9107
9108         * gst/gstpipeline.c: (gst_pipeline_change_state),
9109         (gst_pipeline_get_clock_func):
9110         Clock refcounting fixes.
9111         Handle the case where preroll timed out more gracefully.
9112         
9113         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9114         Clean up the internal thread in dispose. This is needed
9115         for subclasses that actually get disposed.
9116         
9117         * gst/schedulers/threadscheduler.c:
9118         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9119         (gst_thread_scheduler_dispose):
9120         Free thread pool in dispose.
9121
9122 2005-06-28  Andy Wingo  <wingo@pobox.com>
9123
9124         * tests/network-clock-utils.scm (debug, print-event): New utils.
9125
9126         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9127         (*packet-loss*): Unified loss probability.
9128         (network-time): Report out-of-band events.
9129
9130         * tests/plot-data: Add support for out-of-band events. Hack it
9131         into this script instead of passing it down the pipe; should fix
9132         this later.
9133
9134 2005-06-28  Wim Taymans  <wim@fluendo.com>
9135
9136         * docs/gst/gstreamer.types:
9137         * docs/gst/tmpl/gstbasesrc.sgml:
9138         * docs/gst/tmpl/gstpad.sgml:
9139         Docs fixes.
9140
9141 2005-06-28  Wim Taymans  <wim@fluendo.com>
9142
9143         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9144         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9145         (gst_proxy_pad_do_fixatecaps):
9146         Correctly proxy the check_pull_range function.
9147
9148 2005-06-28  Andy Wingo  <wingo@pobox.com>
9149
9150         * tests/network-clock.scm: Removed need for slib.
9151         
9152 2005-06-28  Wim Taymans  <wim@fluendo.com>
9153
9154         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9155         (gst_basesink_preroll_queue_flush):
9156         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9157         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9158         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9159         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9160         (gst_proxy_pad_set_property):
9161         * gst/gstpad.c:
9162         * gst/gstpad.h:
9163         * gst/gstqueue.c: (gst_queue_init):
9164         The deprecated pad loop function is removed now.
9165
9166 2005-06-28  Andy Wingo  <wingo@pobox.com>
9167
9168         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9169         New parameters, simulate network packet loss.
9170
9171         * tests/network-clock-utils.scm: Initialize the RNG.
9172
9173 2005-06-28  Wim Taymans  <wim@fluendo.com>
9174
9175         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9176         (gst_basesink_event), (gst_basesink_deactivate):
9177         Flushing the preroll queue always needs to unlock the waiters.
9178
9179 2005-06-28  Edward Hervey  <edward@fluendo.com>
9180
9181         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9182         Wheen a seek was successful on a pipeline, set the stream_time to the
9183         seek offset in order to have a synchronized stream_time.
9184
9185 2005-06-28  Wim Taymans  <wim@fluendo.com>
9186
9187         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9188         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9189         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9190         (gst_proxy_pad_do_fixatecaps):
9191         Call wrapper function instead of just calling the function
9192         pointers. This takes care of any locking and whatmore.
9193
9194 2005-06-28  Wim Taymans  <wim@fluendo.com>
9195
9196         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9197         (gst_pad_pull_range):
9198         * gst/gstpad.h:
9199         CONNECTED -> LINKED.
9200
9201 2005-06-28  Andy Wingo  <wingo@pobox.com>
9202
9203         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9204         source-munging commit!!!
9205
9206         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9207         (gst_object_sink): Take gpointer arguments, not GstObject --
9208         avoids casts. Like GLib.
9209
9210         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9211         activate.
9212
9213 2005-06-27  Andy Wingo  <wingo@pobox.com>
9214
9215         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9216         remaining buffer.
9217
9218         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9219         returns a sorted copy of the trace list.
9220         (gst_alloc_trace_print_live): New API, only prints traces with
9221         live objects. Sort the list.
9222         (gst_alloc_trace_print_all): Sort the list.
9223         (gst_alloc_trace_print): Align columns.
9224
9225         * gst/elements/gstttypefindelement.c:
9226         * gst/elements/gsttee.c:
9227         * gst/base/gstbasesrc.c:
9228         * gst/base/gstbasesink.c:
9229         * gst/base/gstbasetransform.c:
9230         * gst/gstqueue.c: Adapt for pad activation changes.
9231
9232         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9233         sched.
9234         (gst_pipeline_dispose): Drop ref on sched.
9235
9236         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9237         (gst_pad_activate_default): Push mode by default.
9238         (pre_activate_switch, post_activate_switch): New stubs, things to
9239         do before and after switching activation modes on pads.
9240         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9241         the pad's activate function to choose which mode to activate.
9242         Shortcut on deactivation and call the right function directly.
9243         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9244         mode.
9245         (gst_pad_activate_push): New API, same for push mode.
9246         (gst_pad_set_activate_function) 
9247         (gst_pad_set_activatepull_function) 
9248         (gst_pad_set_activatepush_function): Setters for new API.
9249
9250         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9251         Trace all miniobjects.
9252         (gst_mini_object_make_writable): Unref the arg if we copy, like
9253         gst_caps_make_writable.
9254
9255         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9256
9257         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9258         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9259         Adapt for new pad API.
9260
9261         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9262
9263         * gst/gstelement.h:
9264         * gst/gstelement.c (gst_element_iterate_src_pads) 
9265         (gst_element_iterate_sink_pads): New API functions.
9266         
9267         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9268         should fold into gstiterator.c in some form.
9269         (gst_element_pads_activate): Simplified via use of fold and
9270         delegation of decisions to gstpad->activate.
9271
9272         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9273         help in debugging.
9274
9275         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9276         class once in init, like gstmessage. Didn't run into this issue
9277         but it seems correct. Don't initialize a trace, gstminiobject does
9278         that.
9279
9280         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9281         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9282         to the bus.
9283         (assert_live_count): New util function, uses alloc traces to check
9284         cleanup.
9285
9286         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9287         To be modified when unlink drops the internal pad.
9288
9289 2005-06-27  Wim Taymans  <wim@fluendo.com>
9290
9291         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9292         (gst_bin_change_state):
9293         Cleanup the get_state() function a little, make sure it
9294         iterates the same set of elements.
9295         Added stub iterate_state_order().
9296
9297 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9298
9299         * docs/gst/gstreamer-docs.sgml:
9300         * docs/gst/gstreamer-sections.txt:
9301         * docs/gst/gstreamer.types:
9302         * docs/gst/tmpl/gstbasesink.sgml:
9303         * docs/gst/tmpl/gstbasesrc.sgml:
9304         * docs/gst/tmpl/gstbasetransform.sgml:
9305         * docs/gst/tmpl/gstelement.sgml:
9306         * docs/gst/tmpl/gstiterator.sgml:
9307         * gst/base/gstbasesrc.c:
9308         * gst/base/gstbasesrc.h:
9309         * gst/base/gstbasetransform.h:
9310         * gst/gstelement.c:
9311         * gst/gstiterator.h:
9312           adding basetransform and iterator docs
9313
9314 2005-06-27  Andy Wingo  <wingo@pobox.com>
9315
9316         * docs/design/part-activation.txt: Notes on how activation should
9317         work -- not quite implemented yet.
9318
9319 2005-06-25  Wim Taymans  <wim@fluendo.com>
9320
9321         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9322         At least get the chain function correct, needs more
9323         fixing.
9324
9325 2005-06-25  Wim Taymans  <wim@fluendo.com>
9326
9327         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9328         (gst_basesink_handle_object), (gst_basesink_event),
9329         (gst_basesink_do_sync), (gst_basesink_handle_event),
9330         (gst_basesink_change_state):
9331         * gst/gsttask.h:
9332         Right, two problems here: ghostpads don't take locks and
9333         glib _rec_mutex_lock_full() with depth==0 still locks.
9334         Catch illegal locking and g_warn them.
9335
9336 2005-06-25  Wim Taymans  <wim@fluendo.com>
9337
9338         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9339         Have to check for completion now...
9340
9341 2005-06-25  Wim Taymans  <wim@fluendo.com>
9342
9343         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9344         (gst_basesink_handle_object), (gst_basesink_event),
9345         (gst_basesink_do_sync), (gst_basesink_handle_event),
9346         (gst_basesink_change_state):
9347         * gst/gstpad.h:
9348         Unlock STREAM_LOCK whatever the recursion was.
9349
9350 2005-06-25  Wim Taymans  <wim@fluendo.com>
9351
9352         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9353         (gst_basesink_preroll_queue_empty),
9354         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9355         (gst_basesink_event), (gst_basesink_do_sync),
9356         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9357         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9358         (gst_basesink_change_state):
9359         Reworked the base sink, handle event and buffer serialisation
9360         correctly and removed possible deadlock.
9361         Handle EOS correctly.
9362
9363 2005-06-25  Wim Taymans  <wim@fluendo.com>
9364
9365         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9366         (gst_pipeline_change_state):
9367         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9368         Allow elements to post EOS in the state change function.
9369         Fix up -launch, make it exit the poll loop when the
9370         pipeline actually changed state.
9371         Fix up warning parsing in -launch.
9372
9373 2005-06-25  Wim Taymans  <wim@fluendo.com>
9374
9375         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9376         (gst_tee_sink_activate):
9377         Core takes STREAM_LOCK for us now.
9378
9379 2005-06-25  Wim Taymans  <wim@fluendo.com>
9380
9381         * gst/gstelement.c: (gst_element_get_state_func),
9382         (gst_element_set_state):
9383         * gst/gstelement.h:
9384         * gst/gstmessage.c: (gst_message_parse_error),
9385         (gst_message_parse_warning):
9386         Keep track of current target state while performing a state
9387         change so that subclasses can do something interesting.
9388         Fix parsing of warning/error messages when GError is NULL.
9389
9390 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9391
9392         * docs/gst/Makefile.am:
9393         * docs/gst/gstreamer-docs.sgml:
9394         * docs/gst/gstreamer-sections.txt:
9395         * docs/gst/gstreamer.types:
9396         * docs/gst/tmpl/gstbasesink.sgml:
9397         * docs/gst/tmpl/gstbasesrc.sgml:
9398         * docs/gst/tmpl/gstbin.sgml:
9399         * docs/gst/tmpl/gstcompat.sgml:
9400         * docs/gst/tmpl/gstfakesink.sgml:
9401         * docs/gst/tmpl/gstfakesrc.sgml:
9402         * docs/gst/tmpl/gstfilesink.sgml:
9403         * docs/gst/tmpl/gstfilesrc.sgml:
9404         * docs/gst/tmpl/gstindex.sgml:
9405         * docs/manual/appendix-quotes.xml:
9406         * gst/base/gstbasesrc.h:
9407         * gst/elements/gstfakesrc.h:
9408         * gst/gstmessage.h:
9409           start pulling in base classes and elements in our docs
9410
9411 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9412
9413         * docs/gst/Makefile.am:
9414         * docs/libs/Makefile.am:
9415           fixed make distcheck with gtk-doc 1.3
9416
9417 2005-06-23  Wim Taymans  <wim@fluendo.com>
9418
9419         * gst/gstelement.c: (gst_element_get_state_func),
9420         (gst_element_set_state), (gst_element_change_state):
9421         When the state did not change, also report NO_PREROLL
9422         when it matters.
9423
9424 2005-06-23  Wim Taymans  <wim@fluendo.com>
9425
9426         * gst/gstpad.c: (gst_pad_event_default):
9427         * gst/gstqueue.c: (gst_queue_loop):
9428         No unsafe task pausing please.
9429
9430 2005-06-23  Wim Taymans  <wim@fluendo.com>
9431
9432         * gst/schedulers/threadscheduler.c:
9433         (gst_thread_scheduler_task_start),
9434         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9435         Ref the task before pushing it on the threadpool. This
9436         makes sure that we have a ref when the threadfunction is
9437         actually called.
9438
9439 2005-06-23  Andy Wingo  <wingo@pobox.com>
9440
9441         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9442         offset is greater than the file's size.
9443
9444         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9445         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9446         * gst/gstobject.c (gst_object_class_init): Make the class lock
9447         recursive. Wim won't let me drop deep_notify. Decodebin works
9448         again, whoopdy doo.
9449
9450         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9451         internal pad, and hacks accordingly. Doesn't do it on the target
9452         pad because we change its caps. Probably catches all cases of
9453         interest tho.
9454         (gst_ghost_pad_set_property): Connect to notify::caps as
9455         appropritate.
9456
9457         * tests/network-clock.scm (plot-simulation): Pipe data to the
9458         elite python skript.
9459
9460         * tests/network-clock-utils.scm (define-parameter): New macro,
9461         defines a parameter that can be set via the command line.
9462         (set-parameter!, parse-parameter-arguments): Command line args
9463         parser.
9464
9465         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9466         stdin.
9467
9468 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9469
9470         * gst/elements/gsttypefindelement.c:
9471         (gst_type_find_element_handle_event):
9472           Don't restart typefinding on a discont.
9473         * gst/gstelement.c: (gst_element_set_state):
9474           Debug spelling fix.
9475         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9476           Allow changing mode of an active pad.
9477           Debug output fixes.
9478         * gst/registries/gstlibxmlregistry.c: (load_feature):
9479           Don't cast a static pad template to a normal pad template.
9480
9481 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9484         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9485           remove gst_strtoll completely, since it didn't actually do
9486           anything more than what g_ascii_strtoull already does.
9487           check for range errors when deserializing
9488           do a cast for the unsigned cases; but further fixing needs
9489           a decision on what the interpretation of "(int)" and
9490           deserialization should be for values that fall outside the
9491           type's boundaries (ie, refuse, or interpret as casting)
9492
9493 2005-06-23  Wim Taymans  <wim@fluendo.com>
9494
9495         * check/Makefile.am:
9496         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9497         * docs/design/part-live-source.txt:
9498         * docs/design/part-states.txt:
9499         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9500         (gst_basesrc_set_live), (gst_basesrc_is_live),
9501         (gst_basesrc_get_range), (gst_basesrc_activate),
9502         (gst_basesrc_change_state):
9503         * gst/base/gstbasesrc.h:
9504         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9505         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9506         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9507         * gst/gstelement.c: (gst_element_get_state_func),
9508         (gst_element_set_state):
9509         * gst/gstelement.h:
9510         * gst/gsttypes.h:
9511         * tools/gst-launch.c: (event_loop), (main):
9512         Added support for live sources and other elements that
9513         cannot do preroll.
9514         Updated design docs, added live-source design doc.
9515         Implemented live source functionality in basesrc
9516         Fix error condition in _bin_get_state()
9517         Implement live source handling in -launch.
9518         Added check for live sources.
9519         Fixed case in GstBin where elements were changed state
9520         multiple times.
9521
9522
9523 2005-06-23  Andy Wingo  <wingo@pobox.com>
9524
9525         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9526         borken refcounting.
9527
9528         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9529         gst_caps_replace takes care of this for us.
9530
9531         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9532         gst_pad_set_caps on the target, not just its setcaps() function.
9533
9534         * tests/network-clock.scm: 
9535         * tests/network-clock-utils.scm: A network clock simulator.
9536         Something of an algorithmic testbed before doing something in C.
9537
9538 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9539
9540         * check/Makefile.am:
9541         * check/gst/capslist.h:
9542           copy over from 0.8, and add two with bitmasks specified with
9543           (int) 0xFF...
9544         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9545           add test to parse everything from capslist.h
9546         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9547         (main):
9548           add test for structure deserialization
9549         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9550           add tests for deserialization of strings to int types
9551         * gst/gststructure.c: (gst_structure_nth_field_name):
9552         * gst/gststructure.h:
9553           add a way to get the name of a field referenced by index
9554         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9555           instead of checking if the resulting long long lies between
9556           min and max, we check if the long long would fit into
9557           a number of bytes for the final type.
9558           This fixes cases where a string represents 2^32 - 1, which
9559           when cast to int would be the (valid) -1, but is bigger than
9560           G_MAXINT
9561
9562 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9563
9564         * gst/parse/grammar.y:
9565           add a log line for type deserialization
9566
9567 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9568
9569         * check/gst/gstvalue.c: (START_TEST):
9570         * gst/gstvalue.c: (gst_value_deserialize):
9571           return long long, not int, so gint64 deserialization actually
9572           works.  Is there any flag that makes the compiler check this ?
9573           Fixes #308559
9574
9575 2005-06-22  Wim Taymans  <wim@fluendo.com>
9576
9577         * gst/gstbuffer.h:
9578         Added convenience macros for setting buffers in GValue.
9579
9580 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9581
9582         * check/gst/.cvsignore:
9583         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9584           add a test deserializing int64, and comment part out because
9585           it fails, yay !
9586
9587 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9588
9589         * check/Makefile.am:
9590         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9591         * testsuite/Makefile.am:
9592         * testsuite/caps/Makefile.am:
9593         * testsuite/caps/value_serialize.c:
9594         * testsuite/test_gst_init.c:
9595           move a value_serialize test over
9596
9597 2005-06-20  Wim Taymans  <wim@fluendo.com>
9598
9599         * gst/gstpad.c:
9600         Small doc updates.
9601         
9602         * gst/gstvalue.c: (gst_value_compare_buffer),
9603         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9604         (gst_value_compare_flags), (gst_value_serialize_flags),
9605         (gst_value_deserialize_flags), (_gst_value_initialize):
9606         Fix serialisation of buffers, they are not boxed types anymore
9607
9608 2005-06-20  Wim Taymans  <wim@fluendo.com>
9609
9610         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9611         Testcase to show error in buffer-on-caps serialisation.
9612
9613 2005-06-20  Andy Wingo  <wingo@pobox.com>
9614
9615         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9616         will be adding to later.
9617
9618         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9619         if its socks fill with rocks.
9620         (gst_system_clock_obtain): Set the name on object construction.
9621         Avoid double-checked locking.
9622
9623 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9624
9625         * gst/gsturi.c: (gst_element_make_from_uri):
9626           Fix potential endless loop.
9627
9628 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9629
9630         * check/Makefile.am:
9631           add gsttag
9632         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9633         (main):
9634           move over from testsuite dir and clean up
9635         * configure.ac:
9636         * gst/gsttag.c:
9637         * testsuite/Makefile.am:
9638         * testsuite/tags/.cvsignore:
9639         * testsuite/tags/Makefile.am:
9640         * testsuite/tags/merge.c:
9641           remove testsuite/tags
9642
9643 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9644
9645         * docs/gst/gstreamer-sections.txt:
9646         * docs/gst/tmpl/gstenumtypes.sgml:
9647         * win32/gstenumtypes.c:
9648           clean up documentation build a little
9649
9650 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9651
9652         * check/gstcheck.h:
9653           add macros for checking refcounts on objects and caps
9654         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9655           add some more unit tests
9656         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9657         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9658           fix leaked refcounts (I hope :)) so unittest works
9659         * gst/gstpad.h:
9660           whitespace removal
9661
9662 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9663
9664         * configure.ac: back to HEAD
9665
9666 === release 0.9.1 ===
9667
9668 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9669
9670         * NEWS:
9671         * RELEASE:
9672           updated
9673
9674 2005-06-17  Andy Wingo  <wingo@pobox.com>
9675
9676         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9677         assert; it's always possible that the pad gets deactivated in
9678         between the checks in gstpad.c and the implementation. Rely on
9679         finish_preroll() to return a FLUSHING or similar instead of on the
9680         assert.
9681         
9682         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9683         clock and post an EOS message if we come out of finish_preroll in
9684         the playing state.
9685
9686 2005-06-16  David Schleef  <ds@schleef.org>
9687
9688         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9689         (gst_capsfilter_set_property): Allow NULL as possible value
9690         for filter_caps property, indicating GST_CAPS_ANY.
9691
9692 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9693
9694         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9695           fix debug output
9696         * gst/schedulers/Makefile.am:
9697           use libgst prefix
9698         * gstreamer.spec.in:
9699           fix spec for it
9700
9701 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * gstreamer.spec.in:
9704           clean up
9705
9706 2005-06-08  Andy Wingo  <wingo@pobox.com>
9707
9708         * gst/gstutils.c: RPAD fixes all around.
9709         (gst_element_link_pads): Refcounting fixes.
9710
9711         * tools/gst-inspect.c:
9712         * tools/gst-xmlinspect.c:
9713         * parse/grammar.y:
9714         * gst/base/gsttypefindhelper.c:
9715         * gst/base/gstbasesink.c:
9716         * gst/gstqueue.c: RPAD fixes.
9717
9718         * gst/gstghostpad.h:
9719         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9720         pads. The tricky thing is they provide both source and sink
9721         interfaces, since they proxy the internal pad for the external
9722         pad, and vice versa. Implement with lower-level ProxyPad objects,
9723         with the interior proxy pad as a child of the exterior ghost pad.
9724         Should write a doc on this.
9725         
9726         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9727         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9728         gst_object API.
9729         
9730         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9731         pads are real pads. No ghost pads in this file. Not documenting
9732         the myriad s/RPAD/PAD/ and REALIZE fixes.
9733         (gst_pad_class_init): Add properties for "direction" and
9734         "template". Both are construct-only, so they can't change during
9735         the life of the pad. Fixes properly deriving from GstPad.
9736         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9737         derived objects, just set properties when creating the objects via
9738         g_object_new.
9739         (gst_pad_get_parent): Implement as a function, return NULL if the
9740         parent is not an element.
9741         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9742         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9743         
9744         * gst/gstobject.c (gst_object_class_init): Make name a construct
9745         property. Don't set it in the object init.
9746
9747         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9748         with UNKNOWN direction.
9749         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9750         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9751         (gst_element_remove_pad): Remove ghost-pad special cases.
9752         (gst_element_pads_activate): Remove rpad cruft.
9753
9754         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9755         catch the pad's-parent-not-an-element case.
9756
9757         * gst/gst.h: Include gstghostpad.h.
9758
9759         * gst/gst.c (init_post): No more real, ghost pads.
9760
9761         * gst/Makefile.am: Add gstghostpad.[ch].
9762
9763         * check/Makefile.am:
9764         * check/gst/gstbin.c:
9765         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9766         into a bin creates ghost pads, and that the refcounts are right.
9767         Partly moved from gstbin.c.
9768
9769 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9770
9771         * check/gst-libs/.cvsignore:
9772         * check/gst/.cvsignore:
9773         * check/pipelines/.cvsignore:
9774           ignore more
9775         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9776         (START_TEST), (cleanup_suite), (main):
9777           add some tests related to cleanup after running pipelines
9778
9779 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9780
9781         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9782           add a testsuite for GstBuffer
9783
9784 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9785
9786         * gst/gstminiobject.h:
9787           add defines for accessing the refcount
9788
9789 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9790
9791         * Makefile.am: added support for html unit test coverage reports
9792
9793 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9794
9795         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9796           Free existing caps if the capsfilter changes. Add a FIXME about
9797           setting those caps on the pads.
9798
9799         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9800           Before adding a ghost pad to a parent bin, check that there isn't
9801           already one for the element on the bin. Prevents infinite recursion
9802           when using decodebin in parse pipelines. Andy says he'll rewrite the
9803           way this works anyway, so ignore the hack.
9804
9805 2005-06-02  Andy Wingo  <wingo@pobox.com>
9806
9807         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9808         file size, pass it on to the type find helper.
9809
9810         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9811         segment_start and segment_end properly according to the seek
9812         method. Segment_end is still a bit flaky because offset can be
9813         negative for CUR and END cases, but it takes -1 as an "unset"
9814         value.
9815
9816 2005-06-02  Wim Taymans  <wim@fluendo.com>
9817
9818         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9819         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9820         (gst_basesink_activate):
9821         * gst/base/gstbasesink.h:
9822         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9823         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9824         (gst_pad_query), (gst_pad_start_task):
9825         * gst/gstpad.h:
9826         * gst/gstqueue.c: (gst_queue_bufferalloc),
9827         (gst_queue_handle_sink_event), (gst_queue_chain):
9828         Bufferalloc: return GstFlowReturn to more accuratly report
9829         why allocation failed.
9830
9831 2005-06-02  Wim Taymans  <wim@fluendo.com>
9832
9833         * gst/gstpipeline.c: (gst_pipeline_send_event):
9834         Take snapshot of state without blocking.
9835
9836 2005-06-02  Wim Taymans  <wim@fluendo.com>
9837
9838         * docs/design/part-TODO.txt:
9839         * docs/design/part-caps.txt:
9840         * docs/design/part-clocks.txt:
9841         * docs/design/part-negotiation.txt:
9842         * docs/design/part-preroll.txt:
9843         Small doc updates 
9844
9845 2005-05-30  Wim Taymans  <wim@fluendo.com>
9846
9847         * gst/elements/gstidentity.c: (gst_identity_event),
9848         (gst_identity_transform), (gst_identity_get_property):
9849         Protect last_message property as it is accessed from
9850         multiple threads.
9851
9852 2005-05-30  Wim Taymans  <wim@fluendo.com>
9853
9854         * gst/gstelement.c: (gst_element_init),
9855         (gst_element_pads_activate), (gst_element_change_state):
9856         Slicker pad activation code.
9857
9858 2005-05-30  Wim Taymans  <wim@fluendo.com>
9859
9860         * gst/Makefile.am:
9861         * gst/gstelement.h:
9862         * gst/gstelementfactory.h:
9863         * gst/gsttypes.h:
9864         Move elementfactory methods to separate .h file.
9865
9866 2005-05-30  Wim Taymans  <wim@fluendo.com>
9867
9868         * docs/design/part-overview.txt:
9869         * gst/gstsystemclock.h:
9870         Small typo fixes, doc updates.
9871
9872 2005-05-30  Wim Taymans  <wim@fluendo.com>
9873
9874         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9875         (init_popt_callback):
9876         Remove cpu-opt flag.
9877
9878 2005-05-30  Wim Taymans  <wim@fluendo.com>
9879
9880         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9881         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9882         * gst/gstbuffer.h:
9883         Avoid typechecking in places where not needed.
9884         Added accessor for malloc_data.
9885
9886 2005-05-30  Wim Taymans  <wim@fluendo.com>
9887
9888         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9889         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9890         (gst_pad_configure_sink), (gst_pad_configure_src),
9891         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9892         (gst_pad_start_task):
9893         Propagate errors from _set_caps() in configure_src/sink
9894         functions instead of returning TRUE.
9895         FLUSH events can travel up and downstream
9896
9897
9898 2005-05-30  Wim Taymans  <wim@fluendo.com>
9899
9900         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9901         (gst_basesink_activate):
9902         Handle EOS in preroll.
9903
9904 2005-05-30  Wim Taymans  <wim@fluendo.com>
9905
9906         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9907         (gst_queue_loop), (gst_queue_handle_src_event):
9908         Remove old pieces of code
9909         Flushing the queue in an upstream event is a very bad idea.
9910
9911 2005-05-26  Andy Wingo  <wingo@pobox.com>
9912
9913         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9914         gst_value_set_mini_object so as to add a ref on the object (which
9915         will be removed when the value is unset).
9916
9917         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9918         arg type in ::handoff.
9919
9920         * gst/gstelement.c (gst_element_change_state): Also deactivate
9921         pads in READY->NULL, just in case the element didn't make it to
9922         PAUSED. Wingo tested, Wim approved.
9923
9924 2005-05-26  Wim Taymans  <wim@fluendo.com>
9925
9926         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9927         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9928         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9929         A flushing pad cannot be used to alloc_buffer from.
9930
9931 2005-05-26  Wim Taymans  <wim@fluendo.com>
9932
9933         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9934         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9935         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9936         (gst_bus_create_watch), (gst_bus_add_watch_full):
9937         * gst/gstbus.h:
9938         Implement a real GSource and use g_main_context_wakeup() to
9939         signal new messages instead of the socketpair.
9940
9941 2005-05-25  Wim Taymans  <wim@fluendo.com>
9942
9943         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9944         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9945         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9946         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9947         (gst_pad_send_event), (gst_pad_start_task):
9948         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9949         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9950         (gst_queue_sink_activate), (gst_queue_src_activate),
9951         (gst_queue_change_state):
9952         * gst/gstqueue.h:
9953         Fix state changes for non sinks. We now change sinks, then elements
9954         with unconnected srcpads, then the rest.
9955         More efficient queue unlocking in flush and state changes.
9956         Set the pad activate mode even if it does not have an activate
9957         function.
9958
9959 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9960
9961         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9962           Don't go in pull mode for non-seekable sources.
9963         * gst/elements/gsttypefindelement.h:
9964         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9965         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9966         (free_entry), (stop_typefinding),
9967         (gst_type_find_element_handle_event), (find_peek),
9968         (gst_type_find_element_chain), (do_pull_typefind),
9969         (gst_type_find_element_change_state):
9970           Allow typefinding (w/o seeking) in push-mode, simplified version
9971           of what was in 0.8.
9972         * gst/gstutils.c: (gst_buffer_join):
9973         * gst/gstutils.h:
9974           gst_buffer_join() from 0.8.
9975
9976 2005-05-25  Wim Taymans  <wim@fluendo.com>
9977
9978         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9979         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9980         (gst_pad_send_event), (gst_pad_start_task):
9981         Disable attempt at mode switching until it is figured out.
9982
9983 2005-05-25  Wim Taymans  <wim@fluendo.com>
9984
9985         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9986         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9987         (gst_basesink_finish_preroll), (gst_basesink_chain),
9988         (gst_basesink_loop), (gst_basesink_activate),
9989         (gst_basesink_change_state):
9990         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9991         (gst_basesrc_get_range), (gst_basesrc_loop),
9992         (gst_basesrc_activate):
9993         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9994         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9995         (gst_real_pad_init), (gst_real_pad_set_property),
9996         (gst_real_pad_get_property), (gst_pad_set_active),
9997         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9998         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9999         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10000         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10001         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10002         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10003         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10004         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10005         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10006         (gst_pad_stop_task):
10007         * gst/gstpad.h:
10008         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10009         (gst_queue_loop), (gst_queue_src_activate):
10010         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10011         (gst_task_get_state):
10012         * gst/gsttask.h:
10013         * gst/schedulers/threadscheduler.c:
10014         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10015         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10016         in task function.
10017         Remove ACTIVE pad flag, use FLUSHING everywhere
10018         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10019         functions.
10020         Add locks around IS_FLUSHING when reading.
10021         Take STREAM lock in chain(), get_range() functions so plugins
10022         don't need to take it anymore.
10023         
10024
10025
10026 2005-05-25  Wim Taymans  <wim@fluendo.com>
10027
10028         * tools/gst-launch.c: (event_loop):
10029         Unref message after using its contents instead of
10030         before.
10031
10032 2005-05-24  Wim Taymans  <wim@fluendo.com>
10033
10034         * docs/design/draft-ghostpads.txt:
10035         * docs/design/draft-push-pull.txt:
10036         * docs/design/draft-query.txt:
10037         * docs/design/part-overview.txt:
10038         Docs updates, added general overview doc.
10039
10040 2005-05-21  David Schleef  <ds@schleef.org>
10041
10042         * docs/gst/tmpl/old/GstBin.sgml:
10043         * docs/gst/tmpl/old/GstBuffer.sgml:
10044         * docs/gst/tmpl/old/GstCaps.sgml:
10045         * docs/gst/tmpl/old/GstClock.sgml:
10046         * docs/gst/tmpl/old/GstCompat.sgml:
10047         * docs/gst/tmpl/old/GstData.sgml:
10048         * docs/gst/tmpl/old/GstElement.sgml:
10049         * docs/gst/tmpl/old/GstEvent.sgml:
10050         * docs/gst/tmpl/old/GstIndex.sgml:
10051         * docs/gst/tmpl/old/GstStructure.sgml:
10052         * docs/gst/tmpl/old/GstTag.sgml:
10053         * docs/gst/tmpl/old/cothreads.sgml:
10054         * docs/gst/tmpl/old/cothreads_compat.sgml:
10055         * docs/gst/tmpl/old/gettext.sgml:
10056         * docs/gst/tmpl/old/gobject2gtk.sgml:
10057         * docs/gst/tmpl/old/grammar.tab.sgml:
10058         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10059         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10060         * docs/gst/tmpl/old/gst_private.sgml:
10061         * docs/gst/tmpl/old/gstaggregator.sgml:
10062         * docs/gst/tmpl/old/gstarch.sgml:
10063         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10064         * docs/gst/tmpl/old/gstbufferstore.sgml:
10065         * docs/gst/tmpl/old/gstdata_private.sgml:
10066         * docs/gst/tmpl/old/gstdisksink.sgml:
10067         * docs/gst/tmpl/old/gstdisksrc.sgml:
10068         * docs/gst/tmpl/old/gstelementfactory.sgml:
10069         * docs/gst/tmpl/old/gstextratypes.sgml:
10070         * docs/gst/tmpl/old/gstfakesink.sgml:
10071         * docs/gst/tmpl/old/gstfakesrc.sgml:
10072         * docs/gst/tmpl/old/gstfdsink.sgml:
10073         * docs/gst/tmpl/old/gstfdsrc.sgml:
10074         * docs/gst/tmpl/old/gstfilesink.sgml:
10075         * docs/gst/tmpl/old/gstfilesrc.sgml:
10076         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10077         * docs/gst/tmpl/old/gstidentity.sgml:
10078         * docs/gst/tmpl/old/gstindexfactory.sgml:
10079         * docs/gst/tmpl/old/gstmarshal.sgml:
10080         * docs/gst/tmpl/old/gstmd5sink.sgml:
10081         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10082         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10083         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10084         * docs/gst/tmpl/old/gstpipefilter.sgml:
10085         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10086         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10087         * docs/gst/tmpl/old/gstshaper.sgml:
10088         * docs/gst/tmpl/old/gstspider.sgml:
10089         * docs/gst/tmpl/old/gstspideridentity.sgml:
10090         * docs/gst/tmpl/old/gststatistics.sgml:
10091         * docs/gst/tmpl/old/gsttee.sgml:
10092         * docs/gst/tmpl/old/gsttimecache.sgml:
10093         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10094         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10095         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10096         * docs/gst/tmpl/old/types.sgml:
10097           I didn't intend to add these or check them in.
10098
10099 2005-05-19  David Schleef  <ds@schleef.org>
10100
10101         * configure.ac: Use -no-common everywhere.  In a sane world, it
10102           would be the default in libtool, because without it, you can't
10103           build DLLs on Windows.
10104         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10105         * docs/gst/gstreamer-sections.txt:
10106         * docs/gst/tmpl/gstcpu.sgml:
10107         * docs/gst/tmpl/gstdata.sgml:
10108         * docs/gst/tmpl/gstthread.sgml:
10109
10110 2005-05-19  David Schleef  <ds@schleef.org>
10111
10112         * gst/gstminiobject.c: (gst_value_set_mini_object),
10113         (gst_value_take_mini_object), (gst_value_get_mini_object):
10114         * gst/gstminiobject.h: Add GValue set/get functions.
10115
10116 2005-05-19  Wim Taymans  <wim@fluendo.com>
10117
10118         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10119         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10120         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10121         * gst/gstbuffer.h:
10122         * gst/gstbus.c: (gst_bus_post):
10123         * gst/gstelement.c: (gst_element_get_random_pad):
10124         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10125         Make subbufer unref the parent in finalize.
10126         some more debugging info.
10127
10128
10129 2005-05-19  Wim Taymans  <wim@fluendo.com>
10130
10131         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10132         (gst_basesink_init), (gst_basesink_finalize),
10133         (gst_basesink_activate), (gst_basesink_change_state):
10134         Don't free preroll queue too early.
10135
10136 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10137
10138         * gst/Makefile.am:
10139         * gst/ROADMAP:
10140           Hi, I'm outdated. Please shoot me.
10141
10142 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10143
10144         * gst/gstpipeline.c: (gst_pipeline_send_event):
10145           Do not access variables after they have been deleted.
10146
10147 2005-05-19  Wim Taymans  <wim@fluendo.com>
10148
10149         * tools/gst-inspect.c: (print_plugin_features):
10150         A plugin feature does unfortunatly not use the
10151         object name yet...
10152
10153 2005-05-18  Wim Taymans  <wim@fluendo.com>
10154
10155         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10156         Port _span() functions to new subbuffers.
10157
10158 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10159
10160         * gst/gstbin.c: (gst_bin_add_func):
10161           Fix clock settery in bins when adding kids after the clock has
10162           been selected.
10163
10164 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10165
10166         * gst/elements/gstidentity.c: (gst_identity_class_init):
10167           Workaround until signals support GstMiniObject.
10168
10169 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10170
10171         * gst/gstbuffer.c:
10172         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10173
10174 2005-05-18  Wim Taymans  <wim@fluendo.com>
10175
10176         * gst/base/Makefile.am:
10177         * gst/base/gstadapter.c: (gst_adapter_base_init),
10178         (gst_adapter_class_init), (gst_adapter_init),
10179         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10180         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10181         (gst_adapter_flush), (gst_adapter_available),
10182         (gst_adapter_available_fast):
10183         * gst/base/gstadapter.h:
10184         Ported and added adapter to the base classes.
10185
10186 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10187
10188         * gst/gst.c:
10189         * gst/gstmessage.c:
10190           Make sure the class is reffed/unreffed once before threads can be
10191           used.  Fixes #304551.
10192
10193 2005-05-17  Wim Taymans  <wim@fluendo.com>
10194
10195         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10196         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10197         * gst/gstminiobject.c: (gst_mini_object_get_type),
10198         (gst_mini_object_free):
10199         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10200         (gst_pad_push), (gst_pad_push_event):
10201         * gst/gstqueue.c: (gst_queue_change_state):
10202         Don't queue buffers in basesink when we are flushing.
10203         Unref buffer when flushing in basesink.
10204         Flush queue when going to READY
10205         Unref buffer when _push() returns an error.
10206         Don't free MiniObject instance when refcount is incremented
10207         in _finalize() so that we can recover objects.
10208
10209 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10210
10211         * docs/manual/advanced-schedulers.xml:
10212         * docs/manual/appendix-checklist.xml:
10213         * docs/pwg/advanced-clock.xml:
10214         * docs/pwg/advanced-interfaces.xml:
10215         * docs/pwg/advanced-request.xml:
10216         * docs/pwg/advanced-types.xml:
10217         * docs/pwg/intro-preface.xml:
10218         * examples/plugins/example.c: (gst_example_get_type),
10219         (gst_example_class_init), (gst_example_chain),
10220         (gst_example_set_property), (gst_example_get_property),
10221         (gst_example_change_state), (plugin_init):
10222         * examples/plugins/example.h:
10223           small doc fixes
10224
10225 2005-05-17  Wim Taymans  <wim@fluendo.com>
10226
10227         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10228         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10229         * gst/gstqueue.c: (gst_queue_change_state):
10230         Clear queue when going to READY.
10231         Remove IN_SETCAPS flag too.
10232
10233 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10234
10235         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10236           Remove implicit cast from gboolean to GstElementStateReturn;
10237           make sure we still return failure in paused => ready case if
10238           the parent class fails to change state and our own stop 
10239           vfunc succeeds.
10240
10241 2005-05-17  Wim Taymans  <wim@fluendo.com>
10242
10243         * tools/gst-launch.c: (event_loop):
10244         Message was unreffed too soon.
10245
10246 2005-05-16  Andy Wingo  <wingo@pobox.com>
10247
10248         * gst/gstbin.c (sink_iterator_filter): Err... um...
10249
10250         * check/gst/gstbin.c (test_ghost_pads): New test for the
10251         ghosting-if-elements-not-in-same-bin behavior.
10252
10253 2005-05-16  David Schleef  <ds@schleef.org>
10254
10255         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10256         accessing refcount directly.
10257
10258 2005-05-15  David Schleef  <ds@schleef.org>
10259
10260         * check/Makefile.am: remove GstData checks
10261         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10262         * gst/Makefile.am: add miniobject, remove data
10263         * gst/gst.h: add miniobject, remove data
10264         * gst/gstdata.c: remove
10265         * gst/gstdata.h: remove
10266         * gst/gstdata_private.h: remove
10267         * gst/gsttypes.h: remove GstEvent and GstMessage
10268         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10269         * gst/gstmarshal.list: change BOXED -> OBJECT
10270
10271         Implement GstMiniObject.
10272         * gst/gstminiobject.c:
10273         * gst/gstminiobject.h:
10274
10275         Modify to be subclasses of GstMiniObject.
10276         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10277         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10278         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10279         (gst_subbuffer_get_type), (gst_subbuffer_init),
10280         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10281         (gst_buffer_span):
10282         * gst/gstbuffer.h:
10283         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10284         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10285         (_gst_event_copy), (gst_event_new):
10286         * gst/gstevent.h:
10287         * gst/gstmessage.c: (_gst_message_initialize),
10288         (gst_message_get_type), (gst_message_class_init),
10289         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10290         (gst_message_new), (gst_message_new_error),
10291         (gst_message_new_warning), (gst_message_new_tag),
10292         (gst_message_new_state_changed), (gst_message_new_application):
10293         * gst/gstmessage.h:
10294         * gst/gstprobe.c: (gst_probe_perform),
10295         (gst_probe_dispatcher_dispatch):
10296         * gst/gstprobe.h:
10297         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10298         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10299         (_gst_query_copy), (gst_query_new):
10300
10301         Update elements for GstData -> GstMiniObject changes
10302         * gst/gstquery.h:
10303         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10304         (gst_queue_chain), (gst_queue_loop):
10305         * gst/elements/gstbufferstore.c:
10306         (gst_buffer_store_add_buffer_func),
10307         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10308         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10309         (gst_fakesink_render):
10310         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10311         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10312         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10313         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10314         (gst_filesrc_create_read):
10315         * gst/elements/gstidentity.c: (gst_identity_class_init):
10316         * gst/elements/gsttypefindelement.c:
10317         (gst_type_find_element_src_event), (free_entry_buffers),
10318         (gst_type_find_element_handle_event):
10319         * libs/gst/dataprotocol/dataprotocol.c:
10320         (gst_dp_header_from_buffer):
10321         * libs/gst/dataprotocol/dataprotocol.h:
10322         * libs/gst/dataprotocol/dp-private.h:
10323
10324 2005-05-15  David Schleef  <ds@schleef.org>
10325
10326         * gst/elements/gstelements.c: Don't include headers that were
10327         just removed.
10328
10329 2005-05-15  David Schleef  <ds@schleef.org>
10330
10331         * gst/elements/Makefile.am: Remove some elements that don't
10332         need to be in the core (or even exist at all).
10333         * gst/elements/gstaggregator.c:
10334         * gst/elements/gstaggregator.h:
10335         * gst/elements/gstmd5sink.c:
10336         * gst/elements/gstmd5sink.h:
10337         * gst/elements/gstmultifilesrc.c:
10338         * gst/elements/gstmultifilesrc.h:
10339         * gst/elements/gstpipefilter.c:
10340         * gst/elements/gstpipefilter.h:
10341         * gst/elements/gstshaper.c:
10342         * gst/elements/gstshaper.h:
10343         * gst/elements/gststatistics.c:
10344         * gst/elements/gststatistics.h:
10345         * po/POTFILES.in: Remove above files.
10346
10347 2005-05-14  Andy Wingo  <wingo@pobox.com>
10348
10349         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10350         so as to get the refs right.
10351         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10352         unreffing objects that don't pass the filter.
10353
10354         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10355         gst_element_set_bus.
10356         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10357         normal cases, this will destroy the bus.
10358
10359         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10360         object.
10361
10362         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10363         has no sinks.
10364
10365 2005-05-13  Andy Wingo  <wingo@pobox.com>
10366
10367         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10368         gst_pad_link, call pad_link_maybe_ghosting,
10369         (pad_link_maybe_ghosting): Links pads, making sure that the
10370         elements being linked are in the same bin.
10371         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10372         Helpers for pad_link_maybe_ghosting.
10373
10374 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10375
10376         * configure.ac:
10377           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10378
10379 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10380
10381         * docs/design/part-element-source.txt:
10382           Mention GstPushSrc
10383
10384 2005-05-12  Wim Taymans  <wim@fluendo.com>
10385
10386         * gst/base/gstbasesink.c: (gst_basesink_init),
10387         (gst_basesink_activate):
10388         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10389         (gst_basesrc_is_seekable):
10390         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10391         (bin_element_is_sink), (gst_bin_change_state):
10392         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10393         * gst/gstelement.h:
10394         Identify sinks by their flag to avoid overly complicated
10395         checks (fow now).
10396         Do state changes even for elements not reachable from the
10397         sinks.
10398         BaseSink is a sink now :)
10399         Some more debugging info in the basesrc.
10400
10401
10402 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10403
10404         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10405           Implement _query on a bin, similar to _send_event.
10406
10407 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10408
10409         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10410           Discont event offset format should be GST_FORMAT_BYTES,
10411           not GST_FORMAT_TIME.
10412
10413 2005-05-12  Wim Taymans  <wim@fluendo.com>
10414
10415         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10416         Same fix as Ronald's but without the signal. 
10417
10418 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10419
10420         * gst/gstutils.c: (gst_element_query_position):
10421           No, an element is not a pad.
10422
10423 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10424
10425         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10426         (gst_bin_get_state):
10427           If a child is removed from a bin while we remove the child from
10428           the bin and while we're retrieving its state, signal this to the
10429           get_state function so we abort the wait (instead of waiting for
10430           a timeout) and can immediately re-iterate over all other elements.
10431
10432 2005-05-12  Wim Taymans  <wim@fluendo.com>
10433
10434         * gst/base/Makefile.am:
10435         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10436         (gst_basesrc_start):
10437         * gst/base/gstbasesrc.h:
10438         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10439         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10440         (gst_pushsrc_init), (gst_pushsrc_create):
10441         * gst/base/gstpushsrc.h:
10442         Added is_seekable to BaseSrc
10443         Added simple PushSrc.
10444
10445 2005-05-11  Wim Taymans  <wim@fluendo.com>
10446
10447         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10448         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10449         (gst_element_link_pads), (gst_element_query_position),
10450         (gst_element_query_convert), (intersect_caps_func),
10451         (gst_pad_query_position), (gst_pad_query_convert):
10452         Fix refcounting in utils function.
10453         No point in trying to activate a pad when it's added, it could
10454         be added from the state change function and then we deadlock, the
10455         element has to decide what to do.
10456
10457 2005-05-10  Andy Wingo  <wingo@pobox.com>
10458
10459         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10460         *all* the arguments.
10461
10462         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10463         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10464         lock (according to the docs -- if this is wrong change the docs).
10465
10466         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10467         flush messages in the NULL state.
10468
10469         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10470         message immediately and return.
10471         (gst_bus_set_flushing): New function. If a bus is flushing, it
10472         flushes out any queued messages and immediately unrefs new
10473         messages. This is so when an element goes to NULL, all of the
10474         unhandled messages coming from it can be freed, and their
10475         references to the element dropped. In other words: message source
10476         ref considered harmful :P
10477
10478         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10479         we're finished with it.
10480
10481         * gst/gstmessage.c (gst_message_new_state_changed): 
10482
10483 2005-05-10  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gstvalue.c: (gst_value_compare_flags),
10486         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10487         (_gst_value_initialize):
10488         Added flags serialize/deserialize/compare code.
10489
10490 2005-05-09  Andy Wingo  <wingo@pobox.com>
10491
10492         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10493         Intersect the peer's caps with our caps.
10494
10495 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10496
10497         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10498         * gst/elements/gsttypefindelement.c: (find_peek):
10499           Handle negative offsets better. Fixes decodebin.
10500
10501 2005-05-09  Wim Taymans  <wim@fluendo.com>
10502
10503         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10504         (gst_base_transform_event):
10505         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10506         Implement accept_caps.
10507         Fix silly lock/unlock mismatch in base class.
10508
10509 2005-05-09  Wim Taymans  <wim@fluendo.com>
10510
10511         * docs/design/draft-push-pull.txt:
10512         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10513         * gst/elements/gstfilesink.c: (gst_filesink_init),
10514         (gst_filesink_query):
10515         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10516         (gst_type_find_handle_src_query), (find_element_get_length):
10517         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10518         * gst/gstelement.h:
10519         * gst/gstmessage.c:
10520         * gst/gstmessage.h:
10521         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10522         (gst_real_pad_get_caps_unlocked),
10523         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10524         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10525         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10526         (gst_real_pad_dispose), (gst_real_pad_finalize),
10527         (gst_pad_load_and_link), (gst_pad_save_thyself),
10528         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10529         (gst_pad_check_pull_range), (gst_pad_pull_range),
10530         (gst_pad_template_get_type), (gst_pad_template_class_init),
10531         (gst_pad_template_init), (gst_pad_template_dispose),
10532         (name_is_valid), (gst_static_pad_template_get),
10533         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10534         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10535         (gst_pad_get_element_private), (gst_pad_start_task),
10536         (gst_pad_pause_task), (gst_pad_stop_task),
10537         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10538         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10539         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10540         (gst_ghost_pad_new):
10541         * gst/gstpad.h:
10542         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10543         (gst_query_new_position), (gst_query_set_position),
10544         (gst_query_parse_position), (gst_query_new_convert),
10545         (gst_query_set_convert), (gst_query_parse_convert):
10546         * gst/gstquery.h:
10547         * gst/gstqueryutils.c:
10548         * gst/gstqueryutils.h:
10549         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10550         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10551         (gst_queue_handle_src_query):
10552         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10553         (gst_element_query_position), (gst_element_query_convert),
10554         (intersect_caps_func), (gst_pad_query_position),
10555         (gst_pad_query_convert):
10556         * gst/gstutils.h:
10557         * tools/gst-inspect.c: (print_pad_info):
10558         * tools/gst-xmlinspect.c: (print_element_info):
10559         Remove old query functions. Ported old code.
10560         Added position/convert helper functions to gstutils.
10561         Reordered gstpad.c code, grouping relevant things.
10562         Remove gst_message_new(), always need to speficy a specific
10563         message.
10564
10565
10566 2005-05-09  Andy Wingo  <wingo@pobox.com>
10567
10568         * gst/gstiterator.h: Add some includes.
10569
10570         * gst/gstqueryutils.h: Include more headers.
10571
10572         * gst/gstpad.h:
10573         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10574         some uses of gst_pad_query.
10575
10576         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10577         NULL out parameters.
10578         (gst_query_new_position): New proc, allocates a new position
10579         query.
10580
10581         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10582         gstqueryutils.c to the build.
10583
10584         * gst/gststructure.c (gst_structure_set_valist): Implement with
10585         the generic G_VALUE_COLLECT.
10586         
10587 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10588
10589         * gst/Makefile.am: (gst_headers):
10590         Added gstqueryutils.h to the list of headers to install, that was
10591         a 'nachty' move wingo :)
10592
10593 2005-05-06  Andy Wingo  <wingo@pobox.com>
10594
10595         * gst/gstquery.h
10596         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10597         GstData, init a memchunk.
10598         (standard_definitions): Add a few query types, deprecate a few.
10599         (gst_query_get_type): New proc.
10600         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10601         implementation.
10602         (gst_query_new_application, gst_query_get_structure): New public
10603         procs.
10604
10605         * docs/design/draft-query.txt: Removed LINKS from the query types,
10606         because all the rest can be dispatched to other pads -- seemed
10607         ugly to have a query that couldn't be dispatched. internal_links
10608         is fine as a pad method.
10609
10610         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10611         in gstpad.c, but maintain binary compatibility for the moment.
10612         Will fix before 0.9 is out.
10613
10614         * gst/gstqueryutils.c: 
10615         * gst/gstqueryutils.h: New files, implement 3 methods for each
10616         query type: parse_query, parse_response, and set. Probably need an
10617         allocator as well.
10618
10619         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10620
10621         * gst/elements/gstfilesink.c (gst_filesink_query2):
10622         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10623         query_types, and formats methods.
10624
10625         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10626         (gst_pad_set_query2_function): New functions.
10627         (gst_real_pad_init): Set query2_default as the default query2
10628         function. Basically just dispatches to internally linked pads.
10629
10630         Needs review!
10631         
10632         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10633         without using the atomic operations. Only one thread can possibly
10634         be accessing the data at this point. Changed so as to avoid
10635         gst_atomic operations.
10636
10637 2005-05-06  Wim Taymans  <wim@fluendo.com>
10638
10639         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10640         Also set caps if we use the fallback buffer alloc.
10641
10642 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10643
10644         * docs/gst/Makefile.am:
10645         * docs/gst/gstreamer-docs.sgml:
10646         * docs/gst/gstreamer-sections.txt:
10647         * docs/gst/tmpl/gstatomic.sgml:
10648         * docs/gst/tmpl/gstmemchunk.sgml:
10649         * testsuite/elements/struct_i386.h:
10650         * win32/GStreamer.vcproj:
10651         * win32/Makefile:
10652           Purge GstAtomic stuff from docs and win32 makefiles as well
10653
10654 2005-05-06  Wim Taymans  <wim@fluendo.com>
10655
10656         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10657         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10658         * gst/gstpad.c: (gst_pad_peer_get_caps):
10659         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10660         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10661         (gst_queue_src_activate), (gst_queue_change_state):
10662         * gst/gstqueue.h:
10663         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10664         (intersect_caps_func):
10665         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10666         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10667         Some fixes for the peer_get_caps() change.
10668
10669 2005-05-06  Wim Taymans  <wim@fluendo.com>
10670
10671         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10672         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10673         (gst_basesink_activate):
10674         Actually do something with error codes returned from the push
10675         functions.
10676
10677 2005-05-06  Wim Taymans  <wim@fluendo.com>
10678
10679         * docs/design/part-element-sink.txt:
10680         * docs/design/part-element-source.txt:
10681         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10682         (gst_basesink_event), (gst_basesink_activate):
10683         * gst/base/gstbasesink.h:
10684         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10685         (gst_basesrc_activate):
10686         * gst/base/gstbasesrc.h:
10687         * gst/gstelement.c: (gst_element_pads_activate):
10688         Some more documentation.
10689         Fixed scheduling decision in _pads_activate().
10690
10691 2005-05-05  Andy Wingo  <wingo@pobox.com>
10692
10693         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10694         the test suite.
10695
10696 2005-05-05  Wim Taymans  <wim@fluendo.com>
10697
10698         * gst/base/Makefile.am:
10699         * gst/base/gstbasesink.h:
10700         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10701         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10702         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10703         (gst_collectpads_class_init), (gst_collectpads_init),
10704         (gst_collectpads_finalize), (gst_collectpads_new),
10705         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10706         (find_pad), (gst_collectpads_remove_pad),
10707         (gst_collectpads_is_active), (gst_collectpads_collect),
10708         (gst_collectpads_collect_range), (gst_collectpads_start),
10709         (gst_collectpads_stop), (gst_collectpads_peek),
10710         (gst_collectpads_pop), (gst_collectpads_available),
10711         (gst_collectpads_read), (gst_collectpads_flush),
10712         (gst_collectpads_chain):
10713         * gst/base/gstcollectpads.h:
10714         * gst/elements/Makefile.am:
10715         * gst/elements/gstelements.c:
10716         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10717         (gst_fakesink_get_times), (gst_fakesink_event),
10718         (gst_fakesink_preroll), (gst_fakesink_render):
10719         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10720         (gst_filesink_init), (gst_filesink_set_location),
10721         (gst_filesink_open_file), (gst_filesink_close_file),
10722         (gst_filesink_pad_query), (gst_filesink_event),
10723         (gst_filesink_render), (gst_filesink_change_state):
10724         * gst/elements/gstfilesink.h:
10725         Added object to help in making collect pad based elements.
10726         Ported filesink.
10727         Make event function in sink baseclass return gboolean.
10728
10729 2005-05-05  Wim Taymans  <wim@fluendo.com>
10730
10731         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10732         (gst_bin_get_by_name):
10733         * gst/gstbuffer.h:
10734         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10735         (gst_clock_finalize):
10736         * gst/gstdata.c: (gst_data_replace):
10737         * gst/gstdata.h:
10738         * gst/gstelement.c: (gst_element_request_pad),
10739         (gst_element_pads_activate):
10740         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10741         (gst_object_unref):
10742         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10743         (gst_pad_set_checkgetrange_function),
10744         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10745         (gst_pad_check_pull_range), (gst_pad_pull_range),
10746         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10747         (gst_pad_pause_task), (gst_pad_stop_task):
10748         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10749         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10750         Fix name lookup in GstBin.
10751         Added _data_replace() function and _buffer_replace()
10752         Use finalize method to clean up clock.
10753         Fix refcounting on request pads.
10754         Fix pad schedule mode error.
10755         Some more object refcounting debug info,
10756
10757
10758 2005-05-04  Andy Wingo <wingo@pobox.com>
10759
10760         * check/Makefile.am:
10761         * docs/gst/tmpl/gstatomic.sgml:
10762         * docs/gst/tmpl/gstplugin.sgml:
10763         * gst/base/gstbasesink.c: (gst_basesink_activate):
10764         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10765         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10766         (gst_basesrc_query), (gst_basesrc_set_property),
10767         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10768         (gst_basesrc_activate):
10769         * gst/base/gstbasesrc.h:
10770         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10771         (gst_base_transform_src_activate):
10772         * gst/elements/gstelements.c:
10773         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10774         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10775         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10776         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10777         (gst_type_find_element_checkgetrange),
10778         (gst_type_find_element_activate):
10779         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10780         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10781         (gst_caps_load_thyself):
10782         * gst/gstelement.c: (gst_element_pads_activate),
10783         (gst_element_save_thyself), (gst_element_restore_thyself):
10784         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10785         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10786         * gst/gstpad.h:
10787         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10788         (gst_xml_parse_file), (gst_xml_parse_memory),
10789         (gst_xml_get_element), (gst_xml_make_element):
10790         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10791         (_file_index_id_save_xml), (gst_file_index_commit):
10792         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10793         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10794         (load_paths):
10795         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10796         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10797         * tools/gst-complete.c: (main):
10798         * tools/gst-compprep.c: (main):
10799         * tools/gst-inspect.c: (print_element_properties_info):
10800         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10801         * tools/gst-xmlinspect.c: (print_element_properties):
10802         GCC 4 fixen.
10803         
10804 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10805
10806         * gst/gstplugin.c: (gst_plugin_check_module),
10807         (gst_plugin_check_file), (gst_plugin_load_file):
10808             apply patch from #172526 to make register work on MacOSX
10809
10810 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10811
10812         * docs/gst/tmpl/gstconfig.sgml:
10813         * gst/gstconfig.h.in:
10814           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10815         * testsuite/debug/printf_extension.c: (main):
10816           Do not use GST_PTR_FORMAT on pointers to types with
10817           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10818         * testsuite/elements/property.h:
10819           use correct printf format
10820
10821 2005-05-02  Wim Taymans  <wim@fluendo.com>
10822
10823         * docs/design/draft-push-pull.txt:
10824         * docs/design/draft-query.txt:
10825         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10826         (gst_basesrc_start):
10827         Added draft for new query API.
10828         Added draft for better selecting scheduling methods.
10829         Make basesrc ignore length if the subclass does not support
10830         it.
10831
10832 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10833
10834         * gst/Makefile.am:
10835           possible fixes for automake-1.5 - _LIBADD is reserved
10836
10837 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10838
10839         * docs/faq/Makefile.am:
10840         * docs/manual/Makefile.am:
10841         * docs/manuals.mak:
10842         * docs/pwg/Makefile.am:
10843         * gst/Makefile.am:
10844           possible fixes for automake-1.5
10845
10846 2005-04-28  Wim Taymans  <wim@fluendo.com>
10847
10848         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10849         (gst_basesink_pad_getcaps), (gst_basesink_init),
10850         (gst_basesink_do_sync):
10851         * gst/gstclock.c: (gst_clock_entry_new):
10852         * gst/gstevent.c: (gst_event_discont_get_value):
10853         * gst/gstpipeline.c: (pipeline_bus_handler),
10854         (gst_pipeline_change_state):
10855         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10856         Better debugging of clocking info.
10857         Allow NULL values when getting discont values.
10858
10859 2005-04-27  Wim Taymans  <wim@fluendo.com>
10860
10861         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10862         * check/gst/gstpad.c: (gst_pad_suite):
10863         Increase timeout for checks.
10864
10865 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10866
10867         * check/Makefile.am:
10868           fix the broken rule for cleanup.  Apparently this rule is
10869           only needed on FC2, so maybe this warrants further autotool
10870           inspection.
10871
10872 2005-04-26  Wim Taymans  <wim@fluendo.com>
10873
10874         * gst/gsttrashstack.h:
10875         Ooohh. a nasty one! After having a failed pop() from the stack,
10876         it's possible that the stack is empty. In that case, don't
10877         follow the NULL pointer.
10878
10879 2005-04-25  Wim Taymans  <wim@fluendo.com>
10880
10881         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10882         (gst_pad_set_checkgetrange_function),
10883         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10884         (gst_pad_check_pull_range), (gst_pad_pull_range),
10885         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10886         (gst_pad_pause_task), (gst_pad_stop_task):
10887         * gst/gstplugin.c: (gst_plugin_load):
10888         * gst/gstplugin.h:
10889         Remove gst_library_load as it does more harm than good with
10890         the new g_module flags.
10891         Revert bogus caps template check in pad linking, pad caps
10892         are important when linking not the template, which is more
10893         general than the current caps.
10894
10895 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10896
10897         * gst/autoplug/.cvsignore:
10898         * gst/autoplug/Makefile.am:
10899         * gst/autoplug/gstsearchfuncs.c:
10900         * gst/autoplug/gstsearchfuncs.h:
10901         * gst/autoplug/gstspider.c:
10902         * gst/autoplug/gstspider.h:
10903         * gst/autoplug/gstspideridentity.c:
10904         * gst/autoplug/gstspideridentity.h:
10905         * gst/autoplug/spidertest.c:
10906           Die, spider, die.
10907
10908 2005-04-25  Wim Taymans  <wim@fluendo.com>
10909
10910         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10911         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10912         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10913         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10914         * gst/gstpad.h:
10915         Added stubs for unimplemented functions. 
10916
10917 2005-04-24  David Schleef  <ds@schleef.org>
10918
10919         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10920         please fix.
10921
10922 2005-04-24  David Schleef  <ds@schleef.org>
10923
10924         Convert everything from GstAtomicInt to g_atomic_int_*, and
10925         remove gstatomic.
10926         * gst/Makefile.am:
10927         * gst/gstatomic.c:
10928         * gst/gstatomic.h:
10929         * gst/gstatomic_impl.h:
10930         * gst/gstbuffer.c:
10931         * gst/gstcaps.c:
10932         * gst/gstcaps.h:
10933         * gst/gstclock.c:
10934         * gst/gstclock.h:
10935         * gst/gstdata.c:
10936         * gst/gstdata.h:
10937         * gst/gstdata_private.h:
10938         * gst/gstevent.c:
10939         * gst/gstinfo.c:
10940         * gst/gstinfo.h:
10941         * gst/gstmessage.c:
10942         * gst/gstobject.c:
10943         * gst/gstobject.h:
10944         * gst/gststructure.c:
10945         * gst/gststructure.h:
10946         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10947         * gst/gstutils.h:
10948
10949 2005-04-24  David Schleef  <ds@schleef.org>
10950
10951         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10952         make the regressions tests work.  Remove some code that is no
10953         longer true.
10954         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10955         Disable warning for pads without templates.
10956
10957 2005-04-24  David Schleef  <ds@schleef.org>
10958
10959         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10960         functions that handle filtered links.
10961         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10962         removed functions.
10963         * gst/gstutils.c: Fix/remove utility functions that handle
10964         filtered caps.
10965         * gst/gstutils.h:
10966         * gst/gstvalue.c: Add serialization/deserialization of caps
10967         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10968         requires fixing so that the filter caps notation creates
10969         a capsfilter element and sets the filter_caps property.  I
10970         think everyone probably wants to keep the shorthand notation.
10971         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10972         * docs/gst/tmpl/gstpad.sgml:
10973
10974         * gst/elements/gstelements.c: Register capsfilter element.
10975         * gst/Makefile.am: fix spacing
10976         * docs/random/ds/0.9-suggested-changes: random
10977
10978 2005-04-23  David Schleef  <ds@schleef.org>
10979
10980         * gst/elements/Makefile.am:
10981         * gst/elements/gstcapsfilter.c: New element that acts like an
10982         identity, but filters caps.  Will eventually replace filtered
10983         caps in pad linking.
10984         * gst/gstutils.c: (gst_element_create_all_pads): New function
10985         to create all the ALWAYS pads that are registered with an
10986         element class.  This functionality should eventually be
10987         merged in with GstElement initialization.
10988         * gst/gstutils.h:
10989         * testsuite/trigger/README: part of trigger test code that should
10990         have been checked in a long time ago.
10991
10992 2005-04-23  David Schleef  <ds@schleef.org>
10993
10994         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10995         needed with new versions of libtool (nobody will confirm this),
10996         and hard to carry around.
10997         * gst/autoplug/Makefile.am:
10998         * gst/base/Makefile.am:
10999         * gst/elements/Makefile.am:
11000         * gst/indexers/Makefile.am:
11001         * gst/schedulers/Makefile.am:
11002         * libs/gst/bytestream/Makefile.am:
11003         * libs/gst/control/Makefile.am:
11004         * libs/gst/dataprotocol/Makefile.am:
11005         * libs/gst/getbits/Makefile.am:
11006
11007 2005-04-21  Wim Taymans  <wim@fluendo.com>
11008
11009         * docs/design/draft-push-pull.txt:
11010         * docs/design/part-MT-refcounting.txt:
11011         * docs/design/part-TODO.txt:
11012         * docs/design/part-caps.txt:
11013         * docs/design/part-events.txt:
11014         * docs/design/part-gstbus.txt:
11015         * docs/design/part-gstpipeline.txt:
11016         * docs/design/part-messages.txt:
11017         * docs/design/part-push-pull.txt:
11018         * docs/design/part-query.txt:
11019         Some more docs.
11020
11021 2005-04-21  Wim Taymans  <wim@fluendo.com>
11022
11023         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11024         (gst_message_new), (gst_message_new_error),
11025         (gst_message_new_warning), (gst_message_new_tag),
11026         (gst_message_new_state_changed), (gst_message_new_application),
11027         (gst_message_get_structure):
11028         * gst/gstmessage.h:
11029         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11030         (gst_structure_copy_conditional):
11031         Use parent refcount in GstMessage to ensure GstStructure
11032         consistency.
11033         Cleaned up headers a bit.
11034         
11035
11036 2005-04-20  Wim Taymans  <wim@fluendo.com>
11037
11038         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11039         (gst_basesink_pad_getcaps), (gst_basesink_init),
11040         (gst_basesink_chain_unlocked):
11041         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11042         (gst_type_find_helper):
11043         * gst/elements/gsttypefindelement.c:
11044         (gst_type_find_element_have_type), (gst_type_find_element_init),
11045         (stop_typefinding), (gst_type_find_element_handle_event),
11046         (find_suggest), (gst_type_find_element_chain),
11047         (gst_type_find_element_checkgetrange),
11048         (gst_type_find_element_getrange), (do_typefind),
11049         (gst_type_find_element_activate):
11050         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11051         (gst_buffer_default_free), (gst_buffer_default_copy),
11052         (gst_buffer_set_caps):
11053         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11054         (gst_caps_replace):
11055         * gst/gstmessage.c: (gst_message_new),
11056         (gst_message_new_state_changed):
11057         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11058         (gst_pad_set_checkgetrange_function),
11059         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11060         (gst_pad_set_caps), (gst_pad_check_pull_range),
11061         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11062         * gst/gstpad.h:
11063         * gst/gsttypefind.c: (gst_type_find_register):
11064         Make gst_caps_replace() work like other _replace() functions.
11065         Use _caps_replace() where possible.
11066         Make sure _message_new() initialises its field.
11067         Add gst_static_pad_template_get_caps()
11068
11069
11070 2005-04-18  Andy Wingo  <wingo@pobox.com>
11071
11072         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11073         on the peer, not the pad. I think that was a typo. Pass an extra
11074         arg to see if random access is possible. Activate the pads as
11075         PULL_RANGE if possible.
11076
11077         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11078
11079         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11080         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11081         to PROP_....
11082
11083 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11084
11085         * docs/faq/using.xml:
11086           Add note on gstreamer-properties (#154996).
11087
11088 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11089
11090         * docs/random/bbb/optional-properties:
11091           Some analysis on optional properties.
11092
11093 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11094
11095         * docs/gst/tmpl/gstelementfactory.sgml:
11096         * gst/gstelement.h:
11097         * gst/gstelementfactory.c: (gst_element_factory_init),
11098         (gst_element_factory_cleanup), (gst_element_register),
11099         (__gst_element_factory_add_static_pad_template),
11100         (gst_element_factory_get_static_pad_templates),
11101         (gst_element_factory_can_src_caps),
11102         (gst_element_factory_can_sink_caps):
11103         * gst/registries/Makefile.am:
11104         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11105         (gst_xml_registry_class_init), (gst_xml_registry_init),
11106         (gst_xml_registry_new), (gst_xml_registry_set_property),
11107         (gst_xml_registry_get_property), (get_time), (make_dir),
11108         (gst_xml_registry_get_perms_func),
11109         (plugin_times_older_than_recurse), (plugin_times_older_than),
11110         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11111         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11112         (add_to_char_array), (read_string), (read_uint), (read_enum),
11113         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11114         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11115         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11116         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11117         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11118         (gst_xml_registry_rebuild):
11119         * gst/registries/gstlibxmlregistry.h:
11120         * tools/gst-compprep.c: (main):
11121         * tools/gst-inspect.c: (print_pad_templates_info):
11122         * tools/gst-xmlinspect.c: (print_element_info):
11123           Use libxml2 for registry parsing, use staticpadtemplates in
11124           elementfactories. Makes gst_init() +/- 10x faster.
11125
11126 2005-04-12  Wim Taymans  <wim@fluendo.com>
11127
11128         * gst/base/Makefile.am:
11129         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11130         (gst_basesink_pad_getcaps), (gst_basesink_init),
11131         (gst_basesink_event), (gst_basesink_change_state):
11132         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11133         (gst_basesrc_init), (gst_basesrc_query),
11134         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11135         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11136         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11137         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11138         (gst_basesrc_stop), (gst_basesrc_activate),
11139         (gst_basesrc_change_state):
11140         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11141         (helper_find_suggest), (gst_type_find_helper):
11142         * gst/base/gsttypefindhelper.h:
11143         * gst/elements/Makefile.am:
11144         * gst/elements/gstelements.c:
11145         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11146         (gst_fakesink_get_times), (gst_fakesink_event),
11147         (gst_fakesink_preroll), (gst_fakesink_render):
11148         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11149         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11150         (gst_fakesrc_get_property), (gst_fakesrc_create),
11151         (gst_fakesrc_start), (gst_fakesrc_stop):
11152         * gst/elements/gstfakesrc.h:
11153         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11154         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11155         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11156         (gst_filesrc_create_read), (gst_filesrc_create),
11157         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11158         (gst_filesrc_start):
11159         * gst/elements/gsttypefindelement.c:
11160         (gst_type_find_element_have_type), (gst_type_find_element_init),
11161         (start_typefinding), (stop_typefinding), (push_buffer_store),
11162         (gst_type_find_element_handle_event),
11163         (gst_type_find_element_chain),
11164         (gst_type_find_element_checkgetrange),
11165         (gst_type_find_element_getrange), (do_typefind),
11166         (gst_type_find_element_activate),
11167         (gst_type_find_element_change_state):
11168         * gst/elements/gsttypefindelement.h:
11169         * gst/gstpipeline.c: (pipeline_bus_handler):
11170         Added typefind helper.
11171         Small preroll fix in the base sink.
11172         Disable typefind code in basesrc.
11173         Crude port of typefindelement.
11174         Fakesrc cleanups.
11175
11176
11177 2005-04-11  Wim Taymans  <wim@fluendo.com>
11178
11179         * check/gst/gstbus.c: (gstbus_suite):
11180         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11181         * check/gstcheck.h:
11182           Fix up the timeout so that the test does not fail.
11183
11184 2005-04-06  Wim Taymans  <wim@fluendo.com>
11185
11186         * gst/base/README:
11187         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11188         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11189         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11190         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11191         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11192         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11193         (gst_basesrc_stop), (gst_basesrc_activate),
11194         (gst_basesrc_change_state), (basesrc_find_peek),
11195         (basesrc_find_suggest), (gst_basesrc_type_find):
11196         * gst/base/gstbasesrc.h:
11197         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11198         (gst_filesrc_class_init), (gst_filesrc_init),
11199         (gst_filesrc_finalize), (gst_filesrc_set_location),
11200         (gst_filesrc_set_property), (gst_filesrc_get_property),
11201         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11202         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11203         (gst_filesrc_create_read), (gst_filesrc_create),
11204         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11205         * gst/elements/gstfilesrc.h:
11206         * gst/gstelement.c: (gst_element_get_state_func),
11207         (gst_element_lost_state), (gst_element_pads_activate):
11208         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11209         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11210         (gst_pad_pull_range):
11211         * gst/gstpad.h:
11212         More work on the generic source base class, implement seeking,
11213         query.
11214         Make filesrc extend the base source class.
11215         Added gst_pad_set_checkgetrange_function to GstPad.
11216
11217 2005-04-06  Andy Wingo  <wingo@pobox.com>
11218
11219         * pkgconfig/gstreamer-base.pc.in:
11220         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11221
11222         * pkgconfig/Makefile.am:
11223         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11224
11225 2005-04-04  Wim Taymans  <wim@fluendo.com>
11226
11227         * gst/base/Makefile.am:
11228         * gst/base/README:
11229         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11230         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11231         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11232         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11233         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11234         (gst_basesrc_base_init), (gst_basesrc_class_init),
11235         (gst_basesrc_init), (gst_basesrc_get_formats),
11236         (gst_basesrc_get_query_types), (gst_basesrc_query),
11237         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11238         (gst_basesrc_set_property), (gst_basesrc_get_property),
11239         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11240         (gst_basesrc_loop), (gst_basesrc_activate),
11241         (gst_basesrc_change_state):
11242         * gst/base/gstbasesrc.h:
11243         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11244         (gst_fakesrc_class_init), (gst_fakesrc_init),
11245         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11246         (gst_fakesrc_get_property), (gst_fakesrc_create):
11247         * gst/elements/gstfakesrc.h:
11248         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11249         (gst_filesrc_open_file), (gst_filesrc_loop),
11250         (gst_filesrc_activate), (filesrc_find_peek),
11251         (gst_filesrc_type_find):
11252         Made base source class, make fakesrc extend it.
11253         Add comments to basesink class.
11254         Some filesrc cleanup.
11255
11256 2005-03-31  David Schleef  <ds@schleef.org>
11257
11258         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11259         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11260         expected to link against libgstreamer.
11261         * gst/base/Makefile.am: link against libgstreamer
11262         * gst/elements/Makefile.am: same
11263
11264 2005-03-31  Andy Wingo  <wingo@pobox.com>
11265
11266         * tests/instantiate/Makefile.am:
11267         * tests/instantiate/caps.c: Add test to test speed of caps copy
11268         and free.
11269
11270         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11271         GMemChunk to be fair.
11272
11273         * gst/gsttrashstack.h: Remove warning about using the fallback
11274         trash stack implementation, it's still faster than malloc.
11275
11276 2005-03-30  Andy Wingo  <wingo@pobox.com>
11277
11278         * tests/complexity.c: Add a copyright.
11279
11280 2005-03-31  Wim Taymans  <wim@fluendo.com>
11281
11282         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11283         (gst_base_transform_class_init), (gst_base_transform_init),
11284         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11285         (gst_base_transform_get_property),
11286         (gst_base_transform_sink_activate),
11287         (gst_base_transform_src_activate),
11288         (gst_base_transform_change_state):
11289         * gst/base/gstbasetransform.h:
11290         * gst/elements/gstidentity.c: (gst_identity_class_init),
11291         (gst_identity_event), (gst_identity_check_perfect),
11292         (gst_identity_transform), (gst_identity_start),
11293         (gst_identity_stop):
11294         Added start/stop methods to transform base class so subclasses 
11295         don't need to deal with state changes even.
11296
11297 2005-03-31  Wim Taymans  <wim@fluendo.com>
11298
11299         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11300         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11301         * gst/gstevent.h:
11302         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11303         (gst_pad_pull_range):
11304         Added rate to the discont event to prepare for variable speed
11305         and reverse playback.
11306
11307 2005-03-29  David Schleef  <ds@schleef.org>
11308
11309         * configure.ac:
11310         * testsuite/trigger/Makefile.am:
11311         * testsuite/trigger/trigger.c: A little example program to show
11312         how trigger-based elements can work.
11313
11314 2005-03-29  Wim Taymans  <wim@fluendo.com>
11315
11316         * gst/base/Makefile.am:
11317         * gst/base/README:
11318         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11319         (gst_basesink_base_init), (gst_basesink_class_init),
11320         (gst_basesink_pad_getcaps), (gst_basesink_init),
11321         (gst_basesink_activate), (gst_basesink_change_state):
11322         * gst/base/gstbasesink.h:
11323         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11324         (gst_base_transform_base_init), (gst_base_transform_finalize),
11325         (gst_base_transform_class_init), (gst_base_transform_init),
11326         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11327         (gst_base_transform_event), (gst_base_transform_getrange),
11328         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11329         (gst_base_transform_set_property),
11330         (gst_base_transform_get_property),
11331         (gst_base_transform_sink_activate),
11332         (gst_base_transform_src_activate),
11333         (gst_base_transform_change_state):
11334         * gst/base/gstbasetransform.h:
11335         * gst/elements/gstidentity.c: (gst_identity_finalize),
11336         (gst_identity_class_init), (gst_identity_init),
11337         (gst_identity_event), (gst_identity_check_perfect),
11338         (gst_identity_transform), (gst_identity_set_property),
11339         (gst_identity_get_property), (gst_identity_change_state):
11340         * gst/elements/gstidentity.h:
11341         * gst/gstelement.c: (gst_element_get_state_func),
11342         (gst_element_lost_state), (gst_element_pads_activate):
11343         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11344         (gst_pad_check_pull_range), (gst_pad_pull_range):
11345         * gst/gstpad.h:
11346         Simplify pad activation.
11347         Added function to check if pull_range can be performed.
11348         Error out when pulling inactive or flushing pads.
11349         Removed const from refcounted types as it does not make sense.
11350         Simplify pad templates in basesink
11351         Added base class for simple 1-to-1 transforms.
11352         Make identity subclass the base transform.
11353
11354 2005-03-29  Andy Wingo  <wingo@pobox.com>
11355
11356         * docs/libs/gstreamer-libs-overrides.txt: 
11357         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11358         really don't understand what's going on, but like whatever. I want
11359         green buildbot!
11360
11361         * docs/gst/Makefile.am:
11362         * docs/libs/Makefile.am: Dist the overrides files.
11363
11364         * check/Makefile.am (clean-local): Remove .libs directories.
11365
11366         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11367         elements to EXTRA_DIST, so po/ files are happy.
11368
11369         * po/POTFILES.in: Er, remove it here.
11370
11371         * po/POTFILES: Remove gstspider.c.
11372
11373         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11374
11375         * docs/libs/gstreamer-libs-docs.sgml: 
11376         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11377         bytestream.
11378
11379         * tests/complexity.c (main): Set the length of the preroll queue
11380         on the sinks to prevent a lockup.
11381
11382         * libs/gst/dataprotocol/Makefile.am: 
11383         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11384         the same as the one in check/gst-libs/gdp.c.
11385
11386         * po/, docs/gst/: Commit automatic changes to docs and po files.
11387
11388         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11389         the versioned libgstbase.
11390
11391         * check/Makefile.am: Depend on an unversioned gst-register, seems
11392         to make autoconf happier.
11393
11394         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11395
11396 2005-03-28  Wim Taymans  <wim@fluendo.com>
11397
11398         * configure.ac:
11399         * docs/design/part-gstelement.txt:
11400         * docs/design/part-negotiation.txt:
11401         * docs/design/part-preroll.txt:
11402         * docs/design/part-scheduling.txt:
11403         * docs/design/part-states.txt:
11404         * gst/Makefile.am:
11405         * gst/base/Makefile.am:
11406         * gst/base/README:
11407         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11408         (gst_basesink_base_init), (gst_basesink_class_init),
11409         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11410         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11411         (gst_basesink_set_pad_functions),
11412         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11413         (gst_basesink_set_property), (gst_basesink_get_property),
11414         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11415         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11416         (gst_basesink_preroll_queue_push),
11417         (gst_basesink_preroll_queue_empty),
11418         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11419         (gst_basesink_event), (gst_basesink_get_times),
11420         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11421         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11422         (gst_basesink_loop), (gst_basesink_activate),
11423         (gst_basesink_change_state):
11424         * gst/base/gstbasesink.h:
11425         * gst/elements/Makefile.am:
11426         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11427         (gst_fakesink_class_init), (gst_fakesink_init),
11428         (gst_fakesink_set_property), (gst_fakesink_get_property),
11429         (gst_fakesink_get_times), (gst_fakesink_event),
11430         (gst_fakesink_preroll), (gst_fakesink_render),
11431         (gst_fakesink_change_state):
11432         * gst/elements/gstfakesink.h:
11433         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11434         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11435         * gst/gstelement.c: (gst_element_add_pad),
11436         (gst_element_get_state_func), (gst_element_abort_state),
11437         (gst_element_commit_state), (gst_element_lost_state),
11438         (gst_element_set_state), (gst_element_pads_activate):
11439         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11440         * gst/gstpipeline.c: (gst_pipeline_send_event),
11441         (gst_pipeline_change_state):
11442         Added state change code.
11443         Added/updated docs.
11444         Added sink base class, make fakesink extend the base class.
11445         Small cleanups in GstPipeline.
11446
11447 2005-03-26  David Schleef  <ds@schleef.org>
11448
11449         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11450         is broken and should be implemented in a different library.
11451         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11452         * gst/gst.h: remove gstcpu.h
11453         * gst/gstcpu.c: remove
11454         * gst/gstcpu.h: remove
11455         * gst/Makefile.am.future: Remove this file.  It's ancient.
11456
11457 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11458
11459         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11460         (gst_bin_send_event):
11461           Add default event/set_manager handlers. The set_manager handler
11462           takes care that the manager is distributed over kids that were
11463           already in the bin before the manager was set. The event handler
11464           is a utility virtual function that sends the event over all sinks,
11465           so that gst_element_send_event (bin, event); has the expected
11466           behaviour.
11467         * gst/gstpad.c: (gst_pad_event_default):
11468           Re-install default event handling for discontinuities, so that
11469           seeking works without requiring hacks in applications or extra
11470           code in sinks.
11471         * gst/gstpipeline.c: (gst_pipeline_class_init),
11472         (gst_pipeline_send_event):
11473           Half hack, half utility: set a pipeline to PAUSED for seek events,
11474           since that is the only way we can guarantee a/v sync. Means that
11475           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11476           and it "just works".
11477
11478 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11479
11480         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11481           Lock/unlock mismatch.
11482
11483 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11484
11485         * docs/faq/gst-uninstalled:
11486           add gst-plugins-base
11487         * docs/gst/Makefile.am:
11488           don't error out until docs are fixed
11489         * docs/gst/gstreamer.types:
11490           remove thread
11491
11492 2005-03-22  Wim Taymans  <wim@fluendo.com>
11493
11494         * check/Makefile.am:
11495         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11496         * gst/gststructure.c: (gst_structure_set_valist),
11497         (gst_structure_copy_conditional):
11498         Activated more tests.
11499         Added message test.
11500         Added G_TYPE_POINTER to GstStructure.
11501         
11502
11503 2005-03-22  Wim Taymans  <wim@fluendo.com>
11504
11505         * docs/design/part-TODO.txt:
11506         * docs/design/part-events.txt:
11507         * docs/design/part-gstbin.txt:
11508         * docs/design/part-gstbus.txt:
11509         * docs/design/part-gstpipeline.txt:
11510         * docs/design/part-messages.txt:
11511         * gst/gstbus.c:
11512         * gst/gstmessage.c:
11513         Docs updates
11514
11515 2005-03-21  Wim Taymans  <wim@fluendo.com>
11516
11517         * gst/gstbus.c: (gst_bus_post):
11518         Fix copy-and-paste error.
11519
11520 2005-03-21  Wim Taymans  <wim@fluendo.com>
11521
11522         * check/Makefile.am:
11523         * gst/Makefile.am:
11524         * gst/elements/Makefile.am:
11525         * gst/elements/gstelements.c:
11526         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11527         (gst_fakesink_event), (gst_fakesink_chain):
11528         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11529         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11530         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11531         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11532         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11533         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11534         (gst_fakesrc_loop), (gst_fakesrc_activate),
11535         (gst_fakesrc_change_state):
11536         * gst/elements/gstfakesrc.h:
11537         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11538         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11539         (gst_filesrc_open_file), (gst_filesrc_loop),
11540         (gst_filesrc_activate), (gst_filesrc_change_state),
11541         (filesrc_find_peek), (filesrc_find_suggest),
11542         (gst_filesrc_type_find):
11543         * gst/elements/gstidentity.c: (gst_identity_finalize),
11544         (gst_identity_class_init), (gst_identity_init),
11545         (gst_identity_proxy_getcaps), (identity_queue_push),
11546         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11547         (gst_identity_getrange), (gst_identity_chain),
11548         (gst_identity_sink_loop), (gst_identity_src_loop),
11549         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11550         (gst_identity_set_property), (gst_identity_get_property),
11551         (gst_identity_change_state):
11552         * gst/elements/gstidentity.h:
11553         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11554         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11555         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11556         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11557         (gst_tee_sink_activate):
11558         * gst/elements/gsttee.h:
11559         * gst/gst.c: (gst_register_core_elements), (init_post):
11560         * gst/gst.h:
11561         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11562         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11563         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11564         (gst_bin_change_state):
11565         * gst/gstbin.h:
11566         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11567         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11568         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11569         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11570         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11571         (bus_watch_callback), (bus_watch_destroy),
11572         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11573         (poll_timeout), (gst_bus_poll):
11574         * gst/gstbus.h:
11575         * gst/gstcaps.h:
11576         * gst/gstdata.h:
11577         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11578         (gst_element_post_message), (gst_element_message_full),
11579         (gst_element_get_state_func), (gst_element_get_state),
11580         (gst_element_abort_state), (gst_element_commit_state),
11581         (gst_element_lost_state), (gst_element_set_state),
11582         (gst_element_pads_activate), (gst_element_change_state),
11583         (gst_element_dispose), (gst_element_set_manager_func),
11584         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11585         (gst_element_set_manager), (gst_element_get_manager),
11586         (gst_element_set_bus), (gst_element_get_bus),
11587         (gst_element_set_scheduler), (gst_element_get_scheduler):
11588         * gst/gstelement.h:
11589         * gst/gstevent.c: (gst_event_new_segment_seek),
11590         (gst_event_new_flush):
11591         * gst/gstevent.h:
11592         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11593         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11594         (gst_message_new_eos), (gst_message_new_error),
11595         (gst_message_new_warning), (gst_message_new_tag),
11596         (gst_message_new_state_changed), (gst_message_new_application),
11597         (gst_message_get_structure), (gst_message_parse_tag),
11598         (gst_message_parse_state_changed), (gst_message_parse_error),
11599         (gst_message_parse_warning):
11600         * gst/gstmessage.h:
11601         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11602         (gst_real_pad_set_property), (gst_pad_set_active),
11603         (gst_pad_is_active), (gst_pad_set_blocked_async),
11604         (gst_pad_set_blocked), (gst_pad_is_blocked),
11605         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11606         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11607         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11608         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11609         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11610         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11611         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11612         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11613         (gst_pad_set_caps), (gst_pad_configure_sink),
11614         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11615         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11616         (gst_real_pad_dispose), (gst_real_pad_finalize),
11617         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11618         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11619         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11620         * gst/gstpad.h:
11621         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11622         (pipeline_bus_handler), (gst_pipeline_change_state),
11623         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11624         * gst/gstpipeline.h:
11625         * gst/gstprobe.h:
11626         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11627         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11628         (gst_queue_link_src), (gst_queue_bufferalloc),
11629         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11630         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11631         (gst_queue_loop), (gst_queue_handle_src_event),
11632         (gst_queue_handle_src_query), (gst_queue_src_activate),
11633         (gst_queue_change_state):
11634         * gst/gstqueue.h:
11635         * gst/gstscheduler.c: (gst_scheduler_init),
11636         (gst_scheduler_dispose), (gst_scheduler_create_task),
11637         (gst_scheduler_factory_create):
11638         * gst/gstscheduler.h:
11639         * gst/gststructure.c: (gst_structure_get_type),
11640         (gst_structure_copy_conditional):
11641         * gst/gststructure.h:
11642         * gst/gsttaginterface.h:
11643         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11644         (gst_task_init), (gst_task_dispose), (gst_task_create),
11645         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11646         (gst_task_pause):
11647         * gst/gsttask.h:
11648         * gst/gstthread.c:
11649         * gst/gstthread.h:
11650         * gst/gsttypes.h:
11651         * gst/schedulers/Makefile.am:
11652         * gst/schedulers/cothreads_compat.h:
11653         * gst/schedulers/entryscheduler.c:
11654         * gst/schedulers/faircothreads.c:
11655         * gst/schedulers/faircothreads.h:
11656         * gst/schedulers/fairscheduler.c:
11657         * gst/schedulers/gstbasicscheduler.c:
11658         * gst/schedulers/gstoptimalscheduler.c:
11659         * gst/schedulers/gthread-cothreads.h:
11660         * gst/schedulers/threadscheduler.c:
11661         (gst_thread_scheduler_task_get_type),
11662         (gst_thread_scheduler_task_class_init),
11663         (gst_thread_scheduler_task_init),
11664         (gst_thread_scheduler_task_start),
11665         (gst_thread_scheduler_task_stop),
11666         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11667         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11668         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11669         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11670         (plugin_init):
11671         * libs/gst/Makefile.am:
11672         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11673         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11674         (gst_file_pad_parent_set):
11675         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11676         (gst_dp_event_from_packet):
11677         * tests/complexity.c: (main):
11678         * tests/mass_elements.c: (main):
11679         * testsuite/states/locked.c: (message_received), (main):
11680         * testsuite/states/parent.c: (main):
11681         * tools/gst-inspect.c: (print_element_flag_info),
11682         (print_implementation_info), (print_pad_info):
11683         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11684         (main):
11685         * tools/gst-md5sum.c: (event_loop), (main):
11686         * tools/gst-typefind.c: (main):
11687         * tools/gst-xmlinspect.c: (print_element_info):
11688         Next big merge.
11689         Added GstBus for mainloop integration.
11690         Added GstMessage for sending notifications on the bus.
11691         Added GstTask as an abstraction for pipeline entry points.
11692         Removed GstThread.
11693         Removed Schedulers.
11694         Simplified GstQueue for multithreaded core.
11695         Made _link threadsafe, removed old capsnego.
11696         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11697         Added pad blocking functions.
11698         Reworked scheduling functions in GstPad to prepare for
11699         scheduling updates soon.
11700         Moved events out of data stream.
11701         Simplified GstEvent types.
11702         Added return values to push/pull.
11703         Removed clocking from GstElement.
11704         Added prototypes for state change function for next merge.
11705         Removed iterate from bins and state change management.
11706         Fixed some elements, disabled others for now.
11707         Fixed -inspect and -launch.
11708         Added check for GstBus.
11709
11710 2005-03-10  Wim Taymans  <wim@fluendo.com>
11711
11712         * docs/design/part-MT-refcounting.txt:
11713         * docs/design/part-clocks.txt:
11714         * docs/design/part-gstelement.txt:
11715         * docs/design/part-gstobject.txt:
11716         * docs/design/part-standards.txt:
11717         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11718         (gst_bin_remove_func), (gst_bin_remove):
11719         * gst/gstbin.h:
11720         * gst/gstbuffer.c:
11721         * gst/gstcaps.h:
11722         * testsuite/clock/clock1.c: (main):
11723         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11724         (main):
11725         * testsuite/dlopen/loadgst.c: (do_test):
11726         * testsuite/refcounting/bin.c: (add_remove_test1),
11727         (add_remove_test2), (main):
11728         * testsuite/refcounting/element.c: (main):
11729         * testsuite/refcounting/element_pad.c: (main):
11730         * testsuite/refcounting/pad.c: (main):
11731         * tools/gst-launch.c: (sigint_handler_sighandler):
11732         * tools/gst-typefind.c: (main):
11733         Doc updates.
11734         Added doc about clock.
11735         removed gst_bin_iterate_recurse_up(), marked methods
11736         for removal.
11737         Fix more testsuites.
11738
11739 2005-03-09  Wim Taymans  <wim@fluendo.com>
11740
11741         * gst/gstpad.c: (gst_pad_get_direction),
11742         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11743         (gst_pad_collect_valist):
11744         * testsuite/bins/interface.c: (main):
11745         * testsuite/caps/audioscale.c: (test_caps):
11746         * testsuite/caps/caps.c: (test1), (test2), (test3):
11747         * testsuite/caps/deserialize.c: (main):
11748         * testsuite/caps/enumcaps.c: (main):
11749         * testsuite/caps/filtercaps.c: (main):
11750         * testsuite/caps/intersect2.c: (main):
11751         * testsuite/caps/random.c: (main):
11752         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11753         * testsuite/caps/sets.c: (check_caps):
11754         * testsuite/caps/simplify.c: (check_caps), (main):
11755         * testsuite/caps/subtract.c: (check_caps):
11756         Fix _pad_get_direction wrt ghostpads.
11757         Fix caps testsuite.
11758
11759 2005-03-09  Wim Taymans  <wim@fluendo.com>
11760
11761         * check/Makefile.am:
11762         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11763         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11764         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11765         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11766         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11767         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11768         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11769         (bin_element_is_sink), (gst_bin_iterate_sinks),
11770         (gst_bin_iterate_all_by_interface):
11771         * gst/gstbin.h:
11772         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11773         (gst_element_change_state), (gst_element_dispose),
11774         (gst_element_finalize), (gst_element_set_loop_function):
11775         * gst/gstelement.h:
11776         * gst/gstiterator.c: (find_custom_fold_func):
11777         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11778         (gst_pad_collectv), (gst_pad_collect_valist),
11779         (gst_pad_template_new):
11780         * gst/gstpipeline.c: (gst_pipeline_class_init),
11781         (gst_pipeline_dispose), (gst_pipeline_set_property),
11782         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11783         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11784         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11785         * gst/gstutils.h:
11786         * gst/schedulers/entryscheduler.c:
11787         * gst/schedulers/gstbasicscheduler.c:
11788         (gst_basic_scheduler_cothreaded_chain),
11789         (gst_basic_scheduler_chain_add_element):
11790         * testsuite/bins/interface.c: (main):
11791         Added GstBin test.
11792         Added GstSystemClock test.
11793         Implemented clock distribution code in GstBin.
11794         Implemented iterate sinks method for future use.
11795         Rearranged gstelement.h
11796         Fix GstIterator comparison bug.
11797         Moved some code to GstPipeline, mostly clocking related.
11798
11799 2005-03-09  Wim Taymans  <wim@fluendo.com>
11800
11801         * configure.ac:
11802         * gst/gst_private.h:
11803         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11804         (gst_bin_remove_func), (gst_bin_remove),
11805         (gst_bin_get_by_name_recurse_up):
11806         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11807         (gst_clock_id_compare_func), (gst_clock_id_wait),
11808         (gst_clock_id_wait_async), (gst_clock_init),
11809         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11810         * gst/gstelement.h:
11811         * gst/gstinfo.c: (_gst_debug_init):
11812         * gst/gstobject.h:
11813         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11814         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11815         * gst/gstpad.h:
11816         Bump version number, we're now 0.9.0
11817         Add future debugging category.
11818         Fix NULL _unref() in _get_by_name_recurse_up
11819         Rearrange gstpad.h.
11820         Update some docs.
11821
11822 2005-03-08  Wim Taymans  <wim@fluendo.com>
11823
11824         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11825         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11826         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11827         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11828         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11829         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11830         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11831         * gst/elements/gstidentity.c: (gst_identity_class_init):
11832         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11833         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11834         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11835         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11836         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11837         (gst_tee_link):
11838         * gst/gstelement.c: (gst_element_class_init),
11839         (gst_element_base_class_init), (gst_element_init),
11840         (gst_element_get_random_pad), (gst_element_wait_state_change),
11841         (gst_element_change_state), (gst_element_dispose),
11842         (gst_element_finalize), (gst_element_set_loop_function):
11843         * gst/gstelement.h:
11844         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11845         * gst/gstthread.c: (gst_thread_class_init),
11846         (gst_thread_release_children_locks), (gst_thread_change_state):
11847         * gst/schedulers/gstbasicscheduler.c:
11848         (gst_basic_scheduler_loopfunc_wrapper),
11849         (gst_basic_scheduler_chain_wrapper),
11850         (gst_basic_scheduler_src_wrapper),
11851         (gst_basic_scheduler_remove_element):
11852         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11853         Remove threadsafe properties. Fix elements because GObject
11854         complains when installing a property before declaring a
11855         set/get_property handler.
11856         Rearrange gstelement.h file, use STATE macros for state locks.
11857         Free mutexes in the finalize method instead of dispose.
11858
11859 2005-03-08  Wim Taymans  <wim@fluendo.com>
11860
11861         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11862         * gst/gstthread.c: (gst_thread_release_children_locks):
11863         Added parentage check.
11864         Fix build og GstThread again.
11865
11866 2005-03-08  Wim Taymans  <wim@fluendo.com>
11867
11868         * docs/design/part-MT-refcounting.txt:
11869         * docs/design/part-conventions.txt:
11870         * docs/design/part-gstobject.txt:
11871         * docs/design/part-relations.txt:
11872         * docs/design/part-standards.txt:
11873         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11874         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11875         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11876         (gst_bin_iterate_all_by_interface):
11877         * gst/gstbuffer.h:
11878         * gst/gstclock.h:
11879         * gst/gstelement.c: (gst_element_class_init),
11880         (gst_element_change_state), (gst_element_set_loop_function):
11881         * gst/gstelement.h:
11882         * gst/gstiterator.c:
11883         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11884         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11885         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11886         (gst_object_set_parent), (gst_object_unparent),
11887         (gst_object_check_uniqueness):
11888         * gst/gstobject.h:
11889         Docs updates, clean up some headers.
11890
11891 2005-03-07  Wim Taymans  <wim@fluendo.com>
11892
11893         * check/.cvsignore:
11894         * check/Makefile.am:
11895         * check/gst-libs/.cvsignore:
11896         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11897         * check/gst/.cvsignore:
11898         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11899         (START_TEST), (gstbus_suite), (main):
11900         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11901         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11902         (gst_data_suite), (main):
11903         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11904         (add_fold_func), (gstiterator_suite), (main):
11905         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11906         (thread_name_object), (thread_name_object_default),
11907         (gst_object_name_compare), (gst_object_suite), (main):
11908         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11909         (gst_pad_suite), (main):
11910         * check/gstcheck.c: (gst_check_log_message_func),
11911         (gst_check_log_critical_func), (gst_check_init):
11912         * check/gstcheck.h:
11913         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11914         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11915         Added checks.
11916
11917 2005-03-07  Wim Taymans  <wim@fluendo.com>
11918
11919         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11920         (gst_list_iterator_next), (gst_list_iterator_resync),
11921         (gst_list_iterator_free), (gst_iterator_new_list),
11922         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11923         (gst_iterator_free), (gst_iterator_push), (filter_next),
11924         (filter_resync), (filter_uninit), (filter_free),
11925         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11926         (gst_iterator_foreach), (find_custom_fold_func),
11927         (gst_iterator_find_custom):
11928         * gst/gstiterator.h:
11929         Added missing files.
11930
11931 2005-03-07  Wim Taymans  <wim@fluendo.com>
11932
11933         * Makefile.am:
11934         * configure.ac:
11935         * docs/design/part-MT-refcounting.txt:
11936         * docs/design/part-conventions.txt:
11937         * docs/design/part-gstobject.txt:
11938         * docs/design/part-relations.txt:
11939         * examples/mixer/mixer.c: (main):
11940         * examples/thread/thread.c: (eos), (main):
11941         * gst/Makefile.am:
11942         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11943         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11944         (gst_spider_plug_from_srcpad):
11945         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11946         (gst_spider_identity_change_state),
11947         (gst_spider_identity_sink_loop_type_finding):
11948         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11949         * gst/elements/gstidentity.c: (gst_identity_init):
11950         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11951         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11952         * gst/elements/gsttypefindelement.c: (free_entry):
11953         * gst/gst.c:
11954         * gst/gst.h:
11955         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11956         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11957         (gst_bin_set_index), (gst_bin_set_element_sched),
11958         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11959         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11960         (gst_bin_iterate_elements), (iterate_child_recurse),
11961         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11962         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11963         (compare_interface), (gst_bin_get_by_interface),
11964         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11965         * gst/gstbin.h:
11966         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11967         (gst_buffer_default_free), (gst_buffer_default_copy),
11968         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11969         (gst_buffer_create_sub):
11970         * gst/gstbuffer.h:
11971         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11972         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11973         (gst_caps_unref), (gst_static_caps_get),
11974         (gst_caps_remove_and_get_structure), (gst_caps_append),
11975         (gst_caps_append_structure), (gst_caps_remove_structure),
11976         (gst_caps_copy_nth), (gst_caps_set_simple),
11977         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11978         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11979         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11980         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11981         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11982         (gst_caps_structure_figure_out_union),
11983         (gst_caps_switch_structures), (gst_caps_do_simplify),
11984         (gst_caps_replace), (gst_caps_from_string),
11985         (gst_caps_copy_conditional):
11986         * gst/gstcaps.h:
11987         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11988         (_gst_clock_id_free), (gst_clock_id_unref),
11989         (gst_clock_id_compare_func), (gst_clock_id_wait),
11990         (gst_clock_id_wait_async), (gst_clock_class_init),
11991         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11992         (gst_clock_get_time), (gst_clock_set_time_adjust),
11993         (gst_clock_set_property), (gst_clock_get_property):
11994         * gst/gstclock.h:
11995         * gst/gstcompat.h:
11996         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11997         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11998         * gst/gstdata.h:
11999         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12000         (gst_element_requires_clock), (gst_element_provides_clock),
12001         (gst_element_set_clock), (gst_element_clock_wait),
12002         (gst_element_wait), (gst_element_set_time_delay),
12003         (gst_element_is_indexable), (gst_element_add_pad),
12004         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12005         (pad_compare_name), (gst_element_get_static_pad),
12006         (gst_element_request_pad), (gst_element_get_request_pad),
12007         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12008         (gst_element_class_get_pad_template_list),
12009         (gst_element_class_get_pad_template), (gst_element_error_func),
12010         (gst_element_get_random_pad), (gst_element_get_event_masks),
12011         (gst_element_send_event), (gst_element_seek),
12012         (gst_element_get_query_types), (gst_element_query),
12013         (gst_element_get_formats), (gst_element_convert),
12014         (gst_element_is_locked_state), (gst_element_set_locked_state),
12015         (gst_element_sync_state_with_parent), (gst_element_change_state),
12016         (gst_element_finalize), (gst_element_yield),
12017         (gst_element_interrupt), (gst_element_set_scheduler),
12018         (gst_element_get_scheduler), (gst_element_set_loop_function):
12019         * gst/gstelement.h:
12020         * gst/gstevent.h:
12021         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12022         (gst_format_get_by_nick), (gst_format_get_details),
12023         (gst_format_iterate_definitions):
12024         * gst/gstformat.h:
12025         * gst/gstindex.c: (gst_index_gtype_resolver):
12026         * gst/gstinfo.c:
12027         * gst/gstinfo.h:
12028         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12029         (gst_mem_chunk_free):
12030         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12031         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12032         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12033         (gst_object_dispatch_properties_changed),
12034         (gst_object_set_name_default), (gst_object_set_name),
12035         (gst_object_get_name), (gst_object_set_name_prefix),
12036         (gst_object_get_name_prefix), (gst_object_set_parent),
12037         (gst_object_get_parent), (gst_object_unparent),
12038         (gst_object_check_uniqueness), (gst_object_save_thyself),
12039         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12040         (gst_object_set_property), (gst_object_get_property),
12041         (gst_object_get_path_string):
12042         * gst/gstobject.h:
12043         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12044         (gst_real_pad_init), (gst_real_pad_get_property),
12045         (gst_pad_custom_new), (gst_pad_get_direction),
12046         (gst_pad_set_active), (gst_pad_is_active),
12047         (gst_pad_set_event_function), (gst_pad_is_linked),
12048         (gst_pad_link_free), (gst_pad_link_intersect),
12049         (gst_pad_link_fixate), (gst_pad_set_caps),
12050         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12051         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12052         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12053         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12054         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12055         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12056         (gst_pad_realize), (gst_pad_get_allowed_caps),
12057         (gst_real_pad_dispose), (gst_real_pad_finalize),
12058         (gst_pad_collectv), (gst_pad_collect_valist),
12059         (gst_pad_template_dispose), (gst_pad_template_new),
12060         (gst_pad_get_internal_links):
12061         * gst/gstpad.h:
12062         * gst/gstpipeline.c: (gst_pipeline_dispose),
12063         (gst_pipeline_change_state):
12064         * gst/gstpipeline.h:
12065         * gst/gstplugin.c:
12066         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12067         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12068         * gst/gstpluginfeature.h:
12069         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12070         * gst/gstquery.c: (_gst_query_type_initialize),
12071         (gst_query_type_register), (gst_query_type_get_by_nick),
12072         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12073         * gst/gstquery.h:
12074         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12075         * gst/gstscheduler.c: (gst_scheduler_add_element),
12076         (gst_scheduler_factory_create):
12077         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12078         (gst_structure_free), (gst_structure_set_name),
12079         (gst_structure_id_set_value), (gst_structure_set_value),
12080         (gst_structure_set_valist), (gst_structure_remove_field),
12081         (gst_structure_remove_fields),
12082         (gst_structure_remove_fields_valist),
12083         (gst_structure_remove_all_fields), (gst_structure_foreach),
12084         (gst_structure_map_in_place),
12085         (gst_caps_structure_fixate_field_nearest_int),
12086         (gst_caps_structure_fixate_field_nearest_double):
12087         * gst/gststructure.h:
12088         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12089         (gst_system_clock_init), (gst_system_clock_dispose),
12090         (gst_system_clock_async_thread),
12091         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12092         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12093         * gst/gstsystemclock.h:
12094         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12095         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12096         * gst/gsttaginterface.c:
12097         * gst/gstthread.c: (gst_thread_dispose),
12098         (gst_thread_release_children_locks), (gst_thread_change_state),
12099         (gst_thread_main_loop):
12100         * gst/gsttrashstack.h:
12101         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12102         * gst/gsttypes.h:
12103         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12104         (gst_element_request_pad), (gst_element_get_pad_from_template),
12105         (gst_element_request_compatible_pad),
12106         (gst_element_get_compatible_pad_filtered),
12107         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12108         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12109         (gst_element_link_many), (gst_element_link),
12110         (gst_element_link_pads), (gst_element_unlink_pads),
12111         (gst_element_unlink_many), (gst_element_unlink),
12112         (gst_pad_can_link_filtered), (gst_pad_can_link),
12113         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12114         (gst_object_default_error), (gst_bin_add_many),
12115         (gst_bin_remove_many), (gst_element_populate_std_props),
12116         (gst_element_class_install_std_props), (gst_buffer_merge),
12117         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12118         (link_fold_func), (gst_pad_proxy_setcaps):
12119         * gst/gstutils.h:
12120         * gst/gstvalue.c: (gst_value_deserialize_string):
12121         * gst/parse/grammar.y:
12122         * gst/schedulers/gstbasicscheduler.c:
12123         (gst_basic_scheduler_cothreaded_chain),
12124         (gst_basic_scheduler_chain_recursive_add),
12125         (gst_basic_scheduler_pad_link):
12126         * gst/schedulers/gstoptimalscheduler.c:
12127         (get_group_schedule_function),
12128         (gst_opt_scheduler_state_transition),
12129         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12130         * libs/gst/bytestream/bytestream.c:
12131         * libs/gst/dataprotocol/dataprotocol.c:
12132         (gst_dp_header_from_buffer):
12133         * po/nb.po:
12134         * po/ru.po:
12135         * tests/threadstate/threadstate2.c: (eos):
12136         * tools/gst-compprep.c: (main):
12137         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12138         (print_pad_info), (print_children_info):
12139         * tools/gst-launch.c: (idle_func), (main):
12140         * tools/gst-md5sum.c: (idle_func), (main):
12141         * tools/gst-xmlinspect.c: (print_element_info):
12142         First THREADED backport attempt, focusing on adding locks and
12143         making sure the API is threadsafe. Needs more work. More docs
12144         follow this week.
12145
12146 2005-02-24  Andy Wingo  <wingo@pobox.com>
12147
12148         * tests/bench-complexity.scm:
12149         * tests/complexity.gnuplot: New files, good for running complexity
12150         benchmarks.
12151
12152         * tests/Makefile.am:
12153         * tests/complexity.c: New test, sets up N elements, at each level
12154         teeing into M streams per element. Eeeenteresting.
12155
12156         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12157         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12158         running bench-mass_elements.scm.
12159
12160         * tests/bench-mass_elements.scm: New script, runs mass_elements
12161         for various numbers of identities, outputting the results to a
12162         file. Requires guile 1.6. Just for testing.
12163
12164 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12165
12166         * gst/schedulers/fairscheduler.c:
12167           compile with debug disabled
12168
12169 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12170
12171         * configure.ac:
12172           hunting season on 0.9 is now OPEN