docs/random/ensonic/dparams.txt: some TODOs for the next dev cycle
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2
3         * docs/random/ensonic/dparams.txt:
4           some TODOs for the next dev cycle
5         * libs/gst/controller/gstcontroller.c:
6         (gst_controlled_property_set_interpolation_mode),
7         (gst_controlled_property_new):
8         * libs/gst/controller/gstcontroller.h:
9           use base type to assign acccessor functions
10
11 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12
13         * check/Makefile.am:
14         Oops, that should have been top_srcdir
15
16 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17
18         * check/Makefile.am:
19         * check/elements/fdsrc.c: (GST_START_TEST):
20         Use a cmdline define to specify the location of a file to use for
21         testing, to avoid breaking distcheck.
22
23 2005-11-28  Andy Wingo  <wingo@pobox.com>
24
25         * gst/gstpad.c (fixate_value): Use array functions for arrays.
26
27 2005-11-28  Edward Hervey  <edward@fluendo.com>
28
29         * tools/gst-launch.c: (main):
30         Clarify the output strings, makes it easier to translate.
31         Fixes #322626
32
33 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
34
35         * gst/Makefile.am:
36           don't try and build net if we don't even have <sys/socket.h>
37
38 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
39
40         * check/Makefile.am:
41         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
42         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
43           Add tests for fdsrc seekability
44
45         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
46         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
47         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
48         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
49         * gst/elements/gstfdsrc.h:
50           fdsrc should not be a 'live' source.
51           Implement seeking on seekable fd's.
52
53         * gst/gstquery.c: (gst_query_new_seeking),
54         (gst_query_parse_seeking):
55         * gst/gstquery.h:
56           Implement SEEKING query functions: 
57             *_new_seeking and *_parse_seeking
58
59 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
60
61         * gst/gstelement.c: (gst_element_dispose):
62           don't loop forever
63
64         * gst/gstiterator.c:
65         * gst/gststructure.c:
66           doc fixes
67
68         * libs/gst/controller/gstcontroller.c:
69         (gst_controlled_property_set_interpolation_mode):
70         * libs/gst/controller/gstcontroller.h:
71         * libs/gst/controller/gstinterpolation.c:
72         (interpolate_none_get_enum_value_array):
73           support controlling enums
74
75 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
76
77         * gst/gstvalue.c:
78           Improve documentation for gst_value_union().
79
80         * gst/gstvalue.h:
81           Change return value for union, intersect and subtract functions
82           from gint to gboolean.
83
84 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
85
86         * gst/gstvalue.c: (gst_value_serialize_any_list),
87         (gst_value_transform_any_list_string),
88         (gst_value_deserialize_list), (gst_value_deserialize_array),
89         (gst_value_set_int_range), (gst_value_deserialize_int_range),
90         (gst_value_set_double_range), (gst_value_deserialize_double_range),
91         (gst_value_set_fraction_range_full),
92         (gst_value_deserialize_fraction_range),
93         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
94         (gst_value_deserialize_boolean),
95         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
96         (gst_value_serialize_float), (gst_value_deserialize_float),
97         (gst_string_wrap), (gst_value_deserialize_string),
98         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
99         (gst_value_union_int_range_int_range),
100         (gst_value_intersect_int_range_int_range),
101         (gst_value_intersect_double_range_double_range),
102         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
103         (gst_value_subtract_int_range_int_range),
104         (gst_value_subtract_double_double_range),
105         (gst_value_subtract_double_range_double_range),
106         (gst_value_deserialize_fraction):
107         * gst/gstvalue.h:
108           Use gint, gdouble and gchar in our API instead of int, double and
109           char (and make usage in gstvalue.c more consistent).
110
111 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
112
113         * check/Makefile.am:
114         * libs/gst/controller/Makefile.am:
115         * libs/gst/dataprotocol/Makefile.am:
116           fix up Makefile.am and remove GST_ENABLE_NEW
117
118 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
119
120         * configure.ac:
121         * gst/Makefile.am:
122         * gst/base/Makefile.am:
123         * gst/check/Makefile.am:
124         * gst/elements/Makefile.am:
125         * gst/net/Makefile.am:
126           update LDFLAGS use some more
127
128 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
129
130         * common/m4/gst-doc.m4:
131           Fixes #312589
132
133 2005-11-26  Edward Hervey  <edward@fluendo.com>
134
135         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
136         This shouldn't issue a g_warning since it returns NULL if it
137         couldn't find the plugin, and all functions using this behave
138         properly on a NULL return. Switching to a GST_WARNING.
139
140 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
141
142         * gst/gstbin.c: (gst_bin_handle_message_func):
143         Don't leak clock messages.
144
145 2005-11-25  Wim Taymans  <wim@fluendo.com>
146
147         * gst/gstutils.c: (gst_util_uint64_scale_int64),
148         (gst_util_uint64_scale_int):
149         Optimisations, remove unneeded vars.
150
151 2005-11-25  Wim Taymans  <wim@fluendo.com>
152
153         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
154         Added more checks for the high precision uint64 cases.
155
156         * gst/gstutils.c: (gst_util_uint64_scale_int64),
157         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
158         Implement high precission (guint64 * guint64) / guint64.
159
160 2005-11-24  Wim Taymans  <wim@fluendo.com>
161
162         * gst/base/gstbasesrc.c: (gst_base_src_query):
163         Fix wrong percentage query.
164
165         * gst/gstutils.c: (gst_util_uint64_scale),
166         (gst_util_uint64_scale_int):
167         Add some more common cases that can be handled 
168         efficiently to _scale.
169
170 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
171
172         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
173         (gst_mini_object_suite):
174           don't use check calls from threads; check probably isn't
175           threadsafe and using a lock to make it threadsafe would
176           defeat the purpose of this check
177         * gst/check/gstcheck.c:
178         * gst/check/gstcheck.h:
179           use GST_DEBUG some more
180
181 2005-11-24  Wim Taymans  <wim@fluendo.com>
182
183         * gst/gstutils.c: (gst_util_uint64_scale),
184         (gst_util_uint64_scale_int):
185         Chain trivial case to _scale_int.
186
187 2005-11-24  Wim Taymans  <wim@fluendo.com>
188
189         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
190         Added test for scaling.
191
192         * gst/gstclock.h:
193         Small doc fix.
194
195         * gst/gstutils.c: (gst_util_uint64_scale_int):
196         Implemented high precision scaling code.
197
198 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
199
200         * gst/gstinfo.h:
201           do not crash on pad==NULL
202
203 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
204
205         Patch by: Stefan Kost
206
207         * common/gtk-doc.mak:
208         * docs/gst/Makefile.am:
209         * docs/libs/Makefile.am:
210           Fix distcheck issues for the libraries docs build
211           Closes #319599.
212
213 2005-11-24  Michael Smith <msmith@fluendo.com>
214
215         * docs/manual/basics-helloworld.xml:
216           Fix bug #315027: memory leak in example code in docs.
217
218 2005-11-24  Michael Smith <msmith@fluendo.com>
219
220         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
221           Unlock the PREROLL_LOCK in a failure case.
222
223 2005-11-24  Wim Taymans  <wim@fluendo.com>
224
225         * docs/gst/gstreamer-sections.txt:
226         * gst/base/gstadapter.h:
227         * gst/base/gstbasesink.h:
228         * gst/base/gstbasesrc.h:
229         * gst/base/gstbasetransform.h:
230         * gst/base/gstpushsrc.h:
231         * gst/elements/gstfakesink.h:
232         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
233         * gst/elements/gstfakesrc.h:
234         * gst/elements/gstfilesink.h:
235         * gst/elements/gstfilesrc.h:
236         * gst/gst.c:
237         * gst/gstbin.c:
238         * gst/gstbuffer.c: (_gst_buffer_copy):
239         * gst/gstbus.h:
240         * gst/gstcaps.c:
241         * gst/gstchildproxy.c:
242         * gst/gstclock.c:
243         * gst/gstelement.c:
244         * gst/gstelementfactory.c:
245         * gst/gstelementfactory.h:
246         * gst/gstevent.c:
247         * gst/gstghostpad.h:
248         * gst/gstindex.h:
249         * gst/gstinterface.h:
250         * gst/gstminiobject.c:
251         * gst/gstminiobject.h:
252         * gst/gstpad.c:
253         * gst/gstpad.h:
254         * gst/gstpadtemplate.h:
255         * gst/gstpipeline.h:
256         * gst/gstpluginfeature.h:
257         * gst/gstquery.h:
258         * gst/gstqueue.h:
259         * gst/gsttaglist.c:
260         * gst/gsttaglist.h:
261         * gst/gsttagsetter.c:
262         * gst/gsttagsetter.h:
263         * gst/gsttrace.c:
264         * gst/gsttrace.h:
265         * gst/gsttypefind.h:
266         * gst/gsturi.h:
267         * gst/gstvalue.c:
268         * gst/net/gstnetclientclock.c:
269         * gst/net/gstnetclientclock.h:
270         * gst/net/gstnettimepacket.c:
271         * gst/net/gstnettimeprovider.c:
272         * gst/net/gstnettimeprovider.h:
273         Doc fixes.
274
275 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
276
277         * configure.ac: back to HEAD
278
279 === release 0.9.6 ===
280
281 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
282
283         * configure.ac:
284           releasing 0.9.6, "Always On Time"
285
286 2005-11-23  Wim Taymans  <wim@fluendo.com>
287
288         * docs/gst/gstreamer-sections.txt:
289         * gst/glib-compat.c:
290         * gst/gsttagsetter.c:
291         * gst/gstvalue.c:
292         * gst/net/gstnetclientclock.c:
293         * gst/net/gstnettimepacket.h:
294         Doc updates.
295
296 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
297
298         * docs/faq/using.xml:
299         * docs/libs/tmpl/gstcontrol.sgml:
300         * docs/manual/advanced-dparams.xml:
301         * docs/manual/appendix-checklist.xml:
302         * docs/manual/basics-elements.xml:
303         * docs/pwg/other-source.xml:
304         * docs/random/moving-plugins:
305         * gst/gstpad.c:
306         * tools/gst-launch.1.in:
307           remove mentions of sinesrc
308
309 2005-11-23  Michael Smith <msmith@fluendo.com>
310
311         * docs/gst/gstreamer-sections.txt:
312           Update for new API and API changes.
313         * gst/gstobject.h:
314           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
315         * gst/gstvalue.c:
316           Documentation typo fix.
317         * gst/net/gstnettimepacket.c:
318           Documentation fixes for arguments.
319
320 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
321
322         * gst/gststructure.c: (gst_structure_get_fraction),
323         (gst_structure_parse_value),
324         (gst_structure_fixate_field_nearest_fraction):
325         * gst/gststructure.h:
326         * gst/gstutils.c: (gst_util_uint64_scale_int):
327         * gst/gstutils.h:
328         * scripts/update-funcnames:
329         API Changes. 
330         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
331         Make gst_structure_fixate_field_nearest_fraction take a numerator
332         and denominator argument instead of a GValue
333         add gst_structure_get_fraction helper function.
334
335 2005-11-23  Wim Taymans  <wim@fluendo.com>
336
337         * docs/design/part-TODO.txt:
338         Update TODO.
339
340         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
341         * gst/net/gstnetclientclock.h:
342         Use parent fields for timeout and window_size.
343
344 2005-11-23  Andy Wingo  <wingo@pobox.com>
345
346         * check/net/gstnetclientclock.c (test_functioning): Adjust to
347         rate_num/rate_denom change.
348
349         * gst/net/gstnetclientclock.c
350         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
351         OBJECT_LOCK. Don't call add_observation with the lock.
352
353         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
354         fraction.
355         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
356         rate fraction.
357         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
358         deal with rate as a fraction whose numerator and denominator are
359         GstClockTime values.
360         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
361         master; the other fields are protected by the SLAVE_LOCK.
362         (do_linear_regression): Note that this must be called with the
363         SLAVE_LOCK.
364         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
365         OBJECT_LOCK. Call set_calibration instead of touching the
366         variables directly.
367         (gst_clock_set_property, gst_clock_get_property): Protect
368         master/slave parameters with the SLAVE_LOCK.
369
370         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
371         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
372         note that all of the instance variables that add_observation and
373         the set_master functions use are protected by that lock and not
374         the OBJECT_LOCK.
375         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
376
377         * gst/gstclock.c (gst_clock_add_observation): No longer requires
378         the caller to take the object lock.
379
380 2005-11-23  Wim Taymans  <wim@fluendo.com>
381
382         * gst/gsterror.c: (_gst_core_errors_init):
383         * gst/gsterror.h:
384         Add error for clock stuff.
385
386         * gst/gstpipeline.c: (gst_pipeline_change_state),
387         (gst_pipeline_set_clock):
388         Post clock error when clock cannot be used in a pipeline.
389
390 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
391
392         * docs/gst/gstreamer-sections.txt:
393           make two symbols from gstinfo private for the docs
394         * gst/base/gstcollectpads.h:
395         * gst/gstutils.c:
396           fix doc typos, update docs
397
398 2005-11-22  Wim Taymans  <wim@fluendo.com>
399
400         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
401         (gst_base_sink_wait), (gst_base_sink_do_sync),
402         (gst_base_sink_handle_event):
403         * gst/base/gstbasesink.h:
404         No need to store the clock, the parent element class already
405         has it.
406
407         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
408         Updates for clock_set returning a gboolean
409
410         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
411         (gst_clock_id_wait_async), (gst_clock_class_init),
412         (gst_clock_init), (gst_clock_finalize),
413         (gst_clock_get_internal_time), (gst_clock_get_time),
414         (gst_clock_slave_callback), (gst_clock_set_master),
415         (gst_clock_get_master), (do_linear_regression),
416         (gst_clock_add_observation), (gst_clock_set_property),
417         (gst_clock_get_property):
418         * gst/gstclock.h:
419         Implement master/slave. When setting a clock as a slave, a
420         periodic timeout is scheduled to sample master and slave times.
421         Then the slave clock is recalibrated to match offset and rate
422         of the master clock.
423         Update logging a bit.
424         Add flag so that a clock can state that is cannot be slaved to
425         another clock.
426
427         * gst/gstelement.c: (gst_element_set_clock):
428         * gst/gstelement.h:
429         The set clock returns a gboolean for when an element cannot
430         deal with the selected clock in the pipeline. 
431
432         * gst/gstpipeline.c: (gst_pipeline_change_state),
433         (gst_pipeline_set_clock):
434         * gst/gstpipeline.h:
435         Handle the case where the selected clock cannot be set on
436         the pipeline.
437
438         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
439         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
440         (gst_net_client_clock_set_property),
441         (gst_net_client_clock_get_property),
442         (gst_net_client_clock_observe_times):
443         * gst/net/gstnetclientclock.h:
444         Use regression code in GstClock parent, remove duplicated
445         functionality.
446
447 2005-11-22  Michael Smith <msmith@fluendo.com>
448
449         * gst/gstutils.c: (gst_util_clock_time_scale):
450         * gst/gstutils.h:
451         * docs/gst/gstreamer-sections.txt:
452           Rename method to have extra underscore.
453
454 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
455
456         * gst/elements/Makefile.am:
457         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
458         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
459         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
460         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
461         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
462         * gst/elements/gstfakesrc.h:
463         * gst/gstqueue.c: (queue_leaky_get_type):
464           correctly fix GEnumValues so that nick is the short lowercase
465           dashed tag
466         * tools/gst-inspect.c: (print_element_properties_info):
467           also show the nick, since it's useful to use from parse_launch
468           syntax
469           Fixes #322139
470
471 2005-11-22  Michael Smith <msmith@fluendo.com>
472
473         * gst/gstutils.c: (gst_util_clocktime_scale):
474         * gst/gstutils.h:
475         * docs/gst/gstreamer-sections.txt:
476           Add util method for scaling a clocktime by a fraction. Useful 
477           implementation is left as an exercise for the reader.
478
479 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
480
481         * gst/gstvalue.c: (gst_value_collect_fraction_range):
482         If needed, allocate storage in the destination value during
483         collection.
484
485 2005-11-22  Edward Hervey  <edward@fluendo.com>
486
487         * docs/gst/gstreamer-sections.txt:
488         * gst/Makefile.am:
489         * gst/gst.h:
490         * gst/gsturitype.c:
491         * gst/gsturitype.h:
492         * gst/gstutils.c: (gst_util_set_object_arg):
493         * tools/gst-compprep.c: (main):
494         * tools/gst-inspect.c: (print_element_properties_info):
495         Removed GstURI, closes bug #321061
496
497 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
498
499         * check/gst/gststructure.c: (GST_START_TEST):
500         * gst/gststructure.c: (gst_structure_parse_value):
501           Oops, broke automatic string type parsing.
502           Add a test to catch it in future.
503
504 2005-11-22  Andy Wingo  <wingo@pobox.com>
505
506         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
507         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
508         Actually rename the function implementations. Grr.
509
510 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
511
512         * check/gst/capslist.h:
513           Comment test cases
514         * check/gst/gststructure.c: (GST_START_TEST),
515         (gst_structure_suite):
516           Test automatic value type detection in gst_structure_from_string.
517         * gst/gststructure.c: (gst_structure_parse_value):
518           Add fraction as a type we try and guess automatically in
519           caps/structure strings.
520
521 2005-11-22  Andy Wingo  <wingo@pobox.com>
522
523         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
524
525         * gst/gsttagsetter.h:
526         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
527         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
528         (gst_tag_setter_add_tag_valist)
529         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
530         _add_values, _add_valist, and _add_valist_values. Since this is an
531         interface the function suffixes should be more explicit so
532         language binding don't end up with element.add_valist ->
533         gst_tag_setter_add_valist, for example. Fixes #322069.
534
535 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
536
537         * check/gst/gstcaps.c: (GST_START_TEST):
538           Extend caps string tests to check that a caps to string
539           conversion is reversible and produces the same caps.
540
541         * gst/gststructure.c: (gst_structure_value_get_generic_type):
542           Output "fraction" as the generic type fraction range, so caps
543           serialisation and deserialisation works.
544         * check/gst/capslist.h:
545         * gst/gstvalue.c: (gst_value_deserialize_fraction):
546           Support 'MIN' and 'MAX' for deserialising fractions.
547
548 2005-11-22  Andy Wingo  <wingo@pobox.com>
549
550         * gst/gstevent.h (gst_event_new_new_segment)
551         (gst_event_parse_new_segment, gst_event_new_buffer_size)
552         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
553         Renamed from *_newsegment, *_buffersize, *_notarget.
554
555         * scripts/update-funcnames: New script, performs the changes
556         listed above.
557
558 2005-11-22  Wim Taymans  <wim@fluendo.com>
559
560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
561         Make sure the GstFlowReturn is returned.
562
563         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
564         (gst_bus_add_signal_watch):
565         * gst/gstbus.h:
566         add gst_bus_add_signal_watch_full.
567
568         * gst/gstplugin.c: (gst_plugin_load_file):
569         Small style cleanup.
570
571 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
572
573         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
574           Block the fakesrc srcpad when we send an event, to avoid
575           contention on the stream_lock causing random test failures.
576
577 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
578
579         * check/gst/gstvalue.c: (GST_START_TEST):
580         * gst/gstvalue.c: (gst_value_fraction_subtract):
581           Fix subtraction.
582
583 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
584
585         * gst/gst.h:
586           include "gstchildproxy.h"
587         * gst/gstchildproxy.h:
588         * libs/gst/controller/gstcontroller.h:
589           use G_GNUC_NULL_TERMINATED
590
591 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
592
593         * check/gst/capslist.h:
594         * check/gst/gstcaps.c: (GST_START_TEST):
595         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
596         * gst/gststructure.c: (gst_structure_parse_range),
597         (gst_structure_fixate_field_nearest_fraction):
598         * gst/gststructure.h:
599         * gst/gstvalue.c: (gst_value_init_fraction_range),
600         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
601         (gst_value_collect_fraction_range),
602         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
603         (gst_value_set_fraction_range_full),
604         (gst_value_get_fraction_range_min),
605         (gst_value_get_fraction_range_max),
606         (gst_value_serialize_fraction_range),
607         (gst_value_transform_fraction_range_string),
608         (gst_value_compare_fraction_range),
609         (gst_value_deserialize_fraction_range),
610         (gst_value_intersect_fraction_fraction_range),
611         (gst_value_intersect_fraction_range_fraction_range),
612         (gst_value_subtract_fraction_fraction_range),
613         (gst_value_subtract_fraction_range_fraction),
614         (gst_value_subtract_fraction_range_fraction_range),
615         (gst_value_collect_fraction), (gst_value_fraction_multiply),
616         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
617         (gst_value_transform_string_fraction), (_gst_value_initialize):
618         * gst/gstvalue.h:
619           Implement fraction ranges and extend GstFraction to support
620           arithmetic subtraction, as well as deserialization from integer
621           strings such as "100"
622           Add a testsuite as for int and double range set operations
623
624 2005-11-21  Andy Wingo  <wingo@pobox.com>
625
626         * gst/gsttaglist.h: 
627         * gst/gstcaps.h: 
628         * gst/gststructure.h: Add glib-compat.h.
629
630 2005-11-21  Wim Taymans  <wim@fluendo.com>
631
632         * gst/gstbin.c: (gst_bin_change_state_func):
633         Fix for #321595
634
635 2005-11-21  Wim Taymans  <wim@fluendo.com>
636
637         * gst/gstsegment.h:
638         And add a nice define too.
639
640 2005-11-21  Wim Taymans  <wim@fluendo.com>
641
642         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
643         (gst_segment_new), (gst_segment_free), (gst_segment_init),
644         (gst_segment_set_duration), (gst_segment_set_last_stop),
645         (gst_segment_set_seek), (gst_segment_set_newsegment),
646         (gst_segment_to_stream_time), (gst_segment_to_running_time),
647         (gst_segment_clip):
648         * gst/gstsegment.h:
649         Make binding friendly.
650
651 2005-11-21  Andy Wingo  <wingo@pobox.com>
652
653         * gst/gsttagsetter.h: 
654         * gst/gsttaglist.h: 
655         * gst/gststructure.h: 
656         * gst/gstcaps.h: 
657         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
658         #319940.
659
660         * gst/gsterror.c (_gst_core_errors_init):
661         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
662         category.
663
664         * gst/Makefile.am (gst_headers): Add glib-compat.h.
665         (noinst_HEADERS): noinst the -private.
666
667 2005-11-21  Michael Smith <msmith@fluendo.com>
668
669         * gst/gstplugin.h:
670         * gst/gstregistry.h:
671           Remove unimplemented declarations for which we can see no sensible
672           use.
673
674 2005-11-21  Andy Wingo  <wingo@pobox.com>
675
676         * gst/gst.h: Include glib-compat.h.
677
678         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
679
680         * gst/glib-compat.c: Include the public and the private header.
681
682         * gst/glib-compat-private.h: Copied here from glib-compat.h.
683
684         * gst/gstvalue.c: 
685         * gst/gstpad.c: 
686         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
687
688         * check/gst/gstevent.c (create_custom_events): Check that
689         FLUSH_STOP is serialized.
690
691         * check/elements/identity.c (event_func): 
692         * check/elements/fakesrc.c (event_func): No stream lock, the core
693         takes it.
694
695         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
696         stream lock taking, yay.
697
698         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
699         ensure that core takes the stream lock.
700
701         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
702         lock name change.
703
704         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
705         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
706         it already. For the flush start we do take it though so we get the
707         right preroll state change messages.
708
709         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
710         the stream lock here, the core does it for us.
711
712         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
713         GST_STREAM_GET_LOCK.
714         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
715         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
716         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
717         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
718         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
719         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
720
721         * gst/gstpad.c: Update for stream lock name change.
722
723         * gst/base/gstbasesink.c: Update for preroll lock name change.
724
725 2005-11-21  Wim Taymans  <wim@fluendo.com>
726
727         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
728         (gst_clock_get_master):
729         * gst/gstclock.h:
730         * gst/gstsystemclock.c: (gst_system_clock_init):
731         Convert Clock flags to object flags.
732         Added methods to manage master/slave clocks.
733
734 2005-11-21  Wim Taymans  <wim@fluendo.com>
735
736         * check/gst/gstsegment.c: (GST_START_TEST):
737         * docs/design/part-TODO.txt:
738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
739         (gst_base_sink_event), (gst_base_sink_do_sync),
740         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
741         (gst_base_sink_query), (gst_base_sink_change_state):
742         * gst/base/gstbasesink.h:
743         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
744         (gst_base_src_default_newsegment),
745         (gst_base_src_configure_segment), (gst_base_src_do_seek),
746         (gst_base_src_get_range), (gst_base_src_loop),
747         (gst_base_src_change_state):
748         * gst/base/gstbasesrc.h:
749         * gst/base/gstbasetransform.c:
750         (gst_base_transform_prepare_output_buf),
751         (gst_base_transform_event), (gst_base_transform_change_state):
752         * gst/base/gstbasetransform.h:
753         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
754         (gst_collect_pads_event):
755         * gst/base/gstcollectpads.h:
756         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
757         (gst_fake_src_create):
758         * gst/elements/gstfakesrc.h:
759         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
760         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
761         (gst_segment_set_last_stop), (gst_segment_set_seek),
762         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
763         (gst_segment_to_running_time), (gst_segment_clip):
764         * gst/gstsegment.h:
765         More segment updates, replace code in plugins with segment
766         helper functions.
767
768 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
769
770         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
771         Don't ignore sscanf results
772
773 2005-11-21  Andy Wingo  <wingo@pobox.com>
774
775         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
776
777         * *.h:
778         * *.c: Ran scripts/update-macros. Oh yes.
779
780         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
781         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
782         GST_GET_LOCK, etc.
783
784         * scripts/update-macros: New script. Run it on your files to
785         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
786         well.
787
788 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
789
790         * docs/gst/Makefile.am:
791         * docs/gst/gstreamer-docs.sgml:
792         * docs/gst/gstreamer-sections.txt:
793         * docs/gst/gstreamer.types:
794         * gst/gstinfo.h:
795           more docs fixes, add new api to the docs
796
797 2005-11-21  Andy Wingo  <wingo@pobox.com>
798
799         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
800         state_broadcast call.
801
802         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
803
804 2005-11-21  Julien MOUTTE  <julien@moutte.net>
805
806         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
807         function calls for arrays.
808
809 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
810
811         * docs/random/ensonic/media-device-daemon.txt:
812           wild idea, can this be done?
813         * docs/gst/gstreamer-sections.txt:
814         * gst/gsterror.h:
815         * gst/gstfilter.c:
816         * gst/gstfilter.h:
817         * gst/gstplugin.h:
818         * gst/gstpluginfeature.c:
819         * gst/gsttrace.c:
820         * gst/gstvalue.c:
821         * gst/gstvalue.h:
822           doc fixes and additions
823
824 2005-11-21  Andy Wingo  <wingo@pobox.com>
825
826         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
827         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
828         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
829         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
830         private to the basesrc implementation.
831
832         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
833         behalf of event function if necessary. It should no longer be
834         necessary to take the stream lock in pad's event functions. Fixes
835         #320299.
836
837 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
838         * docs/gst/gstreamer-sections.txt:
839         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
840         (gst_structure_fixate_field_nearest_double),
841         (gst_structure_fixate_field_boolean):
842         * gst/gststructure.h:
843         * win32/common/libgstreamer.def:
844         * win32/gstreamer.def:
845
846         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
847         (#322027)
848
849 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
850
851         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
852         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
853         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
854         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
855         (gst_fdsrc_uri_handler_init):
856         * gst/elements/gstfdsrc.h:
857           Port fd:// URI handler from 0.8 to fdsrc
858
859 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
860
861         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
862         (gst_value_serialize_fourcc):
863         * gst/gstvalue.h:
864           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
865           consistent with our other format defines (#320324).
866
867 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
868
869         * gst/gstvalue.c: (gst_value_is_fixed):
870           Revert previous commit. Value lists are by definition
871           not fixed, as they are a list of possible values.
872
873 2005-11-21  Andy Wingo  <wingo@pobox.com>
874
875         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
876         during the stable series if we need it. Fixes #319178.
877
878         * gst/gstevent.c (gst_event_new_filler): Removed.
879
880         * check/gst/gstevent.c: Update comment about filler events.
881
882 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
883
884         * gst/gstvalue.c: (gst_value_is_fixed):
885           Should handle both value arrays and value lists.
886
887 2005-11-21  Andy Wingo  <wingo@pobox.com>
888
889         patch by: Alessandro Dessina <alessandro nnva org>
890
891         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
892         functions to access arrays. Fixes #321962.
893
894 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
895
896         * docs/gst/gstreamer.types:
897           gst_collectpads_get_type => gst_collect_pads_get_type.
898           
899         * gst/base/gstbasetransform.c:
900           Remove unused SIGNAL_HANDOFF enum.
901
902 2005-11-21  Andy Wingo  <wingo@pobox.com>
903
904         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
905         the event type (upstream, downstream, serialized). Renamed
906         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
907         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
908         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
909
910         * gst/gstevent.c: Update for new CUSTOM event names.
911
912         * check/gst/gstevent.c: Update check for new CUSTOM event names.
913
914         * gst/gstevent.h:
915         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
916         bug #319392.
917
918 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
919
920         * docs/gst/gstreamer-sections.txt:
921         * win32/common/libgstbase.def:
922         * win32/libgstbase.def:
923         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
924         (gst_collect_pads_class_init), (gst_collect_pads_init),
925         (gst_collect_pads_finalize), (gst_collect_pads_new),
926         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
927         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
928         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
929         (gst_collect_pads_start), (gst_collect_pads_stop),
930         (gst_collect_pads_peek), (gst_collect_pads_pop),
931         (gst_collect_pads_available), (gst_collect_pads_read),
932         (gst_collect_pads_flush), (gst_collect_pads_event),
933         (gst_collect_pads_chain):
934         * gst/base/gstcollectpads.h:
935           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
936           unimplemented functions as unimplemented. Add padding to
937           GstCollectData. (#320766, #320423)
938
939 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
940
941         * gst/gstmessage.c:
942           Improve docs for DURATION message (usage of duration parameter)
943           (#320113)
944
945 2005-11-20  Wim Taymans  <wim@fluendo.com>
946
947         * check/Makefile.am:
948         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
949         (main):
950         * gst/Makefile.am:
951         * gst/gst.h:
952         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
953         (gst_segment_set_seek), (gst_segment_set_newsegment),
954         (gst_segment_to_stream_time), (gst_segment_to_running_time),
955         (gst_segment_clip):
956         * gst/gstsegment.h:
957         Added segment helper structure and methods. Not fully implemented
958         yet.
959         Added segment check.
960
961 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
962
963         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
964           Add a deserialisation test for fractions
965         * examples/metadata/read-metadata.c: (message_loop),
966         (make_pipeline), (main):
967           Fix up metadata reading sample.
968         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
969           Debug format fix
970         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
971           Don't try and fixate empty caps
972         * gst/gst_private.h:
973           Wrap in G_BEGIN_DECLS/G_END_DECLS
974         * gst/gstvalue.c: (gst_value_collect_fraction),
975         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
976         (gst_value_transform_string_fraction),
977         (gst_value_compare_fraction):
978           Add some extra guards to ensure that we don't end up 
979           with an invalid denominator of 0 in a gstfraction and
980           that fractions always get reduced.
981
982 2005-11-20  Wim Taymans  <wim@fluendo.com>
983
984         * docs/gst/gstreamer-sections.txt:
985         * gst/gstbuffer.h:
986         * gst/gstelement.c:
987         * gst/gstformat.c:
988         * gst/gstformat.h:
989         * gst/gstindex.h:
990         * gst/gstquery.c:
991         * gst/gstquery.h:
992         * gst/gstvalue.c:
993         Doc fixes.
994
995 2005-11-20  Wim Taymans  <wim@fluendo.com>
996
997         * docs/design/part-TODO.txt:
998         * gst/gstcaps.h:
999         Make a proper enum of the flag.
1000
1001 2005-11-19  Wim Taymans  <wim@fluendo.com>
1002
1003         * docs/design/part-TODO.txt:
1004         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1005         (gst_format_to_quark), (gst_format_register):
1006         * gst/gstformat.h:
1007         * gst/gstquery.c: (_gst_query_initialize),
1008         (gst_query_type_get_name), (gst_query_type_to_quark),
1009         (gst_query_type_register):
1010         * gst/gstquery.h:
1011         Add type to quark and type to string conversions.
1012
1013 2005-11-19  Andy Wingo  <wingo@pobox.com>
1014
1015         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1016         #320097.
1017
1018 2005-11-19  Wim Taymans  <wim@fluendo.com>
1019
1020         * docs/design/part-TODO.txt:
1021         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1022         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1023         (gst_bin_handle_message_func):
1024         * gst/gstbin.h:
1025         Make message handling overridable.
1026
1027 2005-11-19  Andy Wingo  <wingo@pobox.com>
1028
1029         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1030
1031         * gst/gstclock.h:
1032         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1033         be a GstClockTime.
1034         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1035         is a GstClockTime. Fixes #321710.
1036
1037         * gst/gstclock.h (GstClock): Remove offset property. Add
1038         internal_calibration and external_calibration. Fix padding. Pad
1039         also by GstClockTime so we don't run into problems.
1040
1041         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1042         (gst_clock_get_rate_offset): Remove.
1043         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1044
1045         * gst/gstutils.h:
1046         * gst/gstutils.c (g_static_rec_cond_wait)
1047         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1048
1049         * gst/gstbin.c: Remove terrible continue_state prototype.
1050
1051         * gst/gstelement.h (gst_element_continue_state): Make public.
1052
1053         * gst/gstelement.h:
1054         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1055         by continue_state. Fixes #319389.
1056
1057         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1058         Really fixes #168438. However I don't see anywhere where the
1059         filter function is called... stupid GStreamer...
1060         
1061         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1062         don't have a dispose function, so it won't get called when the
1063         object is unreffed, but oh well!
1064
1065         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1066         allows a destroy function to be set so user_data can be freed.
1067         Fixes #168438.
1068         (gst_index_set_filter): Call gst_index_set_filter_full.
1069
1070         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1071
1072         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1073         string should produce an error, given the lack of a way to
1074         represent NULL strings. Fixes #165650.
1075         
1076         * gst/gstvalue.h: 
1077         * gst/gstvalue.c (gst_value_array_append_value) 
1078         (gst_value_array_prepend_value, gst_value_array_get_size) 
1079         (gst_value_array_get_value): New API, copied from
1080         gst_value_list_*, only operates on arrays.
1081         (gst_value_list_append_value, gst_value_list_prepend_value) 
1082         (gst_value_list_concat, gst_value_list_get_size) 
1083         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1084
1085         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1086         init_list, because it works on both.
1087         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1088         (gst_value_copy_list_or_array): Renamed from copy_list.
1089         (gst_value_free_list_or_array): Renamed from free_list.
1090         (gst_value_collect_list_or_array): Renamed from collect_list.
1091         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1092         (gst_value_list_or_array_peek_pointer): Renamed from
1093         list_peek_pointer.
1094         (_gst_value_array_value_table, _gst_value_list_value_table):
1095         Update value table functions.
1096         (gst_value_compare_list_or_array): Renamed from compare_list.
1097
1098         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1099         some constness.
1100
1101         * gst/gsttaglist.c:
1102         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1103         GstTagList*. Fixes #143472.
1104
1105         * gst/gststructure.h: Clarify what the foreach/map functions can
1106         or can't do to their arguments.
1107
1108 2005-11-18  Wim Taymans  <wim@fluendo.com>
1109
1110         * gst/gstclock.c: (gst_clock_set_calibration),
1111         (gst_clock_get_calibration):
1112         Doc and API fixes.
1113         Calibration can be set with internal time equal to current
1114         internal time too.
1115
1116 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1117
1118         * gst/gsterror.c:
1119         * gst/gsterror.h:
1120           document
1121
1122 2005-11-18  Andy Wingo  <wingo@pobox.com>
1123
1124         * configure.ac: 
1125         * pkgconfig/gstreamer-net.pc.in:
1126         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1127         * pkgconfig/Makefile.am: Add net pkgconfig files.
1128
1129 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1130
1131         * gst/gstcaps.c:
1132         * gst/gstghostpad.c:
1133         * gst/gsttrace.c:
1134         * gst/gstvalue.c:
1135         * gst/gstvalue.h:
1136           docs fixes
1137
1138 2005-11-18  Andy Wingo  <wingo@pobox.com>
1139
1140         * gst/net/gstnetclientclock.c: Turn off debugging.
1141
1142         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1143         times connverge somewhat. Can't make a real test.
1144
1145         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1146         integer arithmetic. Return the minimum of the domain, which can be
1147         set as "internal" for gst_clock_set_calibration.
1148         (gst_net_client_clock_observe_times): Call _set_calibration.
1149         (gst_net_client_clock_new): Call _set_calibration instead of
1150         rate_offset.
1151
1152         * check/net/gstnetclientclock.c (test_functioning): Use the right
1153         adjustment api.
1154
1155         * gst/gstclock.h:
1156         * gst/gstclock.c (gst_clock_get_calibration) 
1157         (gst_clock_set_calibration): New functions, obsolete the ones I
1158         added yesterday. Doh. Precision issues mean we have to extrapolate
1159         from a point in the more recent past than 1970.
1160         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1161         obsolete.
1162         (gst_clock_adjust_unlocked): Use the right calibration data.
1163
1164 2005-11-18  Edward Hervey  <edward@fluendo.com>
1165
1166         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1167         Also reset the ->current_* values in READY->PAUSED
1168
1169 2005-11-18  Andy Wingo  <wingo@pobox.com>
1170
1171         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1172         Whoops, check the right fd. Also add some debugging.
1173         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1174         (do_linear_regression): Add a crapload of debugging. Subtract off
1175         the minimum values from the input series to discard unneeded bits.
1176         Use only int arithmetic. There is still double arithmetic when
1177         calculating the intercept that needs fixing. Return boolean to
1178         indicate success; FALSE would mean the domain or range is too
1179         great. Still needs fixes.
1180
1181 2005-11-18  Wim Taymans  <wim@fluendo.com>
1182
1183         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1184         For the current position in stream time, we need to subtract
1185         accumulated time.
1186         
1187         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1188         Release lock before calling the callback function of async
1189         entries.
1190
1191 2005-11-18  Andy Wingo  <wingo@pobox.com>
1192
1193         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1194         Port goes all the way to MAXUINT16.
1195
1196         * gst/net/gstnettimeprovider.c: Make the port range the same as
1197         for the kernel: 0 assigns, otherwise ports are less than
1198         MAXUINT16.
1199
1200         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1201         port change.
1202
1203         * check/net/gstnetclientclock.c (test_functioning): Add the start
1204         of another test. 
1205
1206 2005-11-18  Wim Taymans  <wim@fluendo.com>
1207
1208         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1209         (gst_bin_remove_func), (bin_bus_handler):
1210         * gst/gstbin.h:
1211         Removing a clock provider from a bin, triggers a clock lost message
1212         so that a new clock will be selected.
1213         Adding a clock to a bin triggers a clock provider message.
1214         Make sure we reselect a clock when we received a clock lost message.
1215         Keep a reference to the element that provided the clock.
1216
1217 2005-11-18  Andy Wingo  <wingo@pobox.com>
1218
1219         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1220         the clock initially so it produces values around the base time.
1221         (gst_net_client_clock_class_init): Typo fix.
1222         (gst_net_client_clock_thread): Add note on when the socket gets
1223         closed.
1224
1225 2005-11-17  Wim Taymans  <wim@fluendo.com>
1226
1227         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1228         Free remote and local time arrays.
1229
1230 2005-11-17  Wim Taymans  <wim@fluendo.com>
1231
1232         * gst/net/gstnetclientclock.c: (do_linear_regression),
1233         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1234         Fix compilation, uninitialized vars and a forgotten continue.
1235
1236 2005-11-17  Andy Wingo  <wingo@pobox.com>
1237
1238         * check/Makefile.am (check_PROGRAMS): 
1239         * check/net/gstnetclientclock.c: Add a most minimal test for the
1240         net client clock. More to come later.
1241
1242         * gst/net/gstnet.h: 
1243         * gst/net/Makefile.am: Add netclientclock.
1244
1245         * gst/net/gstnetclientclock.h:
1246         * gst/net/gstnetclientclock.c: New files, implement an untested
1247         GstClock that takes its time from a network time provider.
1248         Implements the algorithm in network-clock.scm.
1249
1250         * tests/network-clock.scm (*window-size*): Rename from
1251         *queue-length*.
1252         * tests/network-clock.scm (network-time): 
1253         * tests/network-clock-utils.scm (q-push): Update callers.
1254
1255 2005-11-17  Wim Taymans  <wim@fluendo.com>
1256
1257         * gst/gstbin.c: (gst_bin_provide_clock_func),
1258         (gst_bin_sort_iterator_new):
1259         And unref the child too..
1260
1261 2005-11-17  Wim Taymans  <wim@fluendo.com>
1262
1263         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1264         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1265         Refactor the sort iterator so it can be used while holding the
1266         LOCK too.
1267         Make clock selection select a clock closest to the source.
1268
1269 2005-11-17  Michael Smith <msmith@fluendo.com>
1270
1271         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1272         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1273         * gst/gstclock.h:
1274           Anonymous structs are a gcc (and some other compilers) extension, so
1275           don't use them. Since this is only for ABI-compatibility, and our
1276           API/ABI freeze is over in a few days, this whole thing will only
1277           last a few days, so don't bother trying to think up a meaningful
1278           name for the struct.
1279
1280 2005-11-17  Andy Wingo  <wingo@pobox.com>
1281
1282         * gst/gstclock.h (GstClock): Add rate and offset properties,
1283         preserving ABI stability. Add rate/offset accessors. Will file bug
1284         for the freeze break.
1285
1286         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1287         and offset, trying to keep precision and avoiding
1288         underflow/overflow.
1289         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1290         functions. Make gst_clock_set_time_adjust obsolete.
1291         (gst_clock_set_time_adjust): Note that this function is obsolete.
1292         Will file bug soon.
1293
1294         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1295         greppable by using GST_PADDING-1+1.
1296
1297 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1298
1299         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1300
1301         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1302           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1303
1304         * gst/gstpadtemplate.h:
1305         * gst/gstpluginfeature.h:
1306           Don't use c++ style comments in headers (#321638).
1307
1308 2005-11-16  Andy Wingo  <wingo@pobox.com>
1309
1310         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1311         buffer.
1312
1313         * check/net/gstnettimeprovider.c: Check to see that the time
1314         provider actually provides times. Works, yo!
1315
1316 2005-11-16  Wim Taymans  <wim@fluendo.com>
1317
1318         * check/Makefile.am:
1319         Enable more tests.
1320
1321         * check/elements/fakesrc.c: (GST_START_TEST):
1322         Set element to NULL before disposing it.
1323
1324 2005-11-16  Andy Wingo  <wingo@pobox.com>
1325
1326         * gst/net/Makefile.am:
1327         * gst/net/gstnet.h:
1328         * gst/net/gstnettimeprovider.c: 
1329         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1330         provider, include it from gstnet.h, and add it to the build.
1331
1332         * gst/net/gstnettimepacket.h: 
1333         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1334         sending and receiving.
1335
1336 2005-11-16  Wim Taymans  <wim@fluendo.com>
1337
1338         * check/Makefile.am:
1339         Enable valgrind check.
1340
1341         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1342         (gst_fake_src_alloc_buffer):
1343         Fix memleak.
1344
1345 2005-11-16  Wim Taymans  <wim@fluendo.com>
1346
1347         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1348         Call parent finalize too.
1349
1350 2005-11-16  Wim Taymans  <wim@fluendo.com>
1351
1352         * check/Makefile.am:
1353         Enable valgrind check that should work fine now.
1354
1355         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1356         * gst/gstqueue.c: (gst_queue_init):
1357         Fix memleaks in pad allocation.
1358
1359 2005-11-16  Andy Wingo  <wingo@pobox.com>
1360
1361         * gst/net/Makefile.am:
1362         * gst/net/gstnet.h: New part of core to hold network elements and
1363         objects. Put in core because it exposes API that applications want
1364         to use. The library is named libgstnet-tempname right now because
1365         of the existing libgstnet in gst-plugins-base. Solution is
1366         probably to rename the one in plugins-base; will file a bug for
1367         the freeze break.
1368
1369         * gst/net/gstnettimeprovider.c: 
1370         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1371         get_time call over the network.
1372
1373         * configure.ac: 
1374         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1375
1376         * check/Makefile.am:
1377         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1378         get additions shortly.
1379
1380 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1381
1382         * gst/gstpad.c: (gst_pad_new_from_static_template):
1383         * gst/gstpad.h:
1384           add gst_pad_new_from_static_template functions
1385         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1386         (gst_check_setup_sink_pad):
1387         * gst/elements/gsttee.c: (gst_tee_init):
1388           and use them
1389
1390 2005-11-16  Wim Taymans  <wim@fluendo.com>
1391
1392         * gst/gstpad.c: (gst_pad_pause_task):
1393         Removed warning, it's not really an error either.
1394
1395 2005-11-16  Wim Taymans  <wim@fluendo.com>
1396
1397         * gst/base/gstbasetransform.c:
1398         (gst_base_transform_prepare_output_buf),
1399         (gst_base_transform_event):
1400         Check if the caps are NULL, this can happen if the element
1401         is shutting down and the pad caps are set to NULL.
1402
1403 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1404
1405         * gst/elements/gsttee.c: (gst_tee_init):
1406           fix pad template leak in tee
1407
1408 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1409
1410         * gst/glib-compat.c: (g_value_dup_gst_object):
1411         * gst/glib-compat.h:
1412         * gst/gstpad.c: (gst_pad_set_property):
1413           use gst_object_ref when setting the pad template; this will
1414           trigger the pad template leaks on GLib 2.6 and the slaves
1415
1416 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1417
1418         * gst/glib-compat.c: (gst_flags_get_first_value):
1419         * gst/glib-compat.h:
1420         * gst/gstregistryxml.c:
1421           remove functions copied from GLib 2.6
1422
1423 2005-11-16  Michael Smith <msmith@fluendo.com>
1424
1425         * gst/Makefile.am:
1426           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1427           do, but only breaks with newer valgrind versions. We're not a
1428           valgrind tool, we have no link-time dependencies on libcoregrind.
1429
1430 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1431
1432         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1433           some debug changes
1434         * gst/gstmessage.h:
1435           typo fixes
1436
1437 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1438
1439         * gst/base/gstbasesrc.c: (gst_base_src_init):
1440         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1441         * gst/gstqueue.c: (gst_queue_init):
1442         * gst/gstregistryxml.c: (load_feature):
1443           Revert all these unrefs, they don't even pass make check !
1444
1445 2005-11-15  Johan Dahlin  <johan@gnome.org>
1446
1447         * gst/base/gstbasesrc.c: (gst_base_src_init):
1448         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1449         * gst/gstqueue.c: (gst_queue_init): 
1450         Free pad templates, fixes a couple of leaks.
1451
1452 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1453
1454         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1455
1456         * gst/gstpad.c: (gst_pad_get_property):
1457           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1458           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1459           (#321452)
1460
1461 2005-11-15  Wim Taymans  <wim@fluendo.com>
1462
1463         * gst/gstevent.c:
1464         Small doc update.
1465
1466 2005-11-15  Andy Wingo  <wingo@pobox.com>
1467
1468         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1469
1470         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1471         using GST_CLOCK_TIME_NONE to disable base time management.
1472         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1473         time if it was NONE before.
1474         (gst_pipeline_change_state): Only munge the base time if
1475         stream_time != GST_CLOCK_TIME_NONE.
1476
1477         * check/gst/gstpipeline.c (test_base_time): Punt around the
1478         problem of the probe not being called, because that's not the
1479         issue I'm looking at. Add a check that setting stream_time to NONE
1480         disables base time management.
1481         
1482 2005-11-15  Wim Taymans  <wim@fluendo.com>
1483
1484         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1485         segment_stop == -1 at startup.
1486
1487         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1488         (gst_base_transform_change_state):
1489         Init segment values at start.
1490
1491 2005-11-15  Wim Taymans  <wim@fluendo.com>
1492
1493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1494         0 segment values are 0 in any format.
1495
1496         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1497         * gst/base/gstbasetransform.h:
1498         Parse newsegment correctly in basetransform
1499
1500         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1501         Sync to clock using updated segment values.
1502
1503 2005-11-15  Andy Wingo  <wingo@pobox.com>
1504
1505         * check/gst/gstpipeline.c (test_base_time): Add check that the
1506         base time and stream time are reset correctly.
1507
1508 2005-11-15  Wim Taymans  <wim@fluendo.com>
1509
1510         * docs/design/part-TODO.txt:
1511         Some more TODO items.
1512
1513 2005-11-15  Andy Wingo  <wingo@pobox.com>
1514
1515         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1516         error if the user selected "no clock" as the clocking method.
1517
1518         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1519         timestamps with live capture.
1520
1521         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1522         is 0 but we are a live source, timestamp the buffers using the
1523         element's clock.
1524
1525 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1526
1527         * docs/gst/gstreamer-sections.txt:
1528         * gst/gsterror.c:
1529         * gst/gstghostpad.c:
1530         * gst/gstobject.h:
1531         * gst/gstxml.c:
1532           more section docs
1533
1534 2005-11-14  Wim Taymans  <wim@fluendo.com>
1535
1536         * common/gst.supp:
1537           add suppressions from Wim's Debian machine
1538
1539 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1540
1541         * common/gst.supp:
1542           add suppressions from Andy's AMD64 Ubuntu machine
1543
1544 2005-11-14  Andy Wingo  <wingo@pobox.com>
1545
1546         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1547         STATE_LOCK not necessary. Fixes #311489.
1548
1549         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1550         #305291.
1551
1552         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1553         this function is not implemented.
1554
1555 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1556
1557         * gst/base/gstbasetransform.c:
1558         (gst_base_transform_prepare_output_buf):
1559         Ref the source pad caps while we need them.
1560         Fixes (#321386)
1561
1562 2005-11-11  Wim Taymans  <wim@fluendo.com>
1563
1564         * docs/gst/gstreamer-sections.txt:
1565         Added some docs for GstCollectData.
1566
1567         * gst/base/gstadapter.c:
1568         Some small code example fix.
1569
1570         * gst/base/gstcollectpads.c:
1571         * gst/base/gstcollectpads.h:
1572         Document some more.
1573
1574 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1575
1576         * configure.ac: back to HEAD
1577
1578 === release 0.9.5 ===
1579
1580 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1581
1582         * configure.ac:
1583           releasing 0.9.5, "Bike Lunch Day"
1584
1585 2005-11-11  Wim Taymans  <wim@fluendo.com>
1586
1587         * gst/gstbuffer.c: (_gst_buffer_copy):
1588         Copy more flags.
1589
1590         * gst/gstcaps.c: (gst_caps_is_equal):
1591         Fix some docs.
1592         Make _is_equal fast in the trivial cases.
1593
1594         * gst/gstminiobject.c:
1595         * gst/gstminiobject.h:
1596         More docs. Spifify .h file.
1597
1598         * gst/gstutils.c:
1599         Small doc update.
1600
1601 2005-11-11  Wim Taymans  <wim@fluendo.com>
1602
1603         * gst/base/gstbasetransform.c:
1604         (gst_base_transform_prepare_output_buf),
1605         (gst_base_transform_handle_buffer):
1606         Small cleanups.
1607         If we're processing a buffer and need to allocate an output
1608         buffer, we cannot accept a format change. If we did get a 
1609         format change, we have to alloc a buffer ourselves of the 
1610         right size.
1611
1612 2005-11-11  Wim Taymans  <wim@fluendo.com>
1613
1614         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1615         While checking the flag for reentrancy in the gstcaps function
1616         is nice to detect recursive invocations, it also makes it 
1617         impossible to call getcaps from multiple threads, which must be
1618         possible. So, checking for recursive calls has to go.
1619
1620 2005-11-11  Michael Smith <msmith@fluendo.com>
1621
1622         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1623           Don't sync on buffers that fall partially outside our current
1624           segment. Prevents an assertion failure/abort playing some files.
1625
1626 2005-11-10  Andy Wingo  <wingo@pobox.com>
1627
1628         * check/gst/gstbin.c (test_message_state_changed_children): Style
1629         fix..
1630
1631         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1632         gst_bus_poll with the signal watch. Ensures that poll and a signal
1633         watch see the same messages.
1634
1635         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1636         a poll and a watch at the same time get the same messages.
1637
1638 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1639
1640         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1641         * gst/gstcaps.c: (gst_caps_intersect):
1642           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1643           and it's not needed.
1644
1645 2005-11-10  Wim Taymans  <wim@fluendo.com>
1646
1647         * docs/design/part-TODO.txt:
1648         Updated todo.
1649
1650 2005-11-10  Wim Taymans  <wim@fluendo.com>
1651
1652         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1653         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1654         (gst_base_src_do_sync), (gst_base_src_get_range):
1655         Implement clock sync in base class.
1656
1657 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1658
1659         patch by: Tim-Philipp Müller <tim at centricular dot net>
1660
1661         * gst/gststructure.c: (gst_structure_parse_field),
1662         (gst_structure_from_string):
1663           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1664           so that gst_parse_launch() can deal with spaces in filtered link
1665           caps (fixes #164479)
1666         * check/gst/capslist.h:
1667         * check/gst/gststructure.c: (GST_START_TEST):
1668           add unit tests for this change
1669
1670 2005-11-10  Wim Taymans  <wim@fluendo.com>
1671
1672         * docs/gst/gstreamer-sections.txt:
1673         * gst/gstelement.c:
1674         * gst/gstelement.h:
1675         Fix docs, move some STATE macros to private.
1676
1677 2005-11-10  Wim Taymans  <wim@fluendo.com>
1678
1679         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1680         Added check for bug #317341
1681
1682         * gst/gstbuffer.c:
1683         * gst/gstbuffer.h:
1684         Some more spiffifying.
1685
1686         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1687         Call peer linkfunction if we are a source pad. Totally fixes
1688         #317341
1689
1690         * gst/gstpad.c:
1691         Update docs, source pads should call the peer linkfunction
1692         so they can atomically perform the pad link.
1693
1694 2005-11-09  Wim Taymans  <wim@fluendo.com>
1695
1696         * gst/gstbuffer.c:
1697         * gst/gstbuffer.h:
1698         Uber-spiffy-spiffify some more.
1699
1700 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1701
1702         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1703         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1704         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1705         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1706         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1707         * gst/gstpad.c: (gst_pad_init):
1708           Use GST_DEBUG_FUNCPTR() more extensively.
1709
1710 2005-11-09  Wim Taymans  <wim@fluendo.com>
1711
1712         * gst/gstobject.c: (gst_object_class_init):
1713         * gst/gstobject.h:
1714         Documentation fixes.
1715
1716 2005-11-09  Edward Hervey  <edward@fluendo.com>
1717
1718         * gst/gsttypefindfactory.c:
1719         Fix docs.
1720         
1721 2005-11-09  Edward Hervey  <edward@fluendo.com>
1722
1723         * gst/base/gsttypefindhelper.c:
1724         * gst/gsttypefind.c:
1725         * gst/gsttypefind.h:
1726         Fix docs.
1727
1728 2005-11-09  Wim Taymans  <wim@fluendo.com>
1729
1730         * gst/gstiterator.c:
1731         Fix revision data.
1732
1733         * gst/gsttask.c:
1734         * gst/gsttask.h:
1735         Fix docs.
1736
1737 2005-11-09  Wim Taymans  <wim@fluendo.com>
1738
1739         * gst/gstevent.h:
1740         * gst/gsturi.h:
1741         Fix docs.
1742
1743 2005-11-09  Wim Taymans  <wim@fluendo.com>
1744
1745         * docs/gst/gstreamer-sections.txt:
1746         Moved the message async delivery private lock and cond
1747         to the private section.
1748
1749         * gst/gstmessage.c:
1750         * gst/gstmessage.h:
1751         Fixed docs.
1752
1753 2005-11-09  Edward Hervey  <edward@fluendo.com>
1754
1755         * docs/gst/gstreamer-sections.txt:
1756         * gst/gsturi.c:
1757         * gst/gsturi.h:
1758         Document GstURIHandler
1759
1760 2005-11-09  Wim Taymans  <wim@fluendo.com>
1761
1762         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1763         (gst_iterator_find_custom):
1764         * gst/gstiterator.h:
1765         Fix iterator docs.
1766
1767 2005-11-09  Wim Taymans  <wim@fluendo.com>
1768
1769         * gst/gstbin.h:
1770         Document another field.
1771
1772         * gst/gststructure.c:
1773         * gst/gststructure.h:
1774         Document.
1775
1776 2005-11-09  Wim Taymans  <wim@fluendo.com>
1777
1778         * gst/gstbin.h:
1779         Documented structs.
1780
1781 2005-11-09  Wim Taymans  <wim@fluendo.com>
1782
1783         * docs/gst/gstreamer-sections.txt:
1784         Added some new macros.
1785
1786         * gst/gstclock.c:
1787         * gst/gstclock.h:
1788         * gst/gstobject.h:
1789         Docs updates.
1790
1791 2005-11-09  Wim Taymans  <wim@fluendo.com>
1792
1793         * docs/design/part-TODO.txt:
1794         Some more items for the TODO
1795
1796         * gst/gstcaps.c:
1797         * gst/gstcaps.h:
1798         Document GstCaps.
1799
1800 2005-11-09  Andy Wingo  <wingo@pobox.com>
1801
1802         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1803         to work on something else now tho...
1804
1805         * gst/base/gstadapter.c: More adapter docs.
1806
1807         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1808         (gst_file_sink_stop): New functions, replace the state change
1809         handler.
1810         (gst_file_sink_class_init): Hook up the start and stop functions.
1811         (gst_file_sink_base_init): Don't set the state change handler any
1812         more. It was a bit ugly too, being set from here...
1813         (gst_file_sink_get_property, gst_file_sink_set_property):
1814         Cleanups...
1815         (gst_file_sink_set_location): More robust check that doesn't call
1816         GST_STATE. Ugggggg.
1817
1818 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1819
1820         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1821           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1822
1823 2005-11-08  Wim Taymans  <wim@fluendo.com>
1824
1825         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1826         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1827         (gst_base_sink_chain), (gst_base_sink_change_state):
1828         * gst/base/gstbasesink.h:
1829         * gst/base/gstbasesrc.h:
1830         * gst/gstelement.h:
1831         * gst/gstevent.h:
1832         Avoid excessive typechecking in macros.
1833
1834         * gst/gstminiobject.c: (gst_mini_object_get_type),
1835         (gst_mini_object_init), (gst_mini_object_new),
1836         (gst_mini_object_free):
1837         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1838         (gst_object_finalize):
1839         Remove cruft code, optimize alloc_trace.
1840
1841 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1842
1843         * docs/faq/gst-uninstalled:
1844           fix up PS1 for systems that try to reset it
1845
1846 2005-11-07  Wim Taymans  <wim@fluendo.com>
1847
1848         * gst/base/gstbasesrc.c: (gst_base_src_init),
1849         (gst_base_src_get_range):
1850         Set the segment_end to -1 initially. Fixed typefind.
1851
1852 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1853
1854         * gst/base/gstadapter.c:
1855           Debug category should be 'adapter', not 'GstAdapter'.
1856           
1857         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1858         (gst_collectpads_class_init), (gst_collectpads_init),
1859         (gst_collectpads_peek), (gst_collectpads_pop),
1860         (gst_collectpads_event), (gst_collectpads_chain):
1861           Add debug category and some debugging output. Use boilerplate
1862           macros. Remove some extraneous words from docs.
1863
1864 2005-11-05  Andy Wingo  <wingo@pobox.com>
1865
1866         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1867         macro.
1868
1869 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1870
1871         * docs/gst/gstreamer-sections.txt:
1872         * gst/gstcaps.h:
1873         * gst/gstinfo.c:
1874         * gst/gstminiobject.h:
1875         * gst/gstobject.h:
1876         * gst/gstutils.h:
1877           more docs added
1878
1879 2005-11-04  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1882         Small update to stop at the configured segment_end
1883         position.
1884
1885 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1886
1887         * gst/gstregistry.c:
1888         * gst/gstregistry.h:
1889           added missing docs
1890
1891 2005-11-04  Edward Hervey  <edward@fluendo.com>
1892
1893         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1894         Check if we are doing a segment seek and have arrived at the
1895         end of that segment.
1896
1897 2005-11-04  Wim Taymans  <wim@fluendo.com>
1898
1899         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1900         Don't leak a mutex unlock in case of an error.
1901
1902         * gst/gstbus.h:
1903         Doc fixes.
1904
1905 2005-11-04  Wim Taymans  <wim@fluendo.com>
1906
1907         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1908         (gst_bus_post):
1909         Get the context to wake up only once.
1910
1911 2005-11-03  Wim Taymans  <wim@fluendo.com>
1912
1913         * check/states/sinks.c: (GST_START_TEST):
1914         Uncomment fixed check.
1915
1916         * docs/design/part-TODO.txt:
1917         Updated TODO.
1918
1919         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1920         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1921         (gst_base_sink_get_position):
1922         If we are going to PLAYING, post the right pending state
1923         when we post the intermediate paused message.
1924
1925         * gst/gstelement.c: (gst_element_continue_state),
1926         (gst_element_set_state_func), (gst_element_change_state):
1927         Don't post state changes that were between the same state
1928         and were not ASYNC.
1929
1930 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1931
1932         * docs/gst/gstreamer-sections.txt:
1933         * gst/gstcaps.h:
1934         * gst/gstinfo.c:
1935         * gst/gstminiobject.h:
1936         * gst/gstobject.h:
1937         * gst/gstutils.h:
1938           more docs and doc style fixes
1939
1940 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1941
1942         * docs/gst/gstreamer-sections.txt:
1943         * gst/gstelement.c:
1944         * gst/gstminiobject.c:
1945         doc fixes
1946
1947 2005-11-03  Andy Wingo  <wingo@pobox.com>
1948
1949         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1950         state-changed messages actually have the right order and the right
1951         values.
1952
1953 2005-11-03  Wim Taymans  <wim@fluendo.com>
1954
1955         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1956         Added some more checks. Specifically the case where NO_PREROLL
1957         elements are in the pipeline.
1958
1959         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1960         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1961         (gst_base_sink_get_position):
1962         Post READY->PAUSED state change messages too.
1963         Fix bug where VOID was posted as pending state...
1964
1965         * gst/gstbin.c: (gst_bin_recalc_state):
1966         use _element_continue_state() to continue the state change.
1967
1968         * gst/gstelement.c: (gst_element_continue_state),
1969         (gst_element_commit_state), (gst_element_set_state_func),
1970         (gst_element_change_state), (gst_element_change_state_func):
1971         Lots of state change cleanups, assign the STATE_RETURN in
1972         a new continue_state() function that also propagates the
1973         last return value from a state change to the app.
1974         Update some debug statements with proper category.
1975
1976 2005-11-03  Wim Taymans  <wim@fluendo.com>
1977
1978         * docs/design/part-events.txt:
1979         * docs/design/part-gstpipeline.txt:
1980         * docs/design/part-messages.txt:
1981         * docs/design/part-overview.txt:
1982         * docs/design/part-seeking.txt:
1983         * docs/design/part-states.txt:
1984         * docs/design/part-trickmodes.txt:
1985         * docs/manual/advanced-position.xml:
1986         Small docs updates.
1987
1988         * gst/gstobject.h:
1989         People think !! is ugly, this looks better.
1990
1991         * gst/gstpad.c: (gst_pad_set_blocked_async):
1992         Remove !! since it's fixed elsewhere now.
1993
1994 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1995
1996         * gst/gstminiobject.h:
1997         * gst/gstobject.h:
1998           Add !! to _FLAG_IS_SET macros to make the result boolean.
1999
2000 2005-11-03  Edward Hervey  <edward@fluendo.com>
2001
2002         * gst/gstpad.c: (gst_pad_set_blocked_async):
2003         comparing a flag and a gboolean rarely returns coherent results...
2004         Added two characters (!!) to make that work correctly.
2005         
2006 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2007
2008         * gst/gstbus.c: (gst_bus_class_init):
2009           Fix some typos.
2010           
2011         * gst/gstqueue.c: (gst_queue_loop):
2012           Don't assume a miniobject that isn't a buffer is an
2013           event (it could be that there is a refcounting
2014           problem somewhere and the pointer is stale and
2015           refers to an already destroyed miniobject).
2016
2017 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2018
2019         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2020
2021 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2022
2023         * docs/manual/advanced-position.xml:
2024           Update seek example and explanations to current 0.9 API.
2025
2026         * gst/elements/gsttypefindelement.c:
2027         (gst_type_find_element_activate):
2028           Remove FIXME comment now that the found caps
2029           are unreffed.
2030
2031 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2032
2033         * gst/gstregistryxml.c: (load_feature):
2034           Add another GST_STR_NULL instance
2035
2036 2005-11-02  Edward Hervey  <edward@fluendo.com>
2037
2038         * gst/gstpad.c: (handle_pad_block):
2039         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2040         
2041 2005-11-02  Wim Taymans  <wim@fluendo.com>
2042
2043         * gst/gstbin.c:
2044         Fix typo in docs.
2045
2046         * gst/gstelement.c: (gst_element_commit_state):
2047         Remove unused value.
2048
2049         * gst/gstiterator.c:
2050         Mention that the returned element is reffed in the docs.
2051
2052 2005-11-02  Wim Taymans  <wim@fluendo.com>
2053
2054         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2055         (gst_pad_push), (gst_pad_push_event):
2056         Unlock blocked pads when they are flushed.
2057
2058 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2059
2060         * docs/README:
2061         * docs/gst/gstreamer-sections.txt:
2062         * gst/gstbin.c:
2063           doc updates
2064         * gst/gstregistry.c: (gst_registry_scan_path_level):
2065           fix for a nasty little missed situation where an installed plug-in
2066           which was in the cache did not get overridden by an uninstalled one
2067           which was earlier in the plugin path because the newly created plugin
2068           for the uninstalled one (not in the registry) didn't get its
2069           ->registered set to TRUE
2070
2071 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2072
2073         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2074         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2075         (gst_collectpads_is_active), (gst_collectpads_collect),
2076         (gst_collectpads_collect_range), (gst_collectpads_start),
2077         (gst_collectpads_stop), (gst_collectpads_peek),
2078         (gst_collectpads_pop), (gst_collectpads_available),
2079         (gst_collectpads_read), (gst_collectpads_flush):
2080           Guard public API with assertions.
2081         
2082         * gst/gstpad.c:
2083           Fix docs for gst_pad_set_link_function().
2084
2085 2005-11-02  Johan Dahlin  <johan@gnome.org>
2086
2087         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2088         Unref found_caps after we used it.
2089
2090 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2091
2092         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2093           Don't try to ref NULL.
2094
2095 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2096
2097         * win32/common/config.h.in:
2098           provide a GST_FUNCTION that just gives a string for now
2099
2100 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2101
2102         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2103         (gst_object_flags_get_type), (register_gst_bin_flags),
2104         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2105         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2106         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2107         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2108         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2109         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2110         (gst_clock_flags_get_type), (register_gst_state),
2111         (gst_state_get_type), (register_gst_state_change_return),
2112         (gst_state_change_return_get_type), (register_gst_state_change),
2113         (gst_state_change_get_type), (register_gst_element_flags),
2114         (gst_element_flags_get_type), (register_gst_core_error),
2115         (gst_core_error_get_type), (register_gst_library_error),
2116         (gst_library_error_get_type), (register_gst_resource_error),
2117         (gst_resource_error_get_type), (register_gst_stream_error),
2118         (gst_stream_error_get_type), (register_gst_event_type),
2119         (gst_event_type_get_type), (register_gst_seek_type),
2120         (gst_seek_type_get_type), (register_gst_seek_flags),
2121         (gst_seek_flags_get_type), (register_gst_format),
2122         (gst_format_get_type), (register_gst_index_certainty),
2123         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2124         (gst_index_entry_type_get_type),
2125         (register_gst_index_lookup_method),
2126         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2127         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2128         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2129         (gst_index_flags_get_type), (register_gst_debug_level),
2130         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2131         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2132         (gst_iterator_result_get_type), (register_gst_iterator_item),
2133         (gst_iterator_item_get_type), (register_gst_message_type),
2134         (gst_message_type_get_type), (register_gst_mini_object_flags),
2135         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2136         (gst_pad_link_return_get_type), (register_gst_flow_return),
2137         (gst_flow_return_get_type), (register_gst_activate_mode),
2138         (gst_activate_mode_get_type), (register_gst_pad_direction),
2139         (gst_pad_direction_get_type), (register_gst_pad_flags),
2140         (gst_pad_flags_get_type), (register_gst_pad_presence),
2141         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2142         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2143         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2144         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2145         (gst_plugin_flags_get_type), (register_gst_rank),
2146         (gst_rank_get_type), (register_gst_query_type),
2147         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2148         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2149         (gst_tag_flag_get_type), (register_gst_task_state),
2150         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2151         (gst_alloc_trace_flags_get_type),
2152         (register_gst_type_find_probability),
2153         (gst_type_find_probability_get_type), (register_gst_uri_type),
2154         (gst_uri_type_get_type), (register_gst_parse_error),
2155         (gst_parse_error_get_type):
2156         * win32/common/gstversion.h:
2157           update win32 copies
2158
2159 2005-11-01  Luca Ognibene  <luogni@tin.it>
2160
2161         * gst/gst.c:
2162           fix docs. popt is dead, long live GOption.
2163
2164 2005-10-31  Wim Taymans  <wim@fluendo.com>
2165
2166         * gst/gstbuffer.h:
2167         Small doc fix.
2168
2169 2005-10-31  Andy Wingo  <wingo@pobox.com>
2170
2171         * Boo!
2172
2173         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2174
2175         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2176         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2177         the possibility of deadlocks here if code calling notify() or
2178         set() has a lock that can be taken in another notify handler (ABBA
2179         with class lock and e.g. python GIL state lock).
2180
2181 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2182
2183         * gst/gstbus.c: Doc updates.
2184
2185 2005-10-28  Wim Taymans  <wim@fluendo.com>
2186
2187         * docs/design/part-TODO.txt:
2188         * gst/gstiterator.c:
2189         * gst/gstsystemclock.c:
2190         * gst/gstsystemclock.h:
2191         Doc updates.
2192
2193 2005-10-28  Edward Hervey  <edward@fluendo.com>
2194
2195         * docs/gst/gstreamer-docs.sgml:
2196         * docs/gst/gstreamer-sections.txt:
2197         the GstURIType documentation page is private, it only defines GstURIType
2198         which should be defined in the GstURIHandler page
2199         
2200 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2201
2202         * gst/gstbin.c: (gst_bin_class_init):
2203         * gst/gstbin.h:
2204         * gst/gstutils.c:
2205         Documentation updates.
2206
2207 2005-10-28  Wim Taymans  <wim@fluendo.com>
2208
2209         * docs/gst/gstreamer-sections.txt:
2210         * gst/gstclock.c:
2211         * gst/gstclock.h:
2212         Documented the clocks.
2213
2214 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2215
2216         * docs/gst/gstreamer-sections.txt:
2217           move some macros to private sections
2218         * gst/gstminiobject.c:
2219         * gst/gstminiobject.h:
2220           add descriptions provided by ds and some more
2221         * gst/gstpad.h:
2222           mark macro as to be removed
2223
2224 2005-10-28  Wim Taymans  <wim@fluendo.com>
2225
2226         * docs/design/part-TODO.txt:
2227         Add an item to TODO.
2228
2229         * gst/gstiterator.c: (gst_iterator_fold),
2230         (gst_iterator_find_custom):
2231         * gst/gstiterator.h:
2232         Add iterator docs.
2233
2234 2005-10-28  Wim Taymans  <wim@fluendo.com>
2235
2236         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2237         (gst_base_transform_init):
2238         Don't leak class.
2239
2240         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2241         An EOS event marks the queue as completely filled.
2242
2243 2005-10-27  Wim Taymans  <wim@fluendo.com>
2244
2245         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2246         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2247         Some more debugging.
2248
2249         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2250         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2251         (gst_base_transform_event), (gst_base_transform_getrange),
2252         (gst_base_transform_chain):
2253         * gst/base/gstbasetransform.h:
2254         Fix debugging,
2255         Protect transform and concurrent buffer alloc with a new lock.
2256         Try not to break ABI/API.
2257
2258 2005-10-27  Wim Taymans  <wim@fluendo.com>
2259
2260         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2261         (gst_base_src_init), (gst_base_src_query),
2262         (gst_base_src_default_newsegment),
2263         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2264         (gst_base_src_send_event), (gst_base_src_event_handler),
2265         (gst_base_src_pad_get_range), (gst_base_src_loop),
2266         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2267         (gst_base_src_start), (gst_base_src_deactivate),
2268         (gst_base_src_activate_push), (gst_base_src_change_state):
2269         Move some stuff around and cleanup things.
2270
2271 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2272
2273         * gst/base/gstbasesrc.c: (gst_base_src_query):
2274           Add missing break statements.
2275
2276 2005-10-27  Wim Taymans  <wim@fluendo.com>
2277
2278         * check/gst/gstbin.c: (GST_START_TEST):
2279         An extra refcount is taken in basesrc.
2280
2281         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2282         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2283         (gst_base_src_loop):
2284         Small cleanups, check for flushing after being unlocked from the 
2285         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2286         Don't send out EOS when going to READY.
2287
2288 2005-10-27  Wim Taymans  <wim@fluendo.com>
2289
2290         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2291         (gst_base_sink_get_position):
2292         Some more debug.
2293
2294         * gst/gstbin.c: (message_check), (bin_replace_message),
2295         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2296         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2297         (bin_query_duration_init), (bin_query_duration_fold),
2298         (bin_query_duration_done), (bin_query_generic_fold),
2299         (gst_bin_query):
2300         * tools/gst-launch.c: (main):
2301         Remove old option.
2302
2303 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2304
2305         * examples/controller/audio-example.c: (main):
2306         * examples/queue/queue.c: (event_loop):
2307         * gst/base/gstbasetransform.h:
2308         * gst/gstelement.c: (gst_element_send_event):
2309         * gst/gstevent.h:
2310         * gst/gstpad.c: (gst_pad_send_event):
2311           fixing examples
2312           fixing docs typos
2313           changing log priority in error situations
2314
2315 2005-10-25  Wim Taymans  <wim@fluendo.com>
2316
2317         * gst/gstbin.c: (message_check), (bin_replace_message),
2318         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2319         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2320         (bin_query_duration_init), (bin_query_duration_fold),
2321         (bin_query_duration_done), (bin_query_generic_fold),
2322         (gst_bin_query):
2323         Some doc and debug updates.
2324         Cache previously requested query DURATION for speed. invalidate
2325         cached duration if element posts a DURATION message.
2326
2327 2005-10-25  Wim Taymans  <wim@fluendo.com>
2328
2329         * docs/design/part-TODO.txt:
2330         Update TODO.
2331
2332         * gst/gstbin.c: (message_check), (bin_replace_message),
2333         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2334         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2335         (bin_query_duration_init), (bin_query_duration_fold),
2336         (bin_query_duration_done), (bin_query_generic_fold),
2337         (gst_bin_query):
2338         Handle SEGMENT_START/DONE messages correctly.
2339         More evolved query algorithm that handles duration queries
2340         correctly.
2341
2342         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2343         (gst_element_get_state_func), (gst_element_abort_state),
2344         (gst_element_commit_state), (gst_element_lost_state):
2345         Some more debugging.
2346
2347         * gst/gstmessage.h:
2348         Added doc.
2349
2350 2005-10-25  Wim Taymans  <wim@fluendo.com>
2351
2352         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2353         Don't use invalid stream_time.
2354
2355         * gst/gstevent.c: (gst_event_new_newsegment):
2356         stream_time in newsegment cannot be undefined.
2357
2358 2005-10-24  Wim Taymans  <wim@fluendo.com>
2359
2360         * gst/gstbus.c:
2361         Doc fix.
2362
2363         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2364         (gst_queue_loop):
2365         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2366
2367 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2368
2369         * docs/libs/tmpl/gstdparam.sgml:
2370         * docs/libs/tmpl/gstdplinint.sgml:
2371         * docs/libs/tmpl/gstdpman.sgml:
2372         * docs/libs/tmpl/gstdpsmooth.sgml:
2373         * docs/libs/tmpl/gstunitconvert.sgml:
2374           these are obsolete
2375
2376 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2377
2378         * configure.ac:
2379           back to HEAD
2380
2381 === release 0.9.4 ===
2382
2383 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2384
2385         * configure.ac:
2386           releasing 0.9.4, "Tyrannosaurus Rex"
2387
2388 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2389
2390         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2391         (gst_file_sink_get_current_offset):
2392           Use fseeko() and ftello() if available. When falling back on
2393           lseek() to get the current offset, fflush() first to make sure
2394           everything is up-to-date and we get the right offset.
2395
2396 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2397
2398         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2399         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2400         * gst/gsterror.c: (_gst_stream_errors_init):
2401         * gst/gsterror.h:
2402         * gst/gstqueue.c: (gst_queue_loop):
2403         * po/POTFILES.in:
2404           remove prematurely added error category and clean up the instances
2405
2406 2005-10-21  Wim Taymans  <wim@fluendo.com>
2407
2408         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2409         (gst_base_sink_get_position), (gst_base_sink_query),
2410         (gst_base_sink_change_state):
2411         Simply set the right flag when going to playing, that's all
2412         we need to do instead of calling a function inside the object
2413         lock (that could take the lock as well and deadlock)
2414
2415 2005-10-21  Wim Taymans  <wim@fluendo.com>
2416
2417         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2418         (gst_base_src_loop):
2419         Don't warn, the peer element knows what to do best when
2420         the seek failed, it might try something else.
2421
2422 2005-10-21  Wim Taymans  <wim@fluendo.com>
2423
2424         * gst/base/gstbasesrc.c: (gst_base_src_init),
2425         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2426         Fix seeking.
2427
2428 2005-10-21  Wim Taymans  <wim@fluendo.com>
2429
2430         * docs/design/part-segments.txt:
2431         More docs.
2432
2433         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2434         Correctly set caps, even on the subbufer.
2435
2436 2005-10-21  Wim Taymans  <wim@fluendo.com>
2437
2438         * docs/gst/gstreamer-docs.sgml:
2439         * docs/gst/gstreamer-sections.txt:
2440         * gst/gstelement.h:
2441         * gst/gstevent.c:
2442         * gst/gstevent.h:
2443         * gst/gstmessage.h:
2444         * gst/gstpad.h:
2445         * gst/gstparse.h:
2446         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2447         * gst/gsttask.h:
2448         * gst/gstutils.c:
2449         * gst/gstutils.h:
2450         And 2% more doc coverage.
2451
2452 2005-10-21  Andy Wingo  <wingo@pobox.com>
2453
2454         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2455         position reporting.
2456
2457 2005-10-20  Wim Taymans  <wim@fluendo.com>
2458
2459         * gst/gsterror.c: (gst_error_get_message):
2460         * gst/gstparse.h:
2461         * gst/gstquery.h:
2462         * gst/gststructure.c:
2463         * gst/gsttrace.c:
2464         * gst/gstutils.c:
2465         More docs.
2466
2467 2005-10-20  Wim Taymans  <wim@fluendo.com>
2468
2469         * gst/gstbuffer.h:
2470         * gst/gstpad.c:
2471         * gst/gstparse.c:
2472         Another 1% more coverage.
2473
2474 2005-10-20  Wim Taymans  <wim@fluendo.com>
2475
2476         * docs/gst/gstreamer-sections.txt:
2477         * gst/gstelement.c: (gst_element_get_state_func),
2478         (gst_element_abort_state), (gst_element_commit_state),
2479         (gst_element_lost_state):
2480         * gst/gstevent.h:
2481         * gst/gstquery.c: (gst_query_set_position),
2482         (gst_query_parse_position), (gst_query_set_duration),
2483         (gst_query_parse_duration), (gst_query_new_convert):
2484         * gst/gstutils.c:
2485         Yay! 1% more docs coverage.
2486
2487 2005-10-20  Wim Taymans  <wim@fluendo.com>
2488
2489         * gst/gstpad.h:
2490         * gst/gstquery.c: (gst_query_set_position),
2491         (gst_query_parse_position), (gst_query_set_duration),
2492         (gst_query_parse_duration), (gst_query_new_convert):
2493         * gst/gstquery.h:
2494         * gst/gstutils.c: (gst_element_query_convert):
2495         * gst/gstutils.h:
2496         Docs and consistency fixes.
2497
2498 2005-10-20  Wim Taymans  <wim@fluendo.com>
2499
2500         * gst/gsttask.c:
2501         * gst/gsttask.h:
2502         More docs.
2503
2504 2005-10-20  Wim Taymans  <wim@fluendo.com>
2505
2506         * gst/gstbin.c: (message_check), (bin_replace_message),
2507         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2508         (update_degree), (gst_bin_sort_iterator_next),
2509         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2510         Reworked the message handling a bit, cache the messages instead of
2511         only the senders. alows us to do more in the future.
2512
2513 2005-10-20  Wim Taymans  <wim@fluendo.com>
2514
2515         * docs/design/part-TODO.txt:
2516         Update TODO
2517
2518         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2519         (gst_base_sink_query):
2520         Don't use clock time to report position when in EOS.
2521
2522 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2523
2524         * tools/gst-inspect.c: (print_interfaces),
2525         (print_element_properties_info), (print_element_info):
2526           Fix interface output with gst-inspect -a; don't print
2527           newlines after double/float properties.
2528
2529 2005-10-20  Wim Taymans  <wim@fluendo.com>
2530
2531         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2532         (gst_base_sink_query):
2533         Speed up current position calculation.
2534
2535         * gst/base/gstbasesrc.c: (gst_base_src_query),
2536         (gst_base_src_default_newsegment):
2537         Correctly set stream position in newsegment.
2538
2539         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2540         (update_degree), (gst_bin_sort_iterator_next),
2541         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2542         * gst/gstmessage.c: (gst_message_new_custom):
2543         Clean up debugging info
2544
2545         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2546         (gst_queue_loop), (gst_queue_handle_src_query):
2547         Pause task faster.
2548
2549 2005-10-19  Wim Taymans  <wim@fluendo.com>
2550
2551         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2552         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2553         Fix query handling again.
2554
2555 2005-10-19  Wim Taymans  <wim@fluendo.com>
2556
2557         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2558         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2559         * gst/base/gstbasesrc.c: (gst_base_src_query):
2560         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2561         * gst/elements/gsttypefindelement.c:
2562         (gst_type_find_handle_src_query), (find_element_get_length),
2563         (gst_type_find_element_activate):
2564         API change fix.
2565
2566         * gst/gstquery.c: (gst_query_new_position),
2567         (gst_query_set_position), (gst_query_parse_position),
2568         (gst_query_new_duration), (gst_query_set_duration),
2569         (gst_query_parse_duration), (gst_query_set_segment),
2570         (gst_query_parse_segment):
2571         * gst/gstquery.h:
2572         Bundling query position/duration is not a good idea since duration
2573         does not change much and we don't want to recalculate it for every
2574         position query, so they are separated again..
2575         Base value in segment query is not needed.
2576
2577         * gst/gstqueue.c: (gst_queue_handle_src_query):
2578         * gst/gstutils.c: (gst_element_query_position),
2579         (gst_element_query_duration), (gst_pad_query_position),
2580         (gst_pad_query_duration):
2581         * gst/gstutils.h:
2582         Updates for query API change.
2583         Added some docs here and there.
2584
2585 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2586
2587         * check/gst/gstbin.c: (GST_START_TEST):
2588         * check/gst/gstghostpad.c: (GST_START_TEST):
2589         * check/pipelines/cleanup.c: (GST_START_TEST):
2590           wait on thread to die so we can check refcount correctly
2591
2592 2005-10-18  Wim Taymans  <wim@fluendo.com>
2593
2594         * check/pipelines/stress.c: (GST_START_TEST):
2595         Make check a little more time consuming.
2596
2597 2005-10-18  Wim Taymans  <wim@fluendo.com>
2598
2599         * check/Makefile.am:
2600         * check/pipelines/stress.c: (GST_START_TEST),
2601         (simple_launch_lines_suite), (main):
2602         Small state change torture test.
2603
2604         * docs/design/part-states.txt:
2605         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2606         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2607         (gst_base_sink_change_state):
2608         Never take state lock from streaming thread, clean up ugly
2609         hacks. Unfortunatly core does not yet support nice ways to
2610         async commit state.
2611         
2612         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2613         (bin_bus_handler):
2614         Start state recalc if a STATE_DIRTY message is posted, but only
2615         on the toplevel bin.
2616
2617         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2618         (gst_element_get_state_func), (gst_element_abort_state),
2619         (gst_element_commit_state), (gst_element_lost_state),
2620         (gst_element_set_state_func), (gst_element_change_state):
2621         * gst/gstelement.h:
2622         State variables are now protected with the LOCK, the state
2623         lock is only used to serialize _set_state().
2624
2625 2005-10-18  Wim Taymans  <wim@fluendo.com>
2626
2627         * check/gst/gstbin.c: (GST_START_TEST):
2628         * check/gst/gstmessage.c: (GST_START_TEST):
2629         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2630         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2631         (bin_bus_handler):
2632         * gst/gstelement.c: (gst_element_abort_state),
2633         (gst_element_commit_state), (gst_element_lost_state):
2634         * gst/gstmessage.c: (gst_message_new_state_changed),
2635         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2636         (gst_message_new_segment_done), (gst_message_new_duration),
2637         (gst_message_parse_state_changed),
2638         (gst_message_parse_segment_start),
2639         (gst_message_parse_segment_done), (gst_message_parse_duration):
2640         * gst/gstmessage.h:
2641         * tools/gst-launch.c: (event_loop):
2642         Seriously, this is better than a previous commit as we only need
2643         to notify the fact that an element changed state in a streaming
2644         thread, marking the state of the parents dirty, hence the 
2645         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2646         message.
2647
2648 2005-10-18  Wim Taymans  <wim@fluendo.com>
2649
2650         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2651         (gst_bin_recalc_func):
2652         * gst/gstelement.c: (gst_element_set_clock),
2653         (gst_element_abort_state), (gst_element_lost_state):
2654         Cleanups, prepare for state change fixes.
2655
2656 2005-10-18  Wim Taymans  <wim@fluendo.com>
2657
2658         * gst/gstbin.h:
2659         * gst/gstelement.c: (gst_element_class_init),
2660         (gst_element_set_state), (gst_element_set_state_func):
2661         * gst/gstelement.h:
2662         Pending ABI changes.
2663         GThreadPool in GstBinClass to monitor async state changes.
2664         state_cookie in GstElement to detect concurrent gst/set state.
2665         set_state is now virtual too in case a very complicated element
2666         has to be constructed.
2667
2668 2005-10-18  Wim Taymans  <wim@fluendo.com>
2669
2670         * check/gst/gstbin.c: (GST_START_TEST):
2671         * check/gst/gstmessage.c: (GST_START_TEST):
2672         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2673         * gst/gstbin.c: (bin_bus_handler):
2674         * gst/gstelement.c: (gst_element_commit_state),
2675         (gst_element_lost_state):
2676         * gst/gstmessage.c: (gst_message_new_state_changed),
2677         (gst_message_new_segment_start), (gst_message_new_segment_done),
2678         (gst_message_new_duration), (gst_message_parse_state_changed),
2679         (gst_message_parse_segment_start),
2680         (gst_message_parse_segment_done), (gst_message_parse_duration):
2681         * gst/gstmessage.h:
2682         * tools/gst-launch.c: (event_loop):
2683         Make messages future proof.
2684         state-change gets a flag if it was a message comming from the
2685         streaming thread.
2686         segment-start/stop can also be specified in other formats.
2687         A message to notify an app that a pipeline changed playback 
2688         duration.
2689         Also fix a GstMessage leak in -launch
2690
2691 2005-10-18  Andy Wingo  <wingo@pobox.com>
2692
2693         * gst/gstelement.c (gst_element_dispose): More helpful message.
2694
2695 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2696
2697         reviewed by: <delete if not using a buddy>
2698
2699         * common/gtk-doc.mak:
2700
2701 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2702
2703         * gst/gstregistry.c: (gst_registry_scan_path_level):
2704           unref a plug-in we get that was already initialized
2705
2706 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2707
2708         * docs/gst/gstreamer-sections.txt:
2709         * docs/libs/gstreamer-libs-sections.txt:
2710         * gst/gstelement.h:
2711           add new api entries
2712           hide internal macro
2713
2714 2005-10-17  Andy Wingo  <wingo@pobox.com>
2715
2716         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2717         cleanup.
2718
2719         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2720
2721         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2722
2723         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2724         (gst_element_get_state_func): Better debug message.
2725         (gst_element_commit_state): s/INFO/DEBUG/.
2726         (gst_element_lost_state, gst_element_change_state): 
2727
2728         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2729         (gst_message_new_custom): s/INFO/LOG/.
2730
2731 2005-10-17  Michael Smith <msmith@fluendo.com>
2732
2733         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2734           Check if end time is valid using end time, not start time.
2735
2736 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2737
2738         * check/gst-libs/controller.c: (GST_START_TEST),
2739         (gst_controller_suite):
2740         * libs/gst/controller/gstcontroller.c:
2741         (gst_controlled_property_set_interpolation_mode):
2742         * libs/gst/controller/gstcontroller.h:
2743         * libs/gst/controller/gstinterpolation.c:
2744         * testsuite/controller/.cvsignore:
2745         * testsuite/controller/Makefile.am:
2746         * testsuite/controller/interpolator.c:
2747           merge controller testsuites
2748           fix broken tests
2749           remove mem-chunk from docs
2750
2751 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2752
2753         * gst/gstmemchunk.c:
2754         * gst/gstmemchunk.h:
2755         * gst/gsttrashstack.c:
2756         * gst/gsttrashstack.h:
2757           out.  get out.  you're fired.  to the Attic !
2758
2759 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2760
2761         * gst/gstcaps.c: (gst_caps_intersect):
2762           fix signedness issues in a (hopefully) correct way
2763         * gst/gstelement.c: (gst_element_pads_activate):
2764           some debugging
2765         * gst/gstobject.c: (gst_object_set_parent):
2766           some debugging
2767
2768 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2769
2770         * gst/gstvalue.h: Fix prototypes.
2771
2772 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2773
2774         * docs/gst/gstreamer-sections.txt:
2775         * gst/gst.c: (gst_version_string):
2776         * gst/gst.h:
2777         * gst/gstversion.h.in:
2778         * win32/common/libgstreamer.def:
2779           add gst_version_string ()
2780
2781 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2782
2783         * configure.ac:
2784           clean up further
2785         * gst/gst.c: (init_post):
2786         * win32/common/config.h.in:
2787           it's PLUGINDIR now
2788         * gst/gstcaps.c: (gst_caps_intersect):
2789           use gint64, the range could be bigger than a guint
2790
2791 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2792
2793         * gst/gstclock.h:
2794           document potential problem in 2038
2795
2796 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2797
2798         * gst/gstcaps.c: (gst_caps_intersect):
2799           Fix guint j diving under 0
2800
2801 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2802
2803         * configure.ac:
2804         * win32/common/config.h:
2805         * win32/common/config.h.in:
2806           check for process.h, declares getpid() on Windows
2807         * gst/gstinfo.c:
2808           include process.h if we have it
2809         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2810         * gst/gstmemchunk.h:
2811           fix signedness issues
2812         * win32/common/libgstreamer.def:
2813           fix get_type's
2814
2815 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2816
2817         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2818         fix. Because of unsigned ints, caps intersection was going nuts and
2819         trying to access structures with G_MAXUINT index. That fixes
2820         videotestsrc ! ffmpegcolorspace ! fakesink
2821         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2822         consistency.
2823
2824 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2825
2826         * configure.ac:
2827           use the gettext macro
2828         * gst/elements/gstelements.c:
2829         * gst/gst.c:
2830         * gst/indexers/gstindexers.c:
2831           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2832         * win32/common/config.h:
2833           updated config.h
2834         * win32/common/config.h.in:
2835           add the template to generate config.h
2836         * win32/common/gstenumtypes.c:
2837         * win32/common/gstversion.h:
2838           updated copies
2839
2840 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2841
2842         * gst/gst.c: (gst_version):
2843         * gst/gstversion.h.in:
2844           add the nano
2845
2846 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2847
2848         * gst/gstevent.h:
2849           Oops, add missing closing bracket.
2850
2851 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2852
2853         * configure.ac:
2854           use common m4's for argument checking
2855
2856 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2857
2858         * docs/gst/gstreamer-sections.txt:
2859         * gst/gstevent.h:
2860           Add GST_EVENT_TYPE_NAME() macro.
2861
2862 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2863
2864         * gst/gstinfo.c:
2865         * gst/gstpluginfeature.c:
2866         * gst/gsttask.c:
2867           privatize more symbols
2868
2869 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2870
2871         * configure.ac:
2872           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2873           everything that uses GStreamer API should have the includes
2874
2875 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2876
2877         * docs/gst/gstreamer-sections.txt:
2878         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2879         * gst/gstvalue.h:
2880           give each value a _get_type, removes the DATA exports
2881
2882 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2883
2884         * gst/gst.c:
2885         * gst/gst.h:
2886           remove _gst_registry_auto_load, not used anymore
2887         * gst/gstbin.c: (gst_bin_get_type):
2888         * gst/gstbin.h:
2889         * gst/gstelement.c: (gst_element_get_type):
2890         * gst/gstelement.h:
2891         * gst/gstobject.c: (gst_object_get_type):
2892         * gst/gstobject.h:
2893         * gst/gstpad.c: (gst_pad_get_type):
2894         * gst/gstpad.h:
2895           make _get_type functions similar, fixes data export from library
2896
2897 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2898
2899         * configure.ac:
2900           correctly make conditionals
2901         * gst/elements/Makefile.am:
2902         * gst/elements/gstelements.c:
2903           fix typo causing fdsrc not to build
2904
2905 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2906
2907         * testsuite/Makefile.am:
2908         * testsuite/bytestream/.cvsignore:
2909         * testsuite/bytestream/Makefile.am:
2910         * testsuite/bytestream/filepadsink.c:
2911         * testsuite/bytestream/gstbstest.c:
2912         * testsuite/bytestream/test1.c:
2913         * testsuite/bytestream/testfile1:
2914         * testsuite/caps/normalisation.c:
2915         * testsuite/caps/random.c: (main):
2916         * testsuite/cleanup/.cvsignore:
2917         * testsuite/cleanup/Makefile.am:
2918         * testsuite/cleanup/cleanup1.c:
2919         * testsuite/cleanup/cleanup2.c:
2920         * testsuite/cleanup/cleanup3.c:
2921         * testsuite/cleanup/cleanup4.c:
2922         * testsuite/cleanup/cleanup5.c:
2923         * testsuite/controller/interpolator.c:
2924         * testsuite/debug/printf_extension.c: (main):
2925         * testsuite/elements/tee.c:
2926         * testsuite/negotiation/.cvsignore:
2927         * testsuite/negotiation/Makefile.am:
2928         * testsuite/negotiation/pad_link.c:
2929         * testsuite/pad/Makefile.am:
2930         * testsuite/pad/chainnopull.c:
2931         * testsuite/pad/getnopush.c:
2932         * testsuite/pad/link.c:
2933         * testsuite/refcounting/sched.c: (create_pipeline):
2934         * testsuite/registry/Makefile.am:
2935         * testsuite/registry/gst-print-formats.c:
2936         * testsuite/schedulers/.cvsignore:
2937         * testsuite/schedulers/142183-2.c:
2938         * testsuite/schedulers/142183.c:
2939         * testsuite/schedulers/143777-2.c:
2940         * testsuite/schedulers/143777.c:
2941         * testsuite/schedulers/147713.c:
2942         * testsuite/schedulers/147819.c:
2943         * testsuite/schedulers/147894-2.c:
2944         * testsuite/schedulers/147894.c:
2945         * testsuite/schedulers/Makefile.am:
2946         * testsuite/schedulers/group_link.c:
2947         * testsuite/schedulers/queue_link.c:
2948         * testsuite/schedulers/relink.c:
2949         * testsuite/schedulers/unlink.c:
2950         * testsuite/schedulers/unref.c:
2951         * testsuite/schedulers/useless_iteration.c:
2952         * testsuite/states/bin.c:
2953           clean out/remove some stuff from the testsuite directories
2954
2955 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2956
2957         * configure.ac:
2958           check for some headers
2959         * gst/elements/Makefile.am:
2960         * gst/elements/gstelements.c:
2961           don't compile fdsrc without sys/socket.h
2962         * gst/indexers/Makefile.am:
2963         * gst/indexers/gstindexers.c: (plugin_init):
2964           don't compile fileindex without mmap
2965
2966 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2967
2968         * configure.ac:
2969           reorganize
2970           clean up
2971           document more
2972           remove cruft
2973         * check/Makefile.am:
2974         * docs/gst/Makefile.am:
2975         * examples/helloworld/Makefile.am:
2976         * gst/Makefile.am:
2977         * gst/base/Makefile.am:
2978         * gst/check/Makefile.am:
2979         * gst/elements/Makefile.am:
2980         * gst/indexers/Makefile.am:
2981         * gst/parse/Makefile.am:
2982         * libs/gst/controller/Makefile.am:
2983         * libs/gst/dataprotocol/Makefile.am:
2984         * examples/helloworld/helloworld.c: (event_loop):
2985           compile fixes, though it's not being compiled currently
2986
2987 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2988
2989         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2990           Add some simple tests for the new taglist date API.
2991
2992 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2993
2994         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2995         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2996           Beautify 'last-message' output: print 'none' for buffer timestamps
2997           and durations if none is set; improve alignment with next messages.
2998
2999 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3000
3001         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3002         * gst/gstpluginfeature.h:
3003         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3004         * gst/gstregistry.h:
3005         * docs/gst/gstreamer-sections.txt:
3006           Add new API to check plugin feature version requirements.
3007
3008         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3009           Some basic tests for the above.         
3010
3011 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3012
3013         * gst/gststructure.c: (gst_structure_to_string):
3014           guard against NULL printf - happens when for example
3015           a message structure with GstClock gets serialized
3016
3017 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3020           Fix presumable copy'n'pasto.
3021
3022 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3023
3024         * gst/elements/gstfakesrc.h:
3025         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3026         * gst/elements/gsttypefindelement.c:
3027           fix some signedness
3028         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3029           I wonder if this could actually write +2GB files before
3030
3031 2005-10-13  Andy Wingo  <wingo@pobox.com>
3032
3033         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3034         Fix Timmeke Waymans bug.
3035         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3036         string of the proper length to gst_caps_from_string. There's a
3037         potential for, before this fix, that this could cause someone
3038         connecting over the network to cause a segfault if the payload is
3039         not NUL-terminated.
3040
3041 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3042
3043         * docs/design/draft-push-pull.txt:
3044         * docs/design/part-overview.txt:
3045         * docs/random/TODO-pre-0.9:
3046         * docs/random/old/ChangeLog.gstreamer:
3047         * gst/base/gstpushsrc.c:
3048         * gst/gstclock.c:
3049           fixed typos
3050
3051 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3052
3053         * gst/glib-compat.c: (gst_flags_get_first_value):
3054         * gst/glib-compat.h:
3055         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3056         (gst_value_compare_double), (gst_value_serialize_flags):
3057           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3058           infinite loop
3059
3060 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3061
3062         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3063         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3064           fix up debugging
3065         * tools/gst-launch.c: (event_loop):
3066           print out clock nicely
3067
3068 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3069
3070         * docs/gst/gstreamer-sections.txt:
3071         * gst/gsttaglist.h:
3072         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3073         (gst_tag_list_get_date_index):
3074           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3075           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3076
3077 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3078
3079         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3080         (gst_collectpads_chain):
3081         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3082         in CollectData.
3083
3084 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3085
3086         * docs/gst/gstreamer-sections.txt:
3087         * gst/gst.c:
3088         * gst/gsterror.h:
3089         * tools/gst-inspect.c: (main):
3090         * tools/gst-launch.c: (main):
3091         * tools/gst-run.c: (main):
3092         * tools/gst-xmlinspect.c: (main):
3093           fix GOption context leaks
3094           doc fixes
3095
3096 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3097
3098         * gst/gstbus.c:
3099           use HAVE_UNISTD_H
3100         * win32/common/config.h:
3101           update config
3102         * win32/vs6/grammar.dsp:
3103         * win32/vs6/libgstelements.dsp:
3104         * win32/vs6/libgstreamer.dsp:
3105           update vs6 files
3106
3107 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3108
3109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3110         * gst/base/gstbasesrc.c: (gst_base_src_query):
3111           fix more guint64<->gdouble conversions
3112
3113 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3114
3115         * Makefile.am:
3116           add win32-update target
3117         * win32/common/gstconfig.h:
3118         * win32/common/gstenumtypes.c:
3119         * win32/common/gstenumtypes.h:
3120         * win32/common/gstversion.h:
3121           add files that visual studio can't generate
3122
3123 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3124
3125         * Makefile.am:
3126           add a win32-update target
3127         * configure.ac:
3128
3129 2005-10-12  Wim Taymans  <wim@fluendo.com>
3130
3131         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3132         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3133         * gst/gstelement.c: (gst_element_commit_state),
3134         (gst_element_set_state):
3135         Protect flags with proper lock.
3136         unref provided cached clock in dispose.
3137
3138 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3139
3140         * gst/gst.c:
3141         * gst/gstminiobject.h:
3142         * gst/gstpad.h:
3143         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3144           removed unused flags from miniobject
3145           doc fixes
3146
3147 2005-10-12  Wim Taymans  <wim@fluendo.com>
3148
3149         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3150         (gst_file_sink_event), (gst_file_sink_render):
3151         Flush before seeking.
3152
3153 2005-10-12  Andy Wingo  <wingo@pobox.com>
3154
3155         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3156         always been the case.
3157
3158 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3159
3160         * check/gst/gstbin.c: (GST_START_TEST):
3161         * docs/gst/gstreamer-sections.txt:
3162         * gst/base/gstbasesink.c: (gst_base_sink_init):
3163         * gst/base/gstbasesrc.c: (gst_base_src_init),
3164         (gst_base_src_get_range), (gst_base_src_check_get_range),
3165         (gst_base_src_start), (gst_base_src_stop):
3166         * gst/base/gstbasesrc.h:
3167         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3168         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3169         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3170         (bin_bus_handler):
3171         * gst/gstbin.h:
3172         * gst/gstbuffer.h:
3173         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3174         * gst/gstbus.h:
3175         * gst/gstelement.c: (gst_element_is_locked_state),
3176         (gst_element_set_locked_state), (gst_element_commit_state),
3177         (gst_element_set_state):
3178         * gst/gstelement.h:
3179         * gst/gstindex.c: (gst_index_init):
3180         * gst/gstindex.h:
3181         * gst/gstminiobject.h:
3182         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3183         (gst_object_set_parent):
3184         * gst/gstobject.h:
3185         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3186         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3187         * gst/gstpad.h:
3188         * gst/gstpadtemplate.h:
3189         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3190         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3191         * gst/gstpipeline.h:
3192         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3193         (gst_file_index_commit):
3194         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3195         * testsuite/pad/link.c: (gst_test_src_init),
3196         (gst_test_filter_init), (gst_test_sink_init):
3197         * testsuite/states/locked.c: (main):
3198           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3199           moved bitshift from macro to enum definition
3200
3201 2005-10-12  Wim Taymans  <wim@fluendo.com>
3202
3203         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3204         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3205         (gst_file_sink_render):
3206         Some more debugging info.
3207
3208 2005-10-12  Wim Taymans  <wim@fluendo.com>
3209
3210         * docs/design/part-states.txt:
3211         * tools/gst-launch.c: (main):
3212         Some doc updates.
3213         Revert non-intentional change.
3214
3215 2005-10-12  Wim Taymans  <wim@fluendo.com>
3216
3217         * check/gst/gstbin.c: (GST_START_TEST):
3218         * check/gst/gstelement.c: (GST_START_TEST):
3219         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3220         * check/gst/gstghostpad.c: (GST_START_TEST):
3221         * check/gst/gstpipeline.c: (GST_START_TEST):
3222         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3223         * check/states/sinks.c: (GST_START_TEST):
3224         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3225         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3226         (gst_bin_remove_func), (gst_bin_get_state_func),
3227         (gst_bin_recalc_state), (gst_bin_change_state_func),
3228         (bin_bus_handler):
3229         * gst/gstelement.c: (gst_element_get_state_func),
3230         (gst_element_get_state), (gst_element_abort_state),
3231         (gst_element_commit_state), (gst_element_set_state),
3232         (gst_element_change_state), (gst_element_change_state_func):
3233         * gst/gstelement.h:
3234         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3235         (gst_pipeline_provide_clock_func):
3236         * gst/gstutils.c: (gst_element_link_pads_filtered):
3237         * tools/gst-launch.c: (main):
3238         * tools/gst-typefind.c: (main):
3239         Use GstClockTime in _get_state() instead of GTimeVal.
3240         Remove old code in gstutils.c
3241
3242 2005-10-12  Andy Wingo  <wingo@pobox.com>
3243
3244         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3245         removed.
3246
3247         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3248         there is no task. Shouldn't affect any code, as nothing in our
3249         plugins checks this return value.
3250         (gst_pad_stop_task): Also take the stream lock if the pad has no
3251         task. Docs updated.
3252
3253 2005-10-12  Wim Taymans  <wim@fluendo.com>
3254
3255         * gst/gstpad.c: (pre_activate), (post_activate),
3256         (gst_pad_activate_pull), (gst_pad_activate_push):
3257         Cleanup activation code. Reset old state if
3258         activation failed.
3259
3260 2005-10-12  Wim Taymans  <wim@fluendo.com>
3261
3262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3263         (gst_base_sink_change_state):
3264         No need to prerol after receiving EOS.
3265
3266         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3267         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3268         * gst/elements/gstidentity.c: (gst_identity_event):
3269         Print events more verbosely.
3270
3271 2005-10-12  Wim Taymans  <wim@fluendo.com>
3272
3273         * check/Makefile.am:
3274         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3275         * check/states/sinks2.c:
3276         Moved sinks2 testcode in sinks check.
3277
3278         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3279         (gst_bin_remove_func), (gst_bin_recalc_state),
3280         (gst_bin_change_state_func), (bin_bus_handler):
3281         Fix potential race condition when _get_state() iterated over an
3282         ASYNC element right before it posted a state completion.
3283
3284         * gst/gstclock.h:
3285         Do proper cast here.
3286
3287         * gst/gstevent.c: (gst_event_new_newsegment),
3288         (gst_event_parse_newsegment):
3289         A playback rate of 0.0 is not allowed.
3290
3291 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3292
3293         * win32/common/config.h:
3294         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3295         (_trewinddir), (_ttelldir), (_tseekdir):
3296         * win32/common/dirent.h:
3297         * win32/common/gtchar.h:
3298         * win32/common/libgstbase.def:
3299         * win32/common/libgstreamer.def:
3300         * win32/vs6/grammar.dsp:
3301         * win32/vs6/gst_inspect.dsp:
3302         * win32/vs6/gst_launch.dsp:
3303         * win32/vs6/gstreamer.dsw:
3304         * win32/vs6/libgstbase.dsp:
3305         * win32/vs6/libgstelements.dsp:
3306         * win32/vs6/libgstreamer.dsp:
3307           Visual Studio 6 project files, and a new common directory.
3308           Phear.
3309
3310 2005-10-11  Wim Taymans  <wim@fluendo.com>
3311
3312         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3313         (gst_base_sink_do_sync), (gst_base_sink_query),
3314         (gst_base_sink_change_state):
3315         * gst/base/gstbasesink.h:
3316         Correctly parse newsegment info.
3317
3318 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3319
3320         * gst/gst.c: (init_post):
3321           split plugin paths correctly
3322
3323 2005-10-11  Wim Taymans  <wim@fluendo.com>
3324
3325         * check/gst/gstevent.c: (GST_START_TEST):
3326         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3327         (gst_base_sink_change_state):
3328         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3329         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3330         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3331         * gst/gstevent.c: (gst_event_new_newsegment),
3332         (gst_event_parse_newsegment):
3333         * gst/gstevent.h:
3334         Added extra flag to newsegment for future API freeze.
3335         Updated check and base elements.
3336
3337 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3338
3339         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3340         (gst_collectpads_add_pad), (gst_collectpads_pop),
3341         (gst_collectpads_event), (gst_collectpads_chain):
3342         * gst/base/gstcollectpads.h: Handle EOS correctly.
3343
3344 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3345
3346         * tools/gst-launch.c: (main):
3347           more null protecting
3348
3349 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3350
3351         * gst/gst-i18n-lib.h:
3352           check for ENABLE_NLS, not GETTEXT_PACKAGE
3353         * gst/gstregistry.c: (gst_registry_add_plugin),
3354         (gst_registry_scan_path_level),
3355         (_gst_registry_remove_cache_plugins):
3356           protect possibly NULL strings
3357         * gst/parse/types.h:
3358           config.h already included before
3359         * tools/gst-inspect.c: (main):
3360           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3361           check for ENABLE_NLS, not GETTEXT_PACKAGE
3362         * tools/gst-launch.c: (main):
3363           check for ENABLE_NLS, not GETTEXT_PACKAGE
3364
3365 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3366
3367         * configure.ac:
3368           if we don't have glib, fail before testing 2.8
3369         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3370           fix a leak, should fix plugins-base testsuite
3371
3372 2005-10-11  Andy Wingo  <wingo@pobox.com>
3373
3374         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3375         take the mode we're going to as an arg. Go head and set the mode
3376         and flushing flags now, so that if the activate function starts a
3377         thread all the flags will be in the right state.
3378         (post_activate): Renamed also. Just handle making sure streaming
3379         finishes for the deactivation case, and setting the deactivated
3380         mode.
3381         (gst_pad_set_active): Complain loudly if deactivation fails.
3382         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3383         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3384         remove the terrible hack.
3385
3386 2005-10-11  Wim Taymans  <wim@fluendo.com>
3387
3388         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3389         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3390         (gst_bin_recalc_state), (gst_bin_change_state_func),
3391         (gst_bin_dispose), (bin_bus_handler):
3392         * gst/gstbin.h:
3393         Prepare to make current EOS message queue more generic.
3394         Fix some typos.
3395
3396         * gst/gstevent.c: (gst_event_new_newsegment),
3397         (gst_event_parse_newsegment):
3398         * gst/gstevent.h:
3399         Rename base to stream_time.
3400
3401         * gst/gstmessage.h:
3402         Fix typo in docs.
3403
3404 2005-10-11  Wim Taymans  <wim@fluendo.com>
3405
3406         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3407         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3408         (gst_bin_change_state_func), (bin_bus_handler):
3409         * gst/gstbin.h:
3410         Work on proper clock selection.
3411
3412 2005-10-11  Edward Hervey  <edward@fluendo.com>
3413
3414         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3415         * libs/gst/controller/gstcontroller.h:
3416         Added GList* version of _remove_properties() in order to be able to wrap
3417         it in bindings.
3418
3419 2005-10-11  Wim Taymans  <wim@fluendo.com>
3420
3421         * docs/design/part-states.txt:
3422         Some more docs.
3423
3424         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3425         (gst_bin_change_state_func), (bin_bus_handler):
3426         Doc updates. Don't distribute the same clock over and over again.
3427
3428         * gst/gstclock.c:
3429         * gst/gstclock.h:
3430         Doc updates.
3431
3432         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3433         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3434         (gst_pad_send_event):
3435         * gst/gstpad.h:
3436         Make probe emission threadsafe again.
3437         Register quarks and move _get_name() from utils.
3438         Doc updates.
3439
3440         * gst/gstpipeline.c: (gst_pipeline_class_init),
3441         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3442         Only redistribute the clock of it changed.
3443
3444         * gst/gstsystemclock.h:
3445         Doc updates. 
3446
3447         * gst/gstutils.c:
3448         * gst/gstutils.h:
3449         Moved the _flow_get_name() to GstPad.
3450
3451 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3452
3453         * check/gst-libs/gdp.c: (GST_START_TEST):
3454         * check/gst/gstcaps.c: (GST_START_TEST):
3455         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3456         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3457         (gst_dp_packet_from_caps):
3458           fix more valgrind warnings before turning up the heat
3459
3460 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3461
3462         * gst/parse/grammar.y:
3463           some cleanup before the hacking
3464
3465 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3466
3467         * gst/base/gstbasesrc.c: (gst_base_src_query):
3468           use conversions
3469         * gst/gstutils.c: (gst_guint64_to_gdouble),
3470         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3471         * gst/gstutils.h:
3472           externalize, basesrc uses it
3473           obviously the implementation needs testing
3474
3475 2005-10-10  Wim Taymans  <wim@fluendo.com>
3476
3477         * tests/sched/Makefile.am:
3478         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3479         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3480
3481 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3482
3483         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3484           apparently converting from guint64 to double is not implemented
3485           on MSVC
3486
3487 2005-10-10  Wim Taymans  <wim@fluendo.com>
3488
3489         * check/Makefile.am:
3490         * check/generic/states.c: (GST_START_TEST):
3491         * check/gst/gstbin.c: (GST_START_TEST):
3492         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3493         * check/states/sinks.c: (GST_START_TEST):
3494         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3495         (main):
3496         Check fixes, use API as stated in design docs, remove hacks.
3497
3498         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3499         (gst_base_sink_change_state):
3500         Catch stopping our task while we're shutting down.
3501
3502         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3503         (gst_bin_remove_func), (gst_bin_get_state_func),
3504         (gst_bin_recalc_state), (gst_bin_change_state_func),
3505         (bin_bus_handler):
3506         * gst/gstbin.h:
3507         * gst/gstelement.c: (gst_element_init),
3508         (gst_element_get_state_func), (gst_element_abort_state),
3509         (gst_element_commit_state), (gst_element_lost_state),
3510         (gst_element_set_state), (gst_element_change_state),
3511         (gst_element_change_state_func):
3512         * gst/gstelement.h:
3513         New state change algorithm (see #318116)
3514
3515         * gst/gstpipeline.c: (gst_pipeline_class_init),
3516         (gst_pipeline_init), (gst_pipeline_set_property),
3517         (gst_pipeline_get_property), (do_pipeline_seek),
3518         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3519         * gst/gstpipeline.h:
3520         Remove crude state change hacks.
3521
3522         * gst/gstutils.h:
3523         Remove crude hacks.
3524
3525         * tools/gst-launch.c: (main):
3526         Fixes for state change. Needs some more work to fully use the
3527         new stuff.
3528
3529 2005-10-10  Andy Wingo  <wingo@pobox.com>
3530
3531         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3532
3533         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3534         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3535         issue.
3536
3537 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3538
3539         * gst/gstiterator.c: (gst_iterator_new):
3540           Fix my previous commit: GTypes passed to gst_iterator_new()
3541           can be fundamental types.
3542
3543 2005-10-10  Wim Taymans  <wim@fluendo.com>
3544
3545         * gst/gstelement.c: (gst_element_iterate_pad_list),
3546         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3547         (gst_element_iterate_sink_pads):
3548         Use src/sink pads lists for the respective iterators instead
3549         of filtering.
3550
3551 2005-10-10  Andy Wingo  <wingo@pobox.com>
3552
3553         Merged in popt removal + GOption addition patch from Ronald, bug
3554         #169772.
3555
3556         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3557         GstElement macros around, remove popt-related symbols, add goption
3558         stuff.
3559
3560         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3561         
3562         * docs/gst/Makefile.am:
3563         * docs/libs/Makefile.am: No POPT_CFLAGS.
3564         
3565         * examples/manual/Makefile.am:
3566         * docs/manual/basics-init.xml: Doc updates with an example.
3567         
3568         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3569         (gst_init), (parse_one_option), (parse_goption_arg):
3570         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3571         bit of hand merging and debugging to get the GOption stuff working
3572         tho.
3573         
3574         * tests/Makefile.am:
3575         * tools/Makefile.am:
3576         * tools/gst-inspect.c: (main):
3577         * tools/gst-launch.c: (main):
3578         * tools/gst-run.c: (main):
3579         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3580
3581 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3582
3583         * gst/gstiterator.c: (gst_iterator_new):
3584           Add assertions to make sure passed GType is likely to really
3585           be a GType (as the compiler won't catch it if the size and
3586           GType arguments get mixed up, see #318447).
3587
3588 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3589
3590         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3591
3592         * gst/gstbin.c: (gst_bin_iterate_sorted):
3593           Pass GType and size arguments to gst_iterator_new() in the right
3594           order (maybe we should make _new() take the GType as first argument
3595           just like _new_list()?) (#318447).
3596           
3597
3598 2005-10-10  Wim Taymans  <wim@fluendo.com>
3599
3600         * gst/gstelement.c: (gst_element_finalize):
3601         And free the GStaticRecMutex too
3602
3603 2005-10-10  Andy Wingo  <wingo@pobox.com>
3604
3605         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3606         Allocate and free the mutex properly.
3607
3608         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3609         New macros.
3610         (GstElement): The state_lock is now recursive. Rebuild your
3611         plugins, suckers. Old macros adapted.
3612
3613         * docs/gst/gstreamer-sections.txt: Doc updates.
3614
3615         * gst/gstutils.h:
3616         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3617         (g_static_rec_cond_wait): Ported from state changes patch, while
3618         we wait on bug #317802 to be solved in a well-distributed GLib.
3619
3620         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3621         gst_element_change_state, variable name changes.
3622         (gst_element_change_state): Split out of gst_element_set_state in
3623         preparation for the state change merge. Doesn't pay attention to
3624         the 'transition' argument.
3625         (gst_element_set_state): Updates, hopefully purely cosmetic.
3626         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3627         state change patch.
3628         (gst_element_get_state_func): Renamed from get_state, cosmetic
3629         changes.
3630
3631 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3632
3633         * gst/elements/gstelements.c:
3634         * win32/GStreamer.vcproj:
3635         * win32/config.h:
3636         * win32/dirent.c: (_tseekdir):
3637         * win32/gst-inspect.vcproj:
3638         * win32/gst-launch.vcproj:
3639         * win32/gstconfig.h:
3640         * win32/gstelements.vcproj:
3641         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3642         * win32/gstreamer.def:
3643         * win32/msvc71.sln:
3644           updates for the win32 build (patch from Sebastien Moutte)
3645
3646 2005-10-10  Andy Wingo  <wingo@pobox.com>
3647
3648         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3649         gst_bin_get_state, cleaned up (but no logic changes).
3650         (bin_element_is_sink): Comment updates.
3651         (sink_iterator_filter): Remove needless cast.
3652         (gst_bin_iterate_sinks): Doc update.
3653         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3654         cleaned up (but no logic changes).
3655
3656         * check/states/sinks.c (test_src_sink): Cleanups from the state
3657         change patch.
3658         (test_livesrc_sink): Sync on the state.
3659
3660         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3661         the state change patch.
3662
3663         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3664         change patch.
3665
3666         * check/gst/gstbin.c: Merge in some style fixes and additional
3667         checks from Wim's state change patch.
3668
3669 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3670
3671         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3672         (gst_type_find_helper):
3673           Check whether we have the requested data already in our list of
3674           cached buffers before pulling a new buffer; also make the buffer
3675           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3676
3677 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3678
3679         * gst/gstcaps.c:
3680         * gst/gstevent.c:
3681           doc updates
3682         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3683           don't use long long, it's not portable.  Replacing with
3684           gint64 seems to work; let's hope no skeletons fall out of the closet.
3685
3686 2005-10-10  Andy Wingo  <wingo@pobox.com>
3687
3688         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3689
3690 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3691
3692         * docs/gst/gstreamer-sections.txt:
3693         * gst/gstevent.c:
3694         * gst/gstevent.h:
3695         * gst/gstinfo.c:
3696         * gst/gstinfo.h:
3697         * gst/gstmessage.c: (gst_message_parse_state_changed):
3698         * gst/gstpad.c:
3699         * gst/gstpad.h:
3700           more docs, fix compilation
3701
3702 2005-10-09  Philippe Khalaf <burger@speedy.org>
3703         * gst/gstmessage.c:
3704           Fixed a few forgotten variables on previous commit
3705
3706 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3707
3708         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3709           Fix evil typefind crasher: getrange() might return a short
3710           buffer at the end of a file, but gst_type_find_peek() must
3711           either return the full data as requested or NULL, but
3712           never a short buffer.
3713
3714 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3715
3716         * gst/gstmessage.c: (gst_message_new_state_changed),
3717         (gst_message_parse_state_changed):
3718         * gst/gstmessage.h:
3719           don't use "new", it's a C++ keyword
3720
3721 2005-10-08  Wim Taymans  <wim@fluendo.com>
3722
3723         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3724         * gst/gstelement.c: (gst_element_post_message):
3725         * gst/gstpipeline.c: (gst_pipeline_change_state):
3726         Small docs and debug updates.
3727
3728 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3729
3730         * docs/gst/gstreamer-sections.txt:
3731         * gst/gstelementfactory.c:
3732         * gst/gstevent.c:
3733         * gst/gsttaglist.c:
3734           more docs
3735
3736 2005-10-08  Wim Taymans  <wim@fluendo.com>
3737
3738         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3739         (gst_bin_dispose), (bin_bus_handler):
3740         Fix typos, add comments.
3741         Clear EOS list when going to PAUSED from any direction and do it
3742         in a threadsafe way.
3743         Get base time in a threadsafe way too.
3744         Fix confusing debug in the change_state function.
3745         Various other small cleanups.
3746         
3747         * gst/gstelement.c: (gst_element_post_message):
3748         Fix very verbose bus posting code.
3749
3750         * gst/gstpipeline.c: (gst_pipeline_class_init),
3751         (gst_pipeline_set_property), (gst_pipeline_get_property),
3752         (gst_pipeline_change_state):
3753         Small ARG_ -> PROP_ cleanup
3754
3755 2005-10-08  Wim Taymans  <wim@fluendo.com>
3756
3757         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3758         Do a less CPU demanding EOS check because we can.
3759
3760 2005-10-08  Wim Taymans  <wim@fluendo.com>
3761
3762         * libs/gst/dataprotocol/dataprotocol.c:
3763         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3764         (gst_dp_packet_from_event):
3765         * libs/gst/dataprotocol/dataprotocol.h:
3766         * libs/gst/dataprotocol/dp-private.h:
3767         It's about time we bump the version number.
3768         Since event types don't fit in the guint8 anymore describing
3769         the payload type, make payload type 16 bits wide.
3770
3771 2005-10-08  Wim Taymans  <wim@fluendo.com>
3772
3773         * docs/design/part-TODO.txt:
3774         * docs/design/part-clocks.txt:
3775         * docs/design/part-events.txt:
3776         * docs/design/part-gstbin.txt:
3777         * docs/design/part-gstelement.txt:
3778         * docs/design/part-gstpipeline.txt:
3779         * docs/design/part-live-source.txt:
3780         * docs/design/part-messages.txt:
3781         * docs/design/part-overview.txt:
3782         * docs/design/part-states.txt:
3783         Many doc updates.
3784
3785 2005-10-08  Wim Taymans  <wim@fluendo.com>
3786
3787         * gst/gstevent.c:
3788         * gst/gstevent.h:
3789         Fix event quark registration.
3790         Add some space between events so we can insert them in the
3791         right groups.
3792
3793 2005-10-08  Wim Taymans  <wim@fluendo.com>
3794
3795         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3796         (gst_base_sink_handle_buffer):
3797         Better log message.
3798
3799         * gst/gstbus.h:
3800         * gst/gstelement.h:
3801         More docs.
3802
3803         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3804         (gst_queue_set_property), (gst_queue_get_property):
3805         * gst/gstqueue.h:
3806         Remove old unused properties.
3807
3808 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3809         * docs/gst/gstreamer-sections.txt:
3810         * gst/gstmessage.c:
3811         * gst/gstmessage.h:
3812         * gst/gstminiobject.c:
3813         * gst/gstminiobject.h:
3814         * gst/gstobject.h:
3815         * gst/gstpad.h:
3816         * gst/gstutils.h:
3817           lots of new docs and doc fixes
3818
3819 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3820
3821         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3822         * gst/gstplugin.h:
3823         * gst/gstregistry.c: (gst_registry_lookup_locked),
3824         (gst_registry_scan_path_level):
3825         * gst/gstregistryxml.c: (load_plugin):
3826           Only ever load one plugin for a given plugin basename.
3827           This ensures correct overriding of GST_PLUGIN_PATH over
3828           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3829           system installed plugins.
3830
3831 2005-10-08  Wim Taymans  <wim@fluendo.com>
3832
3833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3834         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3835         Prepare for doing QOS.
3836
3837 2005-10-08  Wim Taymans  <wim@fluendo.com>
3838
3839         * check/gst/gstbin.c: (GST_START_TEST):
3840         * check/pipelines/cleanup.c: (GST_START_TEST):
3841         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3842         Allow new clock message too.
3843
3844 2005-10-08  Wim Taymans  <wim@fluendo.com>
3845
3846         * gst/gstmessage.c: (gst_message_new_error),
3847         (gst_message_new_warning), (gst_message_new_tag),
3848         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3849         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3850         (gst_message_new_segment_start), (gst_message_new_segment_done),
3851         (gst_message_parse_state_changed),
3852         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3853         (gst_message_parse_new_clock):
3854         * gst/gstmessage.h:
3855         Also carry the clock in question.
3856
3857 2005-10-08  Wim Taymans  <wim@fluendo.com>
3858
3859         * gst/gstmessage.c: (gst_message_new_custom),
3860         (gst_message_new_eos), (gst_message_new_error),
3861         (gst_message_new_warning), (gst_message_new_tag),
3862         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3863         (gst_message_new_new_clock), (gst_message_new_segment_start),
3864         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3865         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3866         * gst/gstmessage.h:
3867         Clean up.
3868         Added clock related messages.
3869
3870         * gst/gstpipeline.c: (gst_pipeline_change_state):
3871         Post message when the clock changed.
3872
3873         * tools/gst-launch.c: (event_loop):
3874         Print new clock.
3875
3876 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3877
3878         * tools/gst-inspect.c: (print_element_properties_info):
3879           Can't pass NULL strings to g_print() on windows.
3880
3881 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3882
3883         * docs/Makefile.am:
3884         * docs/gst/Makefile.am:
3885         * docs/gst/gstreamer-docs.sgml:
3886         * docs/gst/running.xml:
3887         * docs/version.entities.in:
3888           add a chapter on running GStreamer.
3889           document GST_DEBUG and GST_PLUGIN* env vars
3890
3891 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3892
3893         * Makefile.am:
3894           remove include dir
3895         * configure.ac:
3896           remove PLUGINS_BUILDDIR stuff
3897         * gst/gst.c: (init_post):
3898           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3899         * idiottest.mak:
3900           remove, it was condescending and not needed
3901
3902 2005-10-08  Wim Taymans  <wim@fluendo.com>
3903
3904         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3905         (gst_base_sink_handle_object), (gst_base_sink_event),
3906         (gst_base_sink_wait), (gst_base_sink_handle_event),
3907         (gst_base_sink_change_state):
3908         * gst/base/gstbasesink.h:
3909         Repost EOS message while going to PLAYING if still EOS.
3910         Make sure that when receiving a FLUSH_START we don't attempt
3911         to sync on the clock anymore.
3912
3913 2005-10-08  Wim Taymans  <wim@fluendo.com>
3914
3915         * tools/gst-launch.c: (event_loop):
3916         Better message printout.
3917
3918 2005-10-08  Wim Taymans  <wim@fluendo.com>
3919
3920         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3921         (gst_bin_child_proxy_get_children_count):
3922         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3923         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3924         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3925         (gst_child_proxy_set_valist):
3926         * gst/parse/grammar.y:
3927         Make ChildProxy threadsafe and fix mem leaks.
3928
3929 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3930
3931         * gst/gst.c: (init_post):
3932           debug the GST_PLUGIN_ env vars
3933
3934 2005-10-08  Wim Taymans  <wim@fluendo.com>
3935
3936         * check/gst/gstbin.c: (GST_START_TEST):
3937         * check/gst/gstmessage.c: (GST_START_TEST):
3938         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3939         * gst/gstelement.c: (gst_element_commit_state),
3940         (gst_element_lost_state):
3941         * gst/gstmessage.c: (gst_message_new_state_changed),
3942         (gst_message_parse_state_changed):
3943         * gst/gstmessage.h:
3944         * tools/gst-launch.c: (event_loop):
3945         Added extra field to STATE_CHANGE message with the pending
3946         state, which will be different from the new state soon.
3947
3948 2005-10-08  Wim Taymans  <wim@fluendo.com>
3949
3950         * gst/gstbus.c: (gst_bus_pop):
3951         * gst/gstclock.c:
3952         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3953         Small cleanups and doc updates.
3954
3955 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3956
3957         * gst/gst.c: (init_pre):
3958         * gst/gstbin.c: (gst_bin_add_func):
3959           log distributing clocks and base time
3960         * gst/gstregistry.c: (gst_registry_add_plugin),
3961         (gst_registry_scan_path_level), (gst_registry_scan_path):
3962           clean up the debugging output a little
3963         * gst/gstutils.c: (gst_element_state_get_name):
3964           warn about a memleak (I've actually seen this be used, though
3965           it was probably a bug)
3966
3967 2005-10-07  Wim Taymans  <wim@fluendo.com>
3968
3969         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3970         (gst_base_src_init), (gst_base_src_default_newsegment),
3971         (gst_base_src_newsegment), (gst_base_src_do_seek),
3972         (gst_base_src_loop), (gst_base_src_start):
3973         * gst/base/gstbasesrc.h:
3974         Make the newsegment event customizable by subclasses.
3975
3976 2005-10-07  Wim Taymans  <wim@fluendo.com>
3977
3978         * gst/gstevent.c: (gst_event_new_buffersize),
3979         (gst_event_parse_buffersize):
3980         * gst/gstevent.h:
3981         New event for future idea.
3982
3983 2005-10-07  Andy Wingo  <wingo@pobox.com>
3984
3985         * gst/gstelement.c (gst_element_post_message): Doc update.
3986
3987         * docs/gst/gstreamer-sections.txt: Update.
3988
3989         * gst/gstmessage.c (gst_message_new_application): Made into a
3990         function like honest API calls.
3991         (gst_message_new_element): New message type.
3992
3993         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3994
3995         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3996         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3997         times.
3998
3999         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4000         NO_PREROLL from gst_element_change_state to fall through.
4001
4002 2005-10-07  Wim Taymans  <wim@fluendo.com>
4003
4004         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4005         (gst_ghost_pad_do_activate_push):
4006         Activating a ghostpad with no internal pad in push mode
4007         is ok.
4008
4009 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4010
4011         * gst/gstobject.h:
4012           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4013           Fixes compilation on Windows.
4014
4015 2005-10-07  Michael Smith <msmith@fluendo.com>
4016
4017         * tools/gst-inspect.c:
4018           Print out feature and plugin count at the end when printing out
4019           all features.
4020
4021 2005-10-04  Michael Smith <msmith@fluendo.com>
4022
4023         * gst/gsterror.c: (_gst_stream_errors_init):
4024           Add another error string used in a few existing plugins.
4025
4026         * gst/gstplugin.c:
4027         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4028         * tools/gst-inspect.c: (print_element_info):
4029           When a feature disappears from a plugin (and the feature exists in
4030           the cached registry file), things went horribly wrong. This isn't a
4031           complete fix, we should actually be removing the 'missing' features
4032           from the features list when we load the actual plugin. That's not
4033           yet implemented. 
4034
4035 2005-10-04  Johan Dahlin  <johan@gnome.org>
4036
4037         * check/gst/gstiterator.c: (GST_START_TEST):
4038         * gst/gstbin.c: (gst_bin_iterate_elements),
4039         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4040         * gst/gstelement.c: (gst_element_iterate_pads):
4041         * gst/gstformat.c: (gst_format_iterate_definitions):
4042         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4043         (gst_iterator_new_list), (gst_iterator_filter):
4044         * gst/gstiterator.h:
4045         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4046         Add a GType to GstIterator, update callsites and tests.
4047
4048 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4049
4050         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4051           give events a chance to be handled by event probes when the pad
4052           is not linked
4053
4054 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4055
4056         * gst/gstevent.c: (gst_event_type_get_name),
4057         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4058         * gst/gstevent.h:
4059           add string representations for event types
4060
4061 2005-10-06  Wim Taymans  <wim@fluendo.com>
4062
4063         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4064         Don't use NULL pointers.
4065
4066 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         * gst/gst_private.h:
4069         * gst/gstbus.c:
4070         * gst/gstelement.c:
4071         * gst/gstinfo.c:
4072         * gst/gstpluginfeature.c:
4073           widen the debug category in output to fit the biggest one we have
4074           add a bus category and use it
4075           play with the colors
4076           fix up some categories
4077
4078 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4079
4080         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4081           add push activation of sink ghost pads.
4082           Andye, please verify
4083
4084 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4085
4086         * gst/gstutils.c: (gst_element_link_pads):
4087           fix a bug in the case where neither element has a pad
4088         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4089           add a test for that case
4090
4091 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4092
4093         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4094           emit have-data before checking for peers.  This allows
4095           for probe handlers to connect elements.  This helps autopluggers.
4096         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4097         (gst_pad_suite):
4098           add six checks, linked/unlinked with no/true/false probe
4099
4100 2005-10-04  Wim Taymans  <wim@fluendo.com>
4101
4102         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4103         (gst_fake_sink_event), (gst_fake_sink_preroll),
4104         (gst_fake_sink_render), (gst_fake_sink_change_state):
4105         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4106         (gst_fake_src_get_property), (gst_fake_src_create),
4107         (gst_fake_src_stop):
4108         * gst/elements/gstidentity.c: (gst_identity_stop):
4109         Protect last_message with lock.
4110
4111 2005-10-04  Edward Hervey  <edward@fluendo.com>
4112
4113         * gst/gstformat.h: 
4114         Added precision in the comments for GST_FORMAT_DEFAULT
4115
4116 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4117
4118         * tools/gst-launch.c: (main):
4119           Don't try to run erroneous pipelines.
4120
4121 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4122
4123         * gst/gstbus.c: We don't need this header.
4124
4125 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4126
4127         * configure.ac:
4128           back to development
4129
4130 === release 0.9.3 ===
4131
4132 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4133
4134         * README:
4135         * configure.ac:
4136           Releasing 0.9.3, "Unregistered"
4137
4138 2005-10-03  Andy Wingo  <wingo@pobox.com>
4139
4140         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4141         whereby calling a pad's activatepush() function can start a thread
4142         that starts to push or pull before the pad gets the FLUSHING flag
4143         unset. Hack around it by holding the stream lock until the flag is
4144         set. Need to replace this with a proper solution. Together with
4145         the ghost pad fixes, this fixes mp3 playing/tagreading.
4146
4147         * docs/design/part-gstghostpad.txt: Add a note about activation of
4148         proxy pads outside of ghost pads.
4149
4150         * gst/gstghostpad.c: Implement the ghost pad activation design.
4151
4152 2005-10-02  Andy Wingo  <wingo@pobox.com>
4153
4154         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4155         It is volatile, after all.
4156
4157         * docs/design/part-gstghostpad.txt: Flesh out activation with
4158         ghost pads.
4159
4160         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4161         GST_DEBUG_FUNCPTR.
4162
4163 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4164
4165         * configure.ac:
4166           Fix (unused) AM_CONDITIONAL tests.
4167
4168 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4169
4170         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4171
4172         * gst/gstutils.c: (gst_pad_query_convert):
4173           Add assertion that makes sure src_val is >=0, just like
4174           gst_query_new_convert() has. (#315895)
4175
4176 2005-09-30  Edward Hervey  <edward@fluendo.com>
4177
4178         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4179         Let's not iterate pads we're not interested in, it avoids getting 
4180         sky-high refcounts on sinkpad.
4181
4182 2005-09-30  Wim Taymans  <wim@fluendo.com>
4183
4184         * gst/gstelement.c: (gst_element_set_state),
4185         (gst_element_change_state):
4186         Small tweak, element in ASYNC remains ASYNC.
4187
4188 2005-09-30  Wim Taymans  <wim@fluendo.com>
4189
4190         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4191         Only error is an error.
4192
4193         * gst/gstbin.c: (gst_bin_change_state):
4194         Better debugging.
4195
4196         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4197         Also call pad_block in pad alloc.
4198
4199         * gst/gstutils.c: (gst_flow_get_name):
4200         Better debugging.
4201
4202 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4203
4204         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4205         (gst_base_src_get_range):
4206           Fix documentation typos. Add some more debug info.
4207
4208 2005-09-29  David Schleef  <ds@schleef.org>
4209
4210         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4211           more end-user friendly.
4212         * tools/gst-inspect.c: (main): Check if command-line argument is
4213           a file and attempt to load that file as a plugin.
4214
4215 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4216
4217         * check/gst/gstbin.c:
4218         * check/states/sinks.c:
4219           fix tests for the new warning
4220         * check/gst/gstpipeline.c:
4221           add a test for pipeline and bus interaction
4222         * gst/gstelement.c:
4223           elements should be NULL if they get disposed; add a warning if not
4224
4225 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4226
4227         * gst/gstobject.c:
4228           for 2.6 refcounting, make debug log more correct by printing
4229           the actual refcounts at the time of swap (Wim)
4230
4231 2005-09-29  Andy Wingo  <wingo@pobox.com>
4232
4233         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4234         removes signal watches previously added via
4235         gst_bus_add_signal_watch.
4236         (gst_bus_add_signal_watch): Don't return the source id, just store
4237         it on the bus if there wasn't an id already.
4238
4239         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4240         add_signal_watch and remove_signal_watch.
4241
4242 2005-09-29  Edward Hervey  <edward@fluendo.com>
4243
4244         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4245         Better if we actually iterate the list :)
4246
4247 2005-09-29  Wim Taymans  <wim@fluendo.com>
4248
4249         * check/gst/gstbin.c: (GST_START_TEST):
4250         Change for new bus API.
4251
4252         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4253         (send_messages), (GST_START_TEST), (gstbus_suite):
4254         Change for new bus signal API.
4255
4256         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4257         (gst_bus_source_prepare), (gst_bus_source_check),
4258         (gst_bus_create_watch), (gst_bus_add_watch_full),
4259         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4260         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4261         * gst/gstbus.h:
4262         Remove support for multiple GSources operating on different
4263         message types as it is too complex and unneeded when using
4264         signals.
4265         Added support for receiving signals from the bus.
4266
4267 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4268
4269         * docs/libs/tmpl/gstdataprotocol.sgml:
4270         * docs/manual/advanced-dataaccess.xml:
4271         * gst/elements/gstcapsfilter.c:
4272         * gst/gstutils.c:
4273           rename filter-caps to caps property
4274
4275 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4276
4277         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4278           More robust fraction string parsing.
4279
4280         * docs/pwg/appendix-porting.xml:
4281           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4282
4283 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4284
4285         * gst/gstcaps.c: (gst_caps_do_simplify):
4286           Thou shalt not free a structure and then continue using it
4287           in the next loop iteration.
4288
4289         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4290         (gst_caps_suite):
4291           Add test case for caps simplification.
4292
4293 2005-09-29  Wim Taymans  <wim@fluendo.com>
4294
4295         * check/gst/gstbin.c: (GST_START_TEST):
4296         Oops.
4297
4298 2005-09-29  Wim Taymans  <wim@fluendo.com>
4299
4300         * check/gst/gstbin.c: (GST_START_TEST):
4301         Add bus to bin.
4302
4303         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4304         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4305         (find_element), (gst_bin_sort_iterator_next),
4306         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4307         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4308         (gst_bin_change_state), (gst_bin_dispose):
4309         A bin does not have a bus, it gets the bus from the parent.
4310
4311         * gst/gstelement.c: (gst_element_requires_clock),
4312         (gst_element_provides_clock), (gst_element_is_indexable),
4313         (gst_element_is_locked_state), (gst_element_change_state),
4314         (gst_element_set_bus_func):
4315         Small cleanups.
4316
4317         * gst/gstpipeline.c: (gst_pipeline_class_init),
4318         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4319         The pipeline provides a bus.
4320
4321 2005-09-28  Johan Dahlin  <johan@gnome.org>
4322
4323         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4324         gst_structure_get_enum instead of gst_structure_get_int
4325
4326         * gst/gststructure.c (gst_structure_get_enum): Impl.
4327
4328         * gst/gststructure.h (gst_structure_get_enum): Add
4329
4330         * docs/gst/gstreamer-sections.txt: Ditto
4331
4332         * gst/gstmessage.c (gst_message_new_state_changed): Use
4333         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4334         which does introspection.
4335         Reviewed by Christian Schaller
4336
4337 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4338
4339         * gst/gstinfo.c: (gst_debug_log_default):
4340           don't do dummy g_strdup()s
4341         * libs/gst/controller/gstcontroller.c:
4342         (on_object_controlled_property_changed),
4343         (gst_controlled_property_new), (gst_controller_new_valist),
4344         (gst_controller_new_list),
4345         (gst_controller_remove_properties_valist), (gst_controller_set),
4346         (gst_controller_get), (gst_controller_sync_values),
4347         (gst_controller_get_value_array), (_gst_controller_class_init),
4348         (gst_controller_get_type):
4349         * libs/gst/controller/gstcontroller.h:
4350         * libs/gst/controller/gstinterpolation.c:
4351         (gst_controlled_property_find_timed_value_node):
4352           convert // to /**/ comments
4353
4354 2005-09-28  Wim Taymans  <wim@fluendo.com>
4355
4356         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4357         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4358         (gst_bus_sync_signal_handler):
4359         * gst/gstbus.h:
4360         Added async-message and sync-message signals to the bus.
4361         Added helper BusFunc to emit signals for all posted messages.
4362
4363         * gst/gstmessage.c: (gst_message_type_get_name),
4364         (gst_message_type_to_quark), (gst_message_get_type):
4365         * gst/gstmessage.h:
4366         Register quarks for message names.
4367
4368 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4369
4370         * docs/libs/gstreamer-libs-sections.txt:
4371         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4372         (gst_controller_new_list):
4373         * libs/gst/controller/gstcontroller.h:
4374           added another constructor for language bindings
4375
4376 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4377
4378         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4379           add another check
4380         * gst/gstbus.c:
4381           add some doc
4382         * gst/gstinfo.c: (_gst_debug_init):
4383           slightly more readable color for refcount debugging
4384
4385 2005-09-28  Wim Taymans  <wim@fluendo.com>
4386
4387         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4388         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4389         (find_element), (gst_bin_sort_iterator_next),
4390         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4391         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4392         (gst_bin_change_state), (gst_bin_dispose):
4393         Small doc fixes. get_clock -> provide_clock.
4394
4395         * gst/gstelement.c: (gst_element_class_init),
4396         (gst_element_provides_clock), (gst_element_provide_clock),
4397         (gst_element_get_clock), (gst_element_commit_state),
4398         (gst_element_lost_state):
4399         * gst/gstelement.h:
4400         Make get/set_clock() symetric. Add provide_clock vmethod since
4401         that is actually what this function does.
4402
4403         * gst/gstpipeline.c: (gst_pipeline_class_init),
4404         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4405         (gst_pipeline_get_clock):
4406         get_clock -> provide_clock.
4407
4408 2005-09-28  Andy Wingo  <wingo@pobox.com>
4409
4410         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4411         lieu of real docs...
4412
4413         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4414
4415 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4416
4417         * gst/elements/gstcapsfilter.c:
4418         * gst/elements/gstfakesink.c:
4419         * gst/elements/gstfakesrc.c:
4420         * gst/elements/gstfdsink.c:
4421         * gst/elements/gstfdsrc.c:
4422         * gst/elements/gstfilesink.c:
4423         * gst/elements/gstfilesrc.c:
4424         * gst/elements/gstidentity.c:
4425         * gst/elements/gsttee.c:
4426         * gst/elements/gsttypefindelement.c:
4427           Make element details static.
4428
4429 2005-09-28  Wim Taymans  <wim@fluendo.com>
4430
4431         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4432         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4433         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4434         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4435         (gst_bin_change_state), (gst_bin_dispose):
4436         Some documentation updates.
4437         Clean up dispose handlers.
4438
4439         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4440         * gst/gstpad.c: (gst_pad_dispose):
4441         Clean up dispose handler.
4442
4443         * gst/gstpipeline.c: (gst_pipeline_change_state):
4444         Removed spurious UNLOCK.
4445
4446 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4447
4448         * docs/gst/gstreamer-sections.txt:
4449         * gst/base/gstbasesrc.h:
4450         * gst/gstelement.h:
4451         * gst/gstevent.h:
4452         * gst/gstobject.h:
4453         * gst/gstpad.h:
4454         * gst/gstpipeline.c:
4455         * gst/gstpipeline.h:
4456         * gst/gstutils.h:
4457         * gst/gstxml.h:
4458           added two new functions to the docs
4459                 documents all undocumented GstXXXFlags
4460                 completed some incomplete docs 
4461
4462 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4463
4464         * gst/gstbin.c: (gst_bin_dispose):
4465         * gst/gstelement.c: (gst_element_dispose):
4466           remove now useless and leaky resurrection code in dispose
4467         * gst/base/gstbasesrc.c: (gst_base_src_init):
4468         * gst/gstelementfactory.c: (gst_element_factory_create):
4469         * gst/gstobject.c: (gst_object_set_parent):
4470           add some debugging
4471
4472 2005-09-27  Wim Taymans  <wim@fluendo.com>
4473
4474         * docs/design/part-TODO.txt:
4475         Update TODO.
4476
4477         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4478         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4479         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4480         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4481         (gst_bin_change_state):
4482         * gst/gstelement.h:
4483         Remove element variable, we keep element info in the iterator now.
4484
4485 2005-09-27  Andy Wingo  <wingo@pobox.com>
4486
4487         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4488         values.
4489
4490 2005-09-27  Wim Taymans  <wim@fluendo.com>
4491
4492         * check/gst/gstbin.c: (GST_START_TEST):
4493         Enable check that works now.
4494
4495         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4496         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4497         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4498         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4499         (gst_bin_change_state):
4500         * gst/gstbin.h:
4501         Redid the state change algorithm using a topological sort algo.
4502         Handles all cases correctly.
4503         Exposed iterator for state change order.
4504
4505         * gst/gstelement.h:
4506         Temp storage for state changes. Need to get rid of this soon.
4507
4508 2005-09-27  Wim Taymans  <wim@fluendo.com>
4509
4510         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4511         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4512         (link_fold_func), (gst_pad_proxy_setcaps):
4513         Leak fixes, the fold functions need to unref the passed object and
4514         _get_parent_*() returns ref to parent.
4515
4516 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         * check/gst/gstbuffer.c: (test_make_writable):
4519           Plug leak in test case and fix 'make check-valgrind'
4520
4521 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4522
4523         * gst/gstbuffer.c: (gst_subbuffer_init):
4524           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4525           works correctly in all circumstances (we could have just copied
4526           the parent buffer's readonly flag, but conceptually it seems
4527           cleaner to mark all subbuffers as read-only). (based on patch
4528           by Alessandro Decina, #314710).
4529         
4530         * check/gst/gstbuffer.c: (create_read_only_buffer),
4531         (test_make_writable), (test_subbuffer_make_writable),
4532         (gst_test_suite):
4533           Add some tests for gst_buffer_make_writable().
4534
4535 2005-09-27  Wim Taymans  <wim@fluendo.com>
4536
4537         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4538         use gst_object_has_ancestor().
4539
4540         * gst/gstobject.c: (gst_object_has_ancestor):
4541         * gst/gstobject.h:
4542         gst_object_has_ancestor() copied from gstbin.c as it is a
4543         usefull function.
4544
4545         * tests/instantiate/create.c: (create_all_elements):
4546         * tests/lat.c: (handoff_src), (handoff_sink):
4547         * tests/sched/runxml.c: (main):
4548         * tests/seeking/seeking1.c: (main):
4549         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4550         (main):
4551         Fix compilation of some tests.
4552
4553 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4554
4555         * gst/gsterror.h:
4556           Remove comment. GST_TYPE_G_ERROR is here to stay,
4557           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4558           (#316961, #300610).
4559
4560 2005-09-26  Wim Taymans  <wim@fluendo.com>
4561
4562         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4563         Added check that shows error in state change order.
4564
4565 2005-09-26  Wim Taymans  <wim@fluendo.com>
4566
4567         * gst/gstbin.c: (gst_bin_change_state):
4568         Make state change function use 3 queues again, we were
4569         adding elements in the wrong order.
4570
4571         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4572         Some debug info,
4573
4574         * gst/gstpad.c: (gst_pad_dispose):
4575         Added some debug info first.
4576
4577 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4578
4579         * docs/design/draft-push-pull.txt:
4580         * docs/design/part-events.txt:
4581         * docs/design/part-overview.txt:
4582         * docs/design/part-scheduling.txt:
4583           Replace all _pull_region() with _pull_range()
4584           
4585 2005-09-26  Andy Wingo  <wingo@pobox.com>
4586
4587         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4588
4589         * check/gst-libs/controller.c: Update for controller api change.
4590
4591         * configure.ac: 
4592         * tests/Makefile.am:
4593         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4594         over by GLib bug 118439.
4595         
4596         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4597         routines to a function.
4598
4599         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4600
4601         * libs/gst/controller/gsthelper.c:
4602         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4603         (gst_object_sync_values): Renamed from sink_values. Ugh.
4604
4605         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4606
4607         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4608         Renamed from controller_key, as it is exported.
4609
4610         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4611
4612 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4613
4614         * gst/Makefile.am:
4615         * gst/gst.h:
4616         * gst/gstpad.h:
4617         * gst/gstpadtemplate.h:
4618         * gst/gstquery.c:
4619         * gst/gstquery.h:
4620         * gst/gstqueryutils.c:
4621         * gst/gstqueryutils.h:
4622           remove queryutils headers after moving the two used functions
4623           to gstquery.  also fixes build problem for gstsiddec
4624
4625 2005-09-26  Michael Smith <msmith@fluendo.com>
4626
4627         * tools/gst-launch.1.in:
4628         Correct documentation in manpage of debug syntax
4629
4630 2005-09-26  Wim Taymans  <wim@fluendo.com>
4631
4632         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4633         (gst_base_src_is_seekable), (gst_base_src_change_state):
4634         Some more debugging info.
4635
4636 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4637
4638         * docs/gst/gstreamer-sections.txt:
4639         * gst/base/gstbasetransform.h:
4640         * gst/gstindex.h:
4641           added more docs
4642
4643 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4644
4645         * docs/gst/.cvsignore:
4646         * docs/gst/tmpl/.cvsignore:
4647         * docs/gst/tmpl/gstpipeline.sgml:
4648         * docs/gst/tmpl/gstplugin.sgml:
4649         * gst/gstpipeline.c:
4650         * gst/gstplugin.c:
4651         * gst/gstplugin.h:
4652           inlined the last two docs files
4653           removed the tmpl directory from cvs (no more conflicts here!)
4654
4655 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4656
4657         * docs/gst/gstreamer-sections.txt:
4658         * docs/gst/tmpl/.cvsignore:
4659         * docs/gst/tmpl/gstpad.sgml:
4660         * docs/gst/tmpl/gstpadtemplate.sgml:
4661         * gst/Makefile.am:
4662         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4663         (gst_pad_finalize), (gst_pad_set_pad_template):
4664         * gst/gstpad.h:
4665         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4666         (gst_pad_template_class_init), (gst_pad_template_init),
4667         (gst_pad_template_dispose), (name_is_valid),
4668         (gst_static_pad_template_get), (gst_pad_template_new),
4669         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4670         (gst_pad_template_pad_created):
4671         * gst/gstpadtemplate.h:
4672           inlined two more docs
4673           factored gstpadtemplate out of gstpad
4674
4675 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4676
4677         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4678         (test_children_state_change_order_semi_sink):
4679           Fix test case: we can't rely on a fixed state change order when
4680           going from READY => PAUSED because the sink might commit its 
4681           new state first when the first buffer created by the source 
4682           reaches the sink before the source has finished its change state.
4683           (Test case still fails at times, see #316856, comment 5 onwards)
4684
4685 2005-09-24  Wim Taymans  <wim@fluendo.com>
4686
4687         * docs/design/part-events.txt:
4688         * docs/design/part-gstbus.txt:
4689         * docs/design/part-gstpipeline.txt:
4690         * docs/design/part-messages.txt:
4691         * docs/design/part-overview.txt:
4692         * docs/design/part-segments.txt:
4693         * gst/gstbin.c:
4694         * gst/gstbuffer.c:
4695         * gst/gstclock.c:
4696         * gst/gstelement.c:
4697         * gst/gstevent.c:
4698         * gst/gstfilter.c:
4699         * gst/gstiterator.c:
4700         Various documentation updates.
4701
4702 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4703
4704         * gst/gstclock.h:
4705           Well, that's embarassing.  Luckily we weren't using
4706           GST_CLOCK_DIFF anywhere.
4707
4708 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * common/gtk-doc.mak:
4711           don't fail on building XML, FC4 slave shows a bunch of doc
4712           missing bits that I don't get
4713         * gst/gstpad.c:
4714         * gst/gstpipeline.c:
4715         * gst/gststructure.c:
4716           some doc updates
4717
4718 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4719
4720         * docs/design/part-gstbin.txt:
4721         * docs/design/part-gstbus.txt:
4722         * gst/gstbus.c:
4723           Add blurb about how the bus goes into flushing mode and
4724           drops all messages when its bin goes from READY into NULL 
4725           state.
4726
4727 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4728
4729         * docs/gst/gstreamer-sections.txt:
4730         * gst/gststructure.c: (gst_structure_get_clock_time):
4731         * gst/gststructure.h:
4732           add a method to get a GstClockTime out of a structure
4733
4734 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4735
4736         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4737         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4738           Added test to check state change order in bins (can still be made
4739           to fail here under heavy disk load; bails out with 'Push on pad
4740           fakesink:sink0, but it was not activated in push mode').
4741
4742         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4743           Fix state change order when there is only a semi sink (#316856)
4744
4745         * gst/gstbus.c: (gst_bus_class_init):
4746           Use _class_peek_parent(), not _class_ref(); fix docs to say
4747           'default main context' instead of 'mainloop' where that is
4748           what's meant.
4749
4750         * gst/gstelement.c: (gst_element_commit_state),
4751         (gst_element_set_state):
4752           Fix typos in debug messages
4753
4754 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4755
4756         * docs/README:
4757         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4758         * gst/gstpluginfeature.c:
4759         * gst/gstutils.c:
4760           various doc updates
4761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4762           change an assert into an error until it gets fixed properly
4763
4764 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4765
4766         * docs/gst/gstreamer-sections.txt:
4767         * docs/gst/tmpl/.cvsignore:
4768         * docs/gst/tmpl/gstelement.sgml:
4769         * docs/gst/tmpl/gstinfo.sgml:
4770         * docs/gst/tmpl/gstobject.sgml:
4771         * gst/gstelement.c:
4772         * gst/gstelement.h:
4773         * gst/gstinfo.c:
4774         * gst/gstinfo.h:
4775         * gst/gstobject.c: (gst_object_class_init):
4776         * gst/gstobject.h:
4777           inlined 3 more biiiig doc files and added some missing docs on the fly
4778
4779 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4780
4781         * check/gst/.cvsignore:
4782         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4783         * gst/gstregistryxml.c: (load_plugin),
4784         (gst_registry_xml_save_plugin):
4785           put back source in registry.  add checks for find_plugin.
4786         * testsuite/states/bin.c: (assert_state), (empty_bin),
4787         (test_adding_one_element), (main):
4788         * testsuite/states/locked.c: (main):
4789           some compile/run fixes
4790
4791 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4792
4793         * check/gst/gstvalue.c: (GST_START_TEST):
4794           fix leaks in the test itself
4795
4796 2005-09-22  Wim Taymans  <wim@fluendo.com>
4797
4798         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4799         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4800         (gst_base_sink_query):
4801         Prepare for more accurate position reporting and query
4802         handling.
4803
4804         * gst/gstelement.c: (gst_element_send_event),
4805         (gst_element_set_state):
4806         Add some comment.
4807
4808 2005-09-22  Wim Taymans  <wim@fluendo.com>
4809
4810         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4811         (gst_query_parse_segment):
4812         * gst/gstquery.h:
4813         More documentation.
4814         Add segment query for future use.
4815
4816 2005-09-22  Wim Taymans  <wim@fluendo.com>
4817
4818         * gst/gstbin.c: (gst_bin_add_func):
4819         Some more debug info.
4820
4821         * gst/gstelement.c: (gst_element_send_event):
4822         Simplify send_event
4823
4824         * gst/gstelement.h:
4825         Don't know how flags got broken.
4826
4827         * gst/gstquery.h:
4828         Added new query.
4829
4830 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4833           Add simplistic test suite for GST_TYPE_DATE serialisation and
4834           deserialisation.
4835
4836 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4837
4838         * docs/gst/gstreamer-sections.txt:
4839         * gst/gststructure.c: (gst_structure_set_valist),
4840         (gst_structure_get_date):
4841         * gst/gststructure.h:
4842         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4843         (gst_date_copy), (gst_value_compare_date),
4844         (gst_value_serialize_date), (gst_value_deserialize_date),
4845         (gst_value_transform_date_string),
4846         (gst_value_transform_string_date), (_gst_value_initialize):
4847         * gst/gstvalue.h:
4848           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4849           bunch of utility functions along with a hack that checks that
4850           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4851           is required. Part of the grand scheme in #170777.
4852
4853 2005-09-22  Andy Wingo  <wingo@pobox.com>
4854
4855         * gst/gstconfig.h.in: Psych out gtk-doc.
4856
4857         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4858
4859         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4860
4861         * tools/gst-inspect.c (print_element_list): Plug some
4862         inconsequential leaks.
4863
4864         * gst/gstregistry.c (gst_registry_get_default): Doc.
4865
4866         * check/gst/gstplugin.c: 
4867         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4868         * gst/gstelementfactory.c (gst_element_factory_create): 
4869         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4870         refcount changes.
4871
4872         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4873         (gst_plugin_feature_load): Doc, don't eat refs.
4874
4875         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4876         (gst_plugin_list_free): Doc.
4877         (gst_plugin_load_file): Doc updates.
4878
4879         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4880         accessors returning refcounted objects, return a ref.
4881
4882         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4883         accessor for caps. IDEMPOTENCE. Oh yes.
4884
4885 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4886
4887         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4888
4889         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4890         (_gst_debug_register_funcptr):
4891           Add mutex to serialise access to the hash table with
4892           the function pointer => function name string mapping;
4893           make that hash table static scope (#316809).
4894
4895         * gst/registries/.cvsignore:
4896           Remove left-over file.
4897
4898 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4899
4900         * docs/pwg/appendix-porting.xml:
4901           And something about newsegment events and caps-on-buffers to
4902           the porting guide (feel free to improve).
4903
4904 2005-09-21  Andy Wingo  <wingo@pobox.com>
4905
4906         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4907         data and event probes on the same pad.
4908         (test_buffer_probe_once): Test that removing probes from within
4909         the probe functions works.
4910
4911 2005-09-21  Andy Wingo  <wingo@pobox.com>
4912
4913         * check/gst/gstutils.c: New file.
4914         (test_buffer_probe_n_times): A simple buffer probe test. More to
4915         come, foolios.
4916
4917         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4918         have-data::buffer, not have-data.
4919         (gst_pad_add_event_probe): Likewise for have-data::event.
4920         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4921         peer' isn't quite right yet though.
4922         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4923         (gst_pad_remove_data_probe): Change to take the guint handler_id
4924         as their arg, not the function+data, which is more glib-like.
4925
4926         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4927         the signal emission to indicate if the data is a buffer or an
4928         event.
4929         (gst_pad_get_type): Initialize buffer and event quarks.
4930         (gst_pad_class_init): have-data is now a detailed signal, yes it
4931         is.
4932
4933 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4934
4935         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4936         * gst/gstutils.c: (gst_util_set_value_from_string),
4937         (gst_util_set_object_arg):
4938           Don't put functional code in g_return_if_fail() or
4939           g_return_val_if_fail() statements, otherwise things will 
4940           break when G_DISABLE_CHECKS is defined during compilation.
4941
4942 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4943
4944         * docs/gst/tmpl/.cvsignore:
4945         * docs/gst/tmpl/gstvalue.sgml:
4946         * gst/gstvalue.c:
4947         * gst/gstvalue.h:
4948           inlied another one and added  some obvious docs
4949
4950 2005-09-21  Wim Taymans  <wim@fluendo.com>
4951
4952         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4953         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4954         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4955         (gst_fdsrc_get_property), (gst_fdsrc_create):
4956         * gst/elements/gstfdsrc.h:
4957         Properly implement fdsrc. Removed signal and timeout,
4958         better implemented somewhere else.
4959
4960 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4961
4962         * docs/gst/tmpl/.cvsignore:
4963         * docs/gst/tmpl/gstimplementsinterface.sgml:
4964         * gst/gstinterface.c:
4965           inlined more docs
4966
4967 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4968
4969         * docs/gst/gstreamer-sections.txt:
4970         * docs/gst/tmpl/.cvsignore:
4971         * docs/gst/tmpl/gstenumtypes.sgml:
4972           remove obsolete doc file
4973
4974 2005-09-21  David Schleef  <ds@schleef.org>
4975
4976         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4977         little beer, fix a little leak.
4978
4979 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4980
4981         * docs/gst/gstreamer-docs.sgml:
4982         * docs/gst/gstreamer-sections.txt:
4983         * docs/gst/tmpl/.cvsignore:
4984         * gst/Makefile.am:
4985         * gst/gst.h:
4986         * gst/gstbin.c:
4987         * gst/gstelement.h:
4988         * gst/gstindex.c: (gst_index_class_init):
4989         * gst/gstindex.h:
4990         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4991         (gst_index_factory_class_init), (gst_index_factory_init),
4992         (gst_index_factory_finalize), (gst_index_factory_new),
4993         (gst_index_factory_destroy), (gst_index_factory_find),
4994         (gst_index_factory_create), (gst_index_factory_make):
4995         * gst/gstindexfactory.h:
4996         * gst/gstpluginfeature.c:
4997         * gst/gstpluginfeature.h:
4998         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4999           more docs inlined, splitted gstindex.{c,h}
5000
5001 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5002
5003         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5004           fix a leak
5005
5006 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5007
5008         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5009           Set sync to FALSE by default.
5010
5011 2005-09-20  Wim Taymans  <wim@fluendo.com>
5012
5013         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5014         (gst_base_sink_init):
5015         Make sync property settable from subclass.
5016
5017         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5018         (gst_fake_sink_change_state):
5019         Set sync to FALSE by default.
5020
5021 2005-09-20  Wim Taymans  <wim@fluendo.com>
5022
5023         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5024         * tools/gst-launch.c: (main):
5025         The timeout handler should have lower priority than the source
5026         so we don't timeout before popping a message with 0 timeout.
5027         Dump error messages after failed state change.
5028
5029 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5030
5031         * tools/gst-inspect.c: (print_element_properties_info):
5032           Fix two typos.
5033
5034 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5035
5036         * check/gst/gstevent.c:
5037         * gst/elements/gstfakesink.c:
5038         * gst/elements/gstfakesink.h:
5039           remove the sync property from fakesink.
5040           has the side effect of setting sync TRUE
5041           for fakesink, which is a change.  Anyone who knows how
5042           to fix this nicely in a GObject-y way, feel free.
5043
5044 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5045
5046         * docs/gst/gstreamer-docs.sgml:
5047           remove probe refsection
5048
5049 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5050
5051         * check/Makefile.am:
5052           disable valgrinding the controller test again
5053         * docs/gst/gstreamer-sections.txt:
5054           update for api-changes
5055
5056 2005-09-20  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5059         (gst_base_sink_set_property), (gst_base_sink_get_property),
5060         (gst_base_sink_do_sync):
5061         * gst/base/gstbasesink.h:
5062         Added sync property to basesink to disable clock sync.
5063
5064 2005-09-20  Andy Wingo  <wingo@pobox.com>
5065
5066         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5067         eating the caller's refcount.
5068
5069         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5070         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5071         refcount.
5072
5073         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5074         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5075         of GLib 2.8 public, so we can know which refcount to check in
5076         tests.
5077
5078         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5079         (gst_object_init): Only set the gst refcount if we're going ahead
5080         with the refcount hack.
5081
5082 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5083
5084         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5085         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5086           more leaks plumbed, added more debug-logging
5087         * gst/gstmacros.h:
5088           whitespace fix
5089
5090 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5091
5092         * gst/gstmessage.c:
5093           remove include of gstmemchunk.h
5094
5095 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5096
5097         * gst/gstclock.c: (_gst_clock_id_free):
5098           Commit from the Political Party For More Atomic CVS Commits,
5099           so that people don't waste too much of their day fishing
5100           out obvious leaks out of massive commits.
5101           Oh, and fix a pretty damn obvious leak in the memchunk
5102           removal code.
5103
5104 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5105
5106         * check/Makefile.am:
5107         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5108           plug mem-leak, re-add to valgrindable tests
5109
5110 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5111
5112         * gst/gstplugin.h:
5113           unbreak the build for those who have chronic arthritis
5114           and typing "make check" is just too taxing on the hands
5115
5116 2005-09-20  Andy Wingo  <wingo@pobox.com>
5117
5118         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5119         really want it out, you should fix plugins at the same time.
5120
5121 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5122
5123         * configure.ac:
5124         * docs/gst/gstreamer-sections.txt:
5125         * gst/gstobject.c:
5126           added missing symbols to api docs
5127           disable ref-count hack if we have glib >= 2.8
5128
5129 2005-09-19  David Schleef  <ds@schleef.org>
5130
5131         * docs/gst/Makefile.am: Ignore a few more internal headers
5132         * docs/gst/gstreamer-docs.sgml: Remove old sections
5133         * docs/gst/gstreamer-sections.txt: Remove old sections
5134         * docs/gst/tmpl/gstobject.sgml: update
5135         * docs/gst/tmpl/gstplugin.sgml: update
5136         * docs/gst/tmpl/gstpluginfeature.sgml: update
5137         * docs/random/ds/0.9-suggested-changes: update.
5138         * gst/Makefile.am: remove memchunk and trashstack, since they're
5139           not used.
5140         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5141         * gst/gst.h: don't include some headers
5142         * gst/gstchildproxy.c: add gstmarshal.h
5143         * gst/gstclock.c: Don't use memchunks
5144         * gst/gstminiobject.c: Add some docs
5145         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5146         * gst/gstobject.h: same
5147         * gst/gstplugin.c: include gstmacros.h
5148         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5149         * gst/gstquery.c: don't use memchunks
5150         * gst/gstregistry.c: rename gst_registry_deinit()
5151         * gst/gstregistry.h: same
5152
5153 2005-09-19  David Schleef  <ds@schleef.org>
5154
5155         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5156         * docs/libs/gstreamer-libs-sections.txt:
5157         * docs/libs/tmpl/gstgetbits.sgml:
5158         * docs/libs/tmpl/gstputbits.sgml:
5159
5160 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5161
5162         * win32/gstenumtypes.c:
5163         * win32/gstenumtypes.h:
5164           Update.
5165
5166 2005-09-19  Wim Taymans  <wim@fluendo.com>
5167
5168         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5169         Automatically PAUSE and RESUME a pipeline when a flushing seek
5170         is performed.
5171
5172 2005-09-19  Andy Wingo  <wingo@pobox.com>
5173
5174         * gst/gstregistry.h: Spacing fixen.
5175
5176 2005-09-19  Wim Taymans  <wim@fluendo.com>
5177
5178         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5179         Handle state change failure more correctly.
5180
5181 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5182
5183         * check/Makefile.am:
5184         * check/pipelines/cleanup.c: (run_pipeline):
5185         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5186         (GST_START_TEST):
5187           enable cleanup again after fixing the leak
5188         * docs/README:
5189           some more info on docs
5190
5191 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5192
5193         * check/Makefile.am:
5194           re-enable tests now that leaks are plugged
5195         * check/gst/gst.c:
5196         * check/gst/gstbin.c:
5197         * check/gst/gstpipeline.c:
5198           add some more tests while fixing leaks
5199         * common/check.mak:
5200           make sure binaries are uptodate when valgrinding/gdbing
5201         * gst/gst.c:
5202         * gst/gstelementfactory.c:
5203           remove a ref too many, and add a FIXME for when we get
5204           round to disposing of classes
5205         * gst/gstplugin.c:
5206           fix the refcounting when loading a plugin from a file and
5207           the code pretends that the pointer is the same even though
5208           of course it can change
5209         * gst/gstpluginfeature.c:
5210           unref plugins marked cached (a bit confusing as a name)
5211           as the docs state should be done
5212           various doc additions to explain refcounting
5213         * gst/gstregistry.c:
5214         * gst/gstregistryxml.c:
5215           debugging
5216
5217 2005-09-19  Wim Taymans  <wim@fluendo.com>
5218
5219         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5220         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5221         (send_messages), (GST_START_TEST), (gstbus_suite):
5222         * check/gst/gstpipeline.c: (GST_START_TEST):
5223         * check/pipelines/cleanup.c: (run_pipeline):
5224         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5225         (GST_START_TEST):
5226         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5227         (gst_bus_source_check), (gst_bus_source_dispatch),
5228         (gst_bus_create_watch), (gst_bus_add_watch_full),
5229         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5230         * gst/gstbus.h:
5231         * tools/gst-launch.c: (event_loop):
5232         * tools/gst-md5sum.c: (event_loop):
5233         GstBusHandler -> GstBusFunc, return value has the same meaning as
5234         any other GSource (FALSE == remove source).
5235         _add_watch() and _add_watch_full() now take a MessageType mask to
5236         only handle specific types of messages.
5237         _poll() returns the GstMessage instead of the message type to avoid
5238         race conditions.
5239         _have_pending() takes a MessageType mask now too.
5240         Added testsuite for multiple bus watches.
5241         Fix testsuites and applications for new bus API.
5242
5243 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5244
5245         * check/Makefile.am:
5246           mark a bunch of the tests as to fix until we fix them
5247
5248 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5249
5250         * common/check.mak:
5251           use GST_PLUGIN settings for valgrind tests as well, so we're
5252           valgrinding the correct thing
5253         * gst/gst.c: (init_post):
5254           plug another leak
5255
5256 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         * gst/gst.c: (init_post), (gst_deinit):
5259         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5260         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5261         * gst/gstindex.c: (gst_index_factory_class_init),
5262         (gst_index_factory_finalize):
5263         * gst/gstobject.c: (gst_object_dispose):
5264         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5265         (gst_plugin_load_file), (gst_plugin_desc_free):
5266         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5267         (gst_plugin_feature_finalize):
5268         * gst/gstregistry.c: (gst_registry_class_init),
5269         (gst_registry_init), (gst_registry_finalize),
5270         (gst_registry_get_default), (gst_registry_deinit):
5271         * gst/gstregistry.h:
5272         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5273           various cleanups and memleak plugging.  make valgrind is happy now.
5274
5275 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5276
5277         * common/check.mak:
5278           add a check-valgrind target
5279
5280 2005-09-18  David Schleef  <ds@schleef.org>
5281
5282         * tools/gst-inspect.c: Revert the GOption code.
5283
5284 2005-09-17  David Schleef  <ds@schleef.org>
5285
5286         * check/Makefile.am: Fix environment variables.
5287         * check/gst/gstplugin.c: Fix for API changes.
5288         * tools/gst-inspect.c: Fix for API changes.
5289         * tools/gst-xmlinspect.c: Fix for API changes.
5290         * gst/gstelementfactory.c:
5291         * gst/gstplugin.c:
5292         * gst/gstplugin.h:
5293         * gst/gstpluginfeature.c:
5294         * gst/gstpluginfeature.h:
5295         * gst/gstregistry.c:
5296         * gst/gstregistry.h:
5297         * gst/gstregistryxml.c:
5298         * gst/gsttypefind.c:
5299         * gst/gsttypefindfactory.c:
5300         * gst/indexers/gstfileindex.c:
5301         * gst/indexers/gstmemindex.c:
5302         * gst/schedulers/Makefile.am:
5303           Change registry to keep track of both plugins and features,
5304           removing the feature tracking from plugins themselves.
5305
5306 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5307
5308         * check/Makefile.am:
5309         * tools/gst-register.1.in:
5310           remove gst-register
5311
5312 2005-09-15  David Schleef  <ds@schleef.org>
5313
5314         * check/gst/gstplugin.c:
5315         * gst/gstelementfactory.c:
5316         * gst/gstplugin.c:
5317         * gst/gstpluginfeature.c:
5318         * gst/gstregistry.c:
5319           Getting tired of debugging.  Disabled all the unreffing of
5320           plugins and features, which fixes the segfaults, but of
5321           course leaks like crazy.  At least playbin works.
5322
5323 2005-09-15  David Schleef  <ds@schleef.org>
5324
5325         * check/gst/gstplugin.c: (register_check_elements),
5326         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5327         More testing
5328         * gst/elements/gsttypefindelement.c: Fix refcounting.
5329         * gst/gsttypefind.c:
5330         * gst/gsttypefindfactory.c:
5331         * gst/gsttypefindfactory.h:
5332
5333 2005-09-15  David Schleef  <ds@schleef.org>
5334
5335         * gst/gstindex.c: get refcounting correct.
5336         * gst/gstregistry.c: Handle the case where a feature/plugin is
5337           not found.
5338
5339 2005-09-15  David Schleef  <ds@schleef.org>
5340
5341         * check/Makefile.am:
5342         * check/gst/gstplugin.c: Add test
5343         * gst/gstplugin.c: Fix problems noticed by testsuite
5344         * gst/gstplugin.h:
5345         * gst/gstregistry.c: 
5346         * gst/gstregistry.h:
5347
5348 2005-09-15  David Schleef  <ds@schleef.org>
5349
5350         * gst/gstplugin.c: Implement semi-decent recounting and locking
5351           in plugins and plugin features.
5352         * gst/gstplugin.h:
5353         * gst/gstpluginfeature.c:
5354         * gst/gstpluginfeature.h:
5355         * gst/gstregistry.c:
5356
5357 2005-09-15  Michael Smith <msmith@fluendo.com>
5358
5359         * gst/gstregistry.c: (gst_registry_get_feature_list):
5360           Implement this. Makes oggdemux work; decodebin still broken.
5361
5362 2005-09-14  David Schleef  <ds@schleef.org>
5363
5364         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5365           #316076)
5366         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5367         * gst/check/Makefile.am:
5368         * libs/gst/controller/Makefile.am:
5369         * libs/gst/dataprotocol/Makefile.am:
5370
5371 2005-09-14  David Schleef  <ds@schleef.org>
5372
5373         * configure.ac: Remove getbits library.  Nothing uses it, and
5374           it should be in something like liboil if someone did want
5375           to use it.
5376         * libs/gst/Makefile.am:
5377         * libs/gst/getbits/Makefile.am:
5378         * libs/gst/getbits/gbtest.c:
5379         * libs/gst/getbits/getbits.c:
5380         * libs/gst/getbits/getbits.h:
5381         * libs/gst/getbits/gstgetbits_generic.c:
5382         * libs/gst/getbits/gstgetbits_i386.s:
5383         * libs/gst/getbits/gstgetbits_inl.h:
5384
5385 2005-09-14  David Schleef  <ds@schleef.org>
5386
5387         * gst/Makefile.am: Dist glib-compat.h
5388
5389 2005-09-14  David Schleef  <ds@schleef.org>
5390
5391         * configure.ac: Remove gst/registries, since it's no longer used.
5392         * gst/registries/Makefile.am:
5393         * gst/registries/gstlibxmlregistry.c:
5394         * gst/registries/gstlibxmlregistry.h:
5395         * gst/registries/gstxmlregistry.c:
5396         * gst/registries/gstxmlregistry.h:
5397         * gst/registries/registrytest.c:
5398
5399 2005-09-14  David Schleef  <ds@schleef.org>
5400
5401         * gst/glib-compat.h:
5402         * gst/gstregistryxml.c:
5403           Convergence is near.  Seriously.
5404
5405 2005-09-14  David Schleef  <ds@schleef.org>
5406
5407         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5408         * gst/glib-compat.h:
5409           Attempt #4 to appease the buildbots.
5410
5411 2005-09-14  David Schleef  <ds@schleef.org>
5412
5413         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5414           Attempt #3.
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         Attempt #2.
5420
5421 2005-09-14  David Schleef  <ds@schleef.org>
5422
5423         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5424           the new functions.
5425
5426 2005-09-14  David Schleef  <ds@schleef.org>
5427
5428         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5429         * gst/glib-compat.h: Add some functions that are in newer versions
5430           of glib than we care to require.
5431         * gst/gstregistryxml.c: Use them.
5432
5433 2005-09-14  David Schleef  <ds@schleef.org>
5434
5435         * po/POTFILES.in: remove gst-register.c
5436
5437 2005-09-14  David Schleef  <ds@schleef.org>
5438
5439         * docs/gst/gstreamer-docs.sgml:
5440         * docs/gst/gstreamer-sections.txt:
5441         * docs/gst/gstreamer.types:
5442         * docs/gst/tmpl/gstelement.sgml:
5443         * docs/gst/tmpl/gstplugin.sgml:
5444         * docs/gst/tmpl/gstpluginfeature.sgml:
5445           Documentation updates for registry changes.
5446
5447 2005-09-14  David Schleef  <ds@schleef.org>
5448
5449         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5450           because we don't require glib-2.8.
5451
5452 2005-09-14  David Schleef  <ds@schleef.org>
5453
5454         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5455           registries directory.
5456
5457 2005-09-14  David Schleef  <ds@schleef.org>
5458
5459         * check/Makefile.am:
5460         * check/generic/states.c:
5461         * gst/Makefile.am:
5462         * gst/gst.c:
5463         * gst/gst.h:
5464         * gst/gst_private.h:
5465         * gst/gstelementfactory.c:
5466         * gst/gstindex.c:
5467         * gst/gstinfo.c:
5468         * gst/gstplugin.c:
5469         * gst/gstplugin.h:
5470         * gst/gstpluginfeature.c:
5471         * gst/gstpluginfeature.h:
5472         * gst/gstregistry.c:
5473         * gst/gstregistry.h:
5474         * gst/gstregistrypool.c: remove
5475         * gst/gstregistrypool.h: remove
5476         * gst/gsttypefind.c:
5477         * gst/gsttypefindfactory.c:
5478         * gst/gsturi.c:
5479         * tools/Makefile.am:
5480         * tools/gst-compprep.c:
5481         * tools/gst-inspect.c:
5482         * tools/gst-register.c: remove
5483         * tools/gst-xmlinspect.c:
5484           Registry rewrite.  Changes registry from being a file created
5485           by a tool into a simple cache file created automatically by 
5486           libgstreamer.  Removed gst-register (because it's no longer
5487           needed).  Remove registry pools, because we only have one
5488           registry implementation (XML).  Fix up other subsystems as
5489           necessary.
5490
5491 2005-09-13  Michael Smith <msmith@fluendo.com>
5492
5493         * gst/gstconfig.h.in:
5494           Don't Use windows linking attributes for MinGW. Fixes #316157
5495
5496 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5497
5498         * gst/gstutils.c: (set_state_async_thread_func),
5499         (gst_element_set_state_async):
5500           Apparently people think it's better if this function doesn't
5501           try to set the state to whatever state was asked for on the first
5502           call to this function for any object.  Seriously.
5503
5504 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5505
5506         * check/gst/gstpipeline.c: (GST_START_TEST):
5507         * docs/gst/gstreamer-sections.txt:
5508         * gst/gstutils.c: (set_state_async_thread_func),
5509         (gst_element_set_state_async):
5510         * gst/gstutils.h:
5511           add a "gst_element_set_state_async" method that
5512           sets the state and starts a thread to make sure the state
5513           change completes as best as it can
5514
5515 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5516
5517         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5518           codify design+behaviour in testsuite after discussion
5519
5520 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5521
5522         * docs/gst/tmpl/gstelement.sgml:
5523         * docs/manual/appendix-quotes.xml:
5524           add a quote
5525         * gst/gstelement.c: (gst_element_set_state):
5526           add some debug
5527
5528 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5529
5530         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5531         (gst_base_transform_prepare_output_buf),
5532         (gst_base_transform_handle_buffer):
5533         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5534         (gst_capsfilter_prepare_buf):
5535           Remove the requirement for sub-classes to call the parent
5536           implementation of prepare_output_buffer with a wrapper function.
5537           
5538         * gst/gsttaglist.h:
5539         * gst/gsttagsetter.h:
5540           Fix #define wrapper
5541
5542 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5543
5544         * docs/gst/gstreamer-sections.txt:
5545           more doc cleanups
5546
5547 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5548
5549         * docs/gst/gstreamer-sections.txt:
5550         * docs/gst/tmpl/gstelement.sgml:
5551         * docs/gst/tmpl/gstplugin.sgml:
5552         * gst/gstminiobject.c:
5553         * gst/gstvalue.h:
5554           docs now stop throwing warnings
5555
5556 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5557
5558         * docs/gst/gstreamer-sections.txt:
5559         * docs/gst/gstreamer.types:
5560         * docs/gst/tmpl/gstpad.sgml:
5561         * docs/gst/tmpl/gsttypes.sgml:
5562         * gst/base/gstadapter.h:
5563         * gst/base/gstbasesink.h:
5564         * gst/base/gstbasesrc.h:
5565         * gst/gstbin.h:
5566         * gst/gstbuffer.h:
5567         * gst/gstbus.h:
5568         * gst/gstcaps.h:
5569         * gst/gstclock.h:
5570         * gst/gstelement.h:
5571         * gst/gstevent.h:
5572         * gst/gstmessage.h:
5573         * gst/gstpad.h:
5574         * gst/gststructure.c:
5575         * gst/registries/gstlibxmlregistry.h:
5576           various documentation fixes
5577
5578 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5579
5580         * docs/gst/gstreamer-sections.txt:
5581         * docs/gst/tmpl/gstvalue.sgml:
5582           rearrange gstvalue section
5583         * gst/gstutils.c: (gst_element_state_get_name):
5584           NONE -> VOID
5585         * gst/gstvalue.c: (_gst_value_initialize):
5586         * gst/gstvalue.h:
5587           doc updates
5588
5589 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5590
5591         * check/gst-libs/controller.c:
5592           Header include fix.
5593         * gst/base/gstbasetransform.c:
5594         (gst_base_transform_default_prepare_buf),
5595         (gst_base_transform_handle_buffer):
5596         * gst/base/gstbasetransform.h:
5597           Some more basetransform changes and fixes to enable sub-classes
5598           that modify buffer metadata only.
5599         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5600         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5601         (gst_capsfilter_prepare_buf):
5602           If the output pad has fixed allowed caps and input buffers 
5603           don't have any, set the fixed caps on outgoing buffers.
5604
5605 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5606         * check/elements/identity.c: (GST_START_TEST):
5607           Make the error a little clearer when the test fails because
5608           identity made a copy of the buffer.
5609         * docs/gst/gstreamer-sections.txt:
5610           New symbols in gstbasetransform.h
5611         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5612         (gst_base_transform_init), (gst_base_transform_transform_size),
5613         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5614         (gst_base_transform_default_prepare_buf),
5615         (gst_base_transform_get_unit_size),
5616         (gst_base_transform_buffer_alloc),
5617         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5618         (gst_base_transform_change_state),
5619         (gst_base_transform_set_passthrough),
5620         (gst_base_transform_set_in_place),
5621         (gst_base_transform_is_in_place):
5622         * gst/base/gstbasetransform.h:
5623           Change BaseTransform to separate in_place operate from same_caps
5624           output. in_place implies that the element can perform the transform
5625           on incoming buffers in-place, even if the caps on the output are
5626           different.
5627           Sub-class elements can now implement special buffer allocation
5628           methods for outgoing buffers if they wish to.
5629           Big documentation addition.
5630         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5631         * gst/elements/gstelements.c:
5632           Changes for basetransform modifications.
5633         * gst/elements/Makefile.am:
5634         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5635           Compile fix. Extra debug output.
5636
5637 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5638
5639         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5640         (gst_pad_suite):
5641           add tests for valid pad naming
5642         * gst/check/gstcheck.c: (gst_check_log_message_func),
5643         (gst_check_log_critical_func):
5644           add ASSERT_WARNING
5645           remove printing of code, it is fragile when the code contains
5646           % and the line number is enough info
5647         * gst/check/gstcheck.h:
5648         * gst/gstpad.c: (gst_pad_template_new):
5649           fix memleaks
5650
5651 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5652
5653         * configure.ac:
5654           say what CHECK flags we use
5655         * docs/libs/gstreamer-libs.types:
5656         * libs/gst/controller/Makefile.am:
5657         * libs/gst/controller/gst-controller.c:
5658         * libs/gst/controller/gst-controller.h:
5659         * libs/gst/controller/gst-helper.c:
5660         * libs/gst/controller/gst-interpolation.c:
5661         * libs/gst/controller/gstcontroller.c:
5662         * libs/gst/controller/gsthelper.c:
5663         * libs/gst/controller/gstinterpolation.c:
5664         * tools/gst-inspect.c: (print_plugin_info):
5665           we don't use dashes in header names
5666
5667 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5668
5669         * check/Makefile.am:
5670         * check/gst/.cvsignore:
5671         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5672         (gst_pipeline_suite), (main):
5673           adding a test for pipelines and state changes
5674         * gst/gstutils.c: (get_state_func):
5675           add some debugging
5676         * gstreamer.spec.in:
5677           fix up spec file
5678
5679 2005-09-08  Michael Smith <msmith@fluendo.com>
5680
5681         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5682         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5683         (gst_file_src_is_seekable), (gst_file_src_get_size),
5684         (gst_file_src_start):
5685         * gst/elements/gstfilesrc.h:
5686           Various fixes for unseekable, unmmapable, and non-normal files, so
5687           that fallback to read() rather than mmap() works.
5688         * gst/gstevent.c: (gst_event_new_newsegment):
5689           Allow newsegment events with segment_start == segment_end, as will
5690           correctly happen if you use filesrc on a zero-size file, for
5691           example.
5692
5693 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5694
5695         * gst/gstplugin.c: (gst_plugin_load_file):
5696           Call g_module_close when we don't load the module
5697
5698         * gst/registries/gstlibxmlregistry.c:
5699         (gst_xml_registry_get_property):
5700           Port leak fix from 0.8
5701
5702 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5703
5704         * docs/gst/gstreamer-docs.sgml:
5705         * docs/gst/tmpl/.cvsignore:
5706         * docs/gst/tmpl/gsttrace.sgml:
5707         * docs/gst/tmpl/gsttrashstack.sgml:
5708         * gst/Makefile.am:
5709         * gst/gst.h:
5710         * gst/gstelement.h:
5711         * gst/gstevent.h:
5712         * gst/gstmessage.c:
5713         * gst/gstmessage.h:
5714         * gst/gsttag.c:
5715         * gst/gsttag.h:
5716         * gst/gsttaginterface.c:
5717         * gst/gsttaginterface.h:
5718         * gst/gsttaglist.c:
5719         * gst/gsttaglist.h:
5720         * gst/gsttagsetter.c:
5721         * gst/gsttagsetter.h:
5722         * gst/gsttrace.c:
5723         * gst/gsttrace.h:
5724         * gst/gsttrashstack.c:
5725           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5726           inlined docs for gsttrace, gsttrashstack
5727
5728 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5729
5730         * gst/Makefile.am:
5731         * gst/elements/gstbufferstore.h:
5732         * gst/elements/gsttypefindelement.c:
5733         * gst/elements/gsttypefindelement.h:
5734         * gst/gst.h:
5735         * gst/gsttypefind.c:
5736         * gst/gsttypefind.h:
5737         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5738         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5739         (gst_type_find_factory_dispose),
5740         (gst_type_find_factory_unload_thyself),
5741         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5742         (gst_type_find_factory_get_caps),
5743         (gst_type_find_factory_get_extensions),
5744         (gst_type_find_factory_call_function):
5745         * gst/gsttypefindfactory.h:
5746         * gst/registries/gstlibxmlregistry.c:
5747         * gst/registries/gstxmlregistry.c:
5748           splitted gsttypefind into gsttypefind, gsttypefindfactory
5749
5750 2005-09-07  Andy Wingo  <wingo@pobox.com>
5751
5752         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5753         condition whereby the pad's task function is entered before the
5754         pad_mode variable was set.
5755
5756 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5757
5758         * gst/gstpad.c: (gst_pad_alloc_buffer):
5759           Catch misbehaving pad_alloc functions that don't
5760           set up caps and do it for them.
5761
5762 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5763
5764         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5765           test for pipe!=NULL
5766         * docs/gst/tmpl/.cvsignore:
5767         * docs/gst/tmpl/gstmemchunk.sgml:
5768         * docs/gst/tmpl/gstparse.sgml:
5769         * docs/gst/tmpl/gsttaglist.sgml:
5770         * docs/gst/tmpl/gsttagsetter.sgml:
5771         * docs/gst/tmpl/gsttypefind.sgml:
5772         * docs/gst/tmpl/gsttypefindfactory.sgml:
5773         * gst/gstmemchunk.c:
5774         * gst/gstparse.c:
5775         * gst/gsttag.c:
5776         * gst/gsttaginterface.c:
5777         * gst/gsttypefind.c:
5778         * gst/gsttypefind.h:
5779           inlined more docs
5780
5781 === release 0.9.2 ===
5782
5783 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5784
5785         * NEWS:
5786         * RELEASE:
5787         * configure.ac:
5788           releasing 0.9.2, "South"
5789
5790 2005-09-05  Andy Wingo  <wingo@pobox.com>
5791
5792         * gst/registries/gstxmlregistry.h:
5793         * gst/registries/gstxmlregistry.c: Um... resurrect...
5794         
5795         * gst/registries/gstxmlregistry.h:
5796         * gst/registries/gstxmlregistry.c: and update to newer API.
5797         Incidentally they should be a bit faster now that they don't have
5798         to parse the caps.
5799         
5800 2005-09-05  Andy Wingo  <wingo@pobox.com>
5801
5802         * gst/registries/gstxmlregistry.h:
5803         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5804         replaced by the libxml registry a while back
5805
5806 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5807
5808         * docs/gst/tmpl/gstplugin.sgml:
5809         * gst/elements/gstelements.c:
5810         * gst/gst.c:
5811         * gst/gstplugin.c: (gst_plugin_register_func),
5812         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5813         (gst_plugin_get_source):
5814         * gst/gstplugin.h:
5815         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5816         (gst_xml_registry_save_plugin):
5817         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5818         (gst_xml_registry_save_plugin):
5819         * tools/gst-inspect.c: (print_plugin_info):
5820           add a "source" plugin description field, to represent the source
5821           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5822           will set it to PACKAGE, which is automake's idea of the name of
5823           the source project.
5824
5825 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5826
5827         * Makefile.am:
5828         * autogen.sh:
5829         * configure.ac:
5830         * docs/Makefile.am:
5831         * docs/faq/Makefile.am:
5832         * docs/gst/tmpl/gstelement.sgml:
5833         * docs/gst/tmpl/gsttypes.sgml:
5834         * docs/htmlinstall.mak:
5835         * docs/manual/Makefile.am:
5836         * docs/pwg/Makefile.am:
5837           reorganize doc build a little
5838           split out docbook and gtk-doc stuff
5839           have two separate --enable's and enable them through autogen
5840           but disable by default in configure (to be similar to other
5841           projects)
5842         * gstreamer.spec.in:
5843           clean up docs install
5844         * po/af.po:
5845         * po/az.po:
5846         * po/ca.po:
5847         * po/cs.po:
5848         * po/de.po:
5849         * po/en_GB.po:
5850         * po/fr.po:
5851         * po/it.po:
5852         * po/nb.po:
5853         * po/nl.po:
5854         * po/ru.po:
5855         * po/sq.po:
5856         * po/sr.po:
5857         * po/sv.po:
5858         * po/tr.po:
5859         * po/uk.po:
5860         * po/vi.po:
5861           translation updates
5862
5863 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5864
5865         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5866           Add comment.
5867           
5868         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5869         (gst_fake_sink_change_state):
5870           Make state change function thread-safe.
5871           
5872         * gst/gstpad.c: (gst_pad_alloc_buffer):
5873           Set offset on generic buffer allocated by fallback.
5874
5875 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5876
5877         * docs/gst/gstreamer-sections.txt:
5878         * docs/gst/tmpl/gstelement.sgml:
5879         * gst/gstpad.c:
5880         * libs/gst/controller/gst-controller.c:
5881         (gst_controlled_property_set_interpolation_mode),
5882         (gst_controlled_property_new),
5883         (gst_controller_find_controlled_property):
5884          run the wingo-magic script against the docs
5885
5886 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5887
5888         * docs/gst/gstreamer-docs.sgml:
5889         * docs/gst/gstreamer-sections.txt:
5890         * docs/gst/tmpl/.cvsignore:
5891         * docs/gst/tmpl/gstelementdetails.sgml:
5892         * docs/gst/tmpl/gstelementfactory.sgml:
5893         * gst/gst.c:
5894         * gst/gstbus.c:
5895         * gst/gstelementfactory.c:
5896         * gst/gstelementfactory.h:
5897           merged elementdetails docs into elementfactory docs
5898           inlined both
5899
5900 2005-09-02  Andy Wingo  <wingo@pobox.com>
5901
5902         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5903         consider this enum an enum and not a flags.
5904
5905 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5906
5907         * docs/gst/gstreamer-docs.sgml:
5908         * docs/gst/tmpl/.cvsignore:
5909         * docs/gst/tmpl/gstghostpad.sgml:
5910         * docs/gst/tmpl/gstiterator.sgml:
5911         * docs/gst/tmpl/gstmacros.sgml:
5912         * docs/gst/tmpl/gstrealpad.sgml:
5913         * docs/gst/tmpl/gstregistry.sgml:
5914         * docs/gst/tmpl/gstregistrypool.sgml:
5915         * docs/gst/tmpl/gststructure.sgml:
5916         * docs/gst/tmpl/gstsystemclock.sgml:
5917         * docs/gst/tmpl/gsttrace.sgml:
5918         * gst/gstghostpad.c:
5919         * gst/gstmacros.h:
5920         * gst/gstmemchunk.c:
5921         * gst/gstmemchunk.h:
5922         * gst/gstqueue.c:
5923         * gst/gstregistry.c:
5924         * gst/gstregistrypool.c:
5925         * gst/gststructure.c:
5926         * gst/gstsystemclock.c:
5927           more docs inlined
5928
5929 2005-09-02  Andy Wingo  <wingo@pobox.com>
5930
5931         * gst/gstelement.h (GstState): Renamed from GstElementState,
5932         changed to be a normal enum instead of flags.
5933         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5934         munged to be GST_STATE_CHANGE_*.
5935         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5936         work with the new state representation.
5937         (GstStateChange): New enumeration of possible state transitions.
5938         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5939         (GstElementClass::change_state): Pass the GstStateChange along as
5940         an argument. Helps language bindings, so they don't have to use
5941         tricky lock-needing macros like GST_STATE_CHANGE ().
5942
5943         * scripts/update-states (file): New script. Run it on a file to
5944         update it for state naming and API changes. Updates files in
5945         place.
5946
5947         * All files updated for the new API.
5948
5949 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5950
5951         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5952         * gst/gstutils.c: (gst_util_set_value_from_string),
5953         (gst_util_set_object_arg):
5954           fix a bunch of unchecked return values
5955         * tools/gst-complete.c: (main):
5956         * gstreamer.spec.in:
5957           clean up a little
5958
5959 2005-09-01  Wim Taymans  <wim@fluendo.com>
5960
5961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5962         (gst_base_sink_event), (gst_base_sink_do_sync),
5963         (gst_base_sink_handle_event):
5964         * gst/base/gstbasesink.h:
5965         Handle newsegments more correctly.
5966
5967         * gst/gstbus.c:
5968         Fix docs.
5969
5970         * gst/gstevent.c: (gst_event_new_newsegment):
5971         A newsegment cannot have a start_time of -1
5972
5973 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5974
5975         * win32/gstenumtypes.c:
5976         * win32/gstenumtypes.h:
5977           Update
5978
5979 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5980
5981         * libs/gst/controller/gst-controller.c:
5982         (gst_controlled_property_set_interpolation_mode),
5983         (gst_controlled_property_new):
5984          fixed boolean again
5985
5986 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * docs/faq/gst-uninstalled:
5989           add -good
5990         * gst/gstevent.c:
5991         * gst/gstevent.h:
5992           remove wrong docs
5993         * gst/gstutils.c: (gst_element_link_filtered):
5994         * gst/gstutils.h:
5995           add gst_element_link_filtered
5996
5997 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5998
5999         * docs/gst/gstreamer-docs.sgml:
6000         * docs/gst/gstreamer-sections.txt:
6001         * docs/gst/tmpl/.cvsignore:
6002         * docs/gst/tmpl/gsterror.sgml:
6003         * docs/gst/tmpl/gstfilter.sgml:
6004         * docs/gst/tmpl/gsturihandler.sgml:
6005         * docs/gst/tmpl/gsturitype.sgml:
6006         * docs/gst/tmpl/gstutils.sgml:
6007         * docs/gst/tmpl/gstxml.sgml:
6008         * gst/gsterror.c:
6009         * gst/gsterror.h:
6010         * gst/gstfilter.c:
6011         * gst/gsturi.c:
6012         * gst/gsturitype.c:
6013         * gst/gstutils.c:
6014         * gst/gstxml.c:
6015           inlined more docs, fixed double id-ref
6016
6017 2005-08-31  Wim Taymans  <wim@fluendo.com>
6018
6019         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6020         (gst_base_transform_handle_buffer):
6021         Passthrough elements don't need the caps as they don't care.
6022
6023 2005-08-31  Wim Taymans  <wim@fluendo.com>
6024
6025         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6026         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6027         Don't leak refcounts on buffers.
6028
6029 2005-08-31  Wim Taymans  <wim@fluendo.com>
6030
6031         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6032         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6033         (gst_base_transform_chain), (gst_base_transform_change_state):
6034         * gst/base/gstbasetransform.h:
6035         Handle the case where we are not negotiated more gracefully.
6036
6037 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6038
6039         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6040         (gst_file_src_map_region):
6041           Set READONLY flag on mmap'ed buffers, otherwise
6042           gst_buffer_make_writable() won't work properly (#314708).
6043
6044 2005-08-31  Wim Taymans  <wim@fluendo.com>
6045
6046         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6047         passthrough elements can even do inplace on non writable
6048         buffers (as they don't touch them).
6049
6050 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6051
6052         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6053         (gst_test_mono_source_set_property),
6054         (gst_test_mono_source_class_init), (GST_START_TEST),
6055         (gst_controller_suite):
6056           more tests (hehe I have the most)
6057         * gst/gstbus.c:
6058           describe popping messages whenusing mulltiple sources
6059         * libs/gst/controller/gst-controller.c:
6060         (gst_controlled_property_set_interpolation_mode),
6061         (gst_controlled_property_new):
6062         * libs/gst/controller/gst-controller.h:
6063         * libs/gst/controller/gst-interpolation.c:
6064           implement boolean properties
6065
6066 2005-08-31  Wim Taymans  <wim@fluendo.com>
6067
6068         * gst/gstminiobject.c: (gst_mini_object_ref):
6069         Cannot assert that the refcount has to be positive
6070         since a disposed object can be resurrected.
6071
6072 2005-08-31  Wim Taymans  <wim@fluendo.com>
6073
6074         * gst/gstpad.c: (gst_pad_init):
6075         Revert change, need to first fix badly behaving 
6076         apps.
6077
6078 2005-08-30  Wim Taymans  <wim@fluendo.com>
6079
6080         * check/elements/fakesrc.c: (setup_fakesrc):
6081         * check/elements/identity.c: (setup_identity):
6082         Activate pads before using them.
6083
6084 2005-08-30  Wim Taymans  <wim@fluendo.com>
6085
6086         * gst/base/gstadapter.c: (gst_adapter_flush):
6087         Flushing out 0 bytes is ok for this function.
6088
6089         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6090         no newsegment gives a warning and sets the start/stop to 
6091         invalid.
6092
6093         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6094         (gst_base_transform_set_passthrough):
6095         Some debug info.
6096
6097         * gst/gstminiobject.c: (gst_mini_object_ref):
6098         Check refcount here too.
6099
6100         * gst/gstpad.c: (gst_pad_init):
6101         Pads are initially flushing and refusing data.
6102
6103         * gst/gstutils.c: (gst_element_link_pads_filtered):
6104         When adding a capsfilter element make sure it has the
6105         same state as the parent bin.
6106
6107 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6108
6109         * docs/gst/tmpl/.cvsignore:
6110         * docs/gst/tmpl/gstformat.sgml:
6111         * docs/gst/tmpl/gstversion.sgml:
6112         * gst/gstbus.h:
6113         * gst/gstformat.c:
6114         * gst/gstformat.h:
6115         * gst/gstversion.h.in:
6116           more docs and two more inlined
6117
6118 2005-08-30  Wim Taymans  <wim@fluendo.com>
6119
6120         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6121         Don't sync to clock.
6122
6123 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6124
6125         * docs/gst/gstreamer-sections.txt:
6126           ultral33t func10ns deserve to appear in the docs actually
6127         * docs/gst/tmpl/.cvsignore:
6128         * docs/gst/tmpl/gstcompat.sgml:
6129         * docs/gst/tmpl/gstconfig.sgml:
6130         * gst/check/gstcheck.c:
6131         * gst/gstcompat.h:
6132         * gst/gstconfig.h.in:
6133           inlined more docs
6134
6135 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6136
6137         * docs/gst/tmpl/.cvsignore:
6138         * docs/gst/tmpl/gstquery.sgml:
6139         * docs/gst/tmpl/gstutils.sgml:
6140         * gst/gstquery.c:
6141         * gst/gstquery.h:
6142           inlined and extended docs
6143
6144 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6145
6146         * check/gst-libs/controller.c: (GST_START_TEST),
6147         (gst_controller_suite):
6148           more tests
6149         * docs/gst/tmpl/gstutils.sgml:
6150         * docs/libs/gstreamer-libs-sections.txt:
6151         * docs/libs/tmpl/gstdataprotocol.sgml:
6152           include path fixes
6153         * examples/controller/audio-example.c: (main):
6154           controller example works now
6155         * gst/gstclock.h:
6156           doc fixes
6157         * tools/gst-inspect.c: (print_element_properties_info):
6158           show param spec flags
6159
6160 2005-08-29  Andy Wingo  <wingo@pobox.com>
6161
6162         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6163
6164 2005-08-28  Andy Wingo  <wingo@pobox.com>
6165
6166         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6167         as having two arguments instead of just one. Allows superclasses
6168         to access information on subclasses -- see the terrible for() loop
6169         in gtype.c:g_type_create_instance for the reason why. All callers
6170         changed.
6171
6172 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6173
6174         * docs/design/part-messages.txt:
6175           update info
6176         * docs/gst/tmpl/.cvsignore:
6177         * docs/gst/tmpl/gstcaps.sgml:
6178         * docs/gst/tmpl/gstclock.sgml:
6179         * gst/gstbus.c:
6180         * gst/gstcaps.c:
6181         * gst/gstcaps.h:
6182         * gst/gstclock.c:
6183         * gst/gstclock.h:
6184         * gst/gstmessage.c:
6185           added descriptions for bus and message
6186           inline caps and clock docs
6187
6188 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6189
6190         * gst/gstmessage.c:
6191         * gst/gstmessage.h:
6192           doc fixes
6193
6194 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6195
6196         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6197           fix div-by-zero
6198
6199 2005-08-26  Andy Wingo  <wingo@pobox.com>
6200
6201         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6202         element_set_state's return val.
6203         (test_2_elements): Add test that's been disabled for months.
6204
6205         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6206         can-activate-pull properties.
6207
6208         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6209         can-activate-pull properties. Implement is_seekable so fakesrc can
6210         operate in pull mode.
6211
6212         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6213         properties.
6214         (gst_base_sink_activate, gst_base_sink_activate_pull)
6215         (gst_base_sink_activate_push): Make activation mode choosing work.
6216         Cleanups.
6217         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6218         is right. Make pull mode work. Post an eos before pausing in pull
6219         mode.
6220         (gst_base_sink_change_state): Pay attention to the core's
6221         change_state() return val.
6222         
6223         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6224         has-getrange properties. Cleanups.
6225         
6226         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6227         has_getrange and replace with can_activate_pull and
6228         can_activate_push.
6229
6230         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6231         locking comments. Remove has_loop, has_chain and replace with
6232         can_activate_pull and can_activate_push.
6233
6234 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6235
6236         * configure.ac:
6237         * examples/Makefile.am:
6238         * examples/metadata/Makefile.am:
6239         * examples/metadata/read-metadata.c: (message_loop),
6240         (have_pad_handler), (make_pipeline), (print_tag), (main):
6241           Add metadata reading example that loops over a list of filenames,
6242           dumping any tags found.
6243
6244         * gst/gstbus.c: (gst_bus_dispose):
6245         * gst/gstelement.c: (gst_element_dispose):
6246           Release a few potentially-held references in dispose.
6247
6248 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6249
6250         * docs/gst/tmpl/gstminiobject.sgml:
6251           do *not* add tmpl/*.sgml files to CVS!
6252
6253 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6254
6255         * libs/gst/bytestream/.cvsignore:
6256         * libs/gst/bytestream/Makefile.am:
6257         * libs/gst/bytestream/adapter.c:
6258         * libs/gst/bytestream/adapter.h:
6259         * libs/gst/bytestream/bytestream.c:
6260         * libs/gst/bytestream/bytestream.h:
6261         * libs/gst/bytestream/filepad.c:
6262         * libs/gst/bytestream/filepad.h:
6263           removing obsolete files
6264
6265 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6266
6267         * docs/gst/gstreamer-docs.sgml:
6268         * docs/libs/gstreamer-libs-docs.sgml:
6269           disabed additional index entries again, as this makes docs-gen just
6270           slow and they aren't useful yet
6271         * docs/libs/gstreamer-libs-sections.txt:
6272           little -section.txt cleanup for libs
6273
6274 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6275
6276         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6277         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6278           fix up some debugging
6279         (gst_base_transform_get_unit_size),
6280         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6281         (gst_base_transform_handle_buffer):
6282         * gst/base/gstbasetransform.h:
6283           handle and store timed NEWSEGMENT events so that subclasses that
6284           calculate time by counting samples have a segment_start time they
6285           need to add to their timestamps - see audioresample
6286
6287 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6288
6289         * gst/gstbin.h:
6290           removed ';' from the end of macro defs
6291         * docs/gst/gstreamer-docs.sgml:
6292         * docs/gst/gstreamer-sections.txt:
6293         * docs/gst/tmpl/.cvsignore:
6294         * gst/gstbus.h:
6295         * gst/gstelement.c: (gst_element_class_init),
6296         (gst_element_set_state), (activate_pads),
6297         (gst_element_save_thyself):
6298         * gst/gstevent.c: (gst_event_new_newsegment):
6299         * gst/gstevent.h:
6300         * gst/gstiterator.c:
6301         * gst/gstiterator.h:
6302         * gst/gstpad.c:
6303         * gst/gstprobe.h:
6304         * gst/gstutils.c: (gst_pad_query_convert):
6305         * gst/gstutils.h:
6306           fixed parameter name mismatches between source, header and docs
6307           added some more docs, resolved the last batch of unused elements in
6308           docs (now someone needs to doc them)
6309
6310 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6311
6312         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6313         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6314           don't walk through the plugins backwards.  Where is all this
6315           reversed logic coming from ?
6316
6317 2005-08-25  Wim Taymans  <wim@fluendo.com>
6318
6319         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6320         (gst_base_transform_transform_size),
6321         (gst_base_transform_configure_caps),
6322         (gst_base_transform_get_unit_size),
6323         (gst_base_transform_buffer_alloc),
6324         (gst_base_transform_change_state):
6325         * gst/base/gstbasetransform.h:
6326         Cache caps unit_size.
6327         Make sure we cannot negotiate up and downstream at the
6328         same time.
6329
6330 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6331
6332         * gst/gst.c: (init_pre), (init_post):
6333           register the installed plugin path after the env var
6334         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6335         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6336           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6337           directories, so the tests can prefer uninstalled over installed
6338
6339 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6340
6341         * gst/base/gstbasetransform.h:
6342           comment
6343         * gst/gstpad.c:
6344           add to docs
6345
6346 2005-08-25  Wim Taymans  <wim@fluendo.com>
6347
6348         * gst/gstbin.c: (bin_bus_handler):
6349         Be a bit more conservative about the posted message.
6350         
6351         * gst/gstbus.c: (gst_bus_post):
6352         Some cleanups, warn wrong return values.
6353
6354 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6355
6356         * check/gst/gstbin.c: (GST_START_TEST):
6357         * gst/gstbin.c: (bin_bus_handler):
6358         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6359         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6360         (gst_message_new_warning), (gst_message_new_tag),
6361         (gst_message_new_state_changed), (gst_message_new_segment_start),
6362         (gst_message_new_segment_done), (gst_message_new_custom):
6363         * gst/gstmessage.h:
6364         * tools/gst-launch.c: (event_loop):
6365         * tools/gst-md5sum.c: (event_loop):
6366           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6367
6368 2005-08-25  Wim Taymans  <wim@fluendo.com>
6369
6370         * check/generic/states.c: (GST_START_TEST):
6371         Cleanup can be done at the end.
6372
6373         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6374         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6375         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6376         Oh boy.. Thanks for finding this, Thomas. 
6377
6378 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6379
6380         * docs/gst/gstreamer.types:
6381           added missing types
6382
6383 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6384
6385         * docs/gst/gstreamer-docs.sgml:
6386         * docs/gst/gstreamer-sections.txt:
6387         * docs/gst/tmpl/.cvsignore:
6388         * gst/gstbin.c:
6389         * gst/gstiterator.c:
6390         * gst/gstutils.c:
6391         * gst/registries/gstxmlregistry.h:
6392           added missing classes and symbols (123 more to go)
6393           removed removed symbols from section file
6394           fixed many doc-comments
6395
6396 2005-08-24  Wim Taymans  <wim@fluendo.com>
6397
6398         * check/generic/states.c: (GST_START_TEST):
6399         Make sure all tasks are stopped.
6400
6401         * check/gst/gstbin.c: (GST_START_TEST):
6402         Unref after usage for proper valgrinding.
6403
6404         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6405         Really wait for the task to stop before destroying the
6406         mutex.
6407
6408         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6409         (gst_queue_src_activate_push):
6410         Small cleanups. Don't stop the task when we did not start
6411         it.
6412
6413         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6414         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6415         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6416         (gst_task_join):
6417         * gst/gsttask.h:
6418         Protect the stream lock with the object lock.
6419         Disallow setting the stream lock when running.
6420         Add cleanup_all to wait for the threadpool to finish.
6421         Remove code to autoallocate a mutex if none was provided.
6422         Add _join() to wait for a task to stop.
6423         Protect the thread pool with a global lock.
6424
6425 2005-08-24  Wim Taymans  <wim@fluendo.com>
6426
6427         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6428         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6429         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6430         * gst/base/gstbasesink.h:
6431         Handle newsegment events correctly.
6432         Drop buffers out of the segment range.
6433
6434 2005-08-22  Andy Wingo  <wingo@pobox.com>
6435
6436         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6437         macro, implements an interface and gstimplementsinterface for a
6438         new type.
6439
6440 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * check/Makefile.am:
6443         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6444           add a test that does a bunch of state changes on elements
6445           needs some fixing for valgrind
6446         * check/states/sinks.c: (gst_object_suite):
6447           whitespace
6448         * gst/gstcaps.h:
6449           add prototype for gst_caps_is_equal_fixed
6450         * gst/gstplugin.c:
6451         * gst/gstregistrypool.c:
6452           doc fixes
6453
6454 2005-08-24  Andy Wingo  <wingo@pobox.com>
6455
6456         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6457         convert a negative value. Doesn't make much sense. Mostly this is
6458         here to force callers to ensure -1 maps to -1.
6459
6460 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6461
6462         * docs/pwg/advanced-types.xml:
6463           Well done to Michael for catching my deliberate introduction
6464           of this spelling mistake. 
6465         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6466         * gst/gstelement.h:
6467           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6468           unlink pads before removing the element from the bin.
6469
6470 2005-08-24  Andy Wingo  <wingo@pobox.com>
6471
6472         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6473         the same thing as GST_DEBUG=*:4.
6474         (parse_debug_level, parse_debug_category): New helper parsers.
6475
6476 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6477
6478         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6479         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6480         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6481         (gst_base_transform_buffer_alloc),
6482         (gst_base_transform_handle_buffer):
6483           use gboolean return values and pointers to size so we can use the
6484           full GST_BUFFER_SIZE range (guint) for buffer sizes
6485           use GstPadDirection for transform_caps
6486         * gst/base/gstbasetransform.h:
6487           rename get_size to get_unit_size since that's what it is
6488         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6489           use GstPadDirection for transform_caps
6490         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6491         * gst/gstutils.h:
6492           cleanup and debugging
6493
6494 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6495
6496         * gst/gstelement.c: (gst_element_class_init),
6497         (gst_element_set_state), (activate_pads),
6498         (gst_element_save_thyself):
6499         * tools/gst-compprep.c: (main):
6500         * tools/gst-inspect.c: (print_element_properties_info):
6501         * tools/gst-xmlinspect.c: (print_element_properties):
6502           Fixed long standing mem-leak
6503
6504 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6505
6506         * check/gst/gstbin.c: (GST_START_TEST):
6507         * gst/gstbin.c: (bin_bus_handler):
6508         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6509         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6510         (gst_message_new_warning), (gst_message_new_tag),
6511         (gst_message_new_state_changed), (gst_message_new_segment_start),
6512         (gst_message_new_segment_done), (gst_message_new_custom):
6513         * gst/gstmessage.h:
6514         * tools/gst-launch.c: (event_loop):
6515         * tools/gst-md5sum.c: (event_loop):
6516           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6517           that applications can sensibly post custom messages with references
6518           to their own objects.
6519
6520 2005-08-24  Andy Wingo  <wingo@pobox.com>
6521
6522         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6523         already.
6524
6525 2005-08-24  Wim Taymans  <wim@fluendo.com>
6526
6527         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6528         (gst_base_transform_transform_caps),
6529         (gst_base_transform_transform_size),
6530         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6531         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6532         (gst_base_transform_handle_buffer):
6533         * gst/base/gstbasetransform.h:
6534         Many fixes and new features added by Thomas. Can now also do
6535         transforms with variable sizes and a custom fixate_caps function.
6536
6537 2005-08-24  Wim Taymans  <wim@fluendo.com>
6538
6539         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6540         Some debugging.
6541
6542         * gst/gstclock.h:
6543         Cast to ClockTime before formatting to time.
6544
6545         * gst/gstutils.h:
6546         Cleanups.
6547
6548 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6549
6550         * check/gst-libs/controller.c: (GST_START_TEST),
6551         (gst_controller_suite):
6552         * docs/gst/tmpl/gstcaps.sgml:
6553         * docs/gst/tmpl/gstghostpad.sgml:
6554         * docs/gst/tmpl/gstquery.sgml:
6555         * docs/gst/tmpl/gstutils.sgml:
6556         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6557         (gst_object_sink_values), (gst_object_get_value_arrays),
6558         (gst_object_get_value_array):
6559           gracefully handle helper method calls to objects that are not beeing
6560           controlled, added test case for that          
6561
6562 2005-08-23  Wim Taymans  <wim@fluendo.com>
6563
6564         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6565         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6566         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6567         (gst_event_parse_qos), (gst_event_new_seek),
6568         (gst_event_parse_seek):
6569         * gst/gstevent.h:
6570         Some more debugging output and doc cleanups.
6571
6572         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6573         Fix possible deadlock.
6574
6575 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6576
6577         * docs/gst/gstreamer-docs.sgml:
6578         * docs/gst/gstreamer-sections.txt:
6579         * docs/gst/gstreamer.types:
6580         * docs/gst/tmpl/.cvsignore:
6581         * gst/gstbin.h:
6582         * gst/gstbus.c:
6583         * gst/gstelement.c:
6584         * gst/gstevent.h:
6585           added 100 symbols from gstreamer-unused.txt to the right sections
6586           fixed more broken comments
6587           added GstBus to docs
6588
6589 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6590
6591         * docs/gst/gstreamer-sections.txt:
6592         * docs/gst/tmpl/.cvsignore:
6593         * docs/gst/tmpl/gstbin.sgml:
6594         * docs/gst/tmpl/gstbuffer.sgml:
6595         * gst/base/gstbasesrc.c:
6596         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6597         * gst/gstbuffer.c:
6598         * gst/gstbuffer.h:
6599         * tools/gst-launch.1.in:
6600           inlined more doc comments, added missing comments and fixed comments
6601           fixed typos
6602
6603 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6604
6605         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6606           some debugging
6607         * gst/gstcaps.h:
6608           whitespace fixes
6609         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6610           more debugging
6611         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6612         * gst/gststructure.h:
6613           add a fixate function for booleans; add a FIXME that these func
6614           names should probably be gst_structure_fixate_*
6615
6616 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6617
6618         * docs/gst/gstreamer-docs.sgml:
6619         * docs/gst/gstreamer-sections.txt:
6620         * gst/Makefile.am:
6621         * gst/gstbin.c: (gst_bin_get_type),
6622         (gst_bin_child_proxy_get_child_by_index),
6623         (gst_bin_child_proxy_get_children_count),
6624         (gst_bin_child_proxy_init):
6625         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6626         (gst_child_proxy_get_child_by_index),
6627         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6628         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6629         (gst_child_proxy_get), (gst_child_proxy_set_property),
6630         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6631         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6632         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6633         * gst/gstchildproxy.h:
6634         * gst/parse/grammar.y:
6635         * tools/gst-inspect.c: (print_interfaces),
6636         (print_element_properties_info), (print_element_info):
6637           ported gstchildproxy over from 0.8
6638           ported gst-inspect fixes and enhancements over from 0.8
6639
6640 2005-08-22  Wim Taymans  <wim@fluendo.com>
6641
6642         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6643         (gst_base_transform_handle_buffer):
6644         Also call the transform function if we have ANY caps.
6645
6646         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6647         Fix debug info.
6648
6649 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6650
6651         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6652           Don't pretend to handle seek events if the source is not seekable
6653
6654 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6655
6656         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6657           Remove extra parameter to debug output
6658
6659         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6660         (gst_base_src_do_seek), (gst_base_src_activate_push):
6661           Fix seek event handling.
6662
6663         * gst/gstpipeline.c: (gst_pipeline_change_state):
6664         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6665         (gst_queue_src_activate_push):
6666           Don't start the src pad task on FLUSH_STOP if the pad
6667           isn't linked.
6668           Debug changes.
6669
6670 2005-08-22  Wim Taymans  <wim@fluendo.com>
6671
6672         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6673         Added check for gst_static_caps_get() refcounting.
6674
6675 2005-08-22  Wim Taymans  <wim@fluendo.com>
6676
6677         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6678         Make _static_caps_get() refcounting sane.
6679         
6680         * gst/gstelement.c: (gst_element_set_state):
6681         Add g_return_val_if_fail() to protect against segfaults.
6682
6683 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6684
6685         * docs/gst/tmpl/gstevent.sgml:
6686         * gst/gstevent.c:
6687         * gst/gstevent.h:
6688           inlined remaining docs, added missing doc comments
6689
6690 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6691
6692         * check/gst/gstbin.c: (GST_START_TEST):
6693           since we don't know when preroll is done, use refcount range
6694           check for the sink
6695         * gst/check/gstcheck.h:
6696           add macro for checking refcount range
6697
6698 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6699
6700         * check/Makefile.am:
6701           clean up environment for when registry gets built versus
6702           when actual tests are run; valgrind seems to not report
6703           leaks if GST_PLUGIN_PATH is set to some specific values
6704         * check/gst/gstbin.c: (GST_START_TEST):
6705           add more refcounting checks; maybe this exposes a
6706           preroll lock bug ?
6707         * common/check.mak:
6708         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6709         * gst/check/gstcheck.h:
6710         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6711         (gst_bin_change_state):
6712         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6713           add/fix debugging/whitespace
6714
6715 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6716
6717         * check/gst/gstevent.c: (event_probe), (test_event),
6718         (GST_START_TEST):
6719          Er, don't call gst_bin_watch_for_state_change you idiot.
6720
6721 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6722
6723         * check/Makefile.am:
6724           Use CHECK_CFLAGS and CHECK_LIBS
6725         * check/gst/gstevent.c: (event_probe), (test_event),
6726         (GST_START_TEST):
6727           Don't leak events.
6728         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6729         (gst_base_src_start), (gst_base_src_stop),
6730         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6731         (gst_base_src_change_state):
6732           Sprinkle gst_base_src_stop liberally around error paths to fix
6733           problems reusing a source after failed state changes.
6734         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6735         (helper_find_suggest), (gst_type_find_helper):
6736           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6737         * gst/gstevent.h:
6738         * docs/gst/tmpl/gstevent.sgml:
6739           Migrate part of the docs from the SGML file. Wait for ensonic to
6740           tell me how I did it wrong ;)
6741         * tools/gst-typefind.c: (main):
6742           Extra robustness to state changes between files.
6743
6744 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6745
6746         * check/Makefile.am:
6747           don't valgrind the controller test - it's leaking - Stefan, HELP
6748         * gst/check/gstcheck.c: (gst_check_message_error),
6749         (gst_check_chain_func), (gst_check_setup_element),
6750         (gst_check_teardown_element), (gst_check_setup_src_pad),
6751         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6752         (gst_check_teardown_sink_pad):
6753         * gst/check/gstcheck.h:
6754           add a bunch of methods to set up elements, and src and sink pads
6755         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6756         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6757         (GST_START_TEST):
6758           use them
6759         * gst/gstmessage.c:
6760         * gst/gsttag.h:
6761           whitespace/doc fixes
6762
6763 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6764
6765         * gst/gstelement.h:
6766           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6767           be handled by the application and not always printed as well
6768
6769 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6770
6771         * check/Makefile.am:
6772           set GST_TOOLS_DIR
6773         * gst/check/gstcheck.c: (gst_check_message_error):
6774         * gst/check/gstcheck.h:
6775           add a fail_unless_equals_int
6776           add fail_unless for error messages
6777
6778 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6779
6780         * check/Makefile.am:
6781         * check/gst.supp:
6782         * common/Makefile.am:
6783         * common/check.mak:
6784         * common/gst.supp:
6785           factor out some of the common stuff so we can use it
6786
6787 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6788
6789         * check/Makefile.am:
6790         * check/gst/gstiterator.c: (GST_START_TEST):
6791         * check/gst/gstsystemclock.c: (GST_START_TEST),
6792         (gst_systemclock_suite):
6793         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6794         * gst/gstclock.c:
6795           valgrind more tests
6796
6797 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6798
6799         * check/elements/.cvsignore:
6800         * check/elements/gstfakesrc.c:
6801           rename to name of element
6802         * check/elements/identity.c: (chain_func), (event_func),
6803         (setup_identity), (cleanup_identity), (GST_START_TEST),
6804         (identity_suite), (main):
6805           add a test for identity
6806         * check/Makefile.am:
6807         * pkgconfig/Makefile.am:
6808         * pkgconfig/gstreamer-check.pc.in:
6809         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6810         * gst/check:
6811         * gst/Makefile.am:
6812         * configure.ac:
6813           move the check stuff to a library that gets installed
6814         * check/gst-libs/controller.c: (GST_START_TEST):
6815         * check/gst-libs/gdp.c:
6816         * check/gst/gst.c: (GST_START_TEST):
6817         * check/gst/gstbin.c:
6818         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6819         * check/gst/gstbus.c:
6820         * check/gst/gstcaps.c: (GST_START_TEST):
6821         * check/gst/gstelement.c:
6822         * check/gst/gstghostpad.c:
6823         * check/gst/gstiterator.c:
6824         * check/gst/gstmessage.c:
6825         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6826         * check/gst/gstobject.c:
6827         * check/gst/gstpad.c: (GST_START_TEST):
6828         * check/gst/gststructure.c: (GST_START_TEST):
6829         * check/gst/gstsystemclock.c: (GST_START_TEST),
6830         (gst_systemclock_suite):
6831         * check/gst/gsttag.c: (gst_tag_suite):
6832         * check/gst/gstvalue.c:
6833         * check/pipelines/cleanup.c:
6834         * check/pipelines/simple_launch_lines.c:
6835         * check/states/sinks.c:
6836           change include statement
6837
6838         * docs/gst/gstreamer-sections.txt:
6839         * docs/gst/tmpl/gstpad.sgml:
6840           document more pad stuff
6841         * gst/gstminiobject.c: (gst_mini_object_ref),
6842         (gst_mini_object_unref):
6843           debug refcounting
6844
6845 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6846
6847         * docs/gst/tmpl/gst.sgml:
6848         * gst/gst.c:
6849           eliminate another tmpl file, fix spelling in the long-description
6850
6851 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6852
6853         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6854         (test_event), (timediff), (gstevents_suite):
6855           Should fix build on 64-bit arch's
6856
6857 2005-08-18  Andy Wingo  <wingo@pobox.com>
6858
6859         Make sure that when a pipeline goes to PLAYING, that data has
6860         actually hit the sink.
6861
6862         * check/states/sinks.c (test_sink): A sink that doesn't get any
6863         data shouldn't return SUCCESS for going to either PLAYING or
6864         PAUSED. Test also the return values on the way back down.
6865
6866         * gst/gstelement.c (gst_element_set_state): When changing the
6867         state of an element currently changing state asynchronously, go to
6868         lost-state after commiting the pending state. Makes future calls
6869         to get_state continue to return ASYNC.
6870
6871         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6872         ASYNC when going to PLAYING if we still don't have preroll, as can
6873         happen with live sources.
6874
6875 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6876
6877         * docs/pwg/advanced-types.xml:
6878           Hack long paragraph into 2 chunks as a workaround for buggy
6879           jadetex version in sid and breezy that loops infinitely and
6880           eats all RAM.
6881
6882 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6883
6884         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6885         (test_event), (timediff), (gstevents_suite):
6886           Provide more error margin in clock measurements to allow for 
6887           g_get_current_time inaccuracies.
6888
6889 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6890
6891         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6892         (test_event), (timediff), (gstevents_suite):
6893            Fix error message output so I might be able to tell why the
6894            test works here but fails on the build farm.
6895
6896 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6897
6898         * check/Makefile.am:
6899         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6900         (test_event), (timediff), (gstevents_suite), (main):
6901           I wrote a test!
6902
6903         * docs/design/part-seeking.txt:
6904           Spelling correction
6905
6906         * docs/gst/tmpl/gstevent.sgml:
6907         * docs/gst/tmpl/gstfakesrc.sgml:
6908           Docs updates.
6909
6910         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6911           Treat a buffer-without-newsegment the same as a receiving 
6912           a newsegment not in time format, and disable syncing to the clock
6913           with a warning.
6914
6915         * gst/gstbus.c: (gst_bus_set_sync_handler):
6916           Assert if anyone tries to replace the existing sync_handler for bus, 
6917           as only the owner should be setting it.
6918
6919         * gst/gstevent.h:
6920           Have a fixed set of custom event enums with events identified by
6921           their structure name (as in 0.8), rather than a free-for-all
6922           allowing collisions between enum values from different plugins.
6923
6924         * gst/gstpad.c: (gst_pad_class_init):
6925           Docs change.
6926           
6927         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6928           Handle out-of-band downstream events from the sending thread.
6929
6930 2005-08-17  Andy Wingo  <wingo@pobox.com>
6931
6932         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6933         play-timeout==0 to mean no timeout at all. In that case, don't
6934         bother with a get_state or a warning, just return directly, even
6935         if it's ASYNC.
6936
6937         * gst/base/gstbasetransform.c: Debug changes.
6938
6939         * gst/gstutils.h:
6940         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6941         ensure bins post state change messages. A bit of a hack but I can't
6942         think of a way to avoid it.
6943
6944         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6945
6946 2005-08-16  Andy Wingo  <wingo@pobox.com>
6947
6948         * gst/base/gstadapter.h:
6949         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6950         peek() but you own the data. Not terribly efficient atm.
6951
6952 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6953
6954         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6955         (gst_element_found_tags):
6956         * gst/gstutils.h:
6957           Add two utility functions for tag handling.
6958
6959 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6960
6961         * docs/manual/advanced-dataaccess.xml:
6962         * docs/manual/basics-helloworld.xml:
6963           Fix docs to use _bin_add() before _link(), which fixes the examples
6964           with recent core versions (reported by Madhan Raj M
6965           <raj_madan@rediffmail.com>, #313199).
6966
6967 2005-08-16  Wim Taymans  <wim@fluendo.com>
6968
6969         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6970         Added subtract checks.
6971
6972         * docs/design/part-events.txt:
6973         Some more docs about newsegment
6974
6975         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6976         Fix FIXME
6977
6978         * gst/gstcaps.c: (gst_caps_to_string):
6979         Add comments, cleanups.
6980         
6981         * gst/gstelement.c: (gst_element_save_thyself):
6982         cleanups
6983         
6984         * gst/gstvalue.c: (gst_value_collect_int_range),
6985         (gst_string_unwrap), (gst_value_union_int_int_range),
6986         (gst_value_union_int_range_int_range),
6987         (gst_value_intersect_int_int_range),
6988         (gst_value_intersect_int_range_int_range),
6989         (gst_value_intersect_double_double_range),
6990         (gst_value_intersect_double_range_double_range),
6991         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6992         (gst_value_subtract_int_range_int),
6993         (gst_value_subtract_double_range_double),
6994         (gst_value_subtract_double_range_double_range),
6995         (gst_value_subtract_from_list), (gst_value_subtract_list),
6996         (gst_value_can_compare), (gst_value_compare_fraction):
6997         Cleanups, add comments, remove unneeded asserts.
6998
6999 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7000
7001         * tools/gst-launch.c: (event_loop):
7002           don't convert NULL structures to strings
7003
7004 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7005
7006         * docs/gst/gstreamer-sections.txt:
7007           made some defines private
7008         * docs/gst/tmpl/gstconfig.sgml:
7009         * docs/gst/tmpl/gstqueue.sgml:
7010         * docs/gst/tmpl/gsttaglist.sgml:
7011         * docs/gst/tmpl/gsttypes.sgml:
7012         * docs/gst/tmpl/gstutils.sgml:
7013         * docs/pwg/appendix-porting.xml:
7014         * gst/base/gstbasesink.h:
7015         * gst/base/gstbasesrc.c:
7016         * gst/base/gstbasesrc.h:
7017         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7018         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7019         * gst/gstelement.c: (gst_element_class_init):
7020         * gst/gstpad.c: (gst_pad_class_init):
7021         * gst/gstqueue.c: (gst_queue_class_init):
7022         * gst/gstxml.c: (gst_xml_class_init):
7023           documented all undocumented signal inline
7024         * libs/gst/controller/gst-controller.h:
7025           added padding
7026
7027 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7028
7029         * docs/pwg/appendix-porting.xml:
7030           Document _set_link_function -> _set_setcaps_function.
7031
7032 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7033
7034         * check/Makefile.am:
7035           add a .check target for running the check
7036         * check/gst-libs/controller.c: (GST_START_TEST):
7037           cosmetic fixups
7038         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7039           complete checks for gstbuffer; would be nice if I could get the
7040           gcov stuff to work so I can see if I actually completed gstbuffer.c
7041         * check/gstcheck.h:
7042           add ASSERT_BUFFER_REFCOUNT
7043
7044 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7045
7046         * docs/gst/gstreamer-sections.txt:
7047         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7048         * gst/gsttag.h:
7049           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7050           spew out a warning if a tag that is already registered
7051           is re-registered, unless it is re-registered with a 
7052           different type (#308438).
7053
7054 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7055
7056         * docs/pwg/appendix-porting.xml:
7057         * docs/pwg/building-state.xml:
7058           Add some paragraphs about state changes in 0.9 to the PWG
7059           and the porting guide, in particular about the new meaning
7060           of GST_STATE_PAUSED and how to write state change functions
7061           with concurrent access by multiple threads in mind.
7062
7063 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7064
7065         * docs/gst/gstreamer-docs.sgml:
7066         * docs/libs/gstreamer-libs-docs.sgml:
7067           added deprecation and since indexes
7068         * libs/gst/controller/gst-controller.c:
7069         * libs/gst/controller/gst-helper.c:
7070           added since tags
7071
7072
7073 2005-08-11  Wim Taymans  <wim@fluendo.com>
7074
7075         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7076         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7077         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7078         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7079         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7080         (gst_ghost_pad_set_target):
7081         Actually implement (re)setting the target on a ghostpad
7082         as described in the docs.
7083
7084 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7085
7086         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7087           Check whether GST_DEBUG_NO_COLOR environment variable is
7088           set and disable coloured debug output if that is the case.
7089
7090 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7091
7092         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7093         (gst_type_find_helper):
7094           The memory returned by gst_type_find_peek() needs to
7095           stay valid until the end of a typefind function, and
7096           typefind functions may keep results from different 
7097           offsets around, so we can't just unref the buffer from
7098           the previous _peek(), but have to save all buffers 
7099           returned by _peek() until typefinding is done and only
7100           free them then.
7101
7102 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7103
7104         * docs/gst/gstreamer-sections.txt:
7105         * gst/gstutils.h:
7106           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7107
7108 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7109
7110         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7111           Fix a pretty good memleak.
7112
7113 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7114
7115         * gst/gstiterator.h:
7116           Fix wrong include and 'make distcheck'.
7117
7118 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7119
7120         * gst/gstbin.c: (bin_bus_handler):
7121           Use gst_element_post_message() instead.
7122
7123 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7124
7125         * gst/base/gstadapter.h:
7126         * gst/base/gstbasesink.h:
7127         * gst/base/gstbasesrc.h:
7128         * gst/base/gstbasetransform.h:
7129         * gst/base/gstcollectpads.h:
7130         * gst/base/gstpushsrc.h:
7131         * gst/gstiterator.h:
7132           Add padding to our base elements' class and instance structs and
7133           to GstIterator (you will need to rebuild all plugins and apps!)
7134
7135 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7136
7137         * gst/gstbin.c: (bin_bus_handler):
7138           Make default message forwarding from child->bus to bin->bus
7139           threadsafe and make it not emit warnings if the parent has no bus.
7140
7141 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7142
7143         * gst/gstelement.c: (activate_pads):
7144           On paused->ready, set pad->caps to NULL, as is the documented
7145           behaviour in this state change. Fixes playback of series of
7146           media files when visualization is enabled in Totem.
7147
7148 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7149
7150         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7151           Allow NULL as filter-caps (which means "any").
7152
7153 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7154
7155         * docs/libs/gstreamer-libs-sections.txt:
7156         * libs/gst/controller/gst-controller.c:
7157         * libs/gst/controller/gst-controller.h:
7158         * libs/gst/controller/gst-helper.c:
7159           adding more entries to the docs and fix small doc-bugs
7160
7161 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7162
7163         * docs/gst/gstreamer-docs.sgml:
7164         * docs/gst/gstreamer-sections.txt:
7165         * docs/gst/gstreamer.types:
7166         * docs/gst/tmpl/gstbasesink.sgml:
7167         * docs/gst/tmpl/gstbasesrc.sgml:
7168         * docs/gst/tmpl/gstbasetransform.sgml:
7169         * docs/gst/tmpl/gstfakesrc.sgml:
7170         * gst/base/gstcollectpads.c:
7171         * gst/base/gstcollectpads.h:
7172         * libs/gst/controller/gst-controller.c:
7173         * libs/gst/controller/gst-controller.h:
7174         * libs/gst/controller/gst-helper.c:
7175         * libs/gst/controller/gst-interpolation.c:
7176         * libs/gst/controller/lib.c:
7177           added long/short desc for controller docs
7178           added collectpads base class docs
7179           added correct includes to base-class docs
7180
7181 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7182
7183         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7184         (gst_test_mono_source_set_property),
7185         (gst_test_mono_source_class_init), (GST_START_TEST),
7186         (gst_controller_suite):
7187         * docs/gst/gstreamer-docs.sgml:
7188         * docs/gst/gstreamer-sections.txt:
7189         * docs/gst/gstreamer.types:
7190         * docs/libs/gstreamer-libs-docs.sgml:
7191         * docs/libs/gstreamer-libs-sections.txt:
7192         * gst/base/gstadapter.c:
7193         * libs/gst/controller/gst-controller.c:
7194         (gst_controlled_property_new), (gst_controlled_property_free),
7195         (gst_controller_new_valist),
7196         (gst_controller_remove_properties_valist),
7197         (gst_controller_sink_values), (_gst_controller_finalize):
7198         * libs/gst/controller/gst-controller.h:
7199         * libs/gst/controller/gst-helper.c:
7200         (gst_object_control_properties), (gst_object_uncontrol_properties),
7201         (gst_object_get_controller), (gst_object_set_controller),
7202         (gst_object_sink_values), (gst_object_get_value_arrays),
7203         (gst_object_get_value_array):
7204           more tests (and fixes) for the controller
7205           more docs for the controller
7206           integrated companies docs for the adapter 
7207
7208 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7209
7210         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7211         (GST_START_TEST), (fakesrc_suite):
7212           add tests for sizetype
7213
7214 2005-08-04  Andy Wingo  <wingo@pobox.com>
7215
7216         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7217         fixes buffer_alloc proxying among other things.
7218
7219         * gst/base/gstbasetransform.c:
7220         * gst/base/gstbasetransform.h:
7221         Revert patch to gstbasetransform from 7-28 removing
7222         delay_configure.
7223
7224         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7225         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7226         Semantics changed, should return not the size of the output buffer
7227         but the byte size of a buffer with a given caps.
7228
7229         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7230         debug object.
7231         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7232         out) are not the pad caps until setcaps finishes.
7233         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7234         not-in-place case as well. Deal with changing from in-place to
7235         not-in-place within calling pad_alloc_buffer. Still a bit
7236         concerned about the overhead here...
7237
7238 2005-08-03  Andy Wingo  <wingo@pobox.com>
7239
7240         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7241         fixating is an error.
7242
7243 2005-08-04  Edward Hervey  <edward@fluendo.com>
7244
7245         * gst/base/gstadapter.h: 
7246         Added gst_adapter_get_type() to the header
7247
7248 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7249
7250         * check/Makefile.am:
7251         * check/gst-libs/controller.c:
7252         * libs/gst/controller/gst-controller.c:
7253         (gst_controller_new_valist):
7254           added check test suite for the controller
7255         * gst/base/gstpushsrc.c:
7256           fixed a doc typo
7257
7258 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7259
7260         * docs/gst/Makefile.am:
7261         * docs/gst/gstreamer-docs.sgml:
7262         * docs/gst/gstreamer-sections.txt:
7263         * docs/gst/gstreamer.types:
7264         * docs/gst/tmpl/gstfakesrc.sgml:
7265         * gst/base/README:
7266         * gst/base/gstbasesink.c:
7267         * gst/base/gstbasesink.h:
7268         * gst/base/gstbasesrc.c:
7269         * gst/base/gstbasesrc.h:
7270         * gst/base/gstbasetransform.c:
7271         * gst/base/gstpushsrc.c:
7272         * gst/base/gstpushsrc.h:
7273           add short/long description docs to base classes
7274           add pushsrc to the docs
7275           remove consolidated doc fragments
7276
7277 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7278
7279         * configure.ac:
7280         * docs/libs/Makefile.am:
7281         * docs/libs/gstreamer-libs-docs.sgml:
7282         * docs/libs/gstreamer-libs-sections.txt:
7283         * docs/libs/gstreamer-libs.types:
7284         * examples/Makefile.am:
7285         * examples/controller/.cvsignore:
7286         * examples/controller/Makefile.am:
7287         * examples/controller/audio-example.c: (main):
7288         * libs/gst/Makefile.am:
7289         * libs/gst/controller/.cvsignore:
7290         * libs/gst/controller/Makefile.am:
7291         * libs/gst/controller/gst-controller.c:
7292         (on_object_controlled_property_changed), (gst_timed_value_compare),
7293         (gst_timed_value_find),
7294         (gst_controlled_property_set_interpolation_mode),
7295         (gst_controlled_property_new), (gst_controlled_property_free),
7296         (gst_controller_find_controlled_property),
7297         (gst_controller_new_valist), (gst_controller_new),
7298         (gst_controller_remove_properties_valist),
7299         (gst_controller_remove_properties), (gst_controller_set),
7300         (gst_controller_set_from_list), (gst_controller_unset),
7301         (gst_controller_get), (gst_controller_get_all),
7302         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7303         (gst_controller_get_value_array),
7304         (gst_controller_set_interpolation_mode),
7305         (_gst_controller_finalize), (_gst_controller_init),
7306         (_gst_controller_class_init), (gst_controller_get_type):
7307         * libs/gst/controller/gst-controller.h:
7308         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7309         (g_object_uncontrol_properties), (g_object_get_controller),
7310         (g_object_set_controller), (g_object_sink_values),
7311         (g_object_get_value_arrays), (g_object_get_value_array):
7312         * libs/gst/controller/gst-interpolation.c:
7313         (gst_controlled_property_find_timed_value_node),
7314         (interpolate_none_get), (interpolate_trigger_get),
7315         (interpolate_trigger_get_value_array):
7316         * libs/gst/controller/lib.c: (gst_controller_init):
7317         * pkgconfig/Makefile.am:
7318         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7319         * pkgconfig/gstreamer-control.pc.in:
7320         * testsuite/Makefile.am:
7321         * testsuite/controller/.cvsignore:
7322         * testsuite/controller/Makefile.am:
7323         * testsuite/controller/interpolator.c: (main):
7324           added controller code
7325           removed dparam pc files
7326
7327 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7328         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7329         (gst_collectpads_stop):
7330           Broadcast the condition when shutting down, to make sure we wake all
7331           threads up. Shut down pads on finalize, for safety.
7332
7333 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7334         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7335         (gst_base_transform_handle_buffer),
7336         (gst_base_transform_change_state):
7337           Handle PAUSED->READY->PAUSED transition after negotiation
7338           occurred already.
7339         * gst/gstmessage.c: (gst_message_init):
7340           Extra piece of debug for new messages.
7341
7342 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7343
7344         * configure.ac:
7345         * docs/gst/tmpl/gstbasesrc.sgml:
7346         * docs/gst/tmpl/gstelement.sgml:
7347         * docs/gst/tmpl/gstevent.sgml:
7348         * docs/gst/tmpl/gstfakesrc.sgml:
7349         * docs/gst/tmpl/gstformat.sgml:
7350         * docs/gst/tmpl/gstghostpad.sgml:
7351         * docs/gst/tmpl/gstpad.sgml:
7352         * docs/gst/tmpl/gstquery.sgml:
7353         * docs/gst/tmpl/gststructure.sgml:
7354         * docs/gst/tmpl/gsttaglist.sgml:
7355         * docs/gst/tmpl/gstvalue.sgml:
7356         * docs/libs/gstreamer-libs-docs.sgml:
7357         * docs/libs/gstreamer-libs-sections.txt:
7358         * docs/libs/gstreamer-libs.types:
7359         * libs/gst/Makefile.am:
7360         * libs/gst/control/.cvsignore:
7361         * libs/gst/control/Makefile.am:
7362         * libs/gst/control/control.c:
7363         * libs/gst/control/control.h:
7364         * libs/gst/control/dparam.c:
7365         * libs/gst/control/dparam.h:
7366         * libs/gst/control/dparam_smooth.c:
7367         * libs/gst/control/dparam_smooth.h:
7368         * libs/gst/control/dparamcommon.h:
7369         * libs/gst/control/dparammanager.c:
7370         * libs/gst/control/dparammanager.h:
7371         * libs/gst/control/dplinearinterp.c:
7372         * libs/gst/control/dplinearinterp.h:
7373         * libs/gst/control/unitconvert.c:
7374         * libs/gst/control/unitconvert.h:
7375         * testsuite/Makefile.am:
7376         * testsuite/dynparams/.cvsignore:
7377         * testsuite/dynparams/Makefile.am:
7378         * testsuite/dynparams/dparamstest.c:
7379         * tools/Makefile.am:
7380         * tools/gst-inspect.c: (print_element_info), (main):
7381         * tools/gst-xmlinspect.c: (print_element_info), (main):
7382           deactivate and remove dparams (libgstcontrol)
7383
7384 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7385
7386         * gst/elements/gsttypefindelement.c:
7387         (gst_type_find_element_have_type), (gst_type_find_element_init),
7388         (stop_typefinding), (gst_type_find_element_handle_event),
7389         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7390         * gst/elements/gsttypefindelement.h:
7391           Set caps on all outgoing buffers, not just the first one.
7392
7393 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7394
7395         * gst/elements/gsttypefindelement.c:
7396         (gst_type_find_element_have_type),
7397         (gst_type_find_element_check_set_buffer_caps),
7398         (gst_type_find_element_init), (stop_typefinding),
7399         (gst_type_find_element_handle_event),
7400         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7401         * gst/elements/gsttypefindelement.h:
7402           Set caps on first outgoing buffer when we've found the type.
7403
7404 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7405
7406         * docs/gst/gstreamer-docs.sgml:
7407         * docs/gst/gstreamer-sections.txt:
7408         * docs/gst/tmpl/gstscheduler.sgml:
7409         * docs/gst/tmpl/gstschedulerfactory.sgml:
7410           Remove some old cruft from docs.
7411
7412 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7413
7414         * gst/gstpad.h:
7415           Fix inline docs for GstPadLinkReturn.
7416           
7417         * gst/gststructure.c: (gst_structure_has_name):
7418         * gst/gststructure.h:
7419         * docs/gst/gstreamer-sections.txt:
7420           New API: gst_structure_has_name().
7421
7422 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7423
7424         * configure.ac:
7425           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7426           and _LARGEFILE_SOURCE in config.h as required. Do not 
7427           export those flags in our .pc files any longer (#142209).
7428
7429           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7430
7431         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7432         (gst_file_sink_do_seek), (gst_file_sink_event),
7433         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7434           Redo seek/tell calls with large file support in mind; add some
7435           debugging messages; add log message that tells us when large
7436           file support is unavailable or not enabled for some reason.
7437
7438         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7439           Add log message that tells us when large file support 
7440           is unavailable or not enabled for some reason.
7441
7442 2005-07-29  Wim Taymans  <wim@fluendo.com>
7443
7444         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7445         Added test for removing an element with ghostpad from a bin.
7446         Fixed test as current implementation does the right thing.
7447
7448         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7449         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7450         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7451         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7452         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7453         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7454         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7455         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7456         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7457         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7458         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7459         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7460         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7461         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7462         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7463         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7464         * gst/gstghostpad.h:
7465         Clean up ghostpads, remove properties for internal stuff.
7466         Make threadsafe.
7467         Fix refcounting.
7468         Prepare for switching targets, not all use cases work yet.
7469
7470 2005-07-29  Wim Taymans  <wim@fluendo.com>
7471
7472         * docs/design/part-gstghostpad.txt:
7473         Small update.
7474
7475         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7476         (gst_bin_remove_func):
7477         Unlinking pads while holding the bin LOCK is not a good
7478         idea.
7479
7480         * gst/gstpad.c: (gst_pad_class_init),
7481         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7482         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7483         No prob setting template after creating the pad.
7484
7485 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7486
7487         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7488         (gst_bus_peek), (gst_bus_source_dispatch),
7489         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7490         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7491           gst_bus_poll may be called from other threads. Handle
7492           this nicely by not making poll_data disappear off the
7493           stack once gst_bus_poll returns.
7494           gst_bus_peek now increments the refcount on the returned
7495           message.
7496
7497 2005-07-29  Wim Taymans  <wim@fluendo.com>
7498
7499         * docs/design/part-gstghostpad.txt:
7500         Overview of current GhostPad datastructures and use
7501         cases for changing the target.
7502
7503 2005-07-28  Wim Taymans  <wim@fluendo.com>
7504
7505         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7506         Added checks for hierarchy consistency whan adding linked
7507         elements to bins.
7508
7509         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7510         Added check to test element scheduling without bin/pipeline.
7511
7512         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7513         First add elements to bin, then link.
7514         
7515         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7516         (gst_bin_remove_func):
7517         Unlink pads from elements added/removed from bin to maintain
7518         hierarchy consistency.
7519
7520 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7521
7522         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7523         (gst_base_transform_handle_buffer):
7524         * gst/base/gstbasetransform.h:
7525           Remove broken delay_configure (fixes renegotiation of software
7526           scaling pipelines); remove some leftover printf()s.
7527
7528 2005-07-28  Wim Taymans  <wim@fluendo.com>
7529
7530         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7531         Added some more tests for wrong hierarchy
7532
7533         * docs/design/part-overview.txt:
7534         Some updates.
7535
7536         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7537         Cleanups.
7538
7539         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7540         (gst_element_dispose):
7541         Some more cleanups.
7542
7543         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7544         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7545         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7546         (gst_pad_set_caps), (gst_pad_send_event):
7547         Check for correct hierarchy when linking pads. Moving to
7548         strict requirement for ghostpads when linking elements in
7549         different bins.
7550
7551         * gst/gstpad.h:
7552         Clean ups. Added WRONG_HIERARCHY return value.
7553
7554 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7555
7556         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7557           Better debug if no transform is possible.
7558
7559 2005-07-27  Wim Taymans  <wim@fluendo.com>
7560
7561         * docs/random/wtay/network-transp:
7562         Some old doc I had.
7563
7564 2005-07-27  Wim Taymans  <wim@fluendo.com>
7565
7566         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7567         (gst_dp_event_from_packet):
7568         Fix serialization of seek events.
7569
7570 2005-07-27  Wim Taymans  <wim@fluendo.com>
7571
7572         * check/gst-libs/gdp.c: (GST_START_TEST):
7573         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7574         Fix compilation and fix event serialization.
7575
7576 2005-07-27  Wim Taymans  <wim@fluendo.com>
7577
7578         * CHANGES-0.9:
7579         * docs/design/part-TODO.txt:
7580         * docs/design/part-events.txt:
7581         Some docs updates
7582
7583         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7584         (gst_base_sink_event), (gst_base_sink_do_sync),
7585         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7586         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7587         (gst_base_src_do_seek), (gst_base_src_event_handler),
7588         (gst_base_src_loop):
7589         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7590         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7591         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7592         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7593         (gst_base_transform_set_passthrough),
7594         (gst_base_transform_is_passthrough):
7595         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7596         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7597         Event updates.
7598
7599         * gst/gstbuffer.h:
7600         Use faster casts.
7601
7602         * gst/gstelement.c: (gst_element_seek):
7603         * gst/gstelement.h:
7604         Update gst_element_seek.
7605
7606         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7607         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7608         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7609         (gst_event_new_eos), (gst_event_new_newsegment),
7610         (gst_event_parse_newsegment), (gst_event_new_tag),
7611         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7612         (gst_event_parse_qos), (gst_event_new_seek),
7613         (gst_event_parse_seek), (gst_event_new_navigation):
7614         * gst/gstevent.h:
7615         Make GstEvent use GstStructure. Add parsing code, make sure the
7616         API is sufficiently generic.
7617         Mark possible directions of events and serialization.
7618
7619         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7620         (_gst_message_copy), (gst_message_new_segment_start),
7621         (gst_message_new_segment_done), (gst_message_new_custom),
7622         (gst_message_parse_segment_start),
7623         (gst_message_parse_segment_done):
7624         Small cleanups.
7625
7626         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7627         (gst_pad_set_caps), (gst_pad_send_event):
7628         Update for new events. 
7629         Catch events sent in wrong directions.
7630
7631         * gst/gstqueue.c: (gst_queue_link_src),
7632         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7633         (gst_queue_handle_src_query):
7634         Event updates.
7635
7636         * gst/gsttag.c:
7637         * gst/gsttag.h:
7638         Remove event code from this file.
7639
7640         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7641         (gst_dp_event_from_packet):
7642         Event updates.
7643
7644 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7645
7646         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7647         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7648         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7649           Make debugging actually useful.
7650
7651 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7652
7653         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7654         (gst_pad_fixate_caps):
7655           Implement default fixation once again, so that gst_pad_fixate()
7656           actually does anything at all. This probably needs to be some
7657           sort of a last resort, and use profile-based fixation first, but
7658           since that doesn't exist yet, this is the best we have. Fixes
7659           visualization in Totem.
7660
7661 2005-07-22  Wim Taymans  <wim@fluendo.com>
7662
7663         * docs/design/part-events.txt:
7664         Small update.
7665
7666         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7667         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7668         (gst_base_sink_activate_pull):
7669         Some more comments.
7670
7671         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7672         (gst_fake_src_create):
7673         Fix handoff marshall.
7674
7675         * gst/elements/gstidentity.c: (gst_identity_class_init),
7676         (gst_identity_transform_ip):
7677         We're a real inplace element.
7678
7679         * gst/gstbus.c: (gst_bus_post):
7680         Added some comments.
7681
7682         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7683         * tests/muxing/case1.c: (main):
7684         * tests/sched/dynamic-pipeline.c: (main):
7685         * tests/sched/interrupt1.c: (main):
7686         * tests/sched/interrupt2.c: (main):
7687         * tests/sched/interrupt3.c: (main):
7688         * tests/sched/runxml.c: (main):
7689         * tests/sched/sched-stress.c: (main):
7690         * tests/seeking/seeking1.c: (event_received), (main):
7691         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7692         (main):
7693         * tests/threadstate/threadstate3.c: (main):
7694         * tests/threadstate/threadstate4.c: (main):
7695         * tests/threadstate/threadstate5.c: (main):
7696         Fix the tests.
7697
7698 2005-07-21  Wim Taymans  <wim@fluendo.com>
7699
7700         * docs/design/part-seeking.txt:
7701         Some small additions.
7702
7703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7704         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7705         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7706         * gst/base/gstbasesink.h:
7707         discont values are gint64, handle the math correctly.
7708
7709         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7710         Make the basesrc report error if the source pad is not linked.
7711
7712         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7713         (gst_queue_loop), (gst_queue_handle_src_query),
7714         (gst_queue_src_activate_push):
7715         Make queue collect data even if the srcpad is not linked.
7716         Start pushing out data as soon as it is linked.
7717
7718         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7719         * gst/gstutils.h:
7720         Added gst_flow_get_name() to ease error reporting.
7721
7722 2005-07-20  Wim Taymans  <wim@fluendo.com>
7723
7724         * gst/gstmessage.c: (gst_message_new_segment_start),
7725         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7726         (gst_message_parse_segment_done):
7727         * gst/gstmessage.h:
7728         Added a bunch of messages for advanced seeking.
7729
7730         * gst/parse/grammar.y:
7731         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7732         (gst_dpman_state_changed):
7733         Fix some new-pad -> pad-added signals
7734
7735 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7736
7737         * docs/manual/appendix-porting.xml:
7738         * docs/pwg/appendix-porting.xml:
7739           Document new-pad/state-change signal renames and the FixedList
7740           type rename.
7741
7742 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7743
7744         * docs/manual/advanced-autoplugging.xml:
7745         * docs/manual/basics-helloworld.xml:
7746         * docs/manual/basics-pads.xml:
7747         * docs/random/ds/0.9-suggested-changes:
7748         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7749         * gst/gstelement.h:
7750         * gst/gstevent.h:
7751         * gst/gstformat.h:
7752         * gst/gstquery.h:
7753         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7754         (gst_structure_parse_array), (gst_structure_parse_value):
7755         * gst/gstvalue.c: (gst_type_is_fixed),
7756         (gst_value_list_prepend_value), (gst_value_list_append_value),
7757         (gst_value_list_get_size), (gst_value_list_get_value),
7758         (gst_value_transform_array_string), (gst_value_serialize_array),
7759         (gst_value_deserialize_array), (gst_value_intersect_array),
7760         (gst_value_is_fixed), (_gst_value_initialize):
7761         * gst/gstvalue.h:
7762           GstElement::new-pad -> pad-added, GstElement::state-change ->
7763           state-changed, GstValueFixedList -> GstValueArray, add format and
7764           flags as their own arguments in gst_element_seek() (should improve
7765           "bindeability"), remove function generators since they don't work
7766           under a whole bunch of compilers (they were deprecated already
7767           anyway).
7768
7769 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7770
7771         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7772         (_gst_debug_register_funcptr):
7773         * gst/gstinfo.h:
7774           Fix illegal cast on some platforms (#309253).
7775
7776 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7777
7778         * gst/gstmessage.c: (gst_message_new_custom):
7779         * gst/gstmessage.h:
7780           Add _new_custom, make _new_application a macro to _new_custom.
7781
7782 2005-07-20  Wim Taymans  <wim@fluendo.com>
7783
7784         * gst/base/gstbasesrc.c: (gst_base_src_init),
7785         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7786         * gst/base/gstbasesrc.h:
7787         Add a gboolean to decide when to push out a discont.
7788
7789         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7790         (gst_queue_loop), (gst_queue_handle_src_query),
7791         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7792         (gst_queue_set_property), (gst_queue_get_property):
7793         Some cleanups.
7794
7795         * tests/threadstate/threadstate1.c: (main):
7796         Make a thread test compile and run... very silly..
7797
7798
7799 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7800
7801         * docs/manual/appendix-porting.xml:
7802           Mention removal of libgstgconf-0.9.la and existence of gconf
7803           elements.
7804
7805 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7806
7807         * docs/pwg/advanced-clock.xml:
7808         * docs/pwg/appendix-porting.xml:
7809         * docs/pwg/intro-preface.xml:
7810         * docs/pwg/other-base.xml:
7811         * docs/pwg/other-manager.xml:
7812         * docs/pwg/other-nton.xml:
7813         * docs/pwg/other-ntoone.xml:
7814         * docs/pwg/other-oneton.xml:
7815         * docs/pwg/pwg.xml:
7816           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7817           demuxer), remove n-to-n (was never written), fix some code examples
7818           and links and update the porting section to include all this.
7819
7820 2005-07-19  Wim Taymans  <wim@fluendo.com>
7821
7822         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7823         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7824         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7825         (gst_queue_src_activate_push), (gst_queue_change_state),
7826         (gst_queue_get_property):
7827         * gst/gstqueue.h:
7828         Propagate GstFlowReturn more intelligently upstream and output
7829         an ERROR/EOS when streaming stopped due to fatal error.
7830
7831 2005-07-19  Wim Taymans  <wim@fluendo.com>
7832
7833         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7834         Don't block forever for the state change to complete, the
7835         pipeline already did with a sensible timeout.
7836
7837 2005-07-19  Wim Taymans  <wim@fluendo.com>
7838
7839         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7840         Make sure we never call the create function is we
7841         got deactivated.
7842
7843 2005-07-19  Andy Wingo  <wingo@pobox.com>
7844
7845         * gst/parse/parse.l: Attempt to solve bug #172815.
7846
7847 2005-07-19  Wim Taymans  <wim@fluendo.com>
7848
7849         * docs/design/part-clocks.txt:
7850         * docs/design/part-events.txt:
7851         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7852         Small docs updates.
7853         Only update the seeking values when we are not
7854         busy streaming.
7855
7856 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7857
7858         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7859           Oops, ignore the result of gst_pad_push_event here.
7860
7861 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7862
7863         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7864         (gst_base_src_activate_push):
7865           Send discont event from the loop function, as pads
7866           aren't activated yet in the activate_push handler.
7867
7868         * gst/gstbin.c: (bin_bus_handler):
7869           Don't leak element name.
7870
7871 2005-07-18  Andy Wingo  <wingo@pobox.com>
7872
7873         * configure.ac: Use AS_LIBTOOL_TAGS.
7874
7875 2005-07-18  Wim Taymans  <wim@fluendo.com>
7876
7877         * docs/gst/gstreamer.types:
7878         Remove deleted types.
7879
7880 2005-07-18  Wim Taymans  <wim@fluendo.com>
7881
7882         * check/elements/gstfakesrc.c: (GST_START_TEST):
7883         * configure.ac:
7884         * gst/Makefile.am:
7885         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7886         (init_popt_callback):
7887         * gst/gst.h:
7888         * gst/gst_private.h:
7889         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7890         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7891         * gst/gstbin.h:
7892         * gst/gstbus.h:
7893         * gst/gstconfig.h.in:
7894         * gst/gstelement.c: (gst_element_class_init),
7895         (gst_element_set_base_time), (gst_element_get_base_time),
7896         (iterator_fold_with_resync), (gst_element_change_state),
7897         (gst_element_dispose), (gst_element_get_bus):
7898         * gst/gstelement.h:
7899         * gst/gstelementfactory.h:
7900         * gst/gsterror.c: (_gst_core_errors_init):
7901         * gst/gsterror.h:
7902         * gst/gstevent.h:
7903         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7904         * gst/gstindex.c:
7905         * gst/gstinfo.c: (_gst_debug_init):
7906         * gst/gstmessage.c: (_gst_message_copy):
7907         * gst/gstmessage.h:
7908         * gst/gstminiobject.h:
7909         * gst/gstobject.c:
7910         * gst/gstobject.h:
7911         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7912         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7913         * gst/gstpad.h:
7914         * gst/gstparse.h:
7915         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7916         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7917         (gst_pipeline_get_last_stream_time):
7918         * gst/gstpipeline.h:
7919         * gst/gstpluginfeature.h:
7920         * gst/gstquery.h:
7921         * gst/gstscheduler.c:
7922         * gst/gstscheduler.h:
7923         * gst/gststructure.h:
7924         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7925         (gst_task_finalize), (gst_task_func), (gst_task_create),
7926         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7927         (gst_task_stop), (gst_task_pause):
7928         * gst/gsttask.h:
7929         * gst/gsttypefind.h:
7930         * gst/gsttypes.h:
7931         * gst/registries/gstlibxmlregistry.c: (load_feature),
7932         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7933         * gst/registries/gstxmlregistry.c:
7934         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7935         * gst/schedulers/threadscheduler.c:
7936         * libs/gst/control/dparammanager.h:
7937         * tools/gst-inspect.c: (print_element_list),
7938         (print_plugin_features), (print_element_features):
7939         * tools/gst-xmlinspect.c: (print_element_list),
7940         (print_plugin_info), (main):
7941         Removed plugable schedulers.
7942         Removed Scheduler/Manager from elements.
7943         Removed gsttypes.h, rearranged includes.
7944         Removed dependency pad<->element, element<>pipeline, and
7945         various others,  fix includes.
7946         implement gst_pad_get_parent() with gst_object_get_parent()
7947         Make GstTask sefcontained.
7948         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7949         timeout.
7950         Fix endless loop in iterator_fold_with_resync.
7951
7952
7953 2005-07-18  Wim Taymans  <wim@fluendo.com>
7954
7955         * gst/Makefile.am:
7956         * gst/gstarch.h:
7957         Remove old file.
7958
7959 2005-07-18  Wim Taymans  <wim@fluendo.com>
7960
7961         * gst/Makefile.am:
7962         No more cothreads.h
7963
7964 2005-07-18  Wim Taymans  <wim@fluendo.com>
7965
7966         * gst/cothreads.c:
7967         * gst/cothreads.h:
7968         Let's remove these.
7969
7970 2005-07-18  Wim Taymans  <wim@fluendo.com>
7971
7972         * docs/design/part-dynamic.txt:
7973         * docs/design/part-events.txt:
7974         * docs/design/part-seeking.txt:
7975         Some more docs in the works.
7976
7977         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7978         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7979         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7980         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7981         (gst_base_transform_handle_buffer),
7982         (gst_base_transform_sink_activate_push),
7983         (gst_base_transform_src_activate_pull),
7984         (gst_base_transform_set_passthrough),
7985         (gst_base_transform_is_passthrough):
7986         Refcounting fixes.
7987
7988         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7989         Cleanups.
7990
7991         * gst/gstevent.c: (gst_event_finalize):
7992         Set SRC to NULL.
7993
7994         * gst/gstutils.c: (gst_element_unlink),
7995         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7996         (gst_pad_proxy_setcaps):
7997         * gst/gstutils.h:
7998         Add _get_parent_element() to get a pads parent as an element.
7999
8000 2005-07-18  Wim Taymans  <wim@fluendo.com>
8001
8002         * check/gst/gstbin.c: (GST_START_TEST):
8003         Remove bogus test.
8004
8005 2005-07-18  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8008         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8009         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8010         (gst_base_sink_event), (gst_base_sink_do_sync),
8011         (gst_base_sink_chain), (gst_base_sink_loop),
8012         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8013         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8014         Refcounting fixes.
8015         Fix logic for returning ASYNC when not prerolled.
8016
8017 2005-07-18  Wim Taymans  <wim@fluendo.com>
8018
8019         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8020         Fix nasty refcount bug.
8021
8022 2005-07-16 Philippe Khalaf <burger@speedy.org>
8023
8024         * gst/elements/gstfdsrc.c:
8025         * gst/elements/gstfdsrc.h:
8026         * gst/elements/gstelements.c:
8027         * gst/elements/Makefile.am:
8028         Ported fdsrc to 0.9.
8029
8030 2005-07-16  Wim Taymans  <wim@fluendo.com>
8031
8032         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8033         (gst_base_sink_do_sync):
8034         Fix compile error.
8035
8036 2005-07-16  Wim Taymans  <wim@fluendo.com>
8037
8038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8039         (gst_base_sink_event), (gst_base_sink_get_times),
8040         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8041         * gst/base/gstbasesink.h:
8042         Store and use discont values when syncing buffers as described
8043         in design docs.
8044         
8045         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8046         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8047         (gst_base_src_activate_push):
8048         Push discont event when starting.
8049
8050         * gst/elements/gstidentity.c: (gst_identity_transform):
8051         Small cleanups.
8052
8053         * gst/gstbin.c: (gst_bin_change_state):
8054         Small cleanups in base_time  distribution.
8055
8056         * gst/gstelement.c: (gst_element_set_base_time),
8057         (gst_element_get_base_time), (gst_element_change_state):
8058         * gst/gstelement.h:
8059         Added methods for the base_time of the element.
8060         Some MT fixes.
8061
8062         * gst/gstpipeline.c: (gst_pipeline_send_event),
8063         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8064         (gst_pipeline_get_last_stream_time):
8065         * gst/gstpipeline.h:
8066         MT fixes.
8067         Handle seeking as described in design doc, remove stream_time
8068         hack.
8069         Cleanups clock and stream_time selection code. Added accessors
8070         for the stream_time.
8071         
8072
8073 2005-07-16  Andy Wingo  <wingo@pobox.com>
8074
8075         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8076         (#305291).
8077
8078 2005-07-16  Wim Taymans  <wim@fluendo.com>
8079
8080         * check/gst/gstbin.c: (GST_START_TEST):
8081         Make elements silent as the deep_notify refs the
8082         parent, which might make the test fail.
8083
8084         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8085         Don't hold the lock for too long.
8086
8087 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8088
8089         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8090           Don't unref the caps we passed to gst_caps_make_writable() after
8091           passing them. gst_caps_make_writable() will do that for us.
8092
8093 2005-07-15  Andy Wingo  <wingo@pobox.com>
8094
8095         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8096         (#157311).
8097
8098         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8099         own marshalling function for the handoff signal. Properly type the
8100         buffer as a buffer. Fixes some warnings. Should do a more general
8101         solution.
8102         (gst_identity_class_init): Plug into the right marshaller.
8103
8104 2005-07-15  Wim Taymans  <wim@fluendo.com>
8105
8106         * docs/design/part-TODO.txt:
8107         * docs/design/part-clocks.txt:
8108         * docs/design/part-element-sink.txt:
8109         * docs/design/part-events.txt:
8110         * docs/design/part-gstpipeline.txt:
8111         Updated docs, mostly DISCONT related.
8112
8113 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8114
8115         * docs/pwg/building-pads.xml:
8116           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8117
8118 2005-07-15  Andy Wingo  <wingo@pobox.com>
8119
8120         * tools/gst-typefind.c: Update, add copyright block.
8121
8122         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8123         Normalize and truncate caps before fixation.
8124
8125         * gst/gstcaps.h:
8126         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8127         discards all but the first structure from its argument.
8128
8129 2005-07-15  Wim Taymans  <wim@fluendo.com>
8130
8131         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8132         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8133         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8134         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8135         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8136         (gst_base_transform_chain), (gst_base_transform_change_state),
8137         (gst_base_transform_set_passthrough),
8138         (gst_base_transform_is_passthrough):
8139         * gst/base/gstbasetransform.h:
8140         Make passthrough work using the bufferpools.
8141         Changed API a bit, subclasses have to write into a buffer
8142         provided by the base class.
8143         More debug info in nego functions.
8144         
8145         * gst/elements/gstidentity.c: (gst_identity_init),
8146         (gst_identity_transform):
8147         Port to new base class.
8148
8149 2005-07-15  Wim Taymans  <wim@fluendo.com>
8150
8151         * gst/gstmessage.c: (gst_message_new_state_changed):
8152         * tools/gst-launch.c: (event_loop), (main):
8153         Totally dump messages in -launch with the -m option.
8154         Fix message name for State messages,
8155
8156 2005-07-14  Wim Taymans  <wim@fluendo.com>
8157
8158         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8159         Post error messages on errors.
8160
8161 2005-07-14  Wim Taymans  <wim@fluendo.com>
8162
8163         * gst/gstcaps.c: (gst_caps_do_simplify):
8164         Remove debug info.
8165
8166         * gst/gsterror.h:
8167         Define error for stream stopped.
8168
8169         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8170         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8171         Do proper return values.
8172
8173         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8174         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8175         (gst_pad_get_range):
8176         Better return values.
8177
8178         * gst/gstpad.h:
8179         Reorganise return values, add macro to check for fatal errors.
8180
8181         * gst/gstqueue.c: (gst_queue_chain):
8182         Return proper GstFlowReturn values,
8183
8184 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8185
8186         * docs/gst/gstreamer-sections.txt:
8187         * docs/gst/gstreamer.types:
8188         * docs/gst/tmpl/gst.sgml:
8189         * docs/gst/tmpl/gstbasesink.sgml:
8190         * docs/gst/tmpl/gstbasesrc.sgml:
8191         * docs/gst/tmpl/gstbasetransform.sgml:
8192         * docs/gst/tmpl/gstbin.sgml:
8193         * docs/gst/tmpl/gstbuffer.sgml:
8194         * docs/gst/tmpl/gstcaps.sgml:
8195         * docs/gst/tmpl/gstclock.sgml:
8196         * docs/gst/tmpl/gstcompat.sgml:
8197         * docs/gst/tmpl/gstconfig.sgml:
8198         * docs/gst/tmpl/gstelement.sgml:
8199         * docs/gst/tmpl/gstelementdetails.sgml:
8200         * docs/gst/tmpl/gstelementfactory.sgml:
8201         * docs/gst/tmpl/gstenumtypes.sgml:
8202         * docs/gst/tmpl/gsterror.sgml:
8203         * docs/gst/tmpl/gstevent.sgml:
8204         * docs/gst/tmpl/gstfakesink.sgml:
8205         * docs/gst/tmpl/gstfakesrc.sgml:
8206         * docs/gst/tmpl/gstfilesink.sgml:
8207         * docs/gst/tmpl/gstfilesrc.sgml:
8208         * docs/gst/tmpl/gstfilter.sgml:
8209         * docs/gst/tmpl/gstformat.sgml:
8210         * docs/gst/tmpl/gstghostpad.sgml:
8211         * docs/gst/tmpl/gstimplementsinterface.sgml:
8212         * docs/gst/tmpl/gstindex.sgml:
8213         * docs/gst/tmpl/gstindexfactory.sgml:
8214         * docs/gst/tmpl/gstinfo.sgml:
8215         * docs/gst/tmpl/gstiterator.sgml:
8216         * docs/gst/tmpl/gstmacros.sgml:
8217         * docs/gst/tmpl/gstmemchunk.sgml:
8218         * docs/gst/tmpl/gstminiobject.sgml:
8219         * docs/gst/tmpl/gstobject.sgml:
8220         * docs/gst/tmpl/gstpad.sgml:
8221         * docs/gst/tmpl/gstpadtemplate.sgml:
8222         * docs/gst/tmpl/gstparse.sgml:
8223         * docs/gst/tmpl/gstpipeline.sgml:
8224         * docs/gst/tmpl/gstplugin.sgml:
8225         * docs/gst/tmpl/gstpluginfeature.sgml:
8226         * docs/gst/tmpl/gstquery.sgml:
8227         * docs/gst/tmpl/gstqueue.sgml:
8228         * docs/gst/tmpl/gstregistry.sgml:
8229         * docs/gst/tmpl/gstregistrypool.sgml:
8230         * docs/gst/tmpl/gstscheduler.sgml:
8231         * docs/gst/tmpl/gstschedulerfactory.sgml:
8232         * docs/gst/tmpl/gststructure.sgml:
8233         * docs/gst/tmpl/gstsystemclock.sgml:
8234         * docs/gst/tmpl/gsttaglist.sgml:
8235         * docs/gst/tmpl/gsttagsetter.sgml:
8236         * docs/gst/tmpl/gsttrace.sgml:
8237         * docs/gst/tmpl/gsttrashstack.sgml:
8238         * docs/gst/tmpl/gsttypefind.sgml:
8239         * docs/gst/tmpl/gsttypefindfactory.sgml:
8240         * docs/gst/tmpl/gsttypes.sgml:
8241         * docs/gst/tmpl/gsturihandler.sgml:
8242         * docs/gst/tmpl/gsturitype.sgml:
8243         * docs/gst/tmpl/gstutils.sgml:
8244         * docs/gst/tmpl/gstvalue.sgml:
8245         * docs/gst/tmpl/gstversion.sgml:
8246         * docs/gst/tmpl/gstxml.sgml:
8247         * docs/libs/tmpl/gstcontrol.sgml:
8248         * docs/libs/tmpl/gstdataprotocol.sgml:
8249         * docs/libs/tmpl/gstdparam.sgml:
8250         * docs/libs/tmpl/gstdplinint.sgml:
8251         * docs/libs/tmpl/gstdpman.sgml:
8252         * docs/libs/tmpl/gstdpsmooth.sgml:
8253         * docs/libs/tmpl/gstgetbits.sgml:
8254         * docs/libs/tmpl/gstunitconvert.sgml:
8255         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8256         (gst_push_src_base_init), (gst_push_src_class_init),
8257         (gst_push_src_init), (gst_push_src_create):
8258         * gst/base/gstpushsrc.h:
8259         * gst/elements/gstelements.c:
8260         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8261         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8262         (gst_fake_sink_init), (gst_fake_sink_set_property),
8263         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8264         (gst_fake_sink_event), (gst_fake_sink_preroll),
8265         (gst_fake_sink_render), (gst_fake_sink_change_state):
8266         * gst/elements/gstfakesink.h:
8267         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8268         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8269         (gst_fake_src_base_init), (gst_fake_src_class_init),
8270         (gst_fake_src_init), (gst_fake_src_event_handler),
8271         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8272         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8273         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8274         (gst_fake_src_create_buffer), (gst_fake_src_create),
8275         (gst_fake_src_start), (gst_fake_src_stop):
8276         * gst/elements/gstfakesrc.h:
8277         * gst/elements/gstfilesink.c: (_do_init),
8278         (gst_file_sink_base_init), (gst_file_sink_class_init),
8279         (gst_file_sink_init), (gst_file_sink_dispose),
8280         (gst_file_sink_set_location), (gst_file_sink_set_property),
8281         (gst_file_sink_get_property), (gst_file_sink_open_file),
8282         (gst_file_sink_close_file), (gst_file_sink_query),
8283         (gst_file_sink_event), (gst_file_sink_render),
8284         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8285         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8286         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8287         * gst/elements/gstfilesink.h:
8288         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8289         (gst_file_src_class_init), (gst_file_src_init),
8290         (gst_file_src_finalize), (gst_file_src_set_location),
8291         (gst_file_src_set_property), (gst_file_src_get_property),
8292         (gst_file_src_map_region), (gst_file_src_map_small_region),
8293         (gst_file_src_create_mmap), (gst_file_src_create_read),
8294         (gst_file_src_create), (gst_file_src_is_seekable),
8295         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8296         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8297         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8298         (gst_file_src_uri_handler_init):
8299         * gst/elements/gstfilesrc.h:
8300           more autistic cleanliness in functions/names/defines
8301
8302 2005-07-13  Andy Wingo  <wingo@pobox.com>
8303
8304         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8305         source couldn't negotiate.
8306
8307         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8308         connections again.
8309
8310         * gst/gstutils.h:
8311         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8312         function. I am channeling Hades. Put your boots on suckers!!!
8313
8314 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8315
8316         * testsuite/caps/Makefile.am:
8317         * testsuite/caps/value_compare.c:
8318         * testsuite/caps/value_intersect.c:
8319         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8320           move two testsuite apps over to the check dir
8321
8322 2005-07-12  Wim Taymans  <wim@fluendo.com>
8323
8324         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8325         Added more debug info in the negotiate process.
8326
8327         * gst/gstmessage.h:
8328         Prepare for segment playback.
8329
8330         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8331         Better debugging.
8332
8333         * gst/gstutils.c:
8334         Some more docs.
8335
8336         * tools/gst-launch.c: (main):
8337         NULL pipeline on errors.
8338
8339 2005-07-12  Andy Wingo  <wingo@pobox.com>
8340
8341         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8342         not it comes from a malloc region. Make sure our copy gets freed.
8343
8344 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8345
8346         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8347         * check/gst/gstmessage.c: (GST_START_TEST):
8348         * check/gst/gststructure.c: (GST_START_TEST),
8349         (gst_structure_suite), (main):
8350           more testing
8351         * gst/gstelement.c: (gst_element_message_full):
8352           clean up GError and debug string now that they get copied
8353         * gst/gstmessage.c: (gst_message_new_error),
8354         (gst_message_new_warning), (gst_message_parse_error),
8355         (gst_message_parse_warning):
8356           use GST_TYPE_G_ERROR for structure_new, and take copies of
8357           arguments, so that we don't mess up refcounting
8358
8359 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8360
8361         * check/Makefile.am:
8362           add per-test valgrind targets
8363         * check/gst-libs/gdp.c: (GST_START_TEST),
8364         (gst_data_protocol_suite), (main):
8365           clean up
8366
8367 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8368
8369         * check/Makefile.am:
8370           instate more valgrindable tests
8371         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8372         (GST_START_TEST), (fakesrc_suite):
8373         * check/gst/gstpad.c: (GST_START_TEST):
8374         * check/gst/gststructure.c: (GST_START_TEST):
8375           fix test leaks
8376         * docs/gst/tmpl/gstminiobject.sgml:
8377         * gst/gstpad.c: (gst_pad_finalize):
8378           fix the static mutex leak
8379
8380 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8381
8382         * check/Makefile.am:
8383           add two more tests for valgrinding
8384         * check/gst/gstvalue.c: (GST_START_TEST):
8385           test refcount of deserialized buffer, found a leak
8386         * docs/gst/gstreamer-docs.sgml:
8387         * docs/gst/gstreamer-sections.txt:
8388         * docs/gst/gstreamer.types:
8389         * docs/gst/tmpl/gstminiobject.sgml:
8390           add miniobject to docs
8391         * gst/gstminiobject.c:
8392           add some docs
8393         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8394         (gst_string_unwrap):
8395           fix a hard-to-find invalid write for one of the tests
8396           fix a leak for deserialized buffers
8397
8398 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8399
8400         * docs/pwg/advanced-events.xml:
8401         * docs/pwg/advanced-request.xml:
8402         * docs/pwg/advanced-scheduling.xml:
8403         * docs/pwg/appendix-porting.xml:
8404         * docs/pwg/building-boiler.xml:
8405         * docs/pwg/intro-preface.xml:
8406         * docs/pwg/other-ntoone.xml:
8407           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8408           of example code and explanation for pad activation, loop() and
8409           getrange() functions and a bit more. Remove old comments pointing
8410           to loop-functions.
8411         * examples/pwg/Makefile.am:
8412           Add loop/getrange examples.
8413
8414 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8415
8416         * configure.ac:
8417           check for valgrind binary + some fixes
8418         * check/gst.supp:
8419           valgrind suppressions for the tests
8420         * check/Makefile.am:
8421           add a valgrind: target that valgrinds the unit tests
8422         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8423         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8424         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8425         * check/gst/gstghostpad.c:
8426           added some cleanup
8427         * check/gst/gstdata.c:
8428           removed
8429         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8430         (thread_unref), (gst_mini_object_suite), (main):
8431           added
8432         * gst/gst.c: (gst_deinit):
8433         * gst/gst.h:
8434           add a method to clean up.
8435         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8436         (gst_system_clock_obtain):
8437           allow for disposing the system clock.
8438         * tools/gst-launch.c: (main):
8439           deinit
8440
8441 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8442
8443         * docs/gst/tmpl/gstbasesrc.sgml:
8444         * docs/gst/tmpl/gstfakesrc.sgml:
8445         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8446         (gst_base_src_init), (gst_base_src_set_property),
8447         (gst_base_src_get_property), (gst_base_src_get_range),
8448         (gst_base_src_start):
8449         * gst/base/gstbasesrc.h:
8450           add num-buffers property
8451         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8452         (gst_fakesrc_init), (gst_fakesrc_set_property),
8453         (gst_fakesrc_get_property), (gst_fakesrc_create),
8454         (gst_fakesrc_start):
8455           remove num-buffers property
8456
8457 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8458
8459         * docs/gst/gstreamer-sections.txt:
8460         * docs/gst/tmpl/gstbasesink.sgml:
8461         * docs/gst/tmpl/gstbasesrc.sgml:
8462         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8463         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8464         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8465         (gst_base_sink_set_property), (gst_base_sink_get_property),
8466         (gst_base_sink_handle_object), (gst_base_sink_event),
8467         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8468         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8469         (gst_base_sink_loop), (gst_base_sink_deactivate),
8470         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8471         (gst_base_sink_change_state):
8472         * gst/base/gstbasesink.h:
8473         * gst/base/gstbasesrc.h:
8474         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8475         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8476         (gst_filesink_init):
8477           more macro splitting
8478
8479 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8480
8481         * gst/gstelement.c: (gst_element_get_bus):
8482           add debug
8483         * tools/gst-launch.c: (check_intr), (event_loop):
8484           fix bus leaks
8485
8486 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8487
8488         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8489           fix a caps leak
8490
8491 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8492
8493         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8494         (gst_base_src_finalize):
8495           add finalize method and clean up properly
8496         * gst/gstpipeline.c: (gst_pipeline_dispose):
8497           add debug
8498
8499 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8500
8501         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8502         (gst_bin_suite):
8503           add more things to check
8504         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8505         * gst/gstelement.c:
8506           more debug
8507
8508 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8509
8510         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8511         (GST_START_TEST), (fakesrc_suite):
8512         * check/gst-libs/gdp.c: (GST_START_TEST):
8513         * check/gst/gst.c: (GST_START_TEST):
8514         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8515         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8516         * check/gst/gstbus.c: (GST_START_TEST):
8517         * check/gst/gstcaps.c: (GST_START_TEST):
8518         * check/gst/gstdata.c: (GST_START_TEST):
8519         * check/gst/gstelement.c: (GST_START_TEST):
8520         * check/gst/gstghostpad.c: (GST_START_TEST):
8521         * check/gst/gstiterator.c: (GST_START_TEST):
8522         * check/gst/gstmessage.c: (GST_START_TEST):
8523         * check/gst/gstobject.c: (GST_START_TEST):
8524         * check/gst/gstpad.c: (GST_START_TEST):
8525         * check/gst/gststructure.c: (GST_START_TEST):
8526         * check/gst/gstsystemclock.c: (GST_START_TEST),
8527         (gst_systemclock_suite):
8528         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8529         * check/gst/gstvalue.c: (GST_START_TEST):
8530         * check/pipelines/cleanup.c: (GST_START_TEST):
8531         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8532         * check/states/sinks.c: (GST_START_TEST):
8533         * check/gstcheck.c: (gst_check_init):
8534         * check/gstcheck.h:
8535           add debugging category
8536           use GST_START_TEST now, so we add a debug line
8537
8538 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8539
8540         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8541           add test for state change message on a bin
8542         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8543           add another test
8544         * gst/gstbin.c: (gst_bin_init):
8545         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8546         * gst/gstelement.c: (gst_element_post_message),
8547         (gst_element_set_state):
8548         * gst/gstelementfactory.c: (gst_element_factory_create):
8549         * gst/gstmessage.c: (gst_message_new):
8550         * gst/gstscheduler.c:
8551           various debugging additions and cleanups
8552
8553 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         * check/Makefile.am:
8556         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8557         (main):
8558           adding tests for elements
8559         * gst/gstelement.c: (gst_element_dispose):
8560
8561 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8562
8563         * gst/registries/gstlibxmlregistry.c: (load_feature):
8564           plug more leaks.  A simple gst_init() now is leakfree, yay.
8565
8566 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8567
8568         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8569         (gst_xml_registry_load):
8570           plug another memleak
8571
8572 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8573
8574         * configure.ac:
8575           use GST_SET_ERROR_CFLAGS
8576         * docs/faq/cvs.xml:
8577           change to ERROR_CFLAGS
8578
8579 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8580
8581         * configure.ac:
8582           make GST_ERROR_CFLAGS overridable and re-enable Werror
8583         * docs/faq/cvs.xml:
8584           add a note about error CFLAGS
8585         * docs/gst/tmpl/gstfakesrc.sgml:
8586         * gst/elements/gstfakesrc.c:
8587           comment out some unused code
8588         * gst/gst.c: (split_and_iterate):
8589         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8590         (load_feature):
8591           plug some memleaks
8592
8593 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8594
8595         * common/Makefile.am:
8596         * common/gtk-doc.mak:
8597         * docs/gst/Makefile.am:
8598           factor out gtk-doc.mak
8599
8600 2005-07-07  Wim Taymans  <wim@fluendo.com>
8601
8602         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8603         (gst_thread_scheduler_dispose):
8604         Unlock the STREAM_LOCK completely.
8605
8606 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8607
8608         * check/Makefile.am:
8609         * check/elements/.cvsignore:
8610         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8611         (START_TEST), (fakesrc_suite), (main):
8612         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8613         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8614         (gst_fakesrc_create), (gst_fakesrc_start):
8615         * gst/elements/gstfakesrc.h:
8616           adding a first element test
8617
8618 2005-07-07  Andy Wingo  <wingo@pobox.com>
8619
8620         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8621         debug message.
8622
8623 2005-07-07  Wim Taymans  <wim@fluendo.com>
8624
8625         * gst/gstquery.c:
8626         * gst/gstquery.h:
8627         Remove old types
8628
8629 2005-07-07  Wim Taymans  <wim@fluendo.com>
8630
8631         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8632         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8633         Allow subclasses to implement their own negotiation.
8634
8635 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8636
8637         * docs/design/part-gstbin.txt:
8638         * docs/design/part-gstpipeline.txt:
8639           Update design notes to reflect the movement of
8640           responsibility for bus handling from GstPipeline to
8641           GstBin
8642
8643 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8644
8645         * configure.ac:
8646           Remove unnecessary queue2/3/4 examples.
8647
8648 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8649
8650         * examples/Makefile.am:
8651         * examples/helloworld/helloworld.c: (event_loop), (main):
8652         * examples/queue/queue.c: (event_loop), (main):
8653         * examples/queue2/queue2.c: (main):
8654           Update a couple of the examples to work again.
8655
8656         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8657         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8658          Spelling corrections and extra debug.
8659         
8660         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8661         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8662         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8663         * gst/gstbin.h:
8664         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8665         (gst_pipeline_change_state):
8666         * gst/gstpipeline.h:
8667           Move the bus handler for children to the GstBin, and create a
8668           separate bus for receiving messages from children to the one the
8669           bus sends 'upwards' on.
8670
8671 2005-07-06  Wim Taymans  <wim@fluendo.com>
8672
8673         * gst/base/README:
8674         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8675         (gst_base_sink_handle_object), (gst_base_sink_loop),
8676         (gst_base_sink_change_state):
8677         * gst/base/gstbasesink.h:
8678         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8679         (gst_base_src_init), (gst_base_src_setcaps),
8680         (gst_base_src_getcaps), (gst_base_src_loop),
8681         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8682         (gst_base_src_start), (gst_base_src_change_state):
8683         * gst/base/gstbasesrc.h:
8684         Make basesrc negotiate.
8685         Handle the case where preroll fails in basesink.
8686         Update README.
8687
8688 2005-07-06  Wim Taymans  <wim@fluendo.com>
8689
8690         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8691         Implement the fixate function.
8692         Clean up acceptcaps.
8693
8694 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8695
8696         * docs/pwg/building-filterfactory.xml:
8697         * docs/pwg/pwg.xml:
8698           Remove never-written filter-factory chapter; I'll add the various
8699           base classes to part 4 ("other element types") later on.
8700
8701 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8702
8703         * docs/pwg/advanced-negotiation.xml:
8704         * docs/pwg/building-boiler.xml:
8705         * docs/pwg/building-pads.xml:
8706         * docs/pwg/pwg.xml:
8707         * examples/pwg/Makefile.am:
8708           Add a chapter on caps negotiation, simplify the original code
8709           samples a bit w.r.t. caps negotiation, add link to the advanced
8710           section. Add a bunch of examples showing different use cases of
8711           different types of caps negotiation. Upstream renegotiation isn't
8712           fully documented yet since nobody knows how that works.
8713
8714 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8715
8716         * check/gst/gstpad.c:
8717         * check/gstcheck.c:
8718         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8719           if pad has no parent, return NULL as list of internal links
8720
8721 2005-07-05  Andy Wingo  <wingo@pobox.com>
8722
8723         * gst/elements/gstfilesrc.c:
8724         * gst/elements/gstfakesrc.c: 
8725         * gst/base/gstpushsrc.c:
8726         * gst/base/gstbasesrc.h: 
8727         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8728         
8729 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8730
8731         * Makefile.am:
8732           better report generation target (lcov needs a patch)
8733
8734 2005-07-05  Andy Wingo  <wingo@pobox.com>
8735
8736         * gst/elements, testsuite: Null if we got it...
8737
8738 2005-07-05  Wim Taymans  <wim@fluendo.com>
8739
8740         * configure.ac:
8741         * libs/gst/dataprotocol/Makefile.am:
8742         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8743         * libs/gst/dataprotocol/dataprotocol.h:
8744         * pkgconfig/Makefile.am:
8745         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8746         * pkgconfig/gstreamer-dataprotocol.pc.in:
8747         Ported dataprotol to 0.9. 
8748         Added pkgconfig files.
8749
8750 2005-07-05  Andy Wingo  <wingo@pobox.com>
8751
8752         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8753         Default to returning TRUE for the case when tranform_caps returns
8754         a fixed caps, like for identity or volume.
8755
8756         * check/gst/gstbus.c (pound_bus_with_messages): 
8757         * check/gst/gstmessage.c (START_TEST): 
8758         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8759         message API change.
8760
8761         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8762         logic weaks here: always run transform_caps, trying passthrough
8763         operation only if the original caps intersects with the transform.
8764
8765         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8766         source and sink caps.
8767
8768         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8769         Intersect the peer caps with the pad template before going into
8770         transform_caps.
8771         (gst_base_transform_transform_caps): More debugging.
8772
8773         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8774         src argument.
8775
8776 2005-07-04  Edward Hervey  <edward@fluendo.com>
8777
8778         * gst/gstutils.c:
8779         * gst/gstutils.h:
8780         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8781         in bindings.
8782
8783 2005-07-04  Andy Wingo  <wingo@pobox.com>
8784
8785         * check/gst/gstpad.c: Only set explicit caps on pads.
8786
8787 2005-07-01  Andy Wingo  <wingo@pobox.com>
8788
8789         * tests/network-clock.scm: Commentary update.
8790
8791         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8792         Didn't really make sense, not implementable with basetransform,
8793         etc.
8794         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8795         attempt at implementing the sync property, needs an unlock method.
8796
8797         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8798         New func, by default returns the same caps (the identity
8799         transformation).
8800         (gst_base_transform_getcaps): Uses transform_caps to return
8801         something sensible.
8802         (gst_base_transform_setcaps): Complicated logic to get caps on
8803         both pads, even if they are different, and to call set_caps once
8804         for every time both pads get their caps set.
8805         (gst_base_transform_handle_buffer): Give the ref to the transform
8806         function. Allows in-place modification of the buffer.
8807
8808         * gst/base/gstbasetransform.h (transform_caps): New class method.
8809         Given caps on one side, what can I do on the other.
8810         (set_caps): Take two caps, one for each side of the element.
8811
8812         * gst/gstpad.h:
8813         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8814         caps in place. This is safe because we can check the mutability of
8815         the caps, and a good idea because fixate functions are just called
8816         as a matter of last resort. (Not actually implemented.)
8817         (gst_pad_set_caps): If the caps we're setting is actually the same
8818         as the existing pad caps, just update the pointer without calling
8819         setcaps. Assert that caps is either NULL or fixed, as per the
8820         docs.
8821
8822         * gst/gstghostpad.c: Update for fixate changes.
8823
8824 2005-07-02  Andy Wingo  <wingo@pobox.com>
8825
8826         * gst/gstcaps.c:
8827         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8828         two refcounts makes it immutable, which is enough. Doc more.
8829
8830 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8831
8832         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8833           Put the mini_object into GValue as a mini_object,
8834           not a gpointer, since that's how we declared
8835           the signal.
8836
8837 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8838
8839         * examples/pwg/Makefile.am:
8840           Fix buildbot again.
8841
8842 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8843
8844         * docs/pwg/building-testapp.xml:
8845           Add extra check.
8846         * examples/pwg/Makefile.am:
8847           Fix buildbot.
8848
8849 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8850
8851         * configure.ac:
8852         * examples/Makefile.am:
8853         * examples/pwg/Makefile.am:
8854         * examples/pwg/extract.pl:
8855           Enable building the PWG examples.
8856         * docs/pwg/advanced-interfaces.xml:
8857           Add URI interface stub.
8858         * docs/pwg/advanced-types.xml:
8859         * docs/pwg/other-autoplugger.xml:
8860         * docs/pwg/appendix-porting.xml:
8861         * docs/pwg/pwg.xml:
8862           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8863         * docs/pwg/building-boiler.xml:
8864         * docs/pwg/building-chainfn.xml:
8865         * docs/pwg/building-pads.xml:
8866         * docs/pwg/building-props.xml:
8867         * docs/pwg/building-state.xml:
8868         * docs/pwg/building-testapp.xml:
8869           Update the building-*.xml parts for 0.9 changes. All examples
8870           code blocks compile in examples/pwg/*.
8871
8872 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8873
8874         * docs/manual/advanced-autoplugging.xml:
8875         * docs/manual/appendix-checklist.xml:
8876         * docs/manual/appendix-integration.xml:
8877         * docs/manual/highlevel-components.xml:
8878           Fix playbin/decodebin examples, update docs a bit, mention bus
8879           instead of signals in various places, mention kmplayer and
8880           kaffeine since they have a working GStreamer backend in the KDE
8881           section.
8882
8883 2005-06-30  Wim Taymans  <wim@fluendo.com>
8884
8885         * CHANGES-0.9:
8886         * docs/design/draft-ghostpads.txt:
8887         * docs/design/draft-push-pull.txt:
8888         * docs/design/draft-query.txt:
8889         * docs/design/part-TODO.txt:
8890         * docs/design/part-query.txt:
8891         Added CHANGES-0.9 doc, updated status of other docs.
8892         
8893         * gst/gstquery.h:
8894         Remove "hmm" macro
8895
8896 2005-06-30  Wim Taymans  <wim@fluendo.com>
8897
8898         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8899         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8900         (gst_base_sink_change_state):
8901         * gst/base/gstbasesink.h:
8902         Some tweaks, only EOS and a buffer complete a preroll.
8903
8904 2005-06-30  Andy Wingo  <wingo@pobox.com>
8905
8906         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8907         activate_push down to the internal pad as well.
8908
8909 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8910
8911         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8912
8913         * gst/gsttaginterface.c:
8914           Some documentation fixes (#307394 and #307397).
8915
8916 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8917
8918         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8919
8920         * gst/gstvalue.c: (gst_value_intersect_list):
8921           Fix memleak (#309125).
8922
8923 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8924
8925         * docs/manual/advanced-dataaccess.xml:
8926           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8927         * docs/manual/basics-pads.xml:
8928           Add reference for filtered caps to above chapter.
8929
8930 2005-06-30  Wim Taymans  <wim@fluendo.com>
8931
8932         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8933         (gst_bin_change_state):
8934         Probes are gone.
8935         Lame attempt at making the state change function a bit
8936         more readable.
8937
8938 2005-06-30  Wim Taymans  <wim@fluendo.com>
8939
8940         * docs/design/part-clocks.txt:
8941         * docs/design/part-element-sink.txt:
8942         * docs/design/part-events.txt:
8943         * docs/design/part-preroll.txt:
8944         * docs/design/part-states.txt:
8945         Some more tweeks and additions to the docs.
8946
8947 2005-06-30  Wim Taymans  <wim@fluendo.com>
8948
8949         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8950         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8951         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8952         (gst_pad_check_pull_range), (gst_pad_get_range),
8953         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8954         * gst/gstpad.h:
8955         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8956         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8957         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8958         (gst_pad_remove_buffer_probe):
8959         Removed atomic operations, use existing LOCK.
8960         Move exception handling out of main code path.
8961
8962 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8963
8964         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8965         (silly_return_true_function), (gst_pad_class_init),
8966         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8967         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8968         (gst_pad_send_event):
8969           Fix accumulator, add default value by using _emitv() instead
8970           of _emit() for signal emission.
8971
8972 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8973
8974         * docs/manual/advanced-dataaccess.xml:
8975         * examples/manual/Makefile.am:
8976           Add probe example.
8977         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8978           Make work (??).
8979
8980 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8981
8982         * gst/elements/gstfilesink.c: (gst_filesink_render):
8983           Simplify code so that we don't have to handle short
8984           writes and return GST_FLOW_ERROR if an error occured.
8985
8986 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8987
8988         * docs/gst/gstreamer-docs.sgml:
8989           Remove probes more.
8990
8991 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8992
8993         * docs/gst/gstreamer-sections.txt:
8994         * docs/gst/tmpl/gstpad.sgml:
8995         * docs/gst/tmpl/gstprobe.sgml:
8996         * gst/Makefile.am:
8997         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8998         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8999         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9000         (gst_pad_push_event), (gst_pad_send_event):
9001         * gst/gstpad.h:
9002         * gst/gstutils.c: (gst_pad_add_data_probe),
9003         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9004         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9005         (gst_pad_remove_buffer_probe):
9006         * gst/gstutils.h:
9007           Remove old probes, add new g-signal-based probes and some utility
9008           functions.
9009
9010 2005-06-29  Edward Hervey  <edward@fluendo.com>
9011
9012         * gst/gstelementfactory.c:
9013         * gst/gstutils.h:
9014         * gst/gstutils.c:
9015         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9016         the definition to the header file.
9017
9018 2005-06-29  Andy Wingo  <wingo@pobox.com>
9019
9020         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9021         plugins from the source directory.
9022
9023 2005-06-29  Wim Taymans  <wim@fluendo.com>
9024
9025         * docs/gst/tmpl/gstbuffer.sgml:
9026         * docs/gst/tmpl/gstclock.sgml:
9027         Some fixings for blantently wrong text.
9028
9029 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9030
9031         * check/Makefile.am:
9032         * gst/gst.c: (add_path_func), (init_pre):
9033         * gst/gstregistry.c: (gst_registry_add_path):
9034           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9035           only scan the GST_PLUGIN_PATH locations, and not add
9036           system locations
9037
9038 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9039
9040         * docs/gst/gstreamer-sections.txt:
9041         * docs/gst/tmpl/gstbasesrc.sgml:
9042         * gst/gstelement.c:
9043         * gst/gstelement.h:
9044         * gst/gstevent.c:
9045         * gst/gstutils.c:
9046           doc fixes
9047
9048 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9049
9050         * docs/manual/advanced-autoplugging.xml:
9051           Fix autoplugging example.
9052
9053 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9054
9055         * docs/manual/advanced-autoplugging.xml:
9056         * docs/manual/mime-world.fig:
9057           Try to get autoplugging working, fix type detection. Fix text
9058           in hello-world image.
9059
9060 2005-06-29  Wim Taymans  <wim@fluendo.com>
9061
9062         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9063         (gst_base_sink_change_state):
9064         Small debug line.
9065
9066         * gst/gstclock.h:
9067         map SIGNAL and BROADCAST to the right function.
9068
9069         * gst/gstobject.h:
9070         Remove redundant braces.
9071
9072         * gst/gstpad.c: (gst_pad_set_caps):
9073         Don't call setcaps function when reseting caps to NULL.
9074
9075         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9076         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9077         (gst_system_clock_id_unschedule):
9078         Use BROADCAST as this is what we do.
9079
9080 2005-06-29  Wim Taymans  <wim@fluendo.com>
9081
9082         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9083         We are actually prerolling before commiting the state
9084         change. 
9085
9086 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9087
9088         * docs/manual/advanced-clocks.xml:
9089         * docs/manual/advanced-interfaces.xml:
9090         * docs/manual/advanced-metadata.xml:
9091         * docs/manual/advanced-position.xml:
9092         * docs/manual/advanced-schedulers.xml:
9093         * docs/manual/advanced-threads.xml:
9094         * docs/manual/appendix-porting.xml:
9095         * docs/manual/basics-bins.xml:
9096         * docs/manual/basics-bus.xml:
9097         * docs/manual/basics-elements.xml:
9098         * docs/manual/basics-helloworld.xml:
9099         * docs/manual/basics-pads.xml:
9100         * docs/manual/highlevel-components.xml:
9101         * docs/manual/manual.xml:
9102         * docs/manual/thread.fig:
9103           Update (until threads/scheduling) Application Development Manual;
9104           remove GstThread, add GstBus, add simple porting checklist, add
9105           documentation for tag writing, clocks, make all examples until this
9106           part compile and run.
9107         * examples/manual/Makefile.am:
9108           Update from changes to Application Development Manual; add bus
9109           example, remove thread example.
9110
9111 2005-06-28  Wim Taymans  <wim@fluendo.com>
9112
9113         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9114         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9115         (gst_bus_source_dispatch):
9116         Add debugging messages.
9117         Make internal methods static.
9118         Handle the case where the bus is flushed in the handler.
9119         
9120         * gst/gstelement.c: (gst_element_get_bus):
9121         Fix refcount in _get_bus();
9122
9123         * gst/gstpipeline.c: (gst_pipeline_change_state),
9124         (gst_pipeline_get_clock_func):
9125         Clock refcounting fixes.
9126         Handle the case where preroll timed out more gracefully.
9127         
9128         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9129         Clean up the internal thread in dispose. This is needed
9130         for subclasses that actually get disposed.
9131         
9132         * gst/schedulers/threadscheduler.c:
9133         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9134         (gst_thread_scheduler_dispose):
9135         Free thread pool in dispose.
9136
9137 2005-06-28  Andy Wingo  <wingo@pobox.com>
9138
9139         * tests/network-clock-utils.scm (debug, print-event): New utils.
9140
9141         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9142         (*packet-loss*): Unified loss probability.
9143         (network-time): Report out-of-band events.
9144
9145         * tests/plot-data: Add support for out-of-band events. Hack it
9146         into this script instead of passing it down the pipe; should fix
9147         this later.
9148
9149 2005-06-28  Wim Taymans  <wim@fluendo.com>
9150
9151         * docs/gst/gstreamer.types:
9152         * docs/gst/tmpl/gstbasesrc.sgml:
9153         * docs/gst/tmpl/gstpad.sgml:
9154         Docs fixes.
9155
9156 2005-06-28  Wim Taymans  <wim@fluendo.com>
9157
9158         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9159         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9160         (gst_proxy_pad_do_fixatecaps):
9161         Correctly proxy the check_pull_range function.
9162
9163 2005-06-28  Andy Wingo  <wingo@pobox.com>
9164
9165         * tests/network-clock.scm: Removed need for slib.
9166         
9167 2005-06-28  Wim Taymans  <wim@fluendo.com>
9168
9169         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9170         (gst_basesink_preroll_queue_flush):
9171         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9172         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9173         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9174         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9175         (gst_proxy_pad_set_property):
9176         * gst/gstpad.c:
9177         * gst/gstpad.h:
9178         * gst/gstqueue.c: (gst_queue_init):
9179         The deprecated pad loop function is removed now.
9180
9181 2005-06-28  Andy Wingo  <wingo@pobox.com>
9182
9183         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9184         New parameters, simulate network packet loss.
9185
9186         * tests/network-clock-utils.scm: Initialize the RNG.
9187
9188 2005-06-28  Wim Taymans  <wim@fluendo.com>
9189
9190         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9191         (gst_basesink_event), (gst_basesink_deactivate):
9192         Flushing the preroll queue always needs to unlock the waiters.
9193
9194 2005-06-28  Edward Hervey  <edward@fluendo.com>
9195
9196         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9197         Wheen a seek was successful on a pipeline, set the stream_time to the
9198         seek offset in order to have a synchronized stream_time.
9199
9200 2005-06-28  Wim Taymans  <wim@fluendo.com>
9201
9202         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9203         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9204         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9205         (gst_proxy_pad_do_fixatecaps):
9206         Call wrapper function instead of just calling the function
9207         pointers. This takes care of any locking and whatmore.
9208
9209 2005-06-28  Wim Taymans  <wim@fluendo.com>
9210
9211         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9212         (gst_pad_pull_range):
9213         * gst/gstpad.h:
9214         CONNECTED -> LINKED.
9215
9216 2005-06-28  Andy Wingo  <wingo@pobox.com>
9217
9218         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9219         source-munging commit!!!
9220
9221         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9222         (gst_object_sink): Take gpointer arguments, not GstObject --
9223         avoids casts. Like GLib.
9224
9225         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9226         activate.
9227
9228 2005-06-27  Andy Wingo  <wingo@pobox.com>
9229
9230         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9231         remaining buffer.
9232
9233         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9234         returns a sorted copy of the trace list.
9235         (gst_alloc_trace_print_live): New API, only prints traces with
9236         live objects. Sort the list.
9237         (gst_alloc_trace_print_all): Sort the list.
9238         (gst_alloc_trace_print): Align columns.
9239
9240         * gst/elements/gstttypefindelement.c:
9241         * gst/elements/gsttee.c:
9242         * gst/base/gstbasesrc.c:
9243         * gst/base/gstbasesink.c:
9244         * gst/base/gstbasetransform.c:
9245         * gst/gstqueue.c: Adapt for pad activation changes.
9246
9247         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9248         sched.
9249         (gst_pipeline_dispose): Drop ref on sched.
9250
9251         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9252         (gst_pad_activate_default): Push mode by default.
9253         (pre_activate_switch, post_activate_switch): New stubs, things to
9254         do before and after switching activation modes on pads.
9255         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9256         the pad's activate function to choose which mode to activate.
9257         Shortcut on deactivation and call the right function directly.
9258         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9259         mode.
9260         (gst_pad_activate_push): New API, same for push mode.
9261         (gst_pad_set_activate_function) 
9262         (gst_pad_set_activatepull_function) 
9263         (gst_pad_set_activatepush_function): Setters for new API.
9264
9265         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9266         Trace all miniobjects.
9267         (gst_mini_object_make_writable): Unref the arg if we copy, like
9268         gst_caps_make_writable.
9269
9270         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9271
9272         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9273         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9274         Adapt for new pad API.
9275
9276         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9277
9278         * gst/gstelement.h:
9279         * gst/gstelement.c (gst_element_iterate_src_pads) 
9280         (gst_element_iterate_sink_pads): New API functions.
9281         
9282         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9283         should fold into gstiterator.c in some form.
9284         (gst_element_pads_activate): Simplified via use of fold and
9285         delegation of decisions to gstpad->activate.
9286
9287         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9288         help in debugging.
9289
9290         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9291         class once in init, like gstmessage. Didn't run into this issue
9292         but it seems correct. Don't initialize a trace, gstminiobject does
9293         that.
9294
9295         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9296         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9297         to the bus.
9298         (assert_live_count): New util function, uses alloc traces to check
9299         cleanup.
9300
9301         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9302         To be modified when unlink drops the internal pad.
9303
9304 2005-06-27  Wim Taymans  <wim@fluendo.com>
9305
9306         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9307         (gst_bin_change_state):
9308         Cleanup the get_state() function a little, make sure it
9309         iterates the same set of elements.
9310         Added stub iterate_state_order().
9311
9312 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9313
9314         * docs/gst/gstreamer-docs.sgml:
9315         * docs/gst/gstreamer-sections.txt:
9316         * docs/gst/gstreamer.types:
9317         * docs/gst/tmpl/gstbasesink.sgml:
9318         * docs/gst/tmpl/gstbasesrc.sgml:
9319         * docs/gst/tmpl/gstbasetransform.sgml:
9320         * docs/gst/tmpl/gstelement.sgml:
9321         * docs/gst/tmpl/gstiterator.sgml:
9322         * gst/base/gstbasesrc.c:
9323         * gst/base/gstbasesrc.h:
9324         * gst/base/gstbasetransform.h:
9325         * gst/gstelement.c:
9326         * gst/gstiterator.h:
9327           adding basetransform and iterator docs
9328
9329 2005-06-27  Andy Wingo  <wingo@pobox.com>
9330
9331         * docs/design/part-activation.txt: Notes on how activation should
9332         work -- not quite implemented yet.
9333
9334 2005-06-25  Wim Taymans  <wim@fluendo.com>
9335
9336         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9337         At least get the chain function correct, needs more
9338         fixing.
9339
9340 2005-06-25  Wim Taymans  <wim@fluendo.com>
9341
9342         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9343         (gst_basesink_handle_object), (gst_basesink_event),
9344         (gst_basesink_do_sync), (gst_basesink_handle_event),
9345         (gst_basesink_change_state):
9346         * gst/gsttask.h:
9347         Right, two problems here: ghostpads don't take locks and
9348         glib _rec_mutex_lock_full() with depth==0 still locks.
9349         Catch illegal locking and g_warn them.
9350
9351 2005-06-25  Wim Taymans  <wim@fluendo.com>
9352
9353         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9354         Have to check for completion now...
9355
9356 2005-06-25  Wim Taymans  <wim@fluendo.com>
9357
9358         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9359         (gst_basesink_handle_object), (gst_basesink_event),
9360         (gst_basesink_do_sync), (gst_basesink_handle_event),
9361         (gst_basesink_change_state):
9362         * gst/gstpad.h:
9363         Unlock STREAM_LOCK whatever the recursion was.
9364
9365 2005-06-25  Wim Taymans  <wim@fluendo.com>
9366
9367         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9368         (gst_basesink_preroll_queue_empty),
9369         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9370         (gst_basesink_event), (gst_basesink_do_sync),
9371         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9372         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9373         (gst_basesink_change_state):
9374         Reworked the base sink, handle event and buffer serialisation
9375         correctly and removed possible deadlock.
9376         Handle EOS correctly.
9377
9378 2005-06-25  Wim Taymans  <wim@fluendo.com>
9379
9380         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9381         (gst_pipeline_change_state):
9382         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9383         Allow elements to post EOS in the state change function.
9384         Fix up -launch, make it exit the poll loop when the
9385         pipeline actually changed state.
9386         Fix up warning parsing in -launch.
9387
9388 2005-06-25  Wim Taymans  <wim@fluendo.com>
9389
9390         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9391         (gst_tee_sink_activate):
9392         Core takes STREAM_LOCK for us now.
9393
9394 2005-06-25  Wim Taymans  <wim@fluendo.com>
9395
9396         * gst/gstelement.c: (gst_element_get_state_func),
9397         (gst_element_set_state):
9398         * gst/gstelement.h:
9399         * gst/gstmessage.c: (gst_message_parse_error),
9400         (gst_message_parse_warning):
9401         Keep track of current target state while performing a state
9402         change so that subclasses can do something interesting.
9403         Fix parsing of warning/error messages when GError is NULL.
9404
9405 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9406
9407         * docs/gst/Makefile.am:
9408         * docs/gst/gstreamer-docs.sgml:
9409         * docs/gst/gstreamer-sections.txt:
9410         * docs/gst/gstreamer.types:
9411         * docs/gst/tmpl/gstbasesink.sgml:
9412         * docs/gst/tmpl/gstbasesrc.sgml:
9413         * docs/gst/tmpl/gstbin.sgml:
9414         * docs/gst/tmpl/gstcompat.sgml:
9415         * docs/gst/tmpl/gstfakesink.sgml:
9416         * docs/gst/tmpl/gstfakesrc.sgml:
9417         * docs/gst/tmpl/gstfilesink.sgml:
9418         * docs/gst/tmpl/gstfilesrc.sgml:
9419         * docs/gst/tmpl/gstindex.sgml:
9420         * docs/manual/appendix-quotes.xml:
9421         * gst/base/gstbasesrc.h:
9422         * gst/elements/gstfakesrc.h:
9423         * gst/gstmessage.h:
9424           start pulling in base classes and elements in our docs
9425
9426 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9427
9428         * docs/gst/Makefile.am:
9429         * docs/libs/Makefile.am:
9430           fixed make distcheck with gtk-doc 1.3
9431
9432 2005-06-23  Wim Taymans  <wim@fluendo.com>
9433
9434         * gst/gstelement.c: (gst_element_get_state_func),
9435         (gst_element_set_state), (gst_element_change_state):
9436         When the state did not change, also report NO_PREROLL
9437         when it matters.
9438
9439 2005-06-23  Wim Taymans  <wim@fluendo.com>
9440
9441         * gst/gstpad.c: (gst_pad_event_default):
9442         * gst/gstqueue.c: (gst_queue_loop):
9443         No unsafe task pausing please.
9444
9445 2005-06-23  Wim Taymans  <wim@fluendo.com>
9446
9447         * gst/schedulers/threadscheduler.c:
9448         (gst_thread_scheduler_task_start),
9449         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9450         Ref the task before pushing it on the threadpool. This
9451         makes sure that we have a ref when the threadfunction is
9452         actually called.
9453
9454 2005-06-23  Andy Wingo  <wingo@pobox.com>
9455
9456         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9457         offset is greater than the file's size.
9458
9459         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9460         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9461         * gst/gstobject.c (gst_object_class_init): Make the class lock
9462         recursive. Wim won't let me drop deep_notify. Decodebin works
9463         again, whoopdy doo.
9464
9465         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9466         internal pad, and hacks accordingly. Doesn't do it on the target
9467         pad because we change its caps. Probably catches all cases of
9468         interest tho.
9469         (gst_ghost_pad_set_property): Connect to notify::caps as
9470         appropritate.
9471
9472         * tests/network-clock.scm (plot-simulation): Pipe data to the
9473         elite python skript.
9474
9475         * tests/network-clock-utils.scm (define-parameter): New macro,
9476         defines a parameter that can be set via the command line.
9477         (set-parameter!, parse-parameter-arguments): Command line args
9478         parser.
9479
9480         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9481         stdin.
9482
9483 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9484
9485         * gst/elements/gsttypefindelement.c:
9486         (gst_type_find_element_handle_event):
9487           Don't restart typefinding on a discont.
9488         * gst/gstelement.c: (gst_element_set_state):
9489           Debug spelling fix.
9490         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9491           Allow changing mode of an active pad.
9492           Debug output fixes.
9493         * gst/registries/gstlibxmlregistry.c: (load_feature):
9494           Don't cast a static pad template to a normal pad template.
9495
9496 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9497
9498         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9499         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9500           remove gst_strtoll completely, since it didn't actually do
9501           anything more than what g_ascii_strtoull already does.
9502           check for range errors when deserializing
9503           do a cast for the unsigned cases; but further fixing needs
9504           a decision on what the interpretation of "(int)" and
9505           deserialization should be for values that fall outside the
9506           type's boundaries (ie, refuse, or interpret as casting)
9507
9508 2005-06-23  Wim Taymans  <wim@fluendo.com>
9509
9510         * check/Makefile.am:
9511         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9512         * docs/design/part-live-source.txt:
9513         * docs/design/part-states.txt:
9514         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9515         (gst_basesrc_set_live), (gst_basesrc_is_live),
9516         (gst_basesrc_get_range), (gst_basesrc_activate),
9517         (gst_basesrc_change_state):
9518         * gst/base/gstbasesrc.h:
9519         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9520         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9521         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9522         * gst/gstelement.c: (gst_element_get_state_func),
9523         (gst_element_set_state):
9524         * gst/gstelement.h:
9525         * gst/gsttypes.h:
9526         * tools/gst-launch.c: (event_loop), (main):
9527         Added support for live sources and other elements that
9528         cannot do preroll.
9529         Updated design docs, added live-source design doc.
9530         Implemented live source functionality in basesrc
9531         Fix error condition in _bin_get_state()
9532         Implement live source handling in -launch.
9533         Added check for live sources.
9534         Fixed case in GstBin where elements were changed state
9535         multiple times.
9536
9537
9538 2005-06-23  Andy Wingo  <wingo@pobox.com>
9539
9540         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9541         borken refcounting.
9542
9543         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9544         gst_caps_replace takes care of this for us.
9545
9546         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9547         gst_pad_set_caps on the target, not just its setcaps() function.
9548
9549         * tests/network-clock.scm: 
9550         * tests/network-clock-utils.scm: A network clock simulator.
9551         Something of an algorithmic testbed before doing something in C.
9552
9553 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9554
9555         * check/Makefile.am:
9556         * check/gst/capslist.h:
9557           copy over from 0.8, and add two with bitmasks specified with
9558           (int) 0xFF...
9559         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9560           add test to parse everything from capslist.h
9561         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9562         (main):
9563           add test for structure deserialization
9564         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9565           add tests for deserialization of strings to int types
9566         * gst/gststructure.c: (gst_structure_nth_field_name):
9567         * gst/gststructure.h:
9568           add a way to get the name of a field referenced by index
9569         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9570           instead of checking if the resulting long long lies between
9571           min and max, we check if the long long would fit into
9572           a number of bytes for the final type.
9573           This fixes cases where a string represents 2^32 - 1, which
9574           when cast to int would be the (valid) -1, but is bigger than
9575           G_MAXINT
9576
9577 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9578
9579         * gst/parse/grammar.y:
9580           add a log line for type deserialization
9581
9582 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9583
9584         * check/gst/gstvalue.c: (START_TEST):
9585         * gst/gstvalue.c: (gst_value_deserialize):
9586           return long long, not int, so gint64 deserialization actually
9587           works.  Is there any flag that makes the compiler check this ?
9588           Fixes #308559
9589
9590 2005-06-22  Wim Taymans  <wim@fluendo.com>
9591
9592         * gst/gstbuffer.h:
9593         Added convenience macros for setting buffers in GValue.
9594
9595 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9596
9597         * check/gst/.cvsignore:
9598         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9599           add a test deserializing int64, and comment part out because
9600           it fails, yay !
9601
9602 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9603
9604         * check/Makefile.am:
9605         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9606         * testsuite/Makefile.am:
9607         * testsuite/caps/Makefile.am:
9608         * testsuite/caps/value_serialize.c:
9609         * testsuite/test_gst_init.c:
9610           move a value_serialize test over
9611
9612 2005-06-20  Wim Taymans  <wim@fluendo.com>
9613
9614         * gst/gstpad.c:
9615         Small doc updates.
9616         
9617         * gst/gstvalue.c: (gst_value_compare_buffer),
9618         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9619         (gst_value_compare_flags), (gst_value_serialize_flags),
9620         (gst_value_deserialize_flags), (_gst_value_initialize):
9621         Fix serialisation of buffers, they are not boxed types anymore
9622
9623 2005-06-20  Wim Taymans  <wim@fluendo.com>
9624
9625         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9626         Testcase to show error in buffer-on-caps serialisation.
9627
9628 2005-06-20  Andy Wingo  <wingo@pobox.com>
9629
9630         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9631         will be adding to later.
9632
9633         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9634         if its socks fill with rocks.
9635         (gst_system_clock_obtain): Set the name on object construction.
9636         Avoid double-checked locking.
9637
9638 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9639
9640         * gst/gsturi.c: (gst_element_make_from_uri):
9641           Fix potential endless loop.
9642
9643 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9644
9645         * check/Makefile.am:
9646           add gsttag
9647         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9648         (main):
9649           move over from testsuite dir and clean up
9650         * configure.ac:
9651         * gst/gsttag.c:
9652         * testsuite/Makefile.am:
9653         * testsuite/tags/.cvsignore:
9654         * testsuite/tags/Makefile.am:
9655         * testsuite/tags/merge.c:
9656           remove testsuite/tags
9657
9658 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9659
9660         * docs/gst/gstreamer-sections.txt:
9661         * docs/gst/tmpl/gstenumtypes.sgml:
9662         * win32/gstenumtypes.c:
9663           clean up documentation build a little
9664
9665 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * check/gstcheck.h:
9668           add macros for checking refcounts on objects and caps
9669         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9670           add some more unit tests
9671         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9672         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9673           fix leaked refcounts (I hope :)) so unittest works
9674         * gst/gstpad.h:
9675           whitespace removal
9676
9677 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9678
9679         * configure.ac: back to HEAD
9680
9681 === release 0.9.1 ===
9682
9683 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9684
9685         * NEWS:
9686         * RELEASE:
9687           updated
9688
9689 2005-06-17  Andy Wingo  <wingo@pobox.com>
9690
9691         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9692         assert; it's always possible that the pad gets deactivated in
9693         between the checks in gstpad.c and the implementation. Rely on
9694         finish_preroll() to return a FLUSHING or similar instead of on the
9695         assert.
9696         
9697         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9698         clock and post an EOS message if we come out of finish_preroll in
9699         the playing state.
9700
9701 2005-06-16  David Schleef  <ds@schleef.org>
9702
9703         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9704         (gst_capsfilter_set_property): Allow NULL as possible value
9705         for filter_caps property, indicating GST_CAPS_ANY.
9706
9707 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9710           fix debug output
9711         * gst/schedulers/Makefile.am:
9712           use libgst prefix
9713         * gstreamer.spec.in:
9714           fix spec for it
9715
9716 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * gstreamer.spec.in:
9719           clean up
9720
9721 2005-06-08  Andy Wingo  <wingo@pobox.com>
9722
9723         * gst/gstutils.c: RPAD fixes all around.
9724         (gst_element_link_pads): Refcounting fixes.
9725
9726         * tools/gst-inspect.c:
9727         * tools/gst-xmlinspect.c:
9728         * parse/grammar.y:
9729         * gst/base/gsttypefindhelper.c:
9730         * gst/base/gstbasesink.c:
9731         * gst/gstqueue.c: RPAD fixes.
9732
9733         * gst/gstghostpad.h:
9734         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9735         pads. The tricky thing is they provide both source and sink
9736         interfaces, since they proxy the internal pad for the external
9737         pad, and vice versa. Implement with lower-level ProxyPad objects,
9738         with the interior proxy pad as a child of the exterior ghost pad.
9739         Should write a doc on this.
9740         
9741         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9742         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9743         gst_object API.
9744         
9745         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9746         pads are real pads. No ghost pads in this file. Not documenting
9747         the myriad s/RPAD/PAD/ and REALIZE fixes.
9748         (gst_pad_class_init): Add properties for "direction" and
9749         "template". Both are construct-only, so they can't change during
9750         the life of the pad. Fixes properly deriving from GstPad.
9751         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9752         derived objects, just set properties when creating the objects via
9753         g_object_new.
9754         (gst_pad_get_parent): Implement as a function, return NULL if the
9755         parent is not an element.
9756         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9757         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9758         
9759         * gst/gstobject.c (gst_object_class_init): Make name a construct
9760         property. Don't set it in the object init.
9761
9762         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9763         with UNKNOWN direction.
9764         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9765         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9766         (gst_element_remove_pad): Remove ghost-pad special cases.
9767         (gst_element_pads_activate): Remove rpad cruft.
9768
9769         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9770         catch the pad's-parent-not-an-element case.
9771
9772         * gst/gst.h: Include gstghostpad.h.
9773
9774         * gst/gst.c (init_post): No more real, ghost pads.
9775
9776         * gst/Makefile.am: Add gstghostpad.[ch].
9777
9778         * check/Makefile.am:
9779         * check/gst/gstbin.c:
9780         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9781         into a bin creates ghost pads, and that the refcounts are right.
9782         Partly moved from gstbin.c.
9783
9784 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9785
9786         * check/gst-libs/.cvsignore:
9787         * check/gst/.cvsignore:
9788         * check/pipelines/.cvsignore:
9789           ignore more
9790         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9791         (START_TEST), (cleanup_suite), (main):
9792           add some tests related to cleanup after running pipelines
9793
9794 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9795
9796         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9797           add a testsuite for GstBuffer
9798
9799 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9800
9801         * gst/gstminiobject.h:
9802           add defines for accessing the refcount
9803
9804 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9805
9806         * Makefile.am: added support for html unit test coverage reports
9807
9808 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9809
9810         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9811           Free existing caps if the capsfilter changes. Add a FIXME about
9812           setting those caps on the pads.
9813
9814         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9815           Before adding a ghost pad to a parent bin, check that there isn't
9816           already one for the element on the bin. Prevents infinite recursion
9817           when using decodebin in parse pipelines. Andy says he'll rewrite the
9818           way this works anyway, so ignore the hack.
9819
9820 2005-06-02  Andy Wingo  <wingo@pobox.com>
9821
9822         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9823         file size, pass it on to the type find helper.
9824
9825         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9826         segment_start and segment_end properly according to the seek
9827         method. Segment_end is still a bit flaky because offset can be
9828         negative for CUR and END cases, but it takes -1 as an "unset"
9829         value.
9830
9831 2005-06-02  Wim Taymans  <wim@fluendo.com>
9832
9833         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9834         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9835         (gst_basesink_activate):
9836         * gst/base/gstbasesink.h:
9837         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9838         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9839         (gst_pad_query), (gst_pad_start_task):
9840         * gst/gstpad.h:
9841         * gst/gstqueue.c: (gst_queue_bufferalloc),
9842         (gst_queue_handle_sink_event), (gst_queue_chain):
9843         Bufferalloc: return GstFlowReturn to more accuratly report
9844         why allocation failed.
9845
9846 2005-06-02  Wim Taymans  <wim@fluendo.com>
9847
9848         * gst/gstpipeline.c: (gst_pipeline_send_event):
9849         Take snapshot of state without blocking.
9850
9851 2005-06-02  Wim Taymans  <wim@fluendo.com>
9852
9853         * docs/design/part-TODO.txt:
9854         * docs/design/part-caps.txt:
9855         * docs/design/part-clocks.txt:
9856         * docs/design/part-negotiation.txt:
9857         * docs/design/part-preroll.txt:
9858         Small doc updates 
9859
9860 2005-05-30  Wim Taymans  <wim@fluendo.com>
9861
9862         * gst/elements/gstidentity.c: (gst_identity_event),
9863         (gst_identity_transform), (gst_identity_get_property):
9864         Protect last_message property as it is accessed from
9865         multiple threads.
9866
9867 2005-05-30  Wim Taymans  <wim@fluendo.com>
9868
9869         * gst/gstelement.c: (gst_element_init),
9870         (gst_element_pads_activate), (gst_element_change_state):
9871         Slicker pad activation code.
9872
9873 2005-05-30  Wim Taymans  <wim@fluendo.com>
9874
9875         * gst/Makefile.am:
9876         * gst/gstelement.h:
9877         * gst/gstelementfactory.h:
9878         * gst/gsttypes.h:
9879         Move elementfactory methods to separate .h file.
9880
9881 2005-05-30  Wim Taymans  <wim@fluendo.com>
9882
9883         * docs/design/part-overview.txt:
9884         * gst/gstsystemclock.h:
9885         Small typo fixes, doc updates.
9886
9887 2005-05-30  Wim Taymans  <wim@fluendo.com>
9888
9889         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9890         (init_popt_callback):
9891         Remove cpu-opt flag.
9892
9893 2005-05-30  Wim Taymans  <wim@fluendo.com>
9894
9895         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9896         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9897         * gst/gstbuffer.h:
9898         Avoid typechecking in places where not needed.
9899         Added accessor for malloc_data.
9900
9901 2005-05-30  Wim Taymans  <wim@fluendo.com>
9902
9903         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9904         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9905         (gst_pad_configure_sink), (gst_pad_configure_src),
9906         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9907         (gst_pad_start_task):
9908         Propagate errors from _set_caps() in configure_src/sink
9909         functions instead of returning TRUE.
9910         FLUSH events can travel up and downstream
9911
9912
9913 2005-05-30  Wim Taymans  <wim@fluendo.com>
9914
9915         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9916         (gst_basesink_activate):
9917         Handle EOS in preroll.
9918
9919 2005-05-30  Wim Taymans  <wim@fluendo.com>
9920
9921         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9922         (gst_queue_loop), (gst_queue_handle_src_event):
9923         Remove old pieces of code
9924         Flushing the queue in an upstream event is a very bad idea.
9925
9926 2005-05-26  Andy Wingo  <wingo@pobox.com>
9927
9928         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9929         gst_value_set_mini_object so as to add a ref on the object (which
9930         will be removed when the value is unset).
9931
9932         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9933         arg type in ::handoff.
9934
9935         * gst/gstelement.c (gst_element_change_state): Also deactivate
9936         pads in READY->NULL, just in case the element didn't make it to
9937         PAUSED. Wingo tested, Wim approved.
9938
9939 2005-05-26  Wim Taymans  <wim@fluendo.com>
9940
9941         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9942         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9943         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9944         A flushing pad cannot be used to alloc_buffer from.
9945
9946 2005-05-26  Wim Taymans  <wim@fluendo.com>
9947
9948         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9949         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9950         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9951         (gst_bus_create_watch), (gst_bus_add_watch_full):
9952         * gst/gstbus.h:
9953         Implement a real GSource and use g_main_context_wakeup() to
9954         signal new messages instead of the socketpair.
9955
9956 2005-05-25  Wim Taymans  <wim@fluendo.com>
9957
9958         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9959         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9960         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9961         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9962         (gst_pad_send_event), (gst_pad_start_task):
9963         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9964         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9965         (gst_queue_sink_activate), (gst_queue_src_activate),
9966         (gst_queue_change_state):
9967         * gst/gstqueue.h:
9968         Fix state changes for non sinks. We now change sinks, then elements
9969         with unconnected srcpads, then the rest.
9970         More efficient queue unlocking in flush and state changes.
9971         Set the pad activate mode even if it does not have an activate
9972         function.
9973
9974 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9975
9976         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9977           Don't go in pull mode for non-seekable sources.
9978         * gst/elements/gsttypefindelement.h:
9979         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9980         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9981         (free_entry), (stop_typefinding),
9982         (gst_type_find_element_handle_event), (find_peek),
9983         (gst_type_find_element_chain), (do_pull_typefind),
9984         (gst_type_find_element_change_state):
9985           Allow typefinding (w/o seeking) in push-mode, simplified version
9986           of what was in 0.8.
9987         * gst/gstutils.c: (gst_buffer_join):
9988         * gst/gstutils.h:
9989           gst_buffer_join() from 0.8.
9990
9991 2005-05-25  Wim Taymans  <wim@fluendo.com>
9992
9993         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9994         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9995         (gst_pad_send_event), (gst_pad_start_task):
9996         Disable attempt at mode switching until it is figured out.
9997
9998 2005-05-25  Wim Taymans  <wim@fluendo.com>
9999
10000         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10001         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10002         (gst_basesink_finish_preroll), (gst_basesink_chain),
10003         (gst_basesink_loop), (gst_basesink_activate),
10004         (gst_basesink_change_state):
10005         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10006         (gst_basesrc_get_range), (gst_basesrc_loop),
10007         (gst_basesrc_activate):
10008         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10009         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10010         (gst_real_pad_init), (gst_real_pad_set_property),
10011         (gst_real_pad_get_property), (gst_pad_set_active),
10012         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10013         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10014         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10015         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10016         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10017         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10018         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10019         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10020         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10021         (gst_pad_stop_task):
10022         * gst/gstpad.h:
10023         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10024         (gst_queue_loop), (gst_queue_src_activate):
10025         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10026         (gst_task_get_state):
10027         * gst/gsttask.h:
10028         * gst/schedulers/threadscheduler.c:
10029         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10030         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10031         in task function.
10032         Remove ACTIVE pad flag, use FLUSHING everywhere
10033         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10034         functions.
10035         Add locks around IS_FLUSHING when reading.
10036         Take STREAM lock in chain(), get_range() functions so plugins
10037         don't need to take it anymore.
10038         
10039
10040
10041 2005-05-25  Wim Taymans  <wim@fluendo.com>
10042
10043         * tools/gst-launch.c: (event_loop):
10044         Unref message after using its contents instead of
10045         before.
10046
10047 2005-05-24  Wim Taymans  <wim@fluendo.com>
10048
10049         * docs/design/draft-ghostpads.txt:
10050         * docs/design/draft-push-pull.txt:
10051         * docs/design/draft-query.txt:
10052         * docs/design/part-overview.txt:
10053         Docs updates, added general overview doc.
10054
10055 2005-05-21  David Schleef  <ds@schleef.org>
10056
10057         * docs/gst/tmpl/old/GstBin.sgml:
10058         * docs/gst/tmpl/old/GstBuffer.sgml:
10059         * docs/gst/tmpl/old/GstCaps.sgml:
10060         * docs/gst/tmpl/old/GstClock.sgml:
10061         * docs/gst/tmpl/old/GstCompat.sgml:
10062         * docs/gst/tmpl/old/GstData.sgml:
10063         * docs/gst/tmpl/old/GstElement.sgml:
10064         * docs/gst/tmpl/old/GstEvent.sgml:
10065         * docs/gst/tmpl/old/GstIndex.sgml:
10066         * docs/gst/tmpl/old/GstStructure.sgml:
10067         * docs/gst/tmpl/old/GstTag.sgml:
10068         * docs/gst/tmpl/old/cothreads.sgml:
10069         * docs/gst/tmpl/old/cothreads_compat.sgml:
10070         * docs/gst/tmpl/old/gettext.sgml:
10071         * docs/gst/tmpl/old/gobject2gtk.sgml:
10072         * docs/gst/tmpl/old/grammar.tab.sgml:
10073         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10074         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10075         * docs/gst/tmpl/old/gst_private.sgml:
10076         * docs/gst/tmpl/old/gstaggregator.sgml:
10077         * docs/gst/tmpl/old/gstarch.sgml:
10078         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10079         * docs/gst/tmpl/old/gstbufferstore.sgml:
10080         * docs/gst/tmpl/old/gstdata_private.sgml:
10081         * docs/gst/tmpl/old/gstdisksink.sgml:
10082         * docs/gst/tmpl/old/gstdisksrc.sgml:
10083         * docs/gst/tmpl/old/gstelementfactory.sgml:
10084         * docs/gst/tmpl/old/gstextratypes.sgml:
10085         * docs/gst/tmpl/old/gstfakesink.sgml:
10086         * docs/gst/tmpl/old/gstfakesrc.sgml:
10087         * docs/gst/tmpl/old/gstfdsink.sgml:
10088         * docs/gst/tmpl/old/gstfdsrc.sgml:
10089         * docs/gst/tmpl/old/gstfilesink.sgml:
10090         * docs/gst/tmpl/old/gstfilesrc.sgml:
10091         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10092         * docs/gst/tmpl/old/gstidentity.sgml:
10093         * docs/gst/tmpl/old/gstindexfactory.sgml:
10094         * docs/gst/tmpl/old/gstmarshal.sgml:
10095         * docs/gst/tmpl/old/gstmd5sink.sgml:
10096         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10097         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10098         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10099         * docs/gst/tmpl/old/gstpipefilter.sgml:
10100         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10101         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10102         * docs/gst/tmpl/old/gstshaper.sgml:
10103         * docs/gst/tmpl/old/gstspider.sgml:
10104         * docs/gst/tmpl/old/gstspideridentity.sgml:
10105         * docs/gst/tmpl/old/gststatistics.sgml:
10106         * docs/gst/tmpl/old/gsttee.sgml:
10107         * docs/gst/tmpl/old/gsttimecache.sgml:
10108         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10109         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10110         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10111         * docs/gst/tmpl/old/types.sgml:
10112           I didn't intend to add these or check them in.
10113
10114 2005-05-19  David Schleef  <ds@schleef.org>
10115
10116         * configure.ac: Use -no-common everywhere.  In a sane world, it
10117           would be the default in libtool, because without it, you can't
10118           build DLLs on Windows.
10119         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10120         * docs/gst/gstreamer-sections.txt:
10121         * docs/gst/tmpl/gstcpu.sgml:
10122         * docs/gst/tmpl/gstdata.sgml:
10123         * docs/gst/tmpl/gstthread.sgml:
10124
10125 2005-05-19  David Schleef  <ds@schleef.org>
10126
10127         * gst/gstminiobject.c: (gst_value_set_mini_object),
10128         (gst_value_take_mini_object), (gst_value_get_mini_object):
10129         * gst/gstminiobject.h: Add GValue set/get functions.
10130
10131 2005-05-19  Wim Taymans  <wim@fluendo.com>
10132
10133         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10134         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10135         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10136         * gst/gstbuffer.h:
10137         * gst/gstbus.c: (gst_bus_post):
10138         * gst/gstelement.c: (gst_element_get_random_pad):
10139         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10140         Make subbufer unref the parent in finalize.
10141         some more debugging info.
10142
10143
10144 2005-05-19  Wim Taymans  <wim@fluendo.com>
10145
10146         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10147         (gst_basesink_init), (gst_basesink_finalize),
10148         (gst_basesink_activate), (gst_basesink_change_state):
10149         Don't free preroll queue too early.
10150
10151 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10152
10153         * gst/Makefile.am:
10154         * gst/ROADMAP:
10155           Hi, I'm outdated. Please shoot me.
10156
10157 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10158
10159         * gst/gstpipeline.c: (gst_pipeline_send_event):
10160           Do not access variables after they have been deleted.
10161
10162 2005-05-19  Wim Taymans  <wim@fluendo.com>
10163
10164         * tools/gst-inspect.c: (print_plugin_features):
10165         A plugin feature does unfortunatly not use the
10166         object name yet...
10167
10168 2005-05-18  Wim Taymans  <wim@fluendo.com>
10169
10170         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10171         Port _span() functions to new subbuffers.
10172
10173 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10174
10175         * gst/gstbin.c: (gst_bin_add_func):
10176           Fix clock settery in bins when adding kids after the clock has
10177           been selected.
10178
10179 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10180
10181         * gst/elements/gstidentity.c: (gst_identity_class_init):
10182           Workaround until signals support GstMiniObject.
10183
10184 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10185
10186         * gst/gstbuffer.c:
10187         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10188
10189 2005-05-18  Wim Taymans  <wim@fluendo.com>
10190
10191         * gst/base/Makefile.am:
10192         * gst/base/gstadapter.c: (gst_adapter_base_init),
10193         (gst_adapter_class_init), (gst_adapter_init),
10194         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10195         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10196         (gst_adapter_flush), (gst_adapter_available),
10197         (gst_adapter_available_fast):
10198         * gst/base/gstadapter.h:
10199         Ported and added adapter to the base classes.
10200
10201 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10202
10203         * gst/gst.c:
10204         * gst/gstmessage.c:
10205           Make sure the class is reffed/unreffed once before threads can be
10206           used.  Fixes #304551.
10207
10208 2005-05-17  Wim Taymans  <wim@fluendo.com>
10209
10210         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10211         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10212         * gst/gstminiobject.c: (gst_mini_object_get_type),
10213         (gst_mini_object_free):
10214         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10215         (gst_pad_push), (gst_pad_push_event):
10216         * gst/gstqueue.c: (gst_queue_change_state):
10217         Don't queue buffers in basesink when we are flushing.
10218         Unref buffer when flushing in basesink.
10219         Flush queue when going to READY
10220         Unref buffer when _push() returns an error.
10221         Don't free MiniObject instance when refcount is incremented
10222         in _finalize() so that we can recover objects.
10223
10224 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10225
10226         * docs/manual/advanced-schedulers.xml:
10227         * docs/manual/appendix-checklist.xml:
10228         * docs/pwg/advanced-clock.xml:
10229         * docs/pwg/advanced-interfaces.xml:
10230         * docs/pwg/advanced-request.xml:
10231         * docs/pwg/advanced-types.xml:
10232         * docs/pwg/intro-preface.xml:
10233         * examples/plugins/example.c: (gst_example_get_type),
10234         (gst_example_class_init), (gst_example_chain),
10235         (gst_example_set_property), (gst_example_get_property),
10236         (gst_example_change_state), (plugin_init):
10237         * examples/plugins/example.h:
10238           small doc fixes
10239
10240 2005-05-17  Wim Taymans  <wim@fluendo.com>
10241
10242         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10243         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10244         * gst/gstqueue.c: (gst_queue_change_state):
10245         Clear queue when going to READY.
10246         Remove IN_SETCAPS flag too.
10247
10248 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10249
10250         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10251           Remove implicit cast from gboolean to GstElementStateReturn;
10252           make sure we still return failure in paused => ready case if
10253           the parent class fails to change state and our own stop 
10254           vfunc succeeds.
10255
10256 2005-05-17  Wim Taymans  <wim@fluendo.com>
10257
10258         * tools/gst-launch.c: (event_loop):
10259         Message was unreffed too soon.
10260
10261 2005-05-16  Andy Wingo  <wingo@pobox.com>
10262
10263         * gst/gstbin.c (sink_iterator_filter): Err... um...
10264
10265         * check/gst/gstbin.c (test_ghost_pads): New test for the
10266         ghosting-if-elements-not-in-same-bin behavior.
10267
10268 2005-05-16  David Schleef  <ds@schleef.org>
10269
10270         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10271         accessing refcount directly.
10272
10273 2005-05-15  David Schleef  <ds@schleef.org>
10274
10275         * check/Makefile.am: remove GstData checks
10276         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10277         * gst/Makefile.am: add miniobject, remove data
10278         * gst/gst.h: add miniobject, remove data
10279         * gst/gstdata.c: remove
10280         * gst/gstdata.h: remove
10281         * gst/gstdata_private.h: remove
10282         * gst/gsttypes.h: remove GstEvent and GstMessage
10283         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10284         * gst/gstmarshal.list: change BOXED -> OBJECT
10285
10286         Implement GstMiniObject.
10287         * gst/gstminiobject.c:
10288         * gst/gstminiobject.h:
10289
10290         Modify to be subclasses of GstMiniObject.
10291         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10292         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10293         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10294         (gst_subbuffer_get_type), (gst_subbuffer_init),
10295         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10296         (gst_buffer_span):
10297         * gst/gstbuffer.h:
10298         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10299         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10300         (_gst_event_copy), (gst_event_new):
10301         * gst/gstevent.h:
10302         * gst/gstmessage.c: (_gst_message_initialize),
10303         (gst_message_get_type), (gst_message_class_init),
10304         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10305         (gst_message_new), (gst_message_new_error),
10306         (gst_message_new_warning), (gst_message_new_tag),
10307         (gst_message_new_state_changed), (gst_message_new_application):
10308         * gst/gstmessage.h:
10309         * gst/gstprobe.c: (gst_probe_perform),
10310         (gst_probe_dispatcher_dispatch):
10311         * gst/gstprobe.h:
10312         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10313         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10314         (_gst_query_copy), (gst_query_new):
10315
10316         Update elements for GstData -> GstMiniObject changes
10317         * gst/gstquery.h:
10318         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10319         (gst_queue_chain), (gst_queue_loop):
10320         * gst/elements/gstbufferstore.c:
10321         (gst_buffer_store_add_buffer_func),
10322         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10323         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10324         (gst_fakesink_render):
10325         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10326         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10327         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10328         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10329         (gst_filesrc_create_read):
10330         * gst/elements/gstidentity.c: (gst_identity_class_init):
10331         * gst/elements/gsttypefindelement.c:
10332         (gst_type_find_element_src_event), (free_entry_buffers),
10333         (gst_type_find_element_handle_event):
10334         * libs/gst/dataprotocol/dataprotocol.c:
10335         (gst_dp_header_from_buffer):
10336         * libs/gst/dataprotocol/dataprotocol.h:
10337         * libs/gst/dataprotocol/dp-private.h:
10338
10339 2005-05-15  David Schleef  <ds@schleef.org>
10340
10341         * gst/elements/gstelements.c: Don't include headers that were
10342         just removed.
10343
10344 2005-05-15  David Schleef  <ds@schleef.org>
10345
10346         * gst/elements/Makefile.am: Remove some elements that don't
10347         need to be in the core (or even exist at all).
10348         * gst/elements/gstaggregator.c:
10349         * gst/elements/gstaggregator.h:
10350         * gst/elements/gstmd5sink.c:
10351         * gst/elements/gstmd5sink.h:
10352         * gst/elements/gstmultifilesrc.c:
10353         * gst/elements/gstmultifilesrc.h:
10354         * gst/elements/gstpipefilter.c:
10355         * gst/elements/gstpipefilter.h:
10356         * gst/elements/gstshaper.c:
10357         * gst/elements/gstshaper.h:
10358         * gst/elements/gststatistics.c:
10359         * gst/elements/gststatistics.h:
10360         * po/POTFILES.in: Remove above files.
10361
10362 2005-05-14  Andy Wingo  <wingo@pobox.com>
10363
10364         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10365         so as to get the refs right.
10366         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10367         unreffing objects that don't pass the filter.
10368
10369         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10370         gst_element_set_bus.
10371         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10372         normal cases, this will destroy the bus.
10373
10374         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10375         object.
10376
10377         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10378         has no sinks.
10379
10380 2005-05-13  Andy Wingo  <wingo@pobox.com>
10381
10382         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10383         gst_pad_link, call pad_link_maybe_ghosting,
10384         (pad_link_maybe_ghosting): Links pads, making sure that the
10385         elements being linked are in the same bin.
10386         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10387         Helpers for pad_link_maybe_ghosting.
10388
10389 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10390
10391         * configure.ac:
10392           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10393
10394 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10395
10396         * docs/design/part-element-source.txt:
10397           Mention GstPushSrc
10398
10399 2005-05-12  Wim Taymans  <wim@fluendo.com>
10400
10401         * gst/base/gstbasesink.c: (gst_basesink_init),
10402         (gst_basesink_activate):
10403         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10404         (gst_basesrc_is_seekable):
10405         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10406         (bin_element_is_sink), (gst_bin_change_state):
10407         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10408         * gst/gstelement.h:
10409         Identify sinks by their flag to avoid overly complicated
10410         checks (fow now).
10411         Do state changes even for elements not reachable from the
10412         sinks.
10413         BaseSink is a sink now :)
10414         Some more debugging info in the basesrc.
10415
10416
10417 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10418
10419         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10420           Implement _query on a bin, similar to _send_event.
10421
10422 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10423
10424         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10425           Discont event offset format should be GST_FORMAT_BYTES,
10426           not GST_FORMAT_TIME.
10427
10428 2005-05-12  Wim Taymans  <wim@fluendo.com>
10429
10430         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10431         Same fix as Ronald's but without the signal. 
10432
10433 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10434
10435         * gst/gstutils.c: (gst_element_query_position):
10436           No, an element is not a pad.
10437
10438 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10439
10440         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10441         (gst_bin_get_state):
10442           If a child is removed from a bin while we remove the child from
10443           the bin and while we're retrieving its state, signal this to the
10444           get_state function so we abort the wait (instead of waiting for
10445           a timeout) and can immediately re-iterate over all other elements.
10446
10447 2005-05-12  Wim Taymans  <wim@fluendo.com>
10448
10449         * gst/base/Makefile.am:
10450         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10451         (gst_basesrc_start):
10452         * gst/base/gstbasesrc.h:
10453         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10454         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10455         (gst_pushsrc_init), (gst_pushsrc_create):
10456         * gst/base/gstpushsrc.h:
10457         Added is_seekable to BaseSrc
10458         Added simple PushSrc.
10459
10460 2005-05-11  Wim Taymans  <wim@fluendo.com>
10461
10462         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10463         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10464         (gst_element_link_pads), (gst_element_query_position),
10465         (gst_element_query_convert), (intersect_caps_func),
10466         (gst_pad_query_position), (gst_pad_query_convert):
10467         Fix refcounting in utils function.
10468         No point in trying to activate a pad when it's added, it could
10469         be added from the state change function and then we deadlock, the
10470         element has to decide what to do.
10471
10472 2005-05-10  Andy Wingo  <wingo@pobox.com>
10473
10474         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10475         *all* the arguments.
10476
10477         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10478         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10479         lock (according to the docs -- if this is wrong change the docs).
10480
10481         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10482         flush messages in the NULL state.
10483
10484         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10485         message immediately and return.
10486         (gst_bus_set_flushing): New function. If a bus is flushing, it
10487         flushes out any queued messages and immediately unrefs new
10488         messages. This is so when an element goes to NULL, all of the
10489         unhandled messages coming from it can be freed, and their
10490         references to the element dropped. In other words: message source
10491         ref considered harmful :P
10492
10493         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10494         we're finished with it.
10495
10496         * gst/gstmessage.c (gst_message_new_state_changed): 
10497
10498 2005-05-10  Wim Taymans  <wim@fluendo.com>
10499
10500         * gst/gstvalue.c: (gst_value_compare_flags),
10501         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10502         (_gst_value_initialize):
10503         Added flags serialize/deserialize/compare code.
10504
10505 2005-05-09  Andy Wingo  <wingo@pobox.com>
10506
10507         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10508         Intersect the peer's caps with our caps.
10509
10510 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10511
10512         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10513         * gst/elements/gsttypefindelement.c: (find_peek):
10514           Handle negative offsets better. Fixes decodebin.
10515
10516 2005-05-09  Wim Taymans  <wim@fluendo.com>
10517
10518         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10519         (gst_base_transform_event):
10520         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10521         Implement accept_caps.
10522         Fix silly lock/unlock mismatch in base class.
10523
10524 2005-05-09  Wim Taymans  <wim@fluendo.com>
10525
10526         * docs/design/draft-push-pull.txt:
10527         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10528         * gst/elements/gstfilesink.c: (gst_filesink_init),
10529         (gst_filesink_query):
10530         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10531         (gst_type_find_handle_src_query), (find_element_get_length):
10532         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10533         * gst/gstelement.h:
10534         * gst/gstmessage.c:
10535         * gst/gstmessage.h:
10536         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10537         (gst_real_pad_get_caps_unlocked),
10538         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10539         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10540         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10541         (gst_real_pad_dispose), (gst_real_pad_finalize),
10542         (gst_pad_load_and_link), (gst_pad_save_thyself),
10543         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10544         (gst_pad_check_pull_range), (gst_pad_pull_range),
10545         (gst_pad_template_get_type), (gst_pad_template_class_init),
10546         (gst_pad_template_init), (gst_pad_template_dispose),
10547         (name_is_valid), (gst_static_pad_template_get),
10548         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10549         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10550         (gst_pad_get_element_private), (gst_pad_start_task),
10551         (gst_pad_pause_task), (gst_pad_stop_task),
10552         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10553         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10554         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10555         (gst_ghost_pad_new):
10556         * gst/gstpad.h:
10557         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10558         (gst_query_new_position), (gst_query_set_position),
10559         (gst_query_parse_position), (gst_query_new_convert),
10560         (gst_query_set_convert), (gst_query_parse_convert):
10561         * gst/gstquery.h:
10562         * gst/gstqueryutils.c:
10563         * gst/gstqueryutils.h:
10564         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10565         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10566         (gst_queue_handle_src_query):
10567         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10568         (gst_element_query_position), (gst_element_query_convert),
10569         (intersect_caps_func), (gst_pad_query_position),
10570         (gst_pad_query_convert):
10571         * gst/gstutils.h:
10572         * tools/gst-inspect.c: (print_pad_info):
10573         * tools/gst-xmlinspect.c: (print_element_info):
10574         Remove old query functions. Ported old code.
10575         Added position/convert helper functions to gstutils.
10576         Reordered gstpad.c code, grouping relevant things.
10577         Remove gst_message_new(), always need to speficy a specific
10578         message.
10579
10580
10581 2005-05-09  Andy Wingo  <wingo@pobox.com>
10582
10583         * gst/gstiterator.h: Add some includes.
10584
10585         * gst/gstqueryutils.h: Include more headers.
10586
10587         * gst/gstpad.h:
10588         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10589         some uses of gst_pad_query.
10590
10591         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10592         NULL out parameters.
10593         (gst_query_new_position): New proc, allocates a new position
10594         query.
10595
10596         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10597         gstqueryutils.c to the build.
10598
10599         * gst/gststructure.c (gst_structure_set_valist): Implement with
10600         the generic G_VALUE_COLLECT.
10601         
10602 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10603
10604         * gst/Makefile.am: (gst_headers):
10605         Added gstqueryutils.h to the list of headers to install, that was
10606         a 'nachty' move wingo :)
10607
10608 2005-05-06  Andy Wingo  <wingo@pobox.com>
10609
10610         * gst/gstquery.h
10611         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10612         GstData, init a memchunk.
10613         (standard_definitions): Add a few query types, deprecate a few.
10614         (gst_query_get_type): New proc.
10615         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10616         implementation.
10617         (gst_query_new_application, gst_query_get_structure): New public
10618         procs.
10619
10620         * docs/design/draft-query.txt: Removed LINKS from the query types,
10621         because all the rest can be dispatched to other pads -- seemed
10622         ugly to have a query that couldn't be dispatched. internal_links
10623         is fine as a pad method.
10624
10625         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10626         in gstpad.c, but maintain binary compatibility for the moment.
10627         Will fix before 0.9 is out.
10628
10629         * gst/gstqueryutils.c: 
10630         * gst/gstqueryutils.h: New files, implement 3 methods for each
10631         query type: parse_query, parse_response, and set. Probably need an
10632         allocator as well.
10633
10634         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10635
10636         * gst/elements/gstfilesink.c (gst_filesink_query2):
10637         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10638         query_types, and formats methods.
10639
10640         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10641         (gst_pad_set_query2_function): New functions.
10642         (gst_real_pad_init): Set query2_default as the default query2
10643         function. Basically just dispatches to internally linked pads.
10644
10645         Needs review!
10646         
10647         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10648         without using the atomic operations. Only one thread can possibly
10649         be accessing the data at this point. Changed so as to avoid
10650         gst_atomic operations.
10651
10652 2005-05-06  Wim Taymans  <wim@fluendo.com>
10653
10654         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10655         Also set caps if we use the fallback buffer alloc.
10656
10657 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10658
10659         * docs/gst/Makefile.am:
10660         * docs/gst/gstreamer-docs.sgml:
10661         * docs/gst/gstreamer-sections.txt:
10662         * docs/gst/tmpl/gstatomic.sgml:
10663         * docs/gst/tmpl/gstmemchunk.sgml:
10664         * testsuite/elements/struct_i386.h:
10665         * win32/GStreamer.vcproj:
10666         * win32/Makefile:
10667           Purge GstAtomic stuff from docs and win32 makefiles as well
10668
10669 2005-05-06  Wim Taymans  <wim@fluendo.com>
10670
10671         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10672         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10673         * gst/gstpad.c: (gst_pad_peer_get_caps):
10674         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10675         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10676         (gst_queue_src_activate), (gst_queue_change_state):
10677         * gst/gstqueue.h:
10678         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10679         (intersect_caps_func):
10680         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10681         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10682         Some fixes for the peer_get_caps() change.
10683
10684 2005-05-06  Wim Taymans  <wim@fluendo.com>
10685
10686         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10687         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10688         (gst_basesink_activate):
10689         Actually do something with error codes returned from the push
10690         functions.
10691
10692 2005-05-06  Wim Taymans  <wim@fluendo.com>
10693
10694         * docs/design/part-element-sink.txt:
10695         * docs/design/part-element-source.txt:
10696         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10697         (gst_basesink_event), (gst_basesink_activate):
10698         * gst/base/gstbasesink.h:
10699         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10700         (gst_basesrc_activate):
10701         * gst/base/gstbasesrc.h:
10702         * gst/gstelement.c: (gst_element_pads_activate):
10703         Some more documentation.
10704         Fixed scheduling decision in _pads_activate().
10705
10706 2005-05-05  Andy Wingo  <wingo@pobox.com>
10707
10708         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10709         the test suite.
10710
10711 2005-05-05  Wim Taymans  <wim@fluendo.com>
10712
10713         * gst/base/Makefile.am:
10714         * gst/base/gstbasesink.h:
10715         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10716         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10717         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10718         (gst_collectpads_class_init), (gst_collectpads_init),
10719         (gst_collectpads_finalize), (gst_collectpads_new),
10720         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10721         (find_pad), (gst_collectpads_remove_pad),
10722         (gst_collectpads_is_active), (gst_collectpads_collect),
10723         (gst_collectpads_collect_range), (gst_collectpads_start),
10724         (gst_collectpads_stop), (gst_collectpads_peek),
10725         (gst_collectpads_pop), (gst_collectpads_available),
10726         (gst_collectpads_read), (gst_collectpads_flush),
10727         (gst_collectpads_chain):
10728         * gst/base/gstcollectpads.h:
10729         * gst/elements/Makefile.am:
10730         * gst/elements/gstelements.c:
10731         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10732         (gst_fakesink_get_times), (gst_fakesink_event),
10733         (gst_fakesink_preroll), (gst_fakesink_render):
10734         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10735         (gst_filesink_init), (gst_filesink_set_location),
10736         (gst_filesink_open_file), (gst_filesink_close_file),
10737         (gst_filesink_pad_query), (gst_filesink_event),
10738         (gst_filesink_render), (gst_filesink_change_state):
10739         * gst/elements/gstfilesink.h:
10740         Added object to help in making collect pad based elements.
10741         Ported filesink.
10742         Make event function in sink baseclass return gboolean.
10743
10744 2005-05-05  Wim Taymans  <wim@fluendo.com>
10745
10746         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10747         (gst_bin_get_by_name):
10748         * gst/gstbuffer.h:
10749         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10750         (gst_clock_finalize):
10751         * gst/gstdata.c: (gst_data_replace):
10752         * gst/gstdata.h:
10753         * gst/gstelement.c: (gst_element_request_pad),
10754         (gst_element_pads_activate):
10755         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10756         (gst_object_unref):
10757         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10758         (gst_pad_set_checkgetrange_function),
10759         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10760         (gst_pad_check_pull_range), (gst_pad_pull_range),
10761         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10762         (gst_pad_pause_task), (gst_pad_stop_task):
10763         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10764         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10765         Fix name lookup in GstBin.
10766         Added _data_replace() function and _buffer_replace()
10767         Use finalize method to clean up clock.
10768         Fix refcounting on request pads.
10769         Fix pad schedule mode error.
10770         Some more object refcounting debug info,
10771
10772
10773 2005-05-04  Andy Wingo <wingo@pobox.com>
10774
10775         * check/Makefile.am:
10776         * docs/gst/tmpl/gstatomic.sgml:
10777         * docs/gst/tmpl/gstplugin.sgml:
10778         * gst/base/gstbasesink.c: (gst_basesink_activate):
10779         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10780         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10781         (gst_basesrc_query), (gst_basesrc_set_property),
10782         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10783         (gst_basesrc_activate):
10784         * gst/base/gstbasesrc.h:
10785         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10786         (gst_base_transform_src_activate):
10787         * gst/elements/gstelements.c:
10788         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10789         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10790         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10791         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10792         (gst_type_find_element_checkgetrange),
10793         (gst_type_find_element_activate):
10794         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10795         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10796         (gst_caps_load_thyself):
10797         * gst/gstelement.c: (gst_element_pads_activate),
10798         (gst_element_save_thyself), (gst_element_restore_thyself):
10799         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10800         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10801         * gst/gstpad.h:
10802         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10803         (gst_xml_parse_file), (gst_xml_parse_memory),
10804         (gst_xml_get_element), (gst_xml_make_element):
10805         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10806         (_file_index_id_save_xml), (gst_file_index_commit):
10807         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10808         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10809         (load_paths):
10810         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10811         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10812         * tools/gst-complete.c: (main):
10813         * tools/gst-compprep.c: (main):
10814         * tools/gst-inspect.c: (print_element_properties_info):
10815         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10816         * tools/gst-xmlinspect.c: (print_element_properties):
10817         GCC 4 fixen.
10818         
10819 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10820
10821         * gst/gstplugin.c: (gst_plugin_check_module),
10822         (gst_plugin_check_file), (gst_plugin_load_file):
10823             apply patch from #172526 to make register work on MacOSX
10824
10825 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10826
10827         * docs/gst/tmpl/gstconfig.sgml:
10828         * gst/gstconfig.h.in:
10829           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10830         * testsuite/debug/printf_extension.c: (main):
10831           Do not use GST_PTR_FORMAT on pointers to types with
10832           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10833         * testsuite/elements/property.h:
10834           use correct printf format
10835
10836 2005-05-02  Wim Taymans  <wim@fluendo.com>
10837
10838         * docs/design/draft-push-pull.txt:
10839         * docs/design/draft-query.txt:
10840         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10841         (gst_basesrc_start):
10842         Added draft for new query API.
10843         Added draft for better selecting scheduling methods.
10844         Make basesrc ignore length if the subclass does not support
10845         it.
10846
10847 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10848
10849         * gst/Makefile.am:
10850           possible fixes for automake-1.5 - _LIBADD is reserved
10851
10852 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10853
10854         * docs/faq/Makefile.am:
10855         * docs/manual/Makefile.am:
10856         * docs/manuals.mak:
10857         * docs/pwg/Makefile.am:
10858         * gst/Makefile.am:
10859           possible fixes for automake-1.5
10860
10861 2005-04-28  Wim Taymans  <wim@fluendo.com>
10862
10863         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10864         (gst_basesink_pad_getcaps), (gst_basesink_init),
10865         (gst_basesink_do_sync):
10866         * gst/gstclock.c: (gst_clock_entry_new):
10867         * gst/gstevent.c: (gst_event_discont_get_value):
10868         * gst/gstpipeline.c: (pipeline_bus_handler),
10869         (gst_pipeline_change_state):
10870         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10871         Better debugging of clocking info.
10872         Allow NULL values when getting discont values.
10873
10874 2005-04-27  Wim Taymans  <wim@fluendo.com>
10875
10876         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10877         * check/gst/gstpad.c: (gst_pad_suite):
10878         Increase timeout for checks.
10879
10880 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10881
10882         * check/Makefile.am:
10883           fix the broken rule for cleanup.  Apparently this rule is
10884           only needed on FC2, so maybe this warrants further autotool
10885           inspection.
10886
10887 2005-04-26  Wim Taymans  <wim@fluendo.com>
10888
10889         * gst/gsttrashstack.h:
10890         Ooohh. a nasty one! After having a failed pop() from the stack,
10891         it's possible that the stack is empty. In that case, don't
10892         follow the NULL pointer.
10893
10894 2005-04-25  Wim Taymans  <wim@fluendo.com>
10895
10896         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10897         (gst_pad_set_checkgetrange_function),
10898         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10899         (gst_pad_check_pull_range), (gst_pad_pull_range),
10900         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10901         (gst_pad_pause_task), (gst_pad_stop_task):
10902         * gst/gstplugin.c: (gst_plugin_load):
10903         * gst/gstplugin.h:
10904         Remove gst_library_load as it does more harm than good with
10905         the new g_module flags.
10906         Revert bogus caps template check in pad linking, pad caps
10907         are important when linking not the template, which is more
10908         general than the current caps.
10909
10910 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10911
10912         * gst/autoplug/.cvsignore:
10913         * gst/autoplug/Makefile.am:
10914         * gst/autoplug/gstsearchfuncs.c:
10915         * gst/autoplug/gstsearchfuncs.h:
10916         * gst/autoplug/gstspider.c:
10917         * gst/autoplug/gstspider.h:
10918         * gst/autoplug/gstspideridentity.c:
10919         * gst/autoplug/gstspideridentity.h:
10920         * gst/autoplug/spidertest.c:
10921           Die, spider, die.
10922
10923 2005-04-25  Wim Taymans  <wim@fluendo.com>
10924
10925         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10926         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10927         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10928         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10929         * gst/gstpad.h:
10930         Added stubs for unimplemented functions. 
10931
10932 2005-04-24  David Schleef  <ds@schleef.org>
10933
10934         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10935         please fix.
10936
10937 2005-04-24  David Schleef  <ds@schleef.org>
10938
10939         Convert everything from GstAtomicInt to g_atomic_int_*, and
10940         remove gstatomic.
10941         * gst/Makefile.am:
10942         * gst/gstatomic.c:
10943         * gst/gstatomic.h:
10944         * gst/gstatomic_impl.h:
10945         * gst/gstbuffer.c:
10946         * gst/gstcaps.c:
10947         * gst/gstcaps.h:
10948         * gst/gstclock.c:
10949         * gst/gstclock.h:
10950         * gst/gstdata.c:
10951         * gst/gstdata.h:
10952         * gst/gstdata_private.h:
10953         * gst/gstevent.c:
10954         * gst/gstinfo.c:
10955         * gst/gstinfo.h:
10956         * gst/gstmessage.c:
10957         * gst/gstobject.c:
10958         * gst/gstobject.h:
10959         * gst/gststructure.c:
10960         * gst/gststructure.h:
10961         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10962         * gst/gstutils.h:
10963
10964 2005-04-24  David Schleef  <ds@schleef.org>
10965
10966         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10967         make the regressions tests work.  Remove some code that is no
10968         longer true.
10969         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10970         Disable warning for pads without templates.
10971
10972 2005-04-24  David Schleef  <ds@schleef.org>
10973
10974         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10975         functions that handle filtered links.
10976         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10977         removed functions.
10978         * gst/gstutils.c: Fix/remove utility functions that handle
10979         filtered caps.
10980         * gst/gstutils.h:
10981         * gst/gstvalue.c: Add serialization/deserialization of caps
10982         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10983         requires fixing so that the filter caps notation creates
10984         a capsfilter element and sets the filter_caps property.  I
10985         think everyone probably wants to keep the shorthand notation.
10986         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10987         * docs/gst/tmpl/gstpad.sgml:
10988
10989         * gst/elements/gstelements.c: Register capsfilter element.
10990         * gst/Makefile.am: fix spacing
10991         * docs/random/ds/0.9-suggested-changes: random
10992
10993 2005-04-23  David Schleef  <ds@schleef.org>
10994
10995         * gst/elements/Makefile.am:
10996         * gst/elements/gstcapsfilter.c: New element that acts like an
10997         identity, but filters caps.  Will eventually replace filtered
10998         caps in pad linking.
10999         * gst/gstutils.c: (gst_element_create_all_pads): New function
11000         to create all the ALWAYS pads that are registered with an
11001         element class.  This functionality should eventually be
11002         merged in with GstElement initialization.
11003         * gst/gstutils.h:
11004         * testsuite/trigger/README: part of trigger test code that should
11005         have been checked in a long time ago.
11006
11007 2005-04-23  David Schleef  <ds@schleef.org>
11008
11009         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11010         needed with new versions of libtool (nobody will confirm this),
11011         and hard to carry around.
11012         * gst/autoplug/Makefile.am:
11013         * gst/base/Makefile.am:
11014         * gst/elements/Makefile.am:
11015         * gst/indexers/Makefile.am:
11016         * gst/schedulers/Makefile.am:
11017         * libs/gst/bytestream/Makefile.am:
11018         * libs/gst/control/Makefile.am:
11019         * libs/gst/dataprotocol/Makefile.am:
11020         * libs/gst/getbits/Makefile.am:
11021
11022 2005-04-21  Wim Taymans  <wim@fluendo.com>
11023
11024         * docs/design/draft-push-pull.txt:
11025         * docs/design/part-MT-refcounting.txt:
11026         * docs/design/part-TODO.txt:
11027         * docs/design/part-caps.txt:
11028         * docs/design/part-events.txt:
11029         * docs/design/part-gstbus.txt:
11030         * docs/design/part-gstpipeline.txt:
11031         * docs/design/part-messages.txt:
11032         * docs/design/part-push-pull.txt:
11033         * docs/design/part-query.txt:
11034         Some more docs.
11035
11036 2005-04-21  Wim Taymans  <wim@fluendo.com>
11037
11038         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11039         (gst_message_new), (gst_message_new_error),
11040         (gst_message_new_warning), (gst_message_new_tag),
11041         (gst_message_new_state_changed), (gst_message_new_application),
11042         (gst_message_get_structure):
11043         * gst/gstmessage.h:
11044         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11045         (gst_structure_copy_conditional):
11046         Use parent refcount in GstMessage to ensure GstStructure
11047         consistency.
11048         Cleaned up headers a bit.
11049         
11050
11051 2005-04-20  Wim Taymans  <wim@fluendo.com>
11052
11053         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11054         (gst_basesink_pad_getcaps), (gst_basesink_init),
11055         (gst_basesink_chain_unlocked):
11056         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11057         (gst_type_find_helper):
11058         * gst/elements/gsttypefindelement.c:
11059         (gst_type_find_element_have_type), (gst_type_find_element_init),
11060         (stop_typefinding), (gst_type_find_element_handle_event),
11061         (find_suggest), (gst_type_find_element_chain),
11062         (gst_type_find_element_checkgetrange),
11063         (gst_type_find_element_getrange), (do_typefind),
11064         (gst_type_find_element_activate):
11065         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11066         (gst_buffer_default_free), (gst_buffer_default_copy),
11067         (gst_buffer_set_caps):
11068         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11069         (gst_caps_replace):
11070         * gst/gstmessage.c: (gst_message_new),
11071         (gst_message_new_state_changed):
11072         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11073         (gst_pad_set_checkgetrange_function),
11074         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11075         (gst_pad_set_caps), (gst_pad_check_pull_range),
11076         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11077         * gst/gstpad.h:
11078         * gst/gsttypefind.c: (gst_type_find_register):
11079         Make gst_caps_replace() work like other _replace() functions.
11080         Use _caps_replace() where possible.
11081         Make sure _message_new() initialises its field.
11082         Add gst_static_pad_template_get_caps()
11083
11084
11085 2005-04-18  Andy Wingo  <wingo@pobox.com>
11086
11087         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11088         on the peer, not the pad. I think that was a typo. Pass an extra
11089         arg to see if random access is possible. Activate the pads as
11090         PULL_RANGE if possible.
11091
11092         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11093
11094         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11095         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11096         to PROP_....
11097
11098 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11099
11100         * docs/faq/using.xml:
11101           Add note on gstreamer-properties (#154996).
11102
11103 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11104
11105         * docs/random/bbb/optional-properties:
11106           Some analysis on optional properties.
11107
11108 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11109
11110         * docs/gst/tmpl/gstelementfactory.sgml:
11111         * gst/gstelement.h:
11112         * gst/gstelementfactory.c: (gst_element_factory_init),
11113         (gst_element_factory_cleanup), (gst_element_register),
11114         (__gst_element_factory_add_static_pad_template),
11115         (gst_element_factory_get_static_pad_templates),
11116         (gst_element_factory_can_src_caps),
11117         (gst_element_factory_can_sink_caps):
11118         * gst/registries/Makefile.am:
11119         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11120         (gst_xml_registry_class_init), (gst_xml_registry_init),
11121         (gst_xml_registry_new), (gst_xml_registry_set_property),
11122         (gst_xml_registry_get_property), (get_time), (make_dir),
11123         (gst_xml_registry_get_perms_func),
11124         (plugin_times_older_than_recurse), (plugin_times_older_than),
11125         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11126         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11127         (add_to_char_array), (read_string), (read_uint), (read_enum),
11128         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11129         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11130         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11131         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11132         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11133         (gst_xml_registry_rebuild):
11134         * gst/registries/gstlibxmlregistry.h:
11135         * tools/gst-compprep.c: (main):
11136         * tools/gst-inspect.c: (print_pad_templates_info):
11137         * tools/gst-xmlinspect.c: (print_element_info):
11138           Use libxml2 for registry parsing, use staticpadtemplates in
11139           elementfactories. Makes gst_init() +/- 10x faster.
11140
11141 2005-04-12  Wim Taymans  <wim@fluendo.com>
11142
11143         * gst/base/Makefile.am:
11144         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11145         (gst_basesink_pad_getcaps), (gst_basesink_init),
11146         (gst_basesink_event), (gst_basesink_change_state):
11147         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11148         (gst_basesrc_init), (gst_basesrc_query),
11149         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11150         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11151         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11152         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11153         (gst_basesrc_stop), (gst_basesrc_activate),
11154         (gst_basesrc_change_state):
11155         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11156         (helper_find_suggest), (gst_type_find_helper):
11157         * gst/base/gsttypefindhelper.h:
11158         * gst/elements/Makefile.am:
11159         * gst/elements/gstelements.c:
11160         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11161         (gst_fakesink_get_times), (gst_fakesink_event),
11162         (gst_fakesink_preroll), (gst_fakesink_render):
11163         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11164         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11165         (gst_fakesrc_get_property), (gst_fakesrc_create),
11166         (gst_fakesrc_start), (gst_fakesrc_stop):
11167         * gst/elements/gstfakesrc.h:
11168         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11169         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11170         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11171         (gst_filesrc_create_read), (gst_filesrc_create),
11172         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11173         (gst_filesrc_start):
11174         * gst/elements/gsttypefindelement.c:
11175         (gst_type_find_element_have_type), (gst_type_find_element_init),
11176         (start_typefinding), (stop_typefinding), (push_buffer_store),
11177         (gst_type_find_element_handle_event),
11178         (gst_type_find_element_chain),
11179         (gst_type_find_element_checkgetrange),
11180         (gst_type_find_element_getrange), (do_typefind),
11181         (gst_type_find_element_activate),
11182         (gst_type_find_element_change_state):
11183         * gst/elements/gsttypefindelement.h:
11184         * gst/gstpipeline.c: (pipeline_bus_handler):
11185         Added typefind helper.
11186         Small preroll fix in the base sink.
11187         Disable typefind code in basesrc.
11188         Crude port of typefindelement.
11189         Fakesrc cleanups.
11190
11191
11192 2005-04-11  Wim Taymans  <wim@fluendo.com>
11193
11194         * check/gst/gstbus.c: (gstbus_suite):
11195         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11196         * check/gstcheck.h:
11197           Fix up the timeout so that the test does not fail.
11198
11199 2005-04-06  Wim Taymans  <wim@fluendo.com>
11200
11201         * gst/base/README:
11202         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11203         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11204         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11205         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11206         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11207         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11208         (gst_basesrc_stop), (gst_basesrc_activate),
11209         (gst_basesrc_change_state), (basesrc_find_peek),
11210         (basesrc_find_suggest), (gst_basesrc_type_find):
11211         * gst/base/gstbasesrc.h:
11212         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11213         (gst_filesrc_class_init), (gst_filesrc_init),
11214         (gst_filesrc_finalize), (gst_filesrc_set_location),
11215         (gst_filesrc_set_property), (gst_filesrc_get_property),
11216         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11217         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11218         (gst_filesrc_create_read), (gst_filesrc_create),
11219         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11220         * gst/elements/gstfilesrc.h:
11221         * gst/gstelement.c: (gst_element_get_state_func),
11222         (gst_element_lost_state), (gst_element_pads_activate):
11223         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11224         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11225         (gst_pad_pull_range):
11226         * gst/gstpad.h:
11227         More work on the generic source base class, implement seeking,
11228         query.
11229         Make filesrc extend the base source class.
11230         Added gst_pad_set_checkgetrange_function to GstPad.
11231
11232 2005-04-06  Andy Wingo  <wingo@pobox.com>
11233
11234         * pkgconfig/gstreamer-base.pc.in:
11235         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11236
11237         * pkgconfig/Makefile.am:
11238         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11239
11240 2005-04-04  Wim Taymans  <wim@fluendo.com>
11241
11242         * gst/base/Makefile.am:
11243         * gst/base/README:
11244         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11245         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11246         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11247         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11248         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11249         (gst_basesrc_base_init), (gst_basesrc_class_init),
11250         (gst_basesrc_init), (gst_basesrc_get_formats),
11251         (gst_basesrc_get_query_types), (gst_basesrc_query),
11252         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11253         (gst_basesrc_set_property), (gst_basesrc_get_property),
11254         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11255         (gst_basesrc_loop), (gst_basesrc_activate),
11256         (gst_basesrc_change_state):
11257         * gst/base/gstbasesrc.h:
11258         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11259         (gst_fakesrc_class_init), (gst_fakesrc_init),
11260         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11261         (gst_fakesrc_get_property), (gst_fakesrc_create):
11262         * gst/elements/gstfakesrc.h:
11263         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11264         (gst_filesrc_open_file), (gst_filesrc_loop),
11265         (gst_filesrc_activate), (filesrc_find_peek),
11266         (gst_filesrc_type_find):
11267         Made base source class, make fakesrc extend it.
11268         Add comments to basesink class.
11269         Some filesrc cleanup.
11270
11271 2005-03-31  David Schleef  <ds@schleef.org>
11272
11273         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11274         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11275         expected to link against libgstreamer.
11276         * gst/base/Makefile.am: link against libgstreamer
11277         * gst/elements/Makefile.am: same
11278
11279 2005-03-31  Andy Wingo  <wingo@pobox.com>
11280
11281         * tests/instantiate/Makefile.am:
11282         * tests/instantiate/caps.c: Add test to test speed of caps copy
11283         and free.
11284
11285         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11286         GMemChunk to be fair.
11287
11288         * gst/gsttrashstack.h: Remove warning about using the fallback
11289         trash stack implementation, it's still faster than malloc.
11290
11291 2005-03-30  Andy Wingo  <wingo@pobox.com>
11292
11293         * tests/complexity.c: Add a copyright.
11294
11295 2005-03-31  Wim Taymans  <wim@fluendo.com>
11296
11297         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11298         (gst_base_transform_class_init), (gst_base_transform_init),
11299         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11300         (gst_base_transform_get_property),
11301         (gst_base_transform_sink_activate),
11302         (gst_base_transform_src_activate),
11303         (gst_base_transform_change_state):
11304         * gst/base/gstbasetransform.h:
11305         * gst/elements/gstidentity.c: (gst_identity_class_init),
11306         (gst_identity_event), (gst_identity_check_perfect),
11307         (gst_identity_transform), (gst_identity_start),
11308         (gst_identity_stop):
11309         Added start/stop methods to transform base class so subclasses 
11310         don't need to deal with state changes even.
11311
11312 2005-03-31  Wim Taymans  <wim@fluendo.com>
11313
11314         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11315         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11316         * gst/gstevent.h:
11317         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11318         (gst_pad_pull_range):
11319         Added rate to the discont event to prepare for variable speed
11320         and reverse playback.
11321
11322 2005-03-29  David Schleef  <ds@schleef.org>
11323
11324         * configure.ac:
11325         * testsuite/trigger/Makefile.am:
11326         * testsuite/trigger/trigger.c: A little example program to show
11327         how trigger-based elements can work.
11328
11329 2005-03-29  Wim Taymans  <wim@fluendo.com>
11330
11331         * gst/base/Makefile.am:
11332         * gst/base/README:
11333         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11334         (gst_basesink_base_init), (gst_basesink_class_init),
11335         (gst_basesink_pad_getcaps), (gst_basesink_init),
11336         (gst_basesink_activate), (gst_basesink_change_state):
11337         * gst/base/gstbasesink.h:
11338         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11339         (gst_base_transform_base_init), (gst_base_transform_finalize),
11340         (gst_base_transform_class_init), (gst_base_transform_init),
11341         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11342         (gst_base_transform_event), (gst_base_transform_getrange),
11343         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11344         (gst_base_transform_set_property),
11345         (gst_base_transform_get_property),
11346         (gst_base_transform_sink_activate),
11347         (gst_base_transform_src_activate),
11348         (gst_base_transform_change_state):
11349         * gst/base/gstbasetransform.h:
11350         * gst/elements/gstidentity.c: (gst_identity_finalize),
11351         (gst_identity_class_init), (gst_identity_init),
11352         (gst_identity_event), (gst_identity_check_perfect),
11353         (gst_identity_transform), (gst_identity_set_property),
11354         (gst_identity_get_property), (gst_identity_change_state):
11355         * gst/elements/gstidentity.h:
11356         * gst/gstelement.c: (gst_element_get_state_func),
11357         (gst_element_lost_state), (gst_element_pads_activate):
11358         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11359         (gst_pad_check_pull_range), (gst_pad_pull_range):
11360         * gst/gstpad.h:
11361         Simplify pad activation.
11362         Added function to check if pull_range can be performed.
11363         Error out when pulling inactive or flushing pads.
11364         Removed const from refcounted types as it does not make sense.
11365         Simplify pad templates in basesink
11366         Added base class for simple 1-to-1 transforms.
11367         Make identity subclass the base transform.
11368
11369 2005-03-29  Andy Wingo  <wingo@pobox.com>
11370
11371         * docs/libs/gstreamer-libs-overrides.txt: 
11372         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11373         really don't understand what's going on, but like whatever. I want
11374         green buildbot!
11375
11376         * docs/gst/Makefile.am:
11377         * docs/libs/Makefile.am: Dist the overrides files.
11378
11379         * check/Makefile.am (clean-local): Remove .libs directories.
11380
11381         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11382         elements to EXTRA_DIST, so po/ files are happy.
11383
11384         * po/POTFILES.in: Er, remove it here.
11385
11386         * po/POTFILES: Remove gstspider.c.
11387
11388         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11389
11390         * docs/libs/gstreamer-libs-docs.sgml: 
11391         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11392         bytestream.
11393
11394         * tests/complexity.c (main): Set the length of the preroll queue
11395         on the sinks to prevent a lockup.
11396
11397         * libs/gst/dataprotocol/Makefile.am: 
11398         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11399         the same as the one in check/gst-libs/gdp.c.
11400
11401         * po/, docs/gst/: Commit automatic changes to docs and po files.
11402
11403         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11404         the versioned libgstbase.
11405
11406         * check/Makefile.am: Depend on an unversioned gst-register, seems
11407         to make autoconf happier.
11408
11409         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11410
11411 2005-03-28  Wim Taymans  <wim@fluendo.com>
11412
11413         * configure.ac:
11414         * docs/design/part-gstelement.txt:
11415         * docs/design/part-negotiation.txt:
11416         * docs/design/part-preroll.txt:
11417         * docs/design/part-scheduling.txt:
11418         * docs/design/part-states.txt:
11419         * gst/Makefile.am:
11420         * gst/base/Makefile.am:
11421         * gst/base/README:
11422         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11423         (gst_basesink_base_init), (gst_basesink_class_init),
11424         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11425         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11426         (gst_basesink_set_pad_functions),
11427         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11428         (gst_basesink_set_property), (gst_basesink_get_property),
11429         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11430         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11431         (gst_basesink_preroll_queue_push),
11432         (gst_basesink_preroll_queue_empty),
11433         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11434         (gst_basesink_event), (gst_basesink_get_times),
11435         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11436         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11437         (gst_basesink_loop), (gst_basesink_activate),
11438         (gst_basesink_change_state):
11439         * gst/base/gstbasesink.h:
11440         * gst/elements/Makefile.am:
11441         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11442         (gst_fakesink_class_init), (gst_fakesink_init),
11443         (gst_fakesink_set_property), (gst_fakesink_get_property),
11444         (gst_fakesink_get_times), (gst_fakesink_event),
11445         (gst_fakesink_preroll), (gst_fakesink_render),
11446         (gst_fakesink_change_state):
11447         * gst/elements/gstfakesink.h:
11448         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11449         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11450         * gst/gstelement.c: (gst_element_add_pad),
11451         (gst_element_get_state_func), (gst_element_abort_state),
11452         (gst_element_commit_state), (gst_element_lost_state),
11453         (gst_element_set_state), (gst_element_pads_activate):
11454         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11455         * gst/gstpipeline.c: (gst_pipeline_send_event),
11456         (gst_pipeline_change_state):
11457         Added state change code.
11458         Added/updated docs.
11459         Added sink base class, make fakesink extend the base class.
11460         Small cleanups in GstPipeline.
11461
11462 2005-03-26  David Schleef  <ds@schleef.org>
11463
11464         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11465         is broken and should be implemented in a different library.
11466         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11467         * gst/gst.h: remove gstcpu.h
11468         * gst/gstcpu.c: remove
11469         * gst/gstcpu.h: remove
11470         * gst/Makefile.am.future: Remove this file.  It's ancient.
11471
11472 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11473
11474         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11475         (gst_bin_send_event):
11476           Add default event/set_manager handlers. The set_manager handler
11477           takes care that the manager is distributed over kids that were
11478           already in the bin before the manager was set. The event handler
11479           is a utility virtual function that sends the event over all sinks,
11480           so that gst_element_send_event (bin, event); has the expected
11481           behaviour.
11482         * gst/gstpad.c: (gst_pad_event_default):
11483           Re-install default event handling for discontinuities, so that
11484           seeking works without requiring hacks in applications or extra
11485           code in sinks.
11486         * gst/gstpipeline.c: (gst_pipeline_class_init),
11487         (gst_pipeline_send_event):
11488           Half hack, half utility: set a pipeline to PAUSED for seek events,
11489           since that is the only way we can guarantee a/v sync. Means that
11490           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11491           and it "just works".
11492
11493 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11494
11495         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11496           Lock/unlock mismatch.
11497
11498 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11499
11500         * docs/faq/gst-uninstalled:
11501           add gst-plugins-base
11502         * docs/gst/Makefile.am:
11503           don't error out until docs are fixed
11504         * docs/gst/gstreamer.types:
11505           remove thread
11506
11507 2005-03-22  Wim Taymans  <wim@fluendo.com>
11508
11509         * check/Makefile.am:
11510         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11511         * gst/gststructure.c: (gst_structure_set_valist),
11512         (gst_structure_copy_conditional):
11513         Activated more tests.
11514         Added message test.
11515         Added G_TYPE_POINTER to GstStructure.
11516         
11517
11518 2005-03-22  Wim Taymans  <wim@fluendo.com>
11519
11520         * docs/design/part-TODO.txt:
11521         * docs/design/part-events.txt:
11522         * docs/design/part-gstbin.txt:
11523         * docs/design/part-gstbus.txt:
11524         * docs/design/part-gstpipeline.txt:
11525         * docs/design/part-messages.txt:
11526         * gst/gstbus.c:
11527         * gst/gstmessage.c:
11528         Docs updates
11529
11530 2005-03-21  Wim Taymans  <wim@fluendo.com>
11531
11532         * gst/gstbus.c: (gst_bus_post):
11533         Fix copy-and-paste error.
11534
11535 2005-03-21  Wim Taymans  <wim@fluendo.com>
11536
11537         * check/Makefile.am:
11538         * gst/Makefile.am:
11539         * gst/elements/Makefile.am:
11540         * gst/elements/gstelements.c:
11541         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11542         (gst_fakesink_event), (gst_fakesink_chain):
11543         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11544         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11545         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11546         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11547         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11548         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11549         (gst_fakesrc_loop), (gst_fakesrc_activate),
11550         (gst_fakesrc_change_state):
11551         * gst/elements/gstfakesrc.h:
11552         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11553         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11554         (gst_filesrc_open_file), (gst_filesrc_loop),
11555         (gst_filesrc_activate), (gst_filesrc_change_state),
11556         (filesrc_find_peek), (filesrc_find_suggest),
11557         (gst_filesrc_type_find):
11558         * gst/elements/gstidentity.c: (gst_identity_finalize),
11559         (gst_identity_class_init), (gst_identity_init),
11560         (gst_identity_proxy_getcaps), (identity_queue_push),
11561         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11562         (gst_identity_getrange), (gst_identity_chain),
11563         (gst_identity_sink_loop), (gst_identity_src_loop),
11564         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11565         (gst_identity_set_property), (gst_identity_get_property),
11566         (gst_identity_change_state):
11567         * gst/elements/gstidentity.h:
11568         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11569         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11570         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11571         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11572         (gst_tee_sink_activate):
11573         * gst/elements/gsttee.h:
11574         * gst/gst.c: (gst_register_core_elements), (init_post):
11575         * gst/gst.h:
11576         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11577         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11578         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11579         (gst_bin_change_state):
11580         * gst/gstbin.h:
11581         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11582         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11583         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11584         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11585         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11586         (bus_watch_callback), (bus_watch_destroy),
11587         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11588         (poll_timeout), (gst_bus_poll):
11589         * gst/gstbus.h:
11590         * gst/gstcaps.h:
11591         * gst/gstdata.h:
11592         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11593         (gst_element_post_message), (gst_element_message_full),
11594         (gst_element_get_state_func), (gst_element_get_state),
11595         (gst_element_abort_state), (gst_element_commit_state),
11596         (gst_element_lost_state), (gst_element_set_state),
11597         (gst_element_pads_activate), (gst_element_change_state),
11598         (gst_element_dispose), (gst_element_set_manager_func),
11599         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11600         (gst_element_set_manager), (gst_element_get_manager),
11601         (gst_element_set_bus), (gst_element_get_bus),
11602         (gst_element_set_scheduler), (gst_element_get_scheduler):
11603         * gst/gstelement.h:
11604         * gst/gstevent.c: (gst_event_new_segment_seek),
11605         (gst_event_new_flush):
11606         * gst/gstevent.h:
11607         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11608         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11609         (gst_message_new_eos), (gst_message_new_error),
11610         (gst_message_new_warning), (gst_message_new_tag),
11611         (gst_message_new_state_changed), (gst_message_new_application),
11612         (gst_message_get_structure), (gst_message_parse_tag),
11613         (gst_message_parse_state_changed), (gst_message_parse_error),
11614         (gst_message_parse_warning):
11615         * gst/gstmessage.h:
11616         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11617         (gst_real_pad_set_property), (gst_pad_set_active),
11618         (gst_pad_is_active), (gst_pad_set_blocked_async),
11619         (gst_pad_set_blocked), (gst_pad_is_blocked),
11620         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11621         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11622         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11623         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11624         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11625         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11626         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11627         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11628         (gst_pad_set_caps), (gst_pad_configure_sink),
11629         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11630         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11631         (gst_real_pad_dispose), (gst_real_pad_finalize),
11632         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11633         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11634         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11635         * gst/gstpad.h:
11636         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11637         (pipeline_bus_handler), (gst_pipeline_change_state),
11638         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11639         * gst/gstpipeline.h:
11640         * gst/gstprobe.h:
11641         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11642         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11643         (gst_queue_link_src), (gst_queue_bufferalloc),
11644         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11645         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11646         (gst_queue_loop), (gst_queue_handle_src_event),
11647         (gst_queue_handle_src_query), (gst_queue_src_activate),
11648         (gst_queue_change_state):
11649         * gst/gstqueue.h:
11650         * gst/gstscheduler.c: (gst_scheduler_init),
11651         (gst_scheduler_dispose), (gst_scheduler_create_task),
11652         (gst_scheduler_factory_create):
11653         * gst/gstscheduler.h:
11654         * gst/gststructure.c: (gst_structure_get_type),
11655         (gst_structure_copy_conditional):
11656         * gst/gststructure.h:
11657         * gst/gsttaginterface.h:
11658         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11659         (gst_task_init), (gst_task_dispose), (gst_task_create),
11660         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11661         (gst_task_pause):
11662         * gst/gsttask.h:
11663         * gst/gstthread.c:
11664         * gst/gstthread.h:
11665         * gst/gsttypes.h:
11666         * gst/schedulers/Makefile.am:
11667         * gst/schedulers/cothreads_compat.h:
11668         * gst/schedulers/entryscheduler.c:
11669         * gst/schedulers/faircothreads.c:
11670         * gst/schedulers/faircothreads.h:
11671         * gst/schedulers/fairscheduler.c:
11672         * gst/schedulers/gstbasicscheduler.c:
11673         * gst/schedulers/gstoptimalscheduler.c:
11674         * gst/schedulers/gthread-cothreads.h:
11675         * gst/schedulers/threadscheduler.c:
11676         (gst_thread_scheduler_task_get_type),
11677         (gst_thread_scheduler_task_class_init),
11678         (gst_thread_scheduler_task_init),
11679         (gst_thread_scheduler_task_start),
11680         (gst_thread_scheduler_task_stop),
11681         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11682         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11683         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11684         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11685         (plugin_init):
11686         * libs/gst/Makefile.am:
11687         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11688         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11689         (gst_file_pad_parent_set):
11690         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11691         (gst_dp_event_from_packet):
11692         * tests/complexity.c: (main):
11693         * tests/mass_elements.c: (main):
11694         * testsuite/states/locked.c: (message_received), (main):
11695         * testsuite/states/parent.c: (main):
11696         * tools/gst-inspect.c: (print_element_flag_info),
11697         (print_implementation_info), (print_pad_info):
11698         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11699         (main):
11700         * tools/gst-md5sum.c: (event_loop), (main):
11701         * tools/gst-typefind.c: (main):
11702         * tools/gst-xmlinspect.c: (print_element_info):
11703         Next big merge.
11704         Added GstBus for mainloop integration.
11705         Added GstMessage for sending notifications on the bus.
11706         Added GstTask as an abstraction for pipeline entry points.
11707         Removed GstThread.
11708         Removed Schedulers.
11709         Simplified GstQueue for multithreaded core.
11710         Made _link threadsafe, removed old capsnego.
11711         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11712         Added pad blocking functions.
11713         Reworked scheduling functions in GstPad to prepare for
11714         scheduling updates soon.
11715         Moved events out of data stream.
11716         Simplified GstEvent types.
11717         Added return values to push/pull.
11718         Removed clocking from GstElement.
11719         Added prototypes for state change function for next merge.
11720         Removed iterate from bins and state change management.
11721         Fixed some elements, disabled others for now.
11722         Fixed -inspect and -launch.
11723         Added check for GstBus.
11724
11725 2005-03-10  Wim Taymans  <wim@fluendo.com>
11726
11727         * docs/design/part-MT-refcounting.txt:
11728         * docs/design/part-clocks.txt:
11729         * docs/design/part-gstelement.txt:
11730         * docs/design/part-gstobject.txt:
11731         * docs/design/part-standards.txt:
11732         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11733         (gst_bin_remove_func), (gst_bin_remove):
11734         * gst/gstbin.h:
11735         * gst/gstbuffer.c:
11736         * gst/gstcaps.h:
11737         * testsuite/clock/clock1.c: (main):
11738         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11739         (main):
11740         * testsuite/dlopen/loadgst.c: (do_test):
11741         * testsuite/refcounting/bin.c: (add_remove_test1),
11742         (add_remove_test2), (main):
11743         * testsuite/refcounting/element.c: (main):
11744         * testsuite/refcounting/element_pad.c: (main):
11745         * testsuite/refcounting/pad.c: (main):
11746         * tools/gst-launch.c: (sigint_handler_sighandler):
11747         * tools/gst-typefind.c: (main):
11748         Doc updates.
11749         Added doc about clock.
11750         removed gst_bin_iterate_recurse_up(), marked methods
11751         for removal.
11752         Fix more testsuites.
11753
11754 2005-03-09  Wim Taymans  <wim@fluendo.com>
11755
11756         * gst/gstpad.c: (gst_pad_get_direction),
11757         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11758         (gst_pad_collect_valist):
11759         * testsuite/bins/interface.c: (main):
11760         * testsuite/caps/audioscale.c: (test_caps):
11761         * testsuite/caps/caps.c: (test1), (test2), (test3):
11762         * testsuite/caps/deserialize.c: (main):
11763         * testsuite/caps/enumcaps.c: (main):
11764         * testsuite/caps/filtercaps.c: (main):
11765         * testsuite/caps/intersect2.c: (main):
11766         * testsuite/caps/random.c: (main):
11767         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11768         * testsuite/caps/sets.c: (check_caps):
11769         * testsuite/caps/simplify.c: (check_caps), (main):
11770         * testsuite/caps/subtract.c: (check_caps):
11771         Fix _pad_get_direction wrt ghostpads.
11772         Fix caps testsuite.
11773
11774 2005-03-09  Wim Taymans  <wim@fluendo.com>
11775
11776         * check/Makefile.am:
11777         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11778         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11779         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11780         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11781         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11782         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11783         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11784         (bin_element_is_sink), (gst_bin_iterate_sinks),
11785         (gst_bin_iterate_all_by_interface):
11786         * gst/gstbin.h:
11787         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11788         (gst_element_change_state), (gst_element_dispose),
11789         (gst_element_finalize), (gst_element_set_loop_function):
11790         * gst/gstelement.h:
11791         * gst/gstiterator.c: (find_custom_fold_func):
11792         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11793         (gst_pad_collectv), (gst_pad_collect_valist),
11794         (gst_pad_template_new):
11795         * gst/gstpipeline.c: (gst_pipeline_class_init),
11796         (gst_pipeline_dispose), (gst_pipeline_set_property),
11797         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11798         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11799         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11800         * gst/gstutils.h:
11801         * gst/schedulers/entryscheduler.c:
11802         * gst/schedulers/gstbasicscheduler.c:
11803         (gst_basic_scheduler_cothreaded_chain),
11804         (gst_basic_scheduler_chain_add_element):
11805         * testsuite/bins/interface.c: (main):
11806         Added GstBin test.
11807         Added GstSystemClock test.
11808         Implemented clock distribution code in GstBin.
11809         Implemented iterate sinks method for future use.
11810         Rearranged gstelement.h
11811         Fix GstIterator comparison bug.
11812         Moved some code to GstPipeline, mostly clocking related.
11813
11814 2005-03-09  Wim Taymans  <wim@fluendo.com>
11815
11816         * configure.ac:
11817         * gst/gst_private.h:
11818         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11819         (gst_bin_remove_func), (gst_bin_remove),
11820         (gst_bin_get_by_name_recurse_up):
11821         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11822         (gst_clock_id_compare_func), (gst_clock_id_wait),
11823         (gst_clock_id_wait_async), (gst_clock_init),
11824         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11825         * gst/gstelement.h:
11826         * gst/gstinfo.c: (_gst_debug_init):
11827         * gst/gstobject.h:
11828         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11829         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11830         * gst/gstpad.h:
11831         Bump version number, we're now 0.9.0
11832         Add future debugging category.
11833         Fix NULL _unref() in _get_by_name_recurse_up
11834         Rearrange gstpad.h.
11835         Update some docs.
11836
11837 2005-03-08  Wim Taymans  <wim@fluendo.com>
11838
11839         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11840         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11841         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11842         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11843         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11844         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11845         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11846         * gst/elements/gstidentity.c: (gst_identity_class_init):
11847         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11848         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11849         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11850         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11851         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11852         (gst_tee_link):
11853         * gst/gstelement.c: (gst_element_class_init),
11854         (gst_element_base_class_init), (gst_element_init),
11855         (gst_element_get_random_pad), (gst_element_wait_state_change),
11856         (gst_element_change_state), (gst_element_dispose),
11857         (gst_element_finalize), (gst_element_set_loop_function):
11858         * gst/gstelement.h:
11859         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11860         * gst/gstthread.c: (gst_thread_class_init),
11861         (gst_thread_release_children_locks), (gst_thread_change_state):
11862         * gst/schedulers/gstbasicscheduler.c:
11863         (gst_basic_scheduler_loopfunc_wrapper),
11864         (gst_basic_scheduler_chain_wrapper),
11865         (gst_basic_scheduler_src_wrapper),
11866         (gst_basic_scheduler_remove_element):
11867         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11868         Remove threadsafe properties. Fix elements because GObject
11869         complains when installing a property before declaring a
11870         set/get_property handler.
11871         Rearrange gstelement.h file, use STATE macros for state locks.
11872         Free mutexes in the finalize method instead of dispose.
11873
11874 2005-03-08  Wim Taymans  <wim@fluendo.com>
11875
11876         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11877         * gst/gstthread.c: (gst_thread_release_children_locks):
11878         Added parentage check.
11879         Fix build og GstThread again.
11880
11881 2005-03-08  Wim Taymans  <wim@fluendo.com>
11882
11883         * docs/design/part-MT-refcounting.txt:
11884         * docs/design/part-conventions.txt:
11885         * docs/design/part-gstobject.txt:
11886         * docs/design/part-relations.txt:
11887         * docs/design/part-standards.txt:
11888         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11889         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11890         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11891         (gst_bin_iterate_all_by_interface):
11892         * gst/gstbuffer.h:
11893         * gst/gstclock.h:
11894         * gst/gstelement.c: (gst_element_class_init),
11895         (gst_element_change_state), (gst_element_set_loop_function):
11896         * gst/gstelement.h:
11897         * gst/gstiterator.c:
11898         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11899         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11900         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11901         (gst_object_set_parent), (gst_object_unparent),
11902         (gst_object_check_uniqueness):
11903         * gst/gstobject.h:
11904         Docs updates, clean up some headers.
11905
11906 2005-03-07  Wim Taymans  <wim@fluendo.com>
11907
11908         * check/.cvsignore:
11909         * check/Makefile.am:
11910         * check/gst-libs/.cvsignore:
11911         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11912         * check/gst/.cvsignore:
11913         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11914         (START_TEST), (gstbus_suite), (main):
11915         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11916         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11917         (gst_data_suite), (main):
11918         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11919         (add_fold_func), (gstiterator_suite), (main):
11920         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11921         (thread_name_object), (thread_name_object_default),
11922         (gst_object_name_compare), (gst_object_suite), (main):
11923         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11924         (gst_pad_suite), (main):
11925         * check/gstcheck.c: (gst_check_log_message_func),
11926         (gst_check_log_critical_func), (gst_check_init):
11927         * check/gstcheck.h:
11928         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11929         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11930         Added checks.
11931
11932 2005-03-07  Wim Taymans  <wim@fluendo.com>
11933
11934         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11935         (gst_list_iterator_next), (gst_list_iterator_resync),
11936         (gst_list_iterator_free), (gst_iterator_new_list),
11937         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11938         (gst_iterator_free), (gst_iterator_push), (filter_next),
11939         (filter_resync), (filter_uninit), (filter_free),
11940         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11941         (gst_iterator_foreach), (find_custom_fold_func),
11942         (gst_iterator_find_custom):
11943         * gst/gstiterator.h:
11944         Added missing files.
11945
11946 2005-03-07  Wim Taymans  <wim@fluendo.com>
11947
11948         * Makefile.am:
11949         * configure.ac:
11950         * docs/design/part-MT-refcounting.txt:
11951         * docs/design/part-conventions.txt:
11952         * docs/design/part-gstobject.txt:
11953         * docs/design/part-relations.txt:
11954         * examples/mixer/mixer.c: (main):
11955         * examples/thread/thread.c: (eos), (main):
11956         * gst/Makefile.am:
11957         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11958         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11959         (gst_spider_plug_from_srcpad):
11960         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11961         (gst_spider_identity_change_state),
11962         (gst_spider_identity_sink_loop_type_finding):
11963         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11964         * gst/elements/gstidentity.c: (gst_identity_init):
11965         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11966         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11967         * gst/elements/gsttypefindelement.c: (free_entry):
11968         * gst/gst.c:
11969         * gst/gst.h:
11970         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11971         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11972         (gst_bin_set_index), (gst_bin_set_element_sched),
11973         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11974         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11975         (gst_bin_iterate_elements), (iterate_child_recurse),
11976         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11977         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11978         (compare_interface), (gst_bin_get_by_interface),
11979         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11980         * gst/gstbin.h:
11981         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11982         (gst_buffer_default_free), (gst_buffer_default_copy),
11983         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11984         (gst_buffer_create_sub):
11985         * gst/gstbuffer.h:
11986         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11987         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11988         (gst_caps_unref), (gst_static_caps_get),
11989         (gst_caps_remove_and_get_structure), (gst_caps_append),
11990         (gst_caps_append_structure), (gst_caps_remove_structure),
11991         (gst_caps_copy_nth), (gst_caps_set_simple),
11992         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11993         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11994         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11995         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11996         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11997         (gst_caps_structure_figure_out_union),
11998         (gst_caps_switch_structures), (gst_caps_do_simplify),
11999         (gst_caps_replace), (gst_caps_from_string),
12000         (gst_caps_copy_conditional):
12001         * gst/gstcaps.h:
12002         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12003         (_gst_clock_id_free), (gst_clock_id_unref),
12004         (gst_clock_id_compare_func), (gst_clock_id_wait),
12005         (gst_clock_id_wait_async), (gst_clock_class_init),
12006         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12007         (gst_clock_get_time), (gst_clock_set_time_adjust),
12008         (gst_clock_set_property), (gst_clock_get_property):
12009         * gst/gstclock.h:
12010         * gst/gstcompat.h:
12011         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12012         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12013         * gst/gstdata.h:
12014         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12015         (gst_element_requires_clock), (gst_element_provides_clock),
12016         (gst_element_set_clock), (gst_element_clock_wait),
12017         (gst_element_wait), (gst_element_set_time_delay),
12018         (gst_element_is_indexable), (gst_element_add_pad),
12019         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12020         (pad_compare_name), (gst_element_get_static_pad),
12021         (gst_element_request_pad), (gst_element_get_request_pad),
12022         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12023         (gst_element_class_get_pad_template_list),
12024         (gst_element_class_get_pad_template), (gst_element_error_func),
12025         (gst_element_get_random_pad), (gst_element_get_event_masks),
12026         (gst_element_send_event), (gst_element_seek),
12027         (gst_element_get_query_types), (gst_element_query),
12028         (gst_element_get_formats), (gst_element_convert),
12029         (gst_element_is_locked_state), (gst_element_set_locked_state),
12030         (gst_element_sync_state_with_parent), (gst_element_change_state),
12031         (gst_element_finalize), (gst_element_yield),
12032         (gst_element_interrupt), (gst_element_set_scheduler),
12033         (gst_element_get_scheduler), (gst_element_set_loop_function):
12034         * gst/gstelement.h:
12035         * gst/gstevent.h:
12036         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12037         (gst_format_get_by_nick), (gst_format_get_details),
12038         (gst_format_iterate_definitions):
12039         * gst/gstformat.h:
12040         * gst/gstindex.c: (gst_index_gtype_resolver):
12041         * gst/gstinfo.c:
12042         * gst/gstinfo.h:
12043         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12044         (gst_mem_chunk_free):
12045         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12046         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12047         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12048         (gst_object_dispatch_properties_changed),
12049         (gst_object_set_name_default), (gst_object_set_name),
12050         (gst_object_get_name), (gst_object_set_name_prefix),
12051         (gst_object_get_name_prefix), (gst_object_set_parent),
12052         (gst_object_get_parent), (gst_object_unparent),
12053         (gst_object_check_uniqueness), (gst_object_save_thyself),
12054         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12055         (gst_object_set_property), (gst_object_get_property),
12056         (gst_object_get_path_string):
12057         * gst/gstobject.h:
12058         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12059         (gst_real_pad_init), (gst_real_pad_get_property),
12060         (gst_pad_custom_new), (gst_pad_get_direction),
12061         (gst_pad_set_active), (gst_pad_is_active),
12062         (gst_pad_set_event_function), (gst_pad_is_linked),
12063         (gst_pad_link_free), (gst_pad_link_intersect),
12064         (gst_pad_link_fixate), (gst_pad_set_caps),
12065         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12066         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12067         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12068         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12069         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12070         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12071         (gst_pad_realize), (gst_pad_get_allowed_caps),
12072         (gst_real_pad_dispose), (gst_real_pad_finalize),
12073         (gst_pad_collectv), (gst_pad_collect_valist),
12074         (gst_pad_template_dispose), (gst_pad_template_new),
12075         (gst_pad_get_internal_links):
12076         * gst/gstpad.h:
12077         * gst/gstpipeline.c: (gst_pipeline_dispose),
12078         (gst_pipeline_change_state):
12079         * gst/gstpipeline.h:
12080         * gst/gstplugin.c:
12081         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12082         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12083         * gst/gstpluginfeature.h:
12084         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12085         * gst/gstquery.c: (_gst_query_type_initialize),
12086         (gst_query_type_register), (gst_query_type_get_by_nick),
12087         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12088         * gst/gstquery.h:
12089         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12090         * gst/gstscheduler.c: (gst_scheduler_add_element),
12091         (gst_scheduler_factory_create):
12092         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12093         (gst_structure_free), (gst_structure_set_name),
12094         (gst_structure_id_set_value), (gst_structure_set_value),
12095         (gst_structure_set_valist), (gst_structure_remove_field),
12096         (gst_structure_remove_fields),
12097         (gst_structure_remove_fields_valist),
12098         (gst_structure_remove_all_fields), (gst_structure_foreach),
12099         (gst_structure_map_in_place),
12100         (gst_caps_structure_fixate_field_nearest_int),
12101         (gst_caps_structure_fixate_field_nearest_double):
12102         * gst/gststructure.h:
12103         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12104         (gst_system_clock_init), (gst_system_clock_dispose),
12105         (gst_system_clock_async_thread),
12106         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12107         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12108         * gst/gstsystemclock.h:
12109         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12110         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12111         * gst/gsttaginterface.c:
12112         * gst/gstthread.c: (gst_thread_dispose),
12113         (gst_thread_release_children_locks), (gst_thread_change_state),
12114         (gst_thread_main_loop):
12115         * gst/gsttrashstack.h:
12116         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12117         * gst/gsttypes.h:
12118         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12119         (gst_element_request_pad), (gst_element_get_pad_from_template),
12120         (gst_element_request_compatible_pad),
12121         (gst_element_get_compatible_pad_filtered),
12122         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12123         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12124         (gst_element_link_many), (gst_element_link),
12125         (gst_element_link_pads), (gst_element_unlink_pads),
12126         (gst_element_unlink_many), (gst_element_unlink),
12127         (gst_pad_can_link_filtered), (gst_pad_can_link),
12128         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12129         (gst_object_default_error), (gst_bin_add_many),
12130         (gst_bin_remove_many), (gst_element_populate_std_props),
12131         (gst_element_class_install_std_props), (gst_buffer_merge),
12132         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12133         (link_fold_func), (gst_pad_proxy_setcaps):
12134         * gst/gstutils.h:
12135         * gst/gstvalue.c: (gst_value_deserialize_string):
12136         * gst/parse/grammar.y:
12137         * gst/schedulers/gstbasicscheduler.c:
12138         (gst_basic_scheduler_cothreaded_chain),
12139         (gst_basic_scheduler_chain_recursive_add),
12140         (gst_basic_scheduler_pad_link):
12141         * gst/schedulers/gstoptimalscheduler.c:
12142         (get_group_schedule_function),
12143         (gst_opt_scheduler_state_transition),
12144         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12145         * libs/gst/bytestream/bytestream.c:
12146         * libs/gst/dataprotocol/dataprotocol.c:
12147         (gst_dp_header_from_buffer):
12148         * po/nb.po:
12149         * po/ru.po:
12150         * tests/threadstate/threadstate2.c: (eos):
12151         * tools/gst-compprep.c: (main):
12152         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12153         (print_pad_info), (print_children_info):
12154         * tools/gst-launch.c: (idle_func), (main):
12155         * tools/gst-md5sum.c: (idle_func), (main):
12156         * tools/gst-xmlinspect.c: (print_element_info):
12157         First THREADED backport attempt, focusing on adding locks and
12158         making sure the API is threadsafe. Needs more work. More docs
12159         follow this week.
12160
12161 2005-02-24  Andy Wingo  <wingo@pobox.com>
12162
12163         * tests/bench-complexity.scm:
12164         * tests/complexity.gnuplot: New files, good for running complexity
12165         benchmarks.
12166
12167         * tests/Makefile.am:
12168         * tests/complexity.c: New test, sets up N elements, at each level
12169         teeing into M streams per element. Eeeenteresting.
12170
12171         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12172         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12173         running bench-mass_elements.scm.
12174
12175         * tests/bench-mass_elements.scm: New script, runs mass_elements
12176         for various numbers of identities, outputting the results to a
12177         file. Requires guile 1.6. Just for testing.
12178
12179 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12180
12181         * gst/schedulers/fairscheduler.c:
12182           compile with debug disabled
12183
12184 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12185
12186         * configure.ac:
12187           hunting season on 0.9 is now OPEN