check/Makefile.am: Oops, that should have been top_srcdir
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * check/Makefile.am:
4         Oops, that should have been top_srcdir
5
6 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7
8         * check/Makefile.am:
9         * check/elements/fdsrc.c: (GST_START_TEST):
10         Use a cmdline define to specify the location of a file to use for
11         testing, to avoid breaking distcheck.
12
13 2005-11-28  Andy Wingo  <wingo@pobox.com>
14
15         * gst/gstpad.c (fixate_value): Use array functions for arrays.
16
17 2005-11-28  Edward Hervey  <edward@fluendo.com>
18
19         * tools/gst-launch.c: (main):
20         Clarify the output strings, makes it easier to translate.
21         Fixes #322626
22
23 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24
25         * gst/Makefile.am:
26           don't try and build net if we don't even have <sys/socket.h>
27
28 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
29
30         * check/Makefile.am:
31         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
32         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
33           Add tests for fdsrc seekability
34
35         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
36         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
37         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
38         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
39         * gst/elements/gstfdsrc.h:
40           fdsrc should not be a 'live' source.
41           Implement seeking on seekable fd's.
42
43         * gst/gstquery.c: (gst_query_new_seeking),
44         (gst_query_parse_seeking):
45         * gst/gstquery.h:
46           Implement SEEKING query functions: 
47             *_new_seeking and *_parse_seeking
48
49 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
50
51         * gst/gstelement.c: (gst_element_dispose):
52           don't loop forever
53
54         * gst/gstiterator.c:
55         * gst/gststructure.c:
56           doc fixes
57
58         * libs/gst/controller/gstcontroller.c:
59         (gst_controlled_property_set_interpolation_mode):
60         * libs/gst/controller/gstcontroller.h:
61         * libs/gst/controller/gstinterpolation.c:
62         (interpolate_none_get_enum_value_array):
63           support controlling enums
64
65 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
66
67         * gst/gstvalue.c:
68           Improve documentation for gst_value_union().
69
70         * gst/gstvalue.h:
71           Change return value for union, intersect and subtract functions
72           from gint to gboolean.
73
74 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
75
76         * gst/gstvalue.c: (gst_value_serialize_any_list),
77         (gst_value_transform_any_list_string),
78         (gst_value_deserialize_list), (gst_value_deserialize_array),
79         (gst_value_set_int_range), (gst_value_deserialize_int_range),
80         (gst_value_set_double_range), (gst_value_deserialize_double_range),
81         (gst_value_set_fraction_range_full),
82         (gst_value_deserialize_fraction_range),
83         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
84         (gst_value_deserialize_boolean),
85         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
86         (gst_value_serialize_float), (gst_value_deserialize_float),
87         (gst_string_wrap), (gst_value_deserialize_string),
88         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
89         (gst_value_union_int_range_int_range),
90         (gst_value_intersect_int_range_int_range),
91         (gst_value_intersect_double_range_double_range),
92         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
93         (gst_value_subtract_int_range_int_range),
94         (gst_value_subtract_double_double_range),
95         (gst_value_subtract_double_range_double_range),
96         (gst_value_deserialize_fraction):
97         * gst/gstvalue.h:
98           Use gint, gdouble and gchar in our API instead of int, double and
99           char (and make usage in gstvalue.c more consistent).
100
101 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
102
103         * check/Makefile.am:
104         * libs/gst/controller/Makefile.am:
105         * libs/gst/dataprotocol/Makefile.am:
106           fix up Makefile.am and remove GST_ENABLE_NEW
107
108 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
109
110         * configure.ac:
111         * gst/Makefile.am:
112         * gst/base/Makefile.am:
113         * gst/check/Makefile.am:
114         * gst/elements/Makefile.am:
115         * gst/net/Makefile.am:
116           update LDFLAGS use some more
117
118 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
119
120         * common/m4/gst-doc.m4:
121           Fixes #312589
122
123 2005-11-26  Edward Hervey  <edward@fluendo.com>
124
125         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
126         This shouldn't issue a g_warning since it returns NULL if it
127         couldn't find the plugin, and all functions using this behave
128         properly on a NULL return. Switching to a GST_WARNING.
129
130 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
131
132         * gst/gstbin.c: (gst_bin_handle_message_func):
133         Don't leak clock messages.
134
135 2005-11-25  Wim Taymans  <wim@fluendo.com>
136
137         * gst/gstutils.c: (gst_util_uint64_scale_int64),
138         (gst_util_uint64_scale_int):
139         Optimisations, remove unneeded vars.
140
141 2005-11-25  Wim Taymans  <wim@fluendo.com>
142
143         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
144         Added more checks for the high precision uint64 cases.
145
146         * gst/gstutils.c: (gst_util_uint64_scale_int64),
147         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
148         Implement high precission (guint64 * guint64) / guint64.
149
150 2005-11-24  Wim Taymans  <wim@fluendo.com>
151
152         * gst/base/gstbasesrc.c: (gst_base_src_query):
153         Fix wrong percentage query.
154
155         * gst/gstutils.c: (gst_util_uint64_scale),
156         (gst_util_uint64_scale_int):
157         Add some more common cases that can be handled 
158         efficiently to _scale.
159
160 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
161
162         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
163         (gst_mini_object_suite):
164           don't use check calls from threads; check probably isn't
165           threadsafe and using a lock to make it threadsafe would
166           defeat the purpose of this check
167         * gst/check/gstcheck.c:
168         * gst/check/gstcheck.h:
169           use GST_DEBUG some more
170
171 2005-11-24  Wim Taymans  <wim@fluendo.com>
172
173         * gst/gstutils.c: (gst_util_uint64_scale),
174         (gst_util_uint64_scale_int):
175         Chain trivial case to _scale_int.
176
177 2005-11-24  Wim Taymans  <wim@fluendo.com>
178
179         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
180         Added test for scaling.
181
182         * gst/gstclock.h:
183         Small doc fix.
184
185         * gst/gstutils.c: (gst_util_uint64_scale_int):
186         Implemented high precision scaling code.
187
188 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
189
190         * gst/gstinfo.h:
191           do not crash on pad==NULL
192
193 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
194
195         Patch by: Stefan Kost
196
197         * common/gtk-doc.mak:
198         * docs/gst/Makefile.am:
199         * docs/libs/Makefile.am:
200           Fix distcheck issues for the libraries docs build
201           Closes #319599.
202
203 2005-11-24  Michael Smith <msmith@fluendo.com>
204
205         * docs/manual/basics-helloworld.xml:
206           Fix bug #315027: memory leak in example code in docs.
207
208 2005-11-24  Michael Smith <msmith@fluendo.com>
209
210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
211           Unlock the PREROLL_LOCK in a failure case.
212
213 2005-11-24  Wim Taymans  <wim@fluendo.com>
214
215         * docs/gst/gstreamer-sections.txt:
216         * gst/base/gstadapter.h:
217         * gst/base/gstbasesink.h:
218         * gst/base/gstbasesrc.h:
219         * gst/base/gstbasetransform.h:
220         * gst/base/gstpushsrc.h:
221         * gst/elements/gstfakesink.h:
222         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
223         * gst/elements/gstfakesrc.h:
224         * gst/elements/gstfilesink.h:
225         * gst/elements/gstfilesrc.h:
226         * gst/gst.c:
227         * gst/gstbin.c:
228         * gst/gstbuffer.c: (_gst_buffer_copy):
229         * gst/gstbus.h:
230         * gst/gstcaps.c:
231         * gst/gstchildproxy.c:
232         * gst/gstclock.c:
233         * gst/gstelement.c:
234         * gst/gstelementfactory.c:
235         * gst/gstelementfactory.h:
236         * gst/gstevent.c:
237         * gst/gstghostpad.h:
238         * gst/gstindex.h:
239         * gst/gstinterface.h:
240         * gst/gstminiobject.c:
241         * gst/gstminiobject.h:
242         * gst/gstpad.c:
243         * gst/gstpad.h:
244         * gst/gstpadtemplate.h:
245         * gst/gstpipeline.h:
246         * gst/gstpluginfeature.h:
247         * gst/gstquery.h:
248         * gst/gstqueue.h:
249         * gst/gsttaglist.c:
250         * gst/gsttaglist.h:
251         * gst/gsttagsetter.c:
252         * gst/gsttagsetter.h:
253         * gst/gsttrace.c:
254         * gst/gsttrace.h:
255         * gst/gsttypefind.h:
256         * gst/gsturi.h:
257         * gst/gstvalue.c:
258         * gst/net/gstnetclientclock.c:
259         * gst/net/gstnetclientclock.h:
260         * gst/net/gstnettimepacket.c:
261         * gst/net/gstnettimeprovider.c:
262         * gst/net/gstnettimeprovider.h:
263         Doc fixes.
264
265 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
266
267         * configure.ac: back to HEAD
268
269 === release 0.9.6 ===
270
271 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
272
273         * configure.ac:
274           releasing 0.9.6, "Always On Time"
275
276 2005-11-23  Wim Taymans  <wim@fluendo.com>
277
278         * docs/gst/gstreamer-sections.txt:
279         * gst/glib-compat.c:
280         * gst/gsttagsetter.c:
281         * gst/gstvalue.c:
282         * gst/net/gstnetclientclock.c:
283         * gst/net/gstnettimepacket.h:
284         Doc updates.
285
286 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
287
288         * docs/faq/using.xml:
289         * docs/libs/tmpl/gstcontrol.sgml:
290         * docs/manual/advanced-dparams.xml:
291         * docs/manual/appendix-checklist.xml:
292         * docs/manual/basics-elements.xml:
293         * docs/pwg/other-source.xml:
294         * docs/random/moving-plugins:
295         * gst/gstpad.c:
296         * tools/gst-launch.1.in:
297           remove mentions of sinesrc
298
299 2005-11-23  Michael Smith <msmith@fluendo.com>
300
301         * docs/gst/gstreamer-sections.txt:
302           Update for new API and API changes.
303         * gst/gstobject.h:
304           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
305         * gst/gstvalue.c:
306           Documentation typo fix.
307         * gst/net/gstnettimepacket.c:
308           Documentation fixes for arguments.
309
310 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
311
312         * gst/gststructure.c: (gst_structure_get_fraction),
313         (gst_structure_parse_value),
314         (gst_structure_fixate_field_nearest_fraction):
315         * gst/gststructure.h:
316         * gst/gstutils.c: (gst_util_uint64_scale_int):
317         * gst/gstutils.h:
318         * scripts/update-funcnames:
319         API Changes. 
320         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
321         Make gst_structure_fixate_field_nearest_fraction take a numerator
322         and denominator argument instead of a GValue
323         add gst_structure_get_fraction helper function.
324
325 2005-11-23  Wim Taymans  <wim@fluendo.com>
326
327         * docs/design/part-TODO.txt:
328         Update TODO.
329
330         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
331         * gst/net/gstnetclientclock.h:
332         Use parent fields for timeout and window_size.
333
334 2005-11-23  Andy Wingo  <wingo@pobox.com>
335
336         * check/net/gstnetclientclock.c (test_functioning): Adjust to
337         rate_num/rate_denom change.
338
339         * gst/net/gstnetclientclock.c
340         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
341         OBJECT_LOCK. Don't call add_observation with the lock.
342
343         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
344         fraction.
345         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
346         rate fraction.
347         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
348         deal with rate as a fraction whose numerator and denominator are
349         GstClockTime values.
350         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
351         master; the other fields are protected by the SLAVE_LOCK.
352         (do_linear_regression): Note that this must be called with the
353         SLAVE_LOCK.
354         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
355         OBJECT_LOCK. Call set_calibration instead of touching the
356         variables directly.
357         (gst_clock_set_property, gst_clock_get_property): Protect
358         master/slave parameters with the SLAVE_LOCK.
359
360         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
361         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
362         note that all of the instance variables that add_observation and
363         the set_master functions use are protected by that lock and not
364         the OBJECT_LOCK.
365         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
366
367         * gst/gstclock.c (gst_clock_add_observation): No longer requires
368         the caller to take the object lock.
369
370 2005-11-23  Wim Taymans  <wim@fluendo.com>
371
372         * gst/gsterror.c: (_gst_core_errors_init):
373         * gst/gsterror.h:
374         Add error for clock stuff.
375
376         * gst/gstpipeline.c: (gst_pipeline_change_state),
377         (gst_pipeline_set_clock):
378         Post clock error when clock cannot be used in a pipeline.
379
380 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
381
382         * docs/gst/gstreamer-sections.txt:
383           make two symbols from gstinfo private for the docs
384         * gst/base/gstcollectpads.h:
385         * gst/gstutils.c:
386           fix doc typos, update docs
387
388 2005-11-22  Wim Taymans  <wim@fluendo.com>
389
390         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
391         (gst_base_sink_wait), (gst_base_sink_do_sync),
392         (gst_base_sink_handle_event):
393         * gst/base/gstbasesink.h:
394         No need to store the clock, the parent element class already
395         has it.
396
397         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
398         Updates for clock_set returning a gboolean
399
400         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
401         (gst_clock_id_wait_async), (gst_clock_class_init),
402         (gst_clock_init), (gst_clock_finalize),
403         (gst_clock_get_internal_time), (gst_clock_get_time),
404         (gst_clock_slave_callback), (gst_clock_set_master),
405         (gst_clock_get_master), (do_linear_regression),
406         (gst_clock_add_observation), (gst_clock_set_property),
407         (gst_clock_get_property):
408         * gst/gstclock.h:
409         Implement master/slave. When setting a clock as a slave, a
410         periodic timeout is scheduled to sample master and slave times.
411         Then the slave clock is recalibrated to match offset and rate
412         of the master clock.
413         Update logging a bit.
414         Add flag so that a clock can state that is cannot be slaved to
415         another clock.
416
417         * gst/gstelement.c: (gst_element_set_clock):
418         * gst/gstelement.h:
419         The set clock returns a gboolean for when an element cannot
420         deal with the selected clock in the pipeline. 
421
422         * gst/gstpipeline.c: (gst_pipeline_change_state),
423         (gst_pipeline_set_clock):
424         * gst/gstpipeline.h:
425         Handle the case where the selected clock cannot be set on
426         the pipeline.
427
428         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
429         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
430         (gst_net_client_clock_set_property),
431         (gst_net_client_clock_get_property),
432         (gst_net_client_clock_observe_times):
433         * gst/net/gstnetclientclock.h:
434         Use regression code in GstClock parent, remove duplicated
435         functionality.
436
437 2005-11-22  Michael Smith <msmith@fluendo.com>
438
439         * gst/gstutils.c: (gst_util_clock_time_scale):
440         * gst/gstutils.h:
441         * docs/gst/gstreamer-sections.txt:
442           Rename method to have extra underscore.
443
444 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
445
446         * gst/elements/Makefile.am:
447         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
448         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
449         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
450         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
451         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
452         * gst/elements/gstfakesrc.h:
453         * gst/gstqueue.c: (queue_leaky_get_type):
454           correctly fix GEnumValues so that nick is the short lowercase
455           dashed tag
456         * tools/gst-inspect.c: (print_element_properties_info):
457           also show the nick, since it's useful to use from parse_launch
458           syntax
459           Fixes #322139
460
461 2005-11-22  Michael Smith <msmith@fluendo.com>
462
463         * gst/gstutils.c: (gst_util_clocktime_scale):
464         * gst/gstutils.h:
465         * docs/gst/gstreamer-sections.txt:
466           Add util method for scaling a clocktime by a fraction. Useful 
467           implementation is left as an exercise for the reader.
468
469 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
470
471         * gst/gstvalue.c: (gst_value_collect_fraction_range):
472         If needed, allocate storage in the destination value during
473         collection.
474
475 2005-11-22  Edward Hervey  <edward@fluendo.com>
476
477         * docs/gst/gstreamer-sections.txt:
478         * gst/Makefile.am:
479         * gst/gst.h:
480         * gst/gsturitype.c:
481         * gst/gsturitype.h:
482         * gst/gstutils.c: (gst_util_set_object_arg):
483         * tools/gst-compprep.c: (main):
484         * tools/gst-inspect.c: (print_element_properties_info):
485         Removed GstURI, closes bug #321061
486
487 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
488
489         * check/gst/gststructure.c: (GST_START_TEST):
490         * gst/gststructure.c: (gst_structure_parse_value):
491           Oops, broke automatic string type parsing.
492           Add a test to catch it in future.
493
494 2005-11-22  Andy Wingo  <wingo@pobox.com>
495
496         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
497         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
498         Actually rename the function implementations. Grr.
499
500 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
501
502         * check/gst/capslist.h:
503           Comment test cases
504         * check/gst/gststructure.c: (GST_START_TEST),
505         (gst_structure_suite):
506           Test automatic value type detection in gst_structure_from_string.
507         * gst/gststructure.c: (gst_structure_parse_value):
508           Add fraction as a type we try and guess automatically in
509           caps/structure strings.
510
511 2005-11-22  Andy Wingo  <wingo@pobox.com>
512
513         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
514
515         * gst/gsttagsetter.h:
516         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
517         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
518         (gst_tag_setter_add_tag_valist)
519         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
520         _add_values, _add_valist, and _add_valist_values. Since this is an
521         interface the function suffixes should be more explicit so
522         language binding don't end up with element.add_valist ->
523         gst_tag_setter_add_valist, for example. Fixes #322069.
524
525 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
526
527         * check/gst/gstcaps.c: (GST_START_TEST):
528           Extend caps string tests to check that a caps to string
529           conversion is reversible and produces the same caps.
530
531         * gst/gststructure.c: (gst_structure_value_get_generic_type):
532           Output "fraction" as the generic type fraction range, so caps
533           serialisation and deserialisation works.
534         * check/gst/capslist.h:
535         * gst/gstvalue.c: (gst_value_deserialize_fraction):
536           Support 'MIN' and 'MAX' for deserialising fractions.
537
538 2005-11-22  Andy Wingo  <wingo@pobox.com>
539
540         * gst/gstevent.h (gst_event_new_new_segment)
541         (gst_event_parse_new_segment, gst_event_new_buffer_size)
542         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
543         Renamed from *_newsegment, *_buffersize, *_notarget.
544
545         * scripts/update-funcnames: New script, performs the changes
546         listed above.
547
548 2005-11-22  Wim Taymans  <wim@fluendo.com>
549
550         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
551         Make sure the GstFlowReturn is returned.
552
553         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
554         (gst_bus_add_signal_watch):
555         * gst/gstbus.h:
556         add gst_bus_add_signal_watch_full.
557
558         * gst/gstplugin.c: (gst_plugin_load_file):
559         Small style cleanup.
560
561 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
562
563         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
564           Block the fakesrc srcpad when we send an event, to avoid
565           contention on the stream_lock causing random test failures.
566
567 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
568
569         * check/gst/gstvalue.c: (GST_START_TEST):
570         * gst/gstvalue.c: (gst_value_fraction_subtract):
571           Fix subtraction.
572
573 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
574
575         * gst/gst.h:
576           include "gstchildproxy.h"
577         * gst/gstchildproxy.h:
578         * libs/gst/controller/gstcontroller.h:
579           use G_GNUC_NULL_TERMINATED
580
581 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
582
583         * check/gst/capslist.h:
584         * check/gst/gstcaps.c: (GST_START_TEST):
585         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
586         * gst/gststructure.c: (gst_structure_parse_range),
587         (gst_structure_fixate_field_nearest_fraction):
588         * gst/gststructure.h:
589         * gst/gstvalue.c: (gst_value_init_fraction_range),
590         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
591         (gst_value_collect_fraction_range),
592         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
593         (gst_value_set_fraction_range_full),
594         (gst_value_get_fraction_range_min),
595         (gst_value_get_fraction_range_max),
596         (gst_value_serialize_fraction_range),
597         (gst_value_transform_fraction_range_string),
598         (gst_value_compare_fraction_range),
599         (gst_value_deserialize_fraction_range),
600         (gst_value_intersect_fraction_fraction_range),
601         (gst_value_intersect_fraction_range_fraction_range),
602         (gst_value_subtract_fraction_fraction_range),
603         (gst_value_subtract_fraction_range_fraction),
604         (gst_value_subtract_fraction_range_fraction_range),
605         (gst_value_collect_fraction), (gst_value_fraction_multiply),
606         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
607         (gst_value_transform_string_fraction), (_gst_value_initialize):
608         * gst/gstvalue.h:
609           Implement fraction ranges and extend GstFraction to support
610           arithmetic subtraction, as well as deserialization from integer
611           strings such as "100"
612           Add a testsuite as for int and double range set operations
613
614 2005-11-21  Andy Wingo  <wingo@pobox.com>
615
616         * gst/gsttaglist.h: 
617         * gst/gstcaps.h: 
618         * gst/gststructure.h: Add glib-compat.h.
619
620 2005-11-21  Wim Taymans  <wim@fluendo.com>
621
622         * gst/gstbin.c: (gst_bin_change_state_func):
623         Fix for #321595
624
625 2005-11-21  Wim Taymans  <wim@fluendo.com>
626
627         * gst/gstsegment.h:
628         And add a nice define too.
629
630 2005-11-21  Wim Taymans  <wim@fluendo.com>
631
632         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
633         (gst_segment_new), (gst_segment_free), (gst_segment_init),
634         (gst_segment_set_duration), (gst_segment_set_last_stop),
635         (gst_segment_set_seek), (gst_segment_set_newsegment),
636         (gst_segment_to_stream_time), (gst_segment_to_running_time),
637         (gst_segment_clip):
638         * gst/gstsegment.h:
639         Make binding friendly.
640
641 2005-11-21  Andy Wingo  <wingo@pobox.com>
642
643         * gst/gsttagsetter.h: 
644         * gst/gsttaglist.h: 
645         * gst/gststructure.h: 
646         * gst/gstcaps.h: 
647         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
648         #319940.
649
650         * gst/gsterror.c (_gst_core_errors_init):
651         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
652         category.
653
654         * gst/Makefile.am (gst_headers): Add glib-compat.h.
655         (noinst_HEADERS): noinst the -private.
656
657 2005-11-21  Michael Smith <msmith@fluendo.com>
658
659         * gst/gstplugin.h:
660         * gst/gstregistry.h:
661           Remove unimplemented declarations for which we can see no sensible
662           use.
663
664 2005-11-21  Andy Wingo  <wingo@pobox.com>
665
666         * gst/gst.h: Include glib-compat.h.
667
668         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
669
670         * gst/glib-compat.c: Include the public and the private header.
671
672         * gst/glib-compat-private.h: Copied here from glib-compat.h.
673
674         * gst/gstvalue.c: 
675         * gst/gstpad.c: 
676         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
677
678         * check/gst/gstevent.c (create_custom_events): Check that
679         FLUSH_STOP is serialized.
680
681         * check/elements/identity.c (event_func): 
682         * check/elements/fakesrc.c (event_func): No stream lock, the core
683         takes it.
684
685         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
686         stream lock taking, yay.
687
688         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
689         ensure that core takes the stream lock.
690
691         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
692         lock name change.
693
694         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
695         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
696         it already. For the flush start we do take it though so we get the
697         right preroll state change messages.
698
699         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
700         the stream lock here, the core does it for us.
701
702         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
703         GST_STREAM_GET_LOCK.
704         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
705         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
706         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
707         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
708         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
709         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
710
711         * gst/gstpad.c: Update for stream lock name change.
712
713         * gst/base/gstbasesink.c: Update for preroll lock name change.
714
715 2005-11-21  Wim Taymans  <wim@fluendo.com>
716
717         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
718         (gst_clock_get_master):
719         * gst/gstclock.h:
720         * gst/gstsystemclock.c: (gst_system_clock_init):
721         Convert Clock flags to object flags.
722         Added methods to manage master/slave clocks.
723
724 2005-11-21  Wim Taymans  <wim@fluendo.com>
725
726         * check/gst/gstsegment.c: (GST_START_TEST):
727         * docs/design/part-TODO.txt:
728         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
729         (gst_base_sink_event), (gst_base_sink_do_sync),
730         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
731         (gst_base_sink_query), (gst_base_sink_change_state):
732         * gst/base/gstbasesink.h:
733         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
734         (gst_base_src_default_newsegment),
735         (gst_base_src_configure_segment), (gst_base_src_do_seek),
736         (gst_base_src_get_range), (gst_base_src_loop),
737         (gst_base_src_change_state):
738         * gst/base/gstbasesrc.h:
739         * gst/base/gstbasetransform.c:
740         (gst_base_transform_prepare_output_buf),
741         (gst_base_transform_event), (gst_base_transform_change_state):
742         * gst/base/gstbasetransform.h:
743         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
744         (gst_collect_pads_event):
745         * gst/base/gstcollectpads.h:
746         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
747         (gst_fake_src_create):
748         * gst/elements/gstfakesrc.h:
749         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
750         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
751         (gst_segment_set_last_stop), (gst_segment_set_seek),
752         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
753         (gst_segment_to_running_time), (gst_segment_clip):
754         * gst/gstsegment.h:
755         More segment updates, replace code in plugins with segment
756         helper functions.
757
758 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
759
760         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
761         Don't ignore sscanf results
762
763 2005-11-21  Andy Wingo  <wingo@pobox.com>
764
765         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
766
767         * *.h:
768         * *.c: Ran scripts/update-macros. Oh yes.
769
770         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
771         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
772         GST_GET_LOCK, etc.
773
774         * scripts/update-macros: New script. Run it on your files to
775         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
776         well.
777
778 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
779
780         * docs/gst/Makefile.am:
781         * docs/gst/gstreamer-docs.sgml:
782         * docs/gst/gstreamer-sections.txt:
783         * docs/gst/gstreamer.types:
784         * gst/gstinfo.h:
785           more docs fixes, add new api to the docs
786
787 2005-11-21  Andy Wingo  <wingo@pobox.com>
788
789         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
790         state_broadcast call.
791
792         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
793
794 2005-11-21  Julien MOUTTE  <julien@moutte.net>
795
796         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
797         function calls for arrays.
798
799 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
800
801         * docs/random/ensonic/media-device-daemon.txt:
802           wild idea, can this be done?
803         * docs/gst/gstreamer-sections.txt:
804         * gst/gsterror.h:
805         * gst/gstfilter.c:
806         * gst/gstfilter.h:
807         * gst/gstplugin.h:
808         * gst/gstpluginfeature.c:
809         * gst/gsttrace.c:
810         * gst/gstvalue.c:
811         * gst/gstvalue.h:
812           doc fixes and additions
813
814 2005-11-21  Andy Wingo  <wingo@pobox.com>
815
816         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
817         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
818         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
819         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
820         private to the basesrc implementation.
821
822         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
823         behalf of event function if necessary. It should no longer be
824         necessary to take the stream lock in pad's event functions. Fixes
825         #320299.
826
827 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
828         * docs/gst/gstreamer-sections.txt:
829         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
830         (gst_structure_fixate_field_nearest_double),
831         (gst_structure_fixate_field_boolean):
832         * gst/gststructure.h:
833         * win32/common/libgstreamer.def:
834         * win32/gstreamer.def:
835
836         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
837         (#322027)
838
839 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
840
841         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
842         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
843         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
844         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
845         (gst_fdsrc_uri_handler_init):
846         * gst/elements/gstfdsrc.h:
847           Port fd:// URI handler from 0.8 to fdsrc
848
849 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
850
851         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
852         (gst_value_serialize_fourcc):
853         * gst/gstvalue.h:
854           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
855           consistent with our other format defines (#320324).
856
857 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
858
859         * gst/gstvalue.c: (gst_value_is_fixed):
860           Revert previous commit. Value lists are by definition
861           not fixed, as they are a list of possible values.
862
863 2005-11-21  Andy Wingo  <wingo@pobox.com>
864
865         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
866         during the stable series if we need it. Fixes #319178.
867
868         * gst/gstevent.c (gst_event_new_filler): Removed.
869
870         * check/gst/gstevent.c: Update comment about filler events.
871
872 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
873
874         * gst/gstvalue.c: (gst_value_is_fixed):
875           Should handle both value arrays and value lists.
876
877 2005-11-21  Andy Wingo  <wingo@pobox.com>
878
879         patch by: Alessandro Dessina <alessandro nnva org>
880
881         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
882         functions to access arrays. Fixes #321962.
883
884 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
885
886         * docs/gst/gstreamer.types:
887           gst_collectpads_get_type => gst_collect_pads_get_type.
888           
889         * gst/base/gstbasetransform.c:
890           Remove unused SIGNAL_HANDOFF enum.
891
892 2005-11-21  Andy Wingo  <wingo@pobox.com>
893
894         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
895         the event type (upstream, downstream, serialized). Renamed
896         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
897         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
898         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
899
900         * gst/gstevent.c: Update for new CUSTOM event names.
901
902         * check/gst/gstevent.c: Update check for new CUSTOM event names.
903
904         * gst/gstevent.h:
905         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
906         bug #319392.
907
908 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
909
910         * docs/gst/gstreamer-sections.txt:
911         * win32/common/libgstbase.def:
912         * win32/libgstbase.def:
913         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
914         (gst_collect_pads_class_init), (gst_collect_pads_init),
915         (gst_collect_pads_finalize), (gst_collect_pads_new),
916         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
917         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
918         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
919         (gst_collect_pads_start), (gst_collect_pads_stop),
920         (gst_collect_pads_peek), (gst_collect_pads_pop),
921         (gst_collect_pads_available), (gst_collect_pads_read),
922         (gst_collect_pads_flush), (gst_collect_pads_event),
923         (gst_collect_pads_chain):
924         * gst/base/gstcollectpads.h:
925           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
926           unimplemented functions as unimplemented. Add padding to
927           GstCollectData. (#320766, #320423)
928
929 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
930
931         * gst/gstmessage.c:
932           Improve docs for DURATION message (usage of duration parameter)
933           (#320113)
934
935 2005-11-20  Wim Taymans  <wim@fluendo.com>
936
937         * check/Makefile.am:
938         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
939         (main):
940         * gst/Makefile.am:
941         * gst/gst.h:
942         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
943         (gst_segment_set_seek), (gst_segment_set_newsegment),
944         (gst_segment_to_stream_time), (gst_segment_to_running_time),
945         (gst_segment_clip):
946         * gst/gstsegment.h:
947         Added segment helper structure and methods. Not fully implemented
948         yet.
949         Added segment check.
950
951 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
952
953         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
954           Add a deserialisation test for fractions
955         * examples/metadata/read-metadata.c: (message_loop),
956         (make_pipeline), (main):
957           Fix up metadata reading sample.
958         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
959           Debug format fix
960         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
961           Don't try and fixate empty caps
962         * gst/gst_private.h:
963           Wrap in G_BEGIN_DECLS/G_END_DECLS
964         * gst/gstvalue.c: (gst_value_collect_fraction),
965         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
966         (gst_value_transform_string_fraction),
967         (gst_value_compare_fraction):
968           Add some extra guards to ensure that we don't end up 
969           with an invalid denominator of 0 in a gstfraction and
970           that fractions always get reduced.
971
972 2005-11-20  Wim Taymans  <wim@fluendo.com>
973
974         * docs/gst/gstreamer-sections.txt:
975         * gst/gstbuffer.h:
976         * gst/gstelement.c:
977         * gst/gstformat.c:
978         * gst/gstformat.h:
979         * gst/gstindex.h:
980         * gst/gstquery.c:
981         * gst/gstquery.h:
982         * gst/gstvalue.c:
983         Doc fixes.
984
985 2005-11-20  Wim Taymans  <wim@fluendo.com>
986
987         * docs/design/part-TODO.txt:
988         * gst/gstcaps.h:
989         Make a proper enum of the flag.
990
991 2005-11-19  Wim Taymans  <wim@fluendo.com>
992
993         * docs/design/part-TODO.txt:
994         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
995         (gst_format_to_quark), (gst_format_register):
996         * gst/gstformat.h:
997         * gst/gstquery.c: (_gst_query_initialize),
998         (gst_query_type_get_name), (gst_query_type_to_quark),
999         (gst_query_type_register):
1000         * gst/gstquery.h:
1001         Add type to quark and type to string conversions.
1002
1003 2005-11-19  Andy Wingo  <wingo@pobox.com>
1004
1005         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1006         #320097.
1007
1008 2005-11-19  Wim Taymans  <wim@fluendo.com>
1009
1010         * docs/design/part-TODO.txt:
1011         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1012         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1013         (gst_bin_handle_message_func):
1014         * gst/gstbin.h:
1015         Make message handling overridable.
1016
1017 2005-11-19  Andy Wingo  <wingo@pobox.com>
1018
1019         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1020
1021         * gst/gstclock.h:
1022         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1023         be a GstClockTime.
1024         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1025         is a GstClockTime. Fixes #321710.
1026
1027         * gst/gstclock.h (GstClock): Remove offset property. Add
1028         internal_calibration and external_calibration. Fix padding. Pad
1029         also by GstClockTime so we don't run into problems.
1030
1031         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1032         (gst_clock_get_rate_offset): Remove.
1033         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1034
1035         * gst/gstutils.h:
1036         * gst/gstutils.c (g_static_rec_cond_wait)
1037         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1038
1039         * gst/gstbin.c: Remove terrible continue_state prototype.
1040
1041         * gst/gstelement.h (gst_element_continue_state): Make public.
1042
1043         * gst/gstelement.h:
1044         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1045         by continue_state. Fixes #319389.
1046
1047         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1048         Really fixes #168438. However I don't see anywhere where the
1049         filter function is called... stupid GStreamer...
1050         
1051         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1052         don't have a dispose function, so it won't get called when the
1053         object is unreffed, but oh well!
1054
1055         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1056         allows a destroy function to be set so user_data can be freed.
1057         Fixes #168438.
1058         (gst_index_set_filter): Call gst_index_set_filter_full.
1059
1060         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1061
1062         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1063         string should produce an error, given the lack of a way to
1064         represent NULL strings. Fixes #165650.
1065         
1066         * gst/gstvalue.h: 
1067         * gst/gstvalue.c (gst_value_array_append_value) 
1068         (gst_value_array_prepend_value, gst_value_array_get_size) 
1069         (gst_value_array_get_value): New API, copied from
1070         gst_value_list_*, only operates on arrays.
1071         (gst_value_list_append_value, gst_value_list_prepend_value) 
1072         (gst_value_list_concat, gst_value_list_get_size) 
1073         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1074
1075         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1076         init_list, because it works on both.
1077         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1078         (gst_value_copy_list_or_array): Renamed from copy_list.
1079         (gst_value_free_list_or_array): Renamed from free_list.
1080         (gst_value_collect_list_or_array): Renamed from collect_list.
1081         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1082         (gst_value_list_or_array_peek_pointer): Renamed from
1083         list_peek_pointer.
1084         (_gst_value_array_value_table, _gst_value_list_value_table):
1085         Update value table functions.
1086         (gst_value_compare_list_or_array): Renamed from compare_list.
1087
1088         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1089         some constness.
1090
1091         * gst/gsttaglist.c:
1092         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1093         GstTagList*. Fixes #143472.
1094
1095         * gst/gststructure.h: Clarify what the foreach/map functions can
1096         or can't do to their arguments.
1097
1098 2005-11-18  Wim Taymans  <wim@fluendo.com>
1099
1100         * gst/gstclock.c: (gst_clock_set_calibration),
1101         (gst_clock_get_calibration):
1102         Doc and API fixes.
1103         Calibration can be set with internal time equal to current
1104         internal time too.
1105
1106 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1107
1108         * gst/gsterror.c:
1109         * gst/gsterror.h:
1110           document
1111
1112 2005-11-18  Andy Wingo  <wingo@pobox.com>
1113
1114         * configure.ac: 
1115         * pkgconfig/gstreamer-net.pc.in:
1116         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1117         * pkgconfig/Makefile.am: Add net pkgconfig files.
1118
1119 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1120
1121         * gst/gstcaps.c:
1122         * gst/gstghostpad.c:
1123         * gst/gsttrace.c:
1124         * gst/gstvalue.c:
1125         * gst/gstvalue.h:
1126           docs fixes
1127
1128 2005-11-18  Andy Wingo  <wingo@pobox.com>
1129
1130         * gst/net/gstnetclientclock.c: Turn off debugging.
1131
1132         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1133         times connverge somewhat. Can't make a real test.
1134
1135         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1136         integer arithmetic. Return the minimum of the domain, which can be
1137         set as "internal" for gst_clock_set_calibration.
1138         (gst_net_client_clock_observe_times): Call _set_calibration.
1139         (gst_net_client_clock_new): Call _set_calibration instead of
1140         rate_offset.
1141
1142         * check/net/gstnetclientclock.c (test_functioning): Use the right
1143         adjustment api.
1144
1145         * gst/gstclock.h:
1146         * gst/gstclock.c (gst_clock_get_calibration) 
1147         (gst_clock_set_calibration): New functions, obsolete the ones I
1148         added yesterday. Doh. Precision issues mean we have to extrapolate
1149         from a point in the more recent past than 1970.
1150         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1151         obsolete.
1152         (gst_clock_adjust_unlocked): Use the right calibration data.
1153
1154 2005-11-18  Edward Hervey  <edward@fluendo.com>
1155
1156         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1157         Also reset the ->current_* values in READY->PAUSED
1158
1159 2005-11-18  Andy Wingo  <wingo@pobox.com>
1160
1161         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1162         Whoops, check the right fd. Also add some debugging.
1163         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1164         (do_linear_regression): Add a crapload of debugging. Subtract off
1165         the minimum values from the input series to discard unneeded bits.
1166         Use only int arithmetic. There is still double arithmetic when
1167         calculating the intercept that needs fixing. Return boolean to
1168         indicate success; FALSE would mean the domain or range is too
1169         great. Still needs fixes.
1170
1171 2005-11-18  Wim Taymans  <wim@fluendo.com>
1172
1173         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1174         For the current position in stream time, we need to subtract
1175         accumulated time.
1176         
1177         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1178         Release lock before calling the callback function of async
1179         entries.
1180
1181 2005-11-18  Andy Wingo  <wingo@pobox.com>
1182
1183         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1184         Port goes all the way to MAXUINT16.
1185
1186         * gst/net/gstnettimeprovider.c: Make the port range the same as
1187         for the kernel: 0 assigns, otherwise ports are less than
1188         MAXUINT16.
1189
1190         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1191         port change.
1192
1193         * check/net/gstnetclientclock.c (test_functioning): Add the start
1194         of another test. 
1195
1196 2005-11-18  Wim Taymans  <wim@fluendo.com>
1197
1198         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1199         (gst_bin_remove_func), (bin_bus_handler):
1200         * gst/gstbin.h:
1201         Removing a clock provider from a bin, triggers a clock lost message
1202         so that a new clock will be selected.
1203         Adding a clock to a bin triggers a clock provider message.
1204         Make sure we reselect a clock when we received a clock lost message.
1205         Keep a reference to the element that provided the clock.
1206
1207 2005-11-18  Andy Wingo  <wingo@pobox.com>
1208
1209         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1210         the clock initially so it produces values around the base time.
1211         (gst_net_client_clock_class_init): Typo fix.
1212         (gst_net_client_clock_thread): Add note on when the socket gets
1213         closed.
1214
1215 2005-11-17  Wim Taymans  <wim@fluendo.com>
1216
1217         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1218         Free remote and local time arrays.
1219
1220 2005-11-17  Wim Taymans  <wim@fluendo.com>
1221
1222         * gst/net/gstnetclientclock.c: (do_linear_regression),
1223         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1224         Fix compilation, uninitialized vars and a forgotten continue.
1225
1226 2005-11-17  Andy Wingo  <wingo@pobox.com>
1227
1228         * check/Makefile.am (check_PROGRAMS): 
1229         * check/net/gstnetclientclock.c: Add a most minimal test for the
1230         net client clock. More to come later.
1231
1232         * gst/net/gstnet.h: 
1233         * gst/net/Makefile.am: Add netclientclock.
1234
1235         * gst/net/gstnetclientclock.h:
1236         * gst/net/gstnetclientclock.c: New files, implement an untested
1237         GstClock that takes its time from a network time provider.
1238         Implements the algorithm in network-clock.scm.
1239
1240         * tests/network-clock.scm (*window-size*): Rename from
1241         *queue-length*.
1242         * tests/network-clock.scm (network-time): 
1243         * tests/network-clock-utils.scm (q-push): Update callers.
1244
1245 2005-11-17  Wim Taymans  <wim@fluendo.com>
1246
1247         * gst/gstbin.c: (gst_bin_provide_clock_func),
1248         (gst_bin_sort_iterator_new):
1249         And unref the child too..
1250
1251 2005-11-17  Wim Taymans  <wim@fluendo.com>
1252
1253         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1254         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1255         Refactor the sort iterator so it can be used while holding the
1256         LOCK too.
1257         Make clock selection select a clock closest to the source.
1258
1259 2005-11-17  Michael Smith <msmith@fluendo.com>
1260
1261         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1262         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1263         * gst/gstclock.h:
1264           Anonymous structs are a gcc (and some other compilers) extension, so
1265           don't use them. Since this is only for ABI-compatibility, and our
1266           API/ABI freeze is over in a few days, this whole thing will only
1267           last a few days, so don't bother trying to think up a meaningful
1268           name for the struct.
1269
1270 2005-11-17  Andy Wingo  <wingo@pobox.com>
1271
1272         * gst/gstclock.h (GstClock): Add rate and offset properties,
1273         preserving ABI stability. Add rate/offset accessors. Will file bug
1274         for the freeze break.
1275
1276         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1277         and offset, trying to keep precision and avoiding
1278         underflow/overflow.
1279         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1280         functions. Make gst_clock_set_time_adjust obsolete.
1281         (gst_clock_set_time_adjust): Note that this function is obsolete.
1282         Will file bug soon.
1283
1284         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1285         greppable by using GST_PADDING-1+1.
1286
1287 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1288
1289         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1290
1291         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1292           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1293
1294         * gst/gstpadtemplate.h:
1295         * gst/gstpluginfeature.h:
1296           Don't use c++ style comments in headers (#321638).
1297
1298 2005-11-16  Andy Wingo  <wingo@pobox.com>
1299
1300         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1301         buffer.
1302
1303         * check/net/gstnettimeprovider.c: Check to see that the time
1304         provider actually provides times. Works, yo!
1305
1306 2005-11-16  Wim Taymans  <wim@fluendo.com>
1307
1308         * check/Makefile.am:
1309         Enable more tests.
1310
1311         * check/elements/fakesrc.c: (GST_START_TEST):
1312         Set element to NULL before disposing it.
1313
1314 2005-11-16  Andy Wingo  <wingo@pobox.com>
1315
1316         * gst/net/Makefile.am:
1317         * gst/net/gstnet.h:
1318         * gst/net/gstnettimeprovider.c: 
1319         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1320         provider, include it from gstnet.h, and add it to the build.
1321
1322         * gst/net/gstnettimepacket.h: 
1323         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1324         sending and receiving.
1325
1326 2005-11-16  Wim Taymans  <wim@fluendo.com>
1327
1328         * check/Makefile.am:
1329         Enable valgrind check.
1330
1331         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1332         (gst_fake_src_alloc_buffer):
1333         Fix memleak.
1334
1335 2005-11-16  Wim Taymans  <wim@fluendo.com>
1336
1337         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1338         Call parent finalize too.
1339
1340 2005-11-16  Wim Taymans  <wim@fluendo.com>
1341
1342         * check/Makefile.am:
1343         Enable valgrind check that should work fine now.
1344
1345         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1346         * gst/gstqueue.c: (gst_queue_init):
1347         Fix memleaks in pad allocation.
1348
1349 2005-11-16  Andy Wingo  <wingo@pobox.com>
1350
1351         * gst/net/Makefile.am:
1352         * gst/net/gstnet.h: New part of core to hold network elements and
1353         objects. Put in core because it exposes API that applications want
1354         to use. The library is named libgstnet-tempname right now because
1355         of the existing libgstnet in gst-plugins-base. Solution is
1356         probably to rename the one in plugins-base; will file a bug for
1357         the freeze break.
1358
1359         * gst/net/gstnettimeprovider.c: 
1360         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1361         get_time call over the network.
1362
1363         * configure.ac: 
1364         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1365
1366         * check/Makefile.am:
1367         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1368         get additions shortly.
1369
1370 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1371
1372         * gst/gstpad.c: (gst_pad_new_from_static_template):
1373         * gst/gstpad.h:
1374           add gst_pad_new_from_static_template functions
1375         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1376         (gst_check_setup_sink_pad):
1377         * gst/elements/gsttee.c: (gst_tee_init):
1378           and use them
1379
1380 2005-11-16  Wim Taymans  <wim@fluendo.com>
1381
1382         * gst/gstpad.c: (gst_pad_pause_task):
1383         Removed warning, it's not really an error either.
1384
1385 2005-11-16  Wim Taymans  <wim@fluendo.com>
1386
1387         * gst/base/gstbasetransform.c:
1388         (gst_base_transform_prepare_output_buf),
1389         (gst_base_transform_event):
1390         Check if the caps are NULL, this can happen if the element
1391         is shutting down and the pad caps are set to NULL.
1392
1393 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1394
1395         * gst/elements/gsttee.c: (gst_tee_init):
1396           fix pad template leak in tee
1397
1398 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1399
1400         * gst/glib-compat.c: (g_value_dup_gst_object):
1401         * gst/glib-compat.h:
1402         * gst/gstpad.c: (gst_pad_set_property):
1403           use gst_object_ref when setting the pad template; this will
1404           trigger the pad template leaks on GLib 2.6 and the slaves
1405
1406 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1407
1408         * gst/glib-compat.c: (gst_flags_get_first_value):
1409         * gst/glib-compat.h:
1410         * gst/gstregistryxml.c:
1411           remove functions copied from GLib 2.6
1412
1413 2005-11-16  Michael Smith <msmith@fluendo.com>
1414
1415         * gst/Makefile.am:
1416           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1417           do, but only breaks with newer valgrind versions. We're not a
1418           valgrind tool, we have no link-time dependencies on libcoregrind.
1419
1420 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1421
1422         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1423           some debug changes
1424         * gst/gstmessage.h:
1425           typo fixes
1426
1427 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1428
1429         * gst/base/gstbasesrc.c: (gst_base_src_init):
1430         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1431         * gst/gstqueue.c: (gst_queue_init):
1432         * gst/gstregistryxml.c: (load_feature):
1433           Revert all these unrefs, they don't even pass make check !
1434
1435 2005-11-15  Johan Dahlin  <johan@gnome.org>
1436
1437         * gst/base/gstbasesrc.c: (gst_base_src_init):
1438         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1439         * gst/gstqueue.c: (gst_queue_init): 
1440         Free pad templates, fixes a couple of leaks.
1441
1442 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1443
1444         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1445
1446         * gst/gstpad.c: (gst_pad_get_property):
1447           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1448           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1449           (#321452)
1450
1451 2005-11-15  Wim Taymans  <wim@fluendo.com>
1452
1453         * gst/gstevent.c:
1454         Small doc update.
1455
1456 2005-11-15  Andy Wingo  <wingo@pobox.com>
1457
1458         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1459
1460         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1461         using GST_CLOCK_TIME_NONE to disable base time management.
1462         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1463         time if it was NONE before.
1464         (gst_pipeline_change_state): Only munge the base time if
1465         stream_time != GST_CLOCK_TIME_NONE.
1466
1467         * check/gst/gstpipeline.c (test_base_time): Punt around the
1468         problem of the probe not being called, because that's not the
1469         issue I'm looking at. Add a check that setting stream_time to NONE
1470         disables base time management.
1471         
1472 2005-11-15  Wim Taymans  <wim@fluendo.com>
1473
1474         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1475         segment_stop == -1 at startup.
1476
1477         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1478         (gst_base_transform_change_state):
1479         Init segment values at start.
1480
1481 2005-11-15  Wim Taymans  <wim@fluendo.com>
1482
1483         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1484         0 segment values are 0 in any format.
1485
1486         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1487         * gst/base/gstbasetransform.h:
1488         Parse newsegment correctly in basetransform
1489
1490         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1491         Sync to clock using updated segment values.
1492
1493 2005-11-15  Andy Wingo  <wingo@pobox.com>
1494
1495         * check/gst/gstpipeline.c (test_base_time): Add check that the
1496         base time and stream time are reset correctly.
1497
1498 2005-11-15  Wim Taymans  <wim@fluendo.com>
1499
1500         * docs/design/part-TODO.txt:
1501         Some more TODO items.
1502
1503 2005-11-15  Andy Wingo  <wingo@pobox.com>
1504
1505         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1506         error if the user selected "no clock" as the clocking method.
1507
1508         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1509         timestamps with live capture.
1510
1511         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1512         is 0 but we are a live source, timestamp the buffers using the
1513         element's clock.
1514
1515 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1516
1517         * docs/gst/gstreamer-sections.txt:
1518         * gst/gsterror.c:
1519         * gst/gstghostpad.c:
1520         * gst/gstobject.h:
1521         * gst/gstxml.c:
1522           more section docs
1523
1524 2005-11-14  Wim Taymans  <wim@fluendo.com>
1525
1526         * common/gst.supp:
1527           add suppressions from Wim's Debian machine
1528
1529 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1530
1531         * common/gst.supp:
1532           add suppressions from Andy's AMD64 Ubuntu machine
1533
1534 2005-11-14  Andy Wingo  <wingo@pobox.com>
1535
1536         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1537         STATE_LOCK not necessary. Fixes #311489.
1538
1539         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1540         #305291.
1541
1542         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1543         this function is not implemented.
1544
1545 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1546
1547         * gst/base/gstbasetransform.c:
1548         (gst_base_transform_prepare_output_buf):
1549         Ref the source pad caps while we need them.
1550         Fixes (#321386)
1551
1552 2005-11-11  Wim Taymans  <wim@fluendo.com>
1553
1554         * docs/gst/gstreamer-sections.txt:
1555         Added some docs for GstCollectData.
1556
1557         * gst/base/gstadapter.c:
1558         Some small code example fix.
1559
1560         * gst/base/gstcollectpads.c:
1561         * gst/base/gstcollectpads.h:
1562         Document some more.
1563
1564 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1565
1566         * configure.ac: back to HEAD
1567
1568 === release 0.9.5 ===
1569
1570 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1571
1572         * configure.ac:
1573           releasing 0.9.5, "Bike Lunch Day"
1574
1575 2005-11-11  Wim Taymans  <wim@fluendo.com>
1576
1577         * gst/gstbuffer.c: (_gst_buffer_copy):
1578         Copy more flags.
1579
1580         * gst/gstcaps.c: (gst_caps_is_equal):
1581         Fix some docs.
1582         Make _is_equal fast in the trivial cases.
1583
1584         * gst/gstminiobject.c:
1585         * gst/gstminiobject.h:
1586         More docs. Spifify .h file.
1587
1588         * gst/gstutils.c:
1589         Small doc update.
1590
1591 2005-11-11  Wim Taymans  <wim@fluendo.com>
1592
1593         * gst/base/gstbasetransform.c:
1594         (gst_base_transform_prepare_output_buf),
1595         (gst_base_transform_handle_buffer):
1596         Small cleanups.
1597         If we're processing a buffer and need to allocate an output
1598         buffer, we cannot accept a format change. If we did get a 
1599         format change, we have to alloc a buffer ourselves of the 
1600         right size.
1601
1602 2005-11-11  Wim Taymans  <wim@fluendo.com>
1603
1604         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1605         While checking the flag for reentrancy in the gstcaps function
1606         is nice to detect recursive invocations, it also makes it 
1607         impossible to call getcaps from multiple threads, which must be
1608         possible. So, checking for recursive calls has to go.
1609
1610 2005-11-11  Michael Smith <msmith@fluendo.com>
1611
1612         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1613           Don't sync on buffers that fall partially outside our current
1614           segment. Prevents an assertion failure/abort playing some files.
1615
1616 2005-11-10  Andy Wingo  <wingo@pobox.com>
1617
1618         * check/gst/gstbin.c (test_message_state_changed_children): Style
1619         fix..
1620
1621         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1622         gst_bus_poll with the signal watch. Ensures that poll and a signal
1623         watch see the same messages.
1624
1625         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1626         a poll and a watch at the same time get the same messages.
1627
1628 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1629
1630         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1631         * gst/gstcaps.c: (gst_caps_intersect):
1632           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1633           and it's not needed.
1634
1635 2005-11-10  Wim Taymans  <wim@fluendo.com>
1636
1637         * docs/design/part-TODO.txt:
1638         Updated todo.
1639
1640 2005-11-10  Wim Taymans  <wim@fluendo.com>
1641
1642         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1643         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1644         (gst_base_src_do_sync), (gst_base_src_get_range):
1645         Implement clock sync in base class.
1646
1647 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1648
1649         patch by: Tim-Philipp Müller <tim at centricular dot net>
1650
1651         * gst/gststructure.c: (gst_structure_parse_field),
1652         (gst_structure_from_string):
1653           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1654           so that gst_parse_launch() can deal with spaces in filtered link
1655           caps (fixes #164479)
1656         * check/gst/capslist.h:
1657         * check/gst/gststructure.c: (GST_START_TEST):
1658           add unit tests for this change
1659
1660 2005-11-10  Wim Taymans  <wim@fluendo.com>
1661
1662         * docs/gst/gstreamer-sections.txt:
1663         * gst/gstelement.c:
1664         * gst/gstelement.h:
1665         Fix docs, move some STATE macros to private.
1666
1667 2005-11-10  Wim Taymans  <wim@fluendo.com>
1668
1669         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1670         Added check for bug #317341
1671
1672         * gst/gstbuffer.c:
1673         * gst/gstbuffer.h:
1674         Some more spiffifying.
1675
1676         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1677         Call peer linkfunction if we are a source pad. Totally fixes
1678         #317341
1679
1680         * gst/gstpad.c:
1681         Update docs, source pads should call the peer linkfunction
1682         so they can atomically perform the pad link.
1683
1684 2005-11-09  Wim Taymans  <wim@fluendo.com>
1685
1686         * gst/gstbuffer.c:
1687         * gst/gstbuffer.h:
1688         Uber-spiffy-spiffify some more.
1689
1690 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1691
1692         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1693         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1694         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1695         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1696         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1697         * gst/gstpad.c: (gst_pad_init):
1698           Use GST_DEBUG_FUNCPTR() more extensively.
1699
1700 2005-11-09  Wim Taymans  <wim@fluendo.com>
1701
1702         * gst/gstobject.c: (gst_object_class_init):
1703         * gst/gstobject.h:
1704         Documentation fixes.
1705
1706 2005-11-09  Edward Hervey  <edward@fluendo.com>
1707
1708         * gst/gsttypefindfactory.c:
1709         Fix docs.
1710         
1711 2005-11-09  Edward Hervey  <edward@fluendo.com>
1712
1713         * gst/base/gsttypefindhelper.c:
1714         * gst/gsttypefind.c:
1715         * gst/gsttypefind.h:
1716         Fix docs.
1717
1718 2005-11-09  Wim Taymans  <wim@fluendo.com>
1719
1720         * gst/gstiterator.c:
1721         Fix revision data.
1722
1723         * gst/gsttask.c:
1724         * gst/gsttask.h:
1725         Fix docs.
1726
1727 2005-11-09  Wim Taymans  <wim@fluendo.com>
1728
1729         * gst/gstevent.h:
1730         * gst/gsturi.h:
1731         Fix docs.
1732
1733 2005-11-09  Wim Taymans  <wim@fluendo.com>
1734
1735         * docs/gst/gstreamer-sections.txt:
1736         Moved the message async delivery private lock and cond
1737         to the private section.
1738
1739         * gst/gstmessage.c:
1740         * gst/gstmessage.h:
1741         Fixed docs.
1742
1743 2005-11-09  Edward Hervey  <edward@fluendo.com>
1744
1745         * docs/gst/gstreamer-sections.txt:
1746         * gst/gsturi.c:
1747         * gst/gsturi.h:
1748         Document GstURIHandler
1749
1750 2005-11-09  Wim Taymans  <wim@fluendo.com>
1751
1752         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1753         (gst_iterator_find_custom):
1754         * gst/gstiterator.h:
1755         Fix iterator docs.
1756
1757 2005-11-09  Wim Taymans  <wim@fluendo.com>
1758
1759         * gst/gstbin.h:
1760         Document another field.
1761
1762         * gst/gststructure.c:
1763         * gst/gststructure.h:
1764         Document.
1765
1766 2005-11-09  Wim Taymans  <wim@fluendo.com>
1767
1768         * gst/gstbin.h:
1769         Documented structs.
1770
1771 2005-11-09  Wim Taymans  <wim@fluendo.com>
1772
1773         * docs/gst/gstreamer-sections.txt:
1774         Added some new macros.
1775
1776         * gst/gstclock.c:
1777         * gst/gstclock.h:
1778         * gst/gstobject.h:
1779         Docs updates.
1780
1781 2005-11-09  Wim Taymans  <wim@fluendo.com>
1782
1783         * docs/design/part-TODO.txt:
1784         Some more items for the TODO
1785
1786         * gst/gstcaps.c:
1787         * gst/gstcaps.h:
1788         Document GstCaps.
1789
1790 2005-11-09  Andy Wingo  <wingo@pobox.com>
1791
1792         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1793         to work on something else now tho...
1794
1795         * gst/base/gstadapter.c: More adapter docs.
1796
1797         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1798         (gst_file_sink_stop): New functions, replace the state change
1799         handler.
1800         (gst_file_sink_class_init): Hook up the start and stop functions.
1801         (gst_file_sink_base_init): Don't set the state change handler any
1802         more. It was a bit ugly too, being set from here...
1803         (gst_file_sink_get_property, gst_file_sink_set_property):
1804         Cleanups...
1805         (gst_file_sink_set_location): More robust check that doesn't call
1806         GST_STATE. Ugggggg.
1807
1808 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1809
1810         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1811           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1812
1813 2005-11-08  Wim Taymans  <wim@fluendo.com>
1814
1815         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1816         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1817         (gst_base_sink_chain), (gst_base_sink_change_state):
1818         * gst/base/gstbasesink.h:
1819         * gst/base/gstbasesrc.h:
1820         * gst/gstelement.h:
1821         * gst/gstevent.h:
1822         Avoid excessive typechecking in macros.
1823
1824         * gst/gstminiobject.c: (gst_mini_object_get_type),
1825         (gst_mini_object_init), (gst_mini_object_new),
1826         (gst_mini_object_free):
1827         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1828         (gst_object_finalize):
1829         Remove cruft code, optimize alloc_trace.
1830
1831 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1832
1833         * docs/faq/gst-uninstalled:
1834           fix up PS1 for systems that try to reset it
1835
1836 2005-11-07  Wim Taymans  <wim@fluendo.com>
1837
1838         * gst/base/gstbasesrc.c: (gst_base_src_init),
1839         (gst_base_src_get_range):
1840         Set the segment_end to -1 initially. Fixed typefind.
1841
1842 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1843
1844         * gst/base/gstadapter.c:
1845           Debug category should be 'adapter', not 'GstAdapter'.
1846           
1847         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1848         (gst_collectpads_class_init), (gst_collectpads_init),
1849         (gst_collectpads_peek), (gst_collectpads_pop),
1850         (gst_collectpads_event), (gst_collectpads_chain):
1851           Add debug category and some debugging output. Use boilerplate
1852           macros. Remove some extraneous words from docs.
1853
1854 2005-11-05  Andy Wingo  <wingo@pobox.com>
1855
1856         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1857         macro.
1858
1859 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1860
1861         * docs/gst/gstreamer-sections.txt:
1862         * gst/gstcaps.h:
1863         * gst/gstinfo.c:
1864         * gst/gstminiobject.h:
1865         * gst/gstobject.h:
1866         * gst/gstutils.h:
1867           more docs added
1868
1869 2005-11-04  Wim Taymans  <wim@fluendo.com>
1870
1871         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1872         Small update to stop at the configured segment_end
1873         position.
1874
1875 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1876
1877         * gst/gstregistry.c:
1878         * gst/gstregistry.h:
1879           added missing docs
1880
1881 2005-11-04  Edward Hervey  <edward@fluendo.com>
1882
1883         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1884         Check if we are doing a segment seek and have arrived at the
1885         end of that segment.
1886
1887 2005-11-04  Wim Taymans  <wim@fluendo.com>
1888
1889         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1890         Don't leak a mutex unlock in case of an error.
1891
1892         * gst/gstbus.h:
1893         Doc fixes.
1894
1895 2005-11-04  Wim Taymans  <wim@fluendo.com>
1896
1897         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1898         (gst_bus_post):
1899         Get the context to wake up only once.
1900
1901 2005-11-03  Wim Taymans  <wim@fluendo.com>
1902
1903         * check/states/sinks.c: (GST_START_TEST):
1904         Uncomment fixed check.
1905
1906         * docs/design/part-TODO.txt:
1907         Updated TODO.
1908
1909         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1910         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1911         (gst_base_sink_get_position):
1912         If we are going to PLAYING, post the right pending state
1913         when we post the intermediate paused message.
1914
1915         * gst/gstelement.c: (gst_element_continue_state),
1916         (gst_element_set_state_func), (gst_element_change_state):
1917         Don't post state changes that were between the same state
1918         and were not ASYNC.
1919
1920 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1921
1922         * docs/gst/gstreamer-sections.txt:
1923         * gst/gstcaps.h:
1924         * gst/gstinfo.c:
1925         * gst/gstminiobject.h:
1926         * gst/gstobject.h:
1927         * gst/gstutils.h:
1928           more docs and doc style fixes
1929
1930 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1931
1932         * docs/gst/gstreamer-sections.txt:
1933         * gst/gstelement.c:
1934         * gst/gstminiobject.c:
1935         doc fixes
1936
1937 2005-11-03  Andy Wingo  <wingo@pobox.com>
1938
1939         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1940         state-changed messages actually have the right order and the right
1941         values.
1942
1943 2005-11-03  Wim Taymans  <wim@fluendo.com>
1944
1945         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1946         Added some more checks. Specifically the case where NO_PREROLL
1947         elements are in the pipeline.
1948
1949         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1950         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1951         (gst_base_sink_get_position):
1952         Post READY->PAUSED state change messages too.
1953         Fix bug where VOID was posted as pending state...
1954
1955         * gst/gstbin.c: (gst_bin_recalc_state):
1956         use _element_continue_state() to continue the state change.
1957
1958         * gst/gstelement.c: (gst_element_continue_state),
1959         (gst_element_commit_state), (gst_element_set_state_func),
1960         (gst_element_change_state), (gst_element_change_state_func):
1961         Lots of state change cleanups, assign the STATE_RETURN in
1962         a new continue_state() function that also propagates the
1963         last return value from a state change to the app.
1964         Update some debug statements with proper category.
1965
1966 2005-11-03  Wim Taymans  <wim@fluendo.com>
1967
1968         * docs/design/part-events.txt:
1969         * docs/design/part-gstpipeline.txt:
1970         * docs/design/part-messages.txt:
1971         * docs/design/part-overview.txt:
1972         * docs/design/part-seeking.txt:
1973         * docs/design/part-states.txt:
1974         * docs/design/part-trickmodes.txt:
1975         * docs/manual/advanced-position.xml:
1976         Small docs updates.
1977
1978         * gst/gstobject.h:
1979         People think !! is ugly, this looks better.
1980
1981         * gst/gstpad.c: (gst_pad_set_blocked_async):
1982         Remove !! since it's fixed elsewhere now.
1983
1984 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1985
1986         * gst/gstminiobject.h:
1987         * gst/gstobject.h:
1988           Add !! to _FLAG_IS_SET macros to make the result boolean.
1989
1990 2005-11-03  Edward Hervey  <edward@fluendo.com>
1991
1992         * gst/gstpad.c: (gst_pad_set_blocked_async):
1993         comparing a flag and a gboolean rarely returns coherent results...
1994         Added two characters (!!) to make that work correctly.
1995         
1996 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1997
1998         * gst/gstbus.c: (gst_bus_class_init):
1999           Fix some typos.
2000           
2001         * gst/gstqueue.c: (gst_queue_loop):
2002           Don't assume a miniobject that isn't a buffer is an
2003           event (it could be that there is a refcounting
2004           problem somewhere and the pointer is stale and
2005           refers to an already destroyed miniobject).
2006
2007 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2008
2009         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2010
2011 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2012
2013         * docs/manual/advanced-position.xml:
2014           Update seek example and explanations to current 0.9 API.
2015
2016         * gst/elements/gsttypefindelement.c:
2017         (gst_type_find_element_activate):
2018           Remove FIXME comment now that the found caps
2019           are unreffed.
2020
2021 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2022
2023         * gst/gstregistryxml.c: (load_feature):
2024           Add another GST_STR_NULL instance
2025
2026 2005-11-02  Edward Hervey  <edward@fluendo.com>
2027
2028         * gst/gstpad.c: (handle_pad_block):
2029         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2030         
2031 2005-11-02  Wim Taymans  <wim@fluendo.com>
2032
2033         * gst/gstbin.c:
2034         Fix typo in docs.
2035
2036         * gst/gstelement.c: (gst_element_commit_state):
2037         Remove unused value.
2038
2039         * gst/gstiterator.c:
2040         Mention that the returned element is reffed in the docs.
2041
2042 2005-11-02  Wim Taymans  <wim@fluendo.com>
2043
2044         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2045         (gst_pad_push), (gst_pad_push_event):
2046         Unlock blocked pads when they are flushed.
2047
2048 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2049
2050         * docs/README:
2051         * docs/gst/gstreamer-sections.txt:
2052         * gst/gstbin.c:
2053           doc updates
2054         * gst/gstregistry.c: (gst_registry_scan_path_level):
2055           fix for a nasty little missed situation where an installed plug-in
2056           which was in the cache did not get overridden by an uninstalled one
2057           which was earlier in the plugin path because the newly created plugin
2058           for the uninstalled one (not in the registry) didn't get its
2059           ->registered set to TRUE
2060
2061 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2062
2063         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2064         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2065         (gst_collectpads_is_active), (gst_collectpads_collect),
2066         (gst_collectpads_collect_range), (gst_collectpads_start),
2067         (gst_collectpads_stop), (gst_collectpads_peek),
2068         (gst_collectpads_pop), (gst_collectpads_available),
2069         (gst_collectpads_read), (gst_collectpads_flush):
2070           Guard public API with assertions.
2071         
2072         * gst/gstpad.c:
2073           Fix docs for gst_pad_set_link_function().
2074
2075 2005-11-02  Johan Dahlin  <johan@gnome.org>
2076
2077         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2078         Unref found_caps after we used it.
2079
2080 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2081
2082         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2083           Don't try to ref NULL.
2084
2085 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2086
2087         * win32/common/config.h.in:
2088           provide a GST_FUNCTION that just gives a string for now
2089
2090 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2091
2092         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2093         (gst_object_flags_get_type), (register_gst_bin_flags),
2094         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2095         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2096         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2097         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2098         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2099         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2100         (gst_clock_flags_get_type), (register_gst_state),
2101         (gst_state_get_type), (register_gst_state_change_return),
2102         (gst_state_change_return_get_type), (register_gst_state_change),
2103         (gst_state_change_get_type), (register_gst_element_flags),
2104         (gst_element_flags_get_type), (register_gst_core_error),
2105         (gst_core_error_get_type), (register_gst_library_error),
2106         (gst_library_error_get_type), (register_gst_resource_error),
2107         (gst_resource_error_get_type), (register_gst_stream_error),
2108         (gst_stream_error_get_type), (register_gst_event_type),
2109         (gst_event_type_get_type), (register_gst_seek_type),
2110         (gst_seek_type_get_type), (register_gst_seek_flags),
2111         (gst_seek_flags_get_type), (register_gst_format),
2112         (gst_format_get_type), (register_gst_index_certainty),
2113         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2114         (gst_index_entry_type_get_type),
2115         (register_gst_index_lookup_method),
2116         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2117         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2118         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2119         (gst_index_flags_get_type), (register_gst_debug_level),
2120         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2121         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2122         (gst_iterator_result_get_type), (register_gst_iterator_item),
2123         (gst_iterator_item_get_type), (register_gst_message_type),
2124         (gst_message_type_get_type), (register_gst_mini_object_flags),
2125         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2126         (gst_pad_link_return_get_type), (register_gst_flow_return),
2127         (gst_flow_return_get_type), (register_gst_activate_mode),
2128         (gst_activate_mode_get_type), (register_gst_pad_direction),
2129         (gst_pad_direction_get_type), (register_gst_pad_flags),
2130         (gst_pad_flags_get_type), (register_gst_pad_presence),
2131         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2132         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2133         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2134         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2135         (gst_plugin_flags_get_type), (register_gst_rank),
2136         (gst_rank_get_type), (register_gst_query_type),
2137         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2138         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2139         (gst_tag_flag_get_type), (register_gst_task_state),
2140         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2141         (gst_alloc_trace_flags_get_type),
2142         (register_gst_type_find_probability),
2143         (gst_type_find_probability_get_type), (register_gst_uri_type),
2144         (gst_uri_type_get_type), (register_gst_parse_error),
2145         (gst_parse_error_get_type):
2146         * win32/common/gstversion.h:
2147           update win32 copies
2148
2149 2005-11-01  Luca Ognibene  <luogni@tin.it>
2150
2151         * gst/gst.c:
2152           fix docs. popt is dead, long live GOption.
2153
2154 2005-10-31  Wim Taymans  <wim@fluendo.com>
2155
2156         * gst/gstbuffer.h:
2157         Small doc fix.
2158
2159 2005-10-31  Andy Wingo  <wingo@pobox.com>
2160
2161         * Boo!
2162
2163         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2164
2165         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2166         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2167         the possibility of deadlocks here if code calling notify() or
2168         set() has a lock that can be taken in another notify handler (ABBA
2169         with class lock and e.g. python GIL state lock).
2170
2171 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2172
2173         * gst/gstbus.c: Doc updates.
2174
2175 2005-10-28  Wim Taymans  <wim@fluendo.com>
2176
2177         * docs/design/part-TODO.txt:
2178         * gst/gstiterator.c:
2179         * gst/gstsystemclock.c:
2180         * gst/gstsystemclock.h:
2181         Doc updates.
2182
2183 2005-10-28  Edward Hervey  <edward@fluendo.com>
2184
2185         * docs/gst/gstreamer-docs.sgml:
2186         * docs/gst/gstreamer-sections.txt:
2187         the GstURIType documentation page is private, it only defines GstURIType
2188         which should be defined in the GstURIHandler page
2189         
2190 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2191
2192         * gst/gstbin.c: (gst_bin_class_init):
2193         * gst/gstbin.h:
2194         * gst/gstutils.c:
2195         Documentation updates.
2196
2197 2005-10-28  Wim Taymans  <wim@fluendo.com>
2198
2199         * docs/gst/gstreamer-sections.txt:
2200         * gst/gstclock.c:
2201         * gst/gstclock.h:
2202         Documented the clocks.
2203
2204 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2205
2206         * docs/gst/gstreamer-sections.txt:
2207           move some macros to private sections
2208         * gst/gstminiobject.c:
2209         * gst/gstminiobject.h:
2210           add descriptions provided by ds and some more
2211         * gst/gstpad.h:
2212           mark macro as to be removed
2213
2214 2005-10-28  Wim Taymans  <wim@fluendo.com>
2215
2216         * docs/design/part-TODO.txt:
2217         Add an item to TODO.
2218
2219         * gst/gstiterator.c: (gst_iterator_fold),
2220         (gst_iterator_find_custom):
2221         * gst/gstiterator.h:
2222         Add iterator docs.
2223
2224 2005-10-28  Wim Taymans  <wim@fluendo.com>
2225
2226         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2227         (gst_base_transform_init):
2228         Don't leak class.
2229
2230         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2231         An EOS event marks the queue as completely filled.
2232
2233 2005-10-27  Wim Taymans  <wim@fluendo.com>
2234
2235         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2236         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2237         Some more debugging.
2238
2239         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2240         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2241         (gst_base_transform_event), (gst_base_transform_getrange),
2242         (gst_base_transform_chain):
2243         * gst/base/gstbasetransform.h:
2244         Fix debugging,
2245         Protect transform and concurrent buffer alloc with a new lock.
2246         Try not to break ABI/API.
2247
2248 2005-10-27  Wim Taymans  <wim@fluendo.com>
2249
2250         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2251         (gst_base_src_init), (gst_base_src_query),
2252         (gst_base_src_default_newsegment),
2253         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2254         (gst_base_src_send_event), (gst_base_src_event_handler),
2255         (gst_base_src_pad_get_range), (gst_base_src_loop),
2256         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2257         (gst_base_src_start), (gst_base_src_deactivate),
2258         (gst_base_src_activate_push), (gst_base_src_change_state):
2259         Move some stuff around and cleanup things.
2260
2261 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2262
2263         * gst/base/gstbasesrc.c: (gst_base_src_query):
2264           Add missing break statements.
2265
2266 2005-10-27  Wim Taymans  <wim@fluendo.com>
2267
2268         * check/gst/gstbin.c: (GST_START_TEST):
2269         An extra refcount is taken in basesrc.
2270
2271         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2272         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2273         (gst_base_src_loop):
2274         Small cleanups, check for flushing after being unlocked from the 
2275         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2276         Don't send out EOS when going to READY.
2277
2278 2005-10-27  Wim Taymans  <wim@fluendo.com>
2279
2280         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2281         (gst_base_sink_get_position):
2282         Some more debug.
2283
2284         * gst/gstbin.c: (message_check), (bin_replace_message),
2285         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2286         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2287         (bin_query_duration_init), (bin_query_duration_fold),
2288         (bin_query_duration_done), (bin_query_generic_fold),
2289         (gst_bin_query):
2290         * tools/gst-launch.c: (main):
2291         Remove old option.
2292
2293 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2294
2295         * examples/controller/audio-example.c: (main):
2296         * examples/queue/queue.c: (event_loop):
2297         * gst/base/gstbasetransform.h:
2298         * gst/gstelement.c: (gst_element_send_event):
2299         * gst/gstevent.h:
2300         * gst/gstpad.c: (gst_pad_send_event):
2301           fixing examples
2302           fixing docs typos
2303           changing log priority in error situations
2304
2305 2005-10-25  Wim Taymans  <wim@fluendo.com>
2306
2307         * gst/gstbin.c: (message_check), (bin_replace_message),
2308         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2309         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2310         (bin_query_duration_init), (bin_query_duration_fold),
2311         (bin_query_duration_done), (bin_query_generic_fold),
2312         (gst_bin_query):
2313         Some doc and debug updates.
2314         Cache previously requested query DURATION for speed. invalidate
2315         cached duration if element posts a DURATION message.
2316
2317 2005-10-25  Wim Taymans  <wim@fluendo.com>
2318
2319         * docs/design/part-TODO.txt:
2320         Update TODO.
2321
2322         * gst/gstbin.c: (message_check), (bin_replace_message),
2323         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2324         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2325         (bin_query_duration_init), (bin_query_duration_fold),
2326         (bin_query_duration_done), (bin_query_generic_fold),
2327         (gst_bin_query):
2328         Handle SEGMENT_START/DONE messages correctly.
2329         More evolved query algorithm that handles duration queries
2330         correctly.
2331
2332         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2333         (gst_element_get_state_func), (gst_element_abort_state),
2334         (gst_element_commit_state), (gst_element_lost_state):
2335         Some more debugging.
2336
2337         * gst/gstmessage.h:
2338         Added doc.
2339
2340 2005-10-25  Wim Taymans  <wim@fluendo.com>
2341
2342         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2343         Don't use invalid stream_time.
2344
2345         * gst/gstevent.c: (gst_event_new_newsegment):
2346         stream_time in newsegment cannot be undefined.
2347
2348 2005-10-24  Wim Taymans  <wim@fluendo.com>
2349
2350         * gst/gstbus.c:
2351         Doc fix.
2352
2353         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2354         (gst_queue_loop):
2355         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2356
2357 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2358
2359         * docs/libs/tmpl/gstdparam.sgml:
2360         * docs/libs/tmpl/gstdplinint.sgml:
2361         * docs/libs/tmpl/gstdpman.sgml:
2362         * docs/libs/tmpl/gstdpsmooth.sgml:
2363         * docs/libs/tmpl/gstunitconvert.sgml:
2364           these are obsolete
2365
2366 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2367
2368         * configure.ac:
2369           back to HEAD
2370
2371 === release 0.9.4 ===
2372
2373 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2374
2375         * configure.ac:
2376           releasing 0.9.4, "Tyrannosaurus Rex"
2377
2378 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2379
2380         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2381         (gst_file_sink_get_current_offset):
2382           Use fseeko() and ftello() if available. When falling back on
2383           lseek() to get the current offset, fflush() first to make sure
2384           everything is up-to-date and we get the right offset.
2385
2386 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2387
2388         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2389         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2390         * gst/gsterror.c: (_gst_stream_errors_init):
2391         * gst/gsterror.h:
2392         * gst/gstqueue.c: (gst_queue_loop):
2393         * po/POTFILES.in:
2394           remove prematurely added error category and clean up the instances
2395
2396 2005-10-21  Wim Taymans  <wim@fluendo.com>
2397
2398         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2399         (gst_base_sink_get_position), (gst_base_sink_query),
2400         (gst_base_sink_change_state):
2401         Simply set the right flag when going to playing, that's all
2402         we need to do instead of calling a function inside the object
2403         lock (that could take the lock as well and deadlock)
2404
2405 2005-10-21  Wim Taymans  <wim@fluendo.com>
2406
2407         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2408         (gst_base_src_loop):
2409         Don't warn, the peer element knows what to do best when
2410         the seek failed, it might try something else.
2411
2412 2005-10-21  Wim Taymans  <wim@fluendo.com>
2413
2414         * gst/base/gstbasesrc.c: (gst_base_src_init),
2415         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2416         Fix seeking.
2417
2418 2005-10-21  Wim Taymans  <wim@fluendo.com>
2419
2420         * docs/design/part-segments.txt:
2421         More docs.
2422
2423         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2424         Correctly set caps, even on the subbufer.
2425
2426 2005-10-21  Wim Taymans  <wim@fluendo.com>
2427
2428         * docs/gst/gstreamer-docs.sgml:
2429         * docs/gst/gstreamer-sections.txt:
2430         * gst/gstelement.h:
2431         * gst/gstevent.c:
2432         * gst/gstevent.h:
2433         * gst/gstmessage.h:
2434         * gst/gstpad.h:
2435         * gst/gstparse.h:
2436         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2437         * gst/gsttask.h:
2438         * gst/gstutils.c:
2439         * gst/gstutils.h:
2440         And 2% more doc coverage.
2441
2442 2005-10-21  Andy Wingo  <wingo@pobox.com>
2443
2444         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2445         position reporting.
2446
2447 2005-10-20  Wim Taymans  <wim@fluendo.com>
2448
2449         * gst/gsterror.c: (gst_error_get_message):
2450         * gst/gstparse.h:
2451         * gst/gstquery.h:
2452         * gst/gststructure.c:
2453         * gst/gsttrace.c:
2454         * gst/gstutils.c:
2455         More docs.
2456
2457 2005-10-20  Wim Taymans  <wim@fluendo.com>
2458
2459         * gst/gstbuffer.h:
2460         * gst/gstpad.c:
2461         * gst/gstparse.c:
2462         Another 1% more coverage.
2463
2464 2005-10-20  Wim Taymans  <wim@fluendo.com>
2465
2466         * docs/gst/gstreamer-sections.txt:
2467         * gst/gstelement.c: (gst_element_get_state_func),
2468         (gst_element_abort_state), (gst_element_commit_state),
2469         (gst_element_lost_state):
2470         * gst/gstevent.h:
2471         * gst/gstquery.c: (gst_query_set_position),
2472         (gst_query_parse_position), (gst_query_set_duration),
2473         (gst_query_parse_duration), (gst_query_new_convert):
2474         * gst/gstutils.c:
2475         Yay! 1% more docs coverage.
2476
2477 2005-10-20  Wim Taymans  <wim@fluendo.com>
2478
2479         * gst/gstpad.h:
2480         * gst/gstquery.c: (gst_query_set_position),
2481         (gst_query_parse_position), (gst_query_set_duration),
2482         (gst_query_parse_duration), (gst_query_new_convert):
2483         * gst/gstquery.h:
2484         * gst/gstutils.c: (gst_element_query_convert):
2485         * gst/gstutils.h:
2486         Docs and consistency fixes.
2487
2488 2005-10-20  Wim Taymans  <wim@fluendo.com>
2489
2490         * gst/gsttask.c:
2491         * gst/gsttask.h:
2492         More docs.
2493
2494 2005-10-20  Wim Taymans  <wim@fluendo.com>
2495
2496         * gst/gstbin.c: (message_check), (bin_replace_message),
2497         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2498         (update_degree), (gst_bin_sort_iterator_next),
2499         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2500         Reworked the message handling a bit, cache the messages instead of
2501         only the senders. alows us to do more in the future.
2502
2503 2005-10-20  Wim Taymans  <wim@fluendo.com>
2504
2505         * docs/design/part-TODO.txt:
2506         Update TODO
2507
2508         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2509         (gst_base_sink_query):
2510         Don't use clock time to report position when in EOS.
2511
2512 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2513
2514         * tools/gst-inspect.c: (print_interfaces),
2515         (print_element_properties_info), (print_element_info):
2516           Fix interface output with gst-inspect -a; don't print
2517           newlines after double/float properties.
2518
2519 2005-10-20  Wim Taymans  <wim@fluendo.com>
2520
2521         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2522         (gst_base_sink_query):
2523         Speed up current position calculation.
2524
2525         * gst/base/gstbasesrc.c: (gst_base_src_query),
2526         (gst_base_src_default_newsegment):
2527         Correctly set stream position in newsegment.
2528
2529         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2530         (update_degree), (gst_bin_sort_iterator_next),
2531         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2532         * gst/gstmessage.c: (gst_message_new_custom):
2533         Clean up debugging info
2534
2535         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2536         (gst_queue_loop), (gst_queue_handle_src_query):
2537         Pause task faster.
2538
2539 2005-10-19  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2542         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2543         Fix query handling again.
2544
2545 2005-10-19  Wim Taymans  <wim@fluendo.com>
2546
2547         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2548         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2549         * gst/base/gstbasesrc.c: (gst_base_src_query):
2550         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2551         * gst/elements/gsttypefindelement.c:
2552         (gst_type_find_handle_src_query), (find_element_get_length),
2553         (gst_type_find_element_activate):
2554         API change fix.
2555
2556         * gst/gstquery.c: (gst_query_new_position),
2557         (gst_query_set_position), (gst_query_parse_position),
2558         (gst_query_new_duration), (gst_query_set_duration),
2559         (gst_query_parse_duration), (gst_query_set_segment),
2560         (gst_query_parse_segment):
2561         * gst/gstquery.h:
2562         Bundling query position/duration is not a good idea since duration
2563         does not change much and we don't want to recalculate it for every
2564         position query, so they are separated again..
2565         Base value in segment query is not needed.
2566
2567         * gst/gstqueue.c: (gst_queue_handle_src_query):
2568         * gst/gstutils.c: (gst_element_query_position),
2569         (gst_element_query_duration), (gst_pad_query_position),
2570         (gst_pad_query_duration):
2571         * gst/gstutils.h:
2572         Updates for query API change.
2573         Added some docs here and there.
2574
2575 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2576
2577         * check/gst/gstbin.c: (GST_START_TEST):
2578         * check/gst/gstghostpad.c: (GST_START_TEST):
2579         * check/pipelines/cleanup.c: (GST_START_TEST):
2580           wait on thread to die so we can check refcount correctly
2581
2582 2005-10-18  Wim Taymans  <wim@fluendo.com>
2583
2584         * check/pipelines/stress.c: (GST_START_TEST):
2585         Make check a little more time consuming.
2586
2587 2005-10-18  Wim Taymans  <wim@fluendo.com>
2588
2589         * check/Makefile.am:
2590         * check/pipelines/stress.c: (GST_START_TEST),
2591         (simple_launch_lines_suite), (main):
2592         Small state change torture test.
2593
2594         * docs/design/part-states.txt:
2595         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2596         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2597         (gst_base_sink_change_state):
2598         Never take state lock from streaming thread, clean up ugly
2599         hacks. Unfortunatly core does not yet support nice ways to
2600         async commit state.
2601         
2602         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2603         (bin_bus_handler):
2604         Start state recalc if a STATE_DIRTY message is posted, but only
2605         on the toplevel bin.
2606
2607         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2608         (gst_element_get_state_func), (gst_element_abort_state),
2609         (gst_element_commit_state), (gst_element_lost_state),
2610         (gst_element_set_state_func), (gst_element_change_state):
2611         * gst/gstelement.h:
2612         State variables are now protected with the LOCK, the state
2613         lock is only used to serialize _set_state().
2614
2615 2005-10-18  Wim Taymans  <wim@fluendo.com>
2616
2617         * check/gst/gstbin.c: (GST_START_TEST):
2618         * check/gst/gstmessage.c: (GST_START_TEST):
2619         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2620         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2621         (bin_bus_handler):
2622         * gst/gstelement.c: (gst_element_abort_state),
2623         (gst_element_commit_state), (gst_element_lost_state):
2624         * gst/gstmessage.c: (gst_message_new_state_changed),
2625         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2626         (gst_message_new_segment_done), (gst_message_new_duration),
2627         (gst_message_parse_state_changed),
2628         (gst_message_parse_segment_start),
2629         (gst_message_parse_segment_done), (gst_message_parse_duration):
2630         * gst/gstmessage.h:
2631         * tools/gst-launch.c: (event_loop):
2632         Seriously, this is better than a previous commit as we only need
2633         to notify the fact that an element changed state in a streaming
2634         thread, marking the state of the parents dirty, hence the 
2635         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2636         message.
2637
2638 2005-10-18  Wim Taymans  <wim@fluendo.com>
2639
2640         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2641         (gst_bin_recalc_func):
2642         * gst/gstelement.c: (gst_element_set_clock),
2643         (gst_element_abort_state), (gst_element_lost_state):
2644         Cleanups, prepare for state change fixes.
2645
2646 2005-10-18  Wim Taymans  <wim@fluendo.com>
2647
2648         * gst/gstbin.h:
2649         * gst/gstelement.c: (gst_element_class_init),
2650         (gst_element_set_state), (gst_element_set_state_func):
2651         * gst/gstelement.h:
2652         Pending ABI changes.
2653         GThreadPool in GstBinClass to monitor async state changes.
2654         state_cookie in GstElement to detect concurrent gst/set state.
2655         set_state is now virtual too in case a very complicated element
2656         has to be constructed.
2657
2658 2005-10-18  Wim Taymans  <wim@fluendo.com>
2659
2660         * check/gst/gstbin.c: (GST_START_TEST):
2661         * check/gst/gstmessage.c: (GST_START_TEST):
2662         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2663         * gst/gstbin.c: (bin_bus_handler):
2664         * gst/gstelement.c: (gst_element_commit_state),
2665         (gst_element_lost_state):
2666         * gst/gstmessage.c: (gst_message_new_state_changed),
2667         (gst_message_new_segment_start), (gst_message_new_segment_done),
2668         (gst_message_new_duration), (gst_message_parse_state_changed),
2669         (gst_message_parse_segment_start),
2670         (gst_message_parse_segment_done), (gst_message_parse_duration):
2671         * gst/gstmessage.h:
2672         * tools/gst-launch.c: (event_loop):
2673         Make messages future proof.
2674         state-change gets a flag if it was a message comming from the
2675         streaming thread.
2676         segment-start/stop can also be specified in other formats.
2677         A message to notify an app that a pipeline changed playback 
2678         duration.
2679         Also fix a GstMessage leak in -launch
2680
2681 2005-10-18  Andy Wingo  <wingo@pobox.com>
2682
2683         * gst/gstelement.c (gst_element_dispose): More helpful message.
2684
2685 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2686
2687         reviewed by: <delete if not using a buddy>
2688
2689         * common/gtk-doc.mak:
2690
2691 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2692
2693         * gst/gstregistry.c: (gst_registry_scan_path_level):
2694           unref a plug-in we get that was already initialized
2695
2696 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2697
2698         * docs/gst/gstreamer-sections.txt:
2699         * docs/libs/gstreamer-libs-sections.txt:
2700         * gst/gstelement.h:
2701           add new api entries
2702           hide internal macro
2703
2704 2005-10-17  Andy Wingo  <wingo@pobox.com>
2705
2706         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2707         cleanup.
2708
2709         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2710
2711         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2712
2713         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2714         (gst_element_get_state_func): Better debug message.
2715         (gst_element_commit_state): s/INFO/DEBUG/.
2716         (gst_element_lost_state, gst_element_change_state): 
2717
2718         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2719         (gst_message_new_custom): s/INFO/LOG/.
2720
2721 2005-10-17  Michael Smith <msmith@fluendo.com>
2722
2723         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2724           Check if end time is valid using end time, not start time.
2725
2726 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2727
2728         * check/gst-libs/controller.c: (GST_START_TEST),
2729         (gst_controller_suite):
2730         * libs/gst/controller/gstcontroller.c:
2731         (gst_controlled_property_set_interpolation_mode):
2732         * libs/gst/controller/gstcontroller.h:
2733         * libs/gst/controller/gstinterpolation.c:
2734         * testsuite/controller/.cvsignore:
2735         * testsuite/controller/Makefile.am:
2736         * testsuite/controller/interpolator.c:
2737           merge controller testsuites
2738           fix broken tests
2739           remove mem-chunk from docs
2740
2741 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2742
2743         * gst/gstmemchunk.c:
2744         * gst/gstmemchunk.h:
2745         * gst/gsttrashstack.c:
2746         * gst/gsttrashstack.h:
2747           out.  get out.  you're fired.  to the Attic !
2748
2749 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2750
2751         * gst/gstcaps.c: (gst_caps_intersect):
2752           fix signedness issues in a (hopefully) correct way
2753         * gst/gstelement.c: (gst_element_pads_activate):
2754           some debugging
2755         * gst/gstobject.c: (gst_object_set_parent):
2756           some debugging
2757
2758 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2759
2760         * gst/gstvalue.h: Fix prototypes.
2761
2762 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2763
2764         * docs/gst/gstreamer-sections.txt:
2765         * gst/gst.c: (gst_version_string):
2766         * gst/gst.h:
2767         * gst/gstversion.h.in:
2768         * win32/common/libgstreamer.def:
2769           add gst_version_string ()
2770
2771 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2772
2773         * configure.ac:
2774           clean up further
2775         * gst/gst.c: (init_post):
2776         * win32/common/config.h.in:
2777           it's PLUGINDIR now
2778         * gst/gstcaps.c: (gst_caps_intersect):
2779           use gint64, the range could be bigger than a guint
2780
2781 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2782
2783         * gst/gstclock.h:
2784           document potential problem in 2038
2785
2786 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2787
2788         * gst/gstcaps.c: (gst_caps_intersect):
2789           Fix guint j diving under 0
2790
2791 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2792
2793         * configure.ac:
2794         * win32/common/config.h:
2795         * win32/common/config.h.in:
2796           check for process.h, declares getpid() on Windows
2797         * gst/gstinfo.c:
2798           include process.h if we have it
2799         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2800         * gst/gstmemchunk.h:
2801           fix signedness issues
2802         * win32/common/libgstreamer.def:
2803           fix get_type's
2804
2805 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2806
2807         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2808         fix. Because of unsigned ints, caps intersection was going nuts and
2809         trying to access structures with G_MAXUINT index. That fixes
2810         videotestsrc ! ffmpegcolorspace ! fakesink
2811         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2812         consistency.
2813
2814 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2815
2816         * configure.ac:
2817           use the gettext macro
2818         * gst/elements/gstelements.c:
2819         * gst/gst.c:
2820         * gst/indexers/gstindexers.c:
2821           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2822         * win32/common/config.h:
2823           updated config.h
2824         * win32/common/config.h.in:
2825           add the template to generate config.h
2826         * win32/common/gstenumtypes.c:
2827         * win32/common/gstversion.h:
2828           updated copies
2829
2830 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2831
2832         * gst/gst.c: (gst_version):
2833         * gst/gstversion.h.in:
2834           add the nano
2835
2836 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2837
2838         * gst/gstevent.h:
2839           Oops, add missing closing bracket.
2840
2841 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2842
2843         * configure.ac:
2844           use common m4's for argument checking
2845
2846 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2847
2848         * docs/gst/gstreamer-sections.txt:
2849         * gst/gstevent.h:
2850           Add GST_EVENT_TYPE_NAME() macro.
2851
2852 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2853
2854         * gst/gstinfo.c:
2855         * gst/gstpluginfeature.c:
2856         * gst/gsttask.c:
2857           privatize more symbols
2858
2859 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2860
2861         * configure.ac:
2862           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2863           everything that uses GStreamer API should have the includes
2864
2865 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2866
2867         * docs/gst/gstreamer-sections.txt:
2868         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2869         * gst/gstvalue.h:
2870           give each value a _get_type, removes the DATA exports
2871
2872 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2873
2874         * gst/gst.c:
2875         * gst/gst.h:
2876           remove _gst_registry_auto_load, not used anymore
2877         * gst/gstbin.c: (gst_bin_get_type):
2878         * gst/gstbin.h:
2879         * gst/gstelement.c: (gst_element_get_type):
2880         * gst/gstelement.h:
2881         * gst/gstobject.c: (gst_object_get_type):
2882         * gst/gstobject.h:
2883         * gst/gstpad.c: (gst_pad_get_type):
2884         * gst/gstpad.h:
2885           make _get_type functions similar, fixes data export from library
2886
2887 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2888
2889         * configure.ac:
2890           correctly make conditionals
2891         * gst/elements/Makefile.am:
2892         * gst/elements/gstelements.c:
2893           fix typo causing fdsrc not to build
2894
2895 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2896
2897         * testsuite/Makefile.am:
2898         * testsuite/bytestream/.cvsignore:
2899         * testsuite/bytestream/Makefile.am:
2900         * testsuite/bytestream/filepadsink.c:
2901         * testsuite/bytestream/gstbstest.c:
2902         * testsuite/bytestream/test1.c:
2903         * testsuite/bytestream/testfile1:
2904         * testsuite/caps/normalisation.c:
2905         * testsuite/caps/random.c: (main):
2906         * testsuite/cleanup/.cvsignore:
2907         * testsuite/cleanup/Makefile.am:
2908         * testsuite/cleanup/cleanup1.c:
2909         * testsuite/cleanup/cleanup2.c:
2910         * testsuite/cleanup/cleanup3.c:
2911         * testsuite/cleanup/cleanup4.c:
2912         * testsuite/cleanup/cleanup5.c:
2913         * testsuite/controller/interpolator.c:
2914         * testsuite/debug/printf_extension.c: (main):
2915         * testsuite/elements/tee.c:
2916         * testsuite/negotiation/.cvsignore:
2917         * testsuite/negotiation/Makefile.am:
2918         * testsuite/negotiation/pad_link.c:
2919         * testsuite/pad/Makefile.am:
2920         * testsuite/pad/chainnopull.c:
2921         * testsuite/pad/getnopush.c:
2922         * testsuite/pad/link.c:
2923         * testsuite/refcounting/sched.c: (create_pipeline):
2924         * testsuite/registry/Makefile.am:
2925         * testsuite/registry/gst-print-formats.c:
2926         * testsuite/schedulers/.cvsignore:
2927         * testsuite/schedulers/142183-2.c:
2928         * testsuite/schedulers/142183.c:
2929         * testsuite/schedulers/143777-2.c:
2930         * testsuite/schedulers/143777.c:
2931         * testsuite/schedulers/147713.c:
2932         * testsuite/schedulers/147819.c:
2933         * testsuite/schedulers/147894-2.c:
2934         * testsuite/schedulers/147894.c:
2935         * testsuite/schedulers/Makefile.am:
2936         * testsuite/schedulers/group_link.c:
2937         * testsuite/schedulers/queue_link.c:
2938         * testsuite/schedulers/relink.c:
2939         * testsuite/schedulers/unlink.c:
2940         * testsuite/schedulers/unref.c:
2941         * testsuite/schedulers/useless_iteration.c:
2942         * testsuite/states/bin.c:
2943           clean out/remove some stuff from the testsuite directories
2944
2945 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2946
2947         * configure.ac:
2948           check for some headers
2949         * gst/elements/Makefile.am:
2950         * gst/elements/gstelements.c:
2951           don't compile fdsrc without sys/socket.h
2952         * gst/indexers/Makefile.am:
2953         * gst/indexers/gstindexers.c: (plugin_init):
2954           don't compile fileindex without mmap
2955
2956 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2957
2958         * configure.ac:
2959           reorganize
2960           clean up
2961           document more
2962           remove cruft
2963         * check/Makefile.am:
2964         * docs/gst/Makefile.am:
2965         * examples/helloworld/Makefile.am:
2966         * gst/Makefile.am:
2967         * gst/base/Makefile.am:
2968         * gst/check/Makefile.am:
2969         * gst/elements/Makefile.am:
2970         * gst/indexers/Makefile.am:
2971         * gst/parse/Makefile.am:
2972         * libs/gst/controller/Makefile.am:
2973         * libs/gst/dataprotocol/Makefile.am:
2974         * examples/helloworld/helloworld.c: (event_loop):
2975           compile fixes, though it's not being compiled currently
2976
2977 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2980           Add some simple tests for the new taglist date API.
2981
2982 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2983
2984         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2985         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2986           Beautify 'last-message' output: print 'none' for buffer timestamps
2987           and durations if none is set; improve alignment with next messages.
2988
2989 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2990
2991         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2992         * gst/gstpluginfeature.h:
2993         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2994         * gst/gstregistry.h:
2995         * docs/gst/gstreamer-sections.txt:
2996           Add new API to check plugin feature version requirements.
2997
2998         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2999           Some basic tests for the above.         
3000
3001 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3002
3003         * gst/gststructure.c: (gst_structure_to_string):
3004           guard against NULL printf - happens when for example
3005           a message structure with GstClock gets serialized
3006
3007 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3008
3009         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3010           Fix presumable copy'n'pasto.
3011
3012 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3013
3014         * gst/elements/gstfakesrc.h:
3015         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3016         * gst/elements/gsttypefindelement.c:
3017           fix some signedness
3018         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3019           I wonder if this could actually write +2GB files before
3020
3021 2005-10-13  Andy Wingo  <wingo@pobox.com>
3022
3023         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3024         Fix Timmeke Waymans bug.
3025         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3026         string of the proper length to gst_caps_from_string. There's a
3027         potential for, before this fix, that this could cause someone
3028         connecting over the network to cause a segfault if the payload is
3029         not NUL-terminated.
3030
3031 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3032
3033         * docs/design/draft-push-pull.txt:
3034         * docs/design/part-overview.txt:
3035         * docs/random/TODO-pre-0.9:
3036         * docs/random/old/ChangeLog.gstreamer:
3037         * gst/base/gstpushsrc.c:
3038         * gst/gstclock.c:
3039           fixed typos
3040
3041 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3042
3043         * gst/glib-compat.c: (gst_flags_get_first_value):
3044         * gst/glib-compat.h:
3045         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3046         (gst_value_compare_double), (gst_value_serialize_flags):
3047           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3048           infinite loop
3049
3050 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3051
3052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3053         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3054           fix up debugging
3055         * tools/gst-launch.c: (event_loop):
3056           print out clock nicely
3057
3058 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3059
3060         * docs/gst/gstreamer-sections.txt:
3061         * gst/gsttaglist.h:
3062         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3063         (gst_tag_list_get_date_index):
3064           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3065           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3066
3067 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3068
3069         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3070         (gst_collectpads_chain):
3071         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3072         in CollectData.
3073
3074 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3075
3076         * docs/gst/gstreamer-sections.txt:
3077         * gst/gst.c:
3078         * gst/gsterror.h:
3079         * tools/gst-inspect.c: (main):
3080         * tools/gst-launch.c: (main):
3081         * tools/gst-run.c: (main):
3082         * tools/gst-xmlinspect.c: (main):
3083           fix GOption context leaks
3084           doc fixes
3085
3086 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3087
3088         * gst/gstbus.c:
3089           use HAVE_UNISTD_H
3090         * win32/common/config.h:
3091           update config
3092         * win32/vs6/grammar.dsp:
3093         * win32/vs6/libgstelements.dsp:
3094         * win32/vs6/libgstreamer.dsp:
3095           update vs6 files
3096
3097 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3098
3099         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3100         * gst/base/gstbasesrc.c: (gst_base_src_query):
3101           fix more guint64<->gdouble conversions
3102
3103 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3104
3105         * Makefile.am:
3106           add win32-update target
3107         * win32/common/gstconfig.h:
3108         * win32/common/gstenumtypes.c:
3109         * win32/common/gstenumtypes.h:
3110         * win32/common/gstversion.h:
3111           add files that visual studio can't generate
3112
3113 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3114
3115         * Makefile.am:
3116           add a win32-update target
3117         * configure.ac:
3118
3119 2005-10-12  Wim Taymans  <wim@fluendo.com>
3120
3121         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3122         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3123         * gst/gstelement.c: (gst_element_commit_state),
3124         (gst_element_set_state):
3125         Protect flags with proper lock.
3126         unref provided cached clock in dispose.
3127
3128 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3129
3130         * gst/gst.c:
3131         * gst/gstminiobject.h:
3132         * gst/gstpad.h:
3133         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3134           removed unused flags from miniobject
3135           doc fixes
3136
3137 2005-10-12  Wim Taymans  <wim@fluendo.com>
3138
3139         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3140         (gst_file_sink_event), (gst_file_sink_render):
3141         Flush before seeking.
3142
3143 2005-10-12  Andy Wingo  <wingo@pobox.com>
3144
3145         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3146         always been the case.
3147
3148 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3149
3150         * check/gst/gstbin.c: (GST_START_TEST):
3151         * docs/gst/gstreamer-sections.txt:
3152         * gst/base/gstbasesink.c: (gst_base_sink_init):
3153         * gst/base/gstbasesrc.c: (gst_base_src_init),
3154         (gst_base_src_get_range), (gst_base_src_check_get_range),
3155         (gst_base_src_start), (gst_base_src_stop):
3156         * gst/base/gstbasesrc.h:
3157         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3158         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3159         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3160         (bin_bus_handler):
3161         * gst/gstbin.h:
3162         * gst/gstbuffer.h:
3163         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3164         * gst/gstbus.h:
3165         * gst/gstelement.c: (gst_element_is_locked_state),
3166         (gst_element_set_locked_state), (gst_element_commit_state),
3167         (gst_element_set_state):
3168         * gst/gstelement.h:
3169         * gst/gstindex.c: (gst_index_init):
3170         * gst/gstindex.h:
3171         * gst/gstminiobject.h:
3172         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3173         (gst_object_set_parent):
3174         * gst/gstobject.h:
3175         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3176         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3177         * gst/gstpad.h:
3178         * gst/gstpadtemplate.h:
3179         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3180         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3181         * gst/gstpipeline.h:
3182         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3183         (gst_file_index_commit):
3184         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3185         * testsuite/pad/link.c: (gst_test_src_init),
3186         (gst_test_filter_init), (gst_test_sink_init):
3187         * testsuite/states/locked.c: (main):
3188           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3189           moved bitshift from macro to enum definition
3190
3191 2005-10-12  Wim Taymans  <wim@fluendo.com>
3192
3193         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3194         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3195         (gst_file_sink_render):
3196         Some more debugging info.
3197
3198 2005-10-12  Wim Taymans  <wim@fluendo.com>
3199
3200         * docs/design/part-states.txt:
3201         * tools/gst-launch.c: (main):
3202         Some doc updates.
3203         Revert non-intentional change.
3204
3205 2005-10-12  Wim Taymans  <wim@fluendo.com>
3206
3207         * check/gst/gstbin.c: (GST_START_TEST):
3208         * check/gst/gstelement.c: (GST_START_TEST):
3209         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3210         * check/gst/gstghostpad.c: (GST_START_TEST):
3211         * check/gst/gstpipeline.c: (GST_START_TEST):
3212         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3213         * check/states/sinks.c: (GST_START_TEST):
3214         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3215         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3216         (gst_bin_remove_func), (gst_bin_get_state_func),
3217         (gst_bin_recalc_state), (gst_bin_change_state_func),
3218         (bin_bus_handler):
3219         * gst/gstelement.c: (gst_element_get_state_func),
3220         (gst_element_get_state), (gst_element_abort_state),
3221         (gst_element_commit_state), (gst_element_set_state),
3222         (gst_element_change_state), (gst_element_change_state_func):
3223         * gst/gstelement.h:
3224         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3225         (gst_pipeline_provide_clock_func):
3226         * gst/gstutils.c: (gst_element_link_pads_filtered):
3227         * tools/gst-launch.c: (main):
3228         * tools/gst-typefind.c: (main):
3229         Use GstClockTime in _get_state() instead of GTimeVal.
3230         Remove old code in gstutils.c
3231
3232 2005-10-12  Andy Wingo  <wingo@pobox.com>
3233
3234         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3235         removed.
3236
3237         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3238         there is no task. Shouldn't affect any code, as nothing in our
3239         plugins checks this return value.
3240         (gst_pad_stop_task): Also take the stream lock if the pad has no
3241         task. Docs updated.
3242
3243 2005-10-12  Wim Taymans  <wim@fluendo.com>
3244
3245         * gst/gstpad.c: (pre_activate), (post_activate),
3246         (gst_pad_activate_pull), (gst_pad_activate_push):
3247         Cleanup activation code. Reset old state if
3248         activation failed.
3249
3250 2005-10-12  Wim Taymans  <wim@fluendo.com>
3251
3252         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3253         (gst_base_sink_change_state):
3254         No need to prerol after receiving EOS.
3255
3256         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3257         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3258         * gst/elements/gstidentity.c: (gst_identity_event):
3259         Print events more verbosely.
3260
3261 2005-10-12  Wim Taymans  <wim@fluendo.com>
3262
3263         * check/Makefile.am:
3264         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3265         * check/states/sinks2.c:
3266         Moved sinks2 testcode in sinks check.
3267
3268         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3269         (gst_bin_remove_func), (gst_bin_recalc_state),
3270         (gst_bin_change_state_func), (bin_bus_handler):
3271         Fix potential race condition when _get_state() iterated over an
3272         ASYNC element right before it posted a state completion.
3273
3274         * gst/gstclock.h:
3275         Do proper cast here.
3276
3277         * gst/gstevent.c: (gst_event_new_newsegment),
3278         (gst_event_parse_newsegment):
3279         A playback rate of 0.0 is not allowed.
3280
3281 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3282
3283         * win32/common/config.h:
3284         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3285         (_trewinddir), (_ttelldir), (_tseekdir):
3286         * win32/common/dirent.h:
3287         * win32/common/gtchar.h:
3288         * win32/common/libgstbase.def:
3289         * win32/common/libgstreamer.def:
3290         * win32/vs6/grammar.dsp:
3291         * win32/vs6/gst_inspect.dsp:
3292         * win32/vs6/gst_launch.dsp:
3293         * win32/vs6/gstreamer.dsw:
3294         * win32/vs6/libgstbase.dsp:
3295         * win32/vs6/libgstelements.dsp:
3296         * win32/vs6/libgstreamer.dsp:
3297           Visual Studio 6 project files, and a new common directory.
3298           Phear.
3299
3300 2005-10-11  Wim Taymans  <wim@fluendo.com>
3301
3302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3303         (gst_base_sink_do_sync), (gst_base_sink_query),
3304         (gst_base_sink_change_state):
3305         * gst/base/gstbasesink.h:
3306         Correctly parse newsegment info.
3307
3308 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3309
3310         * gst/gst.c: (init_post):
3311           split plugin paths correctly
3312
3313 2005-10-11  Wim Taymans  <wim@fluendo.com>
3314
3315         * check/gst/gstevent.c: (GST_START_TEST):
3316         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3317         (gst_base_sink_change_state):
3318         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3319         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3320         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3321         * gst/gstevent.c: (gst_event_new_newsegment),
3322         (gst_event_parse_newsegment):
3323         * gst/gstevent.h:
3324         Added extra flag to newsegment for future API freeze.
3325         Updated check and base elements.
3326
3327 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3328
3329         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3330         (gst_collectpads_add_pad), (gst_collectpads_pop),
3331         (gst_collectpads_event), (gst_collectpads_chain):
3332         * gst/base/gstcollectpads.h: Handle EOS correctly.
3333
3334 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3335
3336         * tools/gst-launch.c: (main):
3337           more null protecting
3338
3339 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3340
3341         * gst/gst-i18n-lib.h:
3342           check for ENABLE_NLS, not GETTEXT_PACKAGE
3343         * gst/gstregistry.c: (gst_registry_add_plugin),
3344         (gst_registry_scan_path_level),
3345         (_gst_registry_remove_cache_plugins):
3346           protect possibly NULL strings
3347         * gst/parse/types.h:
3348           config.h already included before
3349         * tools/gst-inspect.c: (main):
3350           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3351           check for ENABLE_NLS, not GETTEXT_PACKAGE
3352         * tools/gst-launch.c: (main):
3353           check for ENABLE_NLS, not GETTEXT_PACKAGE
3354
3355 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3356
3357         * configure.ac:
3358           if we don't have glib, fail before testing 2.8
3359         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3360           fix a leak, should fix plugins-base testsuite
3361
3362 2005-10-11  Andy Wingo  <wingo@pobox.com>
3363
3364         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3365         take the mode we're going to as an arg. Go head and set the mode
3366         and flushing flags now, so that if the activate function starts a
3367         thread all the flags will be in the right state.
3368         (post_activate): Renamed also. Just handle making sure streaming
3369         finishes for the deactivation case, and setting the deactivated
3370         mode.
3371         (gst_pad_set_active): Complain loudly if deactivation fails.
3372         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3373         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3374         remove the terrible hack.
3375
3376 2005-10-11  Wim Taymans  <wim@fluendo.com>
3377
3378         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3379         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3380         (gst_bin_recalc_state), (gst_bin_change_state_func),
3381         (gst_bin_dispose), (bin_bus_handler):
3382         * gst/gstbin.h:
3383         Prepare to make current EOS message queue more generic.
3384         Fix some typos.
3385
3386         * gst/gstevent.c: (gst_event_new_newsegment),
3387         (gst_event_parse_newsegment):
3388         * gst/gstevent.h:
3389         Rename base to stream_time.
3390
3391         * gst/gstmessage.h:
3392         Fix typo in docs.
3393
3394 2005-10-11  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3397         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3398         (gst_bin_change_state_func), (bin_bus_handler):
3399         * gst/gstbin.h:
3400         Work on proper clock selection.
3401
3402 2005-10-11  Edward Hervey  <edward@fluendo.com>
3403
3404         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3405         * libs/gst/controller/gstcontroller.h:
3406         Added GList* version of _remove_properties() in order to be able to wrap
3407         it in bindings.
3408
3409 2005-10-11  Wim Taymans  <wim@fluendo.com>
3410
3411         * docs/design/part-states.txt:
3412         Some more docs.
3413
3414         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3415         (gst_bin_change_state_func), (bin_bus_handler):
3416         Doc updates. Don't distribute the same clock over and over again.
3417
3418         * gst/gstclock.c:
3419         * gst/gstclock.h:
3420         Doc updates.
3421
3422         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3423         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3424         (gst_pad_send_event):
3425         * gst/gstpad.h:
3426         Make probe emission threadsafe again.
3427         Register quarks and move _get_name() from utils.
3428         Doc updates.
3429
3430         * gst/gstpipeline.c: (gst_pipeline_class_init),
3431         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3432         Only redistribute the clock of it changed.
3433
3434         * gst/gstsystemclock.h:
3435         Doc updates. 
3436
3437         * gst/gstutils.c:
3438         * gst/gstutils.h:
3439         Moved the _flow_get_name() to GstPad.
3440
3441 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3442
3443         * check/gst-libs/gdp.c: (GST_START_TEST):
3444         * check/gst/gstcaps.c: (GST_START_TEST):
3445         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3446         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3447         (gst_dp_packet_from_caps):
3448           fix more valgrind warnings before turning up the heat
3449
3450 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3451
3452         * gst/parse/grammar.y:
3453           some cleanup before the hacking
3454
3455 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3456
3457         * gst/base/gstbasesrc.c: (gst_base_src_query):
3458           use conversions
3459         * gst/gstutils.c: (gst_guint64_to_gdouble),
3460         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3461         * gst/gstutils.h:
3462           externalize, basesrc uses it
3463           obviously the implementation needs testing
3464
3465 2005-10-10  Wim Taymans  <wim@fluendo.com>
3466
3467         * tests/sched/Makefile.am:
3468         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3469         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3470
3471 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3472
3473         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3474           apparently converting from guint64 to double is not implemented
3475           on MSVC
3476
3477 2005-10-10  Wim Taymans  <wim@fluendo.com>
3478
3479         * check/Makefile.am:
3480         * check/generic/states.c: (GST_START_TEST):
3481         * check/gst/gstbin.c: (GST_START_TEST):
3482         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3483         * check/states/sinks.c: (GST_START_TEST):
3484         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3485         (main):
3486         Check fixes, use API as stated in design docs, remove hacks.
3487
3488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3489         (gst_base_sink_change_state):
3490         Catch stopping our task while we're shutting down.
3491
3492         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3493         (gst_bin_remove_func), (gst_bin_get_state_func),
3494         (gst_bin_recalc_state), (gst_bin_change_state_func),
3495         (bin_bus_handler):
3496         * gst/gstbin.h:
3497         * gst/gstelement.c: (gst_element_init),
3498         (gst_element_get_state_func), (gst_element_abort_state),
3499         (gst_element_commit_state), (gst_element_lost_state),
3500         (gst_element_set_state), (gst_element_change_state),
3501         (gst_element_change_state_func):
3502         * gst/gstelement.h:
3503         New state change algorithm (see #318116)
3504
3505         * gst/gstpipeline.c: (gst_pipeline_class_init),
3506         (gst_pipeline_init), (gst_pipeline_set_property),
3507         (gst_pipeline_get_property), (do_pipeline_seek),
3508         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3509         * gst/gstpipeline.h:
3510         Remove crude state change hacks.
3511
3512         * gst/gstutils.h:
3513         Remove crude hacks.
3514
3515         * tools/gst-launch.c: (main):
3516         Fixes for state change. Needs some more work to fully use the
3517         new stuff.
3518
3519 2005-10-10  Andy Wingo  <wingo@pobox.com>
3520
3521         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3522
3523         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3524         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3525         issue.
3526
3527 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3528
3529         * gst/gstiterator.c: (gst_iterator_new):
3530           Fix my previous commit: GTypes passed to gst_iterator_new()
3531           can be fundamental types.
3532
3533 2005-10-10  Wim Taymans  <wim@fluendo.com>
3534
3535         * gst/gstelement.c: (gst_element_iterate_pad_list),
3536         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3537         (gst_element_iterate_sink_pads):
3538         Use src/sink pads lists for the respective iterators instead
3539         of filtering.
3540
3541 2005-10-10  Andy Wingo  <wingo@pobox.com>
3542
3543         Merged in popt removal + GOption addition patch from Ronald, bug
3544         #169772.
3545
3546         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3547         GstElement macros around, remove popt-related symbols, add goption
3548         stuff.
3549
3550         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3551         
3552         * docs/gst/Makefile.am:
3553         * docs/libs/Makefile.am: No POPT_CFLAGS.
3554         
3555         * examples/manual/Makefile.am:
3556         * docs/manual/basics-init.xml: Doc updates with an example.
3557         
3558         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3559         (gst_init), (parse_one_option), (parse_goption_arg):
3560         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3561         bit of hand merging and debugging to get the GOption stuff working
3562         tho.
3563         
3564         * tests/Makefile.am:
3565         * tools/Makefile.am:
3566         * tools/gst-inspect.c: (main):
3567         * tools/gst-launch.c: (main):
3568         * tools/gst-run.c: (main):
3569         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3570
3571 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3572
3573         * gst/gstiterator.c: (gst_iterator_new):
3574           Add assertions to make sure passed GType is likely to really
3575           be a GType (as the compiler won't catch it if the size and
3576           GType arguments get mixed up, see #318447).
3577
3578 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3579
3580         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3581
3582         * gst/gstbin.c: (gst_bin_iterate_sorted):
3583           Pass GType and size arguments to gst_iterator_new() in the right
3584           order (maybe we should make _new() take the GType as first argument
3585           just like _new_list()?) (#318447).
3586           
3587
3588 2005-10-10  Wim Taymans  <wim@fluendo.com>
3589
3590         * gst/gstelement.c: (gst_element_finalize):
3591         And free the GStaticRecMutex too
3592
3593 2005-10-10  Andy Wingo  <wingo@pobox.com>
3594
3595         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3596         Allocate and free the mutex properly.
3597
3598         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3599         New macros.
3600         (GstElement): The state_lock is now recursive. Rebuild your
3601         plugins, suckers. Old macros adapted.
3602
3603         * docs/gst/gstreamer-sections.txt: Doc updates.
3604
3605         * gst/gstutils.h:
3606         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3607         (g_static_rec_cond_wait): Ported from state changes patch, while
3608         we wait on bug #317802 to be solved in a well-distributed GLib.
3609
3610         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3611         gst_element_change_state, variable name changes.
3612         (gst_element_change_state): Split out of gst_element_set_state in
3613         preparation for the state change merge. Doesn't pay attention to
3614         the 'transition' argument.
3615         (gst_element_set_state): Updates, hopefully purely cosmetic.
3616         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3617         state change patch.
3618         (gst_element_get_state_func): Renamed from get_state, cosmetic
3619         changes.
3620
3621 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3622
3623         * gst/elements/gstelements.c:
3624         * win32/GStreamer.vcproj:
3625         * win32/config.h:
3626         * win32/dirent.c: (_tseekdir):
3627         * win32/gst-inspect.vcproj:
3628         * win32/gst-launch.vcproj:
3629         * win32/gstconfig.h:
3630         * win32/gstelements.vcproj:
3631         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3632         * win32/gstreamer.def:
3633         * win32/msvc71.sln:
3634           updates for the win32 build (patch from Sebastien Moutte)
3635
3636 2005-10-10  Andy Wingo  <wingo@pobox.com>
3637
3638         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3639         gst_bin_get_state, cleaned up (but no logic changes).
3640         (bin_element_is_sink): Comment updates.
3641         (sink_iterator_filter): Remove needless cast.
3642         (gst_bin_iterate_sinks): Doc update.
3643         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3644         cleaned up (but no logic changes).
3645
3646         * check/states/sinks.c (test_src_sink): Cleanups from the state
3647         change patch.
3648         (test_livesrc_sink): Sync on the state.
3649
3650         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3651         the state change patch.
3652
3653         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3654         change patch.
3655
3656         * check/gst/gstbin.c: Merge in some style fixes and additional
3657         checks from Wim's state change patch.
3658
3659 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3660
3661         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3662         (gst_type_find_helper):
3663           Check whether we have the requested data already in our list of
3664           cached buffers before pulling a new buffer; also make the buffer
3665           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3666
3667 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3668
3669         * gst/gstcaps.c:
3670         * gst/gstevent.c:
3671           doc updates
3672         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3673           don't use long long, it's not portable.  Replacing with
3674           gint64 seems to work; let's hope no skeletons fall out of the closet.
3675
3676 2005-10-10  Andy Wingo  <wingo@pobox.com>
3677
3678         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3679
3680 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3681
3682         * docs/gst/gstreamer-sections.txt:
3683         * gst/gstevent.c:
3684         * gst/gstevent.h:
3685         * gst/gstinfo.c:
3686         * gst/gstinfo.h:
3687         * gst/gstmessage.c: (gst_message_parse_state_changed):
3688         * gst/gstpad.c:
3689         * gst/gstpad.h:
3690           more docs, fix compilation
3691
3692 2005-10-09  Philippe Khalaf <burger@speedy.org>
3693         * gst/gstmessage.c:
3694           Fixed a few forgotten variables on previous commit
3695
3696 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3697
3698         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3699           Fix evil typefind crasher: getrange() might return a short
3700           buffer at the end of a file, but gst_type_find_peek() must
3701           either return the full data as requested or NULL, but
3702           never a short buffer.
3703
3704 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * gst/gstmessage.c: (gst_message_new_state_changed),
3707         (gst_message_parse_state_changed):
3708         * gst/gstmessage.h:
3709           don't use "new", it's a C++ keyword
3710
3711 2005-10-08  Wim Taymans  <wim@fluendo.com>
3712
3713         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3714         * gst/gstelement.c: (gst_element_post_message):
3715         * gst/gstpipeline.c: (gst_pipeline_change_state):
3716         Small docs and debug updates.
3717
3718 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3719
3720         * docs/gst/gstreamer-sections.txt:
3721         * gst/gstelementfactory.c:
3722         * gst/gstevent.c:
3723         * gst/gsttaglist.c:
3724           more docs
3725
3726 2005-10-08  Wim Taymans  <wim@fluendo.com>
3727
3728         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3729         (gst_bin_dispose), (bin_bus_handler):
3730         Fix typos, add comments.
3731         Clear EOS list when going to PAUSED from any direction and do it
3732         in a threadsafe way.
3733         Get base time in a threadsafe way too.
3734         Fix confusing debug in the change_state function.
3735         Various other small cleanups.
3736         
3737         * gst/gstelement.c: (gst_element_post_message):
3738         Fix very verbose bus posting code.
3739
3740         * gst/gstpipeline.c: (gst_pipeline_class_init),
3741         (gst_pipeline_set_property), (gst_pipeline_get_property),
3742         (gst_pipeline_change_state):
3743         Small ARG_ -> PROP_ cleanup
3744
3745 2005-10-08  Wim Taymans  <wim@fluendo.com>
3746
3747         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3748         Do a less CPU demanding EOS check because we can.
3749
3750 2005-10-08  Wim Taymans  <wim@fluendo.com>
3751
3752         * libs/gst/dataprotocol/dataprotocol.c:
3753         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3754         (gst_dp_packet_from_event):
3755         * libs/gst/dataprotocol/dataprotocol.h:
3756         * libs/gst/dataprotocol/dp-private.h:
3757         It's about time we bump the version number.
3758         Since event types don't fit in the guint8 anymore describing
3759         the payload type, make payload type 16 bits wide.
3760
3761 2005-10-08  Wim Taymans  <wim@fluendo.com>
3762
3763         * docs/design/part-TODO.txt:
3764         * docs/design/part-clocks.txt:
3765         * docs/design/part-events.txt:
3766         * docs/design/part-gstbin.txt:
3767         * docs/design/part-gstelement.txt:
3768         * docs/design/part-gstpipeline.txt:
3769         * docs/design/part-live-source.txt:
3770         * docs/design/part-messages.txt:
3771         * docs/design/part-overview.txt:
3772         * docs/design/part-states.txt:
3773         Many doc updates.
3774
3775 2005-10-08  Wim Taymans  <wim@fluendo.com>
3776
3777         * gst/gstevent.c:
3778         * gst/gstevent.h:
3779         Fix event quark registration.
3780         Add some space between events so we can insert them in the
3781         right groups.
3782
3783 2005-10-08  Wim Taymans  <wim@fluendo.com>
3784
3785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3786         (gst_base_sink_handle_buffer):
3787         Better log message.
3788
3789         * gst/gstbus.h:
3790         * gst/gstelement.h:
3791         More docs.
3792
3793         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3794         (gst_queue_set_property), (gst_queue_get_property):
3795         * gst/gstqueue.h:
3796         Remove old unused properties.
3797
3798 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3799         * docs/gst/gstreamer-sections.txt:
3800         * gst/gstmessage.c:
3801         * gst/gstmessage.h:
3802         * gst/gstminiobject.c:
3803         * gst/gstminiobject.h:
3804         * gst/gstobject.h:
3805         * gst/gstpad.h:
3806         * gst/gstutils.h:
3807           lots of new docs and doc fixes
3808
3809 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3810
3811         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3812         * gst/gstplugin.h:
3813         * gst/gstregistry.c: (gst_registry_lookup_locked),
3814         (gst_registry_scan_path_level):
3815         * gst/gstregistryxml.c: (load_plugin):
3816           Only ever load one plugin for a given plugin basename.
3817           This ensures correct overriding of GST_PLUGIN_PATH over
3818           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3819           system installed plugins.
3820
3821 2005-10-08  Wim Taymans  <wim@fluendo.com>
3822
3823         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3824         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3825         Prepare for doing QOS.
3826
3827 2005-10-08  Wim Taymans  <wim@fluendo.com>
3828
3829         * check/gst/gstbin.c: (GST_START_TEST):
3830         * check/pipelines/cleanup.c: (GST_START_TEST):
3831         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3832         Allow new clock message too.
3833
3834 2005-10-08  Wim Taymans  <wim@fluendo.com>
3835
3836         * gst/gstmessage.c: (gst_message_new_error),
3837         (gst_message_new_warning), (gst_message_new_tag),
3838         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3839         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3840         (gst_message_new_segment_start), (gst_message_new_segment_done),
3841         (gst_message_parse_state_changed),
3842         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3843         (gst_message_parse_new_clock):
3844         * gst/gstmessage.h:
3845         Also carry the clock in question.
3846
3847 2005-10-08  Wim Taymans  <wim@fluendo.com>
3848
3849         * gst/gstmessage.c: (gst_message_new_custom),
3850         (gst_message_new_eos), (gst_message_new_error),
3851         (gst_message_new_warning), (gst_message_new_tag),
3852         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3853         (gst_message_new_new_clock), (gst_message_new_segment_start),
3854         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3855         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3856         * gst/gstmessage.h:
3857         Clean up.
3858         Added clock related messages.
3859
3860         * gst/gstpipeline.c: (gst_pipeline_change_state):
3861         Post message when the clock changed.
3862
3863         * tools/gst-launch.c: (event_loop):
3864         Print new clock.
3865
3866 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3867
3868         * tools/gst-inspect.c: (print_element_properties_info):
3869           Can't pass NULL strings to g_print() on windows.
3870
3871 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3872
3873         * docs/Makefile.am:
3874         * docs/gst/Makefile.am:
3875         * docs/gst/gstreamer-docs.sgml:
3876         * docs/gst/running.xml:
3877         * docs/version.entities.in:
3878           add a chapter on running GStreamer.
3879           document GST_DEBUG and GST_PLUGIN* env vars
3880
3881 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3882
3883         * Makefile.am:
3884           remove include dir
3885         * configure.ac:
3886           remove PLUGINS_BUILDDIR stuff
3887         * gst/gst.c: (init_post):
3888           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3889         * idiottest.mak:
3890           remove, it was condescending and not needed
3891
3892 2005-10-08  Wim Taymans  <wim@fluendo.com>
3893
3894         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3895         (gst_base_sink_handle_object), (gst_base_sink_event),
3896         (gst_base_sink_wait), (gst_base_sink_handle_event),
3897         (gst_base_sink_change_state):
3898         * gst/base/gstbasesink.h:
3899         Repost EOS message while going to PLAYING if still EOS.
3900         Make sure that when receiving a FLUSH_START we don't attempt
3901         to sync on the clock anymore.
3902
3903 2005-10-08  Wim Taymans  <wim@fluendo.com>
3904
3905         * tools/gst-launch.c: (event_loop):
3906         Better message printout.
3907
3908 2005-10-08  Wim Taymans  <wim@fluendo.com>
3909
3910         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3911         (gst_bin_child_proxy_get_children_count):
3912         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3913         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3914         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3915         (gst_child_proxy_set_valist):
3916         * gst/parse/grammar.y:
3917         Make ChildProxy threadsafe and fix mem leaks.
3918
3919 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3920
3921         * gst/gst.c: (init_post):
3922           debug the GST_PLUGIN_ env vars
3923
3924 2005-10-08  Wim Taymans  <wim@fluendo.com>
3925
3926         * check/gst/gstbin.c: (GST_START_TEST):
3927         * check/gst/gstmessage.c: (GST_START_TEST):
3928         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3929         * gst/gstelement.c: (gst_element_commit_state),
3930         (gst_element_lost_state):
3931         * gst/gstmessage.c: (gst_message_new_state_changed),
3932         (gst_message_parse_state_changed):
3933         * gst/gstmessage.h:
3934         * tools/gst-launch.c: (event_loop):
3935         Added extra field to STATE_CHANGE message with the pending
3936         state, which will be different from the new state soon.
3937
3938 2005-10-08  Wim Taymans  <wim@fluendo.com>
3939
3940         * gst/gstbus.c: (gst_bus_pop):
3941         * gst/gstclock.c:
3942         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3943         Small cleanups and doc updates.
3944
3945 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3946
3947         * gst/gst.c: (init_pre):
3948         * gst/gstbin.c: (gst_bin_add_func):
3949           log distributing clocks and base time
3950         * gst/gstregistry.c: (gst_registry_add_plugin),
3951         (gst_registry_scan_path_level), (gst_registry_scan_path):
3952           clean up the debugging output a little
3953         * gst/gstutils.c: (gst_element_state_get_name):
3954           warn about a memleak (I've actually seen this be used, though
3955           it was probably a bug)
3956
3957 2005-10-07  Wim Taymans  <wim@fluendo.com>
3958
3959         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3960         (gst_base_src_init), (gst_base_src_default_newsegment),
3961         (gst_base_src_newsegment), (gst_base_src_do_seek),
3962         (gst_base_src_loop), (gst_base_src_start):
3963         * gst/base/gstbasesrc.h:
3964         Make the newsegment event customizable by subclasses.
3965
3966 2005-10-07  Wim Taymans  <wim@fluendo.com>
3967
3968         * gst/gstevent.c: (gst_event_new_buffersize),
3969         (gst_event_parse_buffersize):
3970         * gst/gstevent.h:
3971         New event for future idea.
3972
3973 2005-10-07  Andy Wingo  <wingo@pobox.com>
3974
3975         * gst/gstelement.c (gst_element_post_message): Doc update.
3976
3977         * docs/gst/gstreamer-sections.txt: Update.
3978
3979         * gst/gstmessage.c (gst_message_new_application): Made into a
3980         function like honest API calls.
3981         (gst_message_new_element): New message type.
3982
3983         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3984
3985         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3986         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3987         times.
3988
3989         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3990         NO_PREROLL from gst_element_change_state to fall through.
3991
3992 2005-10-07  Wim Taymans  <wim@fluendo.com>
3993
3994         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3995         (gst_ghost_pad_do_activate_push):
3996         Activating a ghostpad with no internal pad in push mode
3997         is ok.
3998
3999 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4000
4001         * gst/gstobject.h:
4002           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4003           Fixes compilation on Windows.
4004
4005 2005-10-07  Michael Smith <msmith@fluendo.com>
4006
4007         * tools/gst-inspect.c:
4008           Print out feature and plugin count at the end when printing out
4009           all features.
4010
4011 2005-10-04  Michael Smith <msmith@fluendo.com>
4012
4013         * gst/gsterror.c: (_gst_stream_errors_init):
4014           Add another error string used in a few existing plugins.
4015
4016         * gst/gstplugin.c:
4017         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4018         * tools/gst-inspect.c: (print_element_info):
4019           When a feature disappears from a plugin (and the feature exists in
4020           the cached registry file), things went horribly wrong. This isn't a
4021           complete fix, we should actually be removing the 'missing' features
4022           from the features list when we load the actual plugin. That's not
4023           yet implemented. 
4024
4025 2005-10-04  Johan Dahlin  <johan@gnome.org>
4026
4027         * check/gst/gstiterator.c: (GST_START_TEST):
4028         * gst/gstbin.c: (gst_bin_iterate_elements),
4029         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4030         * gst/gstelement.c: (gst_element_iterate_pads):
4031         * gst/gstformat.c: (gst_format_iterate_definitions):
4032         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4033         (gst_iterator_new_list), (gst_iterator_filter):
4034         * gst/gstiterator.h:
4035         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4036         Add a GType to GstIterator, update callsites and tests.
4037
4038 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4039
4040         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4041           give events a chance to be handled by event probes when the pad
4042           is not linked
4043
4044 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4045
4046         * gst/gstevent.c: (gst_event_type_get_name),
4047         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4048         * gst/gstevent.h:
4049           add string representations for event types
4050
4051 2005-10-06  Wim Taymans  <wim@fluendo.com>
4052
4053         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4054         Don't use NULL pointers.
4055
4056 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4057
4058         * gst/gst_private.h:
4059         * gst/gstbus.c:
4060         * gst/gstelement.c:
4061         * gst/gstinfo.c:
4062         * gst/gstpluginfeature.c:
4063           widen the debug category in output to fit the biggest one we have
4064           add a bus category and use it
4065           play with the colors
4066           fix up some categories
4067
4068 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4069
4070         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4071           add push activation of sink ghost pads.
4072           Andye, please verify
4073
4074 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4075
4076         * gst/gstutils.c: (gst_element_link_pads):
4077           fix a bug in the case where neither element has a pad
4078         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4079           add a test for that case
4080
4081 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4082
4083         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4084           emit have-data before checking for peers.  This allows
4085           for probe handlers to connect elements.  This helps autopluggers.
4086         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4087         (gst_pad_suite):
4088           add six checks, linked/unlinked with no/true/false probe
4089
4090 2005-10-04  Wim Taymans  <wim@fluendo.com>
4091
4092         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4093         (gst_fake_sink_event), (gst_fake_sink_preroll),
4094         (gst_fake_sink_render), (gst_fake_sink_change_state):
4095         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4096         (gst_fake_src_get_property), (gst_fake_src_create),
4097         (gst_fake_src_stop):
4098         * gst/elements/gstidentity.c: (gst_identity_stop):
4099         Protect last_message with lock.
4100
4101 2005-10-04  Edward Hervey  <edward@fluendo.com>
4102
4103         * gst/gstformat.h: 
4104         Added precision in the comments for GST_FORMAT_DEFAULT
4105
4106 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4107
4108         * tools/gst-launch.c: (main):
4109           Don't try to run erroneous pipelines.
4110
4111 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4112
4113         * gst/gstbus.c: We don't need this header.
4114
4115 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4116
4117         * configure.ac:
4118           back to development
4119
4120 === release 0.9.3 ===
4121
4122 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4123
4124         * README:
4125         * configure.ac:
4126           Releasing 0.9.3, "Unregistered"
4127
4128 2005-10-03  Andy Wingo  <wingo@pobox.com>
4129
4130         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4131         whereby calling a pad's activatepush() function can start a thread
4132         that starts to push or pull before the pad gets the FLUSHING flag
4133         unset. Hack around it by holding the stream lock until the flag is
4134         set. Need to replace this with a proper solution. Together with
4135         the ghost pad fixes, this fixes mp3 playing/tagreading.
4136
4137         * docs/design/part-gstghostpad.txt: Add a note about activation of
4138         proxy pads outside of ghost pads.
4139
4140         * gst/gstghostpad.c: Implement the ghost pad activation design.
4141
4142 2005-10-02  Andy Wingo  <wingo@pobox.com>
4143
4144         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4145         It is volatile, after all.
4146
4147         * docs/design/part-gstghostpad.txt: Flesh out activation with
4148         ghost pads.
4149
4150         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4151         GST_DEBUG_FUNCPTR.
4152
4153 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4154
4155         * configure.ac:
4156           Fix (unused) AM_CONDITIONAL tests.
4157
4158 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4159
4160         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4161
4162         * gst/gstutils.c: (gst_pad_query_convert):
4163           Add assertion that makes sure src_val is >=0, just like
4164           gst_query_new_convert() has. (#315895)
4165
4166 2005-09-30  Edward Hervey  <edward@fluendo.com>
4167
4168         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4169         Let's not iterate pads we're not interested in, it avoids getting 
4170         sky-high refcounts on sinkpad.
4171
4172 2005-09-30  Wim Taymans  <wim@fluendo.com>
4173
4174         * gst/gstelement.c: (gst_element_set_state),
4175         (gst_element_change_state):
4176         Small tweak, element in ASYNC remains ASYNC.
4177
4178 2005-09-30  Wim Taymans  <wim@fluendo.com>
4179
4180         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4181         Only error is an error.
4182
4183         * gst/gstbin.c: (gst_bin_change_state):
4184         Better debugging.
4185
4186         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4187         Also call pad_block in pad alloc.
4188
4189         * gst/gstutils.c: (gst_flow_get_name):
4190         Better debugging.
4191
4192 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4193
4194         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4195         (gst_base_src_get_range):
4196           Fix documentation typos. Add some more debug info.
4197
4198 2005-09-29  David Schleef  <ds@schleef.org>
4199
4200         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4201           more end-user friendly.
4202         * tools/gst-inspect.c: (main): Check if command-line argument is
4203           a file and attempt to load that file as a plugin.
4204
4205 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4206
4207         * check/gst/gstbin.c:
4208         * check/states/sinks.c:
4209           fix tests for the new warning
4210         * check/gst/gstpipeline.c:
4211           add a test for pipeline and bus interaction
4212         * gst/gstelement.c:
4213           elements should be NULL if they get disposed; add a warning if not
4214
4215 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4216
4217         * gst/gstobject.c:
4218           for 2.6 refcounting, make debug log more correct by printing
4219           the actual refcounts at the time of swap (Wim)
4220
4221 2005-09-29  Andy Wingo  <wingo@pobox.com>
4222
4223         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4224         removes signal watches previously added via
4225         gst_bus_add_signal_watch.
4226         (gst_bus_add_signal_watch): Don't return the source id, just store
4227         it on the bus if there wasn't an id already.
4228
4229         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4230         add_signal_watch and remove_signal_watch.
4231
4232 2005-09-29  Edward Hervey  <edward@fluendo.com>
4233
4234         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4235         Better if we actually iterate the list :)
4236
4237 2005-09-29  Wim Taymans  <wim@fluendo.com>
4238
4239         * check/gst/gstbin.c: (GST_START_TEST):
4240         Change for new bus API.
4241
4242         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4243         (send_messages), (GST_START_TEST), (gstbus_suite):
4244         Change for new bus signal API.
4245
4246         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4247         (gst_bus_source_prepare), (gst_bus_source_check),
4248         (gst_bus_create_watch), (gst_bus_add_watch_full),
4249         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4250         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4251         * gst/gstbus.h:
4252         Remove support for multiple GSources operating on different
4253         message types as it is too complex and unneeded when using
4254         signals.
4255         Added support for receiving signals from the bus.
4256
4257 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4258
4259         * docs/libs/tmpl/gstdataprotocol.sgml:
4260         * docs/manual/advanced-dataaccess.xml:
4261         * gst/elements/gstcapsfilter.c:
4262         * gst/gstutils.c:
4263           rename filter-caps to caps property
4264
4265 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4266
4267         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4268           More robust fraction string parsing.
4269
4270         * docs/pwg/appendix-porting.xml:
4271           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4272
4273 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4274
4275         * gst/gstcaps.c: (gst_caps_do_simplify):
4276           Thou shalt not free a structure and then continue using it
4277           in the next loop iteration.
4278
4279         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4280         (gst_caps_suite):
4281           Add test case for caps simplification.
4282
4283 2005-09-29  Wim Taymans  <wim@fluendo.com>
4284
4285         * check/gst/gstbin.c: (GST_START_TEST):
4286         Oops.
4287
4288 2005-09-29  Wim Taymans  <wim@fluendo.com>
4289
4290         * check/gst/gstbin.c: (GST_START_TEST):
4291         Add bus to bin.
4292
4293         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4294         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4295         (find_element), (gst_bin_sort_iterator_next),
4296         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4297         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4298         (gst_bin_change_state), (gst_bin_dispose):
4299         A bin does not have a bus, it gets the bus from the parent.
4300
4301         * gst/gstelement.c: (gst_element_requires_clock),
4302         (gst_element_provides_clock), (gst_element_is_indexable),
4303         (gst_element_is_locked_state), (gst_element_change_state),
4304         (gst_element_set_bus_func):
4305         Small cleanups.
4306
4307         * gst/gstpipeline.c: (gst_pipeline_class_init),
4308         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4309         The pipeline provides a bus.
4310
4311 2005-09-28  Johan Dahlin  <johan@gnome.org>
4312
4313         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4314         gst_structure_get_enum instead of gst_structure_get_int
4315
4316         * gst/gststructure.c (gst_structure_get_enum): Impl.
4317
4318         * gst/gststructure.h (gst_structure_get_enum): Add
4319
4320         * docs/gst/gstreamer-sections.txt: Ditto
4321
4322         * gst/gstmessage.c (gst_message_new_state_changed): Use
4323         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4324         which does introspection.
4325         Reviewed by Christian Schaller
4326
4327 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4328
4329         * gst/gstinfo.c: (gst_debug_log_default):
4330           don't do dummy g_strdup()s
4331         * libs/gst/controller/gstcontroller.c:
4332         (on_object_controlled_property_changed),
4333         (gst_controlled_property_new), (gst_controller_new_valist),
4334         (gst_controller_new_list),
4335         (gst_controller_remove_properties_valist), (gst_controller_set),
4336         (gst_controller_get), (gst_controller_sync_values),
4337         (gst_controller_get_value_array), (_gst_controller_class_init),
4338         (gst_controller_get_type):
4339         * libs/gst/controller/gstcontroller.h:
4340         * libs/gst/controller/gstinterpolation.c:
4341         (gst_controlled_property_find_timed_value_node):
4342           convert // to /**/ comments
4343
4344 2005-09-28  Wim Taymans  <wim@fluendo.com>
4345
4346         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4347         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4348         (gst_bus_sync_signal_handler):
4349         * gst/gstbus.h:
4350         Added async-message and sync-message signals to the bus.
4351         Added helper BusFunc to emit signals for all posted messages.
4352
4353         * gst/gstmessage.c: (gst_message_type_get_name),
4354         (gst_message_type_to_quark), (gst_message_get_type):
4355         * gst/gstmessage.h:
4356         Register quarks for message names.
4357
4358 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4359
4360         * docs/libs/gstreamer-libs-sections.txt:
4361         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4362         (gst_controller_new_list):
4363         * libs/gst/controller/gstcontroller.h:
4364           added another constructor for language bindings
4365
4366 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4369           add another check
4370         * gst/gstbus.c:
4371           add some doc
4372         * gst/gstinfo.c: (_gst_debug_init):
4373           slightly more readable color for refcount debugging
4374
4375 2005-09-28  Wim Taymans  <wim@fluendo.com>
4376
4377         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4378         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4379         (find_element), (gst_bin_sort_iterator_next),
4380         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4381         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4382         (gst_bin_change_state), (gst_bin_dispose):
4383         Small doc fixes. get_clock -> provide_clock.
4384
4385         * gst/gstelement.c: (gst_element_class_init),
4386         (gst_element_provides_clock), (gst_element_provide_clock),
4387         (gst_element_get_clock), (gst_element_commit_state),
4388         (gst_element_lost_state):
4389         * gst/gstelement.h:
4390         Make get/set_clock() symetric. Add provide_clock vmethod since
4391         that is actually what this function does.
4392
4393         * gst/gstpipeline.c: (gst_pipeline_class_init),
4394         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4395         (gst_pipeline_get_clock):
4396         get_clock -> provide_clock.
4397
4398 2005-09-28  Andy Wingo  <wingo@pobox.com>
4399
4400         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4401         lieu of real docs...
4402
4403         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4404
4405 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4406
4407         * gst/elements/gstcapsfilter.c:
4408         * gst/elements/gstfakesink.c:
4409         * gst/elements/gstfakesrc.c:
4410         * gst/elements/gstfdsink.c:
4411         * gst/elements/gstfdsrc.c:
4412         * gst/elements/gstfilesink.c:
4413         * gst/elements/gstfilesrc.c:
4414         * gst/elements/gstidentity.c:
4415         * gst/elements/gsttee.c:
4416         * gst/elements/gsttypefindelement.c:
4417           Make element details static.
4418
4419 2005-09-28  Wim Taymans  <wim@fluendo.com>
4420
4421         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4422         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4423         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4424         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4425         (gst_bin_change_state), (gst_bin_dispose):
4426         Some documentation updates.
4427         Clean up dispose handlers.
4428
4429         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4430         * gst/gstpad.c: (gst_pad_dispose):
4431         Clean up dispose handler.
4432
4433         * gst/gstpipeline.c: (gst_pipeline_change_state):
4434         Removed spurious UNLOCK.
4435
4436 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4437
4438         * docs/gst/gstreamer-sections.txt:
4439         * gst/base/gstbasesrc.h:
4440         * gst/gstelement.h:
4441         * gst/gstevent.h:
4442         * gst/gstobject.h:
4443         * gst/gstpad.h:
4444         * gst/gstpipeline.c:
4445         * gst/gstpipeline.h:
4446         * gst/gstutils.h:
4447         * gst/gstxml.h:
4448           added two new functions to the docs
4449                 documents all undocumented GstXXXFlags
4450                 completed some incomplete docs 
4451
4452 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4453
4454         * gst/gstbin.c: (gst_bin_dispose):
4455         * gst/gstelement.c: (gst_element_dispose):
4456           remove now useless and leaky resurrection code in dispose
4457         * gst/base/gstbasesrc.c: (gst_base_src_init):
4458         * gst/gstelementfactory.c: (gst_element_factory_create):
4459         * gst/gstobject.c: (gst_object_set_parent):
4460           add some debugging
4461
4462 2005-09-27  Wim Taymans  <wim@fluendo.com>
4463
4464         * docs/design/part-TODO.txt:
4465         Update TODO.
4466
4467         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4468         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4469         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4470         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4471         (gst_bin_change_state):
4472         * gst/gstelement.h:
4473         Remove element variable, we keep element info in the iterator now.
4474
4475 2005-09-27  Andy Wingo  <wingo@pobox.com>
4476
4477         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4478         values.
4479
4480 2005-09-27  Wim Taymans  <wim@fluendo.com>
4481
4482         * check/gst/gstbin.c: (GST_START_TEST):
4483         Enable check that works now.
4484
4485         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4486         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4487         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4488         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4489         (gst_bin_change_state):
4490         * gst/gstbin.h:
4491         Redid the state change algorithm using a topological sort algo.
4492         Handles all cases correctly.
4493         Exposed iterator for state change order.
4494
4495         * gst/gstelement.h:
4496         Temp storage for state changes. Need to get rid of this soon.
4497
4498 2005-09-27  Wim Taymans  <wim@fluendo.com>
4499
4500         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4501         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4502         (link_fold_func), (gst_pad_proxy_setcaps):
4503         Leak fixes, the fold functions need to unref the passed object and
4504         _get_parent_*() returns ref to parent.
4505
4506 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4507
4508         * check/gst/gstbuffer.c: (test_make_writable):
4509           Plug leak in test case and fix 'make check-valgrind'
4510
4511 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4512
4513         * gst/gstbuffer.c: (gst_subbuffer_init):
4514           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4515           works correctly in all circumstances (we could have just copied
4516           the parent buffer's readonly flag, but conceptually it seems
4517           cleaner to mark all subbuffers as read-only). (based on patch
4518           by Alessandro Decina, #314710).
4519         
4520         * check/gst/gstbuffer.c: (create_read_only_buffer),
4521         (test_make_writable), (test_subbuffer_make_writable),
4522         (gst_test_suite):
4523           Add some tests for gst_buffer_make_writable().
4524
4525 2005-09-27  Wim Taymans  <wim@fluendo.com>
4526
4527         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4528         use gst_object_has_ancestor().
4529
4530         * gst/gstobject.c: (gst_object_has_ancestor):
4531         * gst/gstobject.h:
4532         gst_object_has_ancestor() copied from gstbin.c as it is a
4533         usefull function.
4534
4535         * tests/instantiate/create.c: (create_all_elements):
4536         * tests/lat.c: (handoff_src), (handoff_sink):
4537         * tests/sched/runxml.c: (main):
4538         * tests/seeking/seeking1.c: (main):
4539         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4540         (main):
4541         Fix compilation of some tests.
4542
4543 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4544
4545         * gst/gsterror.h:
4546           Remove comment. GST_TYPE_G_ERROR is here to stay,
4547           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4548           (#316961, #300610).
4549
4550 2005-09-26  Wim Taymans  <wim@fluendo.com>
4551
4552         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4553         Added check that shows error in state change order.
4554
4555 2005-09-26  Wim Taymans  <wim@fluendo.com>
4556
4557         * gst/gstbin.c: (gst_bin_change_state):
4558         Make state change function use 3 queues again, we were
4559         adding elements in the wrong order.
4560
4561         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4562         Some debug info,
4563
4564         * gst/gstpad.c: (gst_pad_dispose):
4565         Added some debug info first.
4566
4567 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4568
4569         * docs/design/draft-push-pull.txt:
4570         * docs/design/part-events.txt:
4571         * docs/design/part-overview.txt:
4572         * docs/design/part-scheduling.txt:
4573           Replace all _pull_region() with _pull_range()
4574           
4575 2005-09-26  Andy Wingo  <wingo@pobox.com>
4576
4577         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4578
4579         * check/gst-libs/controller.c: Update for controller api change.
4580
4581         * configure.ac: 
4582         * tests/Makefile.am:
4583         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4584         over by GLib bug 118439.
4585         
4586         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4587         routines to a function.
4588
4589         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4590
4591         * libs/gst/controller/gsthelper.c:
4592         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4593         (gst_object_sync_values): Renamed from sink_values. Ugh.
4594
4595         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4596
4597         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4598         Renamed from controller_key, as it is exported.
4599
4600         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4601
4602 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4603
4604         * gst/Makefile.am:
4605         * gst/gst.h:
4606         * gst/gstpad.h:
4607         * gst/gstpadtemplate.h:
4608         * gst/gstquery.c:
4609         * gst/gstquery.h:
4610         * gst/gstqueryutils.c:
4611         * gst/gstqueryutils.h:
4612           remove queryutils headers after moving the two used functions
4613           to gstquery.  also fixes build problem for gstsiddec
4614
4615 2005-09-26  Michael Smith <msmith@fluendo.com>
4616
4617         * tools/gst-launch.1.in:
4618         Correct documentation in manpage of debug syntax
4619
4620 2005-09-26  Wim Taymans  <wim@fluendo.com>
4621
4622         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4623         (gst_base_src_is_seekable), (gst_base_src_change_state):
4624         Some more debugging info.
4625
4626 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4627
4628         * docs/gst/gstreamer-sections.txt:
4629         * gst/base/gstbasetransform.h:
4630         * gst/gstindex.h:
4631           added more docs
4632
4633 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4634
4635         * docs/gst/.cvsignore:
4636         * docs/gst/tmpl/.cvsignore:
4637         * docs/gst/tmpl/gstpipeline.sgml:
4638         * docs/gst/tmpl/gstplugin.sgml:
4639         * gst/gstpipeline.c:
4640         * gst/gstplugin.c:
4641         * gst/gstplugin.h:
4642           inlined the last two docs files
4643           removed the tmpl directory from cvs (no more conflicts here!)
4644
4645 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4646
4647         * docs/gst/gstreamer-sections.txt:
4648         * docs/gst/tmpl/.cvsignore:
4649         * docs/gst/tmpl/gstpad.sgml:
4650         * docs/gst/tmpl/gstpadtemplate.sgml:
4651         * gst/Makefile.am:
4652         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4653         (gst_pad_finalize), (gst_pad_set_pad_template):
4654         * gst/gstpad.h:
4655         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4656         (gst_pad_template_class_init), (gst_pad_template_init),
4657         (gst_pad_template_dispose), (name_is_valid),
4658         (gst_static_pad_template_get), (gst_pad_template_new),
4659         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4660         (gst_pad_template_pad_created):
4661         * gst/gstpadtemplate.h:
4662           inlined two more docs
4663           factored gstpadtemplate out of gstpad
4664
4665 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4666
4667         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4668         (test_children_state_change_order_semi_sink):
4669           Fix test case: we can't rely on a fixed state change order when
4670           going from READY => PAUSED because the sink might commit its 
4671           new state first when the first buffer created by the source 
4672           reaches the sink before the source has finished its change state.
4673           (Test case still fails at times, see #316856, comment 5 onwards)
4674
4675 2005-09-24  Wim Taymans  <wim@fluendo.com>
4676
4677         * docs/design/part-events.txt:
4678         * docs/design/part-gstbus.txt:
4679         * docs/design/part-gstpipeline.txt:
4680         * docs/design/part-messages.txt:
4681         * docs/design/part-overview.txt:
4682         * docs/design/part-segments.txt:
4683         * gst/gstbin.c:
4684         * gst/gstbuffer.c:
4685         * gst/gstclock.c:
4686         * gst/gstelement.c:
4687         * gst/gstevent.c:
4688         * gst/gstfilter.c:
4689         * gst/gstiterator.c:
4690         Various documentation updates.
4691
4692 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4693
4694         * gst/gstclock.h:
4695           Well, that's embarassing.  Luckily we weren't using
4696           GST_CLOCK_DIFF anywhere.
4697
4698 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4699
4700         * common/gtk-doc.mak:
4701           don't fail on building XML, FC4 slave shows a bunch of doc
4702           missing bits that I don't get
4703         * gst/gstpad.c:
4704         * gst/gstpipeline.c:
4705         * gst/gststructure.c:
4706           some doc updates
4707
4708 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4709
4710         * docs/design/part-gstbin.txt:
4711         * docs/design/part-gstbus.txt:
4712         * gst/gstbus.c:
4713           Add blurb about how the bus goes into flushing mode and
4714           drops all messages when its bin goes from READY into NULL 
4715           state.
4716
4717 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4718
4719         * docs/gst/gstreamer-sections.txt:
4720         * gst/gststructure.c: (gst_structure_get_clock_time):
4721         * gst/gststructure.h:
4722           add a method to get a GstClockTime out of a structure
4723
4724 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4725
4726         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4727         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4728           Added test to check state change order in bins (can still be made
4729           to fail here under heavy disk load; bails out with 'Push on pad
4730           fakesink:sink0, but it was not activated in push mode').
4731
4732         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4733           Fix state change order when there is only a semi sink (#316856)
4734
4735         * gst/gstbus.c: (gst_bus_class_init):
4736           Use _class_peek_parent(), not _class_ref(); fix docs to say
4737           'default main context' instead of 'mainloop' where that is
4738           what's meant.
4739
4740         * gst/gstelement.c: (gst_element_commit_state),
4741         (gst_element_set_state):
4742           Fix typos in debug messages
4743
4744 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4745
4746         * docs/README:
4747         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4748         * gst/gstpluginfeature.c:
4749         * gst/gstutils.c:
4750           various doc updates
4751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4752           change an assert into an error until it gets fixed properly
4753
4754 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4755
4756         * docs/gst/gstreamer-sections.txt:
4757         * docs/gst/tmpl/.cvsignore:
4758         * docs/gst/tmpl/gstelement.sgml:
4759         * docs/gst/tmpl/gstinfo.sgml:
4760         * docs/gst/tmpl/gstobject.sgml:
4761         * gst/gstelement.c:
4762         * gst/gstelement.h:
4763         * gst/gstinfo.c:
4764         * gst/gstinfo.h:
4765         * gst/gstobject.c: (gst_object_class_init):
4766         * gst/gstobject.h:
4767           inlined 3 more biiiig doc files and added some missing docs on the fly
4768
4769 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4770
4771         * check/gst/.cvsignore:
4772         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4773         * gst/gstregistryxml.c: (load_plugin),
4774         (gst_registry_xml_save_plugin):
4775           put back source in registry.  add checks for find_plugin.
4776         * testsuite/states/bin.c: (assert_state), (empty_bin),
4777         (test_adding_one_element), (main):
4778         * testsuite/states/locked.c: (main):
4779           some compile/run fixes
4780
4781 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4782
4783         * check/gst/gstvalue.c: (GST_START_TEST):
4784           fix leaks in the test itself
4785
4786 2005-09-22  Wim Taymans  <wim@fluendo.com>
4787
4788         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4789         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4790         (gst_base_sink_query):
4791         Prepare for more accurate position reporting and query
4792         handling.
4793
4794         * gst/gstelement.c: (gst_element_send_event),
4795         (gst_element_set_state):
4796         Add some comment.
4797
4798 2005-09-22  Wim Taymans  <wim@fluendo.com>
4799
4800         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4801         (gst_query_parse_segment):
4802         * gst/gstquery.h:
4803         More documentation.
4804         Add segment query for future use.
4805
4806 2005-09-22  Wim Taymans  <wim@fluendo.com>
4807
4808         * gst/gstbin.c: (gst_bin_add_func):
4809         Some more debug info.
4810
4811         * gst/gstelement.c: (gst_element_send_event):
4812         Simplify send_event
4813
4814         * gst/gstelement.h:
4815         Don't know how flags got broken.
4816
4817         * gst/gstquery.h:
4818         Added new query.
4819
4820 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4821
4822         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4823           Add simplistic test suite for GST_TYPE_DATE serialisation and
4824           deserialisation.
4825
4826 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4827
4828         * docs/gst/gstreamer-sections.txt:
4829         * gst/gststructure.c: (gst_structure_set_valist),
4830         (gst_structure_get_date):
4831         * gst/gststructure.h:
4832         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4833         (gst_date_copy), (gst_value_compare_date),
4834         (gst_value_serialize_date), (gst_value_deserialize_date),
4835         (gst_value_transform_date_string),
4836         (gst_value_transform_string_date), (_gst_value_initialize):
4837         * gst/gstvalue.h:
4838           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4839           bunch of utility functions along with a hack that checks that
4840           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4841           is required. Part of the grand scheme in #170777.
4842
4843 2005-09-22  Andy Wingo  <wingo@pobox.com>
4844
4845         * gst/gstconfig.h.in: Psych out gtk-doc.
4846
4847         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4848
4849         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4850
4851         * tools/gst-inspect.c (print_element_list): Plug some
4852         inconsequential leaks.
4853
4854         * gst/gstregistry.c (gst_registry_get_default): Doc.
4855
4856         * check/gst/gstplugin.c: 
4857         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4858         * gst/gstelementfactory.c (gst_element_factory_create): 
4859         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4860         refcount changes.
4861
4862         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4863         (gst_plugin_feature_load): Doc, don't eat refs.
4864
4865         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4866         (gst_plugin_list_free): Doc.
4867         (gst_plugin_load_file): Doc updates.
4868
4869         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4870         accessors returning refcounted objects, return a ref.
4871
4872         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4873         accessor for caps. IDEMPOTENCE. Oh yes.
4874
4875 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4876
4877         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4878
4879         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4880         (_gst_debug_register_funcptr):
4881           Add mutex to serialise access to the hash table with
4882           the function pointer => function name string mapping;
4883           make that hash table static scope (#316809).
4884
4885         * gst/registries/.cvsignore:
4886           Remove left-over file.
4887
4888 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4889
4890         * docs/pwg/appendix-porting.xml:
4891           And something about newsegment events and caps-on-buffers to
4892           the porting guide (feel free to improve).
4893
4894 2005-09-21  Andy Wingo  <wingo@pobox.com>
4895
4896         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4897         data and event probes on the same pad.
4898         (test_buffer_probe_once): Test that removing probes from within
4899         the probe functions works.
4900
4901 2005-09-21  Andy Wingo  <wingo@pobox.com>
4902
4903         * check/gst/gstutils.c: New file.
4904         (test_buffer_probe_n_times): A simple buffer probe test. More to
4905         come, foolios.
4906
4907         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4908         have-data::buffer, not have-data.
4909         (gst_pad_add_event_probe): Likewise for have-data::event.
4910         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4911         peer' isn't quite right yet though.
4912         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4913         (gst_pad_remove_data_probe): Change to take the guint handler_id
4914         as their arg, not the function+data, which is more glib-like.
4915
4916         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4917         the signal emission to indicate if the data is a buffer or an
4918         event.
4919         (gst_pad_get_type): Initialize buffer and event quarks.
4920         (gst_pad_class_init): have-data is now a detailed signal, yes it
4921         is.
4922
4923 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4924
4925         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4926         * gst/gstutils.c: (gst_util_set_value_from_string),
4927         (gst_util_set_object_arg):
4928           Don't put functional code in g_return_if_fail() or
4929           g_return_val_if_fail() statements, otherwise things will 
4930           break when G_DISABLE_CHECKS is defined during compilation.
4931
4932 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4933
4934         * docs/gst/tmpl/.cvsignore:
4935         * docs/gst/tmpl/gstvalue.sgml:
4936         * gst/gstvalue.c:
4937         * gst/gstvalue.h:
4938           inlied another one and added  some obvious docs
4939
4940 2005-09-21  Wim Taymans  <wim@fluendo.com>
4941
4942         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4943         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4944         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4945         (gst_fdsrc_get_property), (gst_fdsrc_create):
4946         * gst/elements/gstfdsrc.h:
4947         Properly implement fdsrc. Removed signal and timeout,
4948         better implemented somewhere else.
4949
4950 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4951
4952         * docs/gst/tmpl/.cvsignore:
4953         * docs/gst/tmpl/gstimplementsinterface.sgml:
4954         * gst/gstinterface.c:
4955           inlined more docs
4956
4957 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4958
4959         * docs/gst/gstreamer-sections.txt:
4960         * docs/gst/tmpl/.cvsignore:
4961         * docs/gst/tmpl/gstenumtypes.sgml:
4962           remove obsolete doc file
4963
4964 2005-09-21  David Schleef  <ds@schleef.org>
4965
4966         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4967         little beer, fix a little leak.
4968
4969 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4970
4971         * docs/gst/gstreamer-docs.sgml:
4972         * docs/gst/gstreamer-sections.txt:
4973         * docs/gst/tmpl/.cvsignore:
4974         * gst/Makefile.am:
4975         * gst/gst.h:
4976         * gst/gstbin.c:
4977         * gst/gstelement.h:
4978         * gst/gstindex.c: (gst_index_class_init):
4979         * gst/gstindex.h:
4980         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4981         (gst_index_factory_class_init), (gst_index_factory_init),
4982         (gst_index_factory_finalize), (gst_index_factory_new),
4983         (gst_index_factory_destroy), (gst_index_factory_find),
4984         (gst_index_factory_create), (gst_index_factory_make):
4985         * gst/gstindexfactory.h:
4986         * gst/gstpluginfeature.c:
4987         * gst/gstpluginfeature.h:
4988         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4989           more docs inlined, splitted gstindex.{c,h}
4990
4991 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4994           fix a leak
4995
4996 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4997
4998         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4999           Set sync to FALSE by default.
5000
5001 2005-09-20  Wim Taymans  <wim@fluendo.com>
5002
5003         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5004         (gst_base_sink_init):
5005         Make sync property settable from subclass.
5006
5007         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5008         (gst_fake_sink_change_state):
5009         Set sync to FALSE by default.
5010
5011 2005-09-20  Wim Taymans  <wim@fluendo.com>
5012
5013         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5014         * tools/gst-launch.c: (main):
5015         The timeout handler should have lower priority than the source
5016         so we don't timeout before popping a message with 0 timeout.
5017         Dump error messages after failed state change.
5018
5019 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5020
5021         * tools/gst-inspect.c: (print_element_properties_info):
5022           Fix two typos.
5023
5024 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5025
5026         * check/gst/gstevent.c:
5027         * gst/elements/gstfakesink.c:
5028         * gst/elements/gstfakesink.h:
5029           remove the sync property from fakesink.
5030           has the side effect of setting sync TRUE
5031           for fakesink, which is a change.  Anyone who knows how
5032           to fix this nicely in a GObject-y way, feel free.
5033
5034 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5035
5036         * docs/gst/gstreamer-docs.sgml:
5037           remove probe refsection
5038
5039 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5040
5041         * check/Makefile.am:
5042           disable valgrinding the controller test again
5043         * docs/gst/gstreamer-sections.txt:
5044           update for api-changes
5045
5046 2005-09-20  Wim Taymans  <wim@fluendo.com>
5047
5048         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5049         (gst_base_sink_set_property), (gst_base_sink_get_property),
5050         (gst_base_sink_do_sync):
5051         * gst/base/gstbasesink.h:
5052         Added sync property to basesink to disable clock sync.
5053
5054 2005-09-20  Andy Wingo  <wingo@pobox.com>
5055
5056         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5057         eating the caller's refcount.
5058
5059         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5060         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5061         refcount.
5062
5063         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5064         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5065         of GLib 2.8 public, so we can know which refcount to check in
5066         tests.
5067
5068         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5069         (gst_object_init): Only set the gst refcount if we're going ahead
5070         with the refcount hack.
5071
5072 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5073
5074         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5075         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5076           more leaks plumbed, added more debug-logging
5077         * gst/gstmacros.h:
5078           whitespace fix
5079
5080 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5081
5082         * gst/gstmessage.c:
5083           remove include of gstmemchunk.h
5084
5085 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5086
5087         * gst/gstclock.c: (_gst_clock_id_free):
5088           Commit from the Political Party For More Atomic CVS Commits,
5089           so that people don't waste too much of their day fishing
5090           out obvious leaks out of massive commits.
5091           Oh, and fix a pretty damn obvious leak in the memchunk
5092           removal code.
5093
5094 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5095
5096         * check/Makefile.am:
5097         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5098           plug mem-leak, re-add to valgrindable tests
5099
5100 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5101
5102         * gst/gstplugin.h:
5103           unbreak the build for those who have chronic arthritis
5104           and typing "make check" is just too taxing on the hands
5105
5106 2005-09-20  Andy Wingo  <wingo@pobox.com>
5107
5108         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5109         really want it out, you should fix plugins at the same time.
5110
5111 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5112
5113         * configure.ac:
5114         * docs/gst/gstreamer-sections.txt:
5115         * gst/gstobject.c:
5116           added missing symbols to api docs
5117           disable ref-count hack if we have glib >= 2.8
5118
5119 2005-09-19  David Schleef  <ds@schleef.org>
5120
5121         * docs/gst/Makefile.am: Ignore a few more internal headers
5122         * docs/gst/gstreamer-docs.sgml: Remove old sections
5123         * docs/gst/gstreamer-sections.txt: Remove old sections
5124         * docs/gst/tmpl/gstobject.sgml: update
5125         * docs/gst/tmpl/gstplugin.sgml: update
5126         * docs/gst/tmpl/gstpluginfeature.sgml: update
5127         * docs/random/ds/0.9-suggested-changes: update.
5128         * gst/Makefile.am: remove memchunk and trashstack, since they're
5129           not used.
5130         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5131         * gst/gst.h: don't include some headers
5132         * gst/gstchildproxy.c: add gstmarshal.h
5133         * gst/gstclock.c: Don't use memchunks
5134         * gst/gstminiobject.c: Add some docs
5135         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5136         * gst/gstobject.h: same
5137         * gst/gstplugin.c: include gstmacros.h
5138         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5139         * gst/gstquery.c: don't use memchunks
5140         * gst/gstregistry.c: rename gst_registry_deinit()
5141         * gst/gstregistry.h: same
5142
5143 2005-09-19  David Schleef  <ds@schleef.org>
5144
5145         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5146         * docs/libs/gstreamer-libs-sections.txt:
5147         * docs/libs/tmpl/gstgetbits.sgml:
5148         * docs/libs/tmpl/gstputbits.sgml:
5149
5150 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5151
5152         * win32/gstenumtypes.c:
5153         * win32/gstenumtypes.h:
5154           Update.
5155
5156 2005-09-19  Wim Taymans  <wim@fluendo.com>
5157
5158         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5159         Automatically PAUSE and RESUME a pipeline when a flushing seek
5160         is performed.
5161
5162 2005-09-19  Andy Wingo  <wingo@pobox.com>
5163
5164         * gst/gstregistry.h: Spacing fixen.
5165
5166 2005-09-19  Wim Taymans  <wim@fluendo.com>
5167
5168         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5169         Handle state change failure more correctly.
5170
5171 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5172
5173         * check/Makefile.am:
5174         * check/pipelines/cleanup.c: (run_pipeline):
5175         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5176         (GST_START_TEST):
5177           enable cleanup again after fixing the leak
5178         * docs/README:
5179           some more info on docs
5180
5181 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5182
5183         * check/Makefile.am:
5184           re-enable tests now that leaks are plugged
5185         * check/gst/gst.c:
5186         * check/gst/gstbin.c:
5187         * check/gst/gstpipeline.c:
5188           add some more tests while fixing leaks
5189         * common/check.mak:
5190           make sure binaries are uptodate when valgrinding/gdbing
5191         * gst/gst.c:
5192         * gst/gstelementfactory.c:
5193           remove a ref too many, and add a FIXME for when we get
5194           round to disposing of classes
5195         * gst/gstplugin.c:
5196           fix the refcounting when loading a plugin from a file and
5197           the code pretends that the pointer is the same even though
5198           of course it can change
5199         * gst/gstpluginfeature.c:
5200           unref plugins marked cached (a bit confusing as a name)
5201           as the docs state should be done
5202           various doc additions to explain refcounting
5203         * gst/gstregistry.c:
5204         * gst/gstregistryxml.c:
5205           debugging
5206
5207 2005-09-19  Wim Taymans  <wim@fluendo.com>
5208
5209         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5210         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5211         (send_messages), (GST_START_TEST), (gstbus_suite):
5212         * check/gst/gstpipeline.c: (GST_START_TEST):
5213         * check/pipelines/cleanup.c: (run_pipeline):
5214         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5215         (GST_START_TEST):
5216         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5217         (gst_bus_source_check), (gst_bus_source_dispatch),
5218         (gst_bus_create_watch), (gst_bus_add_watch_full),
5219         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5220         * gst/gstbus.h:
5221         * tools/gst-launch.c: (event_loop):
5222         * tools/gst-md5sum.c: (event_loop):
5223         GstBusHandler -> GstBusFunc, return value has the same meaning as
5224         any other GSource (FALSE == remove source).
5225         _add_watch() and _add_watch_full() now take a MessageType mask to
5226         only handle specific types of messages.
5227         _poll() returns the GstMessage instead of the message type to avoid
5228         race conditions.
5229         _have_pending() takes a MessageType mask now too.
5230         Added testsuite for multiple bus watches.
5231         Fix testsuites and applications for new bus API.
5232
5233 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5234
5235         * check/Makefile.am:
5236           mark a bunch of the tests as to fix until we fix them
5237
5238 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5239
5240         * common/check.mak:
5241           use GST_PLUGIN settings for valgrind tests as well, so we're
5242           valgrinding the correct thing
5243         * gst/gst.c: (init_post):
5244           plug another leak
5245
5246 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5247
5248         * gst/gst.c: (init_post), (gst_deinit):
5249         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5250         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5251         * gst/gstindex.c: (gst_index_factory_class_init),
5252         (gst_index_factory_finalize):
5253         * gst/gstobject.c: (gst_object_dispose):
5254         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5255         (gst_plugin_load_file), (gst_plugin_desc_free):
5256         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5257         (gst_plugin_feature_finalize):
5258         * gst/gstregistry.c: (gst_registry_class_init),
5259         (gst_registry_init), (gst_registry_finalize),
5260         (gst_registry_get_default), (gst_registry_deinit):
5261         * gst/gstregistry.h:
5262         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5263           various cleanups and memleak plugging.  make valgrind is happy now.
5264
5265 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5266
5267         * common/check.mak:
5268           add a check-valgrind target
5269
5270 2005-09-18  David Schleef  <ds@schleef.org>
5271
5272         * tools/gst-inspect.c: Revert the GOption code.
5273
5274 2005-09-17  David Schleef  <ds@schleef.org>
5275
5276         * check/Makefile.am: Fix environment variables.
5277         * check/gst/gstplugin.c: Fix for API changes.
5278         * tools/gst-inspect.c: Fix for API changes.
5279         * tools/gst-xmlinspect.c: Fix for API changes.
5280         * gst/gstelementfactory.c:
5281         * gst/gstplugin.c:
5282         * gst/gstplugin.h:
5283         * gst/gstpluginfeature.c:
5284         * gst/gstpluginfeature.h:
5285         * gst/gstregistry.c:
5286         * gst/gstregistry.h:
5287         * gst/gstregistryxml.c:
5288         * gst/gsttypefind.c:
5289         * gst/gsttypefindfactory.c:
5290         * gst/indexers/gstfileindex.c:
5291         * gst/indexers/gstmemindex.c:
5292         * gst/schedulers/Makefile.am:
5293           Change registry to keep track of both plugins and features,
5294           removing the feature tracking from plugins themselves.
5295
5296 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5297
5298         * check/Makefile.am:
5299         * tools/gst-register.1.in:
5300           remove gst-register
5301
5302 2005-09-15  David Schleef  <ds@schleef.org>
5303
5304         * check/gst/gstplugin.c:
5305         * gst/gstelementfactory.c:
5306         * gst/gstplugin.c:
5307         * gst/gstpluginfeature.c:
5308         * gst/gstregistry.c:
5309           Getting tired of debugging.  Disabled all the unreffing of
5310           plugins and features, which fixes the segfaults, but of
5311           course leaks like crazy.  At least playbin works.
5312
5313 2005-09-15  David Schleef  <ds@schleef.org>
5314
5315         * check/gst/gstplugin.c: (register_check_elements),
5316         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5317         More testing
5318         * gst/elements/gsttypefindelement.c: Fix refcounting.
5319         * gst/gsttypefind.c:
5320         * gst/gsttypefindfactory.c:
5321         * gst/gsttypefindfactory.h:
5322
5323 2005-09-15  David Schleef  <ds@schleef.org>
5324
5325         * gst/gstindex.c: get refcounting correct.
5326         * gst/gstregistry.c: Handle the case where a feature/plugin is
5327           not found.
5328
5329 2005-09-15  David Schleef  <ds@schleef.org>
5330
5331         * check/Makefile.am:
5332         * check/gst/gstplugin.c: Add test
5333         * gst/gstplugin.c: Fix problems noticed by testsuite
5334         * gst/gstplugin.h:
5335         * gst/gstregistry.c: 
5336         * gst/gstregistry.h:
5337
5338 2005-09-15  David Schleef  <ds@schleef.org>
5339
5340         * gst/gstplugin.c: Implement semi-decent recounting and locking
5341           in plugins and plugin features.
5342         * gst/gstplugin.h:
5343         * gst/gstpluginfeature.c:
5344         * gst/gstpluginfeature.h:
5345         * gst/gstregistry.c:
5346
5347 2005-09-15  Michael Smith <msmith@fluendo.com>
5348
5349         * gst/gstregistry.c: (gst_registry_get_feature_list):
5350           Implement this. Makes oggdemux work; decodebin still broken.
5351
5352 2005-09-14  David Schleef  <ds@schleef.org>
5353
5354         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5355           #316076)
5356         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5357         * gst/check/Makefile.am:
5358         * libs/gst/controller/Makefile.am:
5359         * libs/gst/dataprotocol/Makefile.am:
5360
5361 2005-09-14  David Schleef  <ds@schleef.org>
5362
5363         * configure.ac: Remove getbits library.  Nothing uses it, and
5364           it should be in something like liboil if someone did want
5365           to use it.
5366         * libs/gst/Makefile.am:
5367         * libs/gst/getbits/Makefile.am:
5368         * libs/gst/getbits/gbtest.c:
5369         * libs/gst/getbits/getbits.c:
5370         * libs/gst/getbits/getbits.h:
5371         * libs/gst/getbits/gstgetbits_generic.c:
5372         * libs/gst/getbits/gstgetbits_i386.s:
5373         * libs/gst/getbits/gstgetbits_inl.h:
5374
5375 2005-09-14  David Schleef  <ds@schleef.org>
5376
5377         * gst/Makefile.am: Dist glib-compat.h
5378
5379 2005-09-14  David Schleef  <ds@schleef.org>
5380
5381         * configure.ac: Remove gst/registries, since it's no longer used.
5382         * gst/registries/Makefile.am:
5383         * gst/registries/gstlibxmlregistry.c:
5384         * gst/registries/gstlibxmlregistry.h:
5385         * gst/registries/gstxmlregistry.c:
5386         * gst/registries/gstxmlregistry.h:
5387         * gst/registries/registrytest.c:
5388
5389 2005-09-14  David Schleef  <ds@schleef.org>
5390
5391         * gst/glib-compat.h:
5392         * gst/gstregistryxml.c:
5393           Convergence is near.  Seriously.
5394
5395 2005-09-14  David Schleef  <ds@schleef.org>
5396
5397         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5398         * gst/glib-compat.h:
5399           Attempt #4 to appease the buildbots.
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 #3.
5405
5406 2005-09-14  David Schleef  <ds@schleef.org>
5407
5408         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5409         Attempt #2.
5410
5411 2005-09-14  David Schleef  <ds@schleef.org>
5412
5413         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5414           the new functions.
5415
5416 2005-09-14  David Schleef  <ds@schleef.org>
5417
5418         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5419         * gst/glib-compat.h: Add some functions that are in newer versions
5420           of glib than we care to require.
5421         * gst/gstregistryxml.c: Use them.
5422
5423 2005-09-14  David Schleef  <ds@schleef.org>
5424
5425         * po/POTFILES.in: remove gst-register.c
5426
5427 2005-09-14  David Schleef  <ds@schleef.org>
5428
5429         * docs/gst/gstreamer-docs.sgml:
5430         * docs/gst/gstreamer-sections.txt:
5431         * docs/gst/gstreamer.types:
5432         * docs/gst/tmpl/gstelement.sgml:
5433         * docs/gst/tmpl/gstplugin.sgml:
5434         * docs/gst/tmpl/gstpluginfeature.sgml:
5435           Documentation updates for registry changes.
5436
5437 2005-09-14  David Schleef  <ds@schleef.org>
5438
5439         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5440           because we don't require glib-2.8.
5441
5442 2005-09-14  David Schleef  <ds@schleef.org>
5443
5444         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5445           registries directory.
5446
5447 2005-09-14  David Schleef  <ds@schleef.org>
5448
5449         * check/Makefile.am:
5450         * check/generic/states.c:
5451         * gst/Makefile.am:
5452         * gst/gst.c:
5453         * gst/gst.h:
5454         * gst/gst_private.h:
5455         * gst/gstelementfactory.c:
5456         * gst/gstindex.c:
5457         * gst/gstinfo.c:
5458         * gst/gstplugin.c:
5459         * gst/gstplugin.h:
5460         * gst/gstpluginfeature.c:
5461         * gst/gstpluginfeature.h:
5462         * gst/gstregistry.c:
5463         * gst/gstregistry.h:
5464         * gst/gstregistrypool.c: remove
5465         * gst/gstregistrypool.h: remove
5466         * gst/gsttypefind.c:
5467         * gst/gsttypefindfactory.c:
5468         * gst/gsturi.c:
5469         * tools/Makefile.am:
5470         * tools/gst-compprep.c:
5471         * tools/gst-inspect.c:
5472         * tools/gst-register.c: remove
5473         * tools/gst-xmlinspect.c:
5474           Registry rewrite.  Changes registry from being a file created
5475           by a tool into a simple cache file created automatically by 
5476           libgstreamer.  Removed gst-register (because it's no longer
5477           needed).  Remove registry pools, because we only have one
5478           registry implementation (XML).  Fix up other subsystems as
5479           necessary.
5480
5481 2005-09-13  Michael Smith <msmith@fluendo.com>
5482
5483         * gst/gstconfig.h.in:
5484           Don't Use windows linking attributes for MinGW. Fixes #316157
5485
5486 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5487
5488         * gst/gstutils.c: (set_state_async_thread_func),
5489         (gst_element_set_state_async):
5490           Apparently people think it's better if this function doesn't
5491           try to set the state to whatever state was asked for on the first
5492           call to this function for any object.  Seriously.
5493
5494 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5495
5496         * check/gst/gstpipeline.c: (GST_START_TEST):
5497         * docs/gst/gstreamer-sections.txt:
5498         * gst/gstutils.c: (set_state_async_thread_func),
5499         (gst_element_set_state_async):
5500         * gst/gstutils.h:
5501           add a "gst_element_set_state_async" method that
5502           sets the state and starts a thread to make sure the state
5503           change completes as best as it can
5504
5505 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5506
5507         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5508           codify design+behaviour in testsuite after discussion
5509
5510 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5511
5512         * docs/gst/tmpl/gstelement.sgml:
5513         * docs/manual/appendix-quotes.xml:
5514           add a quote
5515         * gst/gstelement.c: (gst_element_set_state):
5516           add some debug
5517
5518 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5519
5520         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5521         (gst_base_transform_prepare_output_buf),
5522         (gst_base_transform_handle_buffer):
5523         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5524         (gst_capsfilter_prepare_buf):
5525           Remove the requirement for sub-classes to call the parent
5526           implementation of prepare_output_buffer with a wrapper function.
5527           
5528         * gst/gsttaglist.h:
5529         * gst/gsttagsetter.h:
5530           Fix #define wrapper
5531
5532 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5533
5534         * docs/gst/gstreamer-sections.txt:
5535           more doc cleanups
5536
5537 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5538
5539         * docs/gst/gstreamer-sections.txt:
5540         * docs/gst/tmpl/gstelement.sgml:
5541         * docs/gst/tmpl/gstplugin.sgml:
5542         * gst/gstminiobject.c:
5543         * gst/gstvalue.h:
5544           docs now stop throwing warnings
5545
5546 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5547
5548         * docs/gst/gstreamer-sections.txt:
5549         * docs/gst/gstreamer.types:
5550         * docs/gst/tmpl/gstpad.sgml:
5551         * docs/gst/tmpl/gsttypes.sgml:
5552         * gst/base/gstadapter.h:
5553         * gst/base/gstbasesink.h:
5554         * gst/base/gstbasesrc.h:
5555         * gst/gstbin.h:
5556         * gst/gstbuffer.h:
5557         * gst/gstbus.h:
5558         * gst/gstcaps.h:
5559         * gst/gstclock.h:
5560         * gst/gstelement.h:
5561         * gst/gstevent.h:
5562         * gst/gstmessage.h:
5563         * gst/gstpad.h:
5564         * gst/gststructure.c:
5565         * gst/registries/gstlibxmlregistry.h:
5566           various documentation fixes
5567
5568 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5569
5570         * docs/gst/gstreamer-sections.txt:
5571         * docs/gst/tmpl/gstvalue.sgml:
5572           rearrange gstvalue section
5573         * gst/gstutils.c: (gst_element_state_get_name):
5574           NONE -> VOID
5575         * gst/gstvalue.c: (_gst_value_initialize):
5576         * gst/gstvalue.h:
5577           doc updates
5578
5579 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5580
5581         * check/gst-libs/controller.c:
5582           Header include fix.
5583         * gst/base/gstbasetransform.c:
5584         (gst_base_transform_default_prepare_buf),
5585         (gst_base_transform_handle_buffer):
5586         * gst/base/gstbasetransform.h:
5587           Some more basetransform changes and fixes to enable sub-classes
5588           that modify buffer metadata only.
5589         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5590         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5591         (gst_capsfilter_prepare_buf):
5592           If the output pad has fixed allowed caps and input buffers 
5593           don't have any, set the fixed caps on outgoing buffers.
5594
5595 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5596         * check/elements/identity.c: (GST_START_TEST):
5597           Make the error a little clearer when the test fails because
5598           identity made a copy of the buffer.
5599         * docs/gst/gstreamer-sections.txt:
5600           New symbols in gstbasetransform.h
5601         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5602         (gst_base_transform_init), (gst_base_transform_transform_size),
5603         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5604         (gst_base_transform_default_prepare_buf),
5605         (gst_base_transform_get_unit_size),
5606         (gst_base_transform_buffer_alloc),
5607         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5608         (gst_base_transform_change_state),
5609         (gst_base_transform_set_passthrough),
5610         (gst_base_transform_set_in_place),
5611         (gst_base_transform_is_in_place):
5612         * gst/base/gstbasetransform.h:
5613           Change BaseTransform to separate in_place operate from same_caps
5614           output. in_place implies that the element can perform the transform
5615           on incoming buffers in-place, even if the caps on the output are
5616           different.
5617           Sub-class elements can now implement special buffer allocation
5618           methods for outgoing buffers if they wish to.
5619           Big documentation addition.
5620         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5621         * gst/elements/gstelements.c:
5622           Changes for basetransform modifications.
5623         * gst/elements/Makefile.am:
5624         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5625           Compile fix. Extra debug output.
5626
5627 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5630         (gst_pad_suite):
5631           add tests for valid pad naming
5632         * gst/check/gstcheck.c: (gst_check_log_message_func),
5633         (gst_check_log_critical_func):
5634           add ASSERT_WARNING
5635           remove printing of code, it is fragile when the code contains
5636           % and the line number is enough info
5637         * gst/check/gstcheck.h:
5638         * gst/gstpad.c: (gst_pad_template_new):
5639           fix memleaks
5640
5641 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5642
5643         * configure.ac:
5644           say what CHECK flags we use
5645         * docs/libs/gstreamer-libs.types:
5646         * libs/gst/controller/Makefile.am:
5647         * libs/gst/controller/gst-controller.c:
5648         * libs/gst/controller/gst-controller.h:
5649         * libs/gst/controller/gst-helper.c:
5650         * libs/gst/controller/gst-interpolation.c:
5651         * libs/gst/controller/gstcontroller.c:
5652         * libs/gst/controller/gsthelper.c:
5653         * libs/gst/controller/gstinterpolation.c:
5654         * tools/gst-inspect.c: (print_plugin_info):
5655           we don't use dashes in header names
5656
5657 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5658
5659         * check/Makefile.am:
5660         * check/gst/.cvsignore:
5661         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5662         (gst_pipeline_suite), (main):
5663           adding a test for pipelines and state changes
5664         * gst/gstutils.c: (get_state_func):
5665           add some debugging
5666         * gstreamer.spec.in:
5667           fix up spec file
5668
5669 2005-09-08  Michael Smith <msmith@fluendo.com>
5670
5671         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5672         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5673         (gst_file_src_is_seekable), (gst_file_src_get_size),
5674         (gst_file_src_start):
5675         * gst/elements/gstfilesrc.h:
5676           Various fixes for unseekable, unmmapable, and non-normal files, so
5677           that fallback to read() rather than mmap() works.
5678         * gst/gstevent.c: (gst_event_new_newsegment):
5679           Allow newsegment events with segment_start == segment_end, as will
5680           correctly happen if you use filesrc on a zero-size file, for
5681           example.
5682
5683 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5684
5685         * gst/gstplugin.c: (gst_plugin_load_file):
5686           Call g_module_close when we don't load the module
5687
5688         * gst/registries/gstlibxmlregistry.c:
5689         (gst_xml_registry_get_property):
5690           Port leak fix from 0.8
5691
5692 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5693
5694         * docs/gst/gstreamer-docs.sgml:
5695         * docs/gst/tmpl/.cvsignore:
5696         * docs/gst/tmpl/gsttrace.sgml:
5697         * docs/gst/tmpl/gsttrashstack.sgml:
5698         * gst/Makefile.am:
5699         * gst/gst.h:
5700         * gst/gstelement.h:
5701         * gst/gstevent.h:
5702         * gst/gstmessage.c:
5703         * gst/gstmessage.h:
5704         * gst/gsttag.c:
5705         * gst/gsttag.h:
5706         * gst/gsttaginterface.c:
5707         * gst/gsttaginterface.h:
5708         * gst/gsttaglist.c:
5709         * gst/gsttaglist.h:
5710         * gst/gsttagsetter.c:
5711         * gst/gsttagsetter.h:
5712         * gst/gsttrace.c:
5713         * gst/gsttrace.h:
5714         * gst/gsttrashstack.c:
5715           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5716           inlined docs for gsttrace, gsttrashstack
5717
5718 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5719
5720         * gst/Makefile.am:
5721         * gst/elements/gstbufferstore.h:
5722         * gst/elements/gsttypefindelement.c:
5723         * gst/elements/gsttypefindelement.h:
5724         * gst/gst.h:
5725         * gst/gsttypefind.c:
5726         * gst/gsttypefind.h:
5727         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5728         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5729         (gst_type_find_factory_dispose),
5730         (gst_type_find_factory_unload_thyself),
5731         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5732         (gst_type_find_factory_get_caps),
5733         (gst_type_find_factory_get_extensions),
5734         (gst_type_find_factory_call_function):
5735         * gst/gsttypefindfactory.h:
5736         * gst/registries/gstlibxmlregistry.c:
5737         * gst/registries/gstxmlregistry.c:
5738           splitted gsttypefind into gsttypefind, gsttypefindfactory
5739
5740 2005-09-07  Andy Wingo  <wingo@pobox.com>
5741
5742         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5743         condition whereby the pad's task function is entered before the
5744         pad_mode variable was set.
5745
5746 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5747
5748         * gst/gstpad.c: (gst_pad_alloc_buffer):
5749           Catch misbehaving pad_alloc functions that don't
5750           set up caps and do it for them.
5751
5752 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5753
5754         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5755           test for pipe!=NULL
5756         * docs/gst/tmpl/.cvsignore:
5757         * docs/gst/tmpl/gstmemchunk.sgml:
5758         * docs/gst/tmpl/gstparse.sgml:
5759         * docs/gst/tmpl/gsttaglist.sgml:
5760         * docs/gst/tmpl/gsttagsetter.sgml:
5761         * docs/gst/tmpl/gsttypefind.sgml:
5762         * docs/gst/tmpl/gsttypefindfactory.sgml:
5763         * gst/gstmemchunk.c:
5764         * gst/gstparse.c:
5765         * gst/gsttag.c:
5766         * gst/gsttaginterface.c:
5767         * gst/gsttypefind.c:
5768         * gst/gsttypefind.h:
5769           inlined more docs
5770
5771 === release 0.9.2 ===
5772
5773 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5774
5775         * NEWS:
5776         * RELEASE:
5777         * configure.ac:
5778           releasing 0.9.2, "South"
5779
5780 2005-09-05  Andy Wingo  <wingo@pobox.com>
5781
5782         * gst/registries/gstxmlregistry.h:
5783         * gst/registries/gstxmlregistry.c: Um... resurrect...
5784         
5785         * gst/registries/gstxmlregistry.h:
5786         * gst/registries/gstxmlregistry.c: and update to newer API.
5787         Incidentally they should be a bit faster now that they don't have
5788         to parse the caps.
5789         
5790 2005-09-05  Andy Wingo  <wingo@pobox.com>
5791
5792         * gst/registries/gstxmlregistry.h:
5793         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5794         replaced by the libxml registry a while back
5795
5796 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5797
5798         * docs/gst/tmpl/gstplugin.sgml:
5799         * gst/elements/gstelements.c:
5800         * gst/gst.c:
5801         * gst/gstplugin.c: (gst_plugin_register_func),
5802         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5803         (gst_plugin_get_source):
5804         * gst/gstplugin.h:
5805         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5806         (gst_xml_registry_save_plugin):
5807         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5808         (gst_xml_registry_save_plugin):
5809         * tools/gst-inspect.c: (print_plugin_info):
5810           add a "source" plugin description field, to represent the source
5811           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5812           will set it to PACKAGE, which is automake's idea of the name of
5813           the source project.
5814
5815 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5816
5817         * Makefile.am:
5818         * autogen.sh:
5819         * configure.ac:
5820         * docs/Makefile.am:
5821         * docs/faq/Makefile.am:
5822         * docs/gst/tmpl/gstelement.sgml:
5823         * docs/gst/tmpl/gsttypes.sgml:
5824         * docs/htmlinstall.mak:
5825         * docs/manual/Makefile.am:
5826         * docs/pwg/Makefile.am:
5827           reorganize doc build a little
5828           split out docbook and gtk-doc stuff
5829           have two separate --enable's and enable them through autogen
5830           but disable by default in configure (to be similar to other
5831           projects)
5832         * gstreamer.spec.in:
5833           clean up docs install
5834         * po/af.po:
5835         * po/az.po:
5836         * po/ca.po:
5837         * po/cs.po:
5838         * po/de.po:
5839         * po/en_GB.po:
5840         * po/fr.po:
5841         * po/it.po:
5842         * po/nb.po:
5843         * po/nl.po:
5844         * po/ru.po:
5845         * po/sq.po:
5846         * po/sr.po:
5847         * po/sv.po:
5848         * po/tr.po:
5849         * po/uk.po:
5850         * po/vi.po:
5851           translation updates
5852
5853 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5854
5855         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5856           Add comment.
5857           
5858         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5859         (gst_fake_sink_change_state):
5860           Make state change function thread-safe.
5861           
5862         * gst/gstpad.c: (gst_pad_alloc_buffer):
5863           Set offset on generic buffer allocated by fallback.
5864
5865 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5866
5867         * docs/gst/gstreamer-sections.txt:
5868         * docs/gst/tmpl/gstelement.sgml:
5869         * gst/gstpad.c:
5870         * libs/gst/controller/gst-controller.c:
5871         (gst_controlled_property_set_interpolation_mode),
5872         (gst_controlled_property_new),
5873         (gst_controller_find_controlled_property):
5874          run the wingo-magic script against the docs
5875
5876 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5877
5878         * docs/gst/gstreamer-docs.sgml:
5879         * docs/gst/gstreamer-sections.txt:
5880         * docs/gst/tmpl/.cvsignore:
5881         * docs/gst/tmpl/gstelementdetails.sgml:
5882         * docs/gst/tmpl/gstelementfactory.sgml:
5883         * gst/gst.c:
5884         * gst/gstbus.c:
5885         * gst/gstelementfactory.c:
5886         * gst/gstelementfactory.h:
5887           merged elementdetails docs into elementfactory docs
5888           inlined both
5889
5890 2005-09-02  Andy Wingo  <wingo@pobox.com>
5891
5892         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5893         consider this enum an enum and not a flags.
5894
5895 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5896
5897         * docs/gst/gstreamer-docs.sgml:
5898         * docs/gst/tmpl/.cvsignore:
5899         * docs/gst/tmpl/gstghostpad.sgml:
5900         * docs/gst/tmpl/gstiterator.sgml:
5901         * docs/gst/tmpl/gstmacros.sgml:
5902         * docs/gst/tmpl/gstrealpad.sgml:
5903         * docs/gst/tmpl/gstregistry.sgml:
5904         * docs/gst/tmpl/gstregistrypool.sgml:
5905         * docs/gst/tmpl/gststructure.sgml:
5906         * docs/gst/tmpl/gstsystemclock.sgml:
5907         * docs/gst/tmpl/gsttrace.sgml:
5908         * gst/gstghostpad.c:
5909         * gst/gstmacros.h:
5910         * gst/gstmemchunk.c:
5911         * gst/gstmemchunk.h:
5912         * gst/gstqueue.c:
5913         * gst/gstregistry.c:
5914         * gst/gstregistrypool.c:
5915         * gst/gststructure.c:
5916         * gst/gstsystemclock.c:
5917           more docs inlined
5918
5919 2005-09-02  Andy Wingo  <wingo@pobox.com>
5920
5921         * gst/gstelement.h (GstState): Renamed from GstElementState,
5922         changed to be a normal enum instead of flags.
5923         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5924         munged to be GST_STATE_CHANGE_*.
5925         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5926         work with the new state representation.
5927         (GstStateChange): New enumeration of possible state transitions.
5928         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5929         (GstElementClass::change_state): Pass the GstStateChange along as
5930         an argument. Helps language bindings, so they don't have to use
5931         tricky lock-needing macros like GST_STATE_CHANGE ().
5932
5933         * scripts/update-states (file): New script. Run it on a file to
5934         update it for state naming and API changes. Updates files in
5935         place.
5936
5937         * All files updated for the new API.
5938
5939 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5940
5941         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5942         * gst/gstutils.c: (gst_util_set_value_from_string),
5943         (gst_util_set_object_arg):
5944           fix a bunch of unchecked return values
5945         * tools/gst-complete.c: (main):
5946         * gstreamer.spec.in:
5947           clean up a little
5948
5949 2005-09-01  Wim Taymans  <wim@fluendo.com>
5950
5951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5952         (gst_base_sink_event), (gst_base_sink_do_sync),
5953         (gst_base_sink_handle_event):
5954         * gst/base/gstbasesink.h:
5955         Handle newsegments more correctly.
5956
5957         * gst/gstbus.c:
5958         Fix docs.
5959
5960         * gst/gstevent.c: (gst_event_new_newsegment):
5961         A newsegment cannot have a start_time of -1
5962
5963 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5964
5965         * win32/gstenumtypes.c:
5966         * win32/gstenumtypes.h:
5967           Update
5968
5969 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5970
5971         * libs/gst/controller/gst-controller.c:
5972         (gst_controlled_property_set_interpolation_mode),
5973         (gst_controlled_property_new):
5974          fixed boolean again
5975
5976 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5977
5978         * docs/faq/gst-uninstalled:
5979           add -good
5980         * gst/gstevent.c:
5981         * gst/gstevent.h:
5982           remove wrong docs
5983         * gst/gstutils.c: (gst_element_link_filtered):
5984         * gst/gstutils.h:
5985           add gst_element_link_filtered
5986
5987 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5988
5989         * docs/gst/gstreamer-docs.sgml:
5990         * docs/gst/gstreamer-sections.txt:
5991         * docs/gst/tmpl/.cvsignore:
5992         * docs/gst/tmpl/gsterror.sgml:
5993         * docs/gst/tmpl/gstfilter.sgml:
5994         * docs/gst/tmpl/gsturihandler.sgml:
5995         * docs/gst/tmpl/gsturitype.sgml:
5996         * docs/gst/tmpl/gstutils.sgml:
5997         * docs/gst/tmpl/gstxml.sgml:
5998         * gst/gsterror.c:
5999         * gst/gsterror.h:
6000         * gst/gstfilter.c:
6001         * gst/gsturi.c:
6002         * gst/gsturitype.c:
6003         * gst/gstutils.c:
6004         * gst/gstxml.c:
6005           inlined more docs, fixed double id-ref
6006
6007 2005-08-31  Wim Taymans  <wim@fluendo.com>
6008
6009         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6010         (gst_base_transform_handle_buffer):
6011         Passthrough elements don't need the caps as they don't care.
6012
6013 2005-08-31  Wim Taymans  <wim@fluendo.com>
6014
6015         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6016         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6017         Don't leak refcounts on buffers.
6018
6019 2005-08-31  Wim Taymans  <wim@fluendo.com>
6020
6021         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6022         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6023         (gst_base_transform_chain), (gst_base_transform_change_state):
6024         * gst/base/gstbasetransform.h:
6025         Handle the case where we are not negotiated more gracefully.
6026
6027 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6028
6029         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6030         (gst_file_src_map_region):
6031           Set READONLY flag on mmap'ed buffers, otherwise
6032           gst_buffer_make_writable() won't work properly (#314708).
6033
6034 2005-08-31  Wim Taymans  <wim@fluendo.com>
6035
6036         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6037         passthrough elements can even do inplace on non writable
6038         buffers (as they don't touch them).
6039
6040 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6041
6042         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6043         (gst_test_mono_source_set_property),
6044         (gst_test_mono_source_class_init), (GST_START_TEST),
6045         (gst_controller_suite):
6046           more tests (hehe I have the most)
6047         * gst/gstbus.c:
6048           describe popping messages whenusing mulltiple sources
6049         * libs/gst/controller/gst-controller.c:
6050         (gst_controlled_property_set_interpolation_mode),
6051         (gst_controlled_property_new):
6052         * libs/gst/controller/gst-controller.h:
6053         * libs/gst/controller/gst-interpolation.c:
6054           implement boolean properties
6055
6056 2005-08-31  Wim Taymans  <wim@fluendo.com>
6057
6058         * gst/gstminiobject.c: (gst_mini_object_ref):
6059         Cannot assert that the refcount has to be positive
6060         since a disposed object can be resurrected.
6061
6062 2005-08-31  Wim Taymans  <wim@fluendo.com>
6063
6064         * gst/gstpad.c: (gst_pad_init):
6065         Revert change, need to first fix badly behaving 
6066         apps.
6067
6068 2005-08-30  Wim Taymans  <wim@fluendo.com>
6069
6070         * check/elements/fakesrc.c: (setup_fakesrc):
6071         * check/elements/identity.c: (setup_identity):
6072         Activate pads before using them.
6073
6074 2005-08-30  Wim Taymans  <wim@fluendo.com>
6075
6076         * gst/base/gstadapter.c: (gst_adapter_flush):
6077         Flushing out 0 bytes is ok for this function.
6078
6079         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6080         no newsegment gives a warning and sets the start/stop to 
6081         invalid.
6082
6083         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6084         (gst_base_transform_set_passthrough):
6085         Some debug info.
6086
6087         * gst/gstminiobject.c: (gst_mini_object_ref):
6088         Check refcount here too.
6089
6090         * gst/gstpad.c: (gst_pad_init):
6091         Pads are initially flushing and refusing data.
6092
6093         * gst/gstutils.c: (gst_element_link_pads_filtered):
6094         When adding a capsfilter element make sure it has the
6095         same state as the parent bin.
6096
6097 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6098
6099         * docs/gst/tmpl/.cvsignore:
6100         * docs/gst/tmpl/gstformat.sgml:
6101         * docs/gst/tmpl/gstversion.sgml:
6102         * gst/gstbus.h:
6103         * gst/gstformat.c:
6104         * gst/gstformat.h:
6105         * gst/gstversion.h.in:
6106           more docs and two more inlined
6107
6108 2005-08-30  Wim Taymans  <wim@fluendo.com>
6109
6110         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6111         Don't sync to clock.
6112
6113 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6114
6115         * docs/gst/gstreamer-sections.txt:
6116           ultral33t func10ns deserve to appear in the docs actually
6117         * docs/gst/tmpl/.cvsignore:
6118         * docs/gst/tmpl/gstcompat.sgml:
6119         * docs/gst/tmpl/gstconfig.sgml:
6120         * gst/check/gstcheck.c:
6121         * gst/gstcompat.h:
6122         * gst/gstconfig.h.in:
6123           inlined more docs
6124
6125 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6126
6127         * docs/gst/tmpl/.cvsignore:
6128         * docs/gst/tmpl/gstquery.sgml:
6129         * docs/gst/tmpl/gstutils.sgml:
6130         * gst/gstquery.c:
6131         * gst/gstquery.h:
6132           inlined and extended docs
6133
6134 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6135
6136         * check/gst-libs/controller.c: (GST_START_TEST),
6137         (gst_controller_suite):
6138           more tests
6139         * docs/gst/tmpl/gstutils.sgml:
6140         * docs/libs/gstreamer-libs-sections.txt:
6141         * docs/libs/tmpl/gstdataprotocol.sgml:
6142           include path fixes
6143         * examples/controller/audio-example.c: (main):
6144           controller example works now
6145         * gst/gstclock.h:
6146           doc fixes
6147         * tools/gst-inspect.c: (print_element_properties_info):
6148           show param spec flags
6149
6150 2005-08-29  Andy Wingo  <wingo@pobox.com>
6151
6152         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6153
6154 2005-08-28  Andy Wingo  <wingo@pobox.com>
6155
6156         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6157         as having two arguments instead of just one. Allows superclasses
6158         to access information on subclasses -- see the terrible for() loop
6159         in gtype.c:g_type_create_instance for the reason why. All callers
6160         changed.
6161
6162 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6163
6164         * docs/design/part-messages.txt:
6165           update info
6166         * docs/gst/tmpl/.cvsignore:
6167         * docs/gst/tmpl/gstcaps.sgml:
6168         * docs/gst/tmpl/gstclock.sgml:
6169         * gst/gstbus.c:
6170         * gst/gstcaps.c:
6171         * gst/gstcaps.h:
6172         * gst/gstclock.c:
6173         * gst/gstclock.h:
6174         * gst/gstmessage.c:
6175           added descriptions for bus and message
6176           inline caps and clock docs
6177
6178 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6179
6180         * gst/gstmessage.c:
6181         * gst/gstmessage.h:
6182           doc fixes
6183
6184 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6185
6186         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6187           fix div-by-zero
6188
6189 2005-08-26  Andy Wingo  <wingo@pobox.com>
6190
6191         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6192         element_set_state's return val.
6193         (test_2_elements): Add test that's been disabled for months.
6194
6195         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6196         can-activate-pull properties.
6197
6198         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6199         can-activate-pull properties. Implement is_seekable so fakesrc can
6200         operate in pull mode.
6201
6202         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6203         properties.
6204         (gst_base_sink_activate, gst_base_sink_activate_pull)
6205         (gst_base_sink_activate_push): Make activation mode choosing work.
6206         Cleanups.
6207         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6208         is right. Make pull mode work. Post an eos before pausing in pull
6209         mode.
6210         (gst_base_sink_change_state): Pay attention to the core's
6211         change_state() return val.
6212         
6213         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6214         has-getrange properties. Cleanups.
6215         
6216         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6217         has_getrange and replace with can_activate_pull and
6218         can_activate_push.
6219
6220         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6221         locking comments. Remove has_loop, has_chain and replace with
6222         can_activate_pull and can_activate_push.
6223
6224 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6225
6226         * configure.ac:
6227         * examples/Makefile.am:
6228         * examples/metadata/Makefile.am:
6229         * examples/metadata/read-metadata.c: (message_loop),
6230         (have_pad_handler), (make_pipeline), (print_tag), (main):
6231           Add metadata reading example that loops over a list of filenames,
6232           dumping any tags found.
6233
6234         * gst/gstbus.c: (gst_bus_dispose):
6235         * gst/gstelement.c: (gst_element_dispose):
6236           Release a few potentially-held references in dispose.
6237
6238 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6239
6240         * docs/gst/tmpl/gstminiobject.sgml:
6241           do *not* add tmpl/*.sgml files to CVS!
6242
6243 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6244
6245         * libs/gst/bytestream/.cvsignore:
6246         * libs/gst/bytestream/Makefile.am:
6247         * libs/gst/bytestream/adapter.c:
6248         * libs/gst/bytestream/adapter.h:
6249         * libs/gst/bytestream/bytestream.c:
6250         * libs/gst/bytestream/bytestream.h:
6251         * libs/gst/bytestream/filepad.c:
6252         * libs/gst/bytestream/filepad.h:
6253           removing obsolete files
6254
6255 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6256
6257         * docs/gst/gstreamer-docs.sgml:
6258         * docs/libs/gstreamer-libs-docs.sgml:
6259           disabed additional index entries again, as this makes docs-gen just
6260           slow and they aren't useful yet
6261         * docs/libs/gstreamer-libs-sections.txt:
6262           little -section.txt cleanup for libs
6263
6264 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6265
6266         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6267         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6268           fix up some debugging
6269         (gst_base_transform_get_unit_size),
6270         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6271         (gst_base_transform_handle_buffer):
6272         * gst/base/gstbasetransform.h:
6273           handle and store timed NEWSEGMENT events so that subclasses that
6274           calculate time by counting samples have a segment_start time they
6275           need to add to their timestamps - see audioresample
6276
6277 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6278
6279         * gst/gstbin.h:
6280           removed ';' from the end of macro defs
6281         * docs/gst/gstreamer-docs.sgml:
6282         * docs/gst/gstreamer-sections.txt:
6283         * docs/gst/tmpl/.cvsignore:
6284         * gst/gstbus.h:
6285         * gst/gstelement.c: (gst_element_class_init),
6286         (gst_element_set_state), (activate_pads),
6287         (gst_element_save_thyself):
6288         * gst/gstevent.c: (gst_event_new_newsegment):
6289         * gst/gstevent.h:
6290         * gst/gstiterator.c:
6291         * gst/gstiterator.h:
6292         * gst/gstpad.c:
6293         * gst/gstprobe.h:
6294         * gst/gstutils.c: (gst_pad_query_convert):
6295         * gst/gstutils.h:
6296           fixed parameter name mismatches between source, header and docs
6297           added some more docs, resolved the last batch of unused elements in
6298           docs (now someone needs to doc them)
6299
6300 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6301
6302         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6303         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6304           don't walk through the plugins backwards.  Where is all this
6305           reversed logic coming from ?
6306
6307 2005-08-25  Wim Taymans  <wim@fluendo.com>
6308
6309         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6310         (gst_base_transform_transform_size),
6311         (gst_base_transform_configure_caps),
6312         (gst_base_transform_get_unit_size),
6313         (gst_base_transform_buffer_alloc),
6314         (gst_base_transform_change_state):
6315         * gst/base/gstbasetransform.h:
6316         Cache caps unit_size.
6317         Make sure we cannot negotiate up and downstream at the
6318         same time.
6319
6320 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6321
6322         * gst/gst.c: (init_pre), (init_post):
6323           register the installed plugin path after the env var
6324         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6325         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6326           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6327           directories, so the tests can prefer uninstalled over installed
6328
6329 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6330
6331         * gst/base/gstbasetransform.h:
6332           comment
6333         * gst/gstpad.c:
6334           add to docs
6335
6336 2005-08-25  Wim Taymans  <wim@fluendo.com>
6337
6338         * gst/gstbin.c: (bin_bus_handler):
6339         Be a bit more conservative about the posted message.
6340         
6341         * gst/gstbus.c: (gst_bus_post):
6342         Some cleanups, warn wrong return values.
6343
6344 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6345
6346         * check/gst/gstbin.c: (GST_START_TEST):
6347         * gst/gstbin.c: (bin_bus_handler):
6348         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6349         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6350         (gst_message_new_warning), (gst_message_new_tag),
6351         (gst_message_new_state_changed), (gst_message_new_segment_start),
6352         (gst_message_new_segment_done), (gst_message_new_custom):
6353         * gst/gstmessage.h:
6354         * tools/gst-launch.c: (event_loop):
6355         * tools/gst-md5sum.c: (event_loop):
6356           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6357
6358 2005-08-25  Wim Taymans  <wim@fluendo.com>
6359
6360         * check/generic/states.c: (GST_START_TEST):
6361         Cleanup can be done at the end.
6362
6363         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6364         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6365         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6366         Oh boy.. Thanks for finding this, Thomas. 
6367
6368 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6369
6370         * docs/gst/gstreamer.types:
6371           added missing types
6372
6373 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6374
6375         * docs/gst/gstreamer-docs.sgml:
6376         * docs/gst/gstreamer-sections.txt:
6377         * docs/gst/tmpl/.cvsignore:
6378         * gst/gstbin.c:
6379         * gst/gstiterator.c:
6380         * gst/gstutils.c:
6381         * gst/registries/gstxmlregistry.h:
6382           added missing classes and symbols (123 more to go)
6383           removed removed symbols from section file
6384           fixed many doc-comments
6385
6386 2005-08-24  Wim Taymans  <wim@fluendo.com>
6387
6388         * check/generic/states.c: (GST_START_TEST):
6389         Make sure all tasks are stopped.
6390
6391         * check/gst/gstbin.c: (GST_START_TEST):
6392         Unref after usage for proper valgrinding.
6393
6394         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6395         Really wait for the task to stop before destroying the
6396         mutex.
6397
6398         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6399         (gst_queue_src_activate_push):
6400         Small cleanups. Don't stop the task when we did not start
6401         it.
6402
6403         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6404         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6405         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6406         (gst_task_join):
6407         * gst/gsttask.h:
6408         Protect the stream lock with the object lock.
6409         Disallow setting the stream lock when running.
6410         Add cleanup_all to wait for the threadpool to finish.
6411         Remove code to autoallocate a mutex if none was provided.
6412         Add _join() to wait for a task to stop.
6413         Protect the thread pool with a global lock.
6414
6415 2005-08-24  Wim Taymans  <wim@fluendo.com>
6416
6417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6418         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6419         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6420         * gst/base/gstbasesink.h:
6421         Handle newsegment events correctly.
6422         Drop buffers out of the segment range.
6423
6424 2005-08-22  Andy Wingo  <wingo@pobox.com>
6425
6426         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6427         macro, implements an interface and gstimplementsinterface for a
6428         new type.
6429
6430 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * check/Makefile.am:
6433         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6434           add a test that does a bunch of state changes on elements
6435           needs some fixing for valgrind
6436         * check/states/sinks.c: (gst_object_suite):
6437           whitespace
6438         * gst/gstcaps.h:
6439           add prototype for gst_caps_is_equal_fixed
6440         * gst/gstplugin.c:
6441         * gst/gstregistrypool.c:
6442           doc fixes
6443
6444 2005-08-24  Andy Wingo  <wingo@pobox.com>
6445
6446         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6447         convert a negative value. Doesn't make much sense. Mostly this is
6448         here to force callers to ensure -1 maps to -1.
6449
6450 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6451
6452         * docs/pwg/advanced-types.xml:
6453           Well done to Michael for catching my deliberate introduction
6454           of this spelling mistake. 
6455         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6456         * gst/gstelement.h:
6457           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6458           unlink pads before removing the element from the bin.
6459
6460 2005-08-24  Andy Wingo  <wingo@pobox.com>
6461
6462         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6463         the same thing as GST_DEBUG=*:4.
6464         (parse_debug_level, parse_debug_category): New helper parsers.
6465
6466 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6467
6468         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6469         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6470         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6471         (gst_base_transform_buffer_alloc),
6472         (gst_base_transform_handle_buffer):
6473           use gboolean return values and pointers to size so we can use the
6474           full GST_BUFFER_SIZE range (guint) for buffer sizes
6475           use GstPadDirection for transform_caps
6476         * gst/base/gstbasetransform.h:
6477           rename get_size to get_unit_size since that's what it is
6478         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6479           use GstPadDirection for transform_caps
6480         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6481         * gst/gstutils.h:
6482           cleanup and debugging
6483
6484 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6485
6486         * gst/gstelement.c: (gst_element_class_init),
6487         (gst_element_set_state), (activate_pads),
6488         (gst_element_save_thyself):
6489         * tools/gst-compprep.c: (main):
6490         * tools/gst-inspect.c: (print_element_properties_info):
6491         * tools/gst-xmlinspect.c: (print_element_properties):
6492           Fixed long standing mem-leak
6493
6494 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6495
6496         * check/gst/gstbin.c: (GST_START_TEST):
6497         * gst/gstbin.c: (bin_bus_handler):
6498         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6499         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6500         (gst_message_new_warning), (gst_message_new_tag),
6501         (gst_message_new_state_changed), (gst_message_new_segment_start),
6502         (gst_message_new_segment_done), (gst_message_new_custom):
6503         * gst/gstmessage.h:
6504         * tools/gst-launch.c: (event_loop):
6505         * tools/gst-md5sum.c: (event_loop):
6506           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6507           that applications can sensibly post custom messages with references
6508           to their own objects.
6509
6510 2005-08-24  Andy Wingo  <wingo@pobox.com>
6511
6512         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6513         already.
6514
6515 2005-08-24  Wim Taymans  <wim@fluendo.com>
6516
6517         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6518         (gst_base_transform_transform_caps),
6519         (gst_base_transform_transform_size),
6520         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6521         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6522         (gst_base_transform_handle_buffer):
6523         * gst/base/gstbasetransform.h:
6524         Many fixes and new features added by Thomas. Can now also do
6525         transforms with variable sizes and a custom fixate_caps function.
6526
6527 2005-08-24  Wim Taymans  <wim@fluendo.com>
6528
6529         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6530         Some debugging.
6531
6532         * gst/gstclock.h:
6533         Cast to ClockTime before formatting to time.
6534
6535         * gst/gstutils.h:
6536         Cleanups.
6537
6538 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6539
6540         * check/gst-libs/controller.c: (GST_START_TEST),
6541         (gst_controller_suite):
6542         * docs/gst/tmpl/gstcaps.sgml:
6543         * docs/gst/tmpl/gstghostpad.sgml:
6544         * docs/gst/tmpl/gstquery.sgml:
6545         * docs/gst/tmpl/gstutils.sgml:
6546         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6547         (gst_object_sink_values), (gst_object_get_value_arrays),
6548         (gst_object_get_value_array):
6549           gracefully handle helper method calls to objects that are not beeing
6550           controlled, added test case for that          
6551
6552 2005-08-23  Wim Taymans  <wim@fluendo.com>
6553
6554         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6555         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6556         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6557         (gst_event_parse_qos), (gst_event_new_seek),
6558         (gst_event_parse_seek):
6559         * gst/gstevent.h:
6560         Some more debugging output and doc cleanups.
6561
6562         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6563         Fix possible deadlock.
6564
6565 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6566
6567         * docs/gst/gstreamer-docs.sgml:
6568         * docs/gst/gstreamer-sections.txt:
6569         * docs/gst/gstreamer.types:
6570         * docs/gst/tmpl/.cvsignore:
6571         * gst/gstbin.h:
6572         * gst/gstbus.c:
6573         * gst/gstelement.c:
6574         * gst/gstevent.h:
6575           added 100 symbols from gstreamer-unused.txt to the right sections
6576           fixed more broken comments
6577           added GstBus to docs
6578
6579 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6580
6581         * docs/gst/gstreamer-sections.txt:
6582         * docs/gst/tmpl/.cvsignore:
6583         * docs/gst/tmpl/gstbin.sgml:
6584         * docs/gst/tmpl/gstbuffer.sgml:
6585         * gst/base/gstbasesrc.c:
6586         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6587         * gst/gstbuffer.c:
6588         * gst/gstbuffer.h:
6589         * tools/gst-launch.1.in:
6590           inlined more doc comments, added missing comments and fixed comments
6591           fixed typos
6592
6593 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6594
6595         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6596           some debugging
6597         * gst/gstcaps.h:
6598           whitespace fixes
6599         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6600           more debugging
6601         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6602         * gst/gststructure.h:
6603           add a fixate function for booleans; add a FIXME that these func
6604           names should probably be gst_structure_fixate_*
6605
6606 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6607
6608         * docs/gst/gstreamer-docs.sgml:
6609         * docs/gst/gstreamer-sections.txt:
6610         * gst/Makefile.am:
6611         * gst/gstbin.c: (gst_bin_get_type),
6612         (gst_bin_child_proxy_get_child_by_index),
6613         (gst_bin_child_proxy_get_children_count),
6614         (gst_bin_child_proxy_init):
6615         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6616         (gst_child_proxy_get_child_by_index),
6617         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6618         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6619         (gst_child_proxy_get), (gst_child_proxy_set_property),
6620         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6621         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6622         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6623         * gst/gstchildproxy.h:
6624         * gst/parse/grammar.y:
6625         * tools/gst-inspect.c: (print_interfaces),
6626         (print_element_properties_info), (print_element_info):
6627           ported gstchildproxy over from 0.8
6628           ported gst-inspect fixes and enhancements over from 0.8
6629
6630 2005-08-22  Wim Taymans  <wim@fluendo.com>
6631
6632         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6633         (gst_base_transform_handle_buffer):
6634         Also call the transform function if we have ANY caps.
6635
6636         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6637         Fix debug info.
6638
6639 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6640
6641         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6642           Don't pretend to handle seek events if the source is not seekable
6643
6644 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6645
6646         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6647           Remove extra parameter to debug output
6648
6649         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6650         (gst_base_src_do_seek), (gst_base_src_activate_push):
6651           Fix seek event handling.
6652
6653         * gst/gstpipeline.c: (gst_pipeline_change_state):
6654         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6655         (gst_queue_src_activate_push):
6656           Don't start the src pad task on FLUSH_STOP if the pad
6657           isn't linked.
6658           Debug changes.
6659
6660 2005-08-22  Wim Taymans  <wim@fluendo.com>
6661
6662         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6663         Added check for gst_static_caps_get() refcounting.
6664
6665 2005-08-22  Wim Taymans  <wim@fluendo.com>
6666
6667         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6668         Make _static_caps_get() refcounting sane.
6669         
6670         * gst/gstelement.c: (gst_element_set_state):
6671         Add g_return_val_if_fail() to protect against segfaults.
6672
6673 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6674
6675         * docs/gst/tmpl/gstevent.sgml:
6676         * gst/gstevent.c:
6677         * gst/gstevent.h:
6678           inlined remaining docs, added missing doc comments
6679
6680 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6681
6682         * check/gst/gstbin.c: (GST_START_TEST):
6683           since we don't know when preroll is done, use refcount range
6684           check for the sink
6685         * gst/check/gstcheck.h:
6686           add macro for checking refcount range
6687
6688 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6689
6690         * check/Makefile.am:
6691           clean up environment for when registry gets built versus
6692           when actual tests are run; valgrind seems to not report
6693           leaks if GST_PLUGIN_PATH is set to some specific values
6694         * check/gst/gstbin.c: (GST_START_TEST):
6695           add more refcounting checks; maybe this exposes a
6696           preroll lock bug ?
6697         * common/check.mak:
6698         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6699         * gst/check/gstcheck.h:
6700         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6701         (gst_bin_change_state):
6702         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6703           add/fix debugging/whitespace
6704
6705 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6706
6707         * check/gst/gstevent.c: (event_probe), (test_event),
6708         (GST_START_TEST):
6709          Er, don't call gst_bin_watch_for_state_change you idiot.
6710
6711 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6712
6713         * check/Makefile.am:
6714           Use CHECK_CFLAGS and CHECK_LIBS
6715         * check/gst/gstevent.c: (event_probe), (test_event),
6716         (GST_START_TEST):
6717           Don't leak events.
6718         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6719         (gst_base_src_start), (gst_base_src_stop),
6720         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6721         (gst_base_src_change_state):
6722           Sprinkle gst_base_src_stop liberally around error paths to fix
6723           problems reusing a source after failed state changes.
6724         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6725         (helper_find_suggest), (gst_type_find_helper):
6726           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6727         * gst/gstevent.h:
6728         * docs/gst/tmpl/gstevent.sgml:
6729           Migrate part of the docs from the SGML file. Wait for ensonic to
6730           tell me how I did it wrong ;)
6731         * tools/gst-typefind.c: (main):
6732           Extra robustness to state changes between files.
6733
6734 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6735
6736         * check/Makefile.am:
6737           don't valgrind the controller test - it's leaking - Stefan, HELP
6738         * gst/check/gstcheck.c: (gst_check_message_error),
6739         (gst_check_chain_func), (gst_check_setup_element),
6740         (gst_check_teardown_element), (gst_check_setup_src_pad),
6741         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6742         (gst_check_teardown_sink_pad):
6743         * gst/check/gstcheck.h:
6744           add a bunch of methods to set up elements, and src and sink pads
6745         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6746         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6747         (GST_START_TEST):
6748           use them
6749         * gst/gstmessage.c:
6750         * gst/gsttag.h:
6751           whitespace/doc fixes
6752
6753 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6754
6755         * gst/gstelement.h:
6756           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6757           be handled by the application and not always printed as well
6758
6759 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6760
6761         * check/Makefile.am:
6762           set GST_TOOLS_DIR
6763         * gst/check/gstcheck.c: (gst_check_message_error):
6764         * gst/check/gstcheck.h:
6765           add a fail_unless_equals_int
6766           add fail_unless for error messages
6767
6768 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6769
6770         * check/Makefile.am:
6771         * check/gst.supp:
6772         * common/Makefile.am:
6773         * common/check.mak:
6774         * common/gst.supp:
6775           factor out some of the common stuff so we can use it
6776
6777 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * check/Makefile.am:
6780         * check/gst/gstiterator.c: (GST_START_TEST):
6781         * check/gst/gstsystemclock.c: (GST_START_TEST),
6782         (gst_systemclock_suite):
6783         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6784         * gst/gstclock.c:
6785           valgrind more tests
6786
6787 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6788
6789         * check/elements/.cvsignore:
6790         * check/elements/gstfakesrc.c:
6791           rename to name of element
6792         * check/elements/identity.c: (chain_func), (event_func),
6793         (setup_identity), (cleanup_identity), (GST_START_TEST),
6794         (identity_suite), (main):
6795           add a test for identity
6796         * check/Makefile.am:
6797         * pkgconfig/Makefile.am:
6798         * pkgconfig/gstreamer-check.pc.in:
6799         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6800         * gst/check:
6801         * gst/Makefile.am:
6802         * configure.ac:
6803           move the check stuff to a library that gets installed
6804         * check/gst-libs/controller.c: (GST_START_TEST):
6805         * check/gst-libs/gdp.c:
6806         * check/gst/gst.c: (GST_START_TEST):
6807         * check/gst/gstbin.c:
6808         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6809         * check/gst/gstbus.c:
6810         * check/gst/gstcaps.c: (GST_START_TEST):
6811         * check/gst/gstelement.c:
6812         * check/gst/gstghostpad.c:
6813         * check/gst/gstiterator.c:
6814         * check/gst/gstmessage.c:
6815         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6816         * check/gst/gstobject.c:
6817         * check/gst/gstpad.c: (GST_START_TEST):
6818         * check/gst/gststructure.c: (GST_START_TEST):
6819         * check/gst/gstsystemclock.c: (GST_START_TEST),
6820         (gst_systemclock_suite):
6821         * check/gst/gsttag.c: (gst_tag_suite):
6822         * check/gst/gstvalue.c:
6823         * check/pipelines/cleanup.c:
6824         * check/pipelines/simple_launch_lines.c:
6825         * check/states/sinks.c:
6826           change include statement
6827
6828         * docs/gst/gstreamer-sections.txt:
6829         * docs/gst/tmpl/gstpad.sgml:
6830           document more pad stuff
6831         * gst/gstminiobject.c: (gst_mini_object_ref),
6832         (gst_mini_object_unref):
6833           debug refcounting
6834
6835 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6836
6837         * docs/gst/tmpl/gst.sgml:
6838         * gst/gst.c:
6839           eliminate another tmpl file, fix spelling in the long-description
6840
6841 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6842
6843         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6844         (test_event), (timediff), (gstevents_suite):
6845           Should fix build on 64-bit arch's
6846
6847 2005-08-18  Andy Wingo  <wingo@pobox.com>
6848
6849         Make sure that when a pipeline goes to PLAYING, that data has
6850         actually hit the sink.
6851
6852         * check/states/sinks.c (test_sink): A sink that doesn't get any
6853         data shouldn't return SUCCESS for going to either PLAYING or
6854         PAUSED. Test also the return values on the way back down.
6855
6856         * gst/gstelement.c (gst_element_set_state): When changing the
6857         state of an element currently changing state asynchronously, go to
6858         lost-state after commiting the pending state. Makes future calls
6859         to get_state continue to return ASYNC.
6860
6861         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6862         ASYNC when going to PLAYING if we still don't have preroll, as can
6863         happen with live sources.
6864
6865 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6866
6867         * docs/pwg/advanced-types.xml:
6868           Hack long paragraph into 2 chunks as a workaround for buggy
6869           jadetex version in sid and breezy that loops infinitely and
6870           eats all RAM.
6871
6872 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6873
6874         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6875         (test_event), (timediff), (gstevents_suite):
6876           Provide more error margin in clock measurements to allow for 
6877           g_get_current_time inaccuracies.
6878
6879 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6880
6881         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6882         (test_event), (timediff), (gstevents_suite):
6883            Fix error message output so I might be able to tell why the
6884            test works here but fails on the build farm.
6885
6886 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6887
6888         * check/Makefile.am:
6889         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6890         (test_event), (timediff), (gstevents_suite), (main):
6891           I wrote a test!
6892
6893         * docs/design/part-seeking.txt:
6894           Spelling correction
6895
6896         * docs/gst/tmpl/gstevent.sgml:
6897         * docs/gst/tmpl/gstfakesrc.sgml:
6898           Docs updates.
6899
6900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6901           Treat a buffer-without-newsegment the same as a receiving 
6902           a newsegment not in time format, and disable syncing to the clock
6903           with a warning.
6904
6905         * gst/gstbus.c: (gst_bus_set_sync_handler):
6906           Assert if anyone tries to replace the existing sync_handler for bus, 
6907           as only the owner should be setting it.
6908
6909         * gst/gstevent.h:
6910           Have a fixed set of custom event enums with events identified by
6911           their structure name (as in 0.8), rather than a free-for-all
6912           allowing collisions between enum values from different plugins.
6913
6914         * gst/gstpad.c: (gst_pad_class_init):
6915           Docs change.
6916           
6917         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6918           Handle out-of-band downstream events from the sending thread.
6919
6920 2005-08-17  Andy Wingo  <wingo@pobox.com>
6921
6922         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6923         play-timeout==0 to mean no timeout at all. In that case, don't
6924         bother with a get_state or a warning, just return directly, even
6925         if it's ASYNC.
6926
6927         * gst/base/gstbasetransform.c: Debug changes.
6928
6929         * gst/gstutils.h:
6930         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6931         ensure bins post state change messages. A bit of a hack but I can't
6932         think of a way to avoid it.
6933
6934         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6935
6936 2005-08-16  Andy Wingo  <wingo@pobox.com>
6937
6938         * gst/base/gstadapter.h:
6939         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6940         peek() but you own the data. Not terribly efficient atm.
6941
6942 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6943
6944         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6945         (gst_element_found_tags):
6946         * gst/gstutils.h:
6947           Add two utility functions for tag handling.
6948
6949 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6950
6951         * docs/manual/advanced-dataaccess.xml:
6952         * docs/manual/basics-helloworld.xml:
6953           Fix docs to use _bin_add() before _link(), which fixes the examples
6954           with recent core versions (reported by Madhan Raj M
6955           <raj_madan@rediffmail.com>, #313199).
6956
6957 2005-08-16  Wim Taymans  <wim@fluendo.com>
6958
6959         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6960         Added subtract checks.
6961
6962         * docs/design/part-events.txt:
6963         Some more docs about newsegment
6964
6965         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6966         Fix FIXME
6967
6968         * gst/gstcaps.c: (gst_caps_to_string):
6969         Add comments, cleanups.
6970         
6971         * gst/gstelement.c: (gst_element_save_thyself):
6972         cleanups
6973         
6974         * gst/gstvalue.c: (gst_value_collect_int_range),
6975         (gst_string_unwrap), (gst_value_union_int_int_range),
6976         (gst_value_union_int_range_int_range),
6977         (gst_value_intersect_int_int_range),
6978         (gst_value_intersect_int_range_int_range),
6979         (gst_value_intersect_double_double_range),
6980         (gst_value_intersect_double_range_double_range),
6981         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6982         (gst_value_subtract_int_range_int),
6983         (gst_value_subtract_double_range_double),
6984         (gst_value_subtract_double_range_double_range),
6985         (gst_value_subtract_from_list), (gst_value_subtract_list),
6986         (gst_value_can_compare), (gst_value_compare_fraction):
6987         Cleanups, add comments, remove unneeded asserts.
6988
6989 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6990
6991         * tools/gst-launch.c: (event_loop):
6992           don't convert NULL structures to strings
6993
6994 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6995
6996         * docs/gst/gstreamer-sections.txt:
6997           made some defines private
6998         * docs/gst/tmpl/gstconfig.sgml:
6999         * docs/gst/tmpl/gstqueue.sgml:
7000         * docs/gst/tmpl/gsttaglist.sgml:
7001         * docs/gst/tmpl/gsttypes.sgml:
7002         * docs/gst/tmpl/gstutils.sgml:
7003         * docs/pwg/appendix-porting.xml:
7004         * gst/base/gstbasesink.h:
7005         * gst/base/gstbasesrc.c:
7006         * gst/base/gstbasesrc.h:
7007         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7008         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7009         * gst/gstelement.c: (gst_element_class_init):
7010         * gst/gstpad.c: (gst_pad_class_init):
7011         * gst/gstqueue.c: (gst_queue_class_init):
7012         * gst/gstxml.c: (gst_xml_class_init):
7013           documented all undocumented signal inline
7014         * libs/gst/controller/gst-controller.h:
7015           added padding
7016
7017 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7018
7019         * docs/pwg/appendix-porting.xml:
7020           Document _set_link_function -> _set_setcaps_function.
7021
7022 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7023
7024         * check/Makefile.am:
7025           add a .check target for running the check
7026         * check/gst-libs/controller.c: (GST_START_TEST):
7027           cosmetic fixups
7028         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7029           complete checks for gstbuffer; would be nice if I could get the
7030           gcov stuff to work so I can see if I actually completed gstbuffer.c
7031         * check/gstcheck.h:
7032           add ASSERT_BUFFER_REFCOUNT
7033
7034 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7035
7036         * docs/gst/gstreamer-sections.txt:
7037         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7038         * gst/gsttag.h:
7039           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7040           spew out a warning if a tag that is already registered
7041           is re-registered, unless it is re-registered with a 
7042           different type (#308438).
7043
7044 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7045
7046         * docs/pwg/appendix-porting.xml:
7047         * docs/pwg/building-state.xml:
7048           Add some paragraphs about state changes in 0.9 to the PWG
7049           and the porting guide, in particular about the new meaning
7050           of GST_STATE_PAUSED and how to write state change functions
7051           with concurrent access by multiple threads in mind.
7052
7053 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7054
7055         * docs/gst/gstreamer-docs.sgml:
7056         * docs/libs/gstreamer-libs-docs.sgml:
7057           added deprecation and since indexes
7058         * libs/gst/controller/gst-controller.c:
7059         * libs/gst/controller/gst-helper.c:
7060           added since tags
7061
7062
7063 2005-08-11  Wim Taymans  <wim@fluendo.com>
7064
7065         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7066         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7067         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7068         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7069         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7070         (gst_ghost_pad_set_target):
7071         Actually implement (re)setting the target on a ghostpad
7072         as described in the docs.
7073
7074 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7075
7076         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7077           Check whether GST_DEBUG_NO_COLOR environment variable is
7078           set and disable coloured debug output if that is the case.
7079
7080 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7081
7082         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7083         (gst_type_find_helper):
7084           The memory returned by gst_type_find_peek() needs to
7085           stay valid until the end of a typefind function, and
7086           typefind functions may keep results from different 
7087           offsets around, so we can't just unref the buffer from
7088           the previous _peek(), but have to save all buffers 
7089           returned by _peek() until typefinding is done and only
7090           free them then.
7091
7092 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7093
7094         * docs/gst/gstreamer-sections.txt:
7095         * gst/gstutils.h:
7096           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7097
7098 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7099
7100         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7101           Fix a pretty good memleak.
7102
7103 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7104
7105         * gst/gstiterator.h:
7106           Fix wrong include and 'make distcheck'.
7107
7108 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7109
7110         * gst/gstbin.c: (bin_bus_handler):
7111           Use gst_element_post_message() instead.
7112
7113 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7114
7115         * gst/base/gstadapter.h:
7116         * gst/base/gstbasesink.h:
7117         * gst/base/gstbasesrc.h:
7118         * gst/base/gstbasetransform.h:
7119         * gst/base/gstcollectpads.h:
7120         * gst/base/gstpushsrc.h:
7121         * gst/gstiterator.h:
7122           Add padding to our base elements' class and instance structs and
7123           to GstIterator (you will need to rebuild all plugins and apps!)
7124
7125 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7126
7127         * gst/gstbin.c: (bin_bus_handler):
7128           Make default message forwarding from child->bus to bin->bus
7129           threadsafe and make it not emit warnings if the parent has no bus.
7130
7131 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7132
7133         * gst/gstelement.c: (activate_pads):
7134           On paused->ready, set pad->caps to NULL, as is the documented
7135           behaviour in this state change. Fixes playback of series of
7136           media files when visualization is enabled in Totem.
7137
7138 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7139
7140         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7141           Allow NULL as filter-caps (which means "any").
7142
7143 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7144
7145         * docs/libs/gstreamer-libs-sections.txt:
7146         * libs/gst/controller/gst-controller.c:
7147         * libs/gst/controller/gst-controller.h:
7148         * libs/gst/controller/gst-helper.c:
7149           adding more entries to the docs and fix small doc-bugs
7150
7151 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7152
7153         * docs/gst/gstreamer-docs.sgml:
7154         * docs/gst/gstreamer-sections.txt:
7155         * docs/gst/gstreamer.types:
7156         * docs/gst/tmpl/gstbasesink.sgml:
7157         * docs/gst/tmpl/gstbasesrc.sgml:
7158         * docs/gst/tmpl/gstbasetransform.sgml:
7159         * docs/gst/tmpl/gstfakesrc.sgml:
7160         * gst/base/gstcollectpads.c:
7161         * gst/base/gstcollectpads.h:
7162         * libs/gst/controller/gst-controller.c:
7163         * libs/gst/controller/gst-controller.h:
7164         * libs/gst/controller/gst-helper.c:
7165         * libs/gst/controller/gst-interpolation.c:
7166         * libs/gst/controller/lib.c:
7167           added long/short desc for controller docs
7168           added collectpads base class docs
7169           added correct includes to base-class docs
7170
7171 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7172
7173         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7174         (gst_test_mono_source_set_property),
7175         (gst_test_mono_source_class_init), (GST_START_TEST),
7176         (gst_controller_suite):
7177         * docs/gst/gstreamer-docs.sgml:
7178         * docs/gst/gstreamer-sections.txt:
7179         * docs/gst/gstreamer.types:
7180         * docs/libs/gstreamer-libs-docs.sgml:
7181         * docs/libs/gstreamer-libs-sections.txt:
7182         * gst/base/gstadapter.c:
7183         * libs/gst/controller/gst-controller.c:
7184         (gst_controlled_property_new), (gst_controlled_property_free),
7185         (gst_controller_new_valist),
7186         (gst_controller_remove_properties_valist),
7187         (gst_controller_sink_values), (_gst_controller_finalize):
7188         * libs/gst/controller/gst-controller.h:
7189         * libs/gst/controller/gst-helper.c:
7190         (gst_object_control_properties), (gst_object_uncontrol_properties),
7191         (gst_object_get_controller), (gst_object_set_controller),
7192         (gst_object_sink_values), (gst_object_get_value_arrays),
7193         (gst_object_get_value_array):
7194           more tests (and fixes) for the controller
7195           more docs for the controller
7196           integrated companies docs for the adapter 
7197
7198 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7199
7200         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7201         (GST_START_TEST), (fakesrc_suite):
7202           add tests for sizetype
7203
7204 2005-08-04  Andy Wingo  <wingo@pobox.com>
7205
7206         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7207         fixes buffer_alloc proxying among other things.
7208
7209         * gst/base/gstbasetransform.c:
7210         * gst/base/gstbasetransform.h:
7211         Revert patch to gstbasetransform from 7-28 removing
7212         delay_configure.
7213
7214         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7215         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7216         Semantics changed, should return not the size of the output buffer
7217         but the byte size of a buffer with a given caps.
7218
7219         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7220         debug object.
7221         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7222         out) are not the pad caps until setcaps finishes.
7223         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7224         not-in-place case as well. Deal with changing from in-place to
7225         not-in-place within calling pad_alloc_buffer. Still a bit
7226         concerned about the overhead here...
7227
7228 2005-08-03  Andy Wingo  <wingo@pobox.com>
7229
7230         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7231         fixating is an error.
7232
7233 2005-08-04  Edward Hervey  <edward@fluendo.com>
7234
7235         * gst/base/gstadapter.h: 
7236         Added gst_adapter_get_type() to the header
7237
7238 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7239
7240         * check/Makefile.am:
7241         * check/gst-libs/controller.c:
7242         * libs/gst/controller/gst-controller.c:
7243         (gst_controller_new_valist):
7244           added check test suite for the controller
7245         * gst/base/gstpushsrc.c:
7246           fixed a doc typo
7247
7248 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7249
7250         * docs/gst/Makefile.am:
7251         * docs/gst/gstreamer-docs.sgml:
7252         * docs/gst/gstreamer-sections.txt:
7253         * docs/gst/gstreamer.types:
7254         * docs/gst/tmpl/gstfakesrc.sgml:
7255         * gst/base/README:
7256         * gst/base/gstbasesink.c:
7257         * gst/base/gstbasesink.h:
7258         * gst/base/gstbasesrc.c:
7259         * gst/base/gstbasesrc.h:
7260         * gst/base/gstbasetransform.c:
7261         * gst/base/gstpushsrc.c:
7262         * gst/base/gstpushsrc.h:
7263           add short/long description docs to base classes
7264           add pushsrc to the docs
7265           remove consolidated doc fragments
7266
7267 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7268
7269         * configure.ac:
7270         * docs/libs/Makefile.am:
7271         * docs/libs/gstreamer-libs-docs.sgml:
7272         * docs/libs/gstreamer-libs-sections.txt:
7273         * docs/libs/gstreamer-libs.types:
7274         * examples/Makefile.am:
7275         * examples/controller/.cvsignore:
7276         * examples/controller/Makefile.am:
7277         * examples/controller/audio-example.c: (main):
7278         * libs/gst/Makefile.am:
7279         * libs/gst/controller/.cvsignore:
7280         * libs/gst/controller/Makefile.am:
7281         * libs/gst/controller/gst-controller.c:
7282         (on_object_controlled_property_changed), (gst_timed_value_compare),
7283         (gst_timed_value_find),
7284         (gst_controlled_property_set_interpolation_mode),
7285         (gst_controlled_property_new), (gst_controlled_property_free),
7286         (gst_controller_find_controlled_property),
7287         (gst_controller_new_valist), (gst_controller_new),
7288         (gst_controller_remove_properties_valist),
7289         (gst_controller_remove_properties), (gst_controller_set),
7290         (gst_controller_set_from_list), (gst_controller_unset),
7291         (gst_controller_get), (gst_controller_get_all),
7292         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7293         (gst_controller_get_value_array),
7294         (gst_controller_set_interpolation_mode),
7295         (_gst_controller_finalize), (_gst_controller_init),
7296         (_gst_controller_class_init), (gst_controller_get_type):
7297         * libs/gst/controller/gst-controller.h:
7298         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7299         (g_object_uncontrol_properties), (g_object_get_controller),
7300         (g_object_set_controller), (g_object_sink_values),
7301         (g_object_get_value_arrays), (g_object_get_value_array):
7302         * libs/gst/controller/gst-interpolation.c:
7303         (gst_controlled_property_find_timed_value_node),
7304         (interpolate_none_get), (interpolate_trigger_get),
7305         (interpolate_trigger_get_value_array):
7306         * libs/gst/controller/lib.c: (gst_controller_init):
7307         * pkgconfig/Makefile.am:
7308         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7309         * pkgconfig/gstreamer-control.pc.in:
7310         * testsuite/Makefile.am:
7311         * testsuite/controller/.cvsignore:
7312         * testsuite/controller/Makefile.am:
7313         * testsuite/controller/interpolator.c: (main):
7314           added controller code
7315           removed dparam pc files
7316
7317 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7318         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7319         (gst_collectpads_stop):
7320           Broadcast the condition when shutting down, to make sure we wake all
7321           threads up. Shut down pads on finalize, for safety.
7322
7323 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7324         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7325         (gst_base_transform_handle_buffer),
7326         (gst_base_transform_change_state):
7327           Handle PAUSED->READY->PAUSED transition after negotiation
7328           occurred already.
7329         * gst/gstmessage.c: (gst_message_init):
7330           Extra piece of debug for new messages.
7331
7332 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7333
7334         * configure.ac:
7335         * docs/gst/tmpl/gstbasesrc.sgml:
7336         * docs/gst/tmpl/gstelement.sgml:
7337         * docs/gst/tmpl/gstevent.sgml:
7338         * docs/gst/tmpl/gstfakesrc.sgml:
7339         * docs/gst/tmpl/gstformat.sgml:
7340         * docs/gst/tmpl/gstghostpad.sgml:
7341         * docs/gst/tmpl/gstpad.sgml:
7342         * docs/gst/tmpl/gstquery.sgml:
7343         * docs/gst/tmpl/gststructure.sgml:
7344         * docs/gst/tmpl/gsttaglist.sgml:
7345         * docs/gst/tmpl/gstvalue.sgml:
7346         * docs/libs/gstreamer-libs-docs.sgml:
7347         * docs/libs/gstreamer-libs-sections.txt:
7348         * docs/libs/gstreamer-libs.types:
7349         * libs/gst/Makefile.am:
7350         * libs/gst/control/.cvsignore:
7351         * libs/gst/control/Makefile.am:
7352         * libs/gst/control/control.c:
7353         * libs/gst/control/control.h:
7354         * libs/gst/control/dparam.c:
7355         * libs/gst/control/dparam.h:
7356         * libs/gst/control/dparam_smooth.c:
7357         * libs/gst/control/dparam_smooth.h:
7358         * libs/gst/control/dparamcommon.h:
7359         * libs/gst/control/dparammanager.c:
7360         * libs/gst/control/dparammanager.h:
7361         * libs/gst/control/dplinearinterp.c:
7362         * libs/gst/control/dplinearinterp.h:
7363         * libs/gst/control/unitconvert.c:
7364         * libs/gst/control/unitconvert.h:
7365         * testsuite/Makefile.am:
7366         * testsuite/dynparams/.cvsignore:
7367         * testsuite/dynparams/Makefile.am:
7368         * testsuite/dynparams/dparamstest.c:
7369         * tools/Makefile.am:
7370         * tools/gst-inspect.c: (print_element_info), (main):
7371         * tools/gst-xmlinspect.c: (print_element_info), (main):
7372           deactivate and remove dparams (libgstcontrol)
7373
7374 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7375
7376         * gst/elements/gsttypefindelement.c:
7377         (gst_type_find_element_have_type), (gst_type_find_element_init),
7378         (stop_typefinding), (gst_type_find_element_handle_event),
7379         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7380         * gst/elements/gsttypefindelement.h:
7381           Set caps on all outgoing buffers, not just the first one.
7382
7383 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7384
7385         * gst/elements/gsttypefindelement.c:
7386         (gst_type_find_element_have_type),
7387         (gst_type_find_element_check_set_buffer_caps),
7388         (gst_type_find_element_init), (stop_typefinding),
7389         (gst_type_find_element_handle_event),
7390         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7391         * gst/elements/gsttypefindelement.h:
7392           Set caps on first outgoing buffer when we've found the type.
7393
7394 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7395
7396         * docs/gst/gstreamer-docs.sgml:
7397         * docs/gst/gstreamer-sections.txt:
7398         * docs/gst/tmpl/gstscheduler.sgml:
7399         * docs/gst/tmpl/gstschedulerfactory.sgml:
7400           Remove some old cruft from docs.
7401
7402 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7403
7404         * gst/gstpad.h:
7405           Fix inline docs for GstPadLinkReturn.
7406           
7407         * gst/gststructure.c: (gst_structure_has_name):
7408         * gst/gststructure.h:
7409         * docs/gst/gstreamer-sections.txt:
7410           New API: gst_structure_has_name().
7411
7412 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7413
7414         * configure.ac:
7415           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7416           and _LARGEFILE_SOURCE in config.h as required. Do not 
7417           export those flags in our .pc files any longer (#142209).
7418
7419           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7420
7421         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7422         (gst_file_sink_do_seek), (gst_file_sink_event),
7423         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7424           Redo seek/tell calls with large file support in mind; add some
7425           debugging messages; add log message that tells us when large
7426           file support is unavailable or not enabled for some reason.
7427
7428         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7429           Add log message that tells us when large file support 
7430           is unavailable or not enabled for some reason.
7431
7432 2005-07-29  Wim Taymans  <wim@fluendo.com>
7433
7434         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7435         Added test for removing an element with ghostpad from a bin.
7436         Fixed test as current implementation does the right thing.
7437
7438         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7439         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7440         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7441         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7442         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7443         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7444         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7445         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7446         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7447         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7448         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7449         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7450         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7451         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7452         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7453         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7454         * gst/gstghostpad.h:
7455         Clean up ghostpads, remove properties for internal stuff.
7456         Make threadsafe.
7457         Fix refcounting.
7458         Prepare for switching targets, not all use cases work yet.
7459
7460 2005-07-29  Wim Taymans  <wim@fluendo.com>
7461
7462         * docs/design/part-gstghostpad.txt:
7463         Small update.
7464
7465         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7466         (gst_bin_remove_func):
7467         Unlinking pads while holding the bin LOCK is not a good
7468         idea.
7469
7470         * gst/gstpad.c: (gst_pad_class_init),
7471         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7472         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7473         No prob setting template after creating the pad.
7474
7475 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7476
7477         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7478         (gst_bus_peek), (gst_bus_source_dispatch),
7479         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7480         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7481           gst_bus_poll may be called from other threads. Handle
7482           this nicely by not making poll_data disappear off the
7483           stack once gst_bus_poll returns.
7484           gst_bus_peek now increments the refcount on the returned
7485           message.
7486
7487 2005-07-29  Wim Taymans  <wim@fluendo.com>
7488
7489         * docs/design/part-gstghostpad.txt:
7490         Overview of current GhostPad datastructures and use
7491         cases for changing the target.
7492
7493 2005-07-28  Wim Taymans  <wim@fluendo.com>
7494
7495         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7496         Added checks for hierarchy consistency whan adding linked
7497         elements to bins.
7498
7499         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7500         Added check to test element scheduling without bin/pipeline.
7501
7502         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7503         First add elements to bin, then link.
7504         
7505         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7506         (gst_bin_remove_func):
7507         Unlink pads from elements added/removed from bin to maintain
7508         hierarchy consistency.
7509
7510 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7511
7512         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7513         (gst_base_transform_handle_buffer):
7514         * gst/base/gstbasetransform.h:
7515           Remove broken delay_configure (fixes renegotiation of software
7516           scaling pipelines); remove some leftover printf()s.
7517
7518 2005-07-28  Wim Taymans  <wim@fluendo.com>
7519
7520         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7521         Added some more tests for wrong hierarchy
7522
7523         * docs/design/part-overview.txt:
7524         Some updates.
7525
7526         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7527         Cleanups.
7528
7529         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7530         (gst_element_dispose):
7531         Some more cleanups.
7532
7533         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7534         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7535         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7536         (gst_pad_set_caps), (gst_pad_send_event):
7537         Check for correct hierarchy when linking pads. Moving to
7538         strict requirement for ghostpads when linking elements in
7539         different bins.
7540
7541         * gst/gstpad.h:
7542         Clean ups. Added WRONG_HIERARCHY return value.
7543
7544 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7545
7546         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7547           Better debug if no transform is possible.
7548
7549 2005-07-27  Wim Taymans  <wim@fluendo.com>
7550
7551         * docs/random/wtay/network-transp:
7552         Some old doc I had.
7553
7554 2005-07-27  Wim Taymans  <wim@fluendo.com>
7555
7556         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7557         (gst_dp_event_from_packet):
7558         Fix serialization of seek events.
7559
7560 2005-07-27  Wim Taymans  <wim@fluendo.com>
7561
7562         * check/gst-libs/gdp.c: (GST_START_TEST):
7563         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7564         Fix compilation and fix event serialization.
7565
7566 2005-07-27  Wim Taymans  <wim@fluendo.com>
7567
7568         * CHANGES-0.9:
7569         * docs/design/part-TODO.txt:
7570         * docs/design/part-events.txt:
7571         Some docs updates
7572
7573         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7574         (gst_base_sink_event), (gst_base_sink_do_sync),
7575         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7576         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7577         (gst_base_src_do_seek), (gst_base_src_event_handler),
7578         (gst_base_src_loop):
7579         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7580         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7581         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7582         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7583         (gst_base_transform_set_passthrough),
7584         (gst_base_transform_is_passthrough):
7585         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7586         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7587         Event updates.
7588
7589         * gst/gstbuffer.h:
7590         Use faster casts.
7591
7592         * gst/gstelement.c: (gst_element_seek):
7593         * gst/gstelement.h:
7594         Update gst_element_seek.
7595
7596         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7597         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7598         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7599         (gst_event_new_eos), (gst_event_new_newsegment),
7600         (gst_event_parse_newsegment), (gst_event_new_tag),
7601         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7602         (gst_event_parse_qos), (gst_event_new_seek),
7603         (gst_event_parse_seek), (gst_event_new_navigation):
7604         * gst/gstevent.h:
7605         Make GstEvent use GstStructure. Add parsing code, make sure the
7606         API is sufficiently generic.
7607         Mark possible directions of events and serialization.
7608
7609         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7610         (_gst_message_copy), (gst_message_new_segment_start),
7611         (gst_message_new_segment_done), (gst_message_new_custom),
7612         (gst_message_parse_segment_start),
7613         (gst_message_parse_segment_done):
7614         Small cleanups.
7615
7616         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7617         (gst_pad_set_caps), (gst_pad_send_event):
7618         Update for new events. 
7619         Catch events sent in wrong directions.
7620
7621         * gst/gstqueue.c: (gst_queue_link_src),
7622         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7623         (gst_queue_handle_src_query):
7624         Event updates.
7625
7626         * gst/gsttag.c:
7627         * gst/gsttag.h:
7628         Remove event code from this file.
7629
7630         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7631         (gst_dp_event_from_packet):
7632         Event updates.
7633
7634 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7635
7636         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7637         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7638         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7639           Make debugging actually useful.
7640
7641 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7642
7643         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7644         (gst_pad_fixate_caps):
7645           Implement default fixation once again, so that gst_pad_fixate()
7646           actually does anything at all. This probably needs to be some
7647           sort of a last resort, and use profile-based fixation first, but
7648           since that doesn't exist yet, this is the best we have. Fixes
7649           visualization in Totem.
7650
7651 2005-07-22  Wim Taymans  <wim@fluendo.com>
7652
7653         * docs/design/part-events.txt:
7654         Small update.
7655
7656         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7657         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7658         (gst_base_sink_activate_pull):
7659         Some more comments.
7660
7661         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7662         (gst_fake_src_create):
7663         Fix handoff marshall.
7664
7665         * gst/elements/gstidentity.c: (gst_identity_class_init),
7666         (gst_identity_transform_ip):
7667         We're a real inplace element.
7668
7669         * gst/gstbus.c: (gst_bus_post):
7670         Added some comments.
7671
7672         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7673         * tests/muxing/case1.c: (main):
7674         * tests/sched/dynamic-pipeline.c: (main):
7675         * tests/sched/interrupt1.c: (main):
7676         * tests/sched/interrupt2.c: (main):
7677         * tests/sched/interrupt3.c: (main):
7678         * tests/sched/runxml.c: (main):
7679         * tests/sched/sched-stress.c: (main):
7680         * tests/seeking/seeking1.c: (event_received), (main):
7681         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7682         (main):
7683         * tests/threadstate/threadstate3.c: (main):
7684         * tests/threadstate/threadstate4.c: (main):
7685         * tests/threadstate/threadstate5.c: (main):
7686         Fix the tests.
7687
7688 2005-07-21  Wim Taymans  <wim@fluendo.com>
7689
7690         * docs/design/part-seeking.txt:
7691         Some small additions.
7692
7693         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7694         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7695         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7696         * gst/base/gstbasesink.h:
7697         discont values are gint64, handle the math correctly.
7698
7699         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7700         Make the basesrc report error if the source pad is not linked.
7701
7702         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7703         (gst_queue_loop), (gst_queue_handle_src_query),
7704         (gst_queue_src_activate_push):
7705         Make queue collect data even if the srcpad is not linked.
7706         Start pushing out data as soon as it is linked.
7707
7708         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7709         * gst/gstutils.h:
7710         Added gst_flow_get_name() to ease error reporting.
7711
7712 2005-07-20  Wim Taymans  <wim@fluendo.com>
7713
7714         * gst/gstmessage.c: (gst_message_new_segment_start),
7715         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7716         (gst_message_parse_segment_done):
7717         * gst/gstmessage.h:
7718         Added a bunch of messages for advanced seeking.
7719
7720         * gst/parse/grammar.y:
7721         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7722         (gst_dpman_state_changed):
7723         Fix some new-pad -> pad-added signals
7724
7725 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7726
7727         * docs/manual/appendix-porting.xml:
7728         * docs/pwg/appendix-porting.xml:
7729           Document new-pad/state-change signal renames and the FixedList
7730           type rename.
7731
7732 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7733
7734         * docs/manual/advanced-autoplugging.xml:
7735         * docs/manual/basics-helloworld.xml:
7736         * docs/manual/basics-pads.xml:
7737         * docs/random/ds/0.9-suggested-changes:
7738         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7739         * gst/gstelement.h:
7740         * gst/gstevent.h:
7741         * gst/gstformat.h:
7742         * gst/gstquery.h:
7743         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7744         (gst_structure_parse_array), (gst_structure_parse_value):
7745         * gst/gstvalue.c: (gst_type_is_fixed),
7746         (gst_value_list_prepend_value), (gst_value_list_append_value),
7747         (gst_value_list_get_size), (gst_value_list_get_value),
7748         (gst_value_transform_array_string), (gst_value_serialize_array),
7749         (gst_value_deserialize_array), (gst_value_intersect_array),
7750         (gst_value_is_fixed), (_gst_value_initialize):
7751         * gst/gstvalue.h:
7752           GstElement::new-pad -> pad-added, GstElement::state-change ->
7753           state-changed, GstValueFixedList -> GstValueArray, add format and
7754           flags as their own arguments in gst_element_seek() (should improve
7755           "bindeability"), remove function generators since they don't work
7756           under a whole bunch of compilers (they were deprecated already
7757           anyway).
7758
7759 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7760
7761         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7762         (_gst_debug_register_funcptr):
7763         * gst/gstinfo.h:
7764           Fix illegal cast on some platforms (#309253).
7765
7766 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7767
7768         * gst/gstmessage.c: (gst_message_new_custom):
7769         * gst/gstmessage.h:
7770           Add _new_custom, make _new_application a macro to _new_custom.
7771
7772 2005-07-20  Wim Taymans  <wim@fluendo.com>
7773
7774         * gst/base/gstbasesrc.c: (gst_base_src_init),
7775         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7776         * gst/base/gstbasesrc.h:
7777         Add a gboolean to decide when to push out a discont.
7778
7779         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7780         (gst_queue_loop), (gst_queue_handle_src_query),
7781         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7782         (gst_queue_set_property), (gst_queue_get_property):
7783         Some cleanups.
7784
7785         * tests/threadstate/threadstate1.c: (main):
7786         Make a thread test compile and run... very silly..
7787
7788
7789 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7790
7791         * docs/manual/appendix-porting.xml:
7792           Mention removal of libgstgconf-0.9.la and existence of gconf
7793           elements.
7794
7795 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7796
7797         * docs/pwg/advanced-clock.xml:
7798         * docs/pwg/appendix-porting.xml:
7799         * docs/pwg/intro-preface.xml:
7800         * docs/pwg/other-base.xml:
7801         * docs/pwg/other-manager.xml:
7802         * docs/pwg/other-nton.xml:
7803         * docs/pwg/other-ntoone.xml:
7804         * docs/pwg/other-oneton.xml:
7805         * docs/pwg/pwg.xml:
7806           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7807           demuxer), remove n-to-n (was never written), fix some code examples
7808           and links and update the porting section to include all this.
7809
7810 2005-07-19  Wim Taymans  <wim@fluendo.com>
7811
7812         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7813         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7814         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7815         (gst_queue_src_activate_push), (gst_queue_change_state),
7816         (gst_queue_get_property):
7817         * gst/gstqueue.h:
7818         Propagate GstFlowReturn more intelligently upstream and output
7819         an ERROR/EOS when streaming stopped due to fatal error.
7820
7821 2005-07-19  Wim Taymans  <wim@fluendo.com>
7822
7823         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7824         Don't block forever for the state change to complete, the
7825         pipeline already did with a sensible timeout.
7826
7827 2005-07-19  Wim Taymans  <wim@fluendo.com>
7828
7829         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7830         Make sure we never call the create function is we
7831         got deactivated.
7832
7833 2005-07-19  Andy Wingo  <wingo@pobox.com>
7834
7835         * gst/parse/parse.l: Attempt to solve bug #172815.
7836
7837 2005-07-19  Wim Taymans  <wim@fluendo.com>
7838
7839         * docs/design/part-clocks.txt:
7840         * docs/design/part-events.txt:
7841         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7842         Small docs updates.
7843         Only update the seeking values when we are not
7844         busy streaming.
7845
7846 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7847
7848         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7849           Oops, ignore the result of gst_pad_push_event here.
7850
7851 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7852
7853         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7854         (gst_base_src_activate_push):
7855           Send discont event from the loop function, as pads
7856           aren't activated yet in the activate_push handler.
7857
7858         * gst/gstbin.c: (bin_bus_handler):
7859           Don't leak element name.
7860
7861 2005-07-18  Andy Wingo  <wingo@pobox.com>
7862
7863         * configure.ac: Use AS_LIBTOOL_TAGS.
7864
7865 2005-07-18  Wim Taymans  <wim@fluendo.com>
7866
7867         * docs/gst/gstreamer.types:
7868         Remove deleted types.
7869
7870 2005-07-18  Wim Taymans  <wim@fluendo.com>
7871
7872         * check/elements/gstfakesrc.c: (GST_START_TEST):
7873         * configure.ac:
7874         * gst/Makefile.am:
7875         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7876         (init_popt_callback):
7877         * gst/gst.h:
7878         * gst/gst_private.h:
7879         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7880         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7881         * gst/gstbin.h:
7882         * gst/gstbus.h:
7883         * gst/gstconfig.h.in:
7884         * gst/gstelement.c: (gst_element_class_init),
7885         (gst_element_set_base_time), (gst_element_get_base_time),
7886         (iterator_fold_with_resync), (gst_element_change_state),
7887         (gst_element_dispose), (gst_element_get_bus):
7888         * gst/gstelement.h:
7889         * gst/gstelementfactory.h:
7890         * gst/gsterror.c: (_gst_core_errors_init):
7891         * gst/gsterror.h:
7892         * gst/gstevent.h:
7893         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7894         * gst/gstindex.c:
7895         * gst/gstinfo.c: (_gst_debug_init):
7896         * gst/gstmessage.c: (_gst_message_copy):
7897         * gst/gstmessage.h:
7898         * gst/gstminiobject.h:
7899         * gst/gstobject.c:
7900         * gst/gstobject.h:
7901         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7902         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7903         * gst/gstpad.h:
7904         * gst/gstparse.h:
7905         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7906         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7907         (gst_pipeline_get_last_stream_time):
7908         * gst/gstpipeline.h:
7909         * gst/gstpluginfeature.h:
7910         * gst/gstquery.h:
7911         * gst/gstscheduler.c:
7912         * gst/gstscheduler.h:
7913         * gst/gststructure.h:
7914         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7915         (gst_task_finalize), (gst_task_func), (gst_task_create),
7916         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7917         (gst_task_stop), (gst_task_pause):
7918         * gst/gsttask.h:
7919         * gst/gsttypefind.h:
7920         * gst/gsttypes.h:
7921         * gst/registries/gstlibxmlregistry.c: (load_feature),
7922         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7923         * gst/registries/gstxmlregistry.c:
7924         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7925         * gst/schedulers/threadscheduler.c:
7926         * libs/gst/control/dparammanager.h:
7927         * tools/gst-inspect.c: (print_element_list),
7928         (print_plugin_features), (print_element_features):
7929         * tools/gst-xmlinspect.c: (print_element_list),
7930         (print_plugin_info), (main):
7931         Removed plugable schedulers.
7932         Removed Scheduler/Manager from elements.
7933         Removed gsttypes.h, rearranged includes.
7934         Removed dependency pad<->element, element<>pipeline, and
7935         various others,  fix includes.
7936         implement gst_pad_get_parent() with gst_object_get_parent()
7937         Make GstTask sefcontained.
7938         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7939         timeout.
7940         Fix endless loop in iterator_fold_with_resync.
7941
7942
7943 2005-07-18  Wim Taymans  <wim@fluendo.com>
7944
7945         * gst/Makefile.am:
7946         * gst/gstarch.h:
7947         Remove old file.
7948
7949 2005-07-18  Wim Taymans  <wim@fluendo.com>
7950
7951         * gst/Makefile.am:
7952         No more cothreads.h
7953
7954 2005-07-18  Wim Taymans  <wim@fluendo.com>
7955
7956         * gst/cothreads.c:
7957         * gst/cothreads.h:
7958         Let's remove these.
7959
7960 2005-07-18  Wim Taymans  <wim@fluendo.com>
7961
7962         * docs/design/part-dynamic.txt:
7963         * docs/design/part-events.txt:
7964         * docs/design/part-seeking.txt:
7965         Some more docs in the works.
7966
7967         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7968         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7969         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7970         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7971         (gst_base_transform_handle_buffer),
7972         (gst_base_transform_sink_activate_push),
7973         (gst_base_transform_src_activate_pull),
7974         (gst_base_transform_set_passthrough),
7975         (gst_base_transform_is_passthrough):
7976         Refcounting fixes.
7977
7978         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7979         Cleanups.
7980
7981         * gst/gstevent.c: (gst_event_finalize):
7982         Set SRC to NULL.
7983
7984         * gst/gstutils.c: (gst_element_unlink),
7985         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7986         (gst_pad_proxy_setcaps):
7987         * gst/gstutils.h:
7988         Add _get_parent_element() to get a pads parent as an element.
7989
7990 2005-07-18  Wim Taymans  <wim@fluendo.com>
7991
7992         * check/gst/gstbin.c: (GST_START_TEST):
7993         Remove bogus test.
7994
7995 2005-07-18  Wim Taymans  <wim@fluendo.com>
7996
7997         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7998         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7999         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8000         (gst_base_sink_event), (gst_base_sink_do_sync),
8001         (gst_base_sink_chain), (gst_base_sink_loop),
8002         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8003         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8004         Refcounting fixes.
8005         Fix logic for returning ASYNC when not prerolled.
8006
8007 2005-07-18  Wim Taymans  <wim@fluendo.com>
8008
8009         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8010         Fix nasty refcount bug.
8011
8012 2005-07-16 Philippe Khalaf <burger@speedy.org>
8013
8014         * gst/elements/gstfdsrc.c:
8015         * gst/elements/gstfdsrc.h:
8016         * gst/elements/gstelements.c:
8017         * gst/elements/Makefile.am:
8018         Ported fdsrc to 0.9.
8019
8020 2005-07-16  Wim Taymans  <wim@fluendo.com>
8021
8022         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8023         (gst_base_sink_do_sync):
8024         Fix compile error.
8025
8026 2005-07-16  Wim Taymans  <wim@fluendo.com>
8027
8028         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8029         (gst_base_sink_event), (gst_base_sink_get_times),
8030         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8031         * gst/base/gstbasesink.h:
8032         Store and use discont values when syncing buffers as described
8033         in design docs.
8034         
8035         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8036         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8037         (gst_base_src_activate_push):
8038         Push discont event when starting.
8039
8040         * gst/elements/gstidentity.c: (gst_identity_transform):
8041         Small cleanups.
8042
8043         * gst/gstbin.c: (gst_bin_change_state):
8044         Small cleanups in base_time  distribution.
8045
8046         * gst/gstelement.c: (gst_element_set_base_time),
8047         (gst_element_get_base_time), (gst_element_change_state):
8048         * gst/gstelement.h:
8049         Added methods for the base_time of the element.
8050         Some MT fixes.
8051
8052         * gst/gstpipeline.c: (gst_pipeline_send_event),
8053         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8054         (gst_pipeline_get_last_stream_time):
8055         * gst/gstpipeline.h:
8056         MT fixes.
8057         Handle seeking as described in design doc, remove stream_time
8058         hack.
8059         Cleanups clock and stream_time selection code. Added accessors
8060         for the stream_time.
8061         
8062
8063 2005-07-16  Andy Wingo  <wingo@pobox.com>
8064
8065         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8066         (#305291).
8067
8068 2005-07-16  Wim Taymans  <wim@fluendo.com>
8069
8070         * check/gst/gstbin.c: (GST_START_TEST):
8071         Make elements silent as the deep_notify refs the
8072         parent, which might make the test fail.
8073
8074         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8075         Don't hold the lock for too long.
8076
8077 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8078
8079         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8080           Don't unref the caps we passed to gst_caps_make_writable() after
8081           passing them. gst_caps_make_writable() will do that for us.
8082
8083 2005-07-15  Andy Wingo  <wingo@pobox.com>
8084
8085         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8086         (#157311).
8087
8088         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8089         own marshalling function for the handoff signal. Properly type the
8090         buffer as a buffer. Fixes some warnings. Should do a more general
8091         solution.
8092         (gst_identity_class_init): Plug into the right marshaller.
8093
8094 2005-07-15  Wim Taymans  <wim@fluendo.com>
8095
8096         * docs/design/part-TODO.txt:
8097         * docs/design/part-clocks.txt:
8098         * docs/design/part-element-sink.txt:
8099         * docs/design/part-events.txt:
8100         * docs/design/part-gstpipeline.txt:
8101         Updated docs, mostly DISCONT related.
8102
8103 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8104
8105         * docs/pwg/building-pads.xml:
8106           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8107
8108 2005-07-15  Andy Wingo  <wingo@pobox.com>
8109
8110         * tools/gst-typefind.c: Update, add copyright block.
8111
8112         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8113         Normalize and truncate caps before fixation.
8114
8115         * gst/gstcaps.h:
8116         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8117         discards all but the first structure from its argument.
8118
8119 2005-07-15  Wim Taymans  <wim@fluendo.com>
8120
8121         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8122         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8123         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8124         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8125         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8126         (gst_base_transform_chain), (gst_base_transform_change_state),
8127         (gst_base_transform_set_passthrough),
8128         (gst_base_transform_is_passthrough):
8129         * gst/base/gstbasetransform.h:
8130         Make passthrough work using the bufferpools.
8131         Changed API a bit, subclasses have to write into a buffer
8132         provided by the base class.
8133         More debug info in nego functions.
8134         
8135         * gst/elements/gstidentity.c: (gst_identity_init),
8136         (gst_identity_transform):
8137         Port to new base class.
8138
8139 2005-07-15  Wim Taymans  <wim@fluendo.com>
8140
8141         * gst/gstmessage.c: (gst_message_new_state_changed):
8142         * tools/gst-launch.c: (event_loop), (main):
8143         Totally dump messages in -launch with the -m option.
8144         Fix message name for State messages,
8145
8146 2005-07-14  Wim Taymans  <wim@fluendo.com>
8147
8148         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8149         Post error messages on errors.
8150
8151 2005-07-14  Wim Taymans  <wim@fluendo.com>
8152
8153         * gst/gstcaps.c: (gst_caps_do_simplify):
8154         Remove debug info.
8155
8156         * gst/gsterror.h:
8157         Define error for stream stopped.
8158
8159         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8160         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8161         Do proper return values.
8162
8163         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8164         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8165         (gst_pad_get_range):
8166         Better return values.
8167
8168         * gst/gstpad.h:
8169         Reorganise return values, add macro to check for fatal errors.
8170
8171         * gst/gstqueue.c: (gst_queue_chain):
8172         Return proper GstFlowReturn values,
8173
8174 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8175
8176         * docs/gst/gstreamer-sections.txt:
8177         * docs/gst/gstreamer.types:
8178         * docs/gst/tmpl/gst.sgml:
8179         * docs/gst/tmpl/gstbasesink.sgml:
8180         * docs/gst/tmpl/gstbasesrc.sgml:
8181         * docs/gst/tmpl/gstbasetransform.sgml:
8182         * docs/gst/tmpl/gstbin.sgml:
8183         * docs/gst/tmpl/gstbuffer.sgml:
8184         * docs/gst/tmpl/gstcaps.sgml:
8185         * docs/gst/tmpl/gstclock.sgml:
8186         * docs/gst/tmpl/gstcompat.sgml:
8187         * docs/gst/tmpl/gstconfig.sgml:
8188         * docs/gst/tmpl/gstelement.sgml:
8189         * docs/gst/tmpl/gstelementdetails.sgml:
8190         * docs/gst/tmpl/gstelementfactory.sgml:
8191         * docs/gst/tmpl/gstenumtypes.sgml:
8192         * docs/gst/tmpl/gsterror.sgml:
8193         * docs/gst/tmpl/gstevent.sgml:
8194         * docs/gst/tmpl/gstfakesink.sgml:
8195         * docs/gst/tmpl/gstfakesrc.sgml:
8196         * docs/gst/tmpl/gstfilesink.sgml:
8197         * docs/gst/tmpl/gstfilesrc.sgml:
8198         * docs/gst/tmpl/gstfilter.sgml:
8199         * docs/gst/tmpl/gstformat.sgml:
8200         * docs/gst/tmpl/gstghostpad.sgml:
8201         * docs/gst/tmpl/gstimplementsinterface.sgml:
8202         * docs/gst/tmpl/gstindex.sgml:
8203         * docs/gst/tmpl/gstindexfactory.sgml:
8204         * docs/gst/tmpl/gstinfo.sgml:
8205         * docs/gst/tmpl/gstiterator.sgml:
8206         * docs/gst/tmpl/gstmacros.sgml:
8207         * docs/gst/tmpl/gstmemchunk.sgml:
8208         * docs/gst/tmpl/gstminiobject.sgml:
8209         * docs/gst/tmpl/gstobject.sgml:
8210         * docs/gst/tmpl/gstpad.sgml:
8211         * docs/gst/tmpl/gstpadtemplate.sgml:
8212         * docs/gst/tmpl/gstparse.sgml:
8213         * docs/gst/tmpl/gstpipeline.sgml:
8214         * docs/gst/tmpl/gstplugin.sgml:
8215         * docs/gst/tmpl/gstpluginfeature.sgml:
8216         * docs/gst/tmpl/gstquery.sgml:
8217         * docs/gst/tmpl/gstqueue.sgml:
8218         * docs/gst/tmpl/gstregistry.sgml:
8219         * docs/gst/tmpl/gstregistrypool.sgml:
8220         * docs/gst/tmpl/gstscheduler.sgml:
8221         * docs/gst/tmpl/gstschedulerfactory.sgml:
8222         * docs/gst/tmpl/gststructure.sgml:
8223         * docs/gst/tmpl/gstsystemclock.sgml:
8224         * docs/gst/tmpl/gsttaglist.sgml:
8225         * docs/gst/tmpl/gsttagsetter.sgml:
8226         * docs/gst/tmpl/gsttrace.sgml:
8227         * docs/gst/tmpl/gsttrashstack.sgml:
8228         * docs/gst/tmpl/gsttypefind.sgml:
8229         * docs/gst/tmpl/gsttypefindfactory.sgml:
8230         * docs/gst/tmpl/gsttypes.sgml:
8231         * docs/gst/tmpl/gsturihandler.sgml:
8232         * docs/gst/tmpl/gsturitype.sgml:
8233         * docs/gst/tmpl/gstutils.sgml:
8234         * docs/gst/tmpl/gstvalue.sgml:
8235         * docs/gst/tmpl/gstversion.sgml:
8236         * docs/gst/tmpl/gstxml.sgml:
8237         * docs/libs/tmpl/gstcontrol.sgml:
8238         * docs/libs/tmpl/gstdataprotocol.sgml:
8239         * docs/libs/tmpl/gstdparam.sgml:
8240         * docs/libs/tmpl/gstdplinint.sgml:
8241         * docs/libs/tmpl/gstdpman.sgml:
8242         * docs/libs/tmpl/gstdpsmooth.sgml:
8243         * docs/libs/tmpl/gstgetbits.sgml:
8244         * docs/libs/tmpl/gstunitconvert.sgml:
8245         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8246         (gst_push_src_base_init), (gst_push_src_class_init),
8247         (gst_push_src_init), (gst_push_src_create):
8248         * gst/base/gstpushsrc.h:
8249         * gst/elements/gstelements.c:
8250         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8251         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8252         (gst_fake_sink_init), (gst_fake_sink_set_property),
8253         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8254         (gst_fake_sink_event), (gst_fake_sink_preroll),
8255         (gst_fake_sink_render), (gst_fake_sink_change_state):
8256         * gst/elements/gstfakesink.h:
8257         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8258         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8259         (gst_fake_src_base_init), (gst_fake_src_class_init),
8260         (gst_fake_src_init), (gst_fake_src_event_handler),
8261         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8262         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8263         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8264         (gst_fake_src_create_buffer), (gst_fake_src_create),
8265         (gst_fake_src_start), (gst_fake_src_stop):
8266         * gst/elements/gstfakesrc.h:
8267         * gst/elements/gstfilesink.c: (_do_init),
8268         (gst_file_sink_base_init), (gst_file_sink_class_init),
8269         (gst_file_sink_init), (gst_file_sink_dispose),
8270         (gst_file_sink_set_location), (gst_file_sink_set_property),
8271         (gst_file_sink_get_property), (gst_file_sink_open_file),
8272         (gst_file_sink_close_file), (gst_file_sink_query),
8273         (gst_file_sink_event), (gst_file_sink_render),
8274         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8275         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8276         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8277         * gst/elements/gstfilesink.h:
8278         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8279         (gst_file_src_class_init), (gst_file_src_init),
8280         (gst_file_src_finalize), (gst_file_src_set_location),
8281         (gst_file_src_set_property), (gst_file_src_get_property),
8282         (gst_file_src_map_region), (gst_file_src_map_small_region),
8283         (gst_file_src_create_mmap), (gst_file_src_create_read),
8284         (gst_file_src_create), (gst_file_src_is_seekable),
8285         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8286         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8287         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8288         (gst_file_src_uri_handler_init):
8289         * gst/elements/gstfilesrc.h:
8290           more autistic cleanliness in functions/names/defines
8291
8292 2005-07-13  Andy Wingo  <wingo@pobox.com>
8293
8294         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8295         source couldn't negotiate.
8296
8297         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8298         connections again.
8299
8300         * gst/gstutils.h:
8301         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8302         function. I am channeling Hades. Put your boots on suckers!!!
8303
8304 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8305
8306         * testsuite/caps/Makefile.am:
8307         * testsuite/caps/value_compare.c:
8308         * testsuite/caps/value_intersect.c:
8309         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8310           move two testsuite apps over to the check dir
8311
8312 2005-07-12  Wim Taymans  <wim@fluendo.com>
8313
8314         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8315         Added more debug info in the negotiate process.
8316
8317         * gst/gstmessage.h:
8318         Prepare for segment playback.
8319
8320         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8321         Better debugging.
8322
8323         * gst/gstutils.c:
8324         Some more docs.
8325
8326         * tools/gst-launch.c: (main):
8327         NULL pipeline on errors.
8328
8329 2005-07-12  Andy Wingo  <wingo@pobox.com>
8330
8331         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8332         not it comes from a malloc region. Make sure our copy gets freed.
8333
8334 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8335
8336         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8337         * check/gst/gstmessage.c: (GST_START_TEST):
8338         * check/gst/gststructure.c: (GST_START_TEST),
8339         (gst_structure_suite), (main):
8340           more testing
8341         * gst/gstelement.c: (gst_element_message_full):
8342           clean up GError and debug string now that they get copied
8343         * gst/gstmessage.c: (gst_message_new_error),
8344         (gst_message_new_warning), (gst_message_parse_error),
8345         (gst_message_parse_warning):
8346           use GST_TYPE_G_ERROR for structure_new, and take copies of
8347           arguments, so that we don't mess up refcounting
8348
8349 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * check/Makefile.am:
8352           add per-test valgrind targets
8353         * check/gst-libs/gdp.c: (GST_START_TEST),
8354         (gst_data_protocol_suite), (main):
8355           clean up
8356
8357 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8358
8359         * check/Makefile.am:
8360           instate more valgrindable tests
8361         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8362         (GST_START_TEST), (fakesrc_suite):
8363         * check/gst/gstpad.c: (GST_START_TEST):
8364         * check/gst/gststructure.c: (GST_START_TEST):
8365           fix test leaks
8366         * docs/gst/tmpl/gstminiobject.sgml:
8367         * gst/gstpad.c: (gst_pad_finalize):
8368           fix the static mutex leak
8369
8370 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8371
8372         * check/Makefile.am:
8373           add two more tests for valgrinding
8374         * check/gst/gstvalue.c: (GST_START_TEST):
8375           test refcount of deserialized buffer, found a leak
8376         * docs/gst/gstreamer-docs.sgml:
8377         * docs/gst/gstreamer-sections.txt:
8378         * docs/gst/gstreamer.types:
8379         * docs/gst/tmpl/gstminiobject.sgml:
8380           add miniobject to docs
8381         * gst/gstminiobject.c:
8382           add some docs
8383         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8384         (gst_string_unwrap):
8385           fix a hard-to-find invalid write for one of the tests
8386           fix a leak for deserialized buffers
8387
8388 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8389
8390         * docs/pwg/advanced-events.xml:
8391         * docs/pwg/advanced-request.xml:
8392         * docs/pwg/advanced-scheduling.xml:
8393         * docs/pwg/appendix-porting.xml:
8394         * docs/pwg/building-boiler.xml:
8395         * docs/pwg/intro-preface.xml:
8396         * docs/pwg/other-ntoone.xml:
8397           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8398           of example code and explanation for pad activation, loop() and
8399           getrange() functions and a bit more. Remove old comments pointing
8400           to loop-functions.
8401         * examples/pwg/Makefile.am:
8402           Add loop/getrange examples.
8403
8404 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8405
8406         * configure.ac:
8407           check for valgrind binary + some fixes
8408         * check/gst.supp:
8409           valgrind suppressions for the tests
8410         * check/Makefile.am:
8411           add a valgrind: target that valgrinds the unit tests
8412         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8413         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8414         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8415         * check/gst/gstghostpad.c:
8416           added some cleanup
8417         * check/gst/gstdata.c:
8418           removed
8419         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8420         (thread_unref), (gst_mini_object_suite), (main):
8421           added
8422         * gst/gst.c: (gst_deinit):
8423         * gst/gst.h:
8424           add a method to clean up.
8425         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8426         (gst_system_clock_obtain):
8427           allow for disposing the system clock.
8428         * tools/gst-launch.c: (main):
8429           deinit
8430
8431 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8432
8433         * docs/gst/tmpl/gstbasesrc.sgml:
8434         * docs/gst/tmpl/gstfakesrc.sgml:
8435         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8436         (gst_base_src_init), (gst_base_src_set_property),
8437         (gst_base_src_get_property), (gst_base_src_get_range),
8438         (gst_base_src_start):
8439         * gst/base/gstbasesrc.h:
8440           add num-buffers property
8441         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8442         (gst_fakesrc_init), (gst_fakesrc_set_property),
8443         (gst_fakesrc_get_property), (gst_fakesrc_create),
8444         (gst_fakesrc_start):
8445           remove num-buffers property
8446
8447 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8448
8449         * docs/gst/gstreamer-sections.txt:
8450         * docs/gst/tmpl/gstbasesink.sgml:
8451         * docs/gst/tmpl/gstbasesrc.sgml:
8452         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8453         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8454         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8455         (gst_base_sink_set_property), (gst_base_sink_get_property),
8456         (gst_base_sink_handle_object), (gst_base_sink_event),
8457         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8458         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8459         (gst_base_sink_loop), (gst_base_sink_deactivate),
8460         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8461         (gst_base_sink_change_state):
8462         * gst/base/gstbasesink.h:
8463         * gst/base/gstbasesrc.h:
8464         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8465         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8466         (gst_filesink_init):
8467           more macro splitting
8468
8469 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8470
8471         * gst/gstelement.c: (gst_element_get_bus):
8472           add debug
8473         * tools/gst-launch.c: (check_intr), (event_loop):
8474           fix bus leaks
8475
8476 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8477
8478         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8479           fix a caps leak
8480
8481 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8484         (gst_base_src_finalize):
8485           add finalize method and clean up properly
8486         * gst/gstpipeline.c: (gst_pipeline_dispose):
8487           add debug
8488
8489 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8490
8491         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8492         (gst_bin_suite):
8493           add more things to check
8494         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8495         * gst/gstelement.c:
8496           more debug
8497
8498 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8499
8500         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8501         (GST_START_TEST), (fakesrc_suite):
8502         * check/gst-libs/gdp.c: (GST_START_TEST):
8503         * check/gst/gst.c: (GST_START_TEST):
8504         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8505         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8506         * check/gst/gstbus.c: (GST_START_TEST):
8507         * check/gst/gstcaps.c: (GST_START_TEST):
8508         * check/gst/gstdata.c: (GST_START_TEST):
8509         * check/gst/gstelement.c: (GST_START_TEST):
8510         * check/gst/gstghostpad.c: (GST_START_TEST):
8511         * check/gst/gstiterator.c: (GST_START_TEST):
8512         * check/gst/gstmessage.c: (GST_START_TEST):
8513         * check/gst/gstobject.c: (GST_START_TEST):
8514         * check/gst/gstpad.c: (GST_START_TEST):
8515         * check/gst/gststructure.c: (GST_START_TEST):
8516         * check/gst/gstsystemclock.c: (GST_START_TEST),
8517         (gst_systemclock_suite):
8518         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8519         * check/gst/gstvalue.c: (GST_START_TEST):
8520         * check/pipelines/cleanup.c: (GST_START_TEST):
8521         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8522         * check/states/sinks.c: (GST_START_TEST):
8523         * check/gstcheck.c: (gst_check_init):
8524         * check/gstcheck.h:
8525           add debugging category
8526           use GST_START_TEST now, so we add a debug line
8527
8528 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8529
8530         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8531           add test for state change message on a bin
8532         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8533           add another test
8534         * gst/gstbin.c: (gst_bin_init):
8535         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8536         * gst/gstelement.c: (gst_element_post_message),
8537         (gst_element_set_state):
8538         * gst/gstelementfactory.c: (gst_element_factory_create):
8539         * gst/gstmessage.c: (gst_message_new):
8540         * gst/gstscheduler.c:
8541           various debugging additions and cleanups
8542
8543 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8544
8545         * check/Makefile.am:
8546         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8547         (main):
8548           adding tests for elements
8549         * gst/gstelement.c: (gst_element_dispose):
8550
8551 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8552
8553         * gst/registries/gstlibxmlregistry.c: (load_feature):
8554           plug more leaks.  A simple gst_init() now is leakfree, yay.
8555
8556 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8557
8558         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8559         (gst_xml_registry_load):
8560           plug another memleak
8561
8562 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8563
8564         * configure.ac:
8565           use GST_SET_ERROR_CFLAGS
8566         * docs/faq/cvs.xml:
8567           change to ERROR_CFLAGS
8568
8569 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8570
8571         * configure.ac:
8572           make GST_ERROR_CFLAGS overridable and re-enable Werror
8573         * docs/faq/cvs.xml:
8574           add a note about error CFLAGS
8575         * docs/gst/tmpl/gstfakesrc.sgml:
8576         * gst/elements/gstfakesrc.c:
8577           comment out some unused code
8578         * gst/gst.c: (split_and_iterate):
8579         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8580         (load_feature):
8581           plug some memleaks
8582
8583 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8584
8585         * common/Makefile.am:
8586         * common/gtk-doc.mak:
8587         * docs/gst/Makefile.am:
8588           factor out gtk-doc.mak
8589
8590 2005-07-07  Wim Taymans  <wim@fluendo.com>
8591
8592         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8593         (gst_thread_scheduler_dispose):
8594         Unlock the STREAM_LOCK completely.
8595
8596 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * check/Makefile.am:
8599         * check/elements/.cvsignore:
8600         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8601         (START_TEST), (fakesrc_suite), (main):
8602         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8603         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8604         (gst_fakesrc_create), (gst_fakesrc_start):
8605         * gst/elements/gstfakesrc.h:
8606           adding a first element test
8607
8608 2005-07-07  Andy Wingo  <wingo@pobox.com>
8609
8610         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8611         debug message.
8612
8613 2005-07-07  Wim Taymans  <wim@fluendo.com>
8614
8615         * gst/gstquery.c:
8616         * gst/gstquery.h:
8617         Remove old types
8618
8619 2005-07-07  Wim Taymans  <wim@fluendo.com>
8620
8621         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8622         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8623         Allow subclasses to implement their own negotiation.
8624
8625 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8626
8627         * docs/design/part-gstbin.txt:
8628         * docs/design/part-gstpipeline.txt:
8629           Update design notes to reflect the movement of
8630           responsibility for bus handling from GstPipeline to
8631           GstBin
8632
8633 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8634
8635         * configure.ac:
8636           Remove unnecessary queue2/3/4 examples.
8637
8638 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8639
8640         * examples/Makefile.am:
8641         * examples/helloworld/helloworld.c: (event_loop), (main):
8642         * examples/queue/queue.c: (event_loop), (main):
8643         * examples/queue2/queue2.c: (main):
8644           Update a couple of the examples to work again.
8645
8646         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8647         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8648          Spelling corrections and extra debug.
8649         
8650         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8651         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8652         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8653         * gst/gstbin.h:
8654         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8655         (gst_pipeline_change_state):
8656         * gst/gstpipeline.h:
8657           Move the bus handler for children to the GstBin, and create a
8658           separate bus for receiving messages from children to the one the
8659           bus sends 'upwards' on.
8660
8661 2005-07-06  Wim Taymans  <wim@fluendo.com>
8662
8663         * gst/base/README:
8664         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8665         (gst_base_sink_handle_object), (gst_base_sink_loop),
8666         (gst_base_sink_change_state):
8667         * gst/base/gstbasesink.h:
8668         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8669         (gst_base_src_init), (gst_base_src_setcaps),
8670         (gst_base_src_getcaps), (gst_base_src_loop),
8671         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8672         (gst_base_src_start), (gst_base_src_change_state):
8673         * gst/base/gstbasesrc.h:
8674         Make basesrc negotiate.
8675         Handle the case where preroll fails in basesink.
8676         Update README.
8677
8678 2005-07-06  Wim Taymans  <wim@fluendo.com>
8679
8680         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8681         Implement the fixate function.
8682         Clean up acceptcaps.
8683
8684 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8685
8686         * docs/pwg/building-filterfactory.xml:
8687         * docs/pwg/pwg.xml:
8688           Remove never-written filter-factory chapter; I'll add the various
8689           base classes to part 4 ("other element types") later on.
8690
8691 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8692
8693         * docs/pwg/advanced-negotiation.xml:
8694         * docs/pwg/building-boiler.xml:
8695         * docs/pwg/building-pads.xml:
8696         * docs/pwg/pwg.xml:
8697         * examples/pwg/Makefile.am:
8698           Add a chapter on caps negotiation, simplify the original code
8699           samples a bit w.r.t. caps negotiation, add link to the advanced
8700           section. Add a bunch of examples showing different use cases of
8701           different types of caps negotiation. Upstream renegotiation isn't
8702           fully documented yet since nobody knows how that works.
8703
8704 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8705
8706         * check/gst/gstpad.c:
8707         * check/gstcheck.c:
8708         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8709           if pad has no parent, return NULL as list of internal links
8710
8711 2005-07-05  Andy Wingo  <wingo@pobox.com>
8712
8713         * gst/elements/gstfilesrc.c:
8714         * gst/elements/gstfakesrc.c: 
8715         * gst/base/gstpushsrc.c:
8716         * gst/base/gstbasesrc.h: 
8717         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8718         
8719 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8720
8721         * Makefile.am:
8722           better report generation target (lcov needs a patch)
8723
8724 2005-07-05  Andy Wingo  <wingo@pobox.com>
8725
8726         * gst/elements, testsuite: Null if we got it...
8727
8728 2005-07-05  Wim Taymans  <wim@fluendo.com>
8729
8730         * configure.ac:
8731         * libs/gst/dataprotocol/Makefile.am:
8732         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8733         * libs/gst/dataprotocol/dataprotocol.h:
8734         * pkgconfig/Makefile.am:
8735         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8736         * pkgconfig/gstreamer-dataprotocol.pc.in:
8737         Ported dataprotol to 0.9. 
8738         Added pkgconfig files.
8739
8740 2005-07-05  Andy Wingo  <wingo@pobox.com>
8741
8742         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8743         Default to returning TRUE for the case when tranform_caps returns
8744         a fixed caps, like for identity or volume.
8745
8746         * check/gst/gstbus.c (pound_bus_with_messages): 
8747         * check/gst/gstmessage.c (START_TEST): 
8748         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8749         message API change.
8750
8751         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8752         logic weaks here: always run transform_caps, trying passthrough
8753         operation only if the original caps intersects with the transform.
8754
8755         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8756         source and sink caps.
8757
8758         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8759         Intersect the peer caps with the pad template before going into
8760         transform_caps.
8761         (gst_base_transform_transform_caps): More debugging.
8762
8763         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8764         src argument.
8765
8766 2005-07-04  Edward Hervey  <edward@fluendo.com>
8767
8768         * gst/gstutils.c:
8769         * gst/gstutils.h:
8770         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8771         in bindings.
8772
8773 2005-07-04  Andy Wingo  <wingo@pobox.com>
8774
8775         * check/gst/gstpad.c: Only set explicit caps on pads.
8776
8777 2005-07-01  Andy Wingo  <wingo@pobox.com>
8778
8779         * tests/network-clock.scm: Commentary update.
8780
8781         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8782         Didn't really make sense, not implementable with basetransform,
8783         etc.
8784         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8785         attempt at implementing the sync property, needs an unlock method.
8786
8787         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8788         New func, by default returns the same caps (the identity
8789         transformation).
8790         (gst_base_transform_getcaps): Uses transform_caps to return
8791         something sensible.
8792         (gst_base_transform_setcaps): Complicated logic to get caps on
8793         both pads, even if they are different, and to call set_caps once
8794         for every time both pads get their caps set.
8795         (gst_base_transform_handle_buffer): Give the ref to the transform
8796         function. Allows in-place modification of the buffer.
8797
8798         * gst/base/gstbasetransform.h (transform_caps): New class method.
8799         Given caps on one side, what can I do on the other.
8800         (set_caps): Take two caps, one for each side of the element.
8801
8802         * gst/gstpad.h:
8803         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8804         caps in place. This is safe because we can check the mutability of
8805         the caps, and a good idea because fixate functions are just called
8806         as a matter of last resort. (Not actually implemented.)
8807         (gst_pad_set_caps): If the caps we're setting is actually the same
8808         as the existing pad caps, just update the pointer without calling
8809         setcaps. Assert that caps is either NULL or fixed, as per the
8810         docs.
8811
8812         * gst/gstghostpad.c: Update for fixate changes.
8813
8814 2005-07-02  Andy Wingo  <wingo@pobox.com>
8815
8816         * gst/gstcaps.c:
8817         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8818         two refcounts makes it immutable, which is enough. Doc more.
8819
8820 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8821
8822         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8823           Put the mini_object into GValue as a mini_object,
8824           not a gpointer, since that's how we declared
8825           the signal.
8826
8827 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8828
8829         * examples/pwg/Makefile.am:
8830           Fix buildbot again.
8831
8832 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8833
8834         * docs/pwg/building-testapp.xml:
8835           Add extra check.
8836         * examples/pwg/Makefile.am:
8837           Fix buildbot.
8838
8839 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8840
8841         * configure.ac:
8842         * examples/Makefile.am:
8843         * examples/pwg/Makefile.am:
8844         * examples/pwg/extract.pl:
8845           Enable building the PWG examples.
8846         * docs/pwg/advanced-interfaces.xml:
8847           Add URI interface stub.
8848         * docs/pwg/advanced-types.xml:
8849         * docs/pwg/other-autoplugger.xml:
8850         * docs/pwg/appendix-porting.xml:
8851         * docs/pwg/pwg.xml:
8852           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8853         * docs/pwg/building-boiler.xml:
8854         * docs/pwg/building-chainfn.xml:
8855         * docs/pwg/building-pads.xml:
8856         * docs/pwg/building-props.xml:
8857         * docs/pwg/building-state.xml:
8858         * docs/pwg/building-testapp.xml:
8859           Update the building-*.xml parts for 0.9 changes. All examples
8860           code blocks compile in examples/pwg/*.
8861
8862 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8863
8864         * docs/manual/advanced-autoplugging.xml:
8865         * docs/manual/appendix-checklist.xml:
8866         * docs/manual/appendix-integration.xml:
8867         * docs/manual/highlevel-components.xml:
8868           Fix playbin/decodebin examples, update docs a bit, mention bus
8869           instead of signals in various places, mention kmplayer and
8870           kaffeine since they have a working GStreamer backend in the KDE
8871           section.
8872
8873 2005-06-30  Wim Taymans  <wim@fluendo.com>
8874
8875         * CHANGES-0.9:
8876         * docs/design/draft-ghostpads.txt:
8877         * docs/design/draft-push-pull.txt:
8878         * docs/design/draft-query.txt:
8879         * docs/design/part-TODO.txt:
8880         * docs/design/part-query.txt:
8881         Added CHANGES-0.9 doc, updated status of other docs.
8882         
8883         * gst/gstquery.h:
8884         Remove "hmm" macro
8885
8886 2005-06-30  Wim Taymans  <wim@fluendo.com>
8887
8888         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8889         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8890         (gst_base_sink_change_state):
8891         * gst/base/gstbasesink.h:
8892         Some tweaks, only EOS and a buffer complete a preroll.
8893
8894 2005-06-30  Andy Wingo  <wingo@pobox.com>
8895
8896         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8897         activate_push down to the internal pad as well.
8898
8899 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8900
8901         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8902
8903         * gst/gsttaginterface.c:
8904           Some documentation fixes (#307394 and #307397).
8905
8906 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8907
8908         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8909
8910         * gst/gstvalue.c: (gst_value_intersect_list):
8911           Fix memleak (#309125).
8912
8913 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8914
8915         * docs/manual/advanced-dataaccess.xml:
8916           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8917         * docs/manual/basics-pads.xml:
8918           Add reference for filtered caps to above chapter.
8919
8920 2005-06-30  Wim Taymans  <wim@fluendo.com>
8921
8922         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8923         (gst_bin_change_state):
8924         Probes are gone.
8925         Lame attempt at making the state change function a bit
8926         more readable.
8927
8928 2005-06-30  Wim Taymans  <wim@fluendo.com>
8929
8930         * docs/design/part-clocks.txt:
8931         * docs/design/part-element-sink.txt:
8932         * docs/design/part-events.txt:
8933         * docs/design/part-preroll.txt:
8934         * docs/design/part-states.txt:
8935         Some more tweeks and additions to the docs.
8936
8937 2005-06-30  Wim Taymans  <wim@fluendo.com>
8938
8939         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8940         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8941         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8942         (gst_pad_check_pull_range), (gst_pad_get_range),
8943         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8944         * gst/gstpad.h:
8945         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8946         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8947         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8948         (gst_pad_remove_buffer_probe):
8949         Removed atomic operations, use existing LOCK.
8950         Move exception handling out of main code path.
8951
8952 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8953
8954         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8955         (silly_return_true_function), (gst_pad_class_init),
8956         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8957         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8958         (gst_pad_send_event):
8959           Fix accumulator, add default value by using _emitv() instead
8960           of _emit() for signal emission.
8961
8962 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8963
8964         * docs/manual/advanced-dataaccess.xml:
8965         * examples/manual/Makefile.am:
8966           Add probe example.
8967         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8968           Make work (??).
8969
8970 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8971
8972         * gst/elements/gstfilesink.c: (gst_filesink_render):
8973           Simplify code so that we don't have to handle short
8974           writes and return GST_FLOW_ERROR if an error occured.
8975
8976 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8977
8978         * docs/gst/gstreamer-docs.sgml:
8979           Remove probes more.
8980
8981 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8982
8983         * docs/gst/gstreamer-sections.txt:
8984         * docs/gst/tmpl/gstpad.sgml:
8985         * docs/gst/tmpl/gstprobe.sgml:
8986         * gst/Makefile.am:
8987         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8988         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8989         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8990         (gst_pad_push_event), (gst_pad_send_event):
8991         * gst/gstpad.h:
8992         * gst/gstutils.c: (gst_pad_add_data_probe),
8993         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8994         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8995         (gst_pad_remove_buffer_probe):
8996         * gst/gstutils.h:
8997           Remove old probes, add new g-signal-based probes and some utility
8998           functions.
8999
9000 2005-06-29  Edward Hervey  <edward@fluendo.com>
9001
9002         * gst/gstelementfactory.c:
9003         * gst/gstutils.h:
9004         * gst/gstutils.c:
9005         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9006         the definition to the header file.
9007
9008 2005-06-29  Andy Wingo  <wingo@pobox.com>
9009
9010         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9011         plugins from the source directory.
9012
9013 2005-06-29  Wim Taymans  <wim@fluendo.com>
9014
9015         * docs/gst/tmpl/gstbuffer.sgml:
9016         * docs/gst/tmpl/gstclock.sgml:
9017         Some fixings for blantently wrong text.
9018
9019 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9020
9021         * check/Makefile.am:
9022         * gst/gst.c: (add_path_func), (init_pre):
9023         * gst/gstregistry.c: (gst_registry_add_path):
9024           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9025           only scan the GST_PLUGIN_PATH locations, and not add
9026           system locations
9027
9028 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9029
9030         * docs/gst/gstreamer-sections.txt:
9031         * docs/gst/tmpl/gstbasesrc.sgml:
9032         * gst/gstelement.c:
9033         * gst/gstelement.h:
9034         * gst/gstevent.c:
9035         * gst/gstutils.c:
9036           doc fixes
9037
9038 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9039
9040         * docs/manual/advanced-autoplugging.xml:
9041           Fix autoplugging example.
9042
9043 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9044
9045         * docs/manual/advanced-autoplugging.xml:
9046         * docs/manual/mime-world.fig:
9047           Try to get autoplugging working, fix type detection. Fix text
9048           in hello-world image.
9049
9050 2005-06-29  Wim Taymans  <wim@fluendo.com>
9051
9052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9053         (gst_base_sink_change_state):
9054         Small debug line.
9055
9056         * gst/gstclock.h:
9057         map SIGNAL and BROADCAST to the right function.
9058
9059         * gst/gstobject.h:
9060         Remove redundant braces.
9061
9062         * gst/gstpad.c: (gst_pad_set_caps):
9063         Don't call setcaps function when reseting caps to NULL.
9064
9065         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9066         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9067         (gst_system_clock_id_unschedule):
9068         Use BROADCAST as this is what we do.
9069
9070 2005-06-29  Wim Taymans  <wim@fluendo.com>
9071
9072         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9073         We are actually prerolling before commiting the state
9074         change. 
9075
9076 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9077
9078         * docs/manual/advanced-clocks.xml:
9079         * docs/manual/advanced-interfaces.xml:
9080         * docs/manual/advanced-metadata.xml:
9081         * docs/manual/advanced-position.xml:
9082         * docs/manual/advanced-schedulers.xml:
9083         * docs/manual/advanced-threads.xml:
9084         * docs/manual/appendix-porting.xml:
9085         * docs/manual/basics-bins.xml:
9086         * docs/manual/basics-bus.xml:
9087         * docs/manual/basics-elements.xml:
9088         * docs/manual/basics-helloworld.xml:
9089         * docs/manual/basics-pads.xml:
9090         * docs/manual/highlevel-components.xml:
9091         * docs/manual/manual.xml:
9092         * docs/manual/thread.fig:
9093           Update (until threads/scheduling) Application Development Manual;
9094           remove GstThread, add GstBus, add simple porting checklist, add
9095           documentation for tag writing, clocks, make all examples until this
9096           part compile and run.
9097         * examples/manual/Makefile.am:
9098           Update from changes to Application Development Manual; add bus
9099           example, remove thread example.
9100
9101 2005-06-28  Wim Taymans  <wim@fluendo.com>
9102
9103         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9104         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9105         (gst_bus_source_dispatch):
9106         Add debugging messages.
9107         Make internal methods static.
9108         Handle the case where the bus is flushed in the handler.
9109         
9110         * gst/gstelement.c: (gst_element_get_bus):
9111         Fix refcount in _get_bus();
9112
9113         * gst/gstpipeline.c: (gst_pipeline_change_state),
9114         (gst_pipeline_get_clock_func):
9115         Clock refcounting fixes.
9116         Handle the case where preroll timed out more gracefully.
9117         
9118         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9119         Clean up the internal thread in dispose. This is needed
9120         for subclasses that actually get disposed.
9121         
9122         * gst/schedulers/threadscheduler.c:
9123         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9124         (gst_thread_scheduler_dispose):
9125         Free thread pool in dispose.
9126
9127 2005-06-28  Andy Wingo  <wingo@pobox.com>
9128
9129         * tests/network-clock-utils.scm (debug, print-event): New utils.
9130
9131         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9132         (*packet-loss*): Unified loss probability.
9133         (network-time): Report out-of-band events.
9134
9135         * tests/plot-data: Add support for out-of-band events. Hack it
9136         into this script instead of passing it down the pipe; should fix
9137         this later.
9138
9139 2005-06-28  Wim Taymans  <wim@fluendo.com>
9140
9141         * docs/gst/gstreamer.types:
9142         * docs/gst/tmpl/gstbasesrc.sgml:
9143         * docs/gst/tmpl/gstpad.sgml:
9144         Docs fixes.
9145
9146 2005-06-28  Wim Taymans  <wim@fluendo.com>
9147
9148         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9149         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9150         (gst_proxy_pad_do_fixatecaps):
9151         Correctly proxy the check_pull_range function.
9152
9153 2005-06-28  Andy Wingo  <wingo@pobox.com>
9154
9155         * tests/network-clock.scm: Removed need for slib.
9156         
9157 2005-06-28  Wim Taymans  <wim@fluendo.com>
9158
9159         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9160         (gst_basesink_preroll_queue_flush):
9161         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9162         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9163         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9164         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9165         (gst_proxy_pad_set_property):
9166         * gst/gstpad.c:
9167         * gst/gstpad.h:
9168         * gst/gstqueue.c: (gst_queue_init):
9169         The deprecated pad loop function is removed now.
9170
9171 2005-06-28  Andy Wingo  <wingo@pobox.com>
9172
9173         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9174         New parameters, simulate network packet loss.
9175
9176         * tests/network-clock-utils.scm: Initialize the RNG.
9177
9178 2005-06-28  Wim Taymans  <wim@fluendo.com>
9179
9180         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9181         (gst_basesink_event), (gst_basesink_deactivate):
9182         Flushing the preroll queue always needs to unlock the waiters.
9183
9184 2005-06-28  Edward Hervey  <edward@fluendo.com>
9185
9186         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9187         Wheen a seek was successful on a pipeline, set the stream_time to the
9188         seek offset in order to have a synchronized stream_time.
9189
9190 2005-06-28  Wim Taymans  <wim@fluendo.com>
9191
9192         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9193         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9194         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9195         (gst_proxy_pad_do_fixatecaps):
9196         Call wrapper function instead of just calling the function
9197         pointers. This takes care of any locking and whatmore.
9198
9199 2005-06-28  Wim Taymans  <wim@fluendo.com>
9200
9201         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9202         (gst_pad_pull_range):
9203         * gst/gstpad.h:
9204         CONNECTED -> LINKED.
9205
9206 2005-06-28  Andy Wingo  <wingo@pobox.com>
9207
9208         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9209         source-munging commit!!!
9210
9211         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9212         (gst_object_sink): Take gpointer arguments, not GstObject --
9213         avoids casts. Like GLib.
9214
9215         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9216         activate.
9217
9218 2005-06-27  Andy Wingo  <wingo@pobox.com>
9219
9220         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9221         remaining buffer.
9222
9223         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9224         returns a sorted copy of the trace list.
9225         (gst_alloc_trace_print_live): New API, only prints traces with
9226         live objects. Sort the list.
9227         (gst_alloc_trace_print_all): Sort the list.
9228         (gst_alloc_trace_print): Align columns.
9229
9230         * gst/elements/gstttypefindelement.c:
9231         * gst/elements/gsttee.c:
9232         * gst/base/gstbasesrc.c:
9233         * gst/base/gstbasesink.c:
9234         * gst/base/gstbasetransform.c:
9235         * gst/gstqueue.c: Adapt for pad activation changes.
9236
9237         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9238         sched.
9239         (gst_pipeline_dispose): Drop ref on sched.
9240
9241         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9242         (gst_pad_activate_default): Push mode by default.
9243         (pre_activate_switch, post_activate_switch): New stubs, things to
9244         do before and after switching activation modes on pads.
9245         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9246         the pad's activate function to choose which mode to activate.
9247         Shortcut on deactivation and call the right function directly.
9248         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9249         mode.
9250         (gst_pad_activate_push): New API, same for push mode.
9251         (gst_pad_set_activate_function) 
9252         (gst_pad_set_activatepull_function) 
9253         (gst_pad_set_activatepush_function): Setters for new API.
9254
9255         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9256         Trace all miniobjects.
9257         (gst_mini_object_make_writable): Unref the arg if we copy, like
9258         gst_caps_make_writable.
9259
9260         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9261
9262         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9263         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9264         Adapt for new pad API.
9265
9266         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9267
9268         * gst/gstelement.h:
9269         * gst/gstelement.c (gst_element_iterate_src_pads) 
9270         (gst_element_iterate_sink_pads): New API functions.
9271         
9272         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9273         should fold into gstiterator.c in some form.
9274         (gst_element_pads_activate): Simplified via use of fold and
9275         delegation of decisions to gstpad->activate.
9276
9277         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9278         help in debugging.
9279
9280         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9281         class once in init, like gstmessage. Didn't run into this issue
9282         but it seems correct. Don't initialize a trace, gstminiobject does
9283         that.
9284
9285         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9286         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9287         to the bus.
9288         (assert_live_count): New util function, uses alloc traces to check
9289         cleanup.
9290
9291         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9292         To be modified when unlink drops the internal pad.
9293
9294 2005-06-27  Wim Taymans  <wim@fluendo.com>
9295
9296         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9297         (gst_bin_change_state):
9298         Cleanup the get_state() function a little, make sure it
9299         iterates the same set of elements.
9300         Added stub iterate_state_order().
9301
9302 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9303
9304         * docs/gst/gstreamer-docs.sgml:
9305         * docs/gst/gstreamer-sections.txt:
9306         * docs/gst/gstreamer.types:
9307         * docs/gst/tmpl/gstbasesink.sgml:
9308         * docs/gst/tmpl/gstbasesrc.sgml:
9309         * docs/gst/tmpl/gstbasetransform.sgml:
9310         * docs/gst/tmpl/gstelement.sgml:
9311         * docs/gst/tmpl/gstiterator.sgml:
9312         * gst/base/gstbasesrc.c:
9313         * gst/base/gstbasesrc.h:
9314         * gst/base/gstbasetransform.h:
9315         * gst/gstelement.c:
9316         * gst/gstiterator.h:
9317           adding basetransform and iterator docs
9318
9319 2005-06-27  Andy Wingo  <wingo@pobox.com>
9320
9321         * docs/design/part-activation.txt: Notes on how activation should
9322         work -- not quite implemented yet.
9323
9324 2005-06-25  Wim Taymans  <wim@fluendo.com>
9325
9326         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9327         At least get the chain function correct, needs more
9328         fixing.
9329
9330 2005-06-25  Wim Taymans  <wim@fluendo.com>
9331
9332         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9333         (gst_basesink_handle_object), (gst_basesink_event),
9334         (gst_basesink_do_sync), (gst_basesink_handle_event),
9335         (gst_basesink_change_state):
9336         * gst/gsttask.h:
9337         Right, two problems here: ghostpads don't take locks and
9338         glib _rec_mutex_lock_full() with depth==0 still locks.
9339         Catch illegal locking and g_warn them.
9340
9341 2005-06-25  Wim Taymans  <wim@fluendo.com>
9342
9343         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9344         Have to check for completion now...
9345
9346 2005-06-25  Wim Taymans  <wim@fluendo.com>
9347
9348         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9349         (gst_basesink_handle_object), (gst_basesink_event),
9350         (gst_basesink_do_sync), (gst_basesink_handle_event),
9351         (gst_basesink_change_state):
9352         * gst/gstpad.h:
9353         Unlock STREAM_LOCK whatever the recursion was.
9354
9355 2005-06-25  Wim Taymans  <wim@fluendo.com>
9356
9357         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9358         (gst_basesink_preroll_queue_empty),
9359         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9360         (gst_basesink_event), (gst_basesink_do_sync),
9361         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9362         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9363         (gst_basesink_change_state):
9364         Reworked the base sink, handle event and buffer serialisation
9365         correctly and removed possible deadlock.
9366         Handle EOS correctly.
9367
9368 2005-06-25  Wim Taymans  <wim@fluendo.com>
9369
9370         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9371         (gst_pipeline_change_state):
9372         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9373         Allow elements to post EOS in the state change function.
9374         Fix up -launch, make it exit the poll loop when the
9375         pipeline actually changed state.
9376         Fix up warning parsing in -launch.
9377
9378 2005-06-25  Wim Taymans  <wim@fluendo.com>
9379
9380         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9381         (gst_tee_sink_activate):
9382         Core takes STREAM_LOCK for us now.
9383
9384 2005-06-25  Wim Taymans  <wim@fluendo.com>
9385
9386         * gst/gstelement.c: (gst_element_get_state_func),
9387         (gst_element_set_state):
9388         * gst/gstelement.h:
9389         * gst/gstmessage.c: (gst_message_parse_error),
9390         (gst_message_parse_warning):
9391         Keep track of current target state while performing a state
9392         change so that subclasses can do something interesting.
9393         Fix parsing of warning/error messages when GError is NULL.
9394
9395 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9396
9397         * docs/gst/Makefile.am:
9398         * docs/gst/gstreamer-docs.sgml:
9399         * docs/gst/gstreamer-sections.txt:
9400         * docs/gst/gstreamer.types:
9401         * docs/gst/tmpl/gstbasesink.sgml:
9402         * docs/gst/tmpl/gstbasesrc.sgml:
9403         * docs/gst/tmpl/gstbin.sgml:
9404         * docs/gst/tmpl/gstcompat.sgml:
9405         * docs/gst/tmpl/gstfakesink.sgml:
9406         * docs/gst/tmpl/gstfakesrc.sgml:
9407         * docs/gst/tmpl/gstfilesink.sgml:
9408         * docs/gst/tmpl/gstfilesrc.sgml:
9409         * docs/gst/tmpl/gstindex.sgml:
9410         * docs/manual/appendix-quotes.xml:
9411         * gst/base/gstbasesrc.h:
9412         * gst/elements/gstfakesrc.h:
9413         * gst/gstmessage.h:
9414           start pulling in base classes and elements in our docs
9415
9416 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9417
9418         * docs/gst/Makefile.am:
9419         * docs/libs/Makefile.am:
9420           fixed make distcheck with gtk-doc 1.3
9421
9422 2005-06-23  Wim Taymans  <wim@fluendo.com>
9423
9424         * gst/gstelement.c: (gst_element_get_state_func),
9425         (gst_element_set_state), (gst_element_change_state):
9426         When the state did not change, also report NO_PREROLL
9427         when it matters.
9428
9429 2005-06-23  Wim Taymans  <wim@fluendo.com>
9430
9431         * gst/gstpad.c: (gst_pad_event_default):
9432         * gst/gstqueue.c: (gst_queue_loop):
9433         No unsafe task pausing please.
9434
9435 2005-06-23  Wim Taymans  <wim@fluendo.com>
9436
9437         * gst/schedulers/threadscheduler.c:
9438         (gst_thread_scheduler_task_start),
9439         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9440         Ref the task before pushing it on the threadpool. This
9441         makes sure that we have a ref when the threadfunction is
9442         actually called.
9443
9444 2005-06-23  Andy Wingo  <wingo@pobox.com>
9445
9446         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9447         offset is greater than the file's size.
9448
9449         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9450         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9451         * gst/gstobject.c (gst_object_class_init): Make the class lock
9452         recursive. Wim won't let me drop deep_notify. Decodebin works
9453         again, whoopdy doo.
9454
9455         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9456         internal pad, and hacks accordingly. Doesn't do it on the target
9457         pad because we change its caps. Probably catches all cases of
9458         interest tho.
9459         (gst_ghost_pad_set_property): Connect to notify::caps as
9460         appropritate.
9461
9462         * tests/network-clock.scm (plot-simulation): Pipe data to the
9463         elite python skript.
9464
9465         * tests/network-clock-utils.scm (define-parameter): New macro,
9466         defines a parameter that can be set via the command line.
9467         (set-parameter!, parse-parameter-arguments): Command line args
9468         parser.
9469
9470         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9471         stdin.
9472
9473 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9474
9475         * gst/elements/gsttypefindelement.c:
9476         (gst_type_find_element_handle_event):
9477           Don't restart typefinding on a discont.
9478         * gst/gstelement.c: (gst_element_set_state):
9479           Debug spelling fix.
9480         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9481           Allow changing mode of an active pad.
9482           Debug output fixes.
9483         * gst/registries/gstlibxmlregistry.c: (load_feature):
9484           Don't cast a static pad template to a normal pad template.
9485
9486 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9487
9488         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9489         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9490           remove gst_strtoll completely, since it didn't actually do
9491           anything more than what g_ascii_strtoull already does.
9492           check for range errors when deserializing
9493           do a cast for the unsigned cases; but further fixing needs
9494           a decision on what the interpretation of "(int)" and
9495           deserialization should be for values that fall outside the
9496           type's boundaries (ie, refuse, or interpret as casting)
9497
9498 2005-06-23  Wim Taymans  <wim@fluendo.com>
9499
9500         * check/Makefile.am:
9501         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9502         * docs/design/part-live-source.txt:
9503         * docs/design/part-states.txt:
9504         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9505         (gst_basesrc_set_live), (gst_basesrc_is_live),
9506         (gst_basesrc_get_range), (gst_basesrc_activate),
9507         (gst_basesrc_change_state):
9508         * gst/base/gstbasesrc.h:
9509         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9510         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9511         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9512         * gst/gstelement.c: (gst_element_get_state_func),
9513         (gst_element_set_state):
9514         * gst/gstelement.h:
9515         * gst/gsttypes.h:
9516         * tools/gst-launch.c: (event_loop), (main):
9517         Added support for live sources and other elements that
9518         cannot do preroll.
9519         Updated design docs, added live-source design doc.
9520         Implemented live source functionality in basesrc
9521         Fix error condition in _bin_get_state()
9522         Implement live source handling in -launch.
9523         Added check for live sources.
9524         Fixed case in GstBin where elements were changed state
9525         multiple times.
9526
9527
9528 2005-06-23  Andy Wingo  <wingo@pobox.com>
9529
9530         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9531         borken refcounting.
9532
9533         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9534         gst_caps_replace takes care of this for us.
9535
9536         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9537         gst_pad_set_caps on the target, not just its setcaps() function.
9538
9539         * tests/network-clock.scm: 
9540         * tests/network-clock-utils.scm: A network clock simulator.
9541         Something of an algorithmic testbed before doing something in C.
9542
9543 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9544
9545         * check/Makefile.am:
9546         * check/gst/capslist.h:
9547           copy over from 0.8, and add two with bitmasks specified with
9548           (int) 0xFF...
9549         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9550           add test to parse everything from capslist.h
9551         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9552         (main):
9553           add test for structure deserialization
9554         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9555           add tests for deserialization of strings to int types
9556         * gst/gststructure.c: (gst_structure_nth_field_name):
9557         * gst/gststructure.h:
9558           add a way to get the name of a field referenced by index
9559         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9560           instead of checking if the resulting long long lies between
9561           min and max, we check if the long long would fit into
9562           a number of bytes for the final type.
9563           This fixes cases where a string represents 2^32 - 1, which
9564           when cast to int would be the (valid) -1, but is bigger than
9565           G_MAXINT
9566
9567 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9568
9569         * gst/parse/grammar.y:
9570           add a log line for type deserialization
9571
9572 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9573
9574         * check/gst/gstvalue.c: (START_TEST):
9575         * gst/gstvalue.c: (gst_value_deserialize):
9576           return long long, not int, so gint64 deserialization actually
9577           works.  Is there any flag that makes the compiler check this ?
9578           Fixes #308559
9579
9580 2005-06-22  Wim Taymans  <wim@fluendo.com>
9581
9582         * gst/gstbuffer.h:
9583         Added convenience macros for setting buffers in GValue.
9584
9585 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9586
9587         * check/gst/.cvsignore:
9588         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9589           add a test deserializing int64, and comment part out because
9590           it fails, yay !
9591
9592 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9593
9594         * check/Makefile.am:
9595         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9596         * testsuite/Makefile.am:
9597         * testsuite/caps/Makefile.am:
9598         * testsuite/caps/value_serialize.c:
9599         * testsuite/test_gst_init.c:
9600           move a value_serialize test over
9601
9602 2005-06-20  Wim Taymans  <wim@fluendo.com>
9603
9604         * gst/gstpad.c:
9605         Small doc updates.
9606         
9607         * gst/gstvalue.c: (gst_value_compare_buffer),
9608         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9609         (gst_value_compare_flags), (gst_value_serialize_flags),
9610         (gst_value_deserialize_flags), (_gst_value_initialize):
9611         Fix serialisation of buffers, they are not boxed types anymore
9612
9613 2005-06-20  Wim Taymans  <wim@fluendo.com>
9614
9615         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9616         Testcase to show error in buffer-on-caps serialisation.
9617
9618 2005-06-20  Andy Wingo  <wingo@pobox.com>
9619
9620         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9621         will be adding to later.
9622
9623         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9624         if its socks fill with rocks.
9625         (gst_system_clock_obtain): Set the name on object construction.
9626         Avoid double-checked locking.
9627
9628 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9629
9630         * gst/gsturi.c: (gst_element_make_from_uri):
9631           Fix potential endless loop.
9632
9633 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9634
9635         * check/Makefile.am:
9636           add gsttag
9637         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9638         (main):
9639           move over from testsuite dir and clean up
9640         * configure.ac:
9641         * gst/gsttag.c:
9642         * testsuite/Makefile.am:
9643         * testsuite/tags/.cvsignore:
9644         * testsuite/tags/Makefile.am:
9645         * testsuite/tags/merge.c:
9646           remove testsuite/tags
9647
9648 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9649
9650         * docs/gst/gstreamer-sections.txt:
9651         * docs/gst/tmpl/gstenumtypes.sgml:
9652         * win32/gstenumtypes.c:
9653           clean up documentation build a little
9654
9655 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9656
9657         * check/gstcheck.h:
9658           add macros for checking refcounts on objects and caps
9659         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9660           add some more unit tests
9661         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9662         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9663           fix leaked refcounts (I hope :)) so unittest works
9664         * gst/gstpad.h:
9665           whitespace removal
9666
9667 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9668
9669         * configure.ac: back to HEAD
9670
9671 === release 0.9.1 ===
9672
9673 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         * NEWS:
9676         * RELEASE:
9677           updated
9678
9679 2005-06-17  Andy Wingo  <wingo@pobox.com>
9680
9681         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9682         assert; it's always possible that the pad gets deactivated in
9683         between the checks in gstpad.c and the implementation. Rely on
9684         finish_preroll() to return a FLUSHING or similar instead of on the
9685         assert.
9686         
9687         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9688         clock and post an EOS message if we come out of finish_preroll in
9689         the playing state.
9690
9691 2005-06-16  David Schleef  <ds@schleef.org>
9692
9693         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9694         (gst_capsfilter_set_property): Allow NULL as possible value
9695         for filter_caps property, indicating GST_CAPS_ANY.
9696
9697 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9698
9699         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9700           fix debug output
9701         * gst/schedulers/Makefile.am:
9702           use libgst prefix
9703         * gstreamer.spec.in:
9704           fix spec for it
9705
9706 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9707
9708         * gstreamer.spec.in:
9709           clean up
9710
9711 2005-06-08  Andy Wingo  <wingo@pobox.com>
9712
9713         * gst/gstutils.c: RPAD fixes all around.
9714         (gst_element_link_pads): Refcounting fixes.
9715
9716         * tools/gst-inspect.c:
9717         * tools/gst-xmlinspect.c:
9718         * parse/grammar.y:
9719         * gst/base/gsttypefindhelper.c:
9720         * gst/base/gstbasesink.c:
9721         * gst/gstqueue.c: RPAD fixes.
9722
9723         * gst/gstghostpad.h:
9724         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9725         pads. The tricky thing is they provide both source and sink
9726         interfaces, since they proxy the internal pad for the external
9727         pad, and vice versa. Implement with lower-level ProxyPad objects,
9728         with the interior proxy pad as a child of the exterior ghost pad.
9729         Should write a doc on this.
9730         
9731         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9732         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9733         gst_object API.
9734         
9735         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9736         pads are real pads. No ghost pads in this file. Not documenting
9737         the myriad s/RPAD/PAD/ and REALIZE fixes.
9738         (gst_pad_class_init): Add properties for "direction" and
9739         "template". Both are construct-only, so they can't change during
9740         the life of the pad. Fixes properly deriving from GstPad.
9741         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9742         derived objects, just set properties when creating the objects via
9743         g_object_new.
9744         (gst_pad_get_parent): Implement as a function, return NULL if the
9745         parent is not an element.
9746         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9747         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9748         
9749         * gst/gstobject.c (gst_object_class_init): Make name a construct
9750         property. Don't set it in the object init.
9751
9752         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9753         with UNKNOWN direction.
9754         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9755         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9756         (gst_element_remove_pad): Remove ghost-pad special cases.
9757         (gst_element_pads_activate): Remove rpad cruft.
9758
9759         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9760         catch the pad's-parent-not-an-element case.
9761
9762         * gst/gst.h: Include gstghostpad.h.
9763
9764         * gst/gst.c (init_post): No more real, ghost pads.
9765
9766         * gst/Makefile.am: Add gstghostpad.[ch].
9767
9768         * check/Makefile.am:
9769         * check/gst/gstbin.c:
9770         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9771         into a bin creates ghost pads, and that the refcounts are right.
9772         Partly moved from gstbin.c.
9773
9774 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9775
9776         * check/gst-libs/.cvsignore:
9777         * check/gst/.cvsignore:
9778         * check/pipelines/.cvsignore:
9779           ignore more
9780         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9781         (START_TEST), (cleanup_suite), (main):
9782           add some tests related to cleanup after running pipelines
9783
9784 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9785
9786         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9787           add a testsuite for GstBuffer
9788
9789 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * gst/gstminiobject.h:
9792           add defines for accessing the refcount
9793
9794 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9795
9796         * Makefile.am: added support for html unit test coverage reports
9797
9798 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9799
9800         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9801           Free existing caps if the capsfilter changes. Add a FIXME about
9802           setting those caps on the pads.
9803
9804         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9805           Before adding a ghost pad to a parent bin, check that there isn't
9806           already one for the element on the bin. Prevents infinite recursion
9807           when using decodebin in parse pipelines. Andy says he'll rewrite the
9808           way this works anyway, so ignore the hack.
9809
9810 2005-06-02  Andy Wingo  <wingo@pobox.com>
9811
9812         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9813         file size, pass it on to the type find helper.
9814
9815         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9816         segment_start and segment_end properly according to the seek
9817         method. Segment_end is still a bit flaky because offset can be
9818         negative for CUR and END cases, but it takes -1 as an "unset"
9819         value.
9820
9821 2005-06-02  Wim Taymans  <wim@fluendo.com>
9822
9823         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9824         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9825         (gst_basesink_activate):
9826         * gst/base/gstbasesink.h:
9827         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9828         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9829         (gst_pad_query), (gst_pad_start_task):
9830         * gst/gstpad.h:
9831         * gst/gstqueue.c: (gst_queue_bufferalloc),
9832         (gst_queue_handle_sink_event), (gst_queue_chain):
9833         Bufferalloc: return GstFlowReturn to more accuratly report
9834         why allocation failed.
9835
9836 2005-06-02  Wim Taymans  <wim@fluendo.com>
9837
9838         * gst/gstpipeline.c: (gst_pipeline_send_event):
9839         Take snapshot of state without blocking.
9840
9841 2005-06-02  Wim Taymans  <wim@fluendo.com>
9842
9843         * docs/design/part-TODO.txt:
9844         * docs/design/part-caps.txt:
9845         * docs/design/part-clocks.txt:
9846         * docs/design/part-negotiation.txt:
9847         * docs/design/part-preroll.txt:
9848         Small doc updates 
9849
9850 2005-05-30  Wim Taymans  <wim@fluendo.com>
9851
9852         * gst/elements/gstidentity.c: (gst_identity_event),
9853         (gst_identity_transform), (gst_identity_get_property):
9854         Protect last_message property as it is accessed from
9855         multiple threads.
9856
9857 2005-05-30  Wim Taymans  <wim@fluendo.com>
9858
9859         * gst/gstelement.c: (gst_element_init),
9860         (gst_element_pads_activate), (gst_element_change_state):
9861         Slicker pad activation code.
9862
9863 2005-05-30  Wim Taymans  <wim@fluendo.com>
9864
9865         * gst/Makefile.am:
9866         * gst/gstelement.h:
9867         * gst/gstelementfactory.h:
9868         * gst/gsttypes.h:
9869         Move elementfactory methods to separate .h file.
9870
9871 2005-05-30  Wim Taymans  <wim@fluendo.com>
9872
9873         * docs/design/part-overview.txt:
9874         * gst/gstsystemclock.h:
9875         Small typo fixes, doc updates.
9876
9877 2005-05-30  Wim Taymans  <wim@fluendo.com>
9878
9879         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9880         (init_popt_callback):
9881         Remove cpu-opt flag.
9882
9883 2005-05-30  Wim Taymans  <wim@fluendo.com>
9884
9885         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9886         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9887         * gst/gstbuffer.h:
9888         Avoid typechecking in places where not needed.
9889         Added accessor for malloc_data.
9890
9891 2005-05-30  Wim Taymans  <wim@fluendo.com>
9892
9893         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9894         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9895         (gst_pad_configure_sink), (gst_pad_configure_src),
9896         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9897         (gst_pad_start_task):
9898         Propagate errors from _set_caps() in configure_src/sink
9899         functions instead of returning TRUE.
9900         FLUSH events can travel up and downstream
9901
9902
9903 2005-05-30  Wim Taymans  <wim@fluendo.com>
9904
9905         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9906         (gst_basesink_activate):
9907         Handle EOS in preroll.
9908
9909 2005-05-30  Wim Taymans  <wim@fluendo.com>
9910
9911         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9912         (gst_queue_loop), (gst_queue_handle_src_event):
9913         Remove old pieces of code
9914         Flushing the queue in an upstream event is a very bad idea.
9915
9916 2005-05-26  Andy Wingo  <wingo@pobox.com>
9917
9918         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9919         gst_value_set_mini_object so as to add a ref on the object (which
9920         will be removed when the value is unset).
9921
9922         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9923         arg type in ::handoff.
9924
9925         * gst/gstelement.c (gst_element_change_state): Also deactivate
9926         pads in READY->NULL, just in case the element didn't make it to
9927         PAUSED. Wingo tested, Wim approved.
9928
9929 2005-05-26  Wim Taymans  <wim@fluendo.com>
9930
9931         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9932         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9933         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9934         A flushing pad cannot be used to alloc_buffer from.
9935
9936 2005-05-26  Wim Taymans  <wim@fluendo.com>
9937
9938         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9939         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9940         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9941         (gst_bus_create_watch), (gst_bus_add_watch_full):
9942         * gst/gstbus.h:
9943         Implement a real GSource and use g_main_context_wakeup() to
9944         signal new messages instead of the socketpair.
9945
9946 2005-05-25  Wim Taymans  <wim@fluendo.com>
9947
9948         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9949         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9950         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9951         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9952         (gst_pad_send_event), (gst_pad_start_task):
9953         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9954         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9955         (gst_queue_sink_activate), (gst_queue_src_activate),
9956         (gst_queue_change_state):
9957         * gst/gstqueue.h:
9958         Fix state changes for non sinks. We now change sinks, then elements
9959         with unconnected srcpads, then the rest.
9960         More efficient queue unlocking in flush and state changes.
9961         Set the pad activate mode even if it does not have an activate
9962         function.
9963
9964 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9965
9966         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9967           Don't go in pull mode for non-seekable sources.
9968         * gst/elements/gsttypefindelement.h:
9969         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9970         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9971         (free_entry), (stop_typefinding),
9972         (gst_type_find_element_handle_event), (find_peek),
9973         (gst_type_find_element_chain), (do_pull_typefind),
9974         (gst_type_find_element_change_state):
9975           Allow typefinding (w/o seeking) in push-mode, simplified version
9976           of what was in 0.8.
9977         * gst/gstutils.c: (gst_buffer_join):
9978         * gst/gstutils.h:
9979           gst_buffer_join() from 0.8.
9980
9981 2005-05-25  Wim Taymans  <wim@fluendo.com>
9982
9983         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9984         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9985         (gst_pad_send_event), (gst_pad_start_task):
9986         Disable attempt at mode switching until it is figured out.
9987
9988 2005-05-25  Wim Taymans  <wim@fluendo.com>
9989
9990         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9991         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9992         (gst_basesink_finish_preroll), (gst_basesink_chain),
9993         (gst_basesink_loop), (gst_basesink_activate),
9994         (gst_basesink_change_state):
9995         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9996         (gst_basesrc_get_range), (gst_basesrc_loop),
9997         (gst_basesrc_activate):
9998         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9999         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10000         (gst_real_pad_init), (gst_real_pad_set_property),
10001         (gst_real_pad_get_property), (gst_pad_set_active),
10002         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10003         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10004         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10005         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10006         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10007         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10008         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10009         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10010         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10011         (gst_pad_stop_task):
10012         * gst/gstpad.h:
10013         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10014         (gst_queue_loop), (gst_queue_src_activate):
10015         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10016         (gst_task_get_state):
10017         * gst/gsttask.h:
10018         * gst/schedulers/threadscheduler.c:
10019         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10020         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10021         in task function.
10022         Remove ACTIVE pad flag, use FLUSHING everywhere
10023         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10024         functions.
10025         Add locks around IS_FLUSHING when reading.
10026         Take STREAM lock in chain(), get_range() functions so plugins
10027         don't need to take it anymore.
10028         
10029
10030
10031 2005-05-25  Wim Taymans  <wim@fluendo.com>
10032
10033         * tools/gst-launch.c: (event_loop):
10034         Unref message after using its contents instead of
10035         before.
10036
10037 2005-05-24  Wim Taymans  <wim@fluendo.com>
10038
10039         * docs/design/draft-ghostpads.txt:
10040         * docs/design/draft-push-pull.txt:
10041         * docs/design/draft-query.txt:
10042         * docs/design/part-overview.txt:
10043         Docs updates, added general overview doc.
10044
10045 2005-05-21  David Schleef  <ds@schleef.org>
10046
10047         * docs/gst/tmpl/old/GstBin.sgml:
10048         * docs/gst/tmpl/old/GstBuffer.sgml:
10049         * docs/gst/tmpl/old/GstCaps.sgml:
10050         * docs/gst/tmpl/old/GstClock.sgml:
10051         * docs/gst/tmpl/old/GstCompat.sgml:
10052         * docs/gst/tmpl/old/GstData.sgml:
10053         * docs/gst/tmpl/old/GstElement.sgml:
10054         * docs/gst/tmpl/old/GstEvent.sgml:
10055         * docs/gst/tmpl/old/GstIndex.sgml:
10056         * docs/gst/tmpl/old/GstStructure.sgml:
10057         * docs/gst/tmpl/old/GstTag.sgml:
10058         * docs/gst/tmpl/old/cothreads.sgml:
10059         * docs/gst/tmpl/old/cothreads_compat.sgml:
10060         * docs/gst/tmpl/old/gettext.sgml:
10061         * docs/gst/tmpl/old/gobject2gtk.sgml:
10062         * docs/gst/tmpl/old/grammar.tab.sgml:
10063         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10064         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10065         * docs/gst/tmpl/old/gst_private.sgml:
10066         * docs/gst/tmpl/old/gstaggregator.sgml:
10067         * docs/gst/tmpl/old/gstarch.sgml:
10068         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10069         * docs/gst/tmpl/old/gstbufferstore.sgml:
10070         * docs/gst/tmpl/old/gstdata_private.sgml:
10071         * docs/gst/tmpl/old/gstdisksink.sgml:
10072         * docs/gst/tmpl/old/gstdisksrc.sgml:
10073         * docs/gst/tmpl/old/gstelementfactory.sgml:
10074         * docs/gst/tmpl/old/gstextratypes.sgml:
10075         * docs/gst/tmpl/old/gstfakesink.sgml:
10076         * docs/gst/tmpl/old/gstfakesrc.sgml:
10077         * docs/gst/tmpl/old/gstfdsink.sgml:
10078         * docs/gst/tmpl/old/gstfdsrc.sgml:
10079         * docs/gst/tmpl/old/gstfilesink.sgml:
10080         * docs/gst/tmpl/old/gstfilesrc.sgml:
10081         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10082         * docs/gst/tmpl/old/gstidentity.sgml:
10083         * docs/gst/tmpl/old/gstindexfactory.sgml:
10084         * docs/gst/tmpl/old/gstmarshal.sgml:
10085         * docs/gst/tmpl/old/gstmd5sink.sgml:
10086         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10087         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10088         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10089         * docs/gst/tmpl/old/gstpipefilter.sgml:
10090         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10091         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10092         * docs/gst/tmpl/old/gstshaper.sgml:
10093         * docs/gst/tmpl/old/gstspider.sgml:
10094         * docs/gst/tmpl/old/gstspideridentity.sgml:
10095         * docs/gst/tmpl/old/gststatistics.sgml:
10096         * docs/gst/tmpl/old/gsttee.sgml:
10097         * docs/gst/tmpl/old/gsttimecache.sgml:
10098         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10099         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10100         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10101         * docs/gst/tmpl/old/types.sgml:
10102           I didn't intend to add these or check them in.
10103
10104 2005-05-19  David Schleef  <ds@schleef.org>
10105
10106         * configure.ac: Use -no-common everywhere.  In a sane world, it
10107           would be the default in libtool, because without it, you can't
10108           build DLLs on Windows.
10109         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10110         * docs/gst/gstreamer-sections.txt:
10111         * docs/gst/tmpl/gstcpu.sgml:
10112         * docs/gst/tmpl/gstdata.sgml:
10113         * docs/gst/tmpl/gstthread.sgml:
10114
10115 2005-05-19  David Schleef  <ds@schleef.org>
10116
10117         * gst/gstminiobject.c: (gst_value_set_mini_object),
10118         (gst_value_take_mini_object), (gst_value_get_mini_object):
10119         * gst/gstminiobject.h: Add GValue set/get functions.
10120
10121 2005-05-19  Wim Taymans  <wim@fluendo.com>
10122
10123         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10124         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10125         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10126         * gst/gstbuffer.h:
10127         * gst/gstbus.c: (gst_bus_post):
10128         * gst/gstelement.c: (gst_element_get_random_pad):
10129         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10130         Make subbufer unref the parent in finalize.
10131         some more debugging info.
10132
10133
10134 2005-05-19  Wim Taymans  <wim@fluendo.com>
10135
10136         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10137         (gst_basesink_init), (gst_basesink_finalize),
10138         (gst_basesink_activate), (gst_basesink_change_state):
10139         Don't free preroll queue too early.
10140
10141 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10142
10143         * gst/Makefile.am:
10144         * gst/ROADMAP:
10145           Hi, I'm outdated. Please shoot me.
10146
10147 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10148
10149         * gst/gstpipeline.c: (gst_pipeline_send_event):
10150           Do not access variables after they have been deleted.
10151
10152 2005-05-19  Wim Taymans  <wim@fluendo.com>
10153
10154         * tools/gst-inspect.c: (print_plugin_features):
10155         A plugin feature does unfortunatly not use the
10156         object name yet...
10157
10158 2005-05-18  Wim Taymans  <wim@fluendo.com>
10159
10160         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10161         Port _span() functions to new subbuffers.
10162
10163 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10164
10165         * gst/gstbin.c: (gst_bin_add_func):
10166           Fix clock settery in bins when adding kids after the clock has
10167           been selected.
10168
10169 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10170
10171         * gst/elements/gstidentity.c: (gst_identity_class_init):
10172           Workaround until signals support GstMiniObject.
10173
10174 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10175
10176         * gst/gstbuffer.c:
10177         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10178
10179 2005-05-18  Wim Taymans  <wim@fluendo.com>
10180
10181         * gst/base/Makefile.am:
10182         * gst/base/gstadapter.c: (gst_adapter_base_init),
10183         (gst_adapter_class_init), (gst_adapter_init),
10184         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10185         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10186         (gst_adapter_flush), (gst_adapter_available),
10187         (gst_adapter_available_fast):
10188         * gst/base/gstadapter.h:
10189         Ported and added adapter to the base classes.
10190
10191 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10192
10193         * gst/gst.c:
10194         * gst/gstmessage.c:
10195           Make sure the class is reffed/unreffed once before threads can be
10196           used.  Fixes #304551.
10197
10198 2005-05-17  Wim Taymans  <wim@fluendo.com>
10199
10200         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10201         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10202         * gst/gstminiobject.c: (gst_mini_object_get_type),
10203         (gst_mini_object_free):
10204         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10205         (gst_pad_push), (gst_pad_push_event):
10206         * gst/gstqueue.c: (gst_queue_change_state):
10207         Don't queue buffers in basesink when we are flushing.
10208         Unref buffer when flushing in basesink.
10209         Flush queue when going to READY
10210         Unref buffer when _push() returns an error.
10211         Don't free MiniObject instance when refcount is incremented
10212         in _finalize() so that we can recover objects.
10213
10214 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10215
10216         * docs/manual/advanced-schedulers.xml:
10217         * docs/manual/appendix-checklist.xml:
10218         * docs/pwg/advanced-clock.xml:
10219         * docs/pwg/advanced-interfaces.xml:
10220         * docs/pwg/advanced-request.xml:
10221         * docs/pwg/advanced-types.xml:
10222         * docs/pwg/intro-preface.xml:
10223         * examples/plugins/example.c: (gst_example_get_type),
10224         (gst_example_class_init), (gst_example_chain),
10225         (gst_example_set_property), (gst_example_get_property),
10226         (gst_example_change_state), (plugin_init):
10227         * examples/plugins/example.h:
10228           small doc fixes
10229
10230 2005-05-17  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10233         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10234         * gst/gstqueue.c: (gst_queue_change_state):
10235         Clear queue when going to READY.
10236         Remove IN_SETCAPS flag too.
10237
10238 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10239
10240         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10241           Remove implicit cast from gboolean to GstElementStateReturn;
10242           make sure we still return failure in paused => ready case if
10243           the parent class fails to change state and our own stop 
10244           vfunc succeeds.
10245
10246 2005-05-17  Wim Taymans  <wim@fluendo.com>
10247
10248         * tools/gst-launch.c: (event_loop):
10249         Message was unreffed too soon.
10250
10251 2005-05-16  Andy Wingo  <wingo@pobox.com>
10252
10253         * gst/gstbin.c (sink_iterator_filter): Err... um...
10254
10255         * check/gst/gstbin.c (test_ghost_pads): New test for the
10256         ghosting-if-elements-not-in-same-bin behavior.
10257
10258 2005-05-16  David Schleef  <ds@schleef.org>
10259
10260         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10261         accessing refcount directly.
10262
10263 2005-05-15  David Schleef  <ds@schleef.org>
10264
10265         * check/Makefile.am: remove GstData checks
10266         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10267         * gst/Makefile.am: add miniobject, remove data
10268         * gst/gst.h: add miniobject, remove data
10269         * gst/gstdata.c: remove
10270         * gst/gstdata.h: remove
10271         * gst/gstdata_private.h: remove
10272         * gst/gsttypes.h: remove GstEvent and GstMessage
10273         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10274         * gst/gstmarshal.list: change BOXED -> OBJECT
10275
10276         Implement GstMiniObject.
10277         * gst/gstminiobject.c:
10278         * gst/gstminiobject.h:
10279
10280         Modify to be subclasses of GstMiniObject.
10281         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10282         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10283         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10284         (gst_subbuffer_get_type), (gst_subbuffer_init),
10285         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10286         (gst_buffer_span):
10287         * gst/gstbuffer.h:
10288         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10289         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10290         (_gst_event_copy), (gst_event_new):
10291         * gst/gstevent.h:
10292         * gst/gstmessage.c: (_gst_message_initialize),
10293         (gst_message_get_type), (gst_message_class_init),
10294         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10295         (gst_message_new), (gst_message_new_error),
10296         (gst_message_new_warning), (gst_message_new_tag),
10297         (gst_message_new_state_changed), (gst_message_new_application):
10298         * gst/gstmessage.h:
10299         * gst/gstprobe.c: (gst_probe_perform),
10300         (gst_probe_dispatcher_dispatch):
10301         * gst/gstprobe.h:
10302         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10303         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10304         (_gst_query_copy), (gst_query_new):
10305
10306         Update elements for GstData -> GstMiniObject changes
10307         * gst/gstquery.h:
10308         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10309         (gst_queue_chain), (gst_queue_loop):
10310         * gst/elements/gstbufferstore.c:
10311         (gst_buffer_store_add_buffer_func),
10312         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10313         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10314         (gst_fakesink_render):
10315         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10316         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10317         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10318         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10319         (gst_filesrc_create_read):
10320         * gst/elements/gstidentity.c: (gst_identity_class_init):
10321         * gst/elements/gsttypefindelement.c:
10322         (gst_type_find_element_src_event), (free_entry_buffers),
10323         (gst_type_find_element_handle_event):
10324         * libs/gst/dataprotocol/dataprotocol.c:
10325         (gst_dp_header_from_buffer):
10326         * libs/gst/dataprotocol/dataprotocol.h:
10327         * libs/gst/dataprotocol/dp-private.h:
10328
10329 2005-05-15  David Schleef  <ds@schleef.org>
10330
10331         * gst/elements/gstelements.c: Don't include headers that were
10332         just removed.
10333
10334 2005-05-15  David Schleef  <ds@schleef.org>
10335
10336         * gst/elements/Makefile.am: Remove some elements that don't
10337         need to be in the core (or even exist at all).
10338         * gst/elements/gstaggregator.c:
10339         * gst/elements/gstaggregator.h:
10340         * gst/elements/gstmd5sink.c:
10341         * gst/elements/gstmd5sink.h:
10342         * gst/elements/gstmultifilesrc.c:
10343         * gst/elements/gstmultifilesrc.h:
10344         * gst/elements/gstpipefilter.c:
10345         * gst/elements/gstpipefilter.h:
10346         * gst/elements/gstshaper.c:
10347         * gst/elements/gstshaper.h:
10348         * gst/elements/gststatistics.c:
10349         * gst/elements/gststatistics.h:
10350         * po/POTFILES.in: Remove above files.
10351
10352 2005-05-14  Andy Wingo  <wingo@pobox.com>
10353
10354         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10355         so as to get the refs right.
10356         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10357         unreffing objects that don't pass the filter.
10358
10359         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10360         gst_element_set_bus.
10361         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10362         normal cases, this will destroy the bus.
10363
10364         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10365         object.
10366
10367         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10368         has no sinks.
10369
10370 2005-05-13  Andy Wingo  <wingo@pobox.com>
10371
10372         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10373         gst_pad_link, call pad_link_maybe_ghosting,
10374         (pad_link_maybe_ghosting): Links pads, making sure that the
10375         elements being linked are in the same bin.
10376         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10377         Helpers for pad_link_maybe_ghosting.
10378
10379 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10380
10381         * configure.ac:
10382           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10383
10384 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10385
10386         * docs/design/part-element-source.txt:
10387           Mention GstPushSrc
10388
10389 2005-05-12  Wim Taymans  <wim@fluendo.com>
10390
10391         * gst/base/gstbasesink.c: (gst_basesink_init),
10392         (gst_basesink_activate):
10393         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10394         (gst_basesrc_is_seekable):
10395         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10396         (bin_element_is_sink), (gst_bin_change_state):
10397         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10398         * gst/gstelement.h:
10399         Identify sinks by their flag to avoid overly complicated
10400         checks (fow now).
10401         Do state changes even for elements not reachable from the
10402         sinks.
10403         BaseSink is a sink now :)
10404         Some more debugging info in the basesrc.
10405
10406
10407 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10408
10409         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10410           Implement _query on a bin, similar to _send_event.
10411
10412 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10413
10414         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10415           Discont event offset format should be GST_FORMAT_BYTES,
10416           not GST_FORMAT_TIME.
10417
10418 2005-05-12  Wim Taymans  <wim@fluendo.com>
10419
10420         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10421         Same fix as Ronald's but without the signal. 
10422
10423 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10424
10425         * gst/gstutils.c: (gst_element_query_position):
10426           No, an element is not a pad.
10427
10428 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10429
10430         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10431         (gst_bin_get_state):
10432           If a child is removed from a bin while we remove the child from
10433           the bin and while we're retrieving its state, signal this to the
10434           get_state function so we abort the wait (instead of waiting for
10435           a timeout) and can immediately re-iterate over all other elements.
10436
10437 2005-05-12  Wim Taymans  <wim@fluendo.com>
10438
10439         * gst/base/Makefile.am:
10440         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10441         (gst_basesrc_start):
10442         * gst/base/gstbasesrc.h:
10443         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10444         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10445         (gst_pushsrc_init), (gst_pushsrc_create):
10446         * gst/base/gstpushsrc.h:
10447         Added is_seekable to BaseSrc
10448         Added simple PushSrc.
10449
10450 2005-05-11  Wim Taymans  <wim@fluendo.com>
10451
10452         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10453         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10454         (gst_element_link_pads), (gst_element_query_position),
10455         (gst_element_query_convert), (intersect_caps_func),
10456         (gst_pad_query_position), (gst_pad_query_convert):
10457         Fix refcounting in utils function.
10458         No point in trying to activate a pad when it's added, it could
10459         be added from the state change function and then we deadlock, the
10460         element has to decide what to do.
10461
10462 2005-05-10  Andy Wingo  <wingo@pobox.com>
10463
10464         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10465         *all* the arguments.
10466
10467         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10468         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10469         lock (according to the docs -- if this is wrong change the docs).
10470
10471         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10472         flush messages in the NULL state.
10473
10474         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10475         message immediately and return.
10476         (gst_bus_set_flushing): New function. If a bus is flushing, it
10477         flushes out any queued messages and immediately unrefs new
10478         messages. This is so when an element goes to NULL, all of the
10479         unhandled messages coming from it can be freed, and their
10480         references to the element dropped. In other words: message source
10481         ref considered harmful :P
10482
10483         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10484         we're finished with it.
10485
10486         * gst/gstmessage.c (gst_message_new_state_changed): 
10487
10488 2005-05-10  Wim Taymans  <wim@fluendo.com>
10489
10490         * gst/gstvalue.c: (gst_value_compare_flags),
10491         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10492         (_gst_value_initialize):
10493         Added flags serialize/deserialize/compare code.
10494
10495 2005-05-09  Andy Wingo  <wingo@pobox.com>
10496
10497         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10498         Intersect the peer's caps with our caps.
10499
10500 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10501
10502         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10503         * gst/elements/gsttypefindelement.c: (find_peek):
10504           Handle negative offsets better. Fixes decodebin.
10505
10506 2005-05-09  Wim Taymans  <wim@fluendo.com>
10507
10508         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10509         (gst_base_transform_event):
10510         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10511         Implement accept_caps.
10512         Fix silly lock/unlock mismatch in base class.
10513
10514 2005-05-09  Wim Taymans  <wim@fluendo.com>
10515
10516         * docs/design/draft-push-pull.txt:
10517         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10518         * gst/elements/gstfilesink.c: (gst_filesink_init),
10519         (gst_filesink_query):
10520         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10521         (gst_type_find_handle_src_query), (find_element_get_length):
10522         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10523         * gst/gstelement.h:
10524         * gst/gstmessage.c:
10525         * gst/gstmessage.h:
10526         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10527         (gst_real_pad_get_caps_unlocked),
10528         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10529         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10530         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10531         (gst_real_pad_dispose), (gst_real_pad_finalize),
10532         (gst_pad_load_and_link), (gst_pad_save_thyself),
10533         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10534         (gst_pad_check_pull_range), (gst_pad_pull_range),
10535         (gst_pad_template_get_type), (gst_pad_template_class_init),
10536         (gst_pad_template_init), (gst_pad_template_dispose),
10537         (name_is_valid), (gst_static_pad_template_get),
10538         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10539         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10540         (gst_pad_get_element_private), (gst_pad_start_task),
10541         (gst_pad_pause_task), (gst_pad_stop_task),
10542         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10543         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10544         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10545         (gst_ghost_pad_new):
10546         * gst/gstpad.h:
10547         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10548         (gst_query_new_position), (gst_query_set_position),
10549         (gst_query_parse_position), (gst_query_new_convert),
10550         (gst_query_set_convert), (gst_query_parse_convert):
10551         * gst/gstquery.h:
10552         * gst/gstqueryutils.c:
10553         * gst/gstqueryutils.h:
10554         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10555         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10556         (gst_queue_handle_src_query):
10557         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10558         (gst_element_query_position), (gst_element_query_convert),
10559         (intersect_caps_func), (gst_pad_query_position),
10560         (gst_pad_query_convert):
10561         * gst/gstutils.h:
10562         * tools/gst-inspect.c: (print_pad_info):
10563         * tools/gst-xmlinspect.c: (print_element_info):
10564         Remove old query functions. Ported old code.
10565         Added position/convert helper functions to gstutils.
10566         Reordered gstpad.c code, grouping relevant things.
10567         Remove gst_message_new(), always need to speficy a specific
10568         message.
10569
10570
10571 2005-05-09  Andy Wingo  <wingo@pobox.com>
10572
10573         * gst/gstiterator.h: Add some includes.
10574
10575         * gst/gstqueryutils.h: Include more headers.
10576
10577         * gst/gstpad.h:
10578         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10579         some uses of gst_pad_query.
10580
10581         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10582         NULL out parameters.
10583         (gst_query_new_position): New proc, allocates a new position
10584         query.
10585
10586         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10587         gstqueryutils.c to the build.
10588
10589         * gst/gststructure.c (gst_structure_set_valist): Implement with
10590         the generic G_VALUE_COLLECT.
10591         
10592 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10593
10594         * gst/Makefile.am: (gst_headers):
10595         Added gstqueryutils.h to the list of headers to install, that was
10596         a 'nachty' move wingo :)
10597
10598 2005-05-06  Andy Wingo  <wingo@pobox.com>
10599
10600         * gst/gstquery.h
10601         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10602         GstData, init a memchunk.
10603         (standard_definitions): Add a few query types, deprecate a few.
10604         (gst_query_get_type): New proc.
10605         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10606         implementation.
10607         (gst_query_new_application, gst_query_get_structure): New public
10608         procs.
10609
10610         * docs/design/draft-query.txt: Removed LINKS from the query types,
10611         because all the rest can be dispatched to other pads -- seemed
10612         ugly to have a query that couldn't be dispatched. internal_links
10613         is fine as a pad method.
10614
10615         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10616         in gstpad.c, but maintain binary compatibility for the moment.
10617         Will fix before 0.9 is out.
10618
10619         * gst/gstqueryutils.c: 
10620         * gst/gstqueryutils.h: New files, implement 3 methods for each
10621         query type: parse_query, parse_response, and set. Probably need an
10622         allocator as well.
10623
10624         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10625
10626         * gst/elements/gstfilesink.c (gst_filesink_query2):
10627         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10628         query_types, and formats methods.
10629
10630         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10631         (gst_pad_set_query2_function): New functions.
10632         (gst_real_pad_init): Set query2_default as the default query2
10633         function. Basically just dispatches to internally linked pads.
10634
10635         Needs review!
10636         
10637         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10638         without using the atomic operations. Only one thread can possibly
10639         be accessing the data at this point. Changed so as to avoid
10640         gst_atomic operations.
10641
10642 2005-05-06  Wim Taymans  <wim@fluendo.com>
10643
10644         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10645         Also set caps if we use the fallback buffer alloc.
10646
10647 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10648
10649         * docs/gst/Makefile.am:
10650         * docs/gst/gstreamer-docs.sgml:
10651         * docs/gst/gstreamer-sections.txt:
10652         * docs/gst/tmpl/gstatomic.sgml:
10653         * docs/gst/tmpl/gstmemchunk.sgml:
10654         * testsuite/elements/struct_i386.h:
10655         * win32/GStreamer.vcproj:
10656         * win32/Makefile:
10657           Purge GstAtomic stuff from docs and win32 makefiles as well
10658
10659 2005-05-06  Wim Taymans  <wim@fluendo.com>
10660
10661         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10662         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10663         * gst/gstpad.c: (gst_pad_peer_get_caps):
10664         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10665         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10666         (gst_queue_src_activate), (gst_queue_change_state):
10667         * gst/gstqueue.h:
10668         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10669         (intersect_caps_func):
10670         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10671         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10672         Some fixes for the peer_get_caps() change.
10673
10674 2005-05-06  Wim Taymans  <wim@fluendo.com>
10675
10676         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10677         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10678         (gst_basesink_activate):
10679         Actually do something with error codes returned from the push
10680         functions.
10681
10682 2005-05-06  Wim Taymans  <wim@fluendo.com>
10683
10684         * docs/design/part-element-sink.txt:
10685         * docs/design/part-element-source.txt:
10686         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10687         (gst_basesink_event), (gst_basesink_activate):
10688         * gst/base/gstbasesink.h:
10689         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10690         (gst_basesrc_activate):
10691         * gst/base/gstbasesrc.h:
10692         * gst/gstelement.c: (gst_element_pads_activate):
10693         Some more documentation.
10694         Fixed scheduling decision in _pads_activate().
10695
10696 2005-05-05  Andy Wingo  <wingo@pobox.com>
10697
10698         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10699         the test suite.
10700
10701 2005-05-05  Wim Taymans  <wim@fluendo.com>
10702
10703         * gst/base/Makefile.am:
10704         * gst/base/gstbasesink.h:
10705         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10706         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10707         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10708         (gst_collectpads_class_init), (gst_collectpads_init),
10709         (gst_collectpads_finalize), (gst_collectpads_new),
10710         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10711         (find_pad), (gst_collectpads_remove_pad),
10712         (gst_collectpads_is_active), (gst_collectpads_collect),
10713         (gst_collectpads_collect_range), (gst_collectpads_start),
10714         (gst_collectpads_stop), (gst_collectpads_peek),
10715         (gst_collectpads_pop), (gst_collectpads_available),
10716         (gst_collectpads_read), (gst_collectpads_flush),
10717         (gst_collectpads_chain):
10718         * gst/base/gstcollectpads.h:
10719         * gst/elements/Makefile.am:
10720         * gst/elements/gstelements.c:
10721         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10722         (gst_fakesink_get_times), (gst_fakesink_event),
10723         (gst_fakesink_preroll), (gst_fakesink_render):
10724         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10725         (gst_filesink_init), (gst_filesink_set_location),
10726         (gst_filesink_open_file), (gst_filesink_close_file),
10727         (gst_filesink_pad_query), (gst_filesink_event),
10728         (gst_filesink_render), (gst_filesink_change_state):
10729         * gst/elements/gstfilesink.h:
10730         Added object to help in making collect pad based elements.
10731         Ported filesink.
10732         Make event function in sink baseclass return gboolean.
10733
10734 2005-05-05  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10737         (gst_bin_get_by_name):
10738         * gst/gstbuffer.h:
10739         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10740         (gst_clock_finalize):
10741         * gst/gstdata.c: (gst_data_replace):
10742         * gst/gstdata.h:
10743         * gst/gstelement.c: (gst_element_request_pad),
10744         (gst_element_pads_activate):
10745         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10746         (gst_object_unref):
10747         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10748         (gst_pad_set_checkgetrange_function),
10749         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10750         (gst_pad_check_pull_range), (gst_pad_pull_range),
10751         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10752         (gst_pad_pause_task), (gst_pad_stop_task):
10753         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10754         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10755         Fix name lookup in GstBin.
10756         Added _data_replace() function and _buffer_replace()
10757         Use finalize method to clean up clock.
10758         Fix refcounting on request pads.
10759         Fix pad schedule mode error.
10760         Some more object refcounting debug info,
10761
10762
10763 2005-05-04  Andy Wingo <wingo@pobox.com>
10764
10765         * check/Makefile.am:
10766         * docs/gst/tmpl/gstatomic.sgml:
10767         * docs/gst/tmpl/gstplugin.sgml:
10768         * gst/base/gstbasesink.c: (gst_basesink_activate):
10769         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10770         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10771         (gst_basesrc_query), (gst_basesrc_set_property),
10772         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10773         (gst_basesrc_activate):
10774         * gst/base/gstbasesrc.h:
10775         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10776         (gst_base_transform_src_activate):
10777         * gst/elements/gstelements.c:
10778         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10779         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10780         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10781         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10782         (gst_type_find_element_checkgetrange),
10783         (gst_type_find_element_activate):
10784         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10785         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10786         (gst_caps_load_thyself):
10787         * gst/gstelement.c: (gst_element_pads_activate),
10788         (gst_element_save_thyself), (gst_element_restore_thyself):
10789         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10790         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10791         * gst/gstpad.h:
10792         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10793         (gst_xml_parse_file), (gst_xml_parse_memory),
10794         (gst_xml_get_element), (gst_xml_make_element):
10795         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10796         (_file_index_id_save_xml), (gst_file_index_commit):
10797         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10798         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10799         (load_paths):
10800         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10801         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10802         * tools/gst-complete.c: (main):
10803         * tools/gst-compprep.c: (main):
10804         * tools/gst-inspect.c: (print_element_properties_info):
10805         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10806         * tools/gst-xmlinspect.c: (print_element_properties):
10807         GCC 4 fixen.
10808         
10809 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10810
10811         * gst/gstplugin.c: (gst_plugin_check_module),
10812         (gst_plugin_check_file), (gst_plugin_load_file):
10813             apply patch from #172526 to make register work on MacOSX
10814
10815 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10816
10817         * docs/gst/tmpl/gstconfig.sgml:
10818         * gst/gstconfig.h.in:
10819           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10820         * testsuite/debug/printf_extension.c: (main):
10821           Do not use GST_PTR_FORMAT on pointers to types with
10822           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10823         * testsuite/elements/property.h:
10824           use correct printf format
10825
10826 2005-05-02  Wim Taymans  <wim@fluendo.com>
10827
10828         * docs/design/draft-push-pull.txt:
10829         * docs/design/draft-query.txt:
10830         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10831         (gst_basesrc_start):
10832         Added draft for new query API.
10833         Added draft for better selecting scheduling methods.
10834         Make basesrc ignore length if the subclass does not support
10835         it.
10836
10837 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10838
10839         * gst/Makefile.am:
10840           possible fixes for automake-1.5 - _LIBADD is reserved
10841
10842 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * docs/faq/Makefile.am:
10845         * docs/manual/Makefile.am:
10846         * docs/manuals.mak:
10847         * docs/pwg/Makefile.am:
10848         * gst/Makefile.am:
10849           possible fixes for automake-1.5
10850
10851 2005-04-28  Wim Taymans  <wim@fluendo.com>
10852
10853         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10854         (gst_basesink_pad_getcaps), (gst_basesink_init),
10855         (gst_basesink_do_sync):
10856         * gst/gstclock.c: (gst_clock_entry_new):
10857         * gst/gstevent.c: (gst_event_discont_get_value):
10858         * gst/gstpipeline.c: (pipeline_bus_handler),
10859         (gst_pipeline_change_state):
10860         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10861         Better debugging of clocking info.
10862         Allow NULL values when getting discont values.
10863
10864 2005-04-27  Wim Taymans  <wim@fluendo.com>
10865
10866         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10867         * check/gst/gstpad.c: (gst_pad_suite):
10868         Increase timeout for checks.
10869
10870 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10871
10872         * check/Makefile.am:
10873           fix the broken rule for cleanup.  Apparently this rule is
10874           only needed on FC2, so maybe this warrants further autotool
10875           inspection.
10876
10877 2005-04-26  Wim Taymans  <wim@fluendo.com>
10878
10879         * gst/gsttrashstack.h:
10880         Ooohh. a nasty one! After having a failed pop() from the stack,
10881         it's possible that the stack is empty. In that case, don't
10882         follow the NULL pointer.
10883
10884 2005-04-25  Wim Taymans  <wim@fluendo.com>
10885
10886         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10887         (gst_pad_set_checkgetrange_function),
10888         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10889         (gst_pad_check_pull_range), (gst_pad_pull_range),
10890         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10891         (gst_pad_pause_task), (gst_pad_stop_task):
10892         * gst/gstplugin.c: (gst_plugin_load):
10893         * gst/gstplugin.h:
10894         Remove gst_library_load as it does more harm than good with
10895         the new g_module flags.
10896         Revert bogus caps template check in pad linking, pad caps
10897         are important when linking not the template, which is more
10898         general than the current caps.
10899
10900 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10901
10902         * gst/autoplug/.cvsignore:
10903         * gst/autoplug/Makefile.am:
10904         * gst/autoplug/gstsearchfuncs.c:
10905         * gst/autoplug/gstsearchfuncs.h:
10906         * gst/autoplug/gstspider.c:
10907         * gst/autoplug/gstspider.h:
10908         * gst/autoplug/gstspideridentity.c:
10909         * gst/autoplug/gstspideridentity.h:
10910         * gst/autoplug/spidertest.c:
10911           Die, spider, die.
10912
10913 2005-04-25  Wim Taymans  <wim@fluendo.com>
10914
10915         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10916         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10917         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10918         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10919         * gst/gstpad.h:
10920         Added stubs for unimplemented functions. 
10921
10922 2005-04-24  David Schleef  <ds@schleef.org>
10923
10924         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10925         please fix.
10926
10927 2005-04-24  David Schleef  <ds@schleef.org>
10928
10929         Convert everything from GstAtomicInt to g_atomic_int_*, and
10930         remove gstatomic.
10931         * gst/Makefile.am:
10932         * gst/gstatomic.c:
10933         * gst/gstatomic.h:
10934         * gst/gstatomic_impl.h:
10935         * gst/gstbuffer.c:
10936         * gst/gstcaps.c:
10937         * gst/gstcaps.h:
10938         * gst/gstclock.c:
10939         * gst/gstclock.h:
10940         * gst/gstdata.c:
10941         * gst/gstdata.h:
10942         * gst/gstdata_private.h:
10943         * gst/gstevent.c:
10944         * gst/gstinfo.c:
10945         * gst/gstinfo.h:
10946         * gst/gstmessage.c:
10947         * gst/gstobject.c:
10948         * gst/gstobject.h:
10949         * gst/gststructure.c:
10950         * gst/gststructure.h:
10951         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10952         * gst/gstutils.h:
10953
10954 2005-04-24  David Schleef  <ds@schleef.org>
10955
10956         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10957         make the regressions tests work.  Remove some code that is no
10958         longer true.
10959         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10960         Disable warning for pads without templates.
10961
10962 2005-04-24  David Schleef  <ds@schleef.org>
10963
10964         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10965         functions that handle filtered links.
10966         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10967         removed functions.
10968         * gst/gstutils.c: Fix/remove utility functions that handle
10969         filtered caps.
10970         * gst/gstutils.h:
10971         * gst/gstvalue.c: Add serialization/deserialization of caps
10972         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10973         requires fixing so that the filter caps notation creates
10974         a capsfilter element and sets the filter_caps property.  I
10975         think everyone probably wants to keep the shorthand notation.
10976         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10977         * docs/gst/tmpl/gstpad.sgml:
10978
10979         * gst/elements/gstelements.c: Register capsfilter element.
10980         * gst/Makefile.am: fix spacing
10981         * docs/random/ds/0.9-suggested-changes: random
10982
10983 2005-04-23  David Schleef  <ds@schleef.org>
10984
10985         * gst/elements/Makefile.am:
10986         * gst/elements/gstcapsfilter.c: New element that acts like an
10987         identity, but filters caps.  Will eventually replace filtered
10988         caps in pad linking.
10989         * gst/gstutils.c: (gst_element_create_all_pads): New function
10990         to create all the ALWAYS pads that are registered with an
10991         element class.  This functionality should eventually be
10992         merged in with GstElement initialization.
10993         * gst/gstutils.h:
10994         * testsuite/trigger/README: part of trigger test code that should
10995         have been checked in a long time ago.
10996
10997 2005-04-23  David Schleef  <ds@schleef.org>
10998
10999         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11000         needed with new versions of libtool (nobody will confirm this),
11001         and hard to carry around.
11002         * gst/autoplug/Makefile.am:
11003         * gst/base/Makefile.am:
11004         * gst/elements/Makefile.am:
11005         * gst/indexers/Makefile.am:
11006         * gst/schedulers/Makefile.am:
11007         * libs/gst/bytestream/Makefile.am:
11008         * libs/gst/control/Makefile.am:
11009         * libs/gst/dataprotocol/Makefile.am:
11010         * libs/gst/getbits/Makefile.am:
11011
11012 2005-04-21  Wim Taymans  <wim@fluendo.com>
11013
11014         * docs/design/draft-push-pull.txt:
11015         * docs/design/part-MT-refcounting.txt:
11016         * docs/design/part-TODO.txt:
11017         * docs/design/part-caps.txt:
11018         * docs/design/part-events.txt:
11019         * docs/design/part-gstbus.txt:
11020         * docs/design/part-gstpipeline.txt:
11021         * docs/design/part-messages.txt:
11022         * docs/design/part-push-pull.txt:
11023         * docs/design/part-query.txt:
11024         Some more docs.
11025
11026 2005-04-21  Wim Taymans  <wim@fluendo.com>
11027
11028         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11029         (gst_message_new), (gst_message_new_error),
11030         (gst_message_new_warning), (gst_message_new_tag),
11031         (gst_message_new_state_changed), (gst_message_new_application),
11032         (gst_message_get_structure):
11033         * gst/gstmessage.h:
11034         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11035         (gst_structure_copy_conditional):
11036         Use parent refcount in GstMessage to ensure GstStructure
11037         consistency.
11038         Cleaned up headers a bit.
11039         
11040
11041 2005-04-20  Wim Taymans  <wim@fluendo.com>
11042
11043         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11044         (gst_basesink_pad_getcaps), (gst_basesink_init),
11045         (gst_basesink_chain_unlocked):
11046         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11047         (gst_type_find_helper):
11048         * gst/elements/gsttypefindelement.c:
11049         (gst_type_find_element_have_type), (gst_type_find_element_init),
11050         (stop_typefinding), (gst_type_find_element_handle_event),
11051         (find_suggest), (gst_type_find_element_chain),
11052         (gst_type_find_element_checkgetrange),
11053         (gst_type_find_element_getrange), (do_typefind),
11054         (gst_type_find_element_activate):
11055         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11056         (gst_buffer_default_free), (gst_buffer_default_copy),
11057         (gst_buffer_set_caps):
11058         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11059         (gst_caps_replace):
11060         * gst/gstmessage.c: (gst_message_new),
11061         (gst_message_new_state_changed):
11062         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11063         (gst_pad_set_checkgetrange_function),
11064         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11065         (gst_pad_set_caps), (gst_pad_check_pull_range),
11066         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11067         * gst/gstpad.h:
11068         * gst/gsttypefind.c: (gst_type_find_register):
11069         Make gst_caps_replace() work like other _replace() functions.
11070         Use _caps_replace() where possible.
11071         Make sure _message_new() initialises its field.
11072         Add gst_static_pad_template_get_caps()
11073
11074
11075 2005-04-18  Andy Wingo  <wingo@pobox.com>
11076
11077         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11078         on the peer, not the pad. I think that was a typo. Pass an extra
11079         arg to see if random access is possible. Activate the pads as
11080         PULL_RANGE if possible.
11081
11082         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11083
11084         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11085         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11086         to PROP_....
11087
11088 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11089
11090         * docs/faq/using.xml:
11091           Add note on gstreamer-properties (#154996).
11092
11093 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11094
11095         * docs/random/bbb/optional-properties:
11096           Some analysis on optional properties.
11097
11098 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11099
11100         * docs/gst/tmpl/gstelementfactory.sgml:
11101         * gst/gstelement.h:
11102         * gst/gstelementfactory.c: (gst_element_factory_init),
11103         (gst_element_factory_cleanup), (gst_element_register),
11104         (__gst_element_factory_add_static_pad_template),
11105         (gst_element_factory_get_static_pad_templates),
11106         (gst_element_factory_can_src_caps),
11107         (gst_element_factory_can_sink_caps):
11108         * gst/registries/Makefile.am:
11109         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11110         (gst_xml_registry_class_init), (gst_xml_registry_init),
11111         (gst_xml_registry_new), (gst_xml_registry_set_property),
11112         (gst_xml_registry_get_property), (get_time), (make_dir),
11113         (gst_xml_registry_get_perms_func),
11114         (plugin_times_older_than_recurse), (plugin_times_older_than),
11115         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11116         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11117         (add_to_char_array), (read_string), (read_uint), (read_enum),
11118         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11119         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11120         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11121         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11122         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11123         (gst_xml_registry_rebuild):
11124         * gst/registries/gstlibxmlregistry.h:
11125         * tools/gst-compprep.c: (main):
11126         * tools/gst-inspect.c: (print_pad_templates_info):
11127         * tools/gst-xmlinspect.c: (print_element_info):
11128           Use libxml2 for registry parsing, use staticpadtemplates in
11129           elementfactories. Makes gst_init() +/- 10x faster.
11130
11131 2005-04-12  Wim Taymans  <wim@fluendo.com>
11132
11133         * gst/base/Makefile.am:
11134         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11135         (gst_basesink_pad_getcaps), (gst_basesink_init),
11136         (gst_basesink_event), (gst_basesink_change_state):
11137         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11138         (gst_basesrc_init), (gst_basesrc_query),
11139         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11140         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11141         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11142         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11143         (gst_basesrc_stop), (gst_basesrc_activate),
11144         (gst_basesrc_change_state):
11145         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11146         (helper_find_suggest), (gst_type_find_helper):
11147         * gst/base/gsttypefindhelper.h:
11148         * gst/elements/Makefile.am:
11149         * gst/elements/gstelements.c:
11150         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11151         (gst_fakesink_get_times), (gst_fakesink_event),
11152         (gst_fakesink_preroll), (gst_fakesink_render):
11153         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11154         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11155         (gst_fakesrc_get_property), (gst_fakesrc_create),
11156         (gst_fakesrc_start), (gst_fakesrc_stop):
11157         * gst/elements/gstfakesrc.h:
11158         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11159         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11160         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11161         (gst_filesrc_create_read), (gst_filesrc_create),
11162         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11163         (gst_filesrc_start):
11164         * gst/elements/gsttypefindelement.c:
11165         (gst_type_find_element_have_type), (gst_type_find_element_init),
11166         (start_typefinding), (stop_typefinding), (push_buffer_store),
11167         (gst_type_find_element_handle_event),
11168         (gst_type_find_element_chain),
11169         (gst_type_find_element_checkgetrange),
11170         (gst_type_find_element_getrange), (do_typefind),
11171         (gst_type_find_element_activate),
11172         (gst_type_find_element_change_state):
11173         * gst/elements/gsttypefindelement.h:
11174         * gst/gstpipeline.c: (pipeline_bus_handler):
11175         Added typefind helper.
11176         Small preroll fix in the base sink.
11177         Disable typefind code in basesrc.
11178         Crude port of typefindelement.
11179         Fakesrc cleanups.
11180
11181
11182 2005-04-11  Wim Taymans  <wim@fluendo.com>
11183
11184         * check/gst/gstbus.c: (gstbus_suite):
11185         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11186         * check/gstcheck.h:
11187           Fix up the timeout so that the test does not fail.
11188
11189 2005-04-06  Wim Taymans  <wim@fluendo.com>
11190
11191         * gst/base/README:
11192         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11193         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11194         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11195         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11196         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11197         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11198         (gst_basesrc_stop), (gst_basesrc_activate),
11199         (gst_basesrc_change_state), (basesrc_find_peek),
11200         (basesrc_find_suggest), (gst_basesrc_type_find):
11201         * gst/base/gstbasesrc.h:
11202         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11203         (gst_filesrc_class_init), (gst_filesrc_init),
11204         (gst_filesrc_finalize), (gst_filesrc_set_location),
11205         (gst_filesrc_set_property), (gst_filesrc_get_property),
11206         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11207         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11208         (gst_filesrc_create_read), (gst_filesrc_create),
11209         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11210         * gst/elements/gstfilesrc.h:
11211         * gst/gstelement.c: (gst_element_get_state_func),
11212         (gst_element_lost_state), (gst_element_pads_activate):
11213         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11214         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11215         (gst_pad_pull_range):
11216         * gst/gstpad.h:
11217         More work on the generic source base class, implement seeking,
11218         query.
11219         Make filesrc extend the base source class.
11220         Added gst_pad_set_checkgetrange_function to GstPad.
11221
11222 2005-04-06  Andy Wingo  <wingo@pobox.com>
11223
11224         * pkgconfig/gstreamer-base.pc.in:
11225         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11226
11227         * pkgconfig/Makefile.am:
11228         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11229
11230 2005-04-04  Wim Taymans  <wim@fluendo.com>
11231
11232         * gst/base/Makefile.am:
11233         * gst/base/README:
11234         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11235         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11236         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11237         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11238         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11239         (gst_basesrc_base_init), (gst_basesrc_class_init),
11240         (gst_basesrc_init), (gst_basesrc_get_formats),
11241         (gst_basesrc_get_query_types), (gst_basesrc_query),
11242         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11243         (gst_basesrc_set_property), (gst_basesrc_get_property),
11244         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11245         (gst_basesrc_loop), (gst_basesrc_activate),
11246         (gst_basesrc_change_state):
11247         * gst/base/gstbasesrc.h:
11248         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11249         (gst_fakesrc_class_init), (gst_fakesrc_init),
11250         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11251         (gst_fakesrc_get_property), (gst_fakesrc_create):
11252         * gst/elements/gstfakesrc.h:
11253         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11254         (gst_filesrc_open_file), (gst_filesrc_loop),
11255         (gst_filesrc_activate), (filesrc_find_peek),
11256         (gst_filesrc_type_find):
11257         Made base source class, make fakesrc extend it.
11258         Add comments to basesink class.
11259         Some filesrc cleanup.
11260
11261 2005-03-31  David Schleef  <ds@schleef.org>
11262
11263         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11264         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11265         expected to link against libgstreamer.
11266         * gst/base/Makefile.am: link against libgstreamer
11267         * gst/elements/Makefile.am: same
11268
11269 2005-03-31  Andy Wingo  <wingo@pobox.com>
11270
11271         * tests/instantiate/Makefile.am:
11272         * tests/instantiate/caps.c: Add test to test speed of caps copy
11273         and free.
11274
11275         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11276         GMemChunk to be fair.
11277
11278         * gst/gsttrashstack.h: Remove warning about using the fallback
11279         trash stack implementation, it's still faster than malloc.
11280
11281 2005-03-30  Andy Wingo  <wingo@pobox.com>
11282
11283         * tests/complexity.c: Add a copyright.
11284
11285 2005-03-31  Wim Taymans  <wim@fluendo.com>
11286
11287         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11288         (gst_base_transform_class_init), (gst_base_transform_init),
11289         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11290         (gst_base_transform_get_property),
11291         (gst_base_transform_sink_activate),
11292         (gst_base_transform_src_activate),
11293         (gst_base_transform_change_state):
11294         * gst/base/gstbasetransform.h:
11295         * gst/elements/gstidentity.c: (gst_identity_class_init),
11296         (gst_identity_event), (gst_identity_check_perfect),
11297         (gst_identity_transform), (gst_identity_start),
11298         (gst_identity_stop):
11299         Added start/stop methods to transform base class so subclasses 
11300         don't need to deal with state changes even.
11301
11302 2005-03-31  Wim Taymans  <wim@fluendo.com>
11303
11304         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11305         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11306         * gst/gstevent.h:
11307         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11308         (gst_pad_pull_range):
11309         Added rate to the discont event to prepare for variable speed
11310         and reverse playback.
11311
11312 2005-03-29  David Schleef  <ds@schleef.org>
11313
11314         * configure.ac:
11315         * testsuite/trigger/Makefile.am:
11316         * testsuite/trigger/trigger.c: A little example program to show
11317         how trigger-based elements can work.
11318
11319 2005-03-29  Wim Taymans  <wim@fluendo.com>
11320
11321         * gst/base/Makefile.am:
11322         * gst/base/README:
11323         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11324         (gst_basesink_base_init), (gst_basesink_class_init),
11325         (gst_basesink_pad_getcaps), (gst_basesink_init),
11326         (gst_basesink_activate), (gst_basesink_change_state):
11327         * gst/base/gstbasesink.h:
11328         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11329         (gst_base_transform_base_init), (gst_base_transform_finalize),
11330         (gst_base_transform_class_init), (gst_base_transform_init),
11331         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11332         (gst_base_transform_event), (gst_base_transform_getrange),
11333         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11334         (gst_base_transform_set_property),
11335         (gst_base_transform_get_property),
11336         (gst_base_transform_sink_activate),
11337         (gst_base_transform_src_activate),
11338         (gst_base_transform_change_state):
11339         * gst/base/gstbasetransform.h:
11340         * gst/elements/gstidentity.c: (gst_identity_finalize),
11341         (gst_identity_class_init), (gst_identity_init),
11342         (gst_identity_event), (gst_identity_check_perfect),
11343         (gst_identity_transform), (gst_identity_set_property),
11344         (gst_identity_get_property), (gst_identity_change_state):
11345         * gst/elements/gstidentity.h:
11346         * gst/gstelement.c: (gst_element_get_state_func),
11347         (gst_element_lost_state), (gst_element_pads_activate):
11348         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11349         (gst_pad_check_pull_range), (gst_pad_pull_range):
11350         * gst/gstpad.h:
11351         Simplify pad activation.
11352         Added function to check if pull_range can be performed.
11353         Error out when pulling inactive or flushing pads.
11354         Removed const from refcounted types as it does not make sense.
11355         Simplify pad templates in basesink
11356         Added base class for simple 1-to-1 transforms.
11357         Make identity subclass the base transform.
11358
11359 2005-03-29  Andy Wingo  <wingo@pobox.com>
11360
11361         * docs/libs/gstreamer-libs-overrides.txt: 
11362         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11363         really don't understand what's going on, but like whatever. I want
11364         green buildbot!
11365
11366         * docs/gst/Makefile.am:
11367         * docs/libs/Makefile.am: Dist the overrides files.
11368
11369         * check/Makefile.am (clean-local): Remove .libs directories.
11370
11371         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11372         elements to EXTRA_DIST, so po/ files are happy.
11373
11374         * po/POTFILES.in: Er, remove it here.
11375
11376         * po/POTFILES: Remove gstspider.c.
11377
11378         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11379
11380         * docs/libs/gstreamer-libs-docs.sgml: 
11381         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11382         bytestream.
11383
11384         * tests/complexity.c (main): Set the length of the preroll queue
11385         on the sinks to prevent a lockup.
11386
11387         * libs/gst/dataprotocol/Makefile.am: 
11388         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11389         the same as the one in check/gst-libs/gdp.c.
11390
11391         * po/, docs/gst/: Commit automatic changes to docs and po files.
11392
11393         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11394         the versioned libgstbase.
11395
11396         * check/Makefile.am: Depend on an unversioned gst-register, seems
11397         to make autoconf happier.
11398
11399         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11400
11401 2005-03-28  Wim Taymans  <wim@fluendo.com>
11402
11403         * configure.ac:
11404         * docs/design/part-gstelement.txt:
11405         * docs/design/part-negotiation.txt:
11406         * docs/design/part-preroll.txt:
11407         * docs/design/part-scheduling.txt:
11408         * docs/design/part-states.txt:
11409         * gst/Makefile.am:
11410         * gst/base/Makefile.am:
11411         * gst/base/README:
11412         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11413         (gst_basesink_base_init), (gst_basesink_class_init),
11414         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11415         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11416         (gst_basesink_set_pad_functions),
11417         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11418         (gst_basesink_set_property), (gst_basesink_get_property),
11419         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11420         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11421         (gst_basesink_preroll_queue_push),
11422         (gst_basesink_preroll_queue_empty),
11423         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11424         (gst_basesink_event), (gst_basesink_get_times),
11425         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11426         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11427         (gst_basesink_loop), (gst_basesink_activate),
11428         (gst_basesink_change_state):
11429         * gst/base/gstbasesink.h:
11430         * gst/elements/Makefile.am:
11431         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11432         (gst_fakesink_class_init), (gst_fakesink_init),
11433         (gst_fakesink_set_property), (gst_fakesink_get_property),
11434         (gst_fakesink_get_times), (gst_fakesink_event),
11435         (gst_fakesink_preroll), (gst_fakesink_render),
11436         (gst_fakesink_change_state):
11437         * gst/elements/gstfakesink.h:
11438         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11439         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11440         * gst/gstelement.c: (gst_element_add_pad),
11441         (gst_element_get_state_func), (gst_element_abort_state),
11442         (gst_element_commit_state), (gst_element_lost_state),
11443         (gst_element_set_state), (gst_element_pads_activate):
11444         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11445         * gst/gstpipeline.c: (gst_pipeline_send_event),
11446         (gst_pipeline_change_state):
11447         Added state change code.
11448         Added/updated docs.
11449         Added sink base class, make fakesink extend the base class.
11450         Small cleanups in GstPipeline.
11451
11452 2005-03-26  David Schleef  <ds@schleef.org>
11453
11454         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11455         is broken and should be implemented in a different library.
11456         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11457         * gst/gst.h: remove gstcpu.h
11458         * gst/gstcpu.c: remove
11459         * gst/gstcpu.h: remove
11460         * gst/Makefile.am.future: Remove this file.  It's ancient.
11461
11462 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11463
11464         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11465         (gst_bin_send_event):
11466           Add default event/set_manager handlers. The set_manager handler
11467           takes care that the manager is distributed over kids that were
11468           already in the bin before the manager was set. The event handler
11469           is a utility virtual function that sends the event over all sinks,
11470           so that gst_element_send_event (bin, event); has the expected
11471           behaviour.
11472         * gst/gstpad.c: (gst_pad_event_default):
11473           Re-install default event handling for discontinuities, so that
11474           seeking works without requiring hacks in applications or extra
11475           code in sinks.
11476         * gst/gstpipeline.c: (gst_pipeline_class_init),
11477         (gst_pipeline_send_event):
11478           Half hack, half utility: set a pipeline to PAUSED for seek events,
11479           since that is the only way we can guarantee a/v sync. Means that
11480           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11481           and it "just works".
11482
11483 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11484
11485         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11486           Lock/unlock mismatch.
11487
11488 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11489
11490         * docs/faq/gst-uninstalled:
11491           add gst-plugins-base
11492         * docs/gst/Makefile.am:
11493           don't error out until docs are fixed
11494         * docs/gst/gstreamer.types:
11495           remove thread
11496
11497 2005-03-22  Wim Taymans  <wim@fluendo.com>
11498
11499         * check/Makefile.am:
11500         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11501         * gst/gststructure.c: (gst_structure_set_valist),
11502         (gst_structure_copy_conditional):
11503         Activated more tests.
11504         Added message test.
11505         Added G_TYPE_POINTER to GstStructure.
11506         
11507
11508 2005-03-22  Wim Taymans  <wim@fluendo.com>
11509
11510         * docs/design/part-TODO.txt:
11511         * docs/design/part-events.txt:
11512         * docs/design/part-gstbin.txt:
11513         * docs/design/part-gstbus.txt:
11514         * docs/design/part-gstpipeline.txt:
11515         * docs/design/part-messages.txt:
11516         * gst/gstbus.c:
11517         * gst/gstmessage.c:
11518         Docs updates
11519
11520 2005-03-21  Wim Taymans  <wim@fluendo.com>
11521
11522         * gst/gstbus.c: (gst_bus_post):
11523         Fix copy-and-paste error.
11524
11525 2005-03-21  Wim Taymans  <wim@fluendo.com>
11526
11527         * check/Makefile.am:
11528         * gst/Makefile.am:
11529         * gst/elements/Makefile.am:
11530         * gst/elements/gstelements.c:
11531         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11532         (gst_fakesink_event), (gst_fakesink_chain):
11533         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11534         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11535         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11536         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11537         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11538         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11539         (gst_fakesrc_loop), (gst_fakesrc_activate),
11540         (gst_fakesrc_change_state):
11541         * gst/elements/gstfakesrc.h:
11542         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11543         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11544         (gst_filesrc_open_file), (gst_filesrc_loop),
11545         (gst_filesrc_activate), (gst_filesrc_change_state),
11546         (filesrc_find_peek), (filesrc_find_suggest),
11547         (gst_filesrc_type_find):
11548         * gst/elements/gstidentity.c: (gst_identity_finalize),
11549         (gst_identity_class_init), (gst_identity_init),
11550         (gst_identity_proxy_getcaps), (identity_queue_push),
11551         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11552         (gst_identity_getrange), (gst_identity_chain),
11553         (gst_identity_sink_loop), (gst_identity_src_loop),
11554         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11555         (gst_identity_set_property), (gst_identity_get_property),
11556         (gst_identity_change_state):
11557         * gst/elements/gstidentity.h:
11558         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11559         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11560         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11561         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11562         (gst_tee_sink_activate):
11563         * gst/elements/gsttee.h:
11564         * gst/gst.c: (gst_register_core_elements), (init_post):
11565         * gst/gst.h:
11566         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11567         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11568         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11569         (gst_bin_change_state):
11570         * gst/gstbin.h:
11571         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11572         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11573         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11574         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11575         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11576         (bus_watch_callback), (bus_watch_destroy),
11577         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11578         (poll_timeout), (gst_bus_poll):
11579         * gst/gstbus.h:
11580         * gst/gstcaps.h:
11581         * gst/gstdata.h:
11582         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11583         (gst_element_post_message), (gst_element_message_full),
11584         (gst_element_get_state_func), (gst_element_get_state),
11585         (gst_element_abort_state), (gst_element_commit_state),
11586         (gst_element_lost_state), (gst_element_set_state),
11587         (gst_element_pads_activate), (gst_element_change_state),
11588         (gst_element_dispose), (gst_element_set_manager_func),
11589         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11590         (gst_element_set_manager), (gst_element_get_manager),
11591         (gst_element_set_bus), (gst_element_get_bus),
11592         (gst_element_set_scheduler), (gst_element_get_scheduler):
11593         * gst/gstelement.h:
11594         * gst/gstevent.c: (gst_event_new_segment_seek),
11595         (gst_event_new_flush):
11596         * gst/gstevent.h:
11597         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11598         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11599         (gst_message_new_eos), (gst_message_new_error),
11600         (gst_message_new_warning), (gst_message_new_tag),
11601         (gst_message_new_state_changed), (gst_message_new_application),
11602         (gst_message_get_structure), (gst_message_parse_tag),
11603         (gst_message_parse_state_changed), (gst_message_parse_error),
11604         (gst_message_parse_warning):
11605         * gst/gstmessage.h:
11606         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11607         (gst_real_pad_set_property), (gst_pad_set_active),
11608         (gst_pad_is_active), (gst_pad_set_blocked_async),
11609         (gst_pad_set_blocked), (gst_pad_is_blocked),
11610         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11611         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11612         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11613         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11614         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11615         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11616         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11617         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11618         (gst_pad_set_caps), (gst_pad_configure_sink),
11619         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11620         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11621         (gst_real_pad_dispose), (gst_real_pad_finalize),
11622         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11623         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11624         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11625         * gst/gstpad.h:
11626         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11627         (pipeline_bus_handler), (gst_pipeline_change_state),
11628         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11629         * gst/gstpipeline.h:
11630         * gst/gstprobe.h:
11631         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11632         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11633         (gst_queue_link_src), (gst_queue_bufferalloc),
11634         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11635         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11636         (gst_queue_loop), (gst_queue_handle_src_event),
11637         (gst_queue_handle_src_query), (gst_queue_src_activate),
11638         (gst_queue_change_state):
11639         * gst/gstqueue.h:
11640         * gst/gstscheduler.c: (gst_scheduler_init),
11641         (gst_scheduler_dispose), (gst_scheduler_create_task),
11642         (gst_scheduler_factory_create):
11643         * gst/gstscheduler.h:
11644         * gst/gststructure.c: (gst_structure_get_type),
11645         (gst_structure_copy_conditional):
11646         * gst/gststructure.h:
11647         * gst/gsttaginterface.h:
11648         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11649         (gst_task_init), (gst_task_dispose), (gst_task_create),
11650         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11651         (gst_task_pause):
11652         * gst/gsttask.h:
11653         * gst/gstthread.c:
11654         * gst/gstthread.h:
11655         * gst/gsttypes.h:
11656         * gst/schedulers/Makefile.am:
11657         * gst/schedulers/cothreads_compat.h:
11658         * gst/schedulers/entryscheduler.c:
11659         * gst/schedulers/faircothreads.c:
11660         * gst/schedulers/faircothreads.h:
11661         * gst/schedulers/fairscheduler.c:
11662         * gst/schedulers/gstbasicscheduler.c:
11663         * gst/schedulers/gstoptimalscheduler.c:
11664         * gst/schedulers/gthread-cothreads.h:
11665         * gst/schedulers/threadscheduler.c:
11666         (gst_thread_scheduler_task_get_type),
11667         (gst_thread_scheduler_task_class_init),
11668         (gst_thread_scheduler_task_init),
11669         (gst_thread_scheduler_task_start),
11670         (gst_thread_scheduler_task_stop),
11671         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11672         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11673         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11674         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11675         (plugin_init):
11676         * libs/gst/Makefile.am:
11677         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11678         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11679         (gst_file_pad_parent_set):
11680         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11681         (gst_dp_event_from_packet):
11682         * tests/complexity.c: (main):
11683         * tests/mass_elements.c: (main):
11684         * testsuite/states/locked.c: (message_received), (main):
11685         * testsuite/states/parent.c: (main):
11686         * tools/gst-inspect.c: (print_element_flag_info),
11687         (print_implementation_info), (print_pad_info):
11688         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11689         (main):
11690         * tools/gst-md5sum.c: (event_loop), (main):
11691         * tools/gst-typefind.c: (main):
11692         * tools/gst-xmlinspect.c: (print_element_info):
11693         Next big merge.
11694         Added GstBus for mainloop integration.
11695         Added GstMessage for sending notifications on the bus.
11696         Added GstTask as an abstraction for pipeline entry points.
11697         Removed GstThread.
11698         Removed Schedulers.
11699         Simplified GstQueue for multithreaded core.
11700         Made _link threadsafe, removed old capsnego.
11701         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11702         Added pad blocking functions.
11703         Reworked scheduling functions in GstPad to prepare for
11704         scheduling updates soon.
11705         Moved events out of data stream.
11706         Simplified GstEvent types.
11707         Added return values to push/pull.
11708         Removed clocking from GstElement.
11709         Added prototypes for state change function for next merge.
11710         Removed iterate from bins and state change management.
11711         Fixed some elements, disabled others for now.
11712         Fixed -inspect and -launch.
11713         Added check for GstBus.
11714
11715 2005-03-10  Wim Taymans  <wim@fluendo.com>
11716
11717         * docs/design/part-MT-refcounting.txt:
11718         * docs/design/part-clocks.txt:
11719         * docs/design/part-gstelement.txt:
11720         * docs/design/part-gstobject.txt:
11721         * docs/design/part-standards.txt:
11722         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11723         (gst_bin_remove_func), (gst_bin_remove):
11724         * gst/gstbin.h:
11725         * gst/gstbuffer.c:
11726         * gst/gstcaps.h:
11727         * testsuite/clock/clock1.c: (main):
11728         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11729         (main):
11730         * testsuite/dlopen/loadgst.c: (do_test):
11731         * testsuite/refcounting/bin.c: (add_remove_test1),
11732         (add_remove_test2), (main):
11733         * testsuite/refcounting/element.c: (main):
11734         * testsuite/refcounting/element_pad.c: (main):
11735         * testsuite/refcounting/pad.c: (main):
11736         * tools/gst-launch.c: (sigint_handler_sighandler):
11737         * tools/gst-typefind.c: (main):
11738         Doc updates.
11739         Added doc about clock.
11740         removed gst_bin_iterate_recurse_up(), marked methods
11741         for removal.
11742         Fix more testsuites.
11743
11744 2005-03-09  Wim Taymans  <wim@fluendo.com>
11745
11746         * gst/gstpad.c: (gst_pad_get_direction),
11747         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11748         (gst_pad_collect_valist):
11749         * testsuite/bins/interface.c: (main):
11750         * testsuite/caps/audioscale.c: (test_caps):
11751         * testsuite/caps/caps.c: (test1), (test2), (test3):
11752         * testsuite/caps/deserialize.c: (main):
11753         * testsuite/caps/enumcaps.c: (main):
11754         * testsuite/caps/filtercaps.c: (main):
11755         * testsuite/caps/intersect2.c: (main):
11756         * testsuite/caps/random.c: (main):
11757         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11758         * testsuite/caps/sets.c: (check_caps):
11759         * testsuite/caps/simplify.c: (check_caps), (main):
11760         * testsuite/caps/subtract.c: (check_caps):
11761         Fix _pad_get_direction wrt ghostpads.
11762         Fix caps testsuite.
11763
11764 2005-03-09  Wim Taymans  <wim@fluendo.com>
11765
11766         * check/Makefile.am:
11767         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11768         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11769         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11770         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11771         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11772         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11773         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11774         (bin_element_is_sink), (gst_bin_iterate_sinks),
11775         (gst_bin_iterate_all_by_interface):
11776         * gst/gstbin.h:
11777         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11778         (gst_element_change_state), (gst_element_dispose),
11779         (gst_element_finalize), (gst_element_set_loop_function):
11780         * gst/gstelement.h:
11781         * gst/gstiterator.c: (find_custom_fold_func):
11782         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11783         (gst_pad_collectv), (gst_pad_collect_valist),
11784         (gst_pad_template_new):
11785         * gst/gstpipeline.c: (gst_pipeline_class_init),
11786         (gst_pipeline_dispose), (gst_pipeline_set_property),
11787         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11788         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11789         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11790         * gst/gstutils.h:
11791         * gst/schedulers/entryscheduler.c:
11792         * gst/schedulers/gstbasicscheduler.c:
11793         (gst_basic_scheduler_cothreaded_chain),
11794         (gst_basic_scheduler_chain_add_element):
11795         * testsuite/bins/interface.c: (main):
11796         Added GstBin test.
11797         Added GstSystemClock test.
11798         Implemented clock distribution code in GstBin.
11799         Implemented iterate sinks method for future use.
11800         Rearranged gstelement.h
11801         Fix GstIterator comparison bug.
11802         Moved some code to GstPipeline, mostly clocking related.
11803
11804 2005-03-09  Wim Taymans  <wim@fluendo.com>
11805
11806         * configure.ac:
11807         * gst/gst_private.h:
11808         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11809         (gst_bin_remove_func), (gst_bin_remove),
11810         (gst_bin_get_by_name_recurse_up):
11811         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11812         (gst_clock_id_compare_func), (gst_clock_id_wait),
11813         (gst_clock_id_wait_async), (gst_clock_init),
11814         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11815         * gst/gstelement.h:
11816         * gst/gstinfo.c: (_gst_debug_init):
11817         * gst/gstobject.h:
11818         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11819         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11820         * gst/gstpad.h:
11821         Bump version number, we're now 0.9.0
11822         Add future debugging category.
11823         Fix NULL _unref() in _get_by_name_recurse_up
11824         Rearrange gstpad.h.
11825         Update some docs.
11826
11827 2005-03-08  Wim Taymans  <wim@fluendo.com>
11828
11829         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11830         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11831         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11832         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11833         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11834         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11835         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11836         * gst/elements/gstidentity.c: (gst_identity_class_init):
11837         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11838         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11839         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11840         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11841         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11842         (gst_tee_link):
11843         * gst/gstelement.c: (gst_element_class_init),
11844         (gst_element_base_class_init), (gst_element_init),
11845         (gst_element_get_random_pad), (gst_element_wait_state_change),
11846         (gst_element_change_state), (gst_element_dispose),
11847         (gst_element_finalize), (gst_element_set_loop_function):
11848         * gst/gstelement.h:
11849         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11850         * gst/gstthread.c: (gst_thread_class_init),
11851         (gst_thread_release_children_locks), (gst_thread_change_state):
11852         * gst/schedulers/gstbasicscheduler.c:
11853         (gst_basic_scheduler_loopfunc_wrapper),
11854         (gst_basic_scheduler_chain_wrapper),
11855         (gst_basic_scheduler_src_wrapper),
11856         (gst_basic_scheduler_remove_element):
11857         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11858         Remove threadsafe properties. Fix elements because GObject
11859         complains when installing a property before declaring a
11860         set/get_property handler.
11861         Rearrange gstelement.h file, use STATE macros for state locks.
11862         Free mutexes in the finalize method instead of dispose.
11863
11864 2005-03-08  Wim Taymans  <wim@fluendo.com>
11865
11866         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11867         * gst/gstthread.c: (gst_thread_release_children_locks):
11868         Added parentage check.
11869         Fix build og GstThread again.
11870
11871 2005-03-08  Wim Taymans  <wim@fluendo.com>
11872
11873         * docs/design/part-MT-refcounting.txt:
11874         * docs/design/part-conventions.txt:
11875         * docs/design/part-gstobject.txt:
11876         * docs/design/part-relations.txt:
11877         * docs/design/part-standards.txt:
11878         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11879         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11880         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11881         (gst_bin_iterate_all_by_interface):
11882         * gst/gstbuffer.h:
11883         * gst/gstclock.h:
11884         * gst/gstelement.c: (gst_element_class_init),
11885         (gst_element_change_state), (gst_element_set_loop_function):
11886         * gst/gstelement.h:
11887         * gst/gstiterator.c:
11888         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11889         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11890         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11891         (gst_object_set_parent), (gst_object_unparent),
11892         (gst_object_check_uniqueness):
11893         * gst/gstobject.h:
11894         Docs updates, clean up some headers.
11895
11896 2005-03-07  Wim Taymans  <wim@fluendo.com>
11897
11898         * check/.cvsignore:
11899         * check/Makefile.am:
11900         * check/gst-libs/.cvsignore:
11901         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11902         * check/gst/.cvsignore:
11903         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11904         (START_TEST), (gstbus_suite), (main):
11905         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11906         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11907         (gst_data_suite), (main):
11908         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11909         (add_fold_func), (gstiterator_suite), (main):
11910         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11911         (thread_name_object), (thread_name_object_default),
11912         (gst_object_name_compare), (gst_object_suite), (main):
11913         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11914         (gst_pad_suite), (main):
11915         * check/gstcheck.c: (gst_check_log_message_func),
11916         (gst_check_log_critical_func), (gst_check_init):
11917         * check/gstcheck.h:
11918         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11919         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11920         Added checks.
11921
11922 2005-03-07  Wim Taymans  <wim@fluendo.com>
11923
11924         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11925         (gst_list_iterator_next), (gst_list_iterator_resync),
11926         (gst_list_iterator_free), (gst_iterator_new_list),
11927         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11928         (gst_iterator_free), (gst_iterator_push), (filter_next),
11929         (filter_resync), (filter_uninit), (filter_free),
11930         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11931         (gst_iterator_foreach), (find_custom_fold_func),
11932         (gst_iterator_find_custom):
11933         * gst/gstiterator.h:
11934         Added missing files.
11935
11936 2005-03-07  Wim Taymans  <wim@fluendo.com>
11937
11938         * Makefile.am:
11939         * configure.ac:
11940         * docs/design/part-MT-refcounting.txt:
11941         * docs/design/part-conventions.txt:
11942         * docs/design/part-gstobject.txt:
11943         * docs/design/part-relations.txt:
11944         * examples/mixer/mixer.c: (main):
11945         * examples/thread/thread.c: (eos), (main):
11946         * gst/Makefile.am:
11947         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11948         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11949         (gst_spider_plug_from_srcpad):
11950         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11951         (gst_spider_identity_change_state),
11952         (gst_spider_identity_sink_loop_type_finding):
11953         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11954         * gst/elements/gstidentity.c: (gst_identity_init):
11955         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11956         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11957         * gst/elements/gsttypefindelement.c: (free_entry):
11958         * gst/gst.c:
11959         * gst/gst.h:
11960         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11961         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11962         (gst_bin_set_index), (gst_bin_set_element_sched),
11963         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11964         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11965         (gst_bin_iterate_elements), (iterate_child_recurse),
11966         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11967         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11968         (compare_interface), (gst_bin_get_by_interface),
11969         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11970         * gst/gstbin.h:
11971         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11972         (gst_buffer_default_free), (gst_buffer_default_copy),
11973         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11974         (gst_buffer_create_sub):
11975         * gst/gstbuffer.h:
11976         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11977         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11978         (gst_caps_unref), (gst_static_caps_get),
11979         (gst_caps_remove_and_get_structure), (gst_caps_append),
11980         (gst_caps_append_structure), (gst_caps_remove_structure),
11981         (gst_caps_copy_nth), (gst_caps_set_simple),
11982         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11983         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11984         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11985         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11986         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11987         (gst_caps_structure_figure_out_union),
11988         (gst_caps_switch_structures), (gst_caps_do_simplify),
11989         (gst_caps_replace), (gst_caps_from_string),
11990         (gst_caps_copy_conditional):
11991         * gst/gstcaps.h:
11992         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11993         (_gst_clock_id_free), (gst_clock_id_unref),
11994         (gst_clock_id_compare_func), (gst_clock_id_wait),
11995         (gst_clock_id_wait_async), (gst_clock_class_init),
11996         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11997         (gst_clock_get_time), (gst_clock_set_time_adjust),
11998         (gst_clock_set_property), (gst_clock_get_property):
11999         * gst/gstclock.h:
12000         * gst/gstcompat.h:
12001         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12002         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12003         * gst/gstdata.h:
12004         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12005         (gst_element_requires_clock), (gst_element_provides_clock),
12006         (gst_element_set_clock), (gst_element_clock_wait),
12007         (gst_element_wait), (gst_element_set_time_delay),
12008         (gst_element_is_indexable), (gst_element_add_pad),
12009         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12010         (pad_compare_name), (gst_element_get_static_pad),
12011         (gst_element_request_pad), (gst_element_get_request_pad),
12012         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12013         (gst_element_class_get_pad_template_list),
12014         (gst_element_class_get_pad_template), (gst_element_error_func),
12015         (gst_element_get_random_pad), (gst_element_get_event_masks),
12016         (gst_element_send_event), (gst_element_seek),
12017         (gst_element_get_query_types), (gst_element_query),
12018         (gst_element_get_formats), (gst_element_convert),
12019         (gst_element_is_locked_state), (gst_element_set_locked_state),
12020         (gst_element_sync_state_with_parent), (gst_element_change_state),
12021         (gst_element_finalize), (gst_element_yield),
12022         (gst_element_interrupt), (gst_element_set_scheduler),
12023         (gst_element_get_scheduler), (gst_element_set_loop_function):
12024         * gst/gstelement.h:
12025         * gst/gstevent.h:
12026         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12027         (gst_format_get_by_nick), (gst_format_get_details),
12028         (gst_format_iterate_definitions):
12029         * gst/gstformat.h:
12030         * gst/gstindex.c: (gst_index_gtype_resolver):
12031         * gst/gstinfo.c:
12032         * gst/gstinfo.h:
12033         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12034         (gst_mem_chunk_free):
12035         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12036         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12037         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12038         (gst_object_dispatch_properties_changed),
12039         (gst_object_set_name_default), (gst_object_set_name),
12040         (gst_object_get_name), (gst_object_set_name_prefix),
12041         (gst_object_get_name_prefix), (gst_object_set_parent),
12042         (gst_object_get_parent), (gst_object_unparent),
12043         (gst_object_check_uniqueness), (gst_object_save_thyself),
12044         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12045         (gst_object_set_property), (gst_object_get_property),
12046         (gst_object_get_path_string):
12047         * gst/gstobject.h:
12048         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12049         (gst_real_pad_init), (gst_real_pad_get_property),
12050         (gst_pad_custom_new), (gst_pad_get_direction),
12051         (gst_pad_set_active), (gst_pad_is_active),
12052         (gst_pad_set_event_function), (gst_pad_is_linked),
12053         (gst_pad_link_free), (gst_pad_link_intersect),
12054         (gst_pad_link_fixate), (gst_pad_set_caps),
12055         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12056         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12057         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12058         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12059         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12060         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12061         (gst_pad_realize), (gst_pad_get_allowed_caps),
12062         (gst_real_pad_dispose), (gst_real_pad_finalize),
12063         (gst_pad_collectv), (gst_pad_collect_valist),
12064         (gst_pad_template_dispose), (gst_pad_template_new),
12065         (gst_pad_get_internal_links):
12066         * gst/gstpad.h:
12067         * gst/gstpipeline.c: (gst_pipeline_dispose),
12068         (gst_pipeline_change_state):
12069         * gst/gstpipeline.h:
12070         * gst/gstplugin.c:
12071         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12072         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12073         * gst/gstpluginfeature.h:
12074         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12075         * gst/gstquery.c: (_gst_query_type_initialize),
12076         (gst_query_type_register), (gst_query_type_get_by_nick),
12077         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12078         * gst/gstquery.h:
12079         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12080         * gst/gstscheduler.c: (gst_scheduler_add_element),
12081         (gst_scheduler_factory_create):
12082         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12083         (gst_structure_free), (gst_structure_set_name),
12084         (gst_structure_id_set_value), (gst_structure_set_value),
12085         (gst_structure_set_valist), (gst_structure_remove_field),
12086         (gst_structure_remove_fields),
12087         (gst_structure_remove_fields_valist),
12088         (gst_structure_remove_all_fields), (gst_structure_foreach),
12089         (gst_structure_map_in_place),
12090         (gst_caps_structure_fixate_field_nearest_int),
12091         (gst_caps_structure_fixate_field_nearest_double):
12092         * gst/gststructure.h:
12093         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12094         (gst_system_clock_init), (gst_system_clock_dispose),
12095         (gst_system_clock_async_thread),
12096         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12097         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12098         * gst/gstsystemclock.h:
12099         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12100         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12101         * gst/gsttaginterface.c:
12102         * gst/gstthread.c: (gst_thread_dispose),
12103         (gst_thread_release_children_locks), (gst_thread_change_state),
12104         (gst_thread_main_loop):
12105         * gst/gsttrashstack.h:
12106         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12107         * gst/gsttypes.h:
12108         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12109         (gst_element_request_pad), (gst_element_get_pad_from_template),
12110         (gst_element_request_compatible_pad),
12111         (gst_element_get_compatible_pad_filtered),
12112         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12113         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12114         (gst_element_link_many), (gst_element_link),
12115         (gst_element_link_pads), (gst_element_unlink_pads),
12116         (gst_element_unlink_many), (gst_element_unlink),
12117         (gst_pad_can_link_filtered), (gst_pad_can_link),
12118         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12119         (gst_object_default_error), (gst_bin_add_many),
12120         (gst_bin_remove_many), (gst_element_populate_std_props),
12121         (gst_element_class_install_std_props), (gst_buffer_merge),
12122         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12123         (link_fold_func), (gst_pad_proxy_setcaps):
12124         * gst/gstutils.h:
12125         * gst/gstvalue.c: (gst_value_deserialize_string):
12126         * gst/parse/grammar.y:
12127         * gst/schedulers/gstbasicscheduler.c:
12128         (gst_basic_scheduler_cothreaded_chain),
12129         (gst_basic_scheduler_chain_recursive_add),
12130         (gst_basic_scheduler_pad_link):
12131         * gst/schedulers/gstoptimalscheduler.c:
12132         (get_group_schedule_function),
12133         (gst_opt_scheduler_state_transition),
12134         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12135         * libs/gst/bytestream/bytestream.c:
12136         * libs/gst/dataprotocol/dataprotocol.c:
12137         (gst_dp_header_from_buffer):
12138         * po/nb.po:
12139         * po/ru.po:
12140         * tests/threadstate/threadstate2.c: (eos):
12141         * tools/gst-compprep.c: (main):
12142         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12143         (print_pad_info), (print_children_info):
12144         * tools/gst-launch.c: (idle_func), (main):
12145         * tools/gst-md5sum.c: (idle_func), (main):
12146         * tools/gst-xmlinspect.c: (print_element_info):
12147         First THREADED backport attempt, focusing on adding locks and
12148         making sure the API is threadsafe. Needs more work. More docs
12149         follow this week.
12150
12151 2005-02-24  Andy Wingo  <wingo@pobox.com>
12152
12153         * tests/bench-complexity.scm:
12154         * tests/complexity.gnuplot: New files, good for running complexity
12155         benchmarks.
12156
12157         * tests/Makefile.am:
12158         * tests/complexity.c: New test, sets up N elements, at each level
12159         teeing into M streams per element. Eeeenteresting.
12160
12161         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12162         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12163         running bench-mass_elements.scm.
12164
12165         * tests/bench-mass_elements.scm: New script, runs mass_elements
12166         for various numbers of identities, outputting the results to a
12167         file. Requires guile 1.6. Just for testing.
12168
12169 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12170
12171         * gst/schedulers/fairscheduler.c:
12172           compile with debug disabled
12173
12174 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12175
12176         * configure.ac:
12177           hunting season on 0.9 is now OPEN