gst/base/gstbasesink.c: Properly handle non GST_FORMAT_TIME segment
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-29  Edward Hervey  <edward@fluendo.com>
2
3         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4         (gst_base_sink_event), (gst_base_sink_do_sync),
5         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6         Properly handle non GST_FORMAT_TIME segment
7         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8         Properly handle non GST_FORMAT_TIME segment
9         * gst/gstsegment.c:
10         This function is valid if the accumulator is 0 and the format
11         is different from the requested format.
12         
13 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14
15         * docs/gst/gstreamer-sections.txt:
16         Add gst_query_new_seeking and gst_query_parse_seeking to the
17         docs.
18
19 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
20
21         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
22           Treat a pad alloc with new caps the same as if we were not
23           negotiated, in order to allow a changing upstream output
24           to produce a new format of data.
25
26 2005-11-29  Edward Hervey  <edward@fluendo.com>
27
28         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
29         (gst_base_transform_event), (gst_base_transform_eventfunc):
30         The event virtual method is now properly implemented, with a default
31         handler
32         Sub classes should call the parent_class event method. They should
33         return FALSE if they had a problem handling the given event, or don't
34         want GstBaseTransform to send that even downstream
35         * gst/elements/gstidentity.c: (gst_identity_class_init),
36         (gst_identity_init), (gst_identity_event),
37         (gst_identity_transform_ip), (gst_identity_set_property),
38         (gst_identity_get_property):
39         * gst/elements/gstidentity.h:
40         Added the single-segment boolean property.
41         If set to TRUE, it will output a single segment of data, starting from
42         0, will eat up all incoming newsegment, and modify the timestamp of the
43         buffers accordingly
44
45 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
48           Don't ref NULL target pad (#322751). Improve docs.
49
50 2005-11-29  Michael Smith  <msmith@fluendo.com>
51
52         * gst/gstregistryxml.c: (load_plugin):
53           Don't crash if we failed to load a feature from a plugin. 
54
55 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
56
57         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
58         (GST_START_TEST):
59           use more check API and less GLib API
60
61 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
62
63         * Makefile.am:
64           don't run checks if we don't have check
65         * common/check.mak:
66           remove the registry when running make torture
67         * docs/gst/gstreamer-sections.txt:
68           remove second multiply
69         * gst/gstqueue.c: (gst_queue_loop):
70           fix a compile warning when disabling debug
71
72 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
73
74         * gst/gstinfo.h:
75         Hey! Let's print the pad name if the pointer != NULL instead
76         of when it == NULL :-)
77
78 2005-11-28  Wim Taymans  <wim@fluendo.com>
79
80         * check/gst/gstutils.c: (GST_START_TEST):
81         Updated check, add some scaling accuracy checking code.
82
83         * gst/gstutils.c: (gst_util_div128_64),
84         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
85         (gst_util_uint64_scale_int):
86         Fix 6 times faster division code. Optimize for common 
87         1/1 and less common X/1 cases.
88
89 2005-11-28  Wim Taymans  <wim@fluendo.com>
90
91         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
92         More checks.
93
94         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
95         (do_linear_regression), (gst_clock_add_observation):
96         Cleanups.
97         Release lock when the clock cannot be slaved.
98         Catch the case where the regression returned an invalid denominator.
99
100         * gst/gstutils.c: (gst_util_div128_64_iterate),
101         (gst_util_div128_64), (gst_util_uint64_scale_int64),
102         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
103         Add protentially more performant non-iterative 128/64 divide function
104         that unfortunatly does not work yet.
105         Shortcut the trivial 0/X = 0 case.
106         Remove the warnings on overflow.
107
108 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
109
110         * gst/gstplugin.c: (gst_plugin_register_func):
111           everything causing a plugin not to load should be at least a WARNING
112
113 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
114
115         * docs/random/ensonic/dparams.txt:
116           some TODOs for the next dev cycle
117         * libs/gst/controller/gstcontroller.c:
118         (gst_controlled_property_set_interpolation_mode),
119         (gst_controlled_property_new):
120         * libs/gst/controller/gstcontroller.h:
121           use base type to assign acccessor functions
122
123 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
124
125         * check/Makefile.am:
126         Oops, that should have been top_srcdir
127
128 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
129
130         * check/Makefile.am:
131         * check/elements/fdsrc.c: (GST_START_TEST):
132         Use a cmdline define to specify the location of a file to use for
133         testing, to avoid breaking distcheck.
134
135 2005-11-28  Andy Wingo  <wingo@pobox.com>
136
137         * gst/gstpad.c (fixate_value): Use array functions for arrays.
138
139 2005-11-28  Edward Hervey  <edward@fluendo.com>
140
141         * tools/gst-launch.c: (main):
142         Clarify the output strings, makes it easier to translate.
143         Fixes #322626
144
145 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
146
147         * gst/Makefile.am:
148           don't try and build net if we don't even have <sys/socket.h>
149
150 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
151
152         * check/Makefile.am:
153         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
154         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
155           Add tests for fdsrc seekability
156
157         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
158         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
159         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
160         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
161         * gst/elements/gstfdsrc.h:
162           fdsrc should not be a 'live' source.
163           Implement seeking on seekable fd's.
164
165         * gst/gstquery.c: (gst_query_new_seeking),
166         (gst_query_parse_seeking):
167         * gst/gstquery.h:
168           Implement SEEKING query functions: 
169             *_new_seeking and *_parse_seeking
170
171 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
172
173         * gst/gstelement.c: (gst_element_dispose):
174           don't loop forever
175
176         * gst/gstiterator.c:
177         * gst/gststructure.c:
178           doc fixes
179
180         * libs/gst/controller/gstcontroller.c:
181         (gst_controlled_property_set_interpolation_mode):
182         * libs/gst/controller/gstcontroller.h:
183         * libs/gst/controller/gstinterpolation.c:
184         (interpolate_none_get_enum_value_array):
185           support controlling enums
186
187 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
188
189         * gst/gstvalue.c:
190           Improve documentation for gst_value_union().
191
192         * gst/gstvalue.h:
193           Change return value for union, intersect and subtract functions
194           from gint to gboolean.
195
196 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
197
198         * gst/gstvalue.c: (gst_value_serialize_any_list),
199         (gst_value_transform_any_list_string),
200         (gst_value_deserialize_list), (gst_value_deserialize_array),
201         (gst_value_set_int_range), (gst_value_deserialize_int_range),
202         (gst_value_set_double_range), (gst_value_deserialize_double_range),
203         (gst_value_set_fraction_range_full),
204         (gst_value_deserialize_fraction_range),
205         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
206         (gst_value_deserialize_boolean),
207         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
208         (gst_value_serialize_float), (gst_value_deserialize_float),
209         (gst_string_wrap), (gst_value_deserialize_string),
210         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
211         (gst_value_union_int_range_int_range),
212         (gst_value_intersect_int_range_int_range),
213         (gst_value_intersect_double_range_double_range),
214         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
215         (gst_value_subtract_int_range_int_range),
216         (gst_value_subtract_double_double_range),
217         (gst_value_subtract_double_range_double_range),
218         (gst_value_deserialize_fraction):
219         * gst/gstvalue.h:
220           Use gint, gdouble and gchar in our API instead of int, double and
221           char (and make usage in gstvalue.c more consistent).
222
223 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
224
225         * check/Makefile.am:
226         * libs/gst/controller/Makefile.am:
227         * libs/gst/dataprotocol/Makefile.am:
228           fix up Makefile.am and remove GST_ENABLE_NEW
229
230 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
231
232         * configure.ac:
233         * gst/Makefile.am:
234         * gst/base/Makefile.am:
235         * gst/check/Makefile.am:
236         * gst/elements/Makefile.am:
237         * gst/net/Makefile.am:
238           update LDFLAGS use some more
239
240 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
241
242         * common/m4/gst-doc.m4:
243           Fixes #312589
244
245 2005-11-26  Edward Hervey  <edward@fluendo.com>
246
247         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
248         This shouldn't issue a g_warning since it returns NULL if it
249         couldn't find the plugin, and all functions using this behave
250         properly on a NULL return. Switching to a GST_WARNING.
251
252 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
253
254         * gst/gstbin.c: (gst_bin_handle_message_func):
255         Don't leak clock messages.
256
257 2005-11-25  Wim Taymans  <wim@fluendo.com>
258
259         * gst/gstutils.c: (gst_util_uint64_scale_int64),
260         (gst_util_uint64_scale_int):
261         Optimisations, remove unneeded vars.
262
263 2005-11-25  Wim Taymans  <wim@fluendo.com>
264
265         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
266         Added more checks for the high precision uint64 cases.
267
268         * gst/gstutils.c: (gst_util_uint64_scale_int64),
269         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
270         Implement high precission (guint64 * guint64) / guint64.
271
272 2005-11-24  Wim Taymans  <wim@fluendo.com>
273
274         * gst/base/gstbasesrc.c: (gst_base_src_query):
275         Fix wrong percentage query.
276
277         * gst/gstutils.c: (gst_util_uint64_scale),
278         (gst_util_uint64_scale_int):
279         Add some more common cases that can be handled 
280         efficiently to _scale.
281
282 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
283
284         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
285         (gst_mini_object_suite):
286           don't use check calls from threads; check probably isn't
287           threadsafe and using a lock to make it threadsafe would
288           defeat the purpose of this check
289         * gst/check/gstcheck.c:
290         * gst/check/gstcheck.h:
291           use GST_DEBUG some more
292
293 2005-11-24  Wim Taymans  <wim@fluendo.com>
294
295         * gst/gstutils.c: (gst_util_uint64_scale),
296         (gst_util_uint64_scale_int):
297         Chain trivial case to _scale_int.
298
299 2005-11-24  Wim Taymans  <wim@fluendo.com>
300
301         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
302         Added test for scaling.
303
304         * gst/gstclock.h:
305         Small doc fix.
306
307         * gst/gstutils.c: (gst_util_uint64_scale_int):
308         Implemented high precision scaling code.
309
310 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
311
312         * gst/gstinfo.h:
313           do not crash on pad==NULL
314
315 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
316
317         Patch by: Stefan Kost
318
319         * common/gtk-doc.mak:
320         * docs/gst/Makefile.am:
321         * docs/libs/Makefile.am:
322           Fix distcheck issues for the libraries docs build
323           Closes #319599.
324
325 2005-11-24  Michael Smith <msmith@fluendo.com>
326
327         * docs/manual/basics-helloworld.xml:
328           Fix bug #315027: memory leak in example code in docs.
329
330 2005-11-24  Michael Smith <msmith@fluendo.com>
331
332         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
333           Unlock the PREROLL_LOCK in a failure case.
334
335 2005-11-24  Wim Taymans  <wim@fluendo.com>
336
337         * docs/gst/gstreamer-sections.txt:
338         * gst/base/gstadapter.h:
339         * gst/base/gstbasesink.h:
340         * gst/base/gstbasesrc.h:
341         * gst/base/gstbasetransform.h:
342         * gst/base/gstpushsrc.h:
343         * gst/elements/gstfakesink.h:
344         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
345         * gst/elements/gstfakesrc.h:
346         * gst/elements/gstfilesink.h:
347         * gst/elements/gstfilesrc.h:
348         * gst/gst.c:
349         * gst/gstbin.c:
350         * gst/gstbuffer.c: (_gst_buffer_copy):
351         * gst/gstbus.h:
352         * gst/gstcaps.c:
353         * gst/gstchildproxy.c:
354         * gst/gstclock.c:
355         * gst/gstelement.c:
356         * gst/gstelementfactory.c:
357         * gst/gstelementfactory.h:
358         * gst/gstevent.c:
359         * gst/gstghostpad.h:
360         * gst/gstindex.h:
361         * gst/gstinterface.h:
362         * gst/gstminiobject.c:
363         * gst/gstminiobject.h:
364         * gst/gstpad.c:
365         * gst/gstpad.h:
366         * gst/gstpadtemplate.h:
367         * gst/gstpipeline.h:
368         * gst/gstpluginfeature.h:
369         * gst/gstquery.h:
370         * gst/gstqueue.h:
371         * gst/gsttaglist.c:
372         * gst/gsttaglist.h:
373         * gst/gsttagsetter.c:
374         * gst/gsttagsetter.h:
375         * gst/gsttrace.c:
376         * gst/gsttrace.h:
377         * gst/gsttypefind.h:
378         * gst/gsturi.h:
379         * gst/gstvalue.c:
380         * gst/net/gstnetclientclock.c:
381         * gst/net/gstnetclientclock.h:
382         * gst/net/gstnettimepacket.c:
383         * gst/net/gstnettimeprovider.c:
384         * gst/net/gstnettimeprovider.h:
385         Doc fixes.
386
387 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
388
389         * configure.ac: back to HEAD
390
391 === release 0.9.6 ===
392
393 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
394
395         * configure.ac:
396           releasing 0.9.6, "Always On Time"
397
398 2005-11-23  Wim Taymans  <wim@fluendo.com>
399
400         * docs/gst/gstreamer-sections.txt:
401         * gst/glib-compat.c:
402         * gst/gsttagsetter.c:
403         * gst/gstvalue.c:
404         * gst/net/gstnetclientclock.c:
405         * gst/net/gstnettimepacket.h:
406         Doc updates.
407
408 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
409
410         * docs/faq/using.xml:
411         * docs/libs/tmpl/gstcontrol.sgml:
412         * docs/manual/advanced-dparams.xml:
413         * docs/manual/appendix-checklist.xml:
414         * docs/manual/basics-elements.xml:
415         * docs/pwg/other-source.xml:
416         * docs/random/moving-plugins:
417         * gst/gstpad.c:
418         * tools/gst-launch.1.in:
419           remove mentions of sinesrc
420
421 2005-11-23  Michael Smith <msmith@fluendo.com>
422
423         * docs/gst/gstreamer-sections.txt:
424           Update for new API and API changes.
425         * gst/gstobject.h:
426           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
427         * gst/gstvalue.c:
428           Documentation typo fix.
429         * gst/net/gstnettimepacket.c:
430           Documentation fixes for arguments.
431
432 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
433
434         * gst/gststructure.c: (gst_structure_get_fraction),
435         (gst_structure_parse_value),
436         (gst_structure_fixate_field_nearest_fraction):
437         * gst/gststructure.h:
438         * gst/gstutils.c: (gst_util_uint64_scale_int):
439         * gst/gstutils.h:
440         * scripts/update-funcnames:
441         API Changes. 
442         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
443         Make gst_structure_fixate_field_nearest_fraction take a numerator
444         and denominator argument instead of a GValue
445         add gst_structure_get_fraction helper function.
446
447 2005-11-23  Wim Taymans  <wim@fluendo.com>
448
449         * docs/design/part-TODO.txt:
450         Update TODO.
451
452         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
453         * gst/net/gstnetclientclock.h:
454         Use parent fields for timeout and window_size.
455
456 2005-11-23  Andy Wingo  <wingo@pobox.com>
457
458         * check/net/gstnetclientclock.c (test_functioning): Adjust to
459         rate_num/rate_denom change.
460
461         * gst/net/gstnetclientclock.c
462         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
463         OBJECT_LOCK. Don't call add_observation with the lock.
464
465         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
466         fraction.
467         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
468         rate fraction.
469         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
470         deal with rate as a fraction whose numerator and denominator are
471         GstClockTime values.
472         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
473         master; the other fields are protected by the SLAVE_LOCK.
474         (do_linear_regression): Note that this must be called with the
475         SLAVE_LOCK.
476         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
477         OBJECT_LOCK. Call set_calibration instead of touching the
478         variables directly.
479         (gst_clock_set_property, gst_clock_get_property): Protect
480         master/slave parameters with the SLAVE_LOCK.
481
482         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
483         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
484         note that all of the instance variables that add_observation and
485         the set_master functions use are protected by that lock and not
486         the OBJECT_LOCK.
487         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
488
489         * gst/gstclock.c (gst_clock_add_observation): No longer requires
490         the caller to take the object lock.
491
492 2005-11-23  Wim Taymans  <wim@fluendo.com>
493
494         * gst/gsterror.c: (_gst_core_errors_init):
495         * gst/gsterror.h:
496         Add error for clock stuff.
497
498         * gst/gstpipeline.c: (gst_pipeline_change_state),
499         (gst_pipeline_set_clock):
500         Post clock error when clock cannot be used in a pipeline.
501
502 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
503
504         * docs/gst/gstreamer-sections.txt:
505           make two symbols from gstinfo private for the docs
506         * gst/base/gstcollectpads.h:
507         * gst/gstutils.c:
508           fix doc typos, update docs
509
510 2005-11-22  Wim Taymans  <wim@fluendo.com>
511
512         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
513         (gst_base_sink_wait), (gst_base_sink_do_sync),
514         (gst_base_sink_handle_event):
515         * gst/base/gstbasesink.h:
516         No need to store the clock, the parent element class already
517         has it.
518
519         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
520         Updates for clock_set returning a gboolean
521
522         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
523         (gst_clock_id_wait_async), (gst_clock_class_init),
524         (gst_clock_init), (gst_clock_finalize),
525         (gst_clock_get_internal_time), (gst_clock_get_time),
526         (gst_clock_slave_callback), (gst_clock_set_master),
527         (gst_clock_get_master), (do_linear_regression),
528         (gst_clock_add_observation), (gst_clock_set_property),
529         (gst_clock_get_property):
530         * gst/gstclock.h:
531         Implement master/slave. When setting a clock as a slave, a
532         periodic timeout is scheduled to sample master and slave times.
533         Then the slave clock is recalibrated to match offset and rate
534         of the master clock.
535         Update logging a bit.
536         Add flag so that a clock can state that is cannot be slaved to
537         another clock.
538
539         * gst/gstelement.c: (gst_element_set_clock):
540         * gst/gstelement.h:
541         The set clock returns a gboolean for when an element cannot
542         deal with the selected clock in the pipeline. 
543
544         * gst/gstpipeline.c: (gst_pipeline_change_state),
545         (gst_pipeline_set_clock):
546         * gst/gstpipeline.h:
547         Handle the case where the selected clock cannot be set on
548         the pipeline.
549
550         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
551         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
552         (gst_net_client_clock_set_property),
553         (gst_net_client_clock_get_property),
554         (gst_net_client_clock_observe_times):
555         * gst/net/gstnetclientclock.h:
556         Use regression code in GstClock parent, remove duplicated
557         functionality.
558
559 2005-11-22  Michael Smith <msmith@fluendo.com>
560
561         * gst/gstutils.c: (gst_util_clock_time_scale):
562         * gst/gstutils.h:
563         * docs/gst/gstreamer-sections.txt:
564           Rename method to have extra underscore.
565
566 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
567
568         * gst/elements/Makefile.am:
569         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
570         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
571         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
572         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
573         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
574         * gst/elements/gstfakesrc.h:
575         * gst/gstqueue.c: (queue_leaky_get_type):
576           correctly fix GEnumValues so that nick is the short lowercase
577           dashed tag
578         * tools/gst-inspect.c: (print_element_properties_info):
579           also show the nick, since it's useful to use from parse_launch
580           syntax
581           Fixes #322139
582
583 2005-11-22  Michael Smith <msmith@fluendo.com>
584
585         * gst/gstutils.c: (gst_util_clocktime_scale):
586         * gst/gstutils.h:
587         * docs/gst/gstreamer-sections.txt:
588           Add util method for scaling a clocktime by a fraction. Useful 
589           implementation is left as an exercise for the reader.
590
591 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
592
593         * gst/gstvalue.c: (gst_value_collect_fraction_range):
594         If needed, allocate storage in the destination value during
595         collection.
596
597 2005-11-22  Edward Hervey  <edward@fluendo.com>
598
599         * docs/gst/gstreamer-sections.txt:
600         * gst/Makefile.am:
601         * gst/gst.h:
602         * gst/gsturitype.c:
603         * gst/gsturitype.h:
604         * gst/gstutils.c: (gst_util_set_object_arg):
605         * tools/gst-compprep.c: (main):
606         * tools/gst-inspect.c: (print_element_properties_info):
607         Removed GstURI, closes bug #321061
608
609 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
610
611         * check/gst/gststructure.c: (GST_START_TEST):
612         * gst/gststructure.c: (gst_structure_parse_value):
613           Oops, broke automatic string type parsing.
614           Add a test to catch it in future.
615
616 2005-11-22  Andy Wingo  <wingo@pobox.com>
617
618         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
619         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
620         Actually rename the function implementations. Grr.
621
622 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
623
624         * check/gst/capslist.h:
625           Comment test cases
626         * check/gst/gststructure.c: (GST_START_TEST),
627         (gst_structure_suite):
628           Test automatic value type detection in gst_structure_from_string.
629         * gst/gststructure.c: (gst_structure_parse_value):
630           Add fraction as a type we try and guess automatically in
631           caps/structure strings.
632
633 2005-11-22  Andy Wingo  <wingo@pobox.com>
634
635         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
636
637         * gst/gsttagsetter.h:
638         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
639         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
640         (gst_tag_setter_add_tag_valist)
641         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
642         _add_values, _add_valist, and _add_valist_values. Since this is an
643         interface the function suffixes should be more explicit so
644         language binding don't end up with element.add_valist ->
645         gst_tag_setter_add_valist, for example. Fixes #322069.
646
647 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
648
649         * check/gst/gstcaps.c: (GST_START_TEST):
650           Extend caps string tests to check that a caps to string
651           conversion is reversible and produces the same caps.
652
653         * gst/gststructure.c: (gst_structure_value_get_generic_type):
654           Output "fraction" as the generic type fraction range, so caps
655           serialisation and deserialisation works.
656         * check/gst/capslist.h:
657         * gst/gstvalue.c: (gst_value_deserialize_fraction):
658           Support 'MIN' and 'MAX' for deserialising fractions.
659
660 2005-11-22  Andy Wingo  <wingo@pobox.com>
661
662         * gst/gstevent.h (gst_event_new_new_segment)
663         (gst_event_parse_new_segment, gst_event_new_buffer_size)
664         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
665         Renamed from *_newsegment, *_buffersize, *_notarget.
666
667         * scripts/update-funcnames: New script, performs the changes
668         listed above.
669
670 2005-11-22  Wim Taymans  <wim@fluendo.com>
671
672         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
673         Make sure the GstFlowReturn is returned.
674
675         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
676         (gst_bus_add_signal_watch):
677         * gst/gstbus.h:
678         add gst_bus_add_signal_watch_full.
679
680         * gst/gstplugin.c: (gst_plugin_load_file):
681         Small style cleanup.
682
683 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
684
685         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
686           Block the fakesrc srcpad when we send an event, to avoid
687           contention on the stream_lock causing random test failures.
688
689 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
690
691         * check/gst/gstvalue.c: (GST_START_TEST):
692         * gst/gstvalue.c: (gst_value_fraction_subtract):
693           Fix subtraction.
694
695 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
696
697         * gst/gst.h:
698           include "gstchildproxy.h"
699         * gst/gstchildproxy.h:
700         * libs/gst/controller/gstcontroller.h:
701           use G_GNUC_NULL_TERMINATED
702
703 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
704
705         * check/gst/capslist.h:
706         * check/gst/gstcaps.c: (GST_START_TEST):
707         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
708         * gst/gststructure.c: (gst_structure_parse_range),
709         (gst_structure_fixate_field_nearest_fraction):
710         * gst/gststructure.h:
711         * gst/gstvalue.c: (gst_value_init_fraction_range),
712         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
713         (gst_value_collect_fraction_range),
714         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
715         (gst_value_set_fraction_range_full),
716         (gst_value_get_fraction_range_min),
717         (gst_value_get_fraction_range_max),
718         (gst_value_serialize_fraction_range),
719         (gst_value_transform_fraction_range_string),
720         (gst_value_compare_fraction_range),
721         (gst_value_deserialize_fraction_range),
722         (gst_value_intersect_fraction_fraction_range),
723         (gst_value_intersect_fraction_range_fraction_range),
724         (gst_value_subtract_fraction_fraction_range),
725         (gst_value_subtract_fraction_range_fraction),
726         (gst_value_subtract_fraction_range_fraction_range),
727         (gst_value_collect_fraction), (gst_value_fraction_multiply),
728         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
729         (gst_value_transform_string_fraction), (_gst_value_initialize):
730         * gst/gstvalue.h:
731           Implement fraction ranges and extend GstFraction to support
732           arithmetic subtraction, as well as deserialization from integer
733           strings such as "100"
734           Add a testsuite as for int and double range set operations
735
736 2005-11-21  Andy Wingo  <wingo@pobox.com>
737
738         * gst/gsttaglist.h: 
739         * gst/gstcaps.h: 
740         * gst/gststructure.h: Add glib-compat.h.
741
742 2005-11-21  Wim Taymans  <wim@fluendo.com>
743
744         * gst/gstbin.c: (gst_bin_change_state_func):
745         Fix for #321595
746
747 2005-11-21  Wim Taymans  <wim@fluendo.com>
748
749         * gst/gstsegment.h:
750         And add a nice define too.
751
752 2005-11-21  Wim Taymans  <wim@fluendo.com>
753
754         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
755         (gst_segment_new), (gst_segment_free), (gst_segment_init),
756         (gst_segment_set_duration), (gst_segment_set_last_stop),
757         (gst_segment_set_seek), (gst_segment_set_newsegment),
758         (gst_segment_to_stream_time), (gst_segment_to_running_time),
759         (gst_segment_clip):
760         * gst/gstsegment.h:
761         Make binding friendly.
762
763 2005-11-21  Andy Wingo  <wingo@pobox.com>
764
765         * gst/gsttagsetter.h: 
766         * gst/gsttaglist.h: 
767         * gst/gststructure.h: 
768         * gst/gstcaps.h: 
769         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
770         #319940.
771
772         * gst/gsterror.c (_gst_core_errors_init):
773         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
774         category.
775
776         * gst/Makefile.am (gst_headers): Add glib-compat.h.
777         (noinst_HEADERS): noinst the -private.
778
779 2005-11-21  Michael Smith <msmith@fluendo.com>
780
781         * gst/gstplugin.h:
782         * gst/gstregistry.h:
783           Remove unimplemented declarations for which we can see no sensible
784           use.
785
786 2005-11-21  Andy Wingo  <wingo@pobox.com>
787
788         * gst/gst.h: Include glib-compat.h.
789
790         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
791
792         * gst/glib-compat.c: Include the public and the private header.
793
794         * gst/glib-compat-private.h: Copied here from glib-compat.h.
795
796         * gst/gstvalue.c: 
797         * gst/gstpad.c: 
798         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
799
800         * check/gst/gstevent.c (create_custom_events): Check that
801         FLUSH_STOP is serialized.
802
803         * check/elements/identity.c (event_func): 
804         * check/elements/fakesrc.c (event_func): No stream lock, the core
805         takes it.
806
807         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
808         stream lock taking, yay.
809
810         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
811         ensure that core takes the stream lock.
812
813         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
814         lock name change.
815
816         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
817         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
818         it already. For the flush start we do take it though so we get the
819         right preroll state change messages.
820
821         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
822         the stream lock here, the core does it for us.
823
824         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
825         GST_STREAM_GET_LOCK.
826         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
827         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
828         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
829         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
830         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
831         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
832
833         * gst/gstpad.c: Update for stream lock name change.
834
835         * gst/base/gstbasesink.c: Update for preroll lock name change.
836
837 2005-11-21  Wim Taymans  <wim@fluendo.com>
838
839         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
840         (gst_clock_get_master):
841         * gst/gstclock.h:
842         * gst/gstsystemclock.c: (gst_system_clock_init):
843         Convert Clock flags to object flags.
844         Added methods to manage master/slave clocks.
845
846 2005-11-21  Wim Taymans  <wim@fluendo.com>
847
848         * check/gst/gstsegment.c: (GST_START_TEST):
849         * docs/design/part-TODO.txt:
850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
851         (gst_base_sink_event), (gst_base_sink_do_sync),
852         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
853         (gst_base_sink_query), (gst_base_sink_change_state):
854         * gst/base/gstbasesink.h:
855         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
856         (gst_base_src_default_newsegment),
857         (gst_base_src_configure_segment), (gst_base_src_do_seek),
858         (gst_base_src_get_range), (gst_base_src_loop),
859         (gst_base_src_change_state):
860         * gst/base/gstbasesrc.h:
861         * gst/base/gstbasetransform.c:
862         (gst_base_transform_prepare_output_buf),
863         (gst_base_transform_event), (gst_base_transform_change_state):
864         * gst/base/gstbasetransform.h:
865         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
866         (gst_collect_pads_event):
867         * gst/base/gstcollectpads.h:
868         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
869         (gst_fake_src_create):
870         * gst/elements/gstfakesrc.h:
871         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
872         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
873         (gst_segment_set_last_stop), (gst_segment_set_seek),
874         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
875         (gst_segment_to_running_time), (gst_segment_clip):
876         * gst/gstsegment.h:
877         More segment updates, replace code in plugins with segment
878         helper functions.
879
880 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
881
882         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
883         Don't ignore sscanf results
884
885 2005-11-21  Andy Wingo  <wingo@pobox.com>
886
887         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
888
889         * *.h:
890         * *.c: Ran scripts/update-macros. Oh yes.
891
892         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
893         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
894         GST_GET_LOCK, etc.
895
896         * scripts/update-macros: New script. Run it on your files to
897         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
898         well.
899
900 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
901
902         * docs/gst/Makefile.am:
903         * docs/gst/gstreamer-docs.sgml:
904         * docs/gst/gstreamer-sections.txt:
905         * docs/gst/gstreamer.types:
906         * gst/gstinfo.h:
907           more docs fixes, add new api to the docs
908
909 2005-11-21  Andy Wingo  <wingo@pobox.com>
910
911         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
912         state_broadcast call.
913
914         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
915
916 2005-11-21  Julien MOUTTE  <julien@moutte.net>
917
918         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
919         function calls for arrays.
920
921 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
922
923         * docs/random/ensonic/media-device-daemon.txt:
924           wild idea, can this be done?
925         * docs/gst/gstreamer-sections.txt:
926         * gst/gsterror.h:
927         * gst/gstfilter.c:
928         * gst/gstfilter.h:
929         * gst/gstplugin.h:
930         * gst/gstpluginfeature.c:
931         * gst/gsttrace.c:
932         * gst/gstvalue.c:
933         * gst/gstvalue.h:
934           doc fixes and additions
935
936 2005-11-21  Andy Wingo  <wingo@pobox.com>
937
938         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
939         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
940         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
941         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
942         private to the basesrc implementation.
943
944         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
945         behalf of event function if necessary. It should no longer be
946         necessary to take the stream lock in pad's event functions. Fixes
947         #320299.
948
949 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
950         * docs/gst/gstreamer-sections.txt:
951         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
952         (gst_structure_fixate_field_nearest_double),
953         (gst_structure_fixate_field_boolean):
954         * gst/gststructure.h:
955         * win32/common/libgstreamer.def:
956         * win32/gstreamer.def:
957
958         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
959         (#322027)
960
961 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
962
963         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
964         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
965         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
966         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
967         (gst_fdsrc_uri_handler_init):
968         * gst/elements/gstfdsrc.h:
969           Port fd:// URI handler from 0.8 to fdsrc
970
971 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
972
973         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
974         (gst_value_serialize_fourcc):
975         * gst/gstvalue.h:
976           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
977           consistent with our other format defines (#320324).
978
979 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
980
981         * gst/gstvalue.c: (gst_value_is_fixed):
982           Revert previous commit. Value lists are by definition
983           not fixed, as they are a list of possible values.
984
985 2005-11-21  Andy Wingo  <wingo@pobox.com>
986
987         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
988         during the stable series if we need it. Fixes #319178.
989
990         * gst/gstevent.c (gst_event_new_filler): Removed.
991
992         * check/gst/gstevent.c: Update comment about filler events.
993
994 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
995
996         * gst/gstvalue.c: (gst_value_is_fixed):
997           Should handle both value arrays and value lists.
998
999 2005-11-21  Andy Wingo  <wingo@pobox.com>
1000
1001         patch by: Alessandro Dessina <alessandro nnva org>
1002
1003         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1004         functions to access arrays. Fixes #321962.
1005
1006 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1007
1008         * docs/gst/gstreamer.types:
1009           gst_collectpads_get_type => gst_collect_pads_get_type.
1010           
1011         * gst/base/gstbasetransform.c:
1012           Remove unused SIGNAL_HANDOFF enum.
1013
1014 2005-11-21  Andy Wingo  <wingo@pobox.com>
1015
1016         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1017         the event type (upstream, downstream, serialized). Renamed
1018         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1019         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1020         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1021
1022         * gst/gstevent.c: Update for new CUSTOM event names.
1023
1024         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1025
1026         * gst/gstevent.h:
1027         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1028         bug #319392.
1029
1030 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1031
1032         * docs/gst/gstreamer-sections.txt:
1033         * win32/common/libgstbase.def:
1034         * win32/libgstbase.def:
1035         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1036         (gst_collect_pads_class_init), (gst_collect_pads_init),
1037         (gst_collect_pads_finalize), (gst_collect_pads_new),
1038         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1039         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1040         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1041         (gst_collect_pads_start), (gst_collect_pads_stop),
1042         (gst_collect_pads_peek), (gst_collect_pads_pop),
1043         (gst_collect_pads_available), (gst_collect_pads_read),
1044         (gst_collect_pads_flush), (gst_collect_pads_event),
1045         (gst_collect_pads_chain):
1046         * gst/base/gstcollectpads.h:
1047           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1048           unimplemented functions as unimplemented. Add padding to
1049           GstCollectData. (#320766, #320423)
1050
1051 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1052
1053         * gst/gstmessage.c:
1054           Improve docs for DURATION message (usage of duration parameter)
1055           (#320113)
1056
1057 2005-11-20  Wim Taymans  <wim@fluendo.com>
1058
1059         * check/Makefile.am:
1060         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1061         (main):
1062         * gst/Makefile.am:
1063         * gst/gst.h:
1064         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1065         (gst_segment_set_seek), (gst_segment_set_newsegment),
1066         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1067         (gst_segment_clip):
1068         * gst/gstsegment.h:
1069         Added segment helper structure and methods. Not fully implemented
1070         yet.
1071         Added segment check.
1072
1073 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1074
1075         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1076           Add a deserialisation test for fractions
1077         * examples/metadata/read-metadata.c: (message_loop),
1078         (make_pipeline), (main):
1079           Fix up metadata reading sample.
1080         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1081           Debug format fix
1082         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1083           Don't try and fixate empty caps
1084         * gst/gst_private.h:
1085           Wrap in G_BEGIN_DECLS/G_END_DECLS
1086         * gst/gstvalue.c: (gst_value_collect_fraction),
1087         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1088         (gst_value_transform_string_fraction),
1089         (gst_value_compare_fraction):
1090           Add some extra guards to ensure that we don't end up 
1091           with an invalid denominator of 0 in a gstfraction and
1092           that fractions always get reduced.
1093
1094 2005-11-20  Wim Taymans  <wim@fluendo.com>
1095
1096         * docs/gst/gstreamer-sections.txt:
1097         * gst/gstbuffer.h:
1098         * gst/gstelement.c:
1099         * gst/gstformat.c:
1100         * gst/gstformat.h:
1101         * gst/gstindex.h:
1102         * gst/gstquery.c:
1103         * gst/gstquery.h:
1104         * gst/gstvalue.c:
1105         Doc fixes.
1106
1107 2005-11-20  Wim Taymans  <wim@fluendo.com>
1108
1109         * docs/design/part-TODO.txt:
1110         * gst/gstcaps.h:
1111         Make a proper enum of the flag.
1112
1113 2005-11-19  Wim Taymans  <wim@fluendo.com>
1114
1115         * docs/design/part-TODO.txt:
1116         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1117         (gst_format_to_quark), (gst_format_register):
1118         * gst/gstformat.h:
1119         * gst/gstquery.c: (_gst_query_initialize),
1120         (gst_query_type_get_name), (gst_query_type_to_quark),
1121         (gst_query_type_register):
1122         * gst/gstquery.h:
1123         Add type to quark and type to string conversions.
1124
1125 2005-11-19  Andy Wingo  <wingo@pobox.com>
1126
1127         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1128         #320097.
1129
1130 2005-11-19  Wim Taymans  <wim@fluendo.com>
1131
1132         * docs/design/part-TODO.txt:
1133         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1134         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1135         (gst_bin_handle_message_func):
1136         * gst/gstbin.h:
1137         Make message handling overridable.
1138
1139 2005-11-19  Andy Wingo  <wingo@pobox.com>
1140
1141         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1142
1143         * gst/gstclock.h:
1144         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1145         be a GstClockTime.
1146         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1147         is a GstClockTime. Fixes #321710.
1148
1149         * gst/gstclock.h (GstClock): Remove offset property. Add
1150         internal_calibration and external_calibration. Fix padding. Pad
1151         also by GstClockTime so we don't run into problems.
1152
1153         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1154         (gst_clock_get_rate_offset): Remove.
1155         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1156
1157         * gst/gstutils.h:
1158         * gst/gstutils.c (g_static_rec_cond_wait)
1159         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1160
1161         * gst/gstbin.c: Remove terrible continue_state prototype.
1162
1163         * gst/gstelement.h (gst_element_continue_state): Make public.
1164
1165         * gst/gstelement.h:
1166         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1167         by continue_state. Fixes #319389.
1168
1169         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1170         Really fixes #168438. However I don't see anywhere where the
1171         filter function is called... stupid GStreamer...
1172         
1173         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1174         don't have a dispose function, so it won't get called when the
1175         object is unreffed, but oh well!
1176
1177         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1178         allows a destroy function to be set so user_data can be freed.
1179         Fixes #168438.
1180         (gst_index_set_filter): Call gst_index_set_filter_full.
1181
1182         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1183
1184         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1185         string should produce an error, given the lack of a way to
1186         represent NULL strings. Fixes #165650.
1187         
1188         * gst/gstvalue.h: 
1189         * gst/gstvalue.c (gst_value_array_append_value) 
1190         (gst_value_array_prepend_value, gst_value_array_get_size) 
1191         (gst_value_array_get_value): New API, copied from
1192         gst_value_list_*, only operates on arrays.
1193         (gst_value_list_append_value, gst_value_list_prepend_value) 
1194         (gst_value_list_concat, gst_value_list_get_size) 
1195         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1196
1197         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1198         init_list, because it works on both.
1199         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1200         (gst_value_copy_list_or_array): Renamed from copy_list.
1201         (gst_value_free_list_or_array): Renamed from free_list.
1202         (gst_value_collect_list_or_array): Renamed from collect_list.
1203         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1204         (gst_value_list_or_array_peek_pointer): Renamed from
1205         list_peek_pointer.
1206         (_gst_value_array_value_table, _gst_value_list_value_table):
1207         Update value table functions.
1208         (gst_value_compare_list_or_array): Renamed from compare_list.
1209
1210         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1211         some constness.
1212
1213         * gst/gsttaglist.c:
1214         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1215         GstTagList*. Fixes #143472.
1216
1217         * gst/gststructure.h: Clarify what the foreach/map functions can
1218         or can't do to their arguments.
1219
1220 2005-11-18  Wim Taymans  <wim@fluendo.com>
1221
1222         * gst/gstclock.c: (gst_clock_set_calibration),
1223         (gst_clock_get_calibration):
1224         Doc and API fixes.
1225         Calibration can be set with internal time equal to current
1226         internal time too.
1227
1228 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1229
1230         * gst/gsterror.c:
1231         * gst/gsterror.h:
1232           document
1233
1234 2005-11-18  Andy Wingo  <wingo@pobox.com>
1235
1236         * configure.ac: 
1237         * pkgconfig/gstreamer-net.pc.in:
1238         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1239         * pkgconfig/Makefile.am: Add net pkgconfig files.
1240
1241 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1242
1243         * gst/gstcaps.c:
1244         * gst/gstghostpad.c:
1245         * gst/gsttrace.c:
1246         * gst/gstvalue.c:
1247         * gst/gstvalue.h:
1248           docs fixes
1249
1250 2005-11-18  Andy Wingo  <wingo@pobox.com>
1251
1252         * gst/net/gstnetclientclock.c: Turn off debugging.
1253
1254         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1255         times connverge somewhat. Can't make a real test.
1256
1257         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1258         integer arithmetic. Return the minimum of the domain, which can be
1259         set as "internal" for gst_clock_set_calibration.
1260         (gst_net_client_clock_observe_times): Call _set_calibration.
1261         (gst_net_client_clock_new): Call _set_calibration instead of
1262         rate_offset.
1263
1264         * check/net/gstnetclientclock.c (test_functioning): Use the right
1265         adjustment api.
1266
1267         * gst/gstclock.h:
1268         * gst/gstclock.c (gst_clock_get_calibration) 
1269         (gst_clock_set_calibration): New functions, obsolete the ones I
1270         added yesterday. Doh. Precision issues mean we have to extrapolate
1271         from a point in the more recent past than 1970.
1272         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1273         obsolete.
1274         (gst_clock_adjust_unlocked): Use the right calibration data.
1275
1276 2005-11-18  Edward Hervey  <edward@fluendo.com>
1277
1278         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1279         Also reset the ->current_* values in READY->PAUSED
1280
1281 2005-11-18  Andy Wingo  <wingo@pobox.com>
1282
1283         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1284         Whoops, check the right fd. Also add some debugging.
1285         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1286         (do_linear_regression): Add a crapload of debugging. Subtract off
1287         the minimum values from the input series to discard unneeded bits.
1288         Use only int arithmetic. There is still double arithmetic when
1289         calculating the intercept that needs fixing. Return boolean to
1290         indicate success; FALSE would mean the domain or range is too
1291         great. Still needs fixes.
1292
1293 2005-11-18  Wim Taymans  <wim@fluendo.com>
1294
1295         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1296         For the current position in stream time, we need to subtract
1297         accumulated time.
1298         
1299         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1300         Release lock before calling the callback function of async
1301         entries.
1302
1303 2005-11-18  Andy Wingo  <wingo@pobox.com>
1304
1305         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1306         Port goes all the way to MAXUINT16.
1307
1308         * gst/net/gstnettimeprovider.c: Make the port range the same as
1309         for the kernel: 0 assigns, otherwise ports are less than
1310         MAXUINT16.
1311
1312         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1313         port change.
1314
1315         * check/net/gstnetclientclock.c (test_functioning): Add the start
1316         of another test. 
1317
1318 2005-11-18  Wim Taymans  <wim@fluendo.com>
1319
1320         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1321         (gst_bin_remove_func), (bin_bus_handler):
1322         * gst/gstbin.h:
1323         Removing a clock provider from a bin, triggers a clock lost message
1324         so that a new clock will be selected.
1325         Adding a clock to a bin triggers a clock provider message.
1326         Make sure we reselect a clock when we received a clock lost message.
1327         Keep a reference to the element that provided the clock.
1328
1329 2005-11-18  Andy Wingo  <wingo@pobox.com>
1330
1331         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1332         the clock initially so it produces values around the base time.
1333         (gst_net_client_clock_class_init): Typo fix.
1334         (gst_net_client_clock_thread): Add note on when the socket gets
1335         closed.
1336
1337 2005-11-17  Wim Taymans  <wim@fluendo.com>
1338
1339         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1340         Free remote and local time arrays.
1341
1342 2005-11-17  Wim Taymans  <wim@fluendo.com>
1343
1344         * gst/net/gstnetclientclock.c: (do_linear_regression),
1345         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1346         Fix compilation, uninitialized vars and a forgotten continue.
1347
1348 2005-11-17  Andy Wingo  <wingo@pobox.com>
1349
1350         * check/Makefile.am (check_PROGRAMS): 
1351         * check/net/gstnetclientclock.c: Add a most minimal test for the
1352         net client clock. More to come later.
1353
1354         * gst/net/gstnet.h: 
1355         * gst/net/Makefile.am: Add netclientclock.
1356
1357         * gst/net/gstnetclientclock.h:
1358         * gst/net/gstnetclientclock.c: New files, implement an untested
1359         GstClock that takes its time from a network time provider.
1360         Implements the algorithm in network-clock.scm.
1361
1362         * tests/network-clock.scm (*window-size*): Rename from
1363         *queue-length*.
1364         * tests/network-clock.scm (network-time): 
1365         * tests/network-clock-utils.scm (q-push): Update callers.
1366
1367 2005-11-17  Wim Taymans  <wim@fluendo.com>
1368
1369         * gst/gstbin.c: (gst_bin_provide_clock_func),
1370         (gst_bin_sort_iterator_new):
1371         And unref the child too..
1372
1373 2005-11-17  Wim Taymans  <wim@fluendo.com>
1374
1375         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1376         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1377         Refactor the sort iterator so it can be used while holding the
1378         LOCK too.
1379         Make clock selection select a clock closest to the source.
1380
1381 2005-11-17  Michael Smith <msmith@fluendo.com>
1382
1383         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1384         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1385         * gst/gstclock.h:
1386           Anonymous structs are a gcc (and some other compilers) extension, so
1387           don't use them. Since this is only for ABI-compatibility, and our
1388           API/ABI freeze is over in a few days, this whole thing will only
1389           last a few days, so don't bother trying to think up a meaningful
1390           name for the struct.
1391
1392 2005-11-17  Andy Wingo  <wingo@pobox.com>
1393
1394         * gst/gstclock.h (GstClock): Add rate and offset properties,
1395         preserving ABI stability. Add rate/offset accessors. Will file bug
1396         for the freeze break.
1397
1398         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1399         and offset, trying to keep precision and avoiding
1400         underflow/overflow.
1401         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1402         functions. Make gst_clock_set_time_adjust obsolete.
1403         (gst_clock_set_time_adjust): Note that this function is obsolete.
1404         Will file bug soon.
1405
1406         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1407         greppable by using GST_PADDING-1+1.
1408
1409 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1410
1411         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1412
1413         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1414           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1415
1416         * gst/gstpadtemplate.h:
1417         * gst/gstpluginfeature.h:
1418           Don't use c++ style comments in headers (#321638).
1419
1420 2005-11-16  Andy Wingo  <wingo@pobox.com>
1421
1422         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1423         buffer.
1424
1425         * check/net/gstnettimeprovider.c: Check to see that the time
1426         provider actually provides times. Works, yo!
1427
1428 2005-11-16  Wim Taymans  <wim@fluendo.com>
1429
1430         * check/Makefile.am:
1431         Enable more tests.
1432
1433         * check/elements/fakesrc.c: (GST_START_TEST):
1434         Set element to NULL before disposing it.
1435
1436 2005-11-16  Andy Wingo  <wingo@pobox.com>
1437
1438         * gst/net/Makefile.am:
1439         * gst/net/gstnet.h:
1440         * gst/net/gstnettimeprovider.c: 
1441         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1442         provider, include it from gstnet.h, and add it to the build.
1443
1444         * gst/net/gstnettimepacket.h: 
1445         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1446         sending and receiving.
1447
1448 2005-11-16  Wim Taymans  <wim@fluendo.com>
1449
1450         * check/Makefile.am:
1451         Enable valgrind check.
1452
1453         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1454         (gst_fake_src_alloc_buffer):
1455         Fix memleak.
1456
1457 2005-11-16  Wim Taymans  <wim@fluendo.com>
1458
1459         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1460         Call parent finalize too.
1461
1462 2005-11-16  Wim Taymans  <wim@fluendo.com>
1463
1464         * check/Makefile.am:
1465         Enable valgrind check that should work fine now.
1466
1467         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1468         * gst/gstqueue.c: (gst_queue_init):
1469         Fix memleaks in pad allocation.
1470
1471 2005-11-16  Andy Wingo  <wingo@pobox.com>
1472
1473         * gst/net/Makefile.am:
1474         * gst/net/gstnet.h: New part of core to hold network elements and
1475         objects. Put in core because it exposes API that applications want
1476         to use. The library is named libgstnet-tempname right now because
1477         of the existing libgstnet in gst-plugins-base. Solution is
1478         probably to rename the one in plugins-base; will file a bug for
1479         the freeze break.
1480
1481         * gst/net/gstnettimeprovider.c: 
1482         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1483         get_time call over the network.
1484
1485         * configure.ac: 
1486         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1487
1488         * check/Makefile.am:
1489         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1490         get additions shortly.
1491
1492 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1493
1494         * gst/gstpad.c: (gst_pad_new_from_static_template):
1495         * gst/gstpad.h:
1496           add gst_pad_new_from_static_template functions
1497         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1498         (gst_check_setup_sink_pad):
1499         * gst/elements/gsttee.c: (gst_tee_init):
1500           and use them
1501
1502 2005-11-16  Wim Taymans  <wim@fluendo.com>
1503
1504         * gst/gstpad.c: (gst_pad_pause_task):
1505         Removed warning, it's not really an error either.
1506
1507 2005-11-16  Wim Taymans  <wim@fluendo.com>
1508
1509         * gst/base/gstbasetransform.c:
1510         (gst_base_transform_prepare_output_buf),
1511         (gst_base_transform_event):
1512         Check if the caps are NULL, this can happen if the element
1513         is shutting down and the pad caps are set to NULL.
1514
1515 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1516
1517         * gst/elements/gsttee.c: (gst_tee_init):
1518           fix pad template leak in tee
1519
1520 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1521
1522         * gst/glib-compat.c: (g_value_dup_gst_object):
1523         * gst/glib-compat.h:
1524         * gst/gstpad.c: (gst_pad_set_property):
1525           use gst_object_ref when setting the pad template; this will
1526           trigger the pad template leaks on GLib 2.6 and the slaves
1527
1528 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1529
1530         * gst/glib-compat.c: (gst_flags_get_first_value):
1531         * gst/glib-compat.h:
1532         * gst/gstregistryxml.c:
1533           remove functions copied from GLib 2.6
1534
1535 2005-11-16  Michael Smith <msmith@fluendo.com>
1536
1537         * gst/Makefile.am:
1538           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1539           do, but only breaks with newer valgrind versions. We're not a
1540           valgrind tool, we have no link-time dependencies on libcoregrind.
1541
1542 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1543
1544         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1545           some debug changes
1546         * gst/gstmessage.h:
1547           typo fixes
1548
1549 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1550
1551         * gst/base/gstbasesrc.c: (gst_base_src_init):
1552         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1553         * gst/gstqueue.c: (gst_queue_init):
1554         * gst/gstregistryxml.c: (load_feature):
1555           Revert all these unrefs, they don't even pass make check !
1556
1557 2005-11-15  Johan Dahlin  <johan@gnome.org>
1558
1559         * gst/base/gstbasesrc.c: (gst_base_src_init):
1560         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1561         * gst/gstqueue.c: (gst_queue_init): 
1562         Free pad templates, fixes a couple of leaks.
1563
1564 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1565
1566         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1567
1568         * gst/gstpad.c: (gst_pad_get_property):
1569           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1570           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1571           (#321452)
1572
1573 2005-11-15  Wim Taymans  <wim@fluendo.com>
1574
1575         * gst/gstevent.c:
1576         Small doc update.
1577
1578 2005-11-15  Andy Wingo  <wingo@pobox.com>
1579
1580         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1581
1582         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1583         using GST_CLOCK_TIME_NONE to disable base time management.
1584         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1585         time if it was NONE before.
1586         (gst_pipeline_change_state): Only munge the base time if
1587         stream_time != GST_CLOCK_TIME_NONE.
1588
1589         * check/gst/gstpipeline.c (test_base_time): Punt around the
1590         problem of the probe not being called, because that's not the
1591         issue I'm looking at. Add a check that setting stream_time to NONE
1592         disables base time management.
1593         
1594 2005-11-15  Wim Taymans  <wim@fluendo.com>
1595
1596         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1597         segment_stop == -1 at startup.
1598
1599         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1600         (gst_base_transform_change_state):
1601         Init segment values at start.
1602
1603 2005-11-15  Wim Taymans  <wim@fluendo.com>
1604
1605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1606         0 segment values are 0 in any format.
1607
1608         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1609         * gst/base/gstbasetransform.h:
1610         Parse newsegment correctly in basetransform
1611
1612         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1613         Sync to clock using updated segment values.
1614
1615 2005-11-15  Andy Wingo  <wingo@pobox.com>
1616
1617         * check/gst/gstpipeline.c (test_base_time): Add check that the
1618         base time and stream time are reset correctly.
1619
1620 2005-11-15  Wim Taymans  <wim@fluendo.com>
1621
1622         * docs/design/part-TODO.txt:
1623         Some more TODO items.
1624
1625 2005-11-15  Andy Wingo  <wingo@pobox.com>
1626
1627         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1628         error if the user selected "no clock" as the clocking method.
1629
1630         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1631         timestamps with live capture.
1632
1633         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1634         is 0 but we are a live source, timestamp the buffers using the
1635         element's clock.
1636
1637 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1638
1639         * docs/gst/gstreamer-sections.txt:
1640         * gst/gsterror.c:
1641         * gst/gstghostpad.c:
1642         * gst/gstobject.h:
1643         * gst/gstxml.c:
1644           more section docs
1645
1646 2005-11-14  Wim Taymans  <wim@fluendo.com>
1647
1648         * common/gst.supp:
1649           add suppressions from Wim's Debian machine
1650
1651 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1652
1653         * common/gst.supp:
1654           add suppressions from Andy's AMD64 Ubuntu machine
1655
1656 2005-11-14  Andy Wingo  <wingo@pobox.com>
1657
1658         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1659         STATE_LOCK not necessary. Fixes #311489.
1660
1661         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1662         #305291.
1663
1664         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1665         this function is not implemented.
1666
1667 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1668
1669         * gst/base/gstbasetransform.c:
1670         (gst_base_transform_prepare_output_buf):
1671         Ref the source pad caps while we need them.
1672         Fixes (#321386)
1673
1674 2005-11-11  Wim Taymans  <wim@fluendo.com>
1675
1676         * docs/gst/gstreamer-sections.txt:
1677         Added some docs for GstCollectData.
1678
1679         * gst/base/gstadapter.c:
1680         Some small code example fix.
1681
1682         * gst/base/gstcollectpads.c:
1683         * gst/base/gstcollectpads.h:
1684         Document some more.
1685
1686 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1687
1688         * configure.ac: back to HEAD
1689
1690 === release 0.9.5 ===
1691
1692 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1693
1694         * configure.ac:
1695           releasing 0.9.5, "Bike Lunch Day"
1696
1697 2005-11-11  Wim Taymans  <wim@fluendo.com>
1698
1699         * gst/gstbuffer.c: (_gst_buffer_copy):
1700         Copy more flags.
1701
1702         * gst/gstcaps.c: (gst_caps_is_equal):
1703         Fix some docs.
1704         Make _is_equal fast in the trivial cases.
1705
1706         * gst/gstminiobject.c:
1707         * gst/gstminiobject.h:
1708         More docs. Spifify .h file.
1709
1710         * gst/gstutils.c:
1711         Small doc update.
1712
1713 2005-11-11  Wim Taymans  <wim@fluendo.com>
1714
1715         * gst/base/gstbasetransform.c:
1716         (gst_base_transform_prepare_output_buf),
1717         (gst_base_transform_handle_buffer):
1718         Small cleanups.
1719         If we're processing a buffer and need to allocate an output
1720         buffer, we cannot accept a format change. If we did get a 
1721         format change, we have to alloc a buffer ourselves of the 
1722         right size.
1723
1724 2005-11-11  Wim Taymans  <wim@fluendo.com>
1725
1726         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1727         While checking the flag for reentrancy in the gstcaps function
1728         is nice to detect recursive invocations, it also makes it 
1729         impossible to call getcaps from multiple threads, which must be
1730         possible. So, checking for recursive calls has to go.
1731
1732 2005-11-11  Michael Smith <msmith@fluendo.com>
1733
1734         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1735           Don't sync on buffers that fall partially outside our current
1736           segment. Prevents an assertion failure/abort playing some files.
1737
1738 2005-11-10  Andy Wingo  <wingo@pobox.com>
1739
1740         * check/gst/gstbin.c (test_message_state_changed_children): Style
1741         fix..
1742
1743         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1744         gst_bus_poll with the signal watch. Ensures that poll and a signal
1745         watch see the same messages.
1746
1747         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1748         a poll and a watch at the same time get the same messages.
1749
1750 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1751
1752         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1753         * gst/gstcaps.c: (gst_caps_intersect):
1754           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1755           and it's not needed.
1756
1757 2005-11-10  Wim Taymans  <wim@fluendo.com>
1758
1759         * docs/design/part-TODO.txt:
1760         Updated todo.
1761
1762 2005-11-10  Wim Taymans  <wim@fluendo.com>
1763
1764         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1765         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1766         (gst_base_src_do_sync), (gst_base_src_get_range):
1767         Implement clock sync in base class.
1768
1769 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1770
1771         patch by: Tim-Philipp Müller <tim at centricular dot net>
1772
1773         * gst/gststructure.c: (gst_structure_parse_field),
1774         (gst_structure_from_string):
1775           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1776           so that gst_parse_launch() can deal with spaces in filtered link
1777           caps (fixes #164479)
1778         * check/gst/capslist.h:
1779         * check/gst/gststructure.c: (GST_START_TEST):
1780           add unit tests for this change
1781
1782 2005-11-10  Wim Taymans  <wim@fluendo.com>
1783
1784         * docs/gst/gstreamer-sections.txt:
1785         * gst/gstelement.c:
1786         * gst/gstelement.h:
1787         Fix docs, move some STATE macros to private.
1788
1789 2005-11-10  Wim Taymans  <wim@fluendo.com>
1790
1791         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1792         Added check for bug #317341
1793
1794         * gst/gstbuffer.c:
1795         * gst/gstbuffer.h:
1796         Some more spiffifying.
1797
1798         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1799         Call peer linkfunction if we are a source pad. Totally fixes
1800         #317341
1801
1802         * gst/gstpad.c:
1803         Update docs, source pads should call the peer linkfunction
1804         so they can atomically perform the pad link.
1805
1806 2005-11-09  Wim Taymans  <wim@fluendo.com>
1807
1808         * gst/gstbuffer.c:
1809         * gst/gstbuffer.h:
1810         Uber-spiffy-spiffify some more.
1811
1812 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1813
1814         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1815         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1816         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1817         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1818         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1819         * gst/gstpad.c: (gst_pad_init):
1820           Use GST_DEBUG_FUNCPTR() more extensively.
1821
1822 2005-11-09  Wim Taymans  <wim@fluendo.com>
1823
1824         * gst/gstobject.c: (gst_object_class_init):
1825         * gst/gstobject.h:
1826         Documentation fixes.
1827
1828 2005-11-09  Edward Hervey  <edward@fluendo.com>
1829
1830         * gst/gsttypefindfactory.c:
1831         Fix docs.
1832         
1833 2005-11-09  Edward Hervey  <edward@fluendo.com>
1834
1835         * gst/base/gsttypefindhelper.c:
1836         * gst/gsttypefind.c:
1837         * gst/gsttypefind.h:
1838         Fix docs.
1839
1840 2005-11-09  Wim Taymans  <wim@fluendo.com>
1841
1842         * gst/gstiterator.c:
1843         Fix revision data.
1844
1845         * gst/gsttask.c:
1846         * gst/gsttask.h:
1847         Fix docs.
1848
1849 2005-11-09  Wim Taymans  <wim@fluendo.com>
1850
1851         * gst/gstevent.h:
1852         * gst/gsturi.h:
1853         Fix docs.
1854
1855 2005-11-09  Wim Taymans  <wim@fluendo.com>
1856
1857         * docs/gst/gstreamer-sections.txt:
1858         Moved the message async delivery private lock and cond
1859         to the private section.
1860
1861         * gst/gstmessage.c:
1862         * gst/gstmessage.h:
1863         Fixed docs.
1864
1865 2005-11-09  Edward Hervey  <edward@fluendo.com>
1866
1867         * docs/gst/gstreamer-sections.txt:
1868         * gst/gsturi.c:
1869         * gst/gsturi.h:
1870         Document GstURIHandler
1871
1872 2005-11-09  Wim Taymans  <wim@fluendo.com>
1873
1874         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1875         (gst_iterator_find_custom):
1876         * gst/gstiterator.h:
1877         Fix iterator docs.
1878
1879 2005-11-09  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/gstbin.h:
1882         Document another field.
1883
1884         * gst/gststructure.c:
1885         * gst/gststructure.h:
1886         Document.
1887
1888 2005-11-09  Wim Taymans  <wim@fluendo.com>
1889
1890         * gst/gstbin.h:
1891         Documented structs.
1892
1893 2005-11-09  Wim Taymans  <wim@fluendo.com>
1894
1895         * docs/gst/gstreamer-sections.txt:
1896         Added some new macros.
1897
1898         * gst/gstclock.c:
1899         * gst/gstclock.h:
1900         * gst/gstobject.h:
1901         Docs updates.
1902
1903 2005-11-09  Wim Taymans  <wim@fluendo.com>
1904
1905         * docs/design/part-TODO.txt:
1906         Some more items for the TODO
1907
1908         * gst/gstcaps.c:
1909         * gst/gstcaps.h:
1910         Document GstCaps.
1911
1912 2005-11-09  Andy Wingo  <wingo@pobox.com>
1913
1914         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1915         to work on something else now tho...
1916
1917         * gst/base/gstadapter.c: More adapter docs.
1918
1919         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1920         (gst_file_sink_stop): New functions, replace the state change
1921         handler.
1922         (gst_file_sink_class_init): Hook up the start and stop functions.
1923         (gst_file_sink_base_init): Don't set the state change handler any
1924         more. It was a bit ugly too, being set from here...
1925         (gst_file_sink_get_property, gst_file_sink_set_property):
1926         Cleanups...
1927         (gst_file_sink_set_location): More robust check that doesn't call
1928         GST_STATE. Ugggggg.
1929
1930 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1931
1932         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1933           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1934
1935 2005-11-08  Wim Taymans  <wim@fluendo.com>
1936
1937         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1938         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1939         (gst_base_sink_chain), (gst_base_sink_change_state):
1940         * gst/base/gstbasesink.h:
1941         * gst/base/gstbasesrc.h:
1942         * gst/gstelement.h:
1943         * gst/gstevent.h:
1944         Avoid excessive typechecking in macros.
1945
1946         * gst/gstminiobject.c: (gst_mini_object_get_type),
1947         (gst_mini_object_init), (gst_mini_object_new),
1948         (gst_mini_object_free):
1949         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1950         (gst_object_finalize):
1951         Remove cruft code, optimize alloc_trace.
1952
1953 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1954
1955         * docs/faq/gst-uninstalled:
1956           fix up PS1 for systems that try to reset it
1957
1958 2005-11-07  Wim Taymans  <wim@fluendo.com>
1959
1960         * gst/base/gstbasesrc.c: (gst_base_src_init),
1961         (gst_base_src_get_range):
1962         Set the segment_end to -1 initially. Fixed typefind.
1963
1964 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1965
1966         * gst/base/gstadapter.c:
1967           Debug category should be 'adapter', not 'GstAdapter'.
1968           
1969         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1970         (gst_collectpads_class_init), (gst_collectpads_init),
1971         (gst_collectpads_peek), (gst_collectpads_pop),
1972         (gst_collectpads_event), (gst_collectpads_chain):
1973           Add debug category and some debugging output. Use boilerplate
1974           macros. Remove some extraneous words from docs.
1975
1976 2005-11-05  Andy Wingo  <wingo@pobox.com>
1977
1978         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1979         macro.
1980
1981 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1982
1983         * docs/gst/gstreamer-sections.txt:
1984         * gst/gstcaps.h:
1985         * gst/gstinfo.c:
1986         * gst/gstminiobject.h:
1987         * gst/gstobject.h:
1988         * gst/gstutils.h:
1989           more docs added
1990
1991 2005-11-04  Wim Taymans  <wim@fluendo.com>
1992
1993         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1994         Small update to stop at the configured segment_end
1995         position.
1996
1997 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1998
1999         * gst/gstregistry.c:
2000         * gst/gstregistry.h:
2001           added missing docs
2002
2003 2005-11-04  Edward Hervey  <edward@fluendo.com>
2004
2005         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2006         Check if we are doing a segment seek and have arrived at the
2007         end of that segment.
2008
2009 2005-11-04  Wim Taymans  <wim@fluendo.com>
2010
2011         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2012         Don't leak a mutex unlock in case of an error.
2013
2014         * gst/gstbus.h:
2015         Doc fixes.
2016
2017 2005-11-04  Wim Taymans  <wim@fluendo.com>
2018
2019         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2020         (gst_bus_post):
2021         Get the context to wake up only once.
2022
2023 2005-11-03  Wim Taymans  <wim@fluendo.com>
2024
2025         * check/states/sinks.c: (GST_START_TEST):
2026         Uncomment fixed check.
2027
2028         * docs/design/part-TODO.txt:
2029         Updated TODO.
2030
2031         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2032         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2033         (gst_base_sink_get_position):
2034         If we are going to PLAYING, post the right pending state
2035         when we post the intermediate paused message.
2036
2037         * gst/gstelement.c: (gst_element_continue_state),
2038         (gst_element_set_state_func), (gst_element_change_state):
2039         Don't post state changes that were between the same state
2040         and were not ASYNC.
2041
2042 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2043
2044         * docs/gst/gstreamer-sections.txt:
2045         * gst/gstcaps.h:
2046         * gst/gstinfo.c:
2047         * gst/gstminiobject.h:
2048         * gst/gstobject.h:
2049         * gst/gstutils.h:
2050           more docs and doc style fixes
2051
2052 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2053
2054         * docs/gst/gstreamer-sections.txt:
2055         * gst/gstelement.c:
2056         * gst/gstminiobject.c:
2057         doc fixes
2058
2059 2005-11-03  Andy Wingo  <wingo@pobox.com>
2060
2061         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2062         state-changed messages actually have the right order and the right
2063         values.
2064
2065 2005-11-03  Wim Taymans  <wim@fluendo.com>
2066
2067         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2068         Added some more checks. Specifically the case where NO_PREROLL
2069         elements are in the pipeline.
2070
2071         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2072         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2073         (gst_base_sink_get_position):
2074         Post READY->PAUSED state change messages too.
2075         Fix bug where VOID was posted as pending state...
2076
2077         * gst/gstbin.c: (gst_bin_recalc_state):
2078         use _element_continue_state() to continue the state change.
2079
2080         * gst/gstelement.c: (gst_element_continue_state),
2081         (gst_element_commit_state), (gst_element_set_state_func),
2082         (gst_element_change_state), (gst_element_change_state_func):
2083         Lots of state change cleanups, assign the STATE_RETURN in
2084         a new continue_state() function that also propagates the
2085         last return value from a state change to the app.
2086         Update some debug statements with proper category.
2087
2088 2005-11-03  Wim Taymans  <wim@fluendo.com>
2089
2090         * docs/design/part-events.txt:
2091         * docs/design/part-gstpipeline.txt:
2092         * docs/design/part-messages.txt:
2093         * docs/design/part-overview.txt:
2094         * docs/design/part-seeking.txt:
2095         * docs/design/part-states.txt:
2096         * docs/design/part-trickmodes.txt:
2097         * docs/manual/advanced-position.xml:
2098         Small docs updates.
2099
2100         * gst/gstobject.h:
2101         People think !! is ugly, this looks better.
2102
2103         * gst/gstpad.c: (gst_pad_set_blocked_async):
2104         Remove !! since it's fixed elsewhere now.
2105
2106 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2107
2108         * gst/gstminiobject.h:
2109         * gst/gstobject.h:
2110           Add !! to _FLAG_IS_SET macros to make the result boolean.
2111
2112 2005-11-03  Edward Hervey  <edward@fluendo.com>
2113
2114         * gst/gstpad.c: (gst_pad_set_blocked_async):
2115         comparing a flag and a gboolean rarely returns coherent results...
2116         Added two characters (!!) to make that work correctly.
2117         
2118 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2119
2120         * gst/gstbus.c: (gst_bus_class_init):
2121           Fix some typos.
2122           
2123         * gst/gstqueue.c: (gst_queue_loop):
2124           Don't assume a miniobject that isn't a buffer is an
2125           event (it could be that there is a refcounting
2126           problem somewhere and the pointer is stale and
2127           refers to an already destroyed miniobject).
2128
2129 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2130
2131         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2132
2133 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2134
2135         * docs/manual/advanced-position.xml:
2136           Update seek example and explanations to current 0.9 API.
2137
2138         * gst/elements/gsttypefindelement.c:
2139         (gst_type_find_element_activate):
2140           Remove FIXME comment now that the found caps
2141           are unreffed.
2142
2143 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2144
2145         * gst/gstregistryxml.c: (load_feature):
2146           Add another GST_STR_NULL instance
2147
2148 2005-11-02  Edward Hervey  <edward@fluendo.com>
2149
2150         * gst/gstpad.c: (handle_pad_block):
2151         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2152         
2153 2005-11-02  Wim Taymans  <wim@fluendo.com>
2154
2155         * gst/gstbin.c:
2156         Fix typo in docs.
2157
2158         * gst/gstelement.c: (gst_element_commit_state):
2159         Remove unused value.
2160
2161         * gst/gstiterator.c:
2162         Mention that the returned element is reffed in the docs.
2163
2164 2005-11-02  Wim Taymans  <wim@fluendo.com>
2165
2166         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2167         (gst_pad_push), (gst_pad_push_event):
2168         Unlock blocked pads when they are flushed.
2169
2170 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2171
2172         * docs/README:
2173         * docs/gst/gstreamer-sections.txt:
2174         * gst/gstbin.c:
2175           doc updates
2176         * gst/gstregistry.c: (gst_registry_scan_path_level):
2177           fix for a nasty little missed situation where an installed plug-in
2178           which was in the cache did not get overridden by an uninstalled one
2179           which was earlier in the plugin path because the newly created plugin
2180           for the uninstalled one (not in the registry) didn't get its
2181           ->registered set to TRUE
2182
2183 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2184
2185         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2186         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2187         (gst_collectpads_is_active), (gst_collectpads_collect),
2188         (gst_collectpads_collect_range), (gst_collectpads_start),
2189         (gst_collectpads_stop), (gst_collectpads_peek),
2190         (gst_collectpads_pop), (gst_collectpads_available),
2191         (gst_collectpads_read), (gst_collectpads_flush):
2192           Guard public API with assertions.
2193         
2194         * gst/gstpad.c:
2195           Fix docs for gst_pad_set_link_function().
2196
2197 2005-11-02  Johan Dahlin  <johan@gnome.org>
2198
2199         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2200         Unref found_caps after we used it.
2201
2202 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2203
2204         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2205           Don't try to ref NULL.
2206
2207 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2208
2209         * win32/common/config.h.in:
2210           provide a GST_FUNCTION that just gives a string for now
2211
2212 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2213
2214         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2215         (gst_object_flags_get_type), (register_gst_bin_flags),
2216         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2217         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2218         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2219         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2220         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2221         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2222         (gst_clock_flags_get_type), (register_gst_state),
2223         (gst_state_get_type), (register_gst_state_change_return),
2224         (gst_state_change_return_get_type), (register_gst_state_change),
2225         (gst_state_change_get_type), (register_gst_element_flags),
2226         (gst_element_flags_get_type), (register_gst_core_error),
2227         (gst_core_error_get_type), (register_gst_library_error),
2228         (gst_library_error_get_type), (register_gst_resource_error),
2229         (gst_resource_error_get_type), (register_gst_stream_error),
2230         (gst_stream_error_get_type), (register_gst_event_type),
2231         (gst_event_type_get_type), (register_gst_seek_type),
2232         (gst_seek_type_get_type), (register_gst_seek_flags),
2233         (gst_seek_flags_get_type), (register_gst_format),
2234         (gst_format_get_type), (register_gst_index_certainty),
2235         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2236         (gst_index_entry_type_get_type),
2237         (register_gst_index_lookup_method),
2238         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2239         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2240         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2241         (gst_index_flags_get_type), (register_gst_debug_level),
2242         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2243         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2244         (gst_iterator_result_get_type), (register_gst_iterator_item),
2245         (gst_iterator_item_get_type), (register_gst_message_type),
2246         (gst_message_type_get_type), (register_gst_mini_object_flags),
2247         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2248         (gst_pad_link_return_get_type), (register_gst_flow_return),
2249         (gst_flow_return_get_type), (register_gst_activate_mode),
2250         (gst_activate_mode_get_type), (register_gst_pad_direction),
2251         (gst_pad_direction_get_type), (register_gst_pad_flags),
2252         (gst_pad_flags_get_type), (register_gst_pad_presence),
2253         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2254         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2255         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2256         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2257         (gst_plugin_flags_get_type), (register_gst_rank),
2258         (gst_rank_get_type), (register_gst_query_type),
2259         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2260         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2261         (gst_tag_flag_get_type), (register_gst_task_state),
2262         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2263         (gst_alloc_trace_flags_get_type),
2264         (register_gst_type_find_probability),
2265         (gst_type_find_probability_get_type), (register_gst_uri_type),
2266         (gst_uri_type_get_type), (register_gst_parse_error),
2267         (gst_parse_error_get_type):
2268         * win32/common/gstversion.h:
2269           update win32 copies
2270
2271 2005-11-01  Luca Ognibene  <luogni@tin.it>
2272
2273         * gst/gst.c:
2274           fix docs. popt is dead, long live GOption.
2275
2276 2005-10-31  Wim Taymans  <wim@fluendo.com>
2277
2278         * gst/gstbuffer.h:
2279         Small doc fix.
2280
2281 2005-10-31  Andy Wingo  <wingo@pobox.com>
2282
2283         * Boo!
2284
2285         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2286
2287         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2288         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2289         the possibility of deadlocks here if code calling notify() or
2290         set() has a lock that can be taken in another notify handler (ABBA
2291         with class lock and e.g. python GIL state lock).
2292
2293 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2294
2295         * gst/gstbus.c: Doc updates.
2296
2297 2005-10-28  Wim Taymans  <wim@fluendo.com>
2298
2299         * docs/design/part-TODO.txt:
2300         * gst/gstiterator.c:
2301         * gst/gstsystemclock.c:
2302         * gst/gstsystemclock.h:
2303         Doc updates.
2304
2305 2005-10-28  Edward Hervey  <edward@fluendo.com>
2306
2307         * docs/gst/gstreamer-docs.sgml:
2308         * docs/gst/gstreamer-sections.txt:
2309         the GstURIType documentation page is private, it only defines GstURIType
2310         which should be defined in the GstURIHandler page
2311         
2312 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2313
2314         * gst/gstbin.c: (gst_bin_class_init):
2315         * gst/gstbin.h:
2316         * gst/gstutils.c:
2317         Documentation updates.
2318
2319 2005-10-28  Wim Taymans  <wim@fluendo.com>
2320
2321         * docs/gst/gstreamer-sections.txt:
2322         * gst/gstclock.c:
2323         * gst/gstclock.h:
2324         Documented the clocks.
2325
2326 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2327
2328         * docs/gst/gstreamer-sections.txt:
2329           move some macros to private sections
2330         * gst/gstminiobject.c:
2331         * gst/gstminiobject.h:
2332           add descriptions provided by ds and some more
2333         * gst/gstpad.h:
2334           mark macro as to be removed
2335
2336 2005-10-28  Wim Taymans  <wim@fluendo.com>
2337
2338         * docs/design/part-TODO.txt:
2339         Add an item to TODO.
2340
2341         * gst/gstiterator.c: (gst_iterator_fold),
2342         (gst_iterator_find_custom):
2343         * gst/gstiterator.h:
2344         Add iterator docs.
2345
2346 2005-10-28  Wim Taymans  <wim@fluendo.com>
2347
2348         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2349         (gst_base_transform_init):
2350         Don't leak class.
2351
2352         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2353         An EOS event marks the queue as completely filled.
2354
2355 2005-10-27  Wim Taymans  <wim@fluendo.com>
2356
2357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2358         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2359         Some more debugging.
2360
2361         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2362         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2363         (gst_base_transform_event), (gst_base_transform_getrange),
2364         (gst_base_transform_chain):
2365         * gst/base/gstbasetransform.h:
2366         Fix debugging,
2367         Protect transform and concurrent buffer alloc with a new lock.
2368         Try not to break ABI/API.
2369
2370 2005-10-27  Wim Taymans  <wim@fluendo.com>
2371
2372         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2373         (gst_base_src_init), (gst_base_src_query),
2374         (gst_base_src_default_newsegment),
2375         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2376         (gst_base_src_send_event), (gst_base_src_event_handler),
2377         (gst_base_src_pad_get_range), (gst_base_src_loop),
2378         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2379         (gst_base_src_start), (gst_base_src_deactivate),
2380         (gst_base_src_activate_push), (gst_base_src_change_state):
2381         Move some stuff around and cleanup things.
2382
2383 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2384
2385         * gst/base/gstbasesrc.c: (gst_base_src_query):
2386           Add missing break statements.
2387
2388 2005-10-27  Wim Taymans  <wim@fluendo.com>
2389
2390         * check/gst/gstbin.c: (GST_START_TEST):
2391         An extra refcount is taken in basesrc.
2392
2393         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2394         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2395         (gst_base_src_loop):
2396         Small cleanups, check for flushing after being unlocked from the 
2397         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2398         Don't send out EOS when going to READY.
2399
2400 2005-10-27  Wim Taymans  <wim@fluendo.com>
2401
2402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2403         (gst_base_sink_get_position):
2404         Some more debug.
2405
2406         * gst/gstbin.c: (message_check), (bin_replace_message),
2407         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2408         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2409         (bin_query_duration_init), (bin_query_duration_fold),
2410         (bin_query_duration_done), (bin_query_generic_fold),
2411         (gst_bin_query):
2412         * tools/gst-launch.c: (main):
2413         Remove old option.
2414
2415 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2416
2417         * examples/controller/audio-example.c: (main):
2418         * examples/queue/queue.c: (event_loop):
2419         * gst/base/gstbasetransform.h:
2420         * gst/gstelement.c: (gst_element_send_event):
2421         * gst/gstevent.h:
2422         * gst/gstpad.c: (gst_pad_send_event):
2423           fixing examples
2424           fixing docs typos
2425           changing log priority in error situations
2426
2427 2005-10-25  Wim Taymans  <wim@fluendo.com>
2428
2429         * gst/gstbin.c: (message_check), (bin_replace_message),
2430         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2431         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2432         (bin_query_duration_init), (bin_query_duration_fold),
2433         (bin_query_duration_done), (bin_query_generic_fold),
2434         (gst_bin_query):
2435         Some doc and debug updates.
2436         Cache previously requested query DURATION for speed. invalidate
2437         cached duration if element posts a DURATION message.
2438
2439 2005-10-25  Wim Taymans  <wim@fluendo.com>
2440
2441         * docs/design/part-TODO.txt:
2442         Update TODO.
2443
2444         * gst/gstbin.c: (message_check), (bin_replace_message),
2445         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2446         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2447         (bin_query_duration_init), (bin_query_duration_fold),
2448         (bin_query_duration_done), (bin_query_generic_fold),
2449         (gst_bin_query):
2450         Handle SEGMENT_START/DONE messages correctly.
2451         More evolved query algorithm that handles duration queries
2452         correctly.
2453
2454         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2455         (gst_element_get_state_func), (gst_element_abort_state),
2456         (gst_element_commit_state), (gst_element_lost_state):
2457         Some more debugging.
2458
2459         * gst/gstmessage.h:
2460         Added doc.
2461
2462 2005-10-25  Wim Taymans  <wim@fluendo.com>
2463
2464         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2465         Don't use invalid stream_time.
2466
2467         * gst/gstevent.c: (gst_event_new_newsegment):
2468         stream_time in newsegment cannot be undefined.
2469
2470 2005-10-24  Wim Taymans  <wim@fluendo.com>
2471
2472         * gst/gstbus.c:
2473         Doc fix.
2474
2475         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2476         (gst_queue_loop):
2477         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2478
2479 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2480
2481         * docs/libs/tmpl/gstdparam.sgml:
2482         * docs/libs/tmpl/gstdplinint.sgml:
2483         * docs/libs/tmpl/gstdpman.sgml:
2484         * docs/libs/tmpl/gstdpsmooth.sgml:
2485         * docs/libs/tmpl/gstunitconvert.sgml:
2486           these are obsolete
2487
2488 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2489
2490         * configure.ac:
2491           back to HEAD
2492
2493 === release 0.9.4 ===
2494
2495 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2496
2497         * configure.ac:
2498           releasing 0.9.4, "Tyrannosaurus Rex"
2499
2500 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2501
2502         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2503         (gst_file_sink_get_current_offset):
2504           Use fseeko() and ftello() if available. When falling back on
2505           lseek() to get the current offset, fflush() first to make sure
2506           everything is up-to-date and we get the right offset.
2507
2508 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2509
2510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2511         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2512         * gst/gsterror.c: (_gst_stream_errors_init):
2513         * gst/gsterror.h:
2514         * gst/gstqueue.c: (gst_queue_loop):
2515         * po/POTFILES.in:
2516           remove prematurely added error category and clean up the instances
2517
2518 2005-10-21  Wim Taymans  <wim@fluendo.com>
2519
2520         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2521         (gst_base_sink_get_position), (gst_base_sink_query),
2522         (gst_base_sink_change_state):
2523         Simply set the right flag when going to playing, that's all
2524         we need to do instead of calling a function inside the object
2525         lock (that could take the lock as well and deadlock)
2526
2527 2005-10-21  Wim Taymans  <wim@fluendo.com>
2528
2529         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2530         (gst_base_src_loop):
2531         Don't warn, the peer element knows what to do best when
2532         the seek failed, it might try something else.
2533
2534 2005-10-21  Wim Taymans  <wim@fluendo.com>
2535
2536         * gst/base/gstbasesrc.c: (gst_base_src_init),
2537         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2538         Fix seeking.
2539
2540 2005-10-21  Wim Taymans  <wim@fluendo.com>
2541
2542         * docs/design/part-segments.txt:
2543         More docs.
2544
2545         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2546         Correctly set caps, even on the subbufer.
2547
2548 2005-10-21  Wim Taymans  <wim@fluendo.com>
2549
2550         * docs/gst/gstreamer-docs.sgml:
2551         * docs/gst/gstreamer-sections.txt:
2552         * gst/gstelement.h:
2553         * gst/gstevent.c:
2554         * gst/gstevent.h:
2555         * gst/gstmessage.h:
2556         * gst/gstpad.h:
2557         * gst/gstparse.h:
2558         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2559         * gst/gsttask.h:
2560         * gst/gstutils.c:
2561         * gst/gstutils.h:
2562         And 2% more doc coverage.
2563
2564 2005-10-21  Andy Wingo  <wingo@pobox.com>
2565
2566         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2567         position reporting.
2568
2569 2005-10-20  Wim Taymans  <wim@fluendo.com>
2570
2571         * gst/gsterror.c: (gst_error_get_message):
2572         * gst/gstparse.h:
2573         * gst/gstquery.h:
2574         * gst/gststructure.c:
2575         * gst/gsttrace.c:
2576         * gst/gstutils.c:
2577         More docs.
2578
2579 2005-10-20  Wim Taymans  <wim@fluendo.com>
2580
2581         * gst/gstbuffer.h:
2582         * gst/gstpad.c:
2583         * gst/gstparse.c:
2584         Another 1% more coverage.
2585
2586 2005-10-20  Wim Taymans  <wim@fluendo.com>
2587
2588         * docs/gst/gstreamer-sections.txt:
2589         * gst/gstelement.c: (gst_element_get_state_func),
2590         (gst_element_abort_state), (gst_element_commit_state),
2591         (gst_element_lost_state):
2592         * gst/gstevent.h:
2593         * gst/gstquery.c: (gst_query_set_position),
2594         (gst_query_parse_position), (gst_query_set_duration),
2595         (gst_query_parse_duration), (gst_query_new_convert):
2596         * gst/gstutils.c:
2597         Yay! 1% more docs coverage.
2598
2599 2005-10-20  Wim Taymans  <wim@fluendo.com>
2600
2601         * gst/gstpad.h:
2602         * gst/gstquery.c: (gst_query_set_position),
2603         (gst_query_parse_position), (gst_query_set_duration),
2604         (gst_query_parse_duration), (gst_query_new_convert):
2605         * gst/gstquery.h:
2606         * gst/gstutils.c: (gst_element_query_convert):
2607         * gst/gstutils.h:
2608         Docs and consistency fixes.
2609
2610 2005-10-20  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/gsttask.c:
2613         * gst/gsttask.h:
2614         More docs.
2615
2616 2005-10-20  Wim Taymans  <wim@fluendo.com>
2617
2618         * gst/gstbin.c: (message_check), (bin_replace_message),
2619         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2620         (update_degree), (gst_bin_sort_iterator_next),
2621         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2622         Reworked the message handling a bit, cache the messages instead of
2623         only the senders. alows us to do more in the future.
2624
2625 2005-10-20  Wim Taymans  <wim@fluendo.com>
2626
2627         * docs/design/part-TODO.txt:
2628         Update TODO
2629
2630         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2631         (gst_base_sink_query):
2632         Don't use clock time to report position when in EOS.
2633
2634 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2635
2636         * tools/gst-inspect.c: (print_interfaces),
2637         (print_element_properties_info), (print_element_info):
2638           Fix interface output with gst-inspect -a; don't print
2639           newlines after double/float properties.
2640
2641 2005-10-20  Wim Taymans  <wim@fluendo.com>
2642
2643         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2644         (gst_base_sink_query):
2645         Speed up current position calculation.
2646
2647         * gst/base/gstbasesrc.c: (gst_base_src_query),
2648         (gst_base_src_default_newsegment):
2649         Correctly set stream position in newsegment.
2650
2651         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2652         (update_degree), (gst_bin_sort_iterator_next),
2653         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2654         * gst/gstmessage.c: (gst_message_new_custom):
2655         Clean up debugging info
2656
2657         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2658         (gst_queue_loop), (gst_queue_handle_src_query):
2659         Pause task faster.
2660
2661 2005-10-19  Wim Taymans  <wim@fluendo.com>
2662
2663         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2664         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2665         Fix query handling again.
2666
2667 2005-10-19  Wim Taymans  <wim@fluendo.com>
2668
2669         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2670         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2671         * gst/base/gstbasesrc.c: (gst_base_src_query):
2672         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2673         * gst/elements/gsttypefindelement.c:
2674         (gst_type_find_handle_src_query), (find_element_get_length),
2675         (gst_type_find_element_activate):
2676         API change fix.
2677
2678         * gst/gstquery.c: (gst_query_new_position),
2679         (gst_query_set_position), (gst_query_parse_position),
2680         (gst_query_new_duration), (gst_query_set_duration),
2681         (gst_query_parse_duration), (gst_query_set_segment),
2682         (gst_query_parse_segment):
2683         * gst/gstquery.h:
2684         Bundling query position/duration is not a good idea since duration
2685         does not change much and we don't want to recalculate it for every
2686         position query, so they are separated again..
2687         Base value in segment query is not needed.
2688
2689         * gst/gstqueue.c: (gst_queue_handle_src_query):
2690         * gst/gstutils.c: (gst_element_query_position),
2691         (gst_element_query_duration), (gst_pad_query_position),
2692         (gst_pad_query_duration):
2693         * gst/gstutils.h:
2694         Updates for query API change.
2695         Added some docs here and there.
2696
2697 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2698
2699         * check/gst/gstbin.c: (GST_START_TEST):
2700         * check/gst/gstghostpad.c: (GST_START_TEST):
2701         * check/pipelines/cleanup.c: (GST_START_TEST):
2702           wait on thread to die so we can check refcount correctly
2703
2704 2005-10-18  Wim Taymans  <wim@fluendo.com>
2705
2706         * check/pipelines/stress.c: (GST_START_TEST):
2707         Make check a little more time consuming.
2708
2709 2005-10-18  Wim Taymans  <wim@fluendo.com>
2710
2711         * check/Makefile.am:
2712         * check/pipelines/stress.c: (GST_START_TEST),
2713         (simple_launch_lines_suite), (main):
2714         Small state change torture test.
2715
2716         * docs/design/part-states.txt:
2717         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2718         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2719         (gst_base_sink_change_state):
2720         Never take state lock from streaming thread, clean up ugly
2721         hacks. Unfortunatly core does not yet support nice ways to
2722         async commit state.
2723         
2724         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2725         (bin_bus_handler):
2726         Start state recalc if a STATE_DIRTY message is posted, but only
2727         on the toplevel bin.
2728
2729         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2730         (gst_element_get_state_func), (gst_element_abort_state),
2731         (gst_element_commit_state), (gst_element_lost_state),
2732         (gst_element_set_state_func), (gst_element_change_state):
2733         * gst/gstelement.h:
2734         State variables are now protected with the LOCK, the state
2735         lock is only used to serialize _set_state().
2736
2737 2005-10-18  Wim Taymans  <wim@fluendo.com>
2738
2739         * check/gst/gstbin.c: (GST_START_TEST):
2740         * check/gst/gstmessage.c: (GST_START_TEST):
2741         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2742         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2743         (bin_bus_handler):
2744         * gst/gstelement.c: (gst_element_abort_state),
2745         (gst_element_commit_state), (gst_element_lost_state):
2746         * gst/gstmessage.c: (gst_message_new_state_changed),
2747         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2748         (gst_message_new_segment_done), (gst_message_new_duration),
2749         (gst_message_parse_state_changed),
2750         (gst_message_parse_segment_start),
2751         (gst_message_parse_segment_done), (gst_message_parse_duration):
2752         * gst/gstmessage.h:
2753         * tools/gst-launch.c: (event_loop):
2754         Seriously, this is better than a previous commit as we only need
2755         to notify the fact that an element changed state in a streaming
2756         thread, marking the state of the parents dirty, hence the 
2757         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2758         message.
2759
2760 2005-10-18  Wim Taymans  <wim@fluendo.com>
2761
2762         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2763         (gst_bin_recalc_func):
2764         * gst/gstelement.c: (gst_element_set_clock),
2765         (gst_element_abort_state), (gst_element_lost_state):
2766         Cleanups, prepare for state change fixes.
2767
2768 2005-10-18  Wim Taymans  <wim@fluendo.com>
2769
2770         * gst/gstbin.h:
2771         * gst/gstelement.c: (gst_element_class_init),
2772         (gst_element_set_state), (gst_element_set_state_func):
2773         * gst/gstelement.h:
2774         Pending ABI changes.
2775         GThreadPool in GstBinClass to monitor async state changes.
2776         state_cookie in GstElement to detect concurrent gst/set state.
2777         set_state is now virtual too in case a very complicated element
2778         has to be constructed.
2779
2780 2005-10-18  Wim Taymans  <wim@fluendo.com>
2781
2782         * check/gst/gstbin.c: (GST_START_TEST):
2783         * check/gst/gstmessage.c: (GST_START_TEST):
2784         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2785         * gst/gstbin.c: (bin_bus_handler):
2786         * gst/gstelement.c: (gst_element_commit_state),
2787         (gst_element_lost_state):
2788         * gst/gstmessage.c: (gst_message_new_state_changed),
2789         (gst_message_new_segment_start), (gst_message_new_segment_done),
2790         (gst_message_new_duration), (gst_message_parse_state_changed),
2791         (gst_message_parse_segment_start),
2792         (gst_message_parse_segment_done), (gst_message_parse_duration):
2793         * gst/gstmessage.h:
2794         * tools/gst-launch.c: (event_loop):
2795         Make messages future proof.
2796         state-change gets a flag if it was a message comming from the
2797         streaming thread.
2798         segment-start/stop can also be specified in other formats.
2799         A message to notify an app that a pipeline changed playback 
2800         duration.
2801         Also fix a GstMessage leak in -launch
2802
2803 2005-10-18  Andy Wingo  <wingo@pobox.com>
2804
2805         * gst/gstelement.c (gst_element_dispose): More helpful message.
2806
2807 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2808
2809         reviewed by: <delete if not using a buddy>
2810
2811         * common/gtk-doc.mak:
2812
2813 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2814
2815         * gst/gstregistry.c: (gst_registry_scan_path_level):
2816           unref a plug-in we get that was already initialized
2817
2818 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2819
2820         * docs/gst/gstreamer-sections.txt:
2821         * docs/libs/gstreamer-libs-sections.txt:
2822         * gst/gstelement.h:
2823           add new api entries
2824           hide internal macro
2825
2826 2005-10-17  Andy Wingo  <wingo@pobox.com>
2827
2828         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2829         cleanup.
2830
2831         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2832
2833         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2834
2835         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2836         (gst_element_get_state_func): Better debug message.
2837         (gst_element_commit_state): s/INFO/DEBUG/.
2838         (gst_element_lost_state, gst_element_change_state): 
2839
2840         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2841         (gst_message_new_custom): s/INFO/LOG/.
2842
2843 2005-10-17  Michael Smith <msmith@fluendo.com>
2844
2845         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2846           Check if end time is valid using end time, not start time.
2847
2848 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2849
2850         * check/gst-libs/controller.c: (GST_START_TEST),
2851         (gst_controller_suite):
2852         * libs/gst/controller/gstcontroller.c:
2853         (gst_controlled_property_set_interpolation_mode):
2854         * libs/gst/controller/gstcontroller.h:
2855         * libs/gst/controller/gstinterpolation.c:
2856         * testsuite/controller/.cvsignore:
2857         * testsuite/controller/Makefile.am:
2858         * testsuite/controller/interpolator.c:
2859           merge controller testsuites
2860           fix broken tests
2861           remove mem-chunk from docs
2862
2863 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2864
2865         * gst/gstmemchunk.c:
2866         * gst/gstmemchunk.h:
2867         * gst/gsttrashstack.c:
2868         * gst/gsttrashstack.h:
2869           out.  get out.  you're fired.  to the Attic !
2870
2871 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2872
2873         * gst/gstcaps.c: (gst_caps_intersect):
2874           fix signedness issues in a (hopefully) correct way
2875         * gst/gstelement.c: (gst_element_pads_activate):
2876           some debugging
2877         * gst/gstobject.c: (gst_object_set_parent):
2878           some debugging
2879
2880 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2881
2882         * gst/gstvalue.h: Fix prototypes.
2883
2884 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2885
2886         * docs/gst/gstreamer-sections.txt:
2887         * gst/gst.c: (gst_version_string):
2888         * gst/gst.h:
2889         * gst/gstversion.h.in:
2890         * win32/common/libgstreamer.def:
2891           add gst_version_string ()
2892
2893 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2894
2895         * configure.ac:
2896           clean up further
2897         * gst/gst.c: (init_post):
2898         * win32/common/config.h.in:
2899           it's PLUGINDIR now
2900         * gst/gstcaps.c: (gst_caps_intersect):
2901           use gint64, the range could be bigger than a guint
2902
2903 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2904
2905         * gst/gstclock.h:
2906           document potential problem in 2038
2907
2908 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2909
2910         * gst/gstcaps.c: (gst_caps_intersect):
2911           Fix guint j diving under 0
2912
2913 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2914
2915         * configure.ac:
2916         * win32/common/config.h:
2917         * win32/common/config.h.in:
2918           check for process.h, declares getpid() on Windows
2919         * gst/gstinfo.c:
2920           include process.h if we have it
2921         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2922         * gst/gstmemchunk.h:
2923           fix signedness issues
2924         * win32/common/libgstreamer.def:
2925           fix get_type's
2926
2927 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2928
2929         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2930         fix. Because of unsigned ints, caps intersection was going nuts and
2931         trying to access structures with G_MAXUINT index. That fixes
2932         videotestsrc ! ffmpegcolorspace ! fakesink
2933         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2934         consistency.
2935
2936 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2937
2938         * configure.ac:
2939           use the gettext macro
2940         * gst/elements/gstelements.c:
2941         * gst/gst.c:
2942         * gst/indexers/gstindexers.c:
2943           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2944         * win32/common/config.h:
2945           updated config.h
2946         * win32/common/config.h.in:
2947           add the template to generate config.h
2948         * win32/common/gstenumtypes.c:
2949         * win32/common/gstversion.h:
2950           updated copies
2951
2952 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * gst/gst.c: (gst_version):
2955         * gst/gstversion.h.in:
2956           add the nano
2957
2958 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2959
2960         * gst/gstevent.h:
2961           Oops, add missing closing bracket.
2962
2963 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2964
2965         * configure.ac:
2966           use common m4's for argument checking
2967
2968 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2969
2970         * docs/gst/gstreamer-sections.txt:
2971         * gst/gstevent.h:
2972           Add GST_EVENT_TYPE_NAME() macro.
2973
2974 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2975
2976         * gst/gstinfo.c:
2977         * gst/gstpluginfeature.c:
2978         * gst/gsttask.c:
2979           privatize more symbols
2980
2981 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2982
2983         * configure.ac:
2984           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2985           everything that uses GStreamer API should have the includes
2986
2987 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2988
2989         * docs/gst/gstreamer-sections.txt:
2990         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2991         * gst/gstvalue.h:
2992           give each value a _get_type, removes the DATA exports
2993
2994 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2995
2996         * gst/gst.c:
2997         * gst/gst.h:
2998           remove _gst_registry_auto_load, not used anymore
2999         * gst/gstbin.c: (gst_bin_get_type):
3000         * gst/gstbin.h:
3001         * gst/gstelement.c: (gst_element_get_type):
3002         * gst/gstelement.h:
3003         * gst/gstobject.c: (gst_object_get_type):
3004         * gst/gstobject.h:
3005         * gst/gstpad.c: (gst_pad_get_type):
3006         * gst/gstpad.h:
3007           make _get_type functions similar, fixes data export from library
3008
3009 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3010
3011         * configure.ac:
3012           correctly make conditionals
3013         * gst/elements/Makefile.am:
3014         * gst/elements/gstelements.c:
3015           fix typo causing fdsrc not to build
3016
3017 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3018
3019         * testsuite/Makefile.am:
3020         * testsuite/bytestream/.cvsignore:
3021         * testsuite/bytestream/Makefile.am:
3022         * testsuite/bytestream/filepadsink.c:
3023         * testsuite/bytestream/gstbstest.c:
3024         * testsuite/bytestream/test1.c:
3025         * testsuite/bytestream/testfile1:
3026         * testsuite/caps/normalisation.c:
3027         * testsuite/caps/random.c: (main):
3028         * testsuite/cleanup/.cvsignore:
3029         * testsuite/cleanup/Makefile.am:
3030         * testsuite/cleanup/cleanup1.c:
3031         * testsuite/cleanup/cleanup2.c:
3032         * testsuite/cleanup/cleanup3.c:
3033         * testsuite/cleanup/cleanup4.c:
3034         * testsuite/cleanup/cleanup5.c:
3035         * testsuite/controller/interpolator.c:
3036         * testsuite/debug/printf_extension.c: (main):
3037         * testsuite/elements/tee.c:
3038         * testsuite/negotiation/.cvsignore:
3039         * testsuite/negotiation/Makefile.am:
3040         * testsuite/negotiation/pad_link.c:
3041         * testsuite/pad/Makefile.am:
3042         * testsuite/pad/chainnopull.c:
3043         * testsuite/pad/getnopush.c:
3044         * testsuite/pad/link.c:
3045         * testsuite/refcounting/sched.c: (create_pipeline):
3046         * testsuite/registry/Makefile.am:
3047         * testsuite/registry/gst-print-formats.c:
3048         * testsuite/schedulers/.cvsignore:
3049         * testsuite/schedulers/142183-2.c:
3050         * testsuite/schedulers/142183.c:
3051         * testsuite/schedulers/143777-2.c:
3052         * testsuite/schedulers/143777.c:
3053         * testsuite/schedulers/147713.c:
3054         * testsuite/schedulers/147819.c:
3055         * testsuite/schedulers/147894-2.c:
3056         * testsuite/schedulers/147894.c:
3057         * testsuite/schedulers/Makefile.am:
3058         * testsuite/schedulers/group_link.c:
3059         * testsuite/schedulers/queue_link.c:
3060         * testsuite/schedulers/relink.c:
3061         * testsuite/schedulers/unlink.c:
3062         * testsuite/schedulers/unref.c:
3063         * testsuite/schedulers/useless_iteration.c:
3064         * testsuite/states/bin.c:
3065           clean out/remove some stuff from the testsuite directories
3066
3067 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3068
3069         * configure.ac:
3070           check for some headers
3071         * gst/elements/Makefile.am:
3072         * gst/elements/gstelements.c:
3073           don't compile fdsrc without sys/socket.h
3074         * gst/indexers/Makefile.am:
3075         * gst/indexers/gstindexers.c: (plugin_init):
3076           don't compile fileindex without mmap
3077
3078 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3079
3080         * configure.ac:
3081           reorganize
3082           clean up
3083           document more
3084           remove cruft
3085         * check/Makefile.am:
3086         * docs/gst/Makefile.am:
3087         * examples/helloworld/Makefile.am:
3088         * gst/Makefile.am:
3089         * gst/base/Makefile.am:
3090         * gst/check/Makefile.am:
3091         * gst/elements/Makefile.am:
3092         * gst/indexers/Makefile.am:
3093         * gst/parse/Makefile.am:
3094         * libs/gst/controller/Makefile.am:
3095         * libs/gst/dataprotocol/Makefile.am:
3096         * examples/helloworld/helloworld.c: (event_loop):
3097           compile fixes, though it's not being compiled currently
3098
3099 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3100
3101         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3102           Add some simple tests for the new taglist date API.
3103
3104 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3105
3106         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3107         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3108           Beautify 'last-message' output: print 'none' for buffer timestamps
3109           and durations if none is set; improve alignment with next messages.
3110
3111 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3112
3113         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3114         * gst/gstpluginfeature.h:
3115         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3116         * gst/gstregistry.h:
3117         * docs/gst/gstreamer-sections.txt:
3118           Add new API to check plugin feature version requirements.
3119
3120         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3121           Some basic tests for the above.         
3122
3123 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3124
3125         * gst/gststructure.c: (gst_structure_to_string):
3126           guard against NULL printf - happens when for example
3127           a message structure with GstClock gets serialized
3128
3129 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3130
3131         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3132           Fix presumable copy'n'pasto.
3133
3134 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3135
3136         * gst/elements/gstfakesrc.h:
3137         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3138         * gst/elements/gsttypefindelement.c:
3139           fix some signedness
3140         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3141           I wonder if this could actually write +2GB files before
3142
3143 2005-10-13  Andy Wingo  <wingo@pobox.com>
3144
3145         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3146         Fix Timmeke Waymans bug.
3147         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3148         string of the proper length to gst_caps_from_string. There's a
3149         potential for, before this fix, that this could cause someone
3150         connecting over the network to cause a segfault if the payload is
3151         not NUL-terminated.
3152
3153 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3154
3155         * docs/design/draft-push-pull.txt:
3156         * docs/design/part-overview.txt:
3157         * docs/random/TODO-pre-0.9:
3158         * docs/random/old/ChangeLog.gstreamer:
3159         * gst/base/gstpushsrc.c:
3160         * gst/gstclock.c:
3161           fixed typos
3162
3163 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3164
3165         * gst/glib-compat.c: (gst_flags_get_first_value):
3166         * gst/glib-compat.h:
3167         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3168         (gst_value_compare_double), (gst_value_serialize_flags):
3169           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3170           infinite loop
3171
3172 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3173
3174         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3175         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3176           fix up debugging
3177         * tools/gst-launch.c: (event_loop):
3178           print out clock nicely
3179
3180 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3181
3182         * docs/gst/gstreamer-sections.txt:
3183         * gst/gsttaglist.h:
3184         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3185         (gst_tag_list_get_date_index):
3186           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3187           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3188
3189 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3190
3191         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3192         (gst_collectpads_chain):
3193         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3194         in CollectData.
3195
3196 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3197
3198         * docs/gst/gstreamer-sections.txt:
3199         * gst/gst.c:
3200         * gst/gsterror.h:
3201         * tools/gst-inspect.c: (main):
3202         * tools/gst-launch.c: (main):
3203         * tools/gst-run.c: (main):
3204         * tools/gst-xmlinspect.c: (main):
3205           fix GOption context leaks
3206           doc fixes
3207
3208 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3209
3210         * gst/gstbus.c:
3211           use HAVE_UNISTD_H
3212         * win32/common/config.h:
3213           update config
3214         * win32/vs6/grammar.dsp:
3215         * win32/vs6/libgstelements.dsp:
3216         * win32/vs6/libgstreamer.dsp:
3217           update vs6 files
3218
3219 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3220
3221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3222         * gst/base/gstbasesrc.c: (gst_base_src_query):
3223           fix more guint64<->gdouble conversions
3224
3225 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3226
3227         * Makefile.am:
3228           add win32-update target
3229         * win32/common/gstconfig.h:
3230         * win32/common/gstenumtypes.c:
3231         * win32/common/gstenumtypes.h:
3232         * win32/common/gstversion.h:
3233           add files that visual studio can't generate
3234
3235 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3236
3237         * Makefile.am:
3238           add a win32-update target
3239         * configure.ac:
3240
3241 2005-10-12  Wim Taymans  <wim@fluendo.com>
3242
3243         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3244         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3245         * gst/gstelement.c: (gst_element_commit_state),
3246         (gst_element_set_state):
3247         Protect flags with proper lock.
3248         unref provided cached clock in dispose.
3249
3250 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3251
3252         * gst/gst.c:
3253         * gst/gstminiobject.h:
3254         * gst/gstpad.h:
3255         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3256           removed unused flags from miniobject
3257           doc fixes
3258
3259 2005-10-12  Wim Taymans  <wim@fluendo.com>
3260
3261         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3262         (gst_file_sink_event), (gst_file_sink_render):
3263         Flush before seeking.
3264
3265 2005-10-12  Andy Wingo  <wingo@pobox.com>
3266
3267         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3268         always been the case.
3269
3270 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3271
3272         * check/gst/gstbin.c: (GST_START_TEST):
3273         * docs/gst/gstreamer-sections.txt:
3274         * gst/base/gstbasesink.c: (gst_base_sink_init):
3275         * gst/base/gstbasesrc.c: (gst_base_src_init),
3276         (gst_base_src_get_range), (gst_base_src_check_get_range),
3277         (gst_base_src_start), (gst_base_src_stop):
3278         * gst/base/gstbasesrc.h:
3279         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3280         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3281         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3282         (bin_bus_handler):
3283         * gst/gstbin.h:
3284         * gst/gstbuffer.h:
3285         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3286         * gst/gstbus.h:
3287         * gst/gstelement.c: (gst_element_is_locked_state),
3288         (gst_element_set_locked_state), (gst_element_commit_state),
3289         (gst_element_set_state):
3290         * gst/gstelement.h:
3291         * gst/gstindex.c: (gst_index_init):
3292         * gst/gstindex.h:
3293         * gst/gstminiobject.h:
3294         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3295         (gst_object_set_parent):
3296         * gst/gstobject.h:
3297         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3298         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3299         * gst/gstpad.h:
3300         * gst/gstpadtemplate.h:
3301         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3302         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3303         * gst/gstpipeline.h:
3304         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3305         (gst_file_index_commit):
3306         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3307         * testsuite/pad/link.c: (gst_test_src_init),
3308         (gst_test_filter_init), (gst_test_sink_init):
3309         * testsuite/states/locked.c: (main):
3310           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3311           moved bitshift from macro to enum definition
3312
3313 2005-10-12  Wim Taymans  <wim@fluendo.com>
3314
3315         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3316         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3317         (gst_file_sink_render):
3318         Some more debugging info.
3319
3320 2005-10-12  Wim Taymans  <wim@fluendo.com>
3321
3322         * docs/design/part-states.txt:
3323         * tools/gst-launch.c: (main):
3324         Some doc updates.
3325         Revert non-intentional change.
3326
3327 2005-10-12  Wim Taymans  <wim@fluendo.com>
3328
3329         * check/gst/gstbin.c: (GST_START_TEST):
3330         * check/gst/gstelement.c: (GST_START_TEST):
3331         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3332         * check/gst/gstghostpad.c: (GST_START_TEST):
3333         * check/gst/gstpipeline.c: (GST_START_TEST):
3334         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3335         * check/states/sinks.c: (GST_START_TEST):
3336         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3337         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3338         (gst_bin_remove_func), (gst_bin_get_state_func),
3339         (gst_bin_recalc_state), (gst_bin_change_state_func),
3340         (bin_bus_handler):
3341         * gst/gstelement.c: (gst_element_get_state_func),
3342         (gst_element_get_state), (gst_element_abort_state),
3343         (gst_element_commit_state), (gst_element_set_state),
3344         (gst_element_change_state), (gst_element_change_state_func):
3345         * gst/gstelement.h:
3346         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3347         (gst_pipeline_provide_clock_func):
3348         * gst/gstutils.c: (gst_element_link_pads_filtered):
3349         * tools/gst-launch.c: (main):
3350         * tools/gst-typefind.c: (main):
3351         Use GstClockTime in _get_state() instead of GTimeVal.
3352         Remove old code in gstutils.c
3353
3354 2005-10-12  Andy Wingo  <wingo@pobox.com>
3355
3356         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3357         removed.
3358
3359         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3360         there is no task. Shouldn't affect any code, as nothing in our
3361         plugins checks this return value.
3362         (gst_pad_stop_task): Also take the stream lock if the pad has no
3363         task. Docs updated.
3364
3365 2005-10-12  Wim Taymans  <wim@fluendo.com>
3366
3367         * gst/gstpad.c: (pre_activate), (post_activate),
3368         (gst_pad_activate_pull), (gst_pad_activate_push):
3369         Cleanup activation code. Reset old state if
3370         activation failed.
3371
3372 2005-10-12  Wim Taymans  <wim@fluendo.com>
3373
3374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3375         (gst_base_sink_change_state):
3376         No need to prerol after receiving EOS.
3377
3378         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3379         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3380         * gst/elements/gstidentity.c: (gst_identity_event):
3381         Print events more verbosely.
3382
3383 2005-10-12  Wim Taymans  <wim@fluendo.com>
3384
3385         * check/Makefile.am:
3386         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3387         * check/states/sinks2.c:
3388         Moved sinks2 testcode in sinks check.
3389
3390         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3391         (gst_bin_remove_func), (gst_bin_recalc_state),
3392         (gst_bin_change_state_func), (bin_bus_handler):
3393         Fix potential race condition when _get_state() iterated over an
3394         ASYNC element right before it posted a state completion.
3395
3396         * gst/gstclock.h:
3397         Do proper cast here.
3398
3399         * gst/gstevent.c: (gst_event_new_newsegment),
3400         (gst_event_parse_newsegment):
3401         A playback rate of 0.0 is not allowed.
3402
3403 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3404
3405         * win32/common/config.h:
3406         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3407         (_trewinddir), (_ttelldir), (_tseekdir):
3408         * win32/common/dirent.h:
3409         * win32/common/gtchar.h:
3410         * win32/common/libgstbase.def:
3411         * win32/common/libgstreamer.def:
3412         * win32/vs6/grammar.dsp:
3413         * win32/vs6/gst_inspect.dsp:
3414         * win32/vs6/gst_launch.dsp:
3415         * win32/vs6/gstreamer.dsw:
3416         * win32/vs6/libgstbase.dsp:
3417         * win32/vs6/libgstelements.dsp:
3418         * win32/vs6/libgstreamer.dsp:
3419           Visual Studio 6 project files, and a new common directory.
3420           Phear.
3421
3422 2005-10-11  Wim Taymans  <wim@fluendo.com>
3423
3424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3425         (gst_base_sink_do_sync), (gst_base_sink_query),
3426         (gst_base_sink_change_state):
3427         * gst/base/gstbasesink.h:
3428         Correctly parse newsegment info.
3429
3430 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3431
3432         * gst/gst.c: (init_post):
3433           split plugin paths correctly
3434
3435 2005-10-11  Wim Taymans  <wim@fluendo.com>
3436
3437         * check/gst/gstevent.c: (GST_START_TEST):
3438         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3439         (gst_base_sink_change_state):
3440         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3441         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3442         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3443         * gst/gstevent.c: (gst_event_new_newsegment),
3444         (gst_event_parse_newsegment):
3445         * gst/gstevent.h:
3446         Added extra flag to newsegment for future API freeze.
3447         Updated check and base elements.
3448
3449 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3450
3451         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3452         (gst_collectpads_add_pad), (gst_collectpads_pop),
3453         (gst_collectpads_event), (gst_collectpads_chain):
3454         * gst/base/gstcollectpads.h: Handle EOS correctly.
3455
3456 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3457
3458         * tools/gst-launch.c: (main):
3459           more null protecting
3460
3461 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3462
3463         * gst/gst-i18n-lib.h:
3464           check for ENABLE_NLS, not GETTEXT_PACKAGE
3465         * gst/gstregistry.c: (gst_registry_add_plugin),
3466         (gst_registry_scan_path_level),
3467         (_gst_registry_remove_cache_plugins):
3468           protect possibly NULL strings
3469         * gst/parse/types.h:
3470           config.h already included before
3471         * tools/gst-inspect.c: (main):
3472           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3473           check for ENABLE_NLS, not GETTEXT_PACKAGE
3474         * tools/gst-launch.c: (main):
3475           check for ENABLE_NLS, not GETTEXT_PACKAGE
3476
3477 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3478
3479         * configure.ac:
3480           if we don't have glib, fail before testing 2.8
3481         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3482           fix a leak, should fix plugins-base testsuite
3483
3484 2005-10-11  Andy Wingo  <wingo@pobox.com>
3485
3486         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3487         take the mode we're going to as an arg. Go head and set the mode
3488         and flushing flags now, so that if the activate function starts a
3489         thread all the flags will be in the right state.
3490         (post_activate): Renamed also. Just handle making sure streaming
3491         finishes for the deactivation case, and setting the deactivated
3492         mode.
3493         (gst_pad_set_active): Complain loudly if deactivation fails.
3494         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3495         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3496         remove the terrible hack.
3497
3498 2005-10-11  Wim Taymans  <wim@fluendo.com>
3499
3500         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3501         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3502         (gst_bin_recalc_state), (gst_bin_change_state_func),
3503         (gst_bin_dispose), (bin_bus_handler):
3504         * gst/gstbin.h:
3505         Prepare to make current EOS message queue more generic.
3506         Fix some typos.
3507
3508         * gst/gstevent.c: (gst_event_new_newsegment),
3509         (gst_event_parse_newsegment):
3510         * gst/gstevent.h:
3511         Rename base to stream_time.
3512
3513         * gst/gstmessage.h:
3514         Fix typo in docs.
3515
3516 2005-10-11  Wim Taymans  <wim@fluendo.com>
3517
3518         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3519         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3520         (gst_bin_change_state_func), (bin_bus_handler):
3521         * gst/gstbin.h:
3522         Work on proper clock selection.
3523
3524 2005-10-11  Edward Hervey  <edward@fluendo.com>
3525
3526         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3527         * libs/gst/controller/gstcontroller.h:
3528         Added GList* version of _remove_properties() in order to be able to wrap
3529         it in bindings.
3530
3531 2005-10-11  Wim Taymans  <wim@fluendo.com>
3532
3533         * docs/design/part-states.txt:
3534         Some more docs.
3535
3536         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3537         (gst_bin_change_state_func), (bin_bus_handler):
3538         Doc updates. Don't distribute the same clock over and over again.
3539
3540         * gst/gstclock.c:
3541         * gst/gstclock.h:
3542         Doc updates.
3543
3544         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3545         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3546         (gst_pad_send_event):
3547         * gst/gstpad.h:
3548         Make probe emission threadsafe again.
3549         Register quarks and move _get_name() from utils.
3550         Doc updates.
3551
3552         * gst/gstpipeline.c: (gst_pipeline_class_init),
3553         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3554         Only redistribute the clock of it changed.
3555
3556         * gst/gstsystemclock.h:
3557         Doc updates. 
3558
3559         * gst/gstutils.c:
3560         * gst/gstutils.h:
3561         Moved the _flow_get_name() to GstPad.
3562
3563 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3564
3565         * check/gst-libs/gdp.c: (GST_START_TEST):
3566         * check/gst/gstcaps.c: (GST_START_TEST):
3567         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3568         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3569         (gst_dp_packet_from_caps):
3570           fix more valgrind warnings before turning up the heat
3571
3572 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3573
3574         * gst/parse/grammar.y:
3575           some cleanup before the hacking
3576
3577 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3578
3579         * gst/base/gstbasesrc.c: (gst_base_src_query):
3580           use conversions
3581         * gst/gstutils.c: (gst_guint64_to_gdouble),
3582         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3583         * gst/gstutils.h:
3584           externalize, basesrc uses it
3585           obviously the implementation needs testing
3586
3587 2005-10-10  Wim Taymans  <wim@fluendo.com>
3588
3589         * tests/sched/Makefile.am:
3590         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3591         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3592
3593 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3594
3595         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3596           apparently converting from guint64 to double is not implemented
3597           on MSVC
3598
3599 2005-10-10  Wim Taymans  <wim@fluendo.com>
3600
3601         * check/Makefile.am:
3602         * check/generic/states.c: (GST_START_TEST):
3603         * check/gst/gstbin.c: (GST_START_TEST):
3604         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3605         * check/states/sinks.c: (GST_START_TEST):
3606         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3607         (main):
3608         Check fixes, use API as stated in design docs, remove hacks.
3609
3610         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3611         (gst_base_sink_change_state):
3612         Catch stopping our task while we're shutting down.
3613
3614         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3615         (gst_bin_remove_func), (gst_bin_get_state_func),
3616         (gst_bin_recalc_state), (gst_bin_change_state_func),
3617         (bin_bus_handler):
3618         * gst/gstbin.h:
3619         * gst/gstelement.c: (gst_element_init),
3620         (gst_element_get_state_func), (gst_element_abort_state),
3621         (gst_element_commit_state), (gst_element_lost_state),
3622         (gst_element_set_state), (gst_element_change_state),
3623         (gst_element_change_state_func):
3624         * gst/gstelement.h:
3625         New state change algorithm (see #318116)
3626
3627         * gst/gstpipeline.c: (gst_pipeline_class_init),
3628         (gst_pipeline_init), (gst_pipeline_set_property),
3629         (gst_pipeline_get_property), (do_pipeline_seek),
3630         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3631         * gst/gstpipeline.h:
3632         Remove crude state change hacks.
3633
3634         * gst/gstutils.h:
3635         Remove crude hacks.
3636
3637         * tools/gst-launch.c: (main):
3638         Fixes for state change. Needs some more work to fully use the
3639         new stuff.
3640
3641 2005-10-10  Andy Wingo  <wingo@pobox.com>
3642
3643         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3644
3645         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3646         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3647         issue.
3648
3649 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3650
3651         * gst/gstiterator.c: (gst_iterator_new):
3652           Fix my previous commit: GTypes passed to gst_iterator_new()
3653           can be fundamental types.
3654
3655 2005-10-10  Wim Taymans  <wim@fluendo.com>
3656
3657         * gst/gstelement.c: (gst_element_iterate_pad_list),
3658         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3659         (gst_element_iterate_sink_pads):
3660         Use src/sink pads lists for the respective iterators instead
3661         of filtering.
3662
3663 2005-10-10  Andy Wingo  <wingo@pobox.com>
3664
3665         Merged in popt removal + GOption addition patch from Ronald, bug
3666         #169772.
3667
3668         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3669         GstElement macros around, remove popt-related symbols, add goption
3670         stuff.
3671
3672         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3673         
3674         * docs/gst/Makefile.am:
3675         * docs/libs/Makefile.am: No POPT_CFLAGS.
3676         
3677         * examples/manual/Makefile.am:
3678         * docs/manual/basics-init.xml: Doc updates with an example.
3679         
3680         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3681         (gst_init), (parse_one_option), (parse_goption_arg):
3682         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3683         bit of hand merging and debugging to get the GOption stuff working
3684         tho.
3685         
3686         * tests/Makefile.am:
3687         * tools/Makefile.am:
3688         * tools/gst-inspect.c: (main):
3689         * tools/gst-launch.c: (main):
3690         * tools/gst-run.c: (main):
3691         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3692
3693 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3694
3695         * gst/gstiterator.c: (gst_iterator_new):
3696           Add assertions to make sure passed GType is likely to really
3697           be a GType (as the compiler won't catch it if the size and
3698           GType arguments get mixed up, see #318447).
3699
3700 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3701
3702         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3703
3704         * gst/gstbin.c: (gst_bin_iterate_sorted):
3705           Pass GType and size arguments to gst_iterator_new() in the right
3706           order (maybe we should make _new() take the GType as first argument
3707           just like _new_list()?) (#318447).
3708           
3709
3710 2005-10-10  Wim Taymans  <wim@fluendo.com>
3711
3712         * gst/gstelement.c: (gst_element_finalize):
3713         And free the GStaticRecMutex too
3714
3715 2005-10-10  Andy Wingo  <wingo@pobox.com>
3716
3717         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3718         Allocate and free the mutex properly.
3719
3720         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3721         New macros.
3722         (GstElement): The state_lock is now recursive. Rebuild your
3723         plugins, suckers. Old macros adapted.
3724
3725         * docs/gst/gstreamer-sections.txt: Doc updates.
3726
3727         * gst/gstutils.h:
3728         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3729         (g_static_rec_cond_wait): Ported from state changes patch, while
3730         we wait on bug #317802 to be solved in a well-distributed GLib.
3731
3732         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3733         gst_element_change_state, variable name changes.
3734         (gst_element_change_state): Split out of gst_element_set_state in
3735         preparation for the state change merge. Doesn't pay attention to
3736         the 'transition' argument.
3737         (gst_element_set_state): Updates, hopefully purely cosmetic.
3738         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3739         state change patch.
3740         (gst_element_get_state_func): Renamed from get_state, cosmetic
3741         changes.
3742
3743 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3744
3745         * gst/elements/gstelements.c:
3746         * win32/GStreamer.vcproj:
3747         * win32/config.h:
3748         * win32/dirent.c: (_tseekdir):
3749         * win32/gst-inspect.vcproj:
3750         * win32/gst-launch.vcproj:
3751         * win32/gstconfig.h:
3752         * win32/gstelements.vcproj:
3753         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3754         * win32/gstreamer.def:
3755         * win32/msvc71.sln:
3756           updates for the win32 build (patch from Sebastien Moutte)
3757
3758 2005-10-10  Andy Wingo  <wingo@pobox.com>
3759
3760         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3761         gst_bin_get_state, cleaned up (but no logic changes).
3762         (bin_element_is_sink): Comment updates.
3763         (sink_iterator_filter): Remove needless cast.
3764         (gst_bin_iterate_sinks): Doc update.
3765         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3766         cleaned up (but no logic changes).
3767
3768         * check/states/sinks.c (test_src_sink): Cleanups from the state
3769         change patch.
3770         (test_livesrc_sink): Sync on the state.
3771
3772         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3773         the state change patch.
3774
3775         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3776         change patch.
3777
3778         * check/gst/gstbin.c: Merge in some style fixes and additional
3779         checks from Wim's state change patch.
3780
3781 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3782
3783         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3784         (gst_type_find_helper):
3785           Check whether we have the requested data already in our list of
3786           cached buffers before pulling a new buffer; also make the buffer
3787           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3788
3789 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3790
3791         * gst/gstcaps.c:
3792         * gst/gstevent.c:
3793           doc updates
3794         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3795           don't use long long, it's not portable.  Replacing with
3796           gint64 seems to work; let's hope no skeletons fall out of the closet.
3797
3798 2005-10-10  Andy Wingo  <wingo@pobox.com>
3799
3800         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3801
3802 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3803
3804         * docs/gst/gstreamer-sections.txt:
3805         * gst/gstevent.c:
3806         * gst/gstevent.h:
3807         * gst/gstinfo.c:
3808         * gst/gstinfo.h:
3809         * gst/gstmessage.c: (gst_message_parse_state_changed):
3810         * gst/gstpad.c:
3811         * gst/gstpad.h:
3812           more docs, fix compilation
3813
3814 2005-10-09  Philippe Khalaf <burger@speedy.org>
3815         * gst/gstmessage.c:
3816           Fixed a few forgotten variables on previous commit
3817
3818 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3819
3820         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3821           Fix evil typefind crasher: getrange() might return a short
3822           buffer at the end of a file, but gst_type_find_peek() must
3823           either return the full data as requested or NULL, but
3824           never a short buffer.
3825
3826 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3827
3828         * gst/gstmessage.c: (gst_message_new_state_changed),
3829         (gst_message_parse_state_changed):
3830         * gst/gstmessage.h:
3831           don't use "new", it's a C++ keyword
3832
3833 2005-10-08  Wim Taymans  <wim@fluendo.com>
3834
3835         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3836         * gst/gstelement.c: (gst_element_post_message):
3837         * gst/gstpipeline.c: (gst_pipeline_change_state):
3838         Small docs and debug updates.
3839
3840 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3841
3842         * docs/gst/gstreamer-sections.txt:
3843         * gst/gstelementfactory.c:
3844         * gst/gstevent.c:
3845         * gst/gsttaglist.c:
3846           more docs
3847
3848 2005-10-08  Wim Taymans  <wim@fluendo.com>
3849
3850         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3851         (gst_bin_dispose), (bin_bus_handler):
3852         Fix typos, add comments.
3853         Clear EOS list when going to PAUSED from any direction and do it
3854         in a threadsafe way.
3855         Get base time in a threadsafe way too.
3856         Fix confusing debug in the change_state function.
3857         Various other small cleanups.
3858         
3859         * gst/gstelement.c: (gst_element_post_message):
3860         Fix very verbose bus posting code.
3861
3862         * gst/gstpipeline.c: (gst_pipeline_class_init),
3863         (gst_pipeline_set_property), (gst_pipeline_get_property),
3864         (gst_pipeline_change_state):
3865         Small ARG_ -> PROP_ cleanup
3866
3867 2005-10-08  Wim Taymans  <wim@fluendo.com>
3868
3869         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3870         Do a less CPU demanding EOS check because we can.
3871
3872 2005-10-08  Wim Taymans  <wim@fluendo.com>
3873
3874         * libs/gst/dataprotocol/dataprotocol.c:
3875         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3876         (gst_dp_packet_from_event):
3877         * libs/gst/dataprotocol/dataprotocol.h:
3878         * libs/gst/dataprotocol/dp-private.h:
3879         It's about time we bump the version number.
3880         Since event types don't fit in the guint8 anymore describing
3881         the payload type, make payload type 16 bits wide.
3882
3883 2005-10-08  Wim Taymans  <wim@fluendo.com>
3884
3885         * docs/design/part-TODO.txt:
3886         * docs/design/part-clocks.txt:
3887         * docs/design/part-events.txt:
3888         * docs/design/part-gstbin.txt:
3889         * docs/design/part-gstelement.txt:
3890         * docs/design/part-gstpipeline.txt:
3891         * docs/design/part-live-source.txt:
3892         * docs/design/part-messages.txt:
3893         * docs/design/part-overview.txt:
3894         * docs/design/part-states.txt:
3895         Many doc updates.
3896
3897 2005-10-08  Wim Taymans  <wim@fluendo.com>
3898
3899         * gst/gstevent.c:
3900         * gst/gstevent.h:
3901         Fix event quark registration.
3902         Add some space between events so we can insert them in the
3903         right groups.
3904
3905 2005-10-08  Wim Taymans  <wim@fluendo.com>
3906
3907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3908         (gst_base_sink_handle_buffer):
3909         Better log message.
3910
3911         * gst/gstbus.h:
3912         * gst/gstelement.h:
3913         More docs.
3914
3915         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3916         (gst_queue_set_property), (gst_queue_get_property):
3917         * gst/gstqueue.h:
3918         Remove old unused properties.
3919
3920 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3921         * docs/gst/gstreamer-sections.txt:
3922         * gst/gstmessage.c:
3923         * gst/gstmessage.h:
3924         * gst/gstminiobject.c:
3925         * gst/gstminiobject.h:
3926         * gst/gstobject.h:
3927         * gst/gstpad.h:
3928         * gst/gstutils.h:
3929           lots of new docs and doc fixes
3930
3931 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3932
3933         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3934         * gst/gstplugin.h:
3935         * gst/gstregistry.c: (gst_registry_lookup_locked),
3936         (gst_registry_scan_path_level):
3937         * gst/gstregistryxml.c: (load_plugin):
3938           Only ever load one plugin for a given plugin basename.
3939           This ensures correct overriding of GST_PLUGIN_PATH over
3940           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3941           system installed plugins.
3942
3943 2005-10-08  Wim Taymans  <wim@fluendo.com>
3944
3945         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3946         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3947         Prepare for doing QOS.
3948
3949 2005-10-08  Wim Taymans  <wim@fluendo.com>
3950
3951         * check/gst/gstbin.c: (GST_START_TEST):
3952         * check/pipelines/cleanup.c: (GST_START_TEST):
3953         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3954         Allow new clock message too.
3955
3956 2005-10-08  Wim Taymans  <wim@fluendo.com>
3957
3958         * gst/gstmessage.c: (gst_message_new_error),
3959         (gst_message_new_warning), (gst_message_new_tag),
3960         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3961         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3962         (gst_message_new_segment_start), (gst_message_new_segment_done),
3963         (gst_message_parse_state_changed),
3964         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3965         (gst_message_parse_new_clock):
3966         * gst/gstmessage.h:
3967         Also carry the clock in question.
3968
3969 2005-10-08  Wim Taymans  <wim@fluendo.com>
3970
3971         * gst/gstmessage.c: (gst_message_new_custom),
3972         (gst_message_new_eos), (gst_message_new_error),
3973         (gst_message_new_warning), (gst_message_new_tag),
3974         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3975         (gst_message_new_new_clock), (gst_message_new_segment_start),
3976         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3977         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3978         * gst/gstmessage.h:
3979         Clean up.
3980         Added clock related messages.
3981
3982         * gst/gstpipeline.c: (gst_pipeline_change_state):
3983         Post message when the clock changed.
3984
3985         * tools/gst-launch.c: (event_loop):
3986         Print new clock.
3987
3988 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3989
3990         * tools/gst-inspect.c: (print_element_properties_info):
3991           Can't pass NULL strings to g_print() on windows.
3992
3993 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3994
3995         * docs/Makefile.am:
3996         * docs/gst/Makefile.am:
3997         * docs/gst/gstreamer-docs.sgml:
3998         * docs/gst/running.xml:
3999         * docs/version.entities.in:
4000           add a chapter on running GStreamer.
4001           document GST_DEBUG and GST_PLUGIN* env vars
4002
4003 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4004
4005         * Makefile.am:
4006           remove include dir
4007         * configure.ac:
4008           remove PLUGINS_BUILDDIR stuff
4009         * gst/gst.c: (init_post):
4010           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4011         * idiottest.mak:
4012           remove, it was condescending and not needed
4013
4014 2005-10-08  Wim Taymans  <wim@fluendo.com>
4015
4016         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4017         (gst_base_sink_handle_object), (gst_base_sink_event),
4018         (gst_base_sink_wait), (gst_base_sink_handle_event),
4019         (gst_base_sink_change_state):
4020         * gst/base/gstbasesink.h:
4021         Repost EOS message while going to PLAYING if still EOS.
4022         Make sure that when receiving a FLUSH_START we don't attempt
4023         to sync on the clock anymore.
4024
4025 2005-10-08  Wim Taymans  <wim@fluendo.com>
4026
4027         * tools/gst-launch.c: (event_loop):
4028         Better message printout.
4029
4030 2005-10-08  Wim Taymans  <wim@fluendo.com>
4031
4032         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4033         (gst_bin_child_proxy_get_children_count):
4034         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4035         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4036         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4037         (gst_child_proxy_set_valist):
4038         * gst/parse/grammar.y:
4039         Make ChildProxy threadsafe and fix mem leaks.
4040
4041 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4042
4043         * gst/gst.c: (init_post):
4044           debug the GST_PLUGIN_ env vars
4045
4046 2005-10-08  Wim Taymans  <wim@fluendo.com>
4047
4048         * check/gst/gstbin.c: (GST_START_TEST):
4049         * check/gst/gstmessage.c: (GST_START_TEST):
4050         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4051         * gst/gstelement.c: (gst_element_commit_state),
4052         (gst_element_lost_state):
4053         * gst/gstmessage.c: (gst_message_new_state_changed),
4054         (gst_message_parse_state_changed):
4055         * gst/gstmessage.h:
4056         * tools/gst-launch.c: (event_loop):
4057         Added extra field to STATE_CHANGE message with the pending
4058         state, which will be different from the new state soon.
4059
4060 2005-10-08  Wim Taymans  <wim@fluendo.com>
4061
4062         * gst/gstbus.c: (gst_bus_pop):
4063         * gst/gstclock.c:
4064         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4065         Small cleanups and doc updates.
4066
4067 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4068
4069         * gst/gst.c: (init_pre):
4070         * gst/gstbin.c: (gst_bin_add_func):
4071           log distributing clocks and base time
4072         * gst/gstregistry.c: (gst_registry_add_plugin),
4073         (gst_registry_scan_path_level), (gst_registry_scan_path):
4074           clean up the debugging output a little
4075         * gst/gstutils.c: (gst_element_state_get_name):
4076           warn about a memleak (I've actually seen this be used, though
4077           it was probably a bug)
4078
4079 2005-10-07  Wim Taymans  <wim@fluendo.com>
4080
4081         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4082         (gst_base_src_init), (gst_base_src_default_newsegment),
4083         (gst_base_src_newsegment), (gst_base_src_do_seek),
4084         (gst_base_src_loop), (gst_base_src_start):
4085         * gst/base/gstbasesrc.h:
4086         Make the newsegment event customizable by subclasses.
4087
4088 2005-10-07  Wim Taymans  <wim@fluendo.com>
4089
4090         * gst/gstevent.c: (gst_event_new_buffersize),
4091         (gst_event_parse_buffersize):
4092         * gst/gstevent.h:
4093         New event for future idea.
4094
4095 2005-10-07  Andy Wingo  <wingo@pobox.com>
4096
4097         * gst/gstelement.c (gst_element_post_message): Doc update.
4098
4099         * docs/gst/gstreamer-sections.txt: Update.
4100
4101         * gst/gstmessage.c (gst_message_new_application): Made into a
4102         function like honest API calls.
4103         (gst_message_new_element): New message type.
4104
4105         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4106
4107         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4108         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4109         times.
4110
4111         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4112         NO_PREROLL from gst_element_change_state to fall through.
4113
4114 2005-10-07  Wim Taymans  <wim@fluendo.com>
4115
4116         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4117         (gst_ghost_pad_do_activate_push):
4118         Activating a ghostpad with no internal pad in push mode
4119         is ok.
4120
4121 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4122
4123         * gst/gstobject.h:
4124           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4125           Fixes compilation on Windows.
4126
4127 2005-10-07  Michael Smith <msmith@fluendo.com>
4128
4129         * tools/gst-inspect.c:
4130           Print out feature and plugin count at the end when printing out
4131           all features.
4132
4133 2005-10-04  Michael Smith <msmith@fluendo.com>
4134
4135         * gst/gsterror.c: (_gst_stream_errors_init):
4136           Add another error string used in a few existing plugins.
4137
4138         * gst/gstplugin.c:
4139         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4140         * tools/gst-inspect.c: (print_element_info):
4141           When a feature disappears from a plugin (and the feature exists in
4142           the cached registry file), things went horribly wrong. This isn't a
4143           complete fix, we should actually be removing the 'missing' features
4144           from the features list when we load the actual plugin. That's not
4145           yet implemented. 
4146
4147 2005-10-04  Johan Dahlin  <johan@gnome.org>
4148
4149         * check/gst/gstiterator.c: (GST_START_TEST):
4150         * gst/gstbin.c: (gst_bin_iterate_elements),
4151         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4152         * gst/gstelement.c: (gst_element_iterate_pads):
4153         * gst/gstformat.c: (gst_format_iterate_definitions):
4154         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4155         (gst_iterator_new_list), (gst_iterator_filter):
4156         * gst/gstiterator.h:
4157         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4158         Add a GType to GstIterator, update callsites and tests.
4159
4160 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4161
4162         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4163           give events a chance to be handled by event probes when the pad
4164           is not linked
4165
4166 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4167
4168         * gst/gstevent.c: (gst_event_type_get_name),
4169         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4170         * gst/gstevent.h:
4171           add string representations for event types
4172
4173 2005-10-06  Wim Taymans  <wim@fluendo.com>
4174
4175         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4176         Don't use NULL pointers.
4177
4178 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4179
4180         * gst/gst_private.h:
4181         * gst/gstbus.c:
4182         * gst/gstelement.c:
4183         * gst/gstinfo.c:
4184         * gst/gstpluginfeature.c:
4185           widen the debug category in output to fit the biggest one we have
4186           add a bus category and use it
4187           play with the colors
4188           fix up some categories
4189
4190 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4191
4192         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4193           add push activation of sink ghost pads.
4194           Andye, please verify
4195
4196 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4197
4198         * gst/gstutils.c: (gst_element_link_pads):
4199           fix a bug in the case where neither element has a pad
4200         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4201           add a test for that case
4202
4203 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4204
4205         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4206           emit have-data before checking for peers.  This allows
4207           for probe handlers to connect elements.  This helps autopluggers.
4208         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4209         (gst_pad_suite):
4210           add six checks, linked/unlinked with no/true/false probe
4211
4212 2005-10-04  Wim Taymans  <wim@fluendo.com>
4213
4214         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4215         (gst_fake_sink_event), (gst_fake_sink_preroll),
4216         (gst_fake_sink_render), (gst_fake_sink_change_state):
4217         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4218         (gst_fake_src_get_property), (gst_fake_src_create),
4219         (gst_fake_src_stop):
4220         * gst/elements/gstidentity.c: (gst_identity_stop):
4221         Protect last_message with lock.
4222
4223 2005-10-04  Edward Hervey  <edward@fluendo.com>
4224
4225         * gst/gstformat.h: 
4226         Added precision in the comments for GST_FORMAT_DEFAULT
4227
4228 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4229
4230         * tools/gst-launch.c: (main):
4231           Don't try to run erroneous pipelines.
4232
4233 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4234
4235         * gst/gstbus.c: We don't need this header.
4236
4237 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4238
4239         * configure.ac:
4240           back to development
4241
4242 === release 0.9.3 ===
4243
4244 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4245
4246         * README:
4247         * configure.ac:
4248           Releasing 0.9.3, "Unregistered"
4249
4250 2005-10-03  Andy Wingo  <wingo@pobox.com>
4251
4252         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4253         whereby calling a pad's activatepush() function can start a thread
4254         that starts to push or pull before the pad gets the FLUSHING flag
4255         unset. Hack around it by holding the stream lock until the flag is
4256         set. Need to replace this with a proper solution. Together with
4257         the ghost pad fixes, this fixes mp3 playing/tagreading.
4258
4259         * docs/design/part-gstghostpad.txt: Add a note about activation of
4260         proxy pads outside of ghost pads.
4261
4262         * gst/gstghostpad.c: Implement the ghost pad activation design.
4263
4264 2005-10-02  Andy Wingo  <wingo@pobox.com>
4265
4266         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4267         It is volatile, after all.
4268
4269         * docs/design/part-gstghostpad.txt: Flesh out activation with
4270         ghost pads.
4271
4272         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4273         GST_DEBUG_FUNCPTR.
4274
4275 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4276
4277         * configure.ac:
4278           Fix (unused) AM_CONDITIONAL tests.
4279
4280 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4281
4282         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4283
4284         * gst/gstutils.c: (gst_pad_query_convert):
4285           Add assertion that makes sure src_val is >=0, just like
4286           gst_query_new_convert() has. (#315895)
4287
4288 2005-09-30  Edward Hervey  <edward@fluendo.com>
4289
4290         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4291         Let's not iterate pads we're not interested in, it avoids getting 
4292         sky-high refcounts on sinkpad.
4293
4294 2005-09-30  Wim Taymans  <wim@fluendo.com>
4295
4296         * gst/gstelement.c: (gst_element_set_state),
4297         (gst_element_change_state):
4298         Small tweak, element in ASYNC remains ASYNC.
4299
4300 2005-09-30  Wim Taymans  <wim@fluendo.com>
4301
4302         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4303         Only error is an error.
4304
4305         * gst/gstbin.c: (gst_bin_change_state):
4306         Better debugging.
4307
4308         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4309         Also call pad_block in pad alloc.
4310
4311         * gst/gstutils.c: (gst_flow_get_name):
4312         Better debugging.
4313
4314 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4315
4316         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4317         (gst_base_src_get_range):
4318           Fix documentation typos. Add some more debug info.
4319
4320 2005-09-29  David Schleef  <ds@schleef.org>
4321
4322         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4323           more end-user friendly.
4324         * tools/gst-inspect.c: (main): Check if command-line argument is
4325           a file and attempt to load that file as a plugin.
4326
4327 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4328
4329         * check/gst/gstbin.c:
4330         * check/states/sinks.c:
4331           fix tests for the new warning
4332         * check/gst/gstpipeline.c:
4333           add a test for pipeline and bus interaction
4334         * gst/gstelement.c:
4335           elements should be NULL if they get disposed; add a warning if not
4336
4337 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4338
4339         * gst/gstobject.c:
4340           for 2.6 refcounting, make debug log more correct by printing
4341           the actual refcounts at the time of swap (Wim)
4342
4343 2005-09-29  Andy Wingo  <wingo@pobox.com>
4344
4345         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4346         removes signal watches previously added via
4347         gst_bus_add_signal_watch.
4348         (gst_bus_add_signal_watch): Don't return the source id, just store
4349         it on the bus if there wasn't an id already.
4350
4351         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4352         add_signal_watch and remove_signal_watch.
4353
4354 2005-09-29  Edward Hervey  <edward@fluendo.com>
4355
4356         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4357         Better if we actually iterate the list :)
4358
4359 2005-09-29  Wim Taymans  <wim@fluendo.com>
4360
4361         * check/gst/gstbin.c: (GST_START_TEST):
4362         Change for new bus API.
4363
4364         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4365         (send_messages), (GST_START_TEST), (gstbus_suite):
4366         Change for new bus signal API.
4367
4368         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4369         (gst_bus_source_prepare), (gst_bus_source_check),
4370         (gst_bus_create_watch), (gst_bus_add_watch_full),
4371         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4372         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4373         * gst/gstbus.h:
4374         Remove support for multiple GSources operating on different
4375         message types as it is too complex and unneeded when using
4376         signals.
4377         Added support for receiving signals from the bus.
4378
4379 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4380
4381         * docs/libs/tmpl/gstdataprotocol.sgml:
4382         * docs/manual/advanced-dataaccess.xml:
4383         * gst/elements/gstcapsfilter.c:
4384         * gst/gstutils.c:
4385           rename filter-caps to caps property
4386
4387 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4388
4389         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4390           More robust fraction string parsing.
4391
4392         * docs/pwg/appendix-porting.xml:
4393           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4394
4395 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4396
4397         * gst/gstcaps.c: (gst_caps_do_simplify):
4398           Thou shalt not free a structure and then continue using it
4399           in the next loop iteration.
4400
4401         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4402         (gst_caps_suite):
4403           Add test case for caps simplification.
4404
4405 2005-09-29  Wim Taymans  <wim@fluendo.com>
4406
4407         * check/gst/gstbin.c: (GST_START_TEST):
4408         Oops.
4409
4410 2005-09-29  Wim Taymans  <wim@fluendo.com>
4411
4412         * check/gst/gstbin.c: (GST_START_TEST):
4413         Add bus to bin.
4414
4415         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4416         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4417         (find_element), (gst_bin_sort_iterator_next),
4418         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4419         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4420         (gst_bin_change_state), (gst_bin_dispose):
4421         A bin does not have a bus, it gets the bus from the parent.
4422
4423         * gst/gstelement.c: (gst_element_requires_clock),
4424         (gst_element_provides_clock), (gst_element_is_indexable),
4425         (gst_element_is_locked_state), (gst_element_change_state),
4426         (gst_element_set_bus_func):
4427         Small cleanups.
4428
4429         * gst/gstpipeline.c: (gst_pipeline_class_init),
4430         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4431         The pipeline provides a bus.
4432
4433 2005-09-28  Johan Dahlin  <johan@gnome.org>
4434
4435         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4436         gst_structure_get_enum instead of gst_structure_get_int
4437
4438         * gst/gststructure.c (gst_structure_get_enum): Impl.
4439
4440         * gst/gststructure.h (gst_structure_get_enum): Add
4441
4442         * docs/gst/gstreamer-sections.txt: Ditto
4443
4444         * gst/gstmessage.c (gst_message_new_state_changed): Use
4445         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4446         which does introspection.
4447         Reviewed by Christian Schaller
4448
4449 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4450
4451         * gst/gstinfo.c: (gst_debug_log_default):
4452           don't do dummy g_strdup()s
4453         * libs/gst/controller/gstcontroller.c:
4454         (on_object_controlled_property_changed),
4455         (gst_controlled_property_new), (gst_controller_new_valist),
4456         (gst_controller_new_list),
4457         (gst_controller_remove_properties_valist), (gst_controller_set),
4458         (gst_controller_get), (gst_controller_sync_values),
4459         (gst_controller_get_value_array), (_gst_controller_class_init),
4460         (gst_controller_get_type):
4461         * libs/gst/controller/gstcontroller.h:
4462         * libs/gst/controller/gstinterpolation.c:
4463         (gst_controlled_property_find_timed_value_node):
4464           convert // to /**/ comments
4465
4466 2005-09-28  Wim Taymans  <wim@fluendo.com>
4467
4468         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4469         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4470         (gst_bus_sync_signal_handler):
4471         * gst/gstbus.h:
4472         Added async-message and sync-message signals to the bus.
4473         Added helper BusFunc to emit signals for all posted messages.
4474
4475         * gst/gstmessage.c: (gst_message_type_get_name),
4476         (gst_message_type_to_quark), (gst_message_get_type):
4477         * gst/gstmessage.h:
4478         Register quarks for message names.
4479
4480 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4481
4482         * docs/libs/gstreamer-libs-sections.txt:
4483         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4484         (gst_controller_new_list):
4485         * libs/gst/controller/gstcontroller.h:
4486           added another constructor for language bindings
4487
4488 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4489
4490         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4491           add another check
4492         * gst/gstbus.c:
4493           add some doc
4494         * gst/gstinfo.c: (_gst_debug_init):
4495           slightly more readable color for refcount debugging
4496
4497 2005-09-28  Wim Taymans  <wim@fluendo.com>
4498
4499         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4500         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4501         (find_element), (gst_bin_sort_iterator_next),
4502         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4503         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4504         (gst_bin_change_state), (gst_bin_dispose):
4505         Small doc fixes. get_clock -> provide_clock.
4506
4507         * gst/gstelement.c: (gst_element_class_init),
4508         (gst_element_provides_clock), (gst_element_provide_clock),
4509         (gst_element_get_clock), (gst_element_commit_state),
4510         (gst_element_lost_state):
4511         * gst/gstelement.h:
4512         Make get/set_clock() symetric. Add provide_clock vmethod since
4513         that is actually what this function does.
4514
4515         * gst/gstpipeline.c: (gst_pipeline_class_init),
4516         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4517         (gst_pipeline_get_clock):
4518         get_clock -> provide_clock.
4519
4520 2005-09-28  Andy Wingo  <wingo@pobox.com>
4521
4522         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4523         lieu of real docs...
4524
4525         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4526
4527 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4528
4529         * gst/elements/gstcapsfilter.c:
4530         * gst/elements/gstfakesink.c:
4531         * gst/elements/gstfakesrc.c:
4532         * gst/elements/gstfdsink.c:
4533         * gst/elements/gstfdsrc.c:
4534         * gst/elements/gstfilesink.c:
4535         * gst/elements/gstfilesrc.c:
4536         * gst/elements/gstidentity.c:
4537         * gst/elements/gsttee.c:
4538         * gst/elements/gsttypefindelement.c:
4539           Make element details static.
4540
4541 2005-09-28  Wim Taymans  <wim@fluendo.com>
4542
4543         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4544         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4545         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4546         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4547         (gst_bin_change_state), (gst_bin_dispose):
4548         Some documentation updates.
4549         Clean up dispose handlers.
4550
4551         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4552         * gst/gstpad.c: (gst_pad_dispose):
4553         Clean up dispose handler.
4554
4555         * gst/gstpipeline.c: (gst_pipeline_change_state):
4556         Removed spurious UNLOCK.
4557
4558 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4559
4560         * docs/gst/gstreamer-sections.txt:
4561         * gst/base/gstbasesrc.h:
4562         * gst/gstelement.h:
4563         * gst/gstevent.h:
4564         * gst/gstobject.h:
4565         * gst/gstpad.h:
4566         * gst/gstpipeline.c:
4567         * gst/gstpipeline.h:
4568         * gst/gstutils.h:
4569         * gst/gstxml.h:
4570           added two new functions to the docs
4571                 documents all undocumented GstXXXFlags
4572                 completed some incomplete docs 
4573
4574 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4575
4576         * gst/gstbin.c: (gst_bin_dispose):
4577         * gst/gstelement.c: (gst_element_dispose):
4578           remove now useless and leaky resurrection code in dispose
4579         * gst/base/gstbasesrc.c: (gst_base_src_init):
4580         * gst/gstelementfactory.c: (gst_element_factory_create):
4581         * gst/gstobject.c: (gst_object_set_parent):
4582           add some debugging
4583
4584 2005-09-27  Wim Taymans  <wim@fluendo.com>
4585
4586         * docs/design/part-TODO.txt:
4587         Update TODO.
4588
4589         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4590         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4591         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4592         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4593         (gst_bin_change_state):
4594         * gst/gstelement.h:
4595         Remove element variable, we keep element info in the iterator now.
4596
4597 2005-09-27  Andy Wingo  <wingo@pobox.com>
4598
4599         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4600         values.
4601
4602 2005-09-27  Wim Taymans  <wim@fluendo.com>
4603
4604         * check/gst/gstbin.c: (GST_START_TEST):
4605         Enable check that works now.
4606
4607         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4608         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4609         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4610         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4611         (gst_bin_change_state):
4612         * gst/gstbin.h:
4613         Redid the state change algorithm using a topological sort algo.
4614         Handles all cases correctly.
4615         Exposed iterator for state change order.
4616
4617         * gst/gstelement.h:
4618         Temp storage for state changes. Need to get rid of this soon.
4619
4620 2005-09-27  Wim Taymans  <wim@fluendo.com>
4621
4622         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4623         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4624         (link_fold_func), (gst_pad_proxy_setcaps):
4625         Leak fixes, the fold functions need to unref the passed object and
4626         _get_parent_*() returns ref to parent.
4627
4628 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4629
4630         * check/gst/gstbuffer.c: (test_make_writable):
4631           Plug leak in test case and fix 'make check-valgrind'
4632
4633 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4634
4635         * gst/gstbuffer.c: (gst_subbuffer_init):
4636           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4637           works correctly in all circumstances (we could have just copied
4638           the parent buffer's readonly flag, but conceptually it seems
4639           cleaner to mark all subbuffers as read-only). (based on patch
4640           by Alessandro Decina, #314710).
4641         
4642         * check/gst/gstbuffer.c: (create_read_only_buffer),
4643         (test_make_writable), (test_subbuffer_make_writable),
4644         (gst_test_suite):
4645           Add some tests for gst_buffer_make_writable().
4646
4647 2005-09-27  Wim Taymans  <wim@fluendo.com>
4648
4649         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4650         use gst_object_has_ancestor().
4651
4652         * gst/gstobject.c: (gst_object_has_ancestor):
4653         * gst/gstobject.h:
4654         gst_object_has_ancestor() copied from gstbin.c as it is a
4655         usefull function.
4656
4657         * tests/instantiate/create.c: (create_all_elements):
4658         * tests/lat.c: (handoff_src), (handoff_sink):
4659         * tests/sched/runxml.c: (main):
4660         * tests/seeking/seeking1.c: (main):
4661         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4662         (main):
4663         Fix compilation of some tests.
4664
4665 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4666
4667         * gst/gsterror.h:
4668           Remove comment. GST_TYPE_G_ERROR is here to stay,
4669           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4670           (#316961, #300610).
4671
4672 2005-09-26  Wim Taymans  <wim@fluendo.com>
4673
4674         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4675         Added check that shows error in state change order.
4676
4677 2005-09-26  Wim Taymans  <wim@fluendo.com>
4678
4679         * gst/gstbin.c: (gst_bin_change_state):
4680         Make state change function use 3 queues again, we were
4681         adding elements in the wrong order.
4682
4683         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4684         Some debug info,
4685
4686         * gst/gstpad.c: (gst_pad_dispose):
4687         Added some debug info first.
4688
4689 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4690
4691         * docs/design/draft-push-pull.txt:
4692         * docs/design/part-events.txt:
4693         * docs/design/part-overview.txt:
4694         * docs/design/part-scheduling.txt:
4695           Replace all _pull_region() with _pull_range()
4696           
4697 2005-09-26  Andy Wingo  <wingo@pobox.com>
4698
4699         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4700
4701         * check/gst-libs/controller.c: Update for controller api change.
4702
4703         * configure.ac: 
4704         * tests/Makefile.am:
4705         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4706         over by GLib bug 118439.
4707         
4708         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4709         routines to a function.
4710
4711         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4712
4713         * libs/gst/controller/gsthelper.c:
4714         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4715         (gst_object_sync_values): Renamed from sink_values. Ugh.
4716
4717         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4718
4719         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4720         Renamed from controller_key, as it is exported.
4721
4722         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4723
4724 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4725
4726         * gst/Makefile.am:
4727         * gst/gst.h:
4728         * gst/gstpad.h:
4729         * gst/gstpadtemplate.h:
4730         * gst/gstquery.c:
4731         * gst/gstquery.h:
4732         * gst/gstqueryutils.c:
4733         * gst/gstqueryutils.h:
4734           remove queryutils headers after moving the two used functions
4735           to gstquery.  also fixes build problem for gstsiddec
4736
4737 2005-09-26  Michael Smith <msmith@fluendo.com>
4738
4739         * tools/gst-launch.1.in:
4740         Correct documentation in manpage of debug syntax
4741
4742 2005-09-26  Wim Taymans  <wim@fluendo.com>
4743
4744         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4745         (gst_base_src_is_seekable), (gst_base_src_change_state):
4746         Some more debugging info.
4747
4748 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4749
4750         * docs/gst/gstreamer-sections.txt:
4751         * gst/base/gstbasetransform.h:
4752         * gst/gstindex.h:
4753           added more docs
4754
4755 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4756
4757         * docs/gst/.cvsignore:
4758         * docs/gst/tmpl/.cvsignore:
4759         * docs/gst/tmpl/gstpipeline.sgml:
4760         * docs/gst/tmpl/gstplugin.sgml:
4761         * gst/gstpipeline.c:
4762         * gst/gstplugin.c:
4763         * gst/gstplugin.h:
4764           inlined the last two docs files
4765           removed the tmpl directory from cvs (no more conflicts here!)
4766
4767 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4768
4769         * docs/gst/gstreamer-sections.txt:
4770         * docs/gst/tmpl/.cvsignore:
4771         * docs/gst/tmpl/gstpad.sgml:
4772         * docs/gst/tmpl/gstpadtemplate.sgml:
4773         * gst/Makefile.am:
4774         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4775         (gst_pad_finalize), (gst_pad_set_pad_template):
4776         * gst/gstpad.h:
4777         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4778         (gst_pad_template_class_init), (gst_pad_template_init),
4779         (gst_pad_template_dispose), (name_is_valid),
4780         (gst_static_pad_template_get), (gst_pad_template_new),
4781         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4782         (gst_pad_template_pad_created):
4783         * gst/gstpadtemplate.h:
4784           inlined two more docs
4785           factored gstpadtemplate out of gstpad
4786
4787 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4788
4789         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4790         (test_children_state_change_order_semi_sink):
4791           Fix test case: we can't rely on a fixed state change order when
4792           going from READY => PAUSED because the sink might commit its 
4793           new state first when the first buffer created by the source 
4794           reaches the sink before the source has finished its change state.
4795           (Test case still fails at times, see #316856, comment 5 onwards)
4796
4797 2005-09-24  Wim Taymans  <wim@fluendo.com>
4798
4799         * docs/design/part-events.txt:
4800         * docs/design/part-gstbus.txt:
4801         * docs/design/part-gstpipeline.txt:
4802         * docs/design/part-messages.txt:
4803         * docs/design/part-overview.txt:
4804         * docs/design/part-segments.txt:
4805         * gst/gstbin.c:
4806         * gst/gstbuffer.c:
4807         * gst/gstclock.c:
4808         * gst/gstelement.c:
4809         * gst/gstevent.c:
4810         * gst/gstfilter.c:
4811         * gst/gstiterator.c:
4812         Various documentation updates.
4813
4814 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4815
4816         * gst/gstclock.h:
4817           Well, that's embarassing.  Luckily we weren't using
4818           GST_CLOCK_DIFF anywhere.
4819
4820 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4821
4822         * common/gtk-doc.mak:
4823           don't fail on building XML, FC4 slave shows a bunch of doc
4824           missing bits that I don't get
4825         * gst/gstpad.c:
4826         * gst/gstpipeline.c:
4827         * gst/gststructure.c:
4828           some doc updates
4829
4830 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * docs/design/part-gstbin.txt:
4833         * docs/design/part-gstbus.txt:
4834         * gst/gstbus.c:
4835           Add blurb about how the bus goes into flushing mode and
4836           drops all messages when its bin goes from READY into NULL 
4837           state.
4838
4839 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4840
4841         * docs/gst/gstreamer-sections.txt:
4842         * gst/gststructure.c: (gst_structure_get_clock_time):
4843         * gst/gststructure.h:
4844           add a method to get a GstClockTime out of a structure
4845
4846 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4847
4848         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4849         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4850           Added test to check state change order in bins (can still be made
4851           to fail here under heavy disk load; bails out with 'Push on pad
4852           fakesink:sink0, but it was not activated in push mode').
4853
4854         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4855           Fix state change order when there is only a semi sink (#316856)
4856
4857         * gst/gstbus.c: (gst_bus_class_init):
4858           Use _class_peek_parent(), not _class_ref(); fix docs to say
4859           'default main context' instead of 'mainloop' where that is
4860           what's meant.
4861
4862         * gst/gstelement.c: (gst_element_commit_state),
4863         (gst_element_set_state):
4864           Fix typos in debug messages
4865
4866 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4867
4868         * docs/README:
4869         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4870         * gst/gstpluginfeature.c:
4871         * gst/gstutils.c:
4872           various doc updates
4873         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4874           change an assert into an error until it gets fixed properly
4875
4876 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4877
4878         * docs/gst/gstreamer-sections.txt:
4879         * docs/gst/tmpl/.cvsignore:
4880         * docs/gst/tmpl/gstelement.sgml:
4881         * docs/gst/tmpl/gstinfo.sgml:
4882         * docs/gst/tmpl/gstobject.sgml:
4883         * gst/gstelement.c:
4884         * gst/gstelement.h:
4885         * gst/gstinfo.c:
4886         * gst/gstinfo.h:
4887         * gst/gstobject.c: (gst_object_class_init):
4888         * gst/gstobject.h:
4889           inlined 3 more biiiig doc files and added some missing docs on the fly
4890
4891 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4892
4893         * check/gst/.cvsignore:
4894         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4895         * gst/gstregistryxml.c: (load_plugin),
4896         (gst_registry_xml_save_plugin):
4897           put back source in registry.  add checks for find_plugin.
4898         * testsuite/states/bin.c: (assert_state), (empty_bin),
4899         (test_adding_one_element), (main):
4900         * testsuite/states/locked.c: (main):
4901           some compile/run fixes
4902
4903 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4904
4905         * check/gst/gstvalue.c: (GST_START_TEST):
4906           fix leaks in the test itself
4907
4908 2005-09-22  Wim Taymans  <wim@fluendo.com>
4909
4910         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4911         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4912         (gst_base_sink_query):
4913         Prepare for more accurate position reporting and query
4914         handling.
4915
4916         * gst/gstelement.c: (gst_element_send_event),
4917         (gst_element_set_state):
4918         Add some comment.
4919
4920 2005-09-22  Wim Taymans  <wim@fluendo.com>
4921
4922         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4923         (gst_query_parse_segment):
4924         * gst/gstquery.h:
4925         More documentation.
4926         Add segment query for future use.
4927
4928 2005-09-22  Wim Taymans  <wim@fluendo.com>
4929
4930         * gst/gstbin.c: (gst_bin_add_func):
4931         Some more debug info.
4932
4933         * gst/gstelement.c: (gst_element_send_event):
4934         Simplify send_event
4935
4936         * gst/gstelement.h:
4937         Don't know how flags got broken.
4938
4939         * gst/gstquery.h:
4940         Added new query.
4941
4942 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4943
4944         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4945           Add simplistic test suite for GST_TYPE_DATE serialisation and
4946           deserialisation.
4947
4948 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4949
4950         * docs/gst/gstreamer-sections.txt:
4951         * gst/gststructure.c: (gst_structure_set_valist),
4952         (gst_structure_get_date):
4953         * gst/gststructure.h:
4954         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4955         (gst_date_copy), (gst_value_compare_date),
4956         (gst_value_serialize_date), (gst_value_deserialize_date),
4957         (gst_value_transform_date_string),
4958         (gst_value_transform_string_date), (_gst_value_initialize):
4959         * gst/gstvalue.h:
4960           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4961           bunch of utility functions along with a hack that checks that
4962           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4963           is required. Part of the grand scheme in #170777.
4964
4965 2005-09-22  Andy Wingo  <wingo@pobox.com>
4966
4967         * gst/gstconfig.h.in: Psych out gtk-doc.
4968
4969         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4970
4971         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4972
4973         * tools/gst-inspect.c (print_element_list): Plug some
4974         inconsequential leaks.
4975
4976         * gst/gstregistry.c (gst_registry_get_default): Doc.
4977
4978         * check/gst/gstplugin.c: 
4979         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4980         * gst/gstelementfactory.c (gst_element_factory_create): 
4981         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4982         refcount changes.
4983
4984         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4985         (gst_plugin_feature_load): Doc, don't eat refs.
4986
4987         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4988         (gst_plugin_list_free): Doc.
4989         (gst_plugin_load_file): Doc updates.
4990
4991         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4992         accessors returning refcounted objects, return a ref.
4993
4994         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4995         accessor for caps. IDEMPOTENCE. Oh yes.
4996
4997 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4998
4999         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5000
5001         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5002         (_gst_debug_register_funcptr):
5003           Add mutex to serialise access to the hash table with
5004           the function pointer => function name string mapping;
5005           make that hash table static scope (#316809).
5006
5007         * gst/registries/.cvsignore:
5008           Remove left-over file.
5009
5010 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5011
5012         * docs/pwg/appendix-porting.xml:
5013           And something about newsegment events and caps-on-buffers to
5014           the porting guide (feel free to improve).
5015
5016 2005-09-21  Andy Wingo  <wingo@pobox.com>
5017
5018         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5019         data and event probes on the same pad.
5020         (test_buffer_probe_once): Test that removing probes from within
5021         the probe functions works.
5022
5023 2005-09-21  Andy Wingo  <wingo@pobox.com>
5024
5025         * check/gst/gstutils.c: New file.
5026         (test_buffer_probe_n_times): A simple buffer probe test. More to
5027         come, foolios.
5028
5029         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5030         have-data::buffer, not have-data.
5031         (gst_pad_add_event_probe): Likewise for have-data::event.
5032         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5033         peer' isn't quite right yet though.
5034         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5035         (gst_pad_remove_data_probe): Change to take the guint handler_id
5036         as their arg, not the function+data, which is more glib-like.
5037
5038         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5039         the signal emission to indicate if the data is a buffer or an
5040         event.
5041         (gst_pad_get_type): Initialize buffer and event quarks.
5042         (gst_pad_class_init): have-data is now a detailed signal, yes it
5043         is.
5044
5045 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5046
5047         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5048         * gst/gstutils.c: (gst_util_set_value_from_string),
5049         (gst_util_set_object_arg):
5050           Don't put functional code in g_return_if_fail() or
5051           g_return_val_if_fail() statements, otherwise things will 
5052           break when G_DISABLE_CHECKS is defined during compilation.
5053
5054 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5055
5056         * docs/gst/tmpl/.cvsignore:
5057         * docs/gst/tmpl/gstvalue.sgml:
5058         * gst/gstvalue.c:
5059         * gst/gstvalue.h:
5060           inlied another one and added  some obvious docs
5061
5062 2005-09-21  Wim Taymans  <wim@fluendo.com>
5063
5064         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5065         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5066         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5067         (gst_fdsrc_get_property), (gst_fdsrc_create):
5068         * gst/elements/gstfdsrc.h:
5069         Properly implement fdsrc. Removed signal and timeout,
5070         better implemented somewhere else.
5071
5072 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5073
5074         * docs/gst/tmpl/.cvsignore:
5075         * docs/gst/tmpl/gstimplementsinterface.sgml:
5076         * gst/gstinterface.c:
5077           inlined more docs
5078
5079 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5080
5081         * docs/gst/gstreamer-sections.txt:
5082         * docs/gst/tmpl/.cvsignore:
5083         * docs/gst/tmpl/gstenumtypes.sgml:
5084           remove obsolete doc file
5085
5086 2005-09-21  David Schleef  <ds@schleef.org>
5087
5088         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5089         little beer, fix a little leak.
5090
5091 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5092
5093         * docs/gst/gstreamer-docs.sgml:
5094         * docs/gst/gstreamer-sections.txt:
5095         * docs/gst/tmpl/.cvsignore:
5096         * gst/Makefile.am:
5097         * gst/gst.h:
5098         * gst/gstbin.c:
5099         * gst/gstelement.h:
5100         * gst/gstindex.c: (gst_index_class_init):
5101         * gst/gstindex.h:
5102         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5103         (gst_index_factory_class_init), (gst_index_factory_init),
5104         (gst_index_factory_finalize), (gst_index_factory_new),
5105         (gst_index_factory_destroy), (gst_index_factory_find),
5106         (gst_index_factory_create), (gst_index_factory_make):
5107         * gst/gstindexfactory.h:
5108         * gst/gstpluginfeature.c:
5109         * gst/gstpluginfeature.h:
5110         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5111           more docs inlined, splitted gstindex.{c,h}
5112
5113 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5114
5115         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5116           fix a leak
5117
5118 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5119
5120         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5121           Set sync to FALSE by default.
5122
5123 2005-09-20  Wim Taymans  <wim@fluendo.com>
5124
5125         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5126         (gst_base_sink_init):
5127         Make sync property settable from subclass.
5128
5129         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5130         (gst_fake_sink_change_state):
5131         Set sync to FALSE by default.
5132
5133 2005-09-20  Wim Taymans  <wim@fluendo.com>
5134
5135         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5136         * tools/gst-launch.c: (main):
5137         The timeout handler should have lower priority than the source
5138         so we don't timeout before popping a message with 0 timeout.
5139         Dump error messages after failed state change.
5140
5141 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5142
5143         * tools/gst-inspect.c: (print_element_properties_info):
5144           Fix two typos.
5145
5146 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5147
5148         * check/gst/gstevent.c:
5149         * gst/elements/gstfakesink.c:
5150         * gst/elements/gstfakesink.h:
5151           remove the sync property from fakesink.
5152           has the side effect of setting sync TRUE
5153           for fakesink, which is a change.  Anyone who knows how
5154           to fix this nicely in a GObject-y way, feel free.
5155
5156 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5157
5158         * docs/gst/gstreamer-docs.sgml:
5159           remove probe refsection
5160
5161 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5162
5163         * check/Makefile.am:
5164           disable valgrinding the controller test again
5165         * docs/gst/gstreamer-sections.txt:
5166           update for api-changes
5167
5168 2005-09-20  Wim Taymans  <wim@fluendo.com>
5169
5170         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5171         (gst_base_sink_set_property), (gst_base_sink_get_property),
5172         (gst_base_sink_do_sync):
5173         * gst/base/gstbasesink.h:
5174         Added sync property to basesink to disable clock sync.
5175
5176 2005-09-20  Andy Wingo  <wingo@pobox.com>
5177
5178         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5179         eating the caller's refcount.
5180
5181         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5182         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5183         refcount.
5184
5185         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5186         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5187         of GLib 2.8 public, so we can know which refcount to check in
5188         tests.
5189
5190         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5191         (gst_object_init): Only set the gst refcount if we're going ahead
5192         with the refcount hack.
5193
5194 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5195
5196         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5197         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5198           more leaks plumbed, added more debug-logging
5199         * gst/gstmacros.h:
5200           whitespace fix
5201
5202 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5203
5204         * gst/gstmessage.c:
5205           remove include of gstmemchunk.h
5206
5207 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5208
5209         * gst/gstclock.c: (_gst_clock_id_free):
5210           Commit from the Political Party For More Atomic CVS Commits,
5211           so that people don't waste too much of their day fishing
5212           out obvious leaks out of massive commits.
5213           Oh, and fix a pretty damn obvious leak in the memchunk
5214           removal code.
5215
5216 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5217
5218         * check/Makefile.am:
5219         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5220           plug mem-leak, re-add to valgrindable tests
5221
5222 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5223
5224         * gst/gstplugin.h:
5225           unbreak the build for those who have chronic arthritis
5226           and typing "make check" is just too taxing on the hands
5227
5228 2005-09-20  Andy Wingo  <wingo@pobox.com>
5229
5230         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5231         really want it out, you should fix plugins at the same time.
5232
5233 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5234
5235         * configure.ac:
5236         * docs/gst/gstreamer-sections.txt:
5237         * gst/gstobject.c:
5238           added missing symbols to api docs
5239           disable ref-count hack if we have glib >= 2.8
5240
5241 2005-09-19  David Schleef  <ds@schleef.org>
5242
5243         * docs/gst/Makefile.am: Ignore a few more internal headers
5244         * docs/gst/gstreamer-docs.sgml: Remove old sections
5245         * docs/gst/gstreamer-sections.txt: Remove old sections
5246         * docs/gst/tmpl/gstobject.sgml: update
5247         * docs/gst/tmpl/gstplugin.sgml: update
5248         * docs/gst/tmpl/gstpluginfeature.sgml: update
5249         * docs/random/ds/0.9-suggested-changes: update.
5250         * gst/Makefile.am: remove memchunk and trashstack, since they're
5251           not used.
5252         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5253         * gst/gst.h: don't include some headers
5254         * gst/gstchildproxy.c: add gstmarshal.h
5255         * gst/gstclock.c: Don't use memchunks
5256         * gst/gstminiobject.c: Add some docs
5257         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5258         * gst/gstobject.h: same
5259         * gst/gstplugin.c: include gstmacros.h
5260         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5261         * gst/gstquery.c: don't use memchunks
5262         * gst/gstregistry.c: rename gst_registry_deinit()
5263         * gst/gstregistry.h: same
5264
5265 2005-09-19  David Schleef  <ds@schleef.org>
5266
5267         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5268         * docs/libs/gstreamer-libs-sections.txt:
5269         * docs/libs/tmpl/gstgetbits.sgml:
5270         * docs/libs/tmpl/gstputbits.sgml:
5271
5272 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5273
5274         * win32/gstenumtypes.c:
5275         * win32/gstenumtypes.h:
5276           Update.
5277
5278 2005-09-19  Wim Taymans  <wim@fluendo.com>
5279
5280         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5281         Automatically PAUSE and RESUME a pipeline when a flushing seek
5282         is performed.
5283
5284 2005-09-19  Andy Wingo  <wingo@pobox.com>
5285
5286         * gst/gstregistry.h: Spacing fixen.
5287
5288 2005-09-19  Wim Taymans  <wim@fluendo.com>
5289
5290         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5291         Handle state change failure more correctly.
5292
5293 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5294
5295         * check/Makefile.am:
5296         * check/pipelines/cleanup.c: (run_pipeline):
5297         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5298         (GST_START_TEST):
5299           enable cleanup again after fixing the leak
5300         * docs/README:
5301           some more info on docs
5302
5303 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5304
5305         * check/Makefile.am:
5306           re-enable tests now that leaks are plugged
5307         * check/gst/gst.c:
5308         * check/gst/gstbin.c:
5309         * check/gst/gstpipeline.c:
5310           add some more tests while fixing leaks
5311         * common/check.mak:
5312           make sure binaries are uptodate when valgrinding/gdbing
5313         * gst/gst.c:
5314         * gst/gstelementfactory.c:
5315           remove a ref too many, and add a FIXME for when we get
5316           round to disposing of classes
5317         * gst/gstplugin.c:
5318           fix the refcounting when loading a plugin from a file and
5319           the code pretends that the pointer is the same even though
5320           of course it can change
5321         * gst/gstpluginfeature.c:
5322           unref plugins marked cached (a bit confusing as a name)
5323           as the docs state should be done
5324           various doc additions to explain refcounting
5325         * gst/gstregistry.c:
5326         * gst/gstregistryxml.c:
5327           debugging
5328
5329 2005-09-19  Wim Taymans  <wim@fluendo.com>
5330
5331         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5332         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5333         (send_messages), (GST_START_TEST), (gstbus_suite):
5334         * check/gst/gstpipeline.c: (GST_START_TEST):
5335         * check/pipelines/cleanup.c: (run_pipeline):
5336         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5337         (GST_START_TEST):
5338         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5339         (gst_bus_source_check), (gst_bus_source_dispatch),
5340         (gst_bus_create_watch), (gst_bus_add_watch_full),
5341         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5342         * gst/gstbus.h:
5343         * tools/gst-launch.c: (event_loop):
5344         * tools/gst-md5sum.c: (event_loop):
5345         GstBusHandler -> GstBusFunc, return value has the same meaning as
5346         any other GSource (FALSE == remove source).
5347         _add_watch() and _add_watch_full() now take a MessageType mask to
5348         only handle specific types of messages.
5349         _poll() returns the GstMessage instead of the message type to avoid
5350         race conditions.
5351         _have_pending() takes a MessageType mask now too.
5352         Added testsuite for multiple bus watches.
5353         Fix testsuites and applications for new bus API.
5354
5355 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5356
5357         * check/Makefile.am:
5358           mark a bunch of the tests as to fix until we fix them
5359
5360 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5361
5362         * common/check.mak:
5363           use GST_PLUGIN settings for valgrind tests as well, so we're
5364           valgrinding the correct thing
5365         * gst/gst.c: (init_post):
5366           plug another leak
5367
5368 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5369
5370         * gst/gst.c: (init_post), (gst_deinit):
5371         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5372         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5373         * gst/gstindex.c: (gst_index_factory_class_init),
5374         (gst_index_factory_finalize):
5375         * gst/gstobject.c: (gst_object_dispose):
5376         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5377         (gst_plugin_load_file), (gst_plugin_desc_free):
5378         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5379         (gst_plugin_feature_finalize):
5380         * gst/gstregistry.c: (gst_registry_class_init),
5381         (gst_registry_init), (gst_registry_finalize),
5382         (gst_registry_get_default), (gst_registry_deinit):
5383         * gst/gstregistry.h:
5384         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5385           various cleanups and memleak plugging.  make valgrind is happy now.
5386
5387 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5388
5389         * common/check.mak:
5390           add a check-valgrind target
5391
5392 2005-09-18  David Schleef  <ds@schleef.org>
5393
5394         * tools/gst-inspect.c: Revert the GOption code.
5395
5396 2005-09-17  David Schleef  <ds@schleef.org>
5397
5398         * check/Makefile.am: Fix environment variables.
5399         * check/gst/gstplugin.c: Fix for API changes.
5400         * tools/gst-inspect.c: Fix for API changes.
5401         * tools/gst-xmlinspect.c: Fix for API changes.
5402         * gst/gstelementfactory.c:
5403         * gst/gstplugin.c:
5404         * gst/gstplugin.h:
5405         * gst/gstpluginfeature.c:
5406         * gst/gstpluginfeature.h:
5407         * gst/gstregistry.c:
5408         * gst/gstregistry.h:
5409         * gst/gstregistryxml.c:
5410         * gst/gsttypefind.c:
5411         * gst/gsttypefindfactory.c:
5412         * gst/indexers/gstfileindex.c:
5413         * gst/indexers/gstmemindex.c:
5414         * gst/schedulers/Makefile.am:
5415           Change registry to keep track of both plugins and features,
5416           removing the feature tracking from plugins themselves.
5417
5418 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5419
5420         * check/Makefile.am:
5421         * tools/gst-register.1.in:
5422           remove gst-register
5423
5424 2005-09-15  David Schleef  <ds@schleef.org>
5425
5426         * check/gst/gstplugin.c:
5427         * gst/gstelementfactory.c:
5428         * gst/gstplugin.c:
5429         * gst/gstpluginfeature.c:
5430         * gst/gstregistry.c:
5431           Getting tired of debugging.  Disabled all the unreffing of
5432           plugins and features, which fixes the segfaults, but of
5433           course leaks like crazy.  At least playbin works.
5434
5435 2005-09-15  David Schleef  <ds@schleef.org>
5436
5437         * check/gst/gstplugin.c: (register_check_elements),
5438         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5439         More testing
5440         * gst/elements/gsttypefindelement.c: Fix refcounting.
5441         * gst/gsttypefind.c:
5442         * gst/gsttypefindfactory.c:
5443         * gst/gsttypefindfactory.h:
5444
5445 2005-09-15  David Schleef  <ds@schleef.org>
5446
5447         * gst/gstindex.c: get refcounting correct.
5448         * gst/gstregistry.c: Handle the case where a feature/plugin is
5449           not found.
5450
5451 2005-09-15  David Schleef  <ds@schleef.org>
5452
5453         * check/Makefile.am:
5454         * check/gst/gstplugin.c: Add test
5455         * gst/gstplugin.c: Fix problems noticed by testsuite
5456         * gst/gstplugin.h:
5457         * gst/gstregistry.c: 
5458         * gst/gstregistry.h:
5459
5460 2005-09-15  David Schleef  <ds@schleef.org>
5461
5462         * gst/gstplugin.c: Implement semi-decent recounting and locking
5463           in plugins and plugin features.
5464         * gst/gstplugin.h:
5465         * gst/gstpluginfeature.c:
5466         * gst/gstpluginfeature.h:
5467         * gst/gstregistry.c:
5468
5469 2005-09-15  Michael Smith <msmith@fluendo.com>
5470
5471         * gst/gstregistry.c: (gst_registry_get_feature_list):
5472           Implement this. Makes oggdemux work; decodebin still broken.
5473
5474 2005-09-14  David Schleef  <ds@schleef.org>
5475
5476         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5477           #316076)
5478         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5479         * gst/check/Makefile.am:
5480         * libs/gst/controller/Makefile.am:
5481         * libs/gst/dataprotocol/Makefile.am:
5482
5483 2005-09-14  David Schleef  <ds@schleef.org>
5484
5485         * configure.ac: Remove getbits library.  Nothing uses it, and
5486           it should be in something like liboil if someone did want
5487           to use it.
5488         * libs/gst/Makefile.am:
5489         * libs/gst/getbits/Makefile.am:
5490         * libs/gst/getbits/gbtest.c:
5491         * libs/gst/getbits/getbits.c:
5492         * libs/gst/getbits/getbits.h:
5493         * libs/gst/getbits/gstgetbits_generic.c:
5494         * libs/gst/getbits/gstgetbits_i386.s:
5495         * libs/gst/getbits/gstgetbits_inl.h:
5496
5497 2005-09-14  David Schleef  <ds@schleef.org>
5498
5499         * gst/Makefile.am: Dist glib-compat.h
5500
5501 2005-09-14  David Schleef  <ds@schleef.org>
5502
5503         * configure.ac: Remove gst/registries, since it's no longer used.
5504         * gst/registries/Makefile.am:
5505         * gst/registries/gstlibxmlregistry.c:
5506         * gst/registries/gstlibxmlregistry.h:
5507         * gst/registries/gstxmlregistry.c:
5508         * gst/registries/gstxmlregistry.h:
5509         * gst/registries/registrytest.c:
5510
5511 2005-09-14  David Schleef  <ds@schleef.org>
5512
5513         * gst/glib-compat.h:
5514         * gst/gstregistryxml.c:
5515           Convergence is near.  Seriously.
5516
5517 2005-09-14  David Schleef  <ds@schleef.org>
5518
5519         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5520         * gst/glib-compat.h:
5521           Attempt #4 to appease the buildbots.
5522
5523 2005-09-14  David Schleef  <ds@schleef.org>
5524
5525         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5526           Attempt #3.
5527
5528 2005-09-14  David Schleef  <ds@schleef.org>
5529
5530         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5531         Attempt #2.
5532
5533 2005-09-14  David Schleef  <ds@schleef.org>
5534
5535         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5536           the new functions.
5537
5538 2005-09-14  David Schleef  <ds@schleef.org>
5539
5540         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5541         * gst/glib-compat.h: Add some functions that are in newer versions
5542           of glib than we care to require.
5543         * gst/gstregistryxml.c: Use them.
5544
5545 2005-09-14  David Schleef  <ds@schleef.org>
5546
5547         * po/POTFILES.in: remove gst-register.c
5548
5549 2005-09-14  David Schleef  <ds@schleef.org>
5550
5551         * docs/gst/gstreamer-docs.sgml:
5552         * docs/gst/gstreamer-sections.txt:
5553         * docs/gst/gstreamer.types:
5554         * docs/gst/tmpl/gstelement.sgml:
5555         * docs/gst/tmpl/gstplugin.sgml:
5556         * docs/gst/tmpl/gstpluginfeature.sgml:
5557           Documentation updates for registry changes.
5558
5559 2005-09-14  David Schleef  <ds@schleef.org>
5560
5561         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5562           because we don't require glib-2.8.
5563
5564 2005-09-14  David Schleef  <ds@schleef.org>
5565
5566         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5567           registries directory.
5568
5569 2005-09-14  David Schleef  <ds@schleef.org>
5570
5571         * check/Makefile.am:
5572         * check/generic/states.c:
5573         * gst/Makefile.am:
5574         * gst/gst.c:
5575         * gst/gst.h:
5576         * gst/gst_private.h:
5577         * gst/gstelementfactory.c:
5578         * gst/gstindex.c:
5579         * gst/gstinfo.c:
5580         * gst/gstplugin.c:
5581         * gst/gstplugin.h:
5582         * gst/gstpluginfeature.c:
5583         * gst/gstpluginfeature.h:
5584         * gst/gstregistry.c:
5585         * gst/gstregistry.h:
5586         * gst/gstregistrypool.c: remove
5587         * gst/gstregistrypool.h: remove
5588         * gst/gsttypefind.c:
5589         * gst/gsttypefindfactory.c:
5590         * gst/gsturi.c:
5591         * tools/Makefile.am:
5592         * tools/gst-compprep.c:
5593         * tools/gst-inspect.c:
5594         * tools/gst-register.c: remove
5595         * tools/gst-xmlinspect.c:
5596           Registry rewrite.  Changes registry from being a file created
5597           by a tool into a simple cache file created automatically by 
5598           libgstreamer.  Removed gst-register (because it's no longer
5599           needed).  Remove registry pools, because we only have one
5600           registry implementation (XML).  Fix up other subsystems as
5601           necessary.
5602
5603 2005-09-13  Michael Smith <msmith@fluendo.com>
5604
5605         * gst/gstconfig.h.in:
5606           Don't Use windows linking attributes for MinGW. Fixes #316157
5607
5608 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5609
5610         * gst/gstutils.c: (set_state_async_thread_func),
5611         (gst_element_set_state_async):
5612           Apparently people think it's better if this function doesn't
5613           try to set the state to whatever state was asked for on the first
5614           call to this function for any object.  Seriously.
5615
5616 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5617
5618         * check/gst/gstpipeline.c: (GST_START_TEST):
5619         * docs/gst/gstreamer-sections.txt:
5620         * gst/gstutils.c: (set_state_async_thread_func),
5621         (gst_element_set_state_async):
5622         * gst/gstutils.h:
5623           add a "gst_element_set_state_async" method that
5624           sets the state and starts a thread to make sure the state
5625           change completes as best as it can
5626
5627 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5630           codify design+behaviour in testsuite after discussion
5631
5632 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5633
5634         * docs/gst/tmpl/gstelement.sgml:
5635         * docs/manual/appendix-quotes.xml:
5636           add a quote
5637         * gst/gstelement.c: (gst_element_set_state):
5638           add some debug
5639
5640 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5641
5642         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5643         (gst_base_transform_prepare_output_buf),
5644         (gst_base_transform_handle_buffer):
5645         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5646         (gst_capsfilter_prepare_buf):
5647           Remove the requirement for sub-classes to call the parent
5648           implementation of prepare_output_buffer with a wrapper function.
5649           
5650         * gst/gsttaglist.h:
5651         * gst/gsttagsetter.h:
5652           Fix #define wrapper
5653
5654 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5655
5656         * docs/gst/gstreamer-sections.txt:
5657           more doc cleanups
5658
5659 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5660
5661         * docs/gst/gstreamer-sections.txt:
5662         * docs/gst/tmpl/gstelement.sgml:
5663         * docs/gst/tmpl/gstplugin.sgml:
5664         * gst/gstminiobject.c:
5665         * gst/gstvalue.h:
5666           docs now stop throwing warnings
5667
5668 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5669
5670         * docs/gst/gstreamer-sections.txt:
5671         * docs/gst/gstreamer.types:
5672         * docs/gst/tmpl/gstpad.sgml:
5673         * docs/gst/tmpl/gsttypes.sgml:
5674         * gst/base/gstadapter.h:
5675         * gst/base/gstbasesink.h:
5676         * gst/base/gstbasesrc.h:
5677         * gst/gstbin.h:
5678         * gst/gstbuffer.h:
5679         * gst/gstbus.h:
5680         * gst/gstcaps.h:
5681         * gst/gstclock.h:
5682         * gst/gstelement.h:
5683         * gst/gstevent.h:
5684         * gst/gstmessage.h:
5685         * gst/gstpad.h:
5686         * gst/gststructure.c:
5687         * gst/registries/gstlibxmlregistry.h:
5688           various documentation fixes
5689
5690 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5691
5692         * docs/gst/gstreamer-sections.txt:
5693         * docs/gst/tmpl/gstvalue.sgml:
5694           rearrange gstvalue section
5695         * gst/gstutils.c: (gst_element_state_get_name):
5696           NONE -> VOID
5697         * gst/gstvalue.c: (_gst_value_initialize):
5698         * gst/gstvalue.h:
5699           doc updates
5700
5701 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5702
5703         * check/gst-libs/controller.c:
5704           Header include fix.
5705         * gst/base/gstbasetransform.c:
5706         (gst_base_transform_default_prepare_buf),
5707         (gst_base_transform_handle_buffer):
5708         * gst/base/gstbasetransform.h:
5709           Some more basetransform changes and fixes to enable sub-classes
5710           that modify buffer metadata only.
5711         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5712         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5713         (gst_capsfilter_prepare_buf):
5714           If the output pad has fixed allowed caps and input buffers 
5715           don't have any, set the fixed caps on outgoing buffers.
5716
5717 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5718         * check/elements/identity.c: (GST_START_TEST):
5719           Make the error a little clearer when the test fails because
5720           identity made a copy of the buffer.
5721         * docs/gst/gstreamer-sections.txt:
5722           New symbols in gstbasetransform.h
5723         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5724         (gst_base_transform_init), (gst_base_transform_transform_size),
5725         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5726         (gst_base_transform_default_prepare_buf),
5727         (gst_base_transform_get_unit_size),
5728         (gst_base_transform_buffer_alloc),
5729         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5730         (gst_base_transform_change_state),
5731         (gst_base_transform_set_passthrough),
5732         (gst_base_transform_set_in_place),
5733         (gst_base_transform_is_in_place):
5734         * gst/base/gstbasetransform.h:
5735           Change BaseTransform to separate in_place operate from same_caps
5736           output. in_place implies that the element can perform the transform
5737           on incoming buffers in-place, even if the caps on the output are
5738           different.
5739           Sub-class elements can now implement special buffer allocation
5740           methods for outgoing buffers if they wish to.
5741           Big documentation addition.
5742         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5743         * gst/elements/gstelements.c:
5744           Changes for basetransform modifications.
5745         * gst/elements/Makefile.am:
5746         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5747           Compile fix. Extra debug output.
5748
5749 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5750
5751         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5752         (gst_pad_suite):
5753           add tests for valid pad naming
5754         * gst/check/gstcheck.c: (gst_check_log_message_func),
5755         (gst_check_log_critical_func):
5756           add ASSERT_WARNING
5757           remove printing of code, it is fragile when the code contains
5758           % and the line number is enough info
5759         * gst/check/gstcheck.h:
5760         * gst/gstpad.c: (gst_pad_template_new):
5761           fix memleaks
5762
5763 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5764
5765         * configure.ac:
5766           say what CHECK flags we use
5767         * docs/libs/gstreamer-libs.types:
5768         * libs/gst/controller/Makefile.am:
5769         * libs/gst/controller/gst-controller.c:
5770         * libs/gst/controller/gst-controller.h:
5771         * libs/gst/controller/gst-helper.c:
5772         * libs/gst/controller/gst-interpolation.c:
5773         * libs/gst/controller/gstcontroller.c:
5774         * libs/gst/controller/gsthelper.c:
5775         * libs/gst/controller/gstinterpolation.c:
5776         * tools/gst-inspect.c: (print_plugin_info):
5777           we don't use dashes in header names
5778
5779 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5780
5781         * check/Makefile.am:
5782         * check/gst/.cvsignore:
5783         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5784         (gst_pipeline_suite), (main):
5785           adding a test for pipelines and state changes
5786         * gst/gstutils.c: (get_state_func):
5787           add some debugging
5788         * gstreamer.spec.in:
5789           fix up spec file
5790
5791 2005-09-08  Michael Smith <msmith@fluendo.com>
5792
5793         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5794         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5795         (gst_file_src_is_seekable), (gst_file_src_get_size),
5796         (gst_file_src_start):
5797         * gst/elements/gstfilesrc.h:
5798           Various fixes for unseekable, unmmapable, and non-normal files, so
5799           that fallback to read() rather than mmap() works.
5800         * gst/gstevent.c: (gst_event_new_newsegment):
5801           Allow newsegment events with segment_start == segment_end, as will
5802           correctly happen if you use filesrc on a zero-size file, for
5803           example.
5804
5805 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5806
5807         * gst/gstplugin.c: (gst_plugin_load_file):
5808           Call g_module_close when we don't load the module
5809
5810         * gst/registries/gstlibxmlregistry.c:
5811         (gst_xml_registry_get_property):
5812           Port leak fix from 0.8
5813
5814 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5815
5816         * docs/gst/gstreamer-docs.sgml:
5817         * docs/gst/tmpl/.cvsignore:
5818         * docs/gst/tmpl/gsttrace.sgml:
5819         * docs/gst/tmpl/gsttrashstack.sgml:
5820         * gst/Makefile.am:
5821         * gst/gst.h:
5822         * gst/gstelement.h:
5823         * gst/gstevent.h:
5824         * gst/gstmessage.c:
5825         * gst/gstmessage.h:
5826         * gst/gsttag.c:
5827         * gst/gsttag.h:
5828         * gst/gsttaginterface.c:
5829         * gst/gsttaginterface.h:
5830         * gst/gsttaglist.c:
5831         * gst/gsttaglist.h:
5832         * gst/gsttagsetter.c:
5833         * gst/gsttagsetter.h:
5834         * gst/gsttrace.c:
5835         * gst/gsttrace.h:
5836         * gst/gsttrashstack.c:
5837           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5838           inlined docs for gsttrace, gsttrashstack
5839
5840 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5841
5842         * gst/Makefile.am:
5843         * gst/elements/gstbufferstore.h:
5844         * gst/elements/gsttypefindelement.c:
5845         * gst/elements/gsttypefindelement.h:
5846         * gst/gst.h:
5847         * gst/gsttypefind.c:
5848         * gst/gsttypefind.h:
5849         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5850         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5851         (gst_type_find_factory_dispose),
5852         (gst_type_find_factory_unload_thyself),
5853         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5854         (gst_type_find_factory_get_caps),
5855         (gst_type_find_factory_get_extensions),
5856         (gst_type_find_factory_call_function):
5857         * gst/gsttypefindfactory.h:
5858         * gst/registries/gstlibxmlregistry.c:
5859         * gst/registries/gstxmlregistry.c:
5860           splitted gsttypefind into gsttypefind, gsttypefindfactory
5861
5862 2005-09-07  Andy Wingo  <wingo@pobox.com>
5863
5864         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5865         condition whereby the pad's task function is entered before the
5866         pad_mode variable was set.
5867
5868 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5869
5870         * gst/gstpad.c: (gst_pad_alloc_buffer):
5871           Catch misbehaving pad_alloc functions that don't
5872           set up caps and do it for them.
5873
5874 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5875
5876         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5877           test for pipe!=NULL
5878         * docs/gst/tmpl/.cvsignore:
5879         * docs/gst/tmpl/gstmemchunk.sgml:
5880         * docs/gst/tmpl/gstparse.sgml:
5881         * docs/gst/tmpl/gsttaglist.sgml:
5882         * docs/gst/tmpl/gsttagsetter.sgml:
5883         * docs/gst/tmpl/gsttypefind.sgml:
5884         * docs/gst/tmpl/gsttypefindfactory.sgml:
5885         * gst/gstmemchunk.c:
5886         * gst/gstparse.c:
5887         * gst/gsttag.c:
5888         * gst/gsttaginterface.c:
5889         * gst/gsttypefind.c:
5890         * gst/gsttypefind.h:
5891           inlined more docs
5892
5893 === release 0.9.2 ===
5894
5895 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5896
5897         * NEWS:
5898         * RELEASE:
5899         * configure.ac:
5900           releasing 0.9.2, "South"
5901
5902 2005-09-05  Andy Wingo  <wingo@pobox.com>
5903
5904         * gst/registries/gstxmlregistry.h:
5905         * gst/registries/gstxmlregistry.c: Um... resurrect...
5906         
5907         * gst/registries/gstxmlregistry.h:
5908         * gst/registries/gstxmlregistry.c: and update to newer API.
5909         Incidentally they should be a bit faster now that they don't have
5910         to parse the caps.
5911         
5912 2005-09-05  Andy Wingo  <wingo@pobox.com>
5913
5914         * gst/registries/gstxmlregistry.h:
5915         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5916         replaced by the libxml registry a while back
5917
5918 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5919
5920         * docs/gst/tmpl/gstplugin.sgml:
5921         * gst/elements/gstelements.c:
5922         * gst/gst.c:
5923         * gst/gstplugin.c: (gst_plugin_register_func),
5924         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5925         (gst_plugin_get_source):
5926         * gst/gstplugin.h:
5927         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5928         (gst_xml_registry_save_plugin):
5929         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5930         (gst_xml_registry_save_plugin):
5931         * tools/gst-inspect.c: (print_plugin_info):
5932           add a "source" plugin description field, to represent the source
5933           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5934           will set it to PACKAGE, which is automake's idea of the name of
5935           the source project.
5936
5937 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5938
5939         * Makefile.am:
5940         * autogen.sh:
5941         * configure.ac:
5942         * docs/Makefile.am:
5943         * docs/faq/Makefile.am:
5944         * docs/gst/tmpl/gstelement.sgml:
5945         * docs/gst/tmpl/gsttypes.sgml:
5946         * docs/htmlinstall.mak:
5947         * docs/manual/Makefile.am:
5948         * docs/pwg/Makefile.am:
5949           reorganize doc build a little
5950           split out docbook and gtk-doc stuff
5951           have two separate --enable's and enable them through autogen
5952           but disable by default in configure (to be similar to other
5953           projects)
5954         * gstreamer.spec.in:
5955           clean up docs install
5956         * po/af.po:
5957         * po/az.po:
5958         * po/ca.po:
5959         * po/cs.po:
5960         * po/de.po:
5961         * po/en_GB.po:
5962         * po/fr.po:
5963         * po/it.po:
5964         * po/nb.po:
5965         * po/nl.po:
5966         * po/ru.po:
5967         * po/sq.po:
5968         * po/sr.po:
5969         * po/sv.po:
5970         * po/tr.po:
5971         * po/uk.po:
5972         * po/vi.po:
5973           translation updates
5974
5975 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5976
5977         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5978           Add comment.
5979           
5980         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5981         (gst_fake_sink_change_state):
5982           Make state change function thread-safe.
5983           
5984         * gst/gstpad.c: (gst_pad_alloc_buffer):
5985           Set offset on generic buffer allocated by fallback.
5986
5987 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5988
5989         * docs/gst/gstreamer-sections.txt:
5990         * docs/gst/tmpl/gstelement.sgml:
5991         * gst/gstpad.c:
5992         * libs/gst/controller/gst-controller.c:
5993         (gst_controlled_property_set_interpolation_mode),
5994         (gst_controlled_property_new),
5995         (gst_controller_find_controlled_property):
5996          run the wingo-magic script against the docs
5997
5998 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5999
6000         * docs/gst/gstreamer-docs.sgml:
6001         * docs/gst/gstreamer-sections.txt:
6002         * docs/gst/tmpl/.cvsignore:
6003         * docs/gst/tmpl/gstelementdetails.sgml:
6004         * docs/gst/tmpl/gstelementfactory.sgml:
6005         * gst/gst.c:
6006         * gst/gstbus.c:
6007         * gst/gstelementfactory.c:
6008         * gst/gstelementfactory.h:
6009           merged elementdetails docs into elementfactory docs
6010           inlined both
6011
6012 2005-09-02  Andy Wingo  <wingo@pobox.com>
6013
6014         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6015         consider this enum an enum and not a flags.
6016
6017 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6018
6019         * docs/gst/gstreamer-docs.sgml:
6020         * docs/gst/tmpl/.cvsignore:
6021         * docs/gst/tmpl/gstghostpad.sgml:
6022         * docs/gst/tmpl/gstiterator.sgml:
6023         * docs/gst/tmpl/gstmacros.sgml:
6024         * docs/gst/tmpl/gstrealpad.sgml:
6025         * docs/gst/tmpl/gstregistry.sgml:
6026         * docs/gst/tmpl/gstregistrypool.sgml:
6027         * docs/gst/tmpl/gststructure.sgml:
6028         * docs/gst/tmpl/gstsystemclock.sgml:
6029         * docs/gst/tmpl/gsttrace.sgml:
6030         * gst/gstghostpad.c:
6031         * gst/gstmacros.h:
6032         * gst/gstmemchunk.c:
6033         * gst/gstmemchunk.h:
6034         * gst/gstqueue.c:
6035         * gst/gstregistry.c:
6036         * gst/gstregistrypool.c:
6037         * gst/gststructure.c:
6038         * gst/gstsystemclock.c:
6039           more docs inlined
6040
6041 2005-09-02  Andy Wingo  <wingo@pobox.com>
6042
6043         * gst/gstelement.h (GstState): Renamed from GstElementState,
6044         changed to be a normal enum instead of flags.
6045         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6046         munged to be GST_STATE_CHANGE_*.
6047         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6048         work with the new state representation.
6049         (GstStateChange): New enumeration of possible state transitions.
6050         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6051         (GstElementClass::change_state): Pass the GstStateChange along as
6052         an argument. Helps language bindings, so they don't have to use
6053         tricky lock-needing macros like GST_STATE_CHANGE ().
6054
6055         * scripts/update-states (file): New script. Run it on a file to
6056         update it for state naming and API changes. Updates files in
6057         place.
6058
6059         * All files updated for the new API.
6060
6061 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6062
6063         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6064         * gst/gstutils.c: (gst_util_set_value_from_string),
6065         (gst_util_set_object_arg):
6066           fix a bunch of unchecked return values
6067         * tools/gst-complete.c: (main):
6068         * gstreamer.spec.in:
6069           clean up a little
6070
6071 2005-09-01  Wim Taymans  <wim@fluendo.com>
6072
6073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6074         (gst_base_sink_event), (gst_base_sink_do_sync),
6075         (gst_base_sink_handle_event):
6076         * gst/base/gstbasesink.h:
6077         Handle newsegments more correctly.
6078
6079         * gst/gstbus.c:
6080         Fix docs.
6081
6082         * gst/gstevent.c: (gst_event_new_newsegment):
6083         A newsegment cannot have a start_time of -1
6084
6085 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6086
6087         * win32/gstenumtypes.c:
6088         * win32/gstenumtypes.h:
6089           Update
6090
6091 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6092
6093         * libs/gst/controller/gst-controller.c:
6094         (gst_controlled_property_set_interpolation_mode),
6095         (gst_controlled_property_new):
6096          fixed boolean again
6097
6098 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6099
6100         * docs/faq/gst-uninstalled:
6101           add -good
6102         * gst/gstevent.c:
6103         * gst/gstevent.h:
6104           remove wrong docs
6105         * gst/gstutils.c: (gst_element_link_filtered):
6106         * gst/gstutils.h:
6107           add gst_element_link_filtered
6108
6109 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6110
6111         * docs/gst/gstreamer-docs.sgml:
6112         * docs/gst/gstreamer-sections.txt:
6113         * docs/gst/tmpl/.cvsignore:
6114         * docs/gst/tmpl/gsterror.sgml:
6115         * docs/gst/tmpl/gstfilter.sgml:
6116         * docs/gst/tmpl/gsturihandler.sgml:
6117         * docs/gst/tmpl/gsturitype.sgml:
6118         * docs/gst/tmpl/gstutils.sgml:
6119         * docs/gst/tmpl/gstxml.sgml:
6120         * gst/gsterror.c:
6121         * gst/gsterror.h:
6122         * gst/gstfilter.c:
6123         * gst/gsturi.c:
6124         * gst/gsturitype.c:
6125         * gst/gstutils.c:
6126         * gst/gstxml.c:
6127           inlined more docs, fixed double id-ref
6128
6129 2005-08-31  Wim Taymans  <wim@fluendo.com>
6130
6131         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6132         (gst_base_transform_handle_buffer):
6133         Passthrough elements don't need the caps as they don't care.
6134
6135 2005-08-31  Wim Taymans  <wim@fluendo.com>
6136
6137         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6138         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6139         Don't leak refcounts on buffers.
6140
6141 2005-08-31  Wim Taymans  <wim@fluendo.com>
6142
6143         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6144         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6145         (gst_base_transform_chain), (gst_base_transform_change_state):
6146         * gst/base/gstbasetransform.h:
6147         Handle the case where we are not negotiated more gracefully.
6148
6149 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6150
6151         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6152         (gst_file_src_map_region):
6153           Set READONLY flag on mmap'ed buffers, otherwise
6154           gst_buffer_make_writable() won't work properly (#314708).
6155
6156 2005-08-31  Wim Taymans  <wim@fluendo.com>
6157
6158         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6159         passthrough elements can even do inplace on non writable
6160         buffers (as they don't touch them).
6161
6162 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6163
6164         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6165         (gst_test_mono_source_set_property),
6166         (gst_test_mono_source_class_init), (GST_START_TEST),
6167         (gst_controller_suite):
6168           more tests (hehe I have the most)
6169         * gst/gstbus.c:
6170           describe popping messages whenusing mulltiple sources
6171         * libs/gst/controller/gst-controller.c:
6172         (gst_controlled_property_set_interpolation_mode),
6173         (gst_controlled_property_new):
6174         * libs/gst/controller/gst-controller.h:
6175         * libs/gst/controller/gst-interpolation.c:
6176           implement boolean properties
6177
6178 2005-08-31  Wim Taymans  <wim@fluendo.com>
6179
6180         * gst/gstminiobject.c: (gst_mini_object_ref):
6181         Cannot assert that the refcount has to be positive
6182         since a disposed object can be resurrected.
6183
6184 2005-08-31  Wim Taymans  <wim@fluendo.com>
6185
6186         * gst/gstpad.c: (gst_pad_init):
6187         Revert change, need to first fix badly behaving 
6188         apps.
6189
6190 2005-08-30  Wim Taymans  <wim@fluendo.com>
6191
6192         * check/elements/fakesrc.c: (setup_fakesrc):
6193         * check/elements/identity.c: (setup_identity):
6194         Activate pads before using them.
6195
6196 2005-08-30  Wim Taymans  <wim@fluendo.com>
6197
6198         * gst/base/gstadapter.c: (gst_adapter_flush):
6199         Flushing out 0 bytes is ok for this function.
6200
6201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6202         no newsegment gives a warning and sets the start/stop to 
6203         invalid.
6204
6205         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6206         (gst_base_transform_set_passthrough):
6207         Some debug info.
6208
6209         * gst/gstminiobject.c: (gst_mini_object_ref):
6210         Check refcount here too.
6211
6212         * gst/gstpad.c: (gst_pad_init):
6213         Pads are initially flushing and refusing data.
6214
6215         * gst/gstutils.c: (gst_element_link_pads_filtered):
6216         When adding a capsfilter element make sure it has the
6217         same state as the parent bin.
6218
6219 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6220
6221         * docs/gst/tmpl/.cvsignore:
6222         * docs/gst/tmpl/gstformat.sgml:
6223         * docs/gst/tmpl/gstversion.sgml:
6224         * gst/gstbus.h:
6225         * gst/gstformat.c:
6226         * gst/gstformat.h:
6227         * gst/gstversion.h.in:
6228           more docs and two more inlined
6229
6230 2005-08-30  Wim Taymans  <wim@fluendo.com>
6231
6232         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6233         Don't sync to clock.
6234
6235 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6236
6237         * docs/gst/gstreamer-sections.txt:
6238           ultral33t func10ns deserve to appear in the docs actually
6239         * docs/gst/tmpl/.cvsignore:
6240         * docs/gst/tmpl/gstcompat.sgml:
6241         * docs/gst/tmpl/gstconfig.sgml:
6242         * gst/check/gstcheck.c:
6243         * gst/gstcompat.h:
6244         * gst/gstconfig.h.in:
6245           inlined more docs
6246
6247 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6248
6249         * docs/gst/tmpl/.cvsignore:
6250         * docs/gst/tmpl/gstquery.sgml:
6251         * docs/gst/tmpl/gstutils.sgml:
6252         * gst/gstquery.c:
6253         * gst/gstquery.h:
6254           inlined and extended docs
6255
6256 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6257
6258         * check/gst-libs/controller.c: (GST_START_TEST),
6259         (gst_controller_suite):
6260           more tests
6261         * docs/gst/tmpl/gstutils.sgml:
6262         * docs/libs/gstreamer-libs-sections.txt:
6263         * docs/libs/tmpl/gstdataprotocol.sgml:
6264           include path fixes
6265         * examples/controller/audio-example.c: (main):
6266           controller example works now
6267         * gst/gstclock.h:
6268           doc fixes
6269         * tools/gst-inspect.c: (print_element_properties_info):
6270           show param spec flags
6271
6272 2005-08-29  Andy Wingo  <wingo@pobox.com>
6273
6274         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6275
6276 2005-08-28  Andy Wingo  <wingo@pobox.com>
6277
6278         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6279         as having two arguments instead of just one. Allows superclasses
6280         to access information on subclasses -- see the terrible for() loop
6281         in gtype.c:g_type_create_instance for the reason why. All callers
6282         changed.
6283
6284 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6285
6286         * docs/design/part-messages.txt:
6287           update info
6288         * docs/gst/tmpl/.cvsignore:
6289         * docs/gst/tmpl/gstcaps.sgml:
6290         * docs/gst/tmpl/gstclock.sgml:
6291         * gst/gstbus.c:
6292         * gst/gstcaps.c:
6293         * gst/gstcaps.h:
6294         * gst/gstclock.c:
6295         * gst/gstclock.h:
6296         * gst/gstmessage.c:
6297           added descriptions for bus and message
6298           inline caps and clock docs
6299
6300 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6301
6302         * gst/gstmessage.c:
6303         * gst/gstmessage.h:
6304           doc fixes
6305
6306 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6307
6308         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6309           fix div-by-zero
6310
6311 2005-08-26  Andy Wingo  <wingo@pobox.com>
6312
6313         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6314         element_set_state's return val.
6315         (test_2_elements): Add test that's been disabled for months.
6316
6317         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6318         can-activate-pull properties.
6319
6320         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6321         can-activate-pull properties. Implement is_seekable so fakesrc can
6322         operate in pull mode.
6323
6324         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6325         properties.
6326         (gst_base_sink_activate, gst_base_sink_activate_pull)
6327         (gst_base_sink_activate_push): Make activation mode choosing work.
6328         Cleanups.
6329         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6330         is right. Make pull mode work. Post an eos before pausing in pull
6331         mode.
6332         (gst_base_sink_change_state): Pay attention to the core's
6333         change_state() return val.
6334         
6335         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6336         has-getrange properties. Cleanups.
6337         
6338         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6339         has_getrange and replace with can_activate_pull and
6340         can_activate_push.
6341
6342         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6343         locking comments. Remove has_loop, has_chain and replace with
6344         can_activate_pull and can_activate_push.
6345
6346 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6347
6348         * configure.ac:
6349         * examples/Makefile.am:
6350         * examples/metadata/Makefile.am:
6351         * examples/metadata/read-metadata.c: (message_loop),
6352         (have_pad_handler), (make_pipeline), (print_tag), (main):
6353           Add metadata reading example that loops over a list of filenames,
6354           dumping any tags found.
6355
6356         * gst/gstbus.c: (gst_bus_dispose):
6357         * gst/gstelement.c: (gst_element_dispose):
6358           Release a few potentially-held references in dispose.
6359
6360 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6361
6362         * docs/gst/tmpl/gstminiobject.sgml:
6363           do *not* add tmpl/*.sgml files to CVS!
6364
6365 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6366
6367         * libs/gst/bytestream/.cvsignore:
6368         * libs/gst/bytestream/Makefile.am:
6369         * libs/gst/bytestream/adapter.c:
6370         * libs/gst/bytestream/adapter.h:
6371         * libs/gst/bytestream/bytestream.c:
6372         * libs/gst/bytestream/bytestream.h:
6373         * libs/gst/bytestream/filepad.c:
6374         * libs/gst/bytestream/filepad.h:
6375           removing obsolete files
6376
6377 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6378
6379         * docs/gst/gstreamer-docs.sgml:
6380         * docs/libs/gstreamer-libs-docs.sgml:
6381           disabed additional index entries again, as this makes docs-gen just
6382           slow and they aren't useful yet
6383         * docs/libs/gstreamer-libs-sections.txt:
6384           little -section.txt cleanup for libs
6385
6386 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6387
6388         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6389         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6390           fix up some debugging
6391         (gst_base_transform_get_unit_size),
6392         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6393         (gst_base_transform_handle_buffer):
6394         * gst/base/gstbasetransform.h:
6395           handle and store timed NEWSEGMENT events so that subclasses that
6396           calculate time by counting samples have a segment_start time they
6397           need to add to their timestamps - see audioresample
6398
6399 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6400
6401         * gst/gstbin.h:
6402           removed ';' from the end of macro defs
6403         * docs/gst/gstreamer-docs.sgml:
6404         * docs/gst/gstreamer-sections.txt:
6405         * docs/gst/tmpl/.cvsignore:
6406         * gst/gstbus.h:
6407         * gst/gstelement.c: (gst_element_class_init),
6408         (gst_element_set_state), (activate_pads),
6409         (gst_element_save_thyself):
6410         * gst/gstevent.c: (gst_event_new_newsegment):
6411         * gst/gstevent.h:
6412         * gst/gstiterator.c:
6413         * gst/gstiterator.h:
6414         * gst/gstpad.c:
6415         * gst/gstprobe.h:
6416         * gst/gstutils.c: (gst_pad_query_convert):
6417         * gst/gstutils.h:
6418           fixed parameter name mismatches between source, header and docs
6419           added some more docs, resolved the last batch of unused elements in
6420           docs (now someone needs to doc them)
6421
6422 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6423
6424         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6425         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6426           don't walk through the plugins backwards.  Where is all this
6427           reversed logic coming from ?
6428
6429 2005-08-25  Wim Taymans  <wim@fluendo.com>
6430
6431         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6432         (gst_base_transform_transform_size),
6433         (gst_base_transform_configure_caps),
6434         (gst_base_transform_get_unit_size),
6435         (gst_base_transform_buffer_alloc),
6436         (gst_base_transform_change_state):
6437         * gst/base/gstbasetransform.h:
6438         Cache caps unit_size.
6439         Make sure we cannot negotiate up and downstream at the
6440         same time.
6441
6442 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6443
6444         * gst/gst.c: (init_pre), (init_post):
6445           register the installed plugin path after the env var
6446         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6447         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6448           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6449           directories, so the tests can prefer uninstalled over installed
6450
6451 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6452
6453         * gst/base/gstbasetransform.h:
6454           comment
6455         * gst/gstpad.c:
6456           add to docs
6457
6458 2005-08-25  Wim Taymans  <wim@fluendo.com>
6459
6460         * gst/gstbin.c: (bin_bus_handler):
6461         Be a bit more conservative about the posted message.
6462         
6463         * gst/gstbus.c: (gst_bus_post):
6464         Some cleanups, warn wrong return values.
6465
6466 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6467
6468         * check/gst/gstbin.c: (GST_START_TEST):
6469         * gst/gstbin.c: (bin_bus_handler):
6470         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6471         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6472         (gst_message_new_warning), (gst_message_new_tag),
6473         (gst_message_new_state_changed), (gst_message_new_segment_start),
6474         (gst_message_new_segment_done), (gst_message_new_custom):
6475         * gst/gstmessage.h:
6476         * tools/gst-launch.c: (event_loop):
6477         * tools/gst-md5sum.c: (event_loop):
6478           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6479
6480 2005-08-25  Wim Taymans  <wim@fluendo.com>
6481
6482         * check/generic/states.c: (GST_START_TEST):
6483         Cleanup can be done at the end.
6484
6485         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6486         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6487         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6488         Oh boy.. Thanks for finding this, Thomas. 
6489
6490 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6491
6492         * docs/gst/gstreamer.types:
6493           added missing types
6494
6495 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6496
6497         * docs/gst/gstreamer-docs.sgml:
6498         * docs/gst/gstreamer-sections.txt:
6499         * docs/gst/tmpl/.cvsignore:
6500         * gst/gstbin.c:
6501         * gst/gstiterator.c:
6502         * gst/gstutils.c:
6503         * gst/registries/gstxmlregistry.h:
6504           added missing classes and symbols (123 more to go)
6505           removed removed symbols from section file
6506           fixed many doc-comments
6507
6508 2005-08-24  Wim Taymans  <wim@fluendo.com>
6509
6510         * check/generic/states.c: (GST_START_TEST):
6511         Make sure all tasks are stopped.
6512
6513         * check/gst/gstbin.c: (GST_START_TEST):
6514         Unref after usage for proper valgrinding.
6515
6516         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6517         Really wait for the task to stop before destroying the
6518         mutex.
6519
6520         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6521         (gst_queue_src_activate_push):
6522         Small cleanups. Don't stop the task when we did not start
6523         it.
6524
6525         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6526         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6527         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6528         (gst_task_join):
6529         * gst/gsttask.h:
6530         Protect the stream lock with the object lock.
6531         Disallow setting the stream lock when running.
6532         Add cleanup_all to wait for the threadpool to finish.
6533         Remove code to autoallocate a mutex if none was provided.
6534         Add _join() to wait for a task to stop.
6535         Protect the thread pool with a global lock.
6536
6537 2005-08-24  Wim Taymans  <wim@fluendo.com>
6538
6539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6540         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6541         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6542         * gst/base/gstbasesink.h:
6543         Handle newsegment events correctly.
6544         Drop buffers out of the segment range.
6545
6546 2005-08-22  Andy Wingo  <wingo@pobox.com>
6547
6548         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6549         macro, implements an interface and gstimplementsinterface for a
6550         new type.
6551
6552 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * check/Makefile.am:
6555         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6556           add a test that does a bunch of state changes on elements
6557           needs some fixing for valgrind
6558         * check/states/sinks.c: (gst_object_suite):
6559           whitespace
6560         * gst/gstcaps.h:
6561           add prototype for gst_caps_is_equal_fixed
6562         * gst/gstplugin.c:
6563         * gst/gstregistrypool.c:
6564           doc fixes
6565
6566 2005-08-24  Andy Wingo  <wingo@pobox.com>
6567
6568         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6569         convert a negative value. Doesn't make much sense. Mostly this is
6570         here to force callers to ensure -1 maps to -1.
6571
6572 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6573
6574         * docs/pwg/advanced-types.xml:
6575           Well done to Michael for catching my deliberate introduction
6576           of this spelling mistake. 
6577         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6578         * gst/gstelement.h:
6579           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6580           unlink pads before removing the element from the bin.
6581
6582 2005-08-24  Andy Wingo  <wingo@pobox.com>
6583
6584         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6585         the same thing as GST_DEBUG=*:4.
6586         (parse_debug_level, parse_debug_category): New helper parsers.
6587
6588 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6589
6590         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6591         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6592         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6593         (gst_base_transform_buffer_alloc),
6594         (gst_base_transform_handle_buffer):
6595           use gboolean return values and pointers to size so we can use the
6596           full GST_BUFFER_SIZE range (guint) for buffer sizes
6597           use GstPadDirection for transform_caps
6598         * gst/base/gstbasetransform.h:
6599           rename get_size to get_unit_size since that's what it is
6600         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6601           use GstPadDirection for transform_caps
6602         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6603         * gst/gstutils.h:
6604           cleanup and debugging
6605
6606 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6607
6608         * gst/gstelement.c: (gst_element_class_init),
6609         (gst_element_set_state), (activate_pads),
6610         (gst_element_save_thyself):
6611         * tools/gst-compprep.c: (main):
6612         * tools/gst-inspect.c: (print_element_properties_info):
6613         * tools/gst-xmlinspect.c: (print_element_properties):
6614           Fixed long standing mem-leak
6615
6616 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6617
6618         * check/gst/gstbin.c: (GST_START_TEST):
6619         * gst/gstbin.c: (bin_bus_handler):
6620         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6621         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6622         (gst_message_new_warning), (gst_message_new_tag),
6623         (gst_message_new_state_changed), (gst_message_new_segment_start),
6624         (gst_message_new_segment_done), (gst_message_new_custom):
6625         * gst/gstmessage.h:
6626         * tools/gst-launch.c: (event_loop):
6627         * tools/gst-md5sum.c: (event_loop):
6628           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6629           that applications can sensibly post custom messages with references
6630           to their own objects.
6631
6632 2005-08-24  Andy Wingo  <wingo@pobox.com>
6633
6634         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6635         already.
6636
6637 2005-08-24  Wim Taymans  <wim@fluendo.com>
6638
6639         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6640         (gst_base_transform_transform_caps),
6641         (gst_base_transform_transform_size),
6642         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6643         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6644         (gst_base_transform_handle_buffer):
6645         * gst/base/gstbasetransform.h:
6646         Many fixes and new features added by Thomas. Can now also do
6647         transforms with variable sizes and a custom fixate_caps function.
6648
6649 2005-08-24  Wim Taymans  <wim@fluendo.com>
6650
6651         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6652         Some debugging.
6653
6654         * gst/gstclock.h:
6655         Cast to ClockTime before formatting to time.
6656
6657         * gst/gstutils.h:
6658         Cleanups.
6659
6660 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6661
6662         * check/gst-libs/controller.c: (GST_START_TEST),
6663         (gst_controller_suite):
6664         * docs/gst/tmpl/gstcaps.sgml:
6665         * docs/gst/tmpl/gstghostpad.sgml:
6666         * docs/gst/tmpl/gstquery.sgml:
6667         * docs/gst/tmpl/gstutils.sgml:
6668         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6669         (gst_object_sink_values), (gst_object_get_value_arrays),
6670         (gst_object_get_value_array):
6671           gracefully handle helper method calls to objects that are not beeing
6672           controlled, added test case for that          
6673
6674 2005-08-23  Wim Taymans  <wim@fluendo.com>
6675
6676         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6677         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6678         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6679         (gst_event_parse_qos), (gst_event_new_seek),
6680         (gst_event_parse_seek):
6681         * gst/gstevent.h:
6682         Some more debugging output and doc cleanups.
6683
6684         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6685         Fix possible deadlock.
6686
6687 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6688
6689         * docs/gst/gstreamer-docs.sgml:
6690         * docs/gst/gstreamer-sections.txt:
6691         * docs/gst/gstreamer.types:
6692         * docs/gst/tmpl/.cvsignore:
6693         * gst/gstbin.h:
6694         * gst/gstbus.c:
6695         * gst/gstelement.c:
6696         * gst/gstevent.h:
6697           added 100 symbols from gstreamer-unused.txt to the right sections
6698           fixed more broken comments
6699           added GstBus to docs
6700
6701 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6702
6703         * docs/gst/gstreamer-sections.txt:
6704         * docs/gst/tmpl/.cvsignore:
6705         * docs/gst/tmpl/gstbin.sgml:
6706         * docs/gst/tmpl/gstbuffer.sgml:
6707         * gst/base/gstbasesrc.c:
6708         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6709         * gst/gstbuffer.c:
6710         * gst/gstbuffer.h:
6711         * tools/gst-launch.1.in:
6712           inlined more doc comments, added missing comments and fixed comments
6713           fixed typos
6714
6715 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6716
6717         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6718           some debugging
6719         * gst/gstcaps.h:
6720           whitespace fixes
6721         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6722           more debugging
6723         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6724         * gst/gststructure.h:
6725           add a fixate function for booleans; add a FIXME that these func
6726           names should probably be gst_structure_fixate_*
6727
6728 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6729
6730         * docs/gst/gstreamer-docs.sgml:
6731         * docs/gst/gstreamer-sections.txt:
6732         * gst/Makefile.am:
6733         * gst/gstbin.c: (gst_bin_get_type),
6734         (gst_bin_child_proxy_get_child_by_index),
6735         (gst_bin_child_proxy_get_children_count),
6736         (gst_bin_child_proxy_init):
6737         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6738         (gst_child_proxy_get_child_by_index),
6739         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6740         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6741         (gst_child_proxy_get), (gst_child_proxy_set_property),
6742         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6743         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6744         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6745         * gst/gstchildproxy.h:
6746         * gst/parse/grammar.y:
6747         * tools/gst-inspect.c: (print_interfaces),
6748         (print_element_properties_info), (print_element_info):
6749           ported gstchildproxy over from 0.8
6750           ported gst-inspect fixes and enhancements over from 0.8
6751
6752 2005-08-22  Wim Taymans  <wim@fluendo.com>
6753
6754         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6755         (gst_base_transform_handle_buffer):
6756         Also call the transform function if we have ANY caps.
6757
6758         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6759         Fix debug info.
6760
6761 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6762
6763         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6764           Don't pretend to handle seek events if the source is not seekable
6765
6766 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6767
6768         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6769           Remove extra parameter to debug output
6770
6771         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6772         (gst_base_src_do_seek), (gst_base_src_activate_push):
6773           Fix seek event handling.
6774
6775         * gst/gstpipeline.c: (gst_pipeline_change_state):
6776         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6777         (gst_queue_src_activate_push):
6778           Don't start the src pad task on FLUSH_STOP if the pad
6779           isn't linked.
6780           Debug changes.
6781
6782 2005-08-22  Wim Taymans  <wim@fluendo.com>
6783
6784         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6785         Added check for gst_static_caps_get() refcounting.
6786
6787 2005-08-22  Wim Taymans  <wim@fluendo.com>
6788
6789         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6790         Make _static_caps_get() refcounting sane.
6791         
6792         * gst/gstelement.c: (gst_element_set_state):
6793         Add g_return_val_if_fail() to protect against segfaults.
6794
6795 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6796
6797         * docs/gst/tmpl/gstevent.sgml:
6798         * gst/gstevent.c:
6799         * gst/gstevent.h:
6800           inlined remaining docs, added missing doc comments
6801
6802 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         * check/gst/gstbin.c: (GST_START_TEST):
6805           since we don't know when preroll is done, use refcount range
6806           check for the sink
6807         * gst/check/gstcheck.h:
6808           add macro for checking refcount range
6809
6810 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * check/Makefile.am:
6813           clean up environment for when registry gets built versus
6814           when actual tests are run; valgrind seems to not report
6815           leaks if GST_PLUGIN_PATH is set to some specific values
6816         * check/gst/gstbin.c: (GST_START_TEST):
6817           add more refcounting checks; maybe this exposes a
6818           preroll lock bug ?
6819         * common/check.mak:
6820         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6821         * gst/check/gstcheck.h:
6822         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6823         (gst_bin_change_state):
6824         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6825           add/fix debugging/whitespace
6826
6827 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6828
6829         * check/gst/gstevent.c: (event_probe), (test_event),
6830         (GST_START_TEST):
6831          Er, don't call gst_bin_watch_for_state_change you idiot.
6832
6833 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6834
6835         * check/Makefile.am:
6836           Use CHECK_CFLAGS and CHECK_LIBS
6837         * check/gst/gstevent.c: (event_probe), (test_event),
6838         (GST_START_TEST):
6839           Don't leak events.
6840         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6841         (gst_base_src_start), (gst_base_src_stop),
6842         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6843         (gst_base_src_change_state):
6844           Sprinkle gst_base_src_stop liberally around error paths to fix
6845           problems reusing a source after failed state changes.
6846         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6847         (helper_find_suggest), (gst_type_find_helper):
6848           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6849         * gst/gstevent.h:
6850         * docs/gst/tmpl/gstevent.sgml:
6851           Migrate part of the docs from the SGML file. Wait for ensonic to
6852           tell me how I did it wrong ;)
6853         * tools/gst-typefind.c: (main):
6854           Extra robustness to state changes between files.
6855
6856 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6857
6858         * check/Makefile.am:
6859           don't valgrind the controller test - it's leaking - Stefan, HELP
6860         * gst/check/gstcheck.c: (gst_check_message_error),
6861         (gst_check_chain_func), (gst_check_setup_element),
6862         (gst_check_teardown_element), (gst_check_setup_src_pad),
6863         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6864         (gst_check_teardown_sink_pad):
6865         * gst/check/gstcheck.h:
6866           add a bunch of methods to set up elements, and src and sink pads
6867         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6868         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6869         (GST_START_TEST):
6870           use them
6871         * gst/gstmessage.c:
6872         * gst/gsttag.h:
6873           whitespace/doc fixes
6874
6875 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         * gst/gstelement.h:
6878           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6879           be handled by the application and not always printed as well
6880
6881 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6882
6883         * check/Makefile.am:
6884           set GST_TOOLS_DIR
6885         * gst/check/gstcheck.c: (gst_check_message_error):
6886         * gst/check/gstcheck.h:
6887           add a fail_unless_equals_int
6888           add fail_unless for error messages
6889
6890 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6891
6892         * check/Makefile.am:
6893         * check/gst.supp:
6894         * common/Makefile.am:
6895         * common/check.mak:
6896         * common/gst.supp:
6897           factor out some of the common stuff so we can use it
6898
6899 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6900
6901         * check/Makefile.am:
6902         * check/gst/gstiterator.c: (GST_START_TEST):
6903         * check/gst/gstsystemclock.c: (GST_START_TEST),
6904         (gst_systemclock_suite):
6905         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6906         * gst/gstclock.c:
6907           valgrind more tests
6908
6909 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6910
6911         * check/elements/.cvsignore:
6912         * check/elements/gstfakesrc.c:
6913           rename to name of element
6914         * check/elements/identity.c: (chain_func), (event_func),
6915         (setup_identity), (cleanup_identity), (GST_START_TEST),
6916         (identity_suite), (main):
6917           add a test for identity
6918         * check/Makefile.am:
6919         * pkgconfig/Makefile.am:
6920         * pkgconfig/gstreamer-check.pc.in:
6921         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6922         * gst/check:
6923         * gst/Makefile.am:
6924         * configure.ac:
6925           move the check stuff to a library that gets installed
6926         * check/gst-libs/controller.c: (GST_START_TEST):
6927         * check/gst-libs/gdp.c:
6928         * check/gst/gst.c: (GST_START_TEST):
6929         * check/gst/gstbin.c:
6930         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6931         * check/gst/gstbus.c:
6932         * check/gst/gstcaps.c: (GST_START_TEST):
6933         * check/gst/gstelement.c:
6934         * check/gst/gstghostpad.c:
6935         * check/gst/gstiterator.c:
6936         * check/gst/gstmessage.c:
6937         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6938         * check/gst/gstobject.c:
6939         * check/gst/gstpad.c: (GST_START_TEST):
6940         * check/gst/gststructure.c: (GST_START_TEST):
6941         * check/gst/gstsystemclock.c: (GST_START_TEST),
6942         (gst_systemclock_suite):
6943         * check/gst/gsttag.c: (gst_tag_suite):
6944         * check/gst/gstvalue.c:
6945         * check/pipelines/cleanup.c:
6946         * check/pipelines/simple_launch_lines.c:
6947         * check/states/sinks.c:
6948           change include statement
6949
6950         * docs/gst/gstreamer-sections.txt:
6951         * docs/gst/tmpl/gstpad.sgml:
6952           document more pad stuff
6953         * gst/gstminiobject.c: (gst_mini_object_ref),
6954         (gst_mini_object_unref):
6955           debug refcounting
6956
6957 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6958
6959         * docs/gst/tmpl/gst.sgml:
6960         * gst/gst.c:
6961           eliminate another tmpl file, fix spelling in the long-description
6962
6963 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6964
6965         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6966         (test_event), (timediff), (gstevents_suite):
6967           Should fix build on 64-bit arch's
6968
6969 2005-08-18  Andy Wingo  <wingo@pobox.com>
6970
6971         Make sure that when a pipeline goes to PLAYING, that data has
6972         actually hit the sink.
6973
6974         * check/states/sinks.c (test_sink): A sink that doesn't get any
6975         data shouldn't return SUCCESS for going to either PLAYING or
6976         PAUSED. Test also the return values on the way back down.
6977
6978         * gst/gstelement.c (gst_element_set_state): When changing the
6979         state of an element currently changing state asynchronously, go to
6980         lost-state after commiting the pending state. Makes future calls
6981         to get_state continue to return ASYNC.
6982
6983         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6984         ASYNC when going to PLAYING if we still don't have preroll, as can
6985         happen with live sources.
6986
6987 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6988
6989         * docs/pwg/advanced-types.xml:
6990           Hack long paragraph into 2 chunks as a workaround for buggy
6991           jadetex version in sid and breezy that loops infinitely and
6992           eats all RAM.
6993
6994 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6995
6996         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6997         (test_event), (timediff), (gstevents_suite):
6998           Provide more error margin in clock measurements to allow for 
6999           g_get_current_time inaccuracies.
7000
7001 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7002
7003         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7004         (test_event), (timediff), (gstevents_suite):
7005            Fix error message output so I might be able to tell why the
7006            test works here but fails on the build farm.
7007
7008 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7009
7010         * check/Makefile.am:
7011         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7012         (test_event), (timediff), (gstevents_suite), (main):
7013           I wrote a test!
7014
7015         * docs/design/part-seeking.txt:
7016           Spelling correction
7017
7018         * docs/gst/tmpl/gstevent.sgml:
7019         * docs/gst/tmpl/gstfakesrc.sgml:
7020           Docs updates.
7021
7022         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7023           Treat a buffer-without-newsegment the same as a receiving 
7024           a newsegment not in time format, and disable syncing to the clock
7025           with a warning.
7026
7027         * gst/gstbus.c: (gst_bus_set_sync_handler):
7028           Assert if anyone tries to replace the existing sync_handler for bus, 
7029           as only the owner should be setting it.
7030
7031         * gst/gstevent.h:
7032           Have a fixed set of custom event enums with events identified by
7033           their structure name (as in 0.8), rather than a free-for-all
7034           allowing collisions between enum values from different plugins.
7035
7036         * gst/gstpad.c: (gst_pad_class_init):
7037           Docs change.
7038           
7039         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7040           Handle out-of-band downstream events from the sending thread.
7041
7042 2005-08-17  Andy Wingo  <wingo@pobox.com>
7043
7044         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7045         play-timeout==0 to mean no timeout at all. In that case, don't
7046         bother with a get_state or a warning, just return directly, even
7047         if it's ASYNC.
7048
7049         * gst/base/gstbasetransform.c: Debug changes.
7050
7051         * gst/gstutils.h:
7052         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7053         ensure bins post state change messages. A bit of a hack but I can't
7054         think of a way to avoid it.
7055
7056         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7057
7058 2005-08-16  Andy Wingo  <wingo@pobox.com>
7059
7060         * gst/base/gstadapter.h:
7061         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7062         peek() but you own the data. Not terribly efficient atm.
7063
7064 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7065
7066         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7067         (gst_element_found_tags):
7068         * gst/gstutils.h:
7069           Add two utility functions for tag handling.
7070
7071 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7072
7073         * docs/manual/advanced-dataaccess.xml:
7074         * docs/manual/basics-helloworld.xml:
7075           Fix docs to use _bin_add() before _link(), which fixes the examples
7076           with recent core versions (reported by Madhan Raj M
7077           <raj_madan@rediffmail.com>, #313199).
7078
7079 2005-08-16  Wim Taymans  <wim@fluendo.com>
7080
7081         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7082         Added subtract checks.
7083
7084         * docs/design/part-events.txt:
7085         Some more docs about newsegment
7086
7087         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7088         Fix FIXME
7089
7090         * gst/gstcaps.c: (gst_caps_to_string):
7091         Add comments, cleanups.
7092         
7093         * gst/gstelement.c: (gst_element_save_thyself):
7094         cleanups
7095         
7096         * gst/gstvalue.c: (gst_value_collect_int_range),
7097         (gst_string_unwrap), (gst_value_union_int_int_range),
7098         (gst_value_union_int_range_int_range),
7099         (gst_value_intersect_int_int_range),
7100         (gst_value_intersect_int_range_int_range),
7101         (gst_value_intersect_double_double_range),
7102         (gst_value_intersect_double_range_double_range),
7103         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7104         (gst_value_subtract_int_range_int),
7105         (gst_value_subtract_double_range_double),
7106         (gst_value_subtract_double_range_double_range),
7107         (gst_value_subtract_from_list), (gst_value_subtract_list),
7108         (gst_value_can_compare), (gst_value_compare_fraction):
7109         Cleanups, add comments, remove unneeded asserts.
7110
7111 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7112
7113         * tools/gst-launch.c: (event_loop):
7114           don't convert NULL structures to strings
7115
7116 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7117
7118         * docs/gst/gstreamer-sections.txt:
7119           made some defines private
7120         * docs/gst/tmpl/gstconfig.sgml:
7121         * docs/gst/tmpl/gstqueue.sgml:
7122         * docs/gst/tmpl/gsttaglist.sgml:
7123         * docs/gst/tmpl/gsttypes.sgml:
7124         * docs/gst/tmpl/gstutils.sgml:
7125         * docs/pwg/appendix-porting.xml:
7126         * gst/base/gstbasesink.h:
7127         * gst/base/gstbasesrc.c:
7128         * gst/base/gstbasesrc.h:
7129         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7130         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7131         * gst/gstelement.c: (gst_element_class_init):
7132         * gst/gstpad.c: (gst_pad_class_init):
7133         * gst/gstqueue.c: (gst_queue_class_init):
7134         * gst/gstxml.c: (gst_xml_class_init):
7135           documented all undocumented signal inline
7136         * libs/gst/controller/gst-controller.h:
7137           added padding
7138
7139 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7140
7141         * docs/pwg/appendix-porting.xml:
7142           Document _set_link_function -> _set_setcaps_function.
7143
7144 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7145
7146         * check/Makefile.am:
7147           add a .check target for running the check
7148         * check/gst-libs/controller.c: (GST_START_TEST):
7149           cosmetic fixups
7150         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7151           complete checks for gstbuffer; would be nice if I could get the
7152           gcov stuff to work so I can see if I actually completed gstbuffer.c
7153         * check/gstcheck.h:
7154           add ASSERT_BUFFER_REFCOUNT
7155
7156 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7157
7158         * docs/gst/gstreamer-sections.txt:
7159         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7160         * gst/gsttag.h:
7161           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7162           spew out a warning if a tag that is already registered
7163           is re-registered, unless it is re-registered with a 
7164           different type (#308438).
7165
7166 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7167
7168         * docs/pwg/appendix-porting.xml:
7169         * docs/pwg/building-state.xml:
7170           Add some paragraphs about state changes in 0.9 to the PWG
7171           and the porting guide, in particular about the new meaning
7172           of GST_STATE_PAUSED and how to write state change functions
7173           with concurrent access by multiple threads in mind.
7174
7175 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7176
7177         * docs/gst/gstreamer-docs.sgml:
7178         * docs/libs/gstreamer-libs-docs.sgml:
7179           added deprecation and since indexes
7180         * libs/gst/controller/gst-controller.c:
7181         * libs/gst/controller/gst-helper.c:
7182           added since tags
7183
7184
7185 2005-08-11  Wim Taymans  <wim@fluendo.com>
7186
7187         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7188         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7189         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7190         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7191         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7192         (gst_ghost_pad_set_target):
7193         Actually implement (re)setting the target on a ghostpad
7194         as described in the docs.
7195
7196 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7197
7198         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7199           Check whether GST_DEBUG_NO_COLOR environment variable is
7200           set and disable coloured debug output if that is the case.
7201
7202 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7203
7204         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7205         (gst_type_find_helper):
7206           The memory returned by gst_type_find_peek() needs to
7207           stay valid until the end of a typefind function, and
7208           typefind functions may keep results from different 
7209           offsets around, so we can't just unref the buffer from
7210           the previous _peek(), but have to save all buffers 
7211           returned by _peek() until typefinding is done and only
7212           free them then.
7213
7214 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7215
7216         * docs/gst/gstreamer-sections.txt:
7217         * gst/gstutils.h:
7218           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7219
7220 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7221
7222         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7223           Fix a pretty good memleak.
7224
7225 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7226
7227         * gst/gstiterator.h:
7228           Fix wrong include and 'make distcheck'.
7229
7230 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7231
7232         * gst/gstbin.c: (bin_bus_handler):
7233           Use gst_element_post_message() instead.
7234
7235 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7236
7237         * gst/base/gstadapter.h:
7238         * gst/base/gstbasesink.h:
7239         * gst/base/gstbasesrc.h:
7240         * gst/base/gstbasetransform.h:
7241         * gst/base/gstcollectpads.h:
7242         * gst/base/gstpushsrc.h:
7243         * gst/gstiterator.h:
7244           Add padding to our base elements' class and instance structs and
7245           to GstIterator (you will need to rebuild all plugins and apps!)
7246
7247 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7248
7249         * gst/gstbin.c: (bin_bus_handler):
7250           Make default message forwarding from child->bus to bin->bus
7251           threadsafe and make it not emit warnings if the parent has no bus.
7252
7253 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7254
7255         * gst/gstelement.c: (activate_pads):
7256           On paused->ready, set pad->caps to NULL, as is the documented
7257           behaviour in this state change. Fixes playback of series of
7258           media files when visualization is enabled in Totem.
7259
7260 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7261
7262         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7263           Allow NULL as filter-caps (which means "any").
7264
7265 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7266
7267         * docs/libs/gstreamer-libs-sections.txt:
7268         * libs/gst/controller/gst-controller.c:
7269         * libs/gst/controller/gst-controller.h:
7270         * libs/gst/controller/gst-helper.c:
7271           adding more entries to the docs and fix small doc-bugs
7272
7273 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7274
7275         * docs/gst/gstreamer-docs.sgml:
7276         * docs/gst/gstreamer-sections.txt:
7277         * docs/gst/gstreamer.types:
7278         * docs/gst/tmpl/gstbasesink.sgml:
7279         * docs/gst/tmpl/gstbasesrc.sgml:
7280         * docs/gst/tmpl/gstbasetransform.sgml:
7281         * docs/gst/tmpl/gstfakesrc.sgml:
7282         * gst/base/gstcollectpads.c:
7283         * gst/base/gstcollectpads.h:
7284         * libs/gst/controller/gst-controller.c:
7285         * libs/gst/controller/gst-controller.h:
7286         * libs/gst/controller/gst-helper.c:
7287         * libs/gst/controller/gst-interpolation.c:
7288         * libs/gst/controller/lib.c:
7289           added long/short desc for controller docs
7290           added collectpads base class docs
7291           added correct includes to base-class docs
7292
7293 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7294
7295         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7296         (gst_test_mono_source_set_property),
7297         (gst_test_mono_source_class_init), (GST_START_TEST),
7298         (gst_controller_suite):
7299         * docs/gst/gstreamer-docs.sgml:
7300         * docs/gst/gstreamer-sections.txt:
7301         * docs/gst/gstreamer.types:
7302         * docs/libs/gstreamer-libs-docs.sgml:
7303         * docs/libs/gstreamer-libs-sections.txt:
7304         * gst/base/gstadapter.c:
7305         * libs/gst/controller/gst-controller.c:
7306         (gst_controlled_property_new), (gst_controlled_property_free),
7307         (gst_controller_new_valist),
7308         (gst_controller_remove_properties_valist),
7309         (gst_controller_sink_values), (_gst_controller_finalize):
7310         * libs/gst/controller/gst-controller.h:
7311         * libs/gst/controller/gst-helper.c:
7312         (gst_object_control_properties), (gst_object_uncontrol_properties),
7313         (gst_object_get_controller), (gst_object_set_controller),
7314         (gst_object_sink_values), (gst_object_get_value_arrays),
7315         (gst_object_get_value_array):
7316           more tests (and fixes) for the controller
7317           more docs for the controller
7318           integrated companies docs for the adapter 
7319
7320 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7321
7322         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7323         (GST_START_TEST), (fakesrc_suite):
7324           add tests for sizetype
7325
7326 2005-08-04  Andy Wingo  <wingo@pobox.com>
7327
7328         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7329         fixes buffer_alloc proxying among other things.
7330
7331         * gst/base/gstbasetransform.c:
7332         * gst/base/gstbasetransform.h:
7333         Revert patch to gstbasetransform from 7-28 removing
7334         delay_configure.
7335
7336         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7337         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7338         Semantics changed, should return not the size of the output buffer
7339         but the byte size of a buffer with a given caps.
7340
7341         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7342         debug object.
7343         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7344         out) are not the pad caps until setcaps finishes.
7345         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7346         not-in-place case as well. Deal with changing from in-place to
7347         not-in-place within calling pad_alloc_buffer. Still a bit
7348         concerned about the overhead here...
7349
7350 2005-08-03  Andy Wingo  <wingo@pobox.com>
7351
7352         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7353         fixating is an error.
7354
7355 2005-08-04  Edward Hervey  <edward@fluendo.com>
7356
7357         * gst/base/gstadapter.h: 
7358         Added gst_adapter_get_type() to the header
7359
7360 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7361
7362         * check/Makefile.am:
7363         * check/gst-libs/controller.c:
7364         * libs/gst/controller/gst-controller.c:
7365         (gst_controller_new_valist):
7366           added check test suite for the controller
7367         * gst/base/gstpushsrc.c:
7368           fixed a doc typo
7369
7370 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7371
7372         * docs/gst/Makefile.am:
7373         * docs/gst/gstreamer-docs.sgml:
7374         * docs/gst/gstreamer-sections.txt:
7375         * docs/gst/gstreamer.types:
7376         * docs/gst/tmpl/gstfakesrc.sgml:
7377         * gst/base/README:
7378         * gst/base/gstbasesink.c:
7379         * gst/base/gstbasesink.h:
7380         * gst/base/gstbasesrc.c:
7381         * gst/base/gstbasesrc.h:
7382         * gst/base/gstbasetransform.c:
7383         * gst/base/gstpushsrc.c:
7384         * gst/base/gstpushsrc.h:
7385           add short/long description docs to base classes
7386           add pushsrc to the docs
7387           remove consolidated doc fragments
7388
7389 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7390
7391         * configure.ac:
7392         * docs/libs/Makefile.am:
7393         * docs/libs/gstreamer-libs-docs.sgml:
7394         * docs/libs/gstreamer-libs-sections.txt:
7395         * docs/libs/gstreamer-libs.types:
7396         * examples/Makefile.am:
7397         * examples/controller/.cvsignore:
7398         * examples/controller/Makefile.am:
7399         * examples/controller/audio-example.c: (main):
7400         * libs/gst/Makefile.am:
7401         * libs/gst/controller/.cvsignore:
7402         * libs/gst/controller/Makefile.am:
7403         * libs/gst/controller/gst-controller.c:
7404         (on_object_controlled_property_changed), (gst_timed_value_compare),
7405         (gst_timed_value_find),
7406         (gst_controlled_property_set_interpolation_mode),
7407         (gst_controlled_property_new), (gst_controlled_property_free),
7408         (gst_controller_find_controlled_property),
7409         (gst_controller_new_valist), (gst_controller_new),
7410         (gst_controller_remove_properties_valist),
7411         (gst_controller_remove_properties), (gst_controller_set),
7412         (gst_controller_set_from_list), (gst_controller_unset),
7413         (gst_controller_get), (gst_controller_get_all),
7414         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7415         (gst_controller_get_value_array),
7416         (gst_controller_set_interpolation_mode),
7417         (_gst_controller_finalize), (_gst_controller_init),
7418         (_gst_controller_class_init), (gst_controller_get_type):
7419         * libs/gst/controller/gst-controller.h:
7420         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7421         (g_object_uncontrol_properties), (g_object_get_controller),
7422         (g_object_set_controller), (g_object_sink_values),
7423         (g_object_get_value_arrays), (g_object_get_value_array):
7424         * libs/gst/controller/gst-interpolation.c:
7425         (gst_controlled_property_find_timed_value_node),
7426         (interpolate_none_get), (interpolate_trigger_get),
7427         (interpolate_trigger_get_value_array):
7428         * libs/gst/controller/lib.c: (gst_controller_init):
7429         * pkgconfig/Makefile.am:
7430         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7431         * pkgconfig/gstreamer-control.pc.in:
7432         * testsuite/Makefile.am:
7433         * testsuite/controller/.cvsignore:
7434         * testsuite/controller/Makefile.am:
7435         * testsuite/controller/interpolator.c: (main):
7436           added controller code
7437           removed dparam pc files
7438
7439 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7440         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7441         (gst_collectpads_stop):
7442           Broadcast the condition when shutting down, to make sure we wake all
7443           threads up. Shut down pads on finalize, for safety.
7444
7445 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7446         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7447         (gst_base_transform_handle_buffer),
7448         (gst_base_transform_change_state):
7449           Handle PAUSED->READY->PAUSED transition after negotiation
7450           occurred already.
7451         * gst/gstmessage.c: (gst_message_init):
7452           Extra piece of debug for new messages.
7453
7454 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7455
7456         * configure.ac:
7457         * docs/gst/tmpl/gstbasesrc.sgml:
7458         * docs/gst/tmpl/gstelement.sgml:
7459         * docs/gst/tmpl/gstevent.sgml:
7460         * docs/gst/tmpl/gstfakesrc.sgml:
7461         * docs/gst/tmpl/gstformat.sgml:
7462         * docs/gst/tmpl/gstghostpad.sgml:
7463         * docs/gst/tmpl/gstpad.sgml:
7464         * docs/gst/tmpl/gstquery.sgml:
7465         * docs/gst/tmpl/gststructure.sgml:
7466         * docs/gst/tmpl/gsttaglist.sgml:
7467         * docs/gst/tmpl/gstvalue.sgml:
7468         * docs/libs/gstreamer-libs-docs.sgml:
7469         * docs/libs/gstreamer-libs-sections.txt:
7470         * docs/libs/gstreamer-libs.types:
7471         * libs/gst/Makefile.am:
7472         * libs/gst/control/.cvsignore:
7473         * libs/gst/control/Makefile.am:
7474         * libs/gst/control/control.c:
7475         * libs/gst/control/control.h:
7476         * libs/gst/control/dparam.c:
7477         * libs/gst/control/dparam.h:
7478         * libs/gst/control/dparam_smooth.c:
7479         * libs/gst/control/dparam_smooth.h:
7480         * libs/gst/control/dparamcommon.h:
7481         * libs/gst/control/dparammanager.c:
7482         * libs/gst/control/dparammanager.h:
7483         * libs/gst/control/dplinearinterp.c:
7484         * libs/gst/control/dplinearinterp.h:
7485         * libs/gst/control/unitconvert.c:
7486         * libs/gst/control/unitconvert.h:
7487         * testsuite/Makefile.am:
7488         * testsuite/dynparams/.cvsignore:
7489         * testsuite/dynparams/Makefile.am:
7490         * testsuite/dynparams/dparamstest.c:
7491         * tools/Makefile.am:
7492         * tools/gst-inspect.c: (print_element_info), (main):
7493         * tools/gst-xmlinspect.c: (print_element_info), (main):
7494           deactivate and remove dparams (libgstcontrol)
7495
7496 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7497
7498         * gst/elements/gsttypefindelement.c:
7499         (gst_type_find_element_have_type), (gst_type_find_element_init),
7500         (stop_typefinding), (gst_type_find_element_handle_event),
7501         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7502         * gst/elements/gsttypefindelement.h:
7503           Set caps on all outgoing buffers, not just the first one.
7504
7505 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7506
7507         * gst/elements/gsttypefindelement.c:
7508         (gst_type_find_element_have_type),
7509         (gst_type_find_element_check_set_buffer_caps),
7510         (gst_type_find_element_init), (stop_typefinding),
7511         (gst_type_find_element_handle_event),
7512         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7513         * gst/elements/gsttypefindelement.h:
7514           Set caps on first outgoing buffer when we've found the type.
7515
7516 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7517
7518         * docs/gst/gstreamer-docs.sgml:
7519         * docs/gst/gstreamer-sections.txt:
7520         * docs/gst/tmpl/gstscheduler.sgml:
7521         * docs/gst/tmpl/gstschedulerfactory.sgml:
7522           Remove some old cruft from docs.
7523
7524 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7525
7526         * gst/gstpad.h:
7527           Fix inline docs for GstPadLinkReturn.
7528           
7529         * gst/gststructure.c: (gst_structure_has_name):
7530         * gst/gststructure.h:
7531         * docs/gst/gstreamer-sections.txt:
7532           New API: gst_structure_has_name().
7533
7534 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7535
7536         * configure.ac:
7537           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7538           and _LARGEFILE_SOURCE in config.h as required. Do not 
7539           export those flags in our .pc files any longer (#142209).
7540
7541           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7542
7543         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7544         (gst_file_sink_do_seek), (gst_file_sink_event),
7545         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7546           Redo seek/tell calls with large file support in mind; add some
7547           debugging messages; add log message that tells us when large
7548           file support is unavailable or not enabled for some reason.
7549
7550         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7551           Add log message that tells us when large file support 
7552           is unavailable or not enabled for some reason.
7553
7554 2005-07-29  Wim Taymans  <wim@fluendo.com>
7555
7556         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7557         Added test for removing an element with ghostpad from a bin.
7558         Fixed test as current implementation does the right thing.
7559
7560         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7561         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7562         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7563         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7564         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7565         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7566         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7567         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7568         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7569         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7570         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7571         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7572         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7573         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7574         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7575         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7576         * gst/gstghostpad.h:
7577         Clean up ghostpads, remove properties for internal stuff.
7578         Make threadsafe.
7579         Fix refcounting.
7580         Prepare for switching targets, not all use cases work yet.
7581
7582 2005-07-29  Wim Taymans  <wim@fluendo.com>
7583
7584         * docs/design/part-gstghostpad.txt:
7585         Small update.
7586
7587         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7588         (gst_bin_remove_func):
7589         Unlinking pads while holding the bin LOCK is not a good
7590         idea.
7591
7592         * gst/gstpad.c: (gst_pad_class_init),
7593         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7594         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7595         No prob setting template after creating the pad.
7596
7597 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7598
7599         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7600         (gst_bus_peek), (gst_bus_source_dispatch),
7601         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7602         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7603           gst_bus_poll may be called from other threads. Handle
7604           this nicely by not making poll_data disappear off the
7605           stack once gst_bus_poll returns.
7606           gst_bus_peek now increments the refcount on the returned
7607           message.
7608
7609 2005-07-29  Wim Taymans  <wim@fluendo.com>
7610
7611         * docs/design/part-gstghostpad.txt:
7612         Overview of current GhostPad datastructures and use
7613         cases for changing the target.
7614
7615 2005-07-28  Wim Taymans  <wim@fluendo.com>
7616
7617         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7618         Added checks for hierarchy consistency whan adding linked
7619         elements to bins.
7620
7621         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7622         Added check to test element scheduling without bin/pipeline.
7623
7624         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7625         First add elements to bin, then link.
7626         
7627         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7628         (gst_bin_remove_func):
7629         Unlink pads from elements added/removed from bin to maintain
7630         hierarchy consistency.
7631
7632 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7633
7634         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7635         (gst_base_transform_handle_buffer):
7636         * gst/base/gstbasetransform.h:
7637           Remove broken delay_configure (fixes renegotiation of software
7638           scaling pipelines); remove some leftover printf()s.
7639
7640 2005-07-28  Wim Taymans  <wim@fluendo.com>
7641
7642         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7643         Added some more tests for wrong hierarchy
7644
7645         * docs/design/part-overview.txt:
7646         Some updates.
7647
7648         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7649         Cleanups.
7650
7651         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7652         (gst_element_dispose):
7653         Some more cleanups.
7654
7655         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7656         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7657         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7658         (gst_pad_set_caps), (gst_pad_send_event):
7659         Check for correct hierarchy when linking pads. Moving to
7660         strict requirement for ghostpads when linking elements in
7661         different bins.
7662
7663         * gst/gstpad.h:
7664         Clean ups. Added WRONG_HIERARCHY return value.
7665
7666 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7667
7668         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7669           Better debug if no transform is possible.
7670
7671 2005-07-27  Wim Taymans  <wim@fluendo.com>
7672
7673         * docs/random/wtay/network-transp:
7674         Some old doc I had.
7675
7676 2005-07-27  Wim Taymans  <wim@fluendo.com>
7677
7678         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7679         (gst_dp_event_from_packet):
7680         Fix serialization of seek events.
7681
7682 2005-07-27  Wim Taymans  <wim@fluendo.com>
7683
7684         * check/gst-libs/gdp.c: (GST_START_TEST):
7685         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7686         Fix compilation and fix event serialization.
7687
7688 2005-07-27  Wim Taymans  <wim@fluendo.com>
7689
7690         * CHANGES-0.9:
7691         * docs/design/part-TODO.txt:
7692         * docs/design/part-events.txt:
7693         Some docs updates
7694
7695         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7696         (gst_base_sink_event), (gst_base_sink_do_sync),
7697         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7698         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7699         (gst_base_src_do_seek), (gst_base_src_event_handler),
7700         (gst_base_src_loop):
7701         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7702         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7703         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7704         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7705         (gst_base_transform_set_passthrough),
7706         (gst_base_transform_is_passthrough):
7707         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7708         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7709         Event updates.
7710
7711         * gst/gstbuffer.h:
7712         Use faster casts.
7713
7714         * gst/gstelement.c: (gst_element_seek):
7715         * gst/gstelement.h:
7716         Update gst_element_seek.
7717
7718         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7719         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7720         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7721         (gst_event_new_eos), (gst_event_new_newsegment),
7722         (gst_event_parse_newsegment), (gst_event_new_tag),
7723         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7724         (gst_event_parse_qos), (gst_event_new_seek),
7725         (gst_event_parse_seek), (gst_event_new_navigation):
7726         * gst/gstevent.h:
7727         Make GstEvent use GstStructure. Add parsing code, make sure the
7728         API is sufficiently generic.
7729         Mark possible directions of events and serialization.
7730
7731         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7732         (_gst_message_copy), (gst_message_new_segment_start),
7733         (gst_message_new_segment_done), (gst_message_new_custom),
7734         (gst_message_parse_segment_start),
7735         (gst_message_parse_segment_done):
7736         Small cleanups.
7737
7738         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7739         (gst_pad_set_caps), (gst_pad_send_event):
7740         Update for new events. 
7741         Catch events sent in wrong directions.
7742
7743         * gst/gstqueue.c: (gst_queue_link_src),
7744         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7745         (gst_queue_handle_src_query):
7746         Event updates.
7747
7748         * gst/gsttag.c:
7749         * gst/gsttag.h:
7750         Remove event code from this file.
7751
7752         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7753         (gst_dp_event_from_packet):
7754         Event updates.
7755
7756 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7757
7758         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7759         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7760         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7761           Make debugging actually useful.
7762
7763 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7764
7765         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7766         (gst_pad_fixate_caps):
7767           Implement default fixation once again, so that gst_pad_fixate()
7768           actually does anything at all. This probably needs to be some
7769           sort of a last resort, and use profile-based fixation first, but
7770           since that doesn't exist yet, this is the best we have. Fixes
7771           visualization in Totem.
7772
7773 2005-07-22  Wim Taymans  <wim@fluendo.com>
7774
7775         * docs/design/part-events.txt:
7776         Small update.
7777
7778         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7779         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7780         (gst_base_sink_activate_pull):
7781         Some more comments.
7782
7783         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7784         (gst_fake_src_create):
7785         Fix handoff marshall.
7786
7787         * gst/elements/gstidentity.c: (gst_identity_class_init),
7788         (gst_identity_transform_ip):
7789         We're a real inplace element.
7790
7791         * gst/gstbus.c: (gst_bus_post):
7792         Added some comments.
7793
7794         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7795         * tests/muxing/case1.c: (main):
7796         * tests/sched/dynamic-pipeline.c: (main):
7797         * tests/sched/interrupt1.c: (main):
7798         * tests/sched/interrupt2.c: (main):
7799         * tests/sched/interrupt3.c: (main):
7800         * tests/sched/runxml.c: (main):
7801         * tests/sched/sched-stress.c: (main):
7802         * tests/seeking/seeking1.c: (event_received), (main):
7803         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7804         (main):
7805         * tests/threadstate/threadstate3.c: (main):
7806         * tests/threadstate/threadstate4.c: (main):
7807         * tests/threadstate/threadstate5.c: (main):
7808         Fix the tests.
7809
7810 2005-07-21  Wim Taymans  <wim@fluendo.com>
7811
7812         * docs/design/part-seeking.txt:
7813         Some small additions.
7814
7815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7816         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7817         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7818         * gst/base/gstbasesink.h:
7819         discont values are gint64, handle the math correctly.
7820
7821         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7822         Make the basesrc report error if the source pad is not linked.
7823
7824         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7825         (gst_queue_loop), (gst_queue_handle_src_query),
7826         (gst_queue_src_activate_push):
7827         Make queue collect data even if the srcpad is not linked.
7828         Start pushing out data as soon as it is linked.
7829
7830         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7831         * gst/gstutils.h:
7832         Added gst_flow_get_name() to ease error reporting.
7833
7834 2005-07-20  Wim Taymans  <wim@fluendo.com>
7835
7836         * gst/gstmessage.c: (gst_message_new_segment_start),
7837         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7838         (gst_message_parse_segment_done):
7839         * gst/gstmessage.h:
7840         Added a bunch of messages for advanced seeking.
7841
7842         * gst/parse/grammar.y:
7843         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7844         (gst_dpman_state_changed):
7845         Fix some new-pad -> pad-added signals
7846
7847 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7848
7849         * docs/manual/appendix-porting.xml:
7850         * docs/pwg/appendix-porting.xml:
7851           Document new-pad/state-change signal renames and the FixedList
7852           type rename.
7853
7854 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7855
7856         * docs/manual/advanced-autoplugging.xml:
7857         * docs/manual/basics-helloworld.xml:
7858         * docs/manual/basics-pads.xml:
7859         * docs/random/ds/0.9-suggested-changes:
7860         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7861         * gst/gstelement.h:
7862         * gst/gstevent.h:
7863         * gst/gstformat.h:
7864         * gst/gstquery.h:
7865         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7866         (gst_structure_parse_array), (gst_structure_parse_value):
7867         * gst/gstvalue.c: (gst_type_is_fixed),
7868         (gst_value_list_prepend_value), (gst_value_list_append_value),
7869         (gst_value_list_get_size), (gst_value_list_get_value),
7870         (gst_value_transform_array_string), (gst_value_serialize_array),
7871         (gst_value_deserialize_array), (gst_value_intersect_array),
7872         (gst_value_is_fixed), (_gst_value_initialize):
7873         * gst/gstvalue.h:
7874           GstElement::new-pad -> pad-added, GstElement::state-change ->
7875           state-changed, GstValueFixedList -> GstValueArray, add format and
7876           flags as their own arguments in gst_element_seek() (should improve
7877           "bindeability"), remove function generators since they don't work
7878           under a whole bunch of compilers (they were deprecated already
7879           anyway).
7880
7881 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7882
7883         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7884         (_gst_debug_register_funcptr):
7885         * gst/gstinfo.h:
7886           Fix illegal cast on some platforms (#309253).
7887
7888 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7889
7890         * gst/gstmessage.c: (gst_message_new_custom):
7891         * gst/gstmessage.h:
7892           Add _new_custom, make _new_application a macro to _new_custom.
7893
7894 2005-07-20  Wim Taymans  <wim@fluendo.com>
7895
7896         * gst/base/gstbasesrc.c: (gst_base_src_init),
7897         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7898         * gst/base/gstbasesrc.h:
7899         Add a gboolean to decide when to push out a discont.
7900
7901         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7902         (gst_queue_loop), (gst_queue_handle_src_query),
7903         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7904         (gst_queue_set_property), (gst_queue_get_property):
7905         Some cleanups.
7906
7907         * tests/threadstate/threadstate1.c: (main):
7908         Make a thread test compile and run... very silly..
7909
7910
7911 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7912
7913         * docs/manual/appendix-porting.xml:
7914           Mention removal of libgstgconf-0.9.la and existence of gconf
7915           elements.
7916
7917 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7918
7919         * docs/pwg/advanced-clock.xml:
7920         * docs/pwg/appendix-porting.xml:
7921         * docs/pwg/intro-preface.xml:
7922         * docs/pwg/other-base.xml:
7923         * docs/pwg/other-manager.xml:
7924         * docs/pwg/other-nton.xml:
7925         * docs/pwg/other-ntoone.xml:
7926         * docs/pwg/other-oneton.xml:
7927         * docs/pwg/pwg.xml:
7928           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7929           demuxer), remove n-to-n (was never written), fix some code examples
7930           and links and update the porting section to include all this.
7931
7932 2005-07-19  Wim Taymans  <wim@fluendo.com>
7933
7934         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7935         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7936         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7937         (gst_queue_src_activate_push), (gst_queue_change_state),
7938         (gst_queue_get_property):
7939         * gst/gstqueue.h:
7940         Propagate GstFlowReturn more intelligently upstream and output
7941         an ERROR/EOS when streaming stopped due to fatal error.
7942
7943 2005-07-19  Wim Taymans  <wim@fluendo.com>
7944
7945         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7946         Don't block forever for the state change to complete, the
7947         pipeline already did with a sensible timeout.
7948
7949 2005-07-19  Wim Taymans  <wim@fluendo.com>
7950
7951         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7952         Make sure we never call the create function is we
7953         got deactivated.
7954
7955 2005-07-19  Andy Wingo  <wingo@pobox.com>
7956
7957         * gst/parse/parse.l: Attempt to solve bug #172815.
7958
7959 2005-07-19  Wim Taymans  <wim@fluendo.com>
7960
7961         * docs/design/part-clocks.txt:
7962         * docs/design/part-events.txt:
7963         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7964         Small docs updates.
7965         Only update the seeking values when we are not
7966         busy streaming.
7967
7968 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7969
7970         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7971           Oops, ignore the result of gst_pad_push_event here.
7972
7973 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7974
7975         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7976         (gst_base_src_activate_push):
7977           Send discont event from the loop function, as pads
7978           aren't activated yet in the activate_push handler.
7979
7980         * gst/gstbin.c: (bin_bus_handler):
7981           Don't leak element name.
7982
7983 2005-07-18  Andy Wingo  <wingo@pobox.com>
7984
7985         * configure.ac: Use AS_LIBTOOL_TAGS.
7986
7987 2005-07-18  Wim Taymans  <wim@fluendo.com>
7988
7989         * docs/gst/gstreamer.types:
7990         Remove deleted types.
7991
7992 2005-07-18  Wim Taymans  <wim@fluendo.com>
7993
7994         * check/elements/gstfakesrc.c: (GST_START_TEST):
7995         * configure.ac:
7996         * gst/Makefile.am:
7997         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7998         (init_popt_callback):
7999         * gst/gst.h:
8000         * gst/gst_private.h:
8001         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8002         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8003         * gst/gstbin.h:
8004         * gst/gstbus.h:
8005         * gst/gstconfig.h.in:
8006         * gst/gstelement.c: (gst_element_class_init),
8007         (gst_element_set_base_time), (gst_element_get_base_time),
8008         (iterator_fold_with_resync), (gst_element_change_state),
8009         (gst_element_dispose), (gst_element_get_bus):
8010         * gst/gstelement.h:
8011         * gst/gstelementfactory.h:
8012         * gst/gsterror.c: (_gst_core_errors_init):
8013         * gst/gsterror.h:
8014         * gst/gstevent.h:
8015         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8016         * gst/gstindex.c:
8017         * gst/gstinfo.c: (_gst_debug_init):
8018         * gst/gstmessage.c: (_gst_message_copy):
8019         * gst/gstmessage.h:
8020         * gst/gstminiobject.h:
8021         * gst/gstobject.c:
8022         * gst/gstobject.h:
8023         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8024         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8025         * gst/gstpad.h:
8026         * gst/gstparse.h:
8027         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8028         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8029         (gst_pipeline_get_last_stream_time):
8030         * gst/gstpipeline.h:
8031         * gst/gstpluginfeature.h:
8032         * gst/gstquery.h:
8033         * gst/gstscheduler.c:
8034         * gst/gstscheduler.h:
8035         * gst/gststructure.h:
8036         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8037         (gst_task_finalize), (gst_task_func), (gst_task_create),
8038         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8039         (gst_task_stop), (gst_task_pause):
8040         * gst/gsttask.h:
8041         * gst/gsttypefind.h:
8042         * gst/gsttypes.h:
8043         * gst/registries/gstlibxmlregistry.c: (load_feature),
8044         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8045         * gst/registries/gstxmlregistry.c:
8046         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8047         * gst/schedulers/threadscheduler.c:
8048         * libs/gst/control/dparammanager.h:
8049         * tools/gst-inspect.c: (print_element_list),
8050         (print_plugin_features), (print_element_features):
8051         * tools/gst-xmlinspect.c: (print_element_list),
8052         (print_plugin_info), (main):
8053         Removed plugable schedulers.
8054         Removed Scheduler/Manager from elements.
8055         Removed gsttypes.h, rearranged includes.
8056         Removed dependency pad<->element, element<>pipeline, and
8057         various others,  fix includes.
8058         implement gst_pad_get_parent() with gst_object_get_parent()
8059         Make GstTask sefcontained.
8060         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8061         timeout.
8062         Fix endless loop in iterator_fold_with_resync.
8063
8064
8065 2005-07-18  Wim Taymans  <wim@fluendo.com>
8066
8067         * gst/Makefile.am:
8068         * gst/gstarch.h:
8069         Remove old file.
8070
8071 2005-07-18  Wim Taymans  <wim@fluendo.com>
8072
8073         * gst/Makefile.am:
8074         No more cothreads.h
8075
8076 2005-07-18  Wim Taymans  <wim@fluendo.com>
8077
8078         * gst/cothreads.c:
8079         * gst/cothreads.h:
8080         Let's remove these.
8081
8082 2005-07-18  Wim Taymans  <wim@fluendo.com>
8083
8084         * docs/design/part-dynamic.txt:
8085         * docs/design/part-events.txt:
8086         * docs/design/part-seeking.txt:
8087         Some more docs in the works.
8088
8089         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8090         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8091         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8092         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8093         (gst_base_transform_handle_buffer),
8094         (gst_base_transform_sink_activate_push),
8095         (gst_base_transform_src_activate_pull),
8096         (gst_base_transform_set_passthrough),
8097         (gst_base_transform_is_passthrough):
8098         Refcounting fixes.
8099
8100         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8101         Cleanups.
8102
8103         * gst/gstevent.c: (gst_event_finalize):
8104         Set SRC to NULL.
8105
8106         * gst/gstutils.c: (gst_element_unlink),
8107         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8108         (gst_pad_proxy_setcaps):
8109         * gst/gstutils.h:
8110         Add _get_parent_element() to get a pads parent as an element.
8111
8112 2005-07-18  Wim Taymans  <wim@fluendo.com>
8113
8114         * check/gst/gstbin.c: (GST_START_TEST):
8115         Remove bogus test.
8116
8117 2005-07-18  Wim Taymans  <wim@fluendo.com>
8118
8119         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8120         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8121         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8122         (gst_base_sink_event), (gst_base_sink_do_sync),
8123         (gst_base_sink_chain), (gst_base_sink_loop),
8124         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8125         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8126         Refcounting fixes.
8127         Fix logic for returning ASYNC when not prerolled.
8128
8129 2005-07-18  Wim Taymans  <wim@fluendo.com>
8130
8131         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8132         Fix nasty refcount bug.
8133
8134 2005-07-16 Philippe Khalaf <burger@speedy.org>
8135
8136         * gst/elements/gstfdsrc.c:
8137         * gst/elements/gstfdsrc.h:
8138         * gst/elements/gstelements.c:
8139         * gst/elements/Makefile.am:
8140         Ported fdsrc to 0.9.
8141
8142 2005-07-16  Wim Taymans  <wim@fluendo.com>
8143
8144         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8145         (gst_base_sink_do_sync):
8146         Fix compile error.
8147
8148 2005-07-16  Wim Taymans  <wim@fluendo.com>
8149
8150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8151         (gst_base_sink_event), (gst_base_sink_get_times),
8152         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8153         * gst/base/gstbasesink.h:
8154         Store and use discont values when syncing buffers as described
8155         in design docs.
8156         
8157         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8158         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8159         (gst_base_src_activate_push):
8160         Push discont event when starting.
8161
8162         * gst/elements/gstidentity.c: (gst_identity_transform):
8163         Small cleanups.
8164
8165         * gst/gstbin.c: (gst_bin_change_state):
8166         Small cleanups in base_time  distribution.
8167
8168         * gst/gstelement.c: (gst_element_set_base_time),
8169         (gst_element_get_base_time), (gst_element_change_state):
8170         * gst/gstelement.h:
8171         Added methods for the base_time of the element.
8172         Some MT fixes.
8173
8174         * gst/gstpipeline.c: (gst_pipeline_send_event),
8175         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8176         (gst_pipeline_get_last_stream_time):
8177         * gst/gstpipeline.h:
8178         MT fixes.
8179         Handle seeking as described in design doc, remove stream_time
8180         hack.
8181         Cleanups clock and stream_time selection code. Added accessors
8182         for the stream_time.
8183         
8184
8185 2005-07-16  Andy Wingo  <wingo@pobox.com>
8186
8187         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8188         (#305291).
8189
8190 2005-07-16  Wim Taymans  <wim@fluendo.com>
8191
8192         * check/gst/gstbin.c: (GST_START_TEST):
8193         Make elements silent as the deep_notify refs the
8194         parent, which might make the test fail.
8195
8196         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8197         Don't hold the lock for too long.
8198
8199 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8200
8201         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8202           Don't unref the caps we passed to gst_caps_make_writable() after
8203           passing them. gst_caps_make_writable() will do that for us.
8204
8205 2005-07-15  Andy Wingo  <wingo@pobox.com>
8206
8207         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8208         (#157311).
8209
8210         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8211         own marshalling function for the handoff signal. Properly type the
8212         buffer as a buffer. Fixes some warnings. Should do a more general
8213         solution.
8214         (gst_identity_class_init): Plug into the right marshaller.
8215
8216 2005-07-15  Wim Taymans  <wim@fluendo.com>
8217
8218         * docs/design/part-TODO.txt:
8219         * docs/design/part-clocks.txt:
8220         * docs/design/part-element-sink.txt:
8221         * docs/design/part-events.txt:
8222         * docs/design/part-gstpipeline.txt:
8223         Updated docs, mostly DISCONT related.
8224
8225 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8226
8227         * docs/pwg/building-pads.xml:
8228           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8229
8230 2005-07-15  Andy Wingo  <wingo@pobox.com>
8231
8232         * tools/gst-typefind.c: Update, add copyright block.
8233
8234         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8235         Normalize and truncate caps before fixation.
8236
8237         * gst/gstcaps.h:
8238         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8239         discards all but the first structure from its argument.
8240
8241 2005-07-15  Wim Taymans  <wim@fluendo.com>
8242
8243         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8244         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8245         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8246         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8247         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8248         (gst_base_transform_chain), (gst_base_transform_change_state),
8249         (gst_base_transform_set_passthrough),
8250         (gst_base_transform_is_passthrough):
8251         * gst/base/gstbasetransform.h:
8252         Make passthrough work using the bufferpools.
8253         Changed API a bit, subclasses have to write into a buffer
8254         provided by the base class.
8255         More debug info in nego functions.
8256         
8257         * gst/elements/gstidentity.c: (gst_identity_init),
8258         (gst_identity_transform):
8259         Port to new base class.
8260
8261 2005-07-15  Wim Taymans  <wim@fluendo.com>
8262
8263         * gst/gstmessage.c: (gst_message_new_state_changed):
8264         * tools/gst-launch.c: (event_loop), (main):
8265         Totally dump messages in -launch with the -m option.
8266         Fix message name for State messages,
8267
8268 2005-07-14  Wim Taymans  <wim@fluendo.com>
8269
8270         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8271         Post error messages on errors.
8272
8273 2005-07-14  Wim Taymans  <wim@fluendo.com>
8274
8275         * gst/gstcaps.c: (gst_caps_do_simplify):
8276         Remove debug info.
8277
8278         * gst/gsterror.h:
8279         Define error for stream stopped.
8280
8281         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8282         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8283         Do proper return values.
8284
8285         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8286         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8287         (gst_pad_get_range):
8288         Better return values.
8289
8290         * gst/gstpad.h:
8291         Reorganise return values, add macro to check for fatal errors.
8292
8293         * gst/gstqueue.c: (gst_queue_chain):
8294         Return proper GstFlowReturn values,
8295
8296 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8297
8298         * docs/gst/gstreamer-sections.txt:
8299         * docs/gst/gstreamer.types:
8300         * docs/gst/tmpl/gst.sgml:
8301         * docs/gst/tmpl/gstbasesink.sgml:
8302         * docs/gst/tmpl/gstbasesrc.sgml:
8303         * docs/gst/tmpl/gstbasetransform.sgml:
8304         * docs/gst/tmpl/gstbin.sgml:
8305         * docs/gst/tmpl/gstbuffer.sgml:
8306         * docs/gst/tmpl/gstcaps.sgml:
8307         * docs/gst/tmpl/gstclock.sgml:
8308         * docs/gst/tmpl/gstcompat.sgml:
8309         * docs/gst/tmpl/gstconfig.sgml:
8310         * docs/gst/tmpl/gstelement.sgml:
8311         * docs/gst/tmpl/gstelementdetails.sgml:
8312         * docs/gst/tmpl/gstelementfactory.sgml:
8313         * docs/gst/tmpl/gstenumtypes.sgml:
8314         * docs/gst/tmpl/gsterror.sgml:
8315         * docs/gst/tmpl/gstevent.sgml:
8316         * docs/gst/tmpl/gstfakesink.sgml:
8317         * docs/gst/tmpl/gstfakesrc.sgml:
8318         * docs/gst/tmpl/gstfilesink.sgml:
8319         * docs/gst/tmpl/gstfilesrc.sgml:
8320         * docs/gst/tmpl/gstfilter.sgml:
8321         * docs/gst/tmpl/gstformat.sgml:
8322         * docs/gst/tmpl/gstghostpad.sgml:
8323         * docs/gst/tmpl/gstimplementsinterface.sgml:
8324         * docs/gst/tmpl/gstindex.sgml:
8325         * docs/gst/tmpl/gstindexfactory.sgml:
8326         * docs/gst/tmpl/gstinfo.sgml:
8327         * docs/gst/tmpl/gstiterator.sgml:
8328         * docs/gst/tmpl/gstmacros.sgml:
8329         * docs/gst/tmpl/gstmemchunk.sgml:
8330         * docs/gst/tmpl/gstminiobject.sgml:
8331         * docs/gst/tmpl/gstobject.sgml:
8332         * docs/gst/tmpl/gstpad.sgml:
8333         * docs/gst/tmpl/gstpadtemplate.sgml:
8334         * docs/gst/tmpl/gstparse.sgml:
8335         * docs/gst/tmpl/gstpipeline.sgml:
8336         * docs/gst/tmpl/gstplugin.sgml:
8337         * docs/gst/tmpl/gstpluginfeature.sgml:
8338         * docs/gst/tmpl/gstquery.sgml:
8339         * docs/gst/tmpl/gstqueue.sgml:
8340         * docs/gst/tmpl/gstregistry.sgml:
8341         * docs/gst/tmpl/gstregistrypool.sgml:
8342         * docs/gst/tmpl/gstscheduler.sgml:
8343         * docs/gst/tmpl/gstschedulerfactory.sgml:
8344         * docs/gst/tmpl/gststructure.sgml:
8345         * docs/gst/tmpl/gstsystemclock.sgml:
8346         * docs/gst/tmpl/gsttaglist.sgml:
8347         * docs/gst/tmpl/gsttagsetter.sgml:
8348         * docs/gst/tmpl/gsttrace.sgml:
8349         * docs/gst/tmpl/gsttrashstack.sgml:
8350         * docs/gst/tmpl/gsttypefind.sgml:
8351         * docs/gst/tmpl/gsttypefindfactory.sgml:
8352         * docs/gst/tmpl/gsttypes.sgml:
8353         * docs/gst/tmpl/gsturihandler.sgml:
8354         * docs/gst/tmpl/gsturitype.sgml:
8355         * docs/gst/tmpl/gstutils.sgml:
8356         * docs/gst/tmpl/gstvalue.sgml:
8357         * docs/gst/tmpl/gstversion.sgml:
8358         * docs/gst/tmpl/gstxml.sgml:
8359         * docs/libs/tmpl/gstcontrol.sgml:
8360         * docs/libs/tmpl/gstdataprotocol.sgml:
8361         * docs/libs/tmpl/gstdparam.sgml:
8362         * docs/libs/tmpl/gstdplinint.sgml:
8363         * docs/libs/tmpl/gstdpman.sgml:
8364         * docs/libs/tmpl/gstdpsmooth.sgml:
8365         * docs/libs/tmpl/gstgetbits.sgml:
8366         * docs/libs/tmpl/gstunitconvert.sgml:
8367         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8368         (gst_push_src_base_init), (gst_push_src_class_init),
8369         (gst_push_src_init), (gst_push_src_create):
8370         * gst/base/gstpushsrc.h:
8371         * gst/elements/gstelements.c:
8372         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8373         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8374         (gst_fake_sink_init), (gst_fake_sink_set_property),
8375         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8376         (gst_fake_sink_event), (gst_fake_sink_preroll),
8377         (gst_fake_sink_render), (gst_fake_sink_change_state):
8378         * gst/elements/gstfakesink.h:
8379         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8380         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8381         (gst_fake_src_base_init), (gst_fake_src_class_init),
8382         (gst_fake_src_init), (gst_fake_src_event_handler),
8383         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8384         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8385         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8386         (gst_fake_src_create_buffer), (gst_fake_src_create),
8387         (gst_fake_src_start), (gst_fake_src_stop):
8388         * gst/elements/gstfakesrc.h:
8389         * gst/elements/gstfilesink.c: (_do_init),
8390         (gst_file_sink_base_init), (gst_file_sink_class_init),
8391         (gst_file_sink_init), (gst_file_sink_dispose),
8392         (gst_file_sink_set_location), (gst_file_sink_set_property),
8393         (gst_file_sink_get_property), (gst_file_sink_open_file),
8394         (gst_file_sink_close_file), (gst_file_sink_query),
8395         (gst_file_sink_event), (gst_file_sink_render),
8396         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8397         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8398         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8399         * gst/elements/gstfilesink.h:
8400         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8401         (gst_file_src_class_init), (gst_file_src_init),
8402         (gst_file_src_finalize), (gst_file_src_set_location),
8403         (gst_file_src_set_property), (gst_file_src_get_property),
8404         (gst_file_src_map_region), (gst_file_src_map_small_region),
8405         (gst_file_src_create_mmap), (gst_file_src_create_read),
8406         (gst_file_src_create), (gst_file_src_is_seekable),
8407         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8408         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8409         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8410         (gst_file_src_uri_handler_init):
8411         * gst/elements/gstfilesrc.h:
8412           more autistic cleanliness in functions/names/defines
8413
8414 2005-07-13  Andy Wingo  <wingo@pobox.com>
8415
8416         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8417         source couldn't negotiate.
8418
8419         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8420         connections again.
8421
8422         * gst/gstutils.h:
8423         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8424         function. I am channeling Hades. Put your boots on suckers!!!
8425
8426 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8427
8428         * testsuite/caps/Makefile.am:
8429         * testsuite/caps/value_compare.c:
8430         * testsuite/caps/value_intersect.c:
8431         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8432           move two testsuite apps over to the check dir
8433
8434 2005-07-12  Wim Taymans  <wim@fluendo.com>
8435
8436         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8437         Added more debug info in the negotiate process.
8438
8439         * gst/gstmessage.h:
8440         Prepare for segment playback.
8441
8442         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8443         Better debugging.
8444
8445         * gst/gstutils.c:
8446         Some more docs.
8447
8448         * tools/gst-launch.c: (main):
8449         NULL pipeline on errors.
8450
8451 2005-07-12  Andy Wingo  <wingo@pobox.com>
8452
8453         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8454         not it comes from a malloc region. Make sure our copy gets freed.
8455
8456 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8457
8458         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8459         * check/gst/gstmessage.c: (GST_START_TEST):
8460         * check/gst/gststructure.c: (GST_START_TEST),
8461         (gst_structure_suite), (main):
8462           more testing
8463         * gst/gstelement.c: (gst_element_message_full):
8464           clean up GError and debug string now that they get copied
8465         * gst/gstmessage.c: (gst_message_new_error),
8466         (gst_message_new_warning), (gst_message_parse_error),
8467         (gst_message_parse_warning):
8468           use GST_TYPE_G_ERROR for structure_new, and take copies of
8469           arguments, so that we don't mess up refcounting
8470
8471 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8472
8473         * check/Makefile.am:
8474           add per-test valgrind targets
8475         * check/gst-libs/gdp.c: (GST_START_TEST),
8476         (gst_data_protocol_suite), (main):
8477           clean up
8478
8479 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8480
8481         * check/Makefile.am:
8482           instate more valgrindable tests
8483         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8484         (GST_START_TEST), (fakesrc_suite):
8485         * check/gst/gstpad.c: (GST_START_TEST):
8486         * check/gst/gststructure.c: (GST_START_TEST):
8487           fix test leaks
8488         * docs/gst/tmpl/gstminiobject.sgml:
8489         * gst/gstpad.c: (gst_pad_finalize):
8490           fix the static mutex leak
8491
8492 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8493
8494         * check/Makefile.am:
8495           add two more tests for valgrinding
8496         * check/gst/gstvalue.c: (GST_START_TEST):
8497           test refcount of deserialized buffer, found a leak
8498         * docs/gst/gstreamer-docs.sgml:
8499         * docs/gst/gstreamer-sections.txt:
8500         * docs/gst/gstreamer.types:
8501         * docs/gst/tmpl/gstminiobject.sgml:
8502           add miniobject to docs
8503         * gst/gstminiobject.c:
8504           add some docs
8505         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8506         (gst_string_unwrap):
8507           fix a hard-to-find invalid write for one of the tests
8508           fix a leak for deserialized buffers
8509
8510 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8511
8512         * docs/pwg/advanced-events.xml:
8513         * docs/pwg/advanced-request.xml:
8514         * docs/pwg/advanced-scheduling.xml:
8515         * docs/pwg/appendix-porting.xml:
8516         * docs/pwg/building-boiler.xml:
8517         * docs/pwg/intro-preface.xml:
8518         * docs/pwg/other-ntoone.xml:
8519           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8520           of example code and explanation for pad activation, loop() and
8521           getrange() functions and a bit more. Remove old comments pointing
8522           to loop-functions.
8523         * examples/pwg/Makefile.am:
8524           Add loop/getrange examples.
8525
8526 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8527
8528         * configure.ac:
8529           check for valgrind binary + some fixes
8530         * check/gst.supp:
8531           valgrind suppressions for the tests
8532         * check/Makefile.am:
8533           add a valgrind: target that valgrinds the unit tests
8534         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8535         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8536         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8537         * check/gst/gstghostpad.c:
8538           added some cleanup
8539         * check/gst/gstdata.c:
8540           removed
8541         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8542         (thread_unref), (gst_mini_object_suite), (main):
8543           added
8544         * gst/gst.c: (gst_deinit):
8545         * gst/gst.h:
8546           add a method to clean up.
8547         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8548         (gst_system_clock_obtain):
8549           allow for disposing the system clock.
8550         * tools/gst-launch.c: (main):
8551           deinit
8552
8553 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         * docs/gst/tmpl/gstbasesrc.sgml:
8556         * docs/gst/tmpl/gstfakesrc.sgml:
8557         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8558         (gst_base_src_init), (gst_base_src_set_property),
8559         (gst_base_src_get_property), (gst_base_src_get_range),
8560         (gst_base_src_start):
8561         * gst/base/gstbasesrc.h:
8562           add num-buffers property
8563         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8564         (gst_fakesrc_init), (gst_fakesrc_set_property),
8565         (gst_fakesrc_get_property), (gst_fakesrc_create),
8566         (gst_fakesrc_start):
8567           remove num-buffers property
8568
8569 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8570
8571         * docs/gst/gstreamer-sections.txt:
8572         * docs/gst/tmpl/gstbasesink.sgml:
8573         * docs/gst/tmpl/gstbasesrc.sgml:
8574         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8575         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8576         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8577         (gst_base_sink_set_property), (gst_base_sink_get_property),
8578         (gst_base_sink_handle_object), (gst_base_sink_event),
8579         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8580         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8581         (gst_base_sink_loop), (gst_base_sink_deactivate),
8582         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8583         (gst_base_sink_change_state):
8584         * gst/base/gstbasesink.h:
8585         * gst/base/gstbasesrc.h:
8586         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8587         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8588         (gst_filesink_init):
8589           more macro splitting
8590
8591 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * gst/gstelement.c: (gst_element_get_bus):
8594           add debug
8595         * tools/gst-launch.c: (check_intr), (event_loop):
8596           fix bus leaks
8597
8598 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8599
8600         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8601           fix a caps leak
8602
8603 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8604
8605         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8606         (gst_base_src_finalize):
8607           add finalize method and clean up properly
8608         * gst/gstpipeline.c: (gst_pipeline_dispose):
8609           add debug
8610
8611 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8612
8613         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8614         (gst_bin_suite):
8615           add more things to check
8616         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8617         * gst/gstelement.c:
8618           more debug
8619
8620 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8621
8622         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8623         (GST_START_TEST), (fakesrc_suite):
8624         * check/gst-libs/gdp.c: (GST_START_TEST):
8625         * check/gst/gst.c: (GST_START_TEST):
8626         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8627         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8628         * check/gst/gstbus.c: (GST_START_TEST):
8629         * check/gst/gstcaps.c: (GST_START_TEST):
8630         * check/gst/gstdata.c: (GST_START_TEST):
8631         * check/gst/gstelement.c: (GST_START_TEST):
8632         * check/gst/gstghostpad.c: (GST_START_TEST):
8633         * check/gst/gstiterator.c: (GST_START_TEST):
8634         * check/gst/gstmessage.c: (GST_START_TEST):
8635         * check/gst/gstobject.c: (GST_START_TEST):
8636         * check/gst/gstpad.c: (GST_START_TEST):
8637         * check/gst/gststructure.c: (GST_START_TEST):
8638         * check/gst/gstsystemclock.c: (GST_START_TEST),
8639         (gst_systemclock_suite):
8640         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8641         * check/gst/gstvalue.c: (GST_START_TEST):
8642         * check/pipelines/cleanup.c: (GST_START_TEST):
8643         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8644         * check/states/sinks.c: (GST_START_TEST):
8645         * check/gstcheck.c: (gst_check_init):
8646         * check/gstcheck.h:
8647           add debugging category
8648           use GST_START_TEST now, so we add a debug line
8649
8650 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8651
8652         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8653           add test for state change message on a bin
8654         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8655           add another test
8656         * gst/gstbin.c: (gst_bin_init):
8657         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8658         * gst/gstelement.c: (gst_element_post_message),
8659         (gst_element_set_state):
8660         * gst/gstelementfactory.c: (gst_element_factory_create):
8661         * gst/gstmessage.c: (gst_message_new):
8662         * gst/gstscheduler.c:
8663           various debugging additions and cleanups
8664
8665 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8666
8667         * check/Makefile.am:
8668         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8669         (main):
8670           adding tests for elements
8671         * gst/gstelement.c: (gst_element_dispose):
8672
8673 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8674
8675         * gst/registries/gstlibxmlregistry.c: (load_feature):
8676           plug more leaks.  A simple gst_init() now is leakfree, yay.
8677
8678 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8679
8680         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8681         (gst_xml_registry_load):
8682           plug another memleak
8683
8684 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8685
8686         * configure.ac:
8687           use GST_SET_ERROR_CFLAGS
8688         * docs/faq/cvs.xml:
8689           change to ERROR_CFLAGS
8690
8691 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8692
8693         * configure.ac:
8694           make GST_ERROR_CFLAGS overridable and re-enable Werror
8695         * docs/faq/cvs.xml:
8696           add a note about error CFLAGS
8697         * docs/gst/tmpl/gstfakesrc.sgml:
8698         * gst/elements/gstfakesrc.c:
8699           comment out some unused code
8700         * gst/gst.c: (split_and_iterate):
8701         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8702         (load_feature):
8703           plug some memleaks
8704
8705 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8706
8707         * common/Makefile.am:
8708         * common/gtk-doc.mak:
8709         * docs/gst/Makefile.am:
8710           factor out gtk-doc.mak
8711
8712 2005-07-07  Wim Taymans  <wim@fluendo.com>
8713
8714         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8715         (gst_thread_scheduler_dispose):
8716         Unlock the STREAM_LOCK completely.
8717
8718 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8719
8720         * check/Makefile.am:
8721         * check/elements/.cvsignore:
8722         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8723         (START_TEST), (fakesrc_suite), (main):
8724         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8725         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8726         (gst_fakesrc_create), (gst_fakesrc_start):
8727         * gst/elements/gstfakesrc.h:
8728           adding a first element test
8729
8730 2005-07-07  Andy Wingo  <wingo@pobox.com>
8731
8732         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8733         debug message.
8734
8735 2005-07-07  Wim Taymans  <wim@fluendo.com>
8736
8737         * gst/gstquery.c:
8738         * gst/gstquery.h:
8739         Remove old types
8740
8741 2005-07-07  Wim Taymans  <wim@fluendo.com>
8742
8743         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8744         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8745         Allow subclasses to implement their own negotiation.
8746
8747 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8748
8749         * docs/design/part-gstbin.txt:
8750         * docs/design/part-gstpipeline.txt:
8751           Update design notes to reflect the movement of
8752           responsibility for bus handling from GstPipeline to
8753           GstBin
8754
8755 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8756
8757         * configure.ac:
8758           Remove unnecessary queue2/3/4 examples.
8759
8760 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8761
8762         * examples/Makefile.am:
8763         * examples/helloworld/helloworld.c: (event_loop), (main):
8764         * examples/queue/queue.c: (event_loop), (main):
8765         * examples/queue2/queue2.c: (main):
8766           Update a couple of the examples to work again.
8767
8768         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8769         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8770          Spelling corrections and extra debug.
8771         
8772         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8773         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8774         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8775         * gst/gstbin.h:
8776         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8777         (gst_pipeline_change_state):
8778         * gst/gstpipeline.h:
8779           Move the bus handler for children to the GstBin, and create a
8780           separate bus for receiving messages from children to the one the
8781           bus sends 'upwards' on.
8782
8783 2005-07-06  Wim Taymans  <wim@fluendo.com>
8784
8785         * gst/base/README:
8786         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8787         (gst_base_sink_handle_object), (gst_base_sink_loop),
8788         (gst_base_sink_change_state):
8789         * gst/base/gstbasesink.h:
8790         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8791         (gst_base_src_init), (gst_base_src_setcaps),
8792         (gst_base_src_getcaps), (gst_base_src_loop),
8793         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8794         (gst_base_src_start), (gst_base_src_change_state):
8795         * gst/base/gstbasesrc.h:
8796         Make basesrc negotiate.
8797         Handle the case where preroll fails in basesink.
8798         Update README.
8799
8800 2005-07-06  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8803         Implement the fixate function.
8804         Clean up acceptcaps.
8805
8806 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8807
8808         * docs/pwg/building-filterfactory.xml:
8809         * docs/pwg/pwg.xml:
8810           Remove never-written filter-factory chapter; I'll add the various
8811           base classes to part 4 ("other element types") later on.
8812
8813 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8814
8815         * docs/pwg/advanced-negotiation.xml:
8816         * docs/pwg/building-boiler.xml:
8817         * docs/pwg/building-pads.xml:
8818         * docs/pwg/pwg.xml:
8819         * examples/pwg/Makefile.am:
8820           Add a chapter on caps negotiation, simplify the original code
8821           samples a bit w.r.t. caps negotiation, add link to the advanced
8822           section. Add a bunch of examples showing different use cases of
8823           different types of caps negotiation. Upstream renegotiation isn't
8824           fully documented yet since nobody knows how that works.
8825
8826 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8827
8828         * check/gst/gstpad.c:
8829         * check/gstcheck.c:
8830         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8831           if pad has no parent, return NULL as list of internal links
8832
8833 2005-07-05  Andy Wingo  <wingo@pobox.com>
8834
8835         * gst/elements/gstfilesrc.c:
8836         * gst/elements/gstfakesrc.c: 
8837         * gst/base/gstpushsrc.c:
8838         * gst/base/gstbasesrc.h: 
8839         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8840         
8841 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8842
8843         * Makefile.am:
8844           better report generation target (lcov needs a patch)
8845
8846 2005-07-05  Andy Wingo  <wingo@pobox.com>
8847
8848         * gst/elements, testsuite: Null if we got it...
8849
8850 2005-07-05  Wim Taymans  <wim@fluendo.com>
8851
8852         * configure.ac:
8853         * libs/gst/dataprotocol/Makefile.am:
8854         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8855         * libs/gst/dataprotocol/dataprotocol.h:
8856         * pkgconfig/Makefile.am:
8857         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8858         * pkgconfig/gstreamer-dataprotocol.pc.in:
8859         Ported dataprotol to 0.9. 
8860         Added pkgconfig files.
8861
8862 2005-07-05  Andy Wingo  <wingo@pobox.com>
8863
8864         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8865         Default to returning TRUE for the case when tranform_caps returns
8866         a fixed caps, like for identity or volume.
8867
8868         * check/gst/gstbus.c (pound_bus_with_messages): 
8869         * check/gst/gstmessage.c (START_TEST): 
8870         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8871         message API change.
8872
8873         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8874         logic weaks here: always run transform_caps, trying passthrough
8875         operation only if the original caps intersects with the transform.
8876
8877         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8878         source and sink caps.
8879
8880         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8881         Intersect the peer caps with the pad template before going into
8882         transform_caps.
8883         (gst_base_transform_transform_caps): More debugging.
8884
8885         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8886         src argument.
8887
8888 2005-07-04  Edward Hervey  <edward@fluendo.com>
8889
8890         * gst/gstutils.c:
8891         * gst/gstutils.h:
8892         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8893         in bindings.
8894
8895 2005-07-04  Andy Wingo  <wingo@pobox.com>
8896
8897         * check/gst/gstpad.c: Only set explicit caps on pads.
8898
8899 2005-07-01  Andy Wingo  <wingo@pobox.com>
8900
8901         * tests/network-clock.scm: Commentary update.
8902
8903         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8904         Didn't really make sense, not implementable with basetransform,
8905         etc.
8906         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8907         attempt at implementing the sync property, needs an unlock method.
8908
8909         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8910         New func, by default returns the same caps (the identity
8911         transformation).
8912         (gst_base_transform_getcaps): Uses transform_caps to return
8913         something sensible.
8914         (gst_base_transform_setcaps): Complicated logic to get caps on
8915         both pads, even if they are different, and to call set_caps once
8916         for every time both pads get their caps set.
8917         (gst_base_transform_handle_buffer): Give the ref to the transform
8918         function. Allows in-place modification of the buffer.
8919
8920         * gst/base/gstbasetransform.h (transform_caps): New class method.
8921         Given caps on one side, what can I do on the other.
8922         (set_caps): Take two caps, one for each side of the element.
8923
8924         * gst/gstpad.h:
8925         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8926         caps in place. This is safe because we can check the mutability of
8927         the caps, and a good idea because fixate functions are just called
8928         as a matter of last resort. (Not actually implemented.)
8929         (gst_pad_set_caps): If the caps we're setting is actually the same
8930         as the existing pad caps, just update the pointer without calling
8931         setcaps. Assert that caps is either NULL or fixed, as per the
8932         docs.
8933
8934         * gst/gstghostpad.c: Update for fixate changes.
8935
8936 2005-07-02  Andy Wingo  <wingo@pobox.com>
8937
8938         * gst/gstcaps.c:
8939         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8940         two refcounts makes it immutable, which is enough. Doc more.
8941
8942 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8943
8944         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8945           Put the mini_object into GValue as a mini_object,
8946           not a gpointer, since that's how we declared
8947           the signal.
8948
8949 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8950
8951         * examples/pwg/Makefile.am:
8952           Fix buildbot again.
8953
8954 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8955
8956         * docs/pwg/building-testapp.xml:
8957           Add extra check.
8958         * examples/pwg/Makefile.am:
8959           Fix buildbot.
8960
8961 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8962
8963         * configure.ac:
8964         * examples/Makefile.am:
8965         * examples/pwg/Makefile.am:
8966         * examples/pwg/extract.pl:
8967           Enable building the PWG examples.
8968         * docs/pwg/advanced-interfaces.xml:
8969           Add URI interface stub.
8970         * docs/pwg/advanced-types.xml:
8971         * docs/pwg/other-autoplugger.xml:
8972         * docs/pwg/appendix-porting.xml:
8973         * docs/pwg/pwg.xml:
8974           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8975         * docs/pwg/building-boiler.xml:
8976         * docs/pwg/building-chainfn.xml:
8977         * docs/pwg/building-pads.xml:
8978         * docs/pwg/building-props.xml:
8979         * docs/pwg/building-state.xml:
8980         * docs/pwg/building-testapp.xml:
8981           Update the building-*.xml parts for 0.9 changes. All examples
8982           code blocks compile in examples/pwg/*.
8983
8984 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8985
8986         * docs/manual/advanced-autoplugging.xml:
8987         * docs/manual/appendix-checklist.xml:
8988         * docs/manual/appendix-integration.xml:
8989         * docs/manual/highlevel-components.xml:
8990           Fix playbin/decodebin examples, update docs a bit, mention bus
8991           instead of signals in various places, mention kmplayer and
8992           kaffeine since they have a working GStreamer backend in the KDE
8993           section.
8994
8995 2005-06-30  Wim Taymans  <wim@fluendo.com>
8996
8997         * CHANGES-0.9:
8998         * docs/design/draft-ghostpads.txt:
8999         * docs/design/draft-push-pull.txt:
9000         * docs/design/draft-query.txt:
9001         * docs/design/part-TODO.txt:
9002         * docs/design/part-query.txt:
9003         Added CHANGES-0.9 doc, updated status of other docs.
9004         
9005         * gst/gstquery.h:
9006         Remove "hmm" macro
9007
9008 2005-06-30  Wim Taymans  <wim@fluendo.com>
9009
9010         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9011         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9012         (gst_base_sink_change_state):
9013         * gst/base/gstbasesink.h:
9014         Some tweaks, only EOS and a buffer complete a preroll.
9015
9016 2005-06-30  Andy Wingo  <wingo@pobox.com>
9017
9018         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9019         activate_push down to the internal pad as well.
9020
9021 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9022
9023         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9024
9025         * gst/gsttaginterface.c:
9026           Some documentation fixes (#307394 and #307397).
9027
9028 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9029
9030         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9031
9032         * gst/gstvalue.c: (gst_value_intersect_list):
9033           Fix memleak (#309125).
9034
9035 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9036
9037         * docs/manual/advanced-dataaccess.xml:
9038           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9039         * docs/manual/basics-pads.xml:
9040           Add reference for filtered caps to above chapter.
9041
9042 2005-06-30  Wim Taymans  <wim@fluendo.com>
9043
9044         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9045         (gst_bin_change_state):
9046         Probes are gone.
9047         Lame attempt at making the state change function a bit
9048         more readable.
9049
9050 2005-06-30  Wim Taymans  <wim@fluendo.com>
9051
9052         * docs/design/part-clocks.txt:
9053         * docs/design/part-element-sink.txt:
9054         * docs/design/part-events.txt:
9055         * docs/design/part-preroll.txt:
9056         * docs/design/part-states.txt:
9057         Some more tweeks and additions to the docs.
9058
9059 2005-06-30  Wim Taymans  <wim@fluendo.com>
9060
9061         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9062         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9063         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9064         (gst_pad_check_pull_range), (gst_pad_get_range),
9065         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9066         * gst/gstpad.h:
9067         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9068         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9069         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9070         (gst_pad_remove_buffer_probe):
9071         Removed atomic operations, use existing LOCK.
9072         Move exception handling out of main code path.
9073
9074 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9075
9076         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9077         (silly_return_true_function), (gst_pad_class_init),
9078         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9079         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9080         (gst_pad_send_event):
9081           Fix accumulator, add default value by using _emitv() instead
9082           of _emit() for signal emission.
9083
9084 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9085
9086         * docs/manual/advanced-dataaccess.xml:
9087         * examples/manual/Makefile.am:
9088           Add probe example.
9089         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9090           Make work (??).
9091
9092 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9093
9094         * gst/elements/gstfilesink.c: (gst_filesink_render):
9095           Simplify code so that we don't have to handle short
9096           writes and return GST_FLOW_ERROR if an error occured.
9097
9098 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9099
9100         * docs/gst/gstreamer-docs.sgml:
9101           Remove probes more.
9102
9103 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9104
9105         * docs/gst/gstreamer-sections.txt:
9106         * docs/gst/tmpl/gstpad.sgml:
9107         * docs/gst/tmpl/gstprobe.sgml:
9108         * gst/Makefile.am:
9109         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9110         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9111         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9112         (gst_pad_push_event), (gst_pad_send_event):
9113         * gst/gstpad.h:
9114         * gst/gstutils.c: (gst_pad_add_data_probe),
9115         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9116         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9117         (gst_pad_remove_buffer_probe):
9118         * gst/gstutils.h:
9119           Remove old probes, add new g-signal-based probes and some utility
9120           functions.
9121
9122 2005-06-29  Edward Hervey  <edward@fluendo.com>
9123
9124         * gst/gstelementfactory.c:
9125         * gst/gstutils.h:
9126         * gst/gstutils.c:
9127         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9128         the definition to the header file.
9129
9130 2005-06-29  Andy Wingo  <wingo@pobox.com>
9131
9132         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9133         plugins from the source directory.
9134
9135 2005-06-29  Wim Taymans  <wim@fluendo.com>
9136
9137         * docs/gst/tmpl/gstbuffer.sgml:
9138         * docs/gst/tmpl/gstclock.sgml:
9139         Some fixings for blantently wrong text.
9140
9141 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9142
9143         * check/Makefile.am:
9144         * gst/gst.c: (add_path_func), (init_pre):
9145         * gst/gstregistry.c: (gst_registry_add_path):
9146           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9147           only scan the GST_PLUGIN_PATH locations, and not add
9148           system locations
9149
9150 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9151
9152         * docs/gst/gstreamer-sections.txt:
9153         * docs/gst/tmpl/gstbasesrc.sgml:
9154         * gst/gstelement.c:
9155         * gst/gstelement.h:
9156         * gst/gstevent.c:
9157         * gst/gstutils.c:
9158           doc fixes
9159
9160 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9161
9162         * docs/manual/advanced-autoplugging.xml:
9163           Fix autoplugging example.
9164
9165 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9166
9167         * docs/manual/advanced-autoplugging.xml:
9168         * docs/manual/mime-world.fig:
9169           Try to get autoplugging working, fix type detection. Fix text
9170           in hello-world image.
9171
9172 2005-06-29  Wim Taymans  <wim@fluendo.com>
9173
9174         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9175         (gst_base_sink_change_state):
9176         Small debug line.
9177
9178         * gst/gstclock.h:
9179         map SIGNAL and BROADCAST to the right function.
9180
9181         * gst/gstobject.h:
9182         Remove redundant braces.
9183
9184         * gst/gstpad.c: (gst_pad_set_caps):
9185         Don't call setcaps function when reseting caps to NULL.
9186
9187         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9188         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9189         (gst_system_clock_id_unschedule):
9190         Use BROADCAST as this is what we do.
9191
9192 2005-06-29  Wim Taymans  <wim@fluendo.com>
9193
9194         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9195         We are actually prerolling before commiting the state
9196         change. 
9197
9198 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9199
9200         * docs/manual/advanced-clocks.xml:
9201         * docs/manual/advanced-interfaces.xml:
9202         * docs/manual/advanced-metadata.xml:
9203         * docs/manual/advanced-position.xml:
9204         * docs/manual/advanced-schedulers.xml:
9205         * docs/manual/advanced-threads.xml:
9206         * docs/manual/appendix-porting.xml:
9207         * docs/manual/basics-bins.xml:
9208         * docs/manual/basics-bus.xml:
9209         * docs/manual/basics-elements.xml:
9210         * docs/manual/basics-helloworld.xml:
9211         * docs/manual/basics-pads.xml:
9212         * docs/manual/highlevel-components.xml:
9213         * docs/manual/manual.xml:
9214         * docs/manual/thread.fig:
9215           Update (until threads/scheduling) Application Development Manual;
9216           remove GstThread, add GstBus, add simple porting checklist, add
9217           documentation for tag writing, clocks, make all examples until this
9218           part compile and run.
9219         * examples/manual/Makefile.am:
9220           Update from changes to Application Development Manual; add bus
9221           example, remove thread example.
9222
9223 2005-06-28  Wim Taymans  <wim@fluendo.com>
9224
9225         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9226         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9227         (gst_bus_source_dispatch):
9228         Add debugging messages.
9229         Make internal methods static.
9230         Handle the case where the bus is flushed in the handler.
9231         
9232         * gst/gstelement.c: (gst_element_get_bus):
9233         Fix refcount in _get_bus();
9234
9235         * gst/gstpipeline.c: (gst_pipeline_change_state),
9236         (gst_pipeline_get_clock_func):
9237         Clock refcounting fixes.
9238         Handle the case where preroll timed out more gracefully.
9239         
9240         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9241         Clean up the internal thread in dispose. This is needed
9242         for subclasses that actually get disposed.
9243         
9244         * gst/schedulers/threadscheduler.c:
9245         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9246         (gst_thread_scheduler_dispose):
9247         Free thread pool in dispose.
9248
9249 2005-06-28  Andy Wingo  <wingo@pobox.com>
9250
9251         * tests/network-clock-utils.scm (debug, print-event): New utils.
9252
9253         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9254         (*packet-loss*): Unified loss probability.
9255         (network-time): Report out-of-band events.
9256
9257         * tests/plot-data: Add support for out-of-band events. Hack it
9258         into this script instead of passing it down the pipe; should fix
9259         this later.
9260
9261 2005-06-28  Wim Taymans  <wim@fluendo.com>
9262
9263         * docs/gst/gstreamer.types:
9264         * docs/gst/tmpl/gstbasesrc.sgml:
9265         * docs/gst/tmpl/gstpad.sgml:
9266         Docs fixes.
9267
9268 2005-06-28  Wim Taymans  <wim@fluendo.com>
9269
9270         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9271         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9272         (gst_proxy_pad_do_fixatecaps):
9273         Correctly proxy the check_pull_range function.
9274
9275 2005-06-28  Andy Wingo  <wingo@pobox.com>
9276
9277         * tests/network-clock.scm: Removed need for slib.
9278         
9279 2005-06-28  Wim Taymans  <wim@fluendo.com>
9280
9281         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9282         (gst_basesink_preroll_queue_flush):
9283         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9284         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9285         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9286         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9287         (gst_proxy_pad_set_property):
9288         * gst/gstpad.c:
9289         * gst/gstpad.h:
9290         * gst/gstqueue.c: (gst_queue_init):
9291         The deprecated pad loop function is removed now.
9292
9293 2005-06-28  Andy Wingo  <wingo@pobox.com>
9294
9295         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9296         New parameters, simulate network packet loss.
9297
9298         * tests/network-clock-utils.scm: Initialize the RNG.
9299
9300 2005-06-28  Wim Taymans  <wim@fluendo.com>
9301
9302         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9303         (gst_basesink_event), (gst_basesink_deactivate):
9304         Flushing the preroll queue always needs to unlock the waiters.
9305
9306 2005-06-28  Edward Hervey  <edward@fluendo.com>
9307
9308         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9309         Wheen a seek was successful on a pipeline, set the stream_time to the
9310         seek offset in order to have a synchronized stream_time.
9311
9312 2005-06-28  Wim Taymans  <wim@fluendo.com>
9313
9314         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9315         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9316         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9317         (gst_proxy_pad_do_fixatecaps):
9318         Call wrapper function instead of just calling the function
9319         pointers. This takes care of any locking and whatmore.
9320
9321 2005-06-28  Wim Taymans  <wim@fluendo.com>
9322
9323         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9324         (gst_pad_pull_range):
9325         * gst/gstpad.h:
9326         CONNECTED -> LINKED.
9327
9328 2005-06-28  Andy Wingo  <wingo@pobox.com>
9329
9330         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9331         source-munging commit!!!
9332
9333         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9334         (gst_object_sink): Take gpointer arguments, not GstObject --
9335         avoids casts. Like GLib.
9336
9337         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9338         activate.
9339
9340 2005-06-27  Andy Wingo  <wingo@pobox.com>
9341
9342         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9343         remaining buffer.
9344
9345         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9346         returns a sorted copy of the trace list.
9347         (gst_alloc_trace_print_live): New API, only prints traces with
9348         live objects. Sort the list.
9349         (gst_alloc_trace_print_all): Sort the list.
9350         (gst_alloc_trace_print): Align columns.
9351
9352         * gst/elements/gstttypefindelement.c:
9353         * gst/elements/gsttee.c:
9354         * gst/base/gstbasesrc.c:
9355         * gst/base/gstbasesink.c:
9356         * gst/base/gstbasetransform.c:
9357         * gst/gstqueue.c: Adapt for pad activation changes.
9358
9359         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9360         sched.
9361         (gst_pipeline_dispose): Drop ref on sched.
9362
9363         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9364         (gst_pad_activate_default): Push mode by default.
9365         (pre_activate_switch, post_activate_switch): New stubs, things to
9366         do before and after switching activation modes on pads.
9367         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9368         the pad's activate function to choose which mode to activate.
9369         Shortcut on deactivation and call the right function directly.
9370         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9371         mode.
9372         (gst_pad_activate_push): New API, same for push mode.
9373         (gst_pad_set_activate_function) 
9374         (gst_pad_set_activatepull_function) 
9375         (gst_pad_set_activatepush_function): Setters for new API.
9376
9377         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9378         Trace all miniobjects.
9379         (gst_mini_object_make_writable): Unref the arg if we copy, like
9380         gst_caps_make_writable.
9381
9382         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9383
9384         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9385         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9386         Adapt for new pad API.
9387
9388         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9389
9390         * gst/gstelement.h:
9391         * gst/gstelement.c (gst_element_iterate_src_pads) 
9392         (gst_element_iterate_sink_pads): New API functions.
9393         
9394         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9395         should fold into gstiterator.c in some form.
9396         (gst_element_pads_activate): Simplified via use of fold and
9397         delegation of decisions to gstpad->activate.
9398
9399         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9400         help in debugging.
9401
9402         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9403         class once in init, like gstmessage. Didn't run into this issue
9404         but it seems correct. Don't initialize a trace, gstminiobject does
9405         that.
9406
9407         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9408         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9409         to the bus.
9410         (assert_live_count): New util function, uses alloc traces to check
9411         cleanup.
9412
9413         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9414         To be modified when unlink drops the internal pad.
9415
9416 2005-06-27  Wim Taymans  <wim@fluendo.com>
9417
9418         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9419         (gst_bin_change_state):
9420         Cleanup the get_state() function a little, make sure it
9421         iterates the same set of elements.
9422         Added stub iterate_state_order().
9423
9424 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9425
9426         * docs/gst/gstreamer-docs.sgml:
9427         * docs/gst/gstreamer-sections.txt:
9428         * docs/gst/gstreamer.types:
9429         * docs/gst/tmpl/gstbasesink.sgml:
9430         * docs/gst/tmpl/gstbasesrc.sgml:
9431         * docs/gst/tmpl/gstbasetransform.sgml:
9432         * docs/gst/tmpl/gstelement.sgml:
9433         * docs/gst/tmpl/gstiterator.sgml:
9434         * gst/base/gstbasesrc.c:
9435         * gst/base/gstbasesrc.h:
9436         * gst/base/gstbasetransform.h:
9437         * gst/gstelement.c:
9438         * gst/gstiterator.h:
9439           adding basetransform and iterator docs
9440
9441 2005-06-27  Andy Wingo  <wingo@pobox.com>
9442
9443         * docs/design/part-activation.txt: Notes on how activation should
9444         work -- not quite implemented yet.
9445
9446 2005-06-25  Wim Taymans  <wim@fluendo.com>
9447
9448         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9449         At least get the chain function correct, needs more
9450         fixing.
9451
9452 2005-06-25  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9455         (gst_basesink_handle_object), (gst_basesink_event),
9456         (gst_basesink_do_sync), (gst_basesink_handle_event),
9457         (gst_basesink_change_state):
9458         * gst/gsttask.h:
9459         Right, two problems here: ghostpads don't take locks and
9460         glib _rec_mutex_lock_full() with depth==0 still locks.
9461         Catch illegal locking and g_warn them.
9462
9463 2005-06-25  Wim Taymans  <wim@fluendo.com>
9464
9465         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9466         Have to check for completion now...
9467
9468 2005-06-25  Wim Taymans  <wim@fluendo.com>
9469
9470         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9471         (gst_basesink_handle_object), (gst_basesink_event),
9472         (gst_basesink_do_sync), (gst_basesink_handle_event),
9473         (gst_basesink_change_state):
9474         * gst/gstpad.h:
9475         Unlock STREAM_LOCK whatever the recursion was.
9476
9477 2005-06-25  Wim Taymans  <wim@fluendo.com>
9478
9479         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9480         (gst_basesink_preroll_queue_empty),
9481         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9482         (gst_basesink_event), (gst_basesink_do_sync),
9483         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9484         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9485         (gst_basesink_change_state):
9486         Reworked the base sink, handle event and buffer serialisation
9487         correctly and removed possible deadlock.
9488         Handle EOS correctly.
9489
9490 2005-06-25  Wim Taymans  <wim@fluendo.com>
9491
9492         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9493         (gst_pipeline_change_state):
9494         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9495         Allow elements to post EOS in the state change function.
9496         Fix up -launch, make it exit the poll loop when the
9497         pipeline actually changed state.
9498         Fix up warning parsing in -launch.
9499
9500 2005-06-25  Wim Taymans  <wim@fluendo.com>
9501
9502         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9503         (gst_tee_sink_activate):
9504         Core takes STREAM_LOCK for us now.
9505
9506 2005-06-25  Wim Taymans  <wim@fluendo.com>
9507
9508         * gst/gstelement.c: (gst_element_get_state_func),
9509         (gst_element_set_state):
9510         * gst/gstelement.h:
9511         * gst/gstmessage.c: (gst_message_parse_error),
9512         (gst_message_parse_warning):
9513         Keep track of current target state while performing a state
9514         change so that subclasses can do something interesting.
9515         Fix parsing of warning/error messages when GError is NULL.
9516
9517 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9518
9519         * docs/gst/Makefile.am:
9520         * docs/gst/gstreamer-docs.sgml:
9521         * docs/gst/gstreamer-sections.txt:
9522         * docs/gst/gstreamer.types:
9523         * docs/gst/tmpl/gstbasesink.sgml:
9524         * docs/gst/tmpl/gstbasesrc.sgml:
9525         * docs/gst/tmpl/gstbin.sgml:
9526         * docs/gst/tmpl/gstcompat.sgml:
9527         * docs/gst/tmpl/gstfakesink.sgml:
9528         * docs/gst/tmpl/gstfakesrc.sgml:
9529         * docs/gst/tmpl/gstfilesink.sgml:
9530         * docs/gst/tmpl/gstfilesrc.sgml:
9531         * docs/gst/tmpl/gstindex.sgml:
9532         * docs/manual/appendix-quotes.xml:
9533         * gst/base/gstbasesrc.h:
9534         * gst/elements/gstfakesrc.h:
9535         * gst/gstmessage.h:
9536           start pulling in base classes and elements in our docs
9537
9538 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9539
9540         * docs/gst/Makefile.am:
9541         * docs/libs/Makefile.am:
9542           fixed make distcheck with gtk-doc 1.3
9543
9544 2005-06-23  Wim Taymans  <wim@fluendo.com>
9545
9546         * gst/gstelement.c: (gst_element_get_state_func),
9547         (gst_element_set_state), (gst_element_change_state):
9548         When the state did not change, also report NO_PREROLL
9549         when it matters.
9550
9551 2005-06-23  Wim Taymans  <wim@fluendo.com>
9552
9553         * gst/gstpad.c: (gst_pad_event_default):
9554         * gst/gstqueue.c: (gst_queue_loop):
9555         No unsafe task pausing please.
9556
9557 2005-06-23  Wim Taymans  <wim@fluendo.com>
9558
9559         * gst/schedulers/threadscheduler.c:
9560         (gst_thread_scheduler_task_start),
9561         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9562         Ref the task before pushing it on the threadpool. This
9563         makes sure that we have a ref when the threadfunction is
9564         actually called.
9565
9566 2005-06-23  Andy Wingo  <wingo@pobox.com>
9567
9568         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9569         offset is greater than the file's size.
9570
9571         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9572         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9573         * gst/gstobject.c (gst_object_class_init): Make the class lock
9574         recursive. Wim won't let me drop deep_notify. Decodebin works
9575         again, whoopdy doo.
9576
9577         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9578         internal pad, and hacks accordingly. Doesn't do it on the target
9579         pad because we change its caps. Probably catches all cases of
9580         interest tho.
9581         (gst_ghost_pad_set_property): Connect to notify::caps as
9582         appropritate.
9583
9584         * tests/network-clock.scm (plot-simulation): Pipe data to the
9585         elite python skript.
9586
9587         * tests/network-clock-utils.scm (define-parameter): New macro,
9588         defines a parameter that can be set via the command line.
9589         (set-parameter!, parse-parameter-arguments): Command line args
9590         parser.
9591
9592         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9593         stdin.
9594
9595 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9596
9597         * gst/elements/gsttypefindelement.c:
9598         (gst_type_find_element_handle_event):
9599           Don't restart typefinding on a discont.
9600         * gst/gstelement.c: (gst_element_set_state):
9601           Debug spelling fix.
9602         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9603           Allow changing mode of an active pad.
9604           Debug output fixes.
9605         * gst/registries/gstlibxmlregistry.c: (load_feature):
9606           Don't cast a static pad template to a normal pad template.
9607
9608 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9611         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9612           remove gst_strtoll completely, since it didn't actually do
9613           anything more than what g_ascii_strtoull already does.
9614           check for range errors when deserializing
9615           do a cast for the unsigned cases; but further fixing needs
9616           a decision on what the interpretation of "(int)" and
9617           deserialization should be for values that fall outside the
9618           type's boundaries (ie, refuse, or interpret as casting)
9619
9620 2005-06-23  Wim Taymans  <wim@fluendo.com>
9621
9622         * check/Makefile.am:
9623         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9624         * docs/design/part-live-source.txt:
9625         * docs/design/part-states.txt:
9626         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9627         (gst_basesrc_set_live), (gst_basesrc_is_live),
9628         (gst_basesrc_get_range), (gst_basesrc_activate),
9629         (gst_basesrc_change_state):
9630         * gst/base/gstbasesrc.h:
9631         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9632         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9633         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9634         * gst/gstelement.c: (gst_element_get_state_func),
9635         (gst_element_set_state):
9636         * gst/gstelement.h:
9637         * gst/gsttypes.h:
9638         * tools/gst-launch.c: (event_loop), (main):
9639         Added support for live sources and other elements that
9640         cannot do preroll.
9641         Updated design docs, added live-source design doc.
9642         Implemented live source functionality in basesrc
9643         Fix error condition in _bin_get_state()
9644         Implement live source handling in -launch.
9645         Added check for live sources.
9646         Fixed case in GstBin where elements were changed state
9647         multiple times.
9648
9649
9650 2005-06-23  Andy Wingo  <wingo@pobox.com>
9651
9652         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9653         borken refcounting.
9654
9655         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9656         gst_caps_replace takes care of this for us.
9657
9658         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9659         gst_pad_set_caps on the target, not just its setcaps() function.
9660
9661         * tests/network-clock.scm: 
9662         * tests/network-clock-utils.scm: A network clock simulator.
9663         Something of an algorithmic testbed before doing something in C.
9664
9665 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * check/Makefile.am:
9668         * check/gst/capslist.h:
9669           copy over from 0.8, and add two with bitmasks specified with
9670           (int) 0xFF...
9671         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9672           add test to parse everything from capslist.h
9673         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9674         (main):
9675           add test for structure deserialization
9676         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9677           add tests for deserialization of strings to int types
9678         * gst/gststructure.c: (gst_structure_nth_field_name):
9679         * gst/gststructure.h:
9680           add a way to get the name of a field referenced by index
9681         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9682           instead of checking if the resulting long long lies between
9683           min and max, we check if the long long would fit into
9684           a number of bytes for the final type.
9685           This fixes cases where a string represents 2^32 - 1, which
9686           when cast to int would be the (valid) -1, but is bigger than
9687           G_MAXINT
9688
9689 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * gst/parse/grammar.y:
9692           add a log line for type deserialization
9693
9694 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9695
9696         * check/gst/gstvalue.c: (START_TEST):
9697         * gst/gstvalue.c: (gst_value_deserialize):
9698           return long long, not int, so gint64 deserialization actually
9699           works.  Is there any flag that makes the compiler check this ?
9700           Fixes #308559
9701
9702 2005-06-22  Wim Taymans  <wim@fluendo.com>
9703
9704         * gst/gstbuffer.h:
9705         Added convenience macros for setting buffers in GValue.
9706
9707 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * check/gst/.cvsignore:
9710         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9711           add a test deserializing int64, and comment part out because
9712           it fails, yay !
9713
9714 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9715
9716         * check/Makefile.am:
9717         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9718         * testsuite/Makefile.am:
9719         * testsuite/caps/Makefile.am:
9720         * testsuite/caps/value_serialize.c:
9721         * testsuite/test_gst_init.c:
9722           move a value_serialize test over
9723
9724 2005-06-20  Wim Taymans  <wim@fluendo.com>
9725
9726         * gst/gstpad.c:
9727         Small doc updates.
9728         
9729         * gst/gstvalue.c: (gst_value_compare_buffer),
9730         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9731         (gst_value_compare_flags), (gst_value_serialize_flags),
9732         (gst_value_deserialize_flags), (_gst_value_initialize):
9733         Fix serialisation of buffers, they are not boxed types anymore
9734
9735 2005-06-20  Wim Taymans  <wim@fluendo.com>
9736
9737         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9738         Testcase to show error in buffer-on-caps serialisation.
9739
9740 2005-06-20  Andy Wingo  <wingo@pobox.com>
9741
9742         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9743         will be adding to later.
9744
9745         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9746         if its socks fill with rocks.
9747         (gst_system_clock_obtain): Set the name on object construction.
9748         Avoid double-checked locking.
9749
9750 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9751
9752         * gst/gsturi.c: (gst_element_make_from_uri):
9753           Fix potential endless loop.
9754
9755 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9756
9757         * check/Makefile.am:
9758           add gsttag
9759         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9760         (main):
9761           move over from testsuite dir and clean up
9762         * configure.ac:
9763         * gst/gsttag.c:
9764         * testsuite/Makefile.am:
9765         * testsuite/tags/.cvsignore:
9766         * testsuite/tags/Makefile.am:
9767         * testsuite/tags/merge.c:
9768           remove testsuite/tags
9769
9770 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9771
9772         * docs/gst/gstreamer-sections.txt:
9773         * docs/gst/tmpl/gstenumtypes.sgml:
9774         * win32/gstenumtypes.c:
9775           clean up documentation build a little
9776
9777 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9778
9779         * check/gstcheck.h:
9780           add macros for checking refcounts on objects and caps
9781         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9782           add some more unit tests
9783         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9784         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9785           fix leaked refcounts (I hope :)) so unittest works
9786         * gst/gstpad.h:
9787           whitespace removal
9788
9789 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * configure.ac: back to HEAD
9792
9793 === release 0.9.1 ===
9794
9795 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9796
9797         * NEWS:
9798         * RELEASE:
9799           updated
9800
9801 2005-06-17  Andy Wingo  <wingo@pobox.com>
9802
9803         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9804         assert; it's always possible that the pad gets deactivated in
9805         between the checks in gstpad.c and the implementation. Rely on
9806         finish_preroll() to return a FLUSHING or similar instead of on the
9807         assert.
9808         
9809         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9810         clock and post an EOS message if we come out of finish_preroll in
9811         the playing state.
9812
9813 2005-06-16  David Schleef  <ds@schleef.org>
9814
9815         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9816         (gst_capsfilter_set_property): Allow NULL as possible value
9817         for filter_caps property, indicating GST_CAPS_ANY.
9818
9819 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9820
9821         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9822           fix debug output
9823         * gst/schedulers/Makefile.am:
9824           use libgst prefix
9825         * gstreamer.spec.in:
9826           fix spec for it
9827
9828 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * gstreamer.spec.in:
9831           clean up
9832
9833 2005-06-08  Andy Wingo  <wingo@pobox.com>
9834
9835         * gst/gstutils.c: RPAD fixes all around.
9836         (gst_element_link_pads): Refcounting fixes.
9837
9838         * tools/gst-inspect.c:
9839         * tools/gst-xmlinspect.c:
9840         * parse/grammar.y:
9841         * gst/base/gsttypefindhelper.c:
9842         * gst/base/gstbasesink.c:
9843         * gst/gstqueue.c: RPAD fixes.
9844
9845         * gst/gstghostpad.h:
9846         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9847         pads. The tricky thing is they provide both source and sink
9848         interfaces, since they proxy the internal pad for the external
9849         pad, and vice versa. Implement with lower-level ProxyPad objects,
9850         with the interior proxy pad as a child of the exterior ghost pad.
9851         Should write a doc on this.
9852         
9853         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9854         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9855         gst_object API.
9856         
9857         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9858         pads are real pads. No ghost pads in this file. Not documenting
9859         the myriad s/RPAD/PAD/ and REALIZE fixes.
9860         (gst_pad_class_init): Add properties for "direction" and
9861         "template". Both are construct-only, so they can't change during
9862         the life of the pad. Fixes properly deriving from GstPad.
9863         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9864         derived objects, just set properties when creating the objects via
9865         g_object_new.
9866         (gst_pad_get_parent): Implement as a function, return NULL if the
9867         parent is not an element.
9868         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9869         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9870         
9871         * gst/gstobject.c (gst_object_class_init): Make name a construct
9872         property. Don't set it in the object init.
9873
9874         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9875         with UNKNOWN direction.
9876         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9877         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9878         (gst_element_remove_pad): Remove ghost-pad special cases.
9879         (gst_element_pads_activate): Remove rpad cruft.
9880
9881         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9882         catch the pad's-parent-not-an-element case.
9883
9884         * gst/gst.h: Include gstghostpad.h.
9885
9886         * gst/gst.c (init_post): No more real, ghost pads.
9887
9888         * gst/Makefile.am: Add gstghostpad.[ch].
9889
9890         * check/Makefile.am:
9891         * check/gst/gstbin.c:
9892         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9893         into a bin creates ghost pads, and that the refcounts are right.
9894         Partly moved from gstbin.c.
9895
9896 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9897
9898         * check/gst-libs/.cvsignore:
9899         * check/gst/.cvsignore:
9900         * check/pipelines/.cvsignore:
9901           ignore more
9902         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9903         (START_TEST), (cleanup_suite), (main):
9904           add some tests related to cleanup after running pipelines
9905
9906 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9907
9908         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9909           add a testsuite for GstBuffer
9910
9911 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9912
9913         * gst/gstminiobject.h:
9914           add defines for accessing the refcount
9915
9916 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9917
9918         * Makefile.am: added support for html unit test coverage reports
9919
9920 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9921
9922         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9923           Free existing caps if the capsfilter changes. Add a FIXME about
9924           setting those caps on the pads.
9925
9926         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9927           Before adding a ghost pad to a parent bin, check that there isn't
9928           already one for the element on the bin. Prevents infinite recursion
9929           when using decodebin in parse pipelines. Andy says he'll rewrite the
9930           way this works anyway, so ignore the hack.
9931
9932 2005-06-02  Andy Wingo  <wingo@pobox.com>
9933
9934         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9935         file size, pass it on to the type find helper.
9936
9937         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9938         segment_start and segment_end properly according to the seek
9939         method. Segment_end is still a bit flaky because offset can be
9940         negative for CUR and END cases, but it takes -1 as an "unset"
9941         value.
9942
9943 2005-06-02  Wim Taymans  <wim@fluendo.com>
9944
9945         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9946         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9947         (gst_basesink_activate):
9948         * gst/base/gstbasesink.h:
9949         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9950         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9951         (gst_pad_query), (gst_pad_start_task):
9952         * gst/gstpad.h:
9953         * gst/gstqueue.c: (gst_queue_bufferalloc),
9954         (gst_queue_handle_sink_event), (gst_queue_chain):
9955         Bufferalloc: return GstFlowReturn to more accuratly report
9956         why allocation failed.
9957
9958 2005-06-02  Wim Taymans  <wim@fluendo.com>
9959
9960         * gst/gstpipeline.c: (gst_pipeline_send_event):
9961         Take snapshot of state without blocking.
9962
9963 2005-06-02  Wim Taymans  <wim@fluendo.com>
9964
9965         * docs/design/part-TODO.txt:
9966         * docs/design/part-caps.txt:
9967         * docs/design/part-clocks.txt:
9968         * docs/design/part-negotiation.txt:
9969         * docs/design/part-preroll.txt:
9970         Small doc updates 
9971
9972 2005-05-30  Wim Taymans  <wim@fluendo.com>
9973
9974         * gst/elements/gstidentity.c: (gst_identity_event),
9975         (gst_identity_transform), (gst_identity_get_property):
9976         Protect last_message property as it is accessed from
9977         multiple threads.
9978
9979 2005-05-30  Wim Taymans  <wim@fluendo.com>
9980
9981         * gst/gstelement.c: (gst_element_init),
9982         (gst_element_pads_activate), (gst_element_change_state):
9983         Slicker pad activation code.
9984
9985 2005-05-30  Wim Taymans  <wim@fluendo.com>
9986
9987         * gst/Makefile.am:
9988         * gst/gstelement.h:
9989         * gst/gstelementfactory.h:
9990         * gst/gsttypes.h:
9991         Move elementfactory methods to separate .h file.
9992
9993 2005-05-30  Wim Taymans  <wim@fluendo.com>
9994
9995         * docs/design/part-overview.txt:
9996         * gst/gstsystemclock.h:
9997         Small typo fixes, doc updates.
9998
9999 2005-05-30  Wim Taymans  <wim@fluendo.com>
10000
10001         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10002         (init_popt_callback):
10003         Remove cpu-opt flag.
10004
10005 2005-05-30  Wim Taymans  <wim@fluendo.com>
10006
10007         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10008         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10009         * gst/gstbuffer.h:
10010         Avoid typechecking in places where not needed.
10011         Added accessor for malloc_data.
10012
10013 2005-05-30  Wim Taymans  <wim@fluendo.com>
10014
10015         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10016         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10017         (gst_pad_configure_sink), (gst_pad_configure_src),
10018         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10019         (gst_pad_start_task):
10020         Propagate errors from _set_caps() in configure_src/sink
10021         functions instead of returning TRUE.
10022         FLUSH events can travel up and downstream
10023
10024
10025 2005-05-30  Wim Taymans  <wim@fluendo.com>
10026
10027         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10028         (gst_basesink_activate):
10029         Handle EOS in preroll.
10030
10031 2005-05-30  Wim Taymans  <wim@fluendo.com>
10032
10033         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10034         (gst_queue_loop), (gst_queue_handle_src_event):
10035         Remove old pieces of code
10036         Flushing the queue in an upstream event is a very bad idea.
10037
10038 2005-05-26  Andy Wingo  <wingo@pobox.com>
10039
10040         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10041         gst_value_set_mini_object so as to add a ref on the object (which
10042         will be removed when the value is unset).
10043
10044         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10045         arg type in ::handoff.
10046
10047         * gst/gstelement.c (gst_element_change_state): Also deactivate
10048         pads in READY->NULL, just in case the element didn't make it to
10049         PAUSED. Wingo tested, Wim approved.
10050
10051 2005-05-26  Wim Taymans  <wim@fluendo.com>
10052
10053         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10054         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10055         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10056         A flushing pad cannot be used to alloc_buffer from.
10057
10058 2005-05-26  Wim Taymans  <wim@fluendo.com>
10059
10060         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10061         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10062         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10063         (gst_bus_create_watch), (gst_bus_add_watch_full):
10064         * gst/gstbus.h:
10065         Implement a real GSource and use g_main_context_wakeup() to
10066         signal new messages instead of the socketpair.
10067
10068 2005-05-25  Wim Taymans  <wim@fluendo.com>
10069
10070         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10071         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10072         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10073         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10074         (gst_pad_send_event), (gst_pad_start_task):
10075         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10076         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10077         (gst_queue_sink_activate), (gst_queue_src_activate),
10078         (gst_queue_change_state):
10079         * gst/gstqueue.h:
10080         Fix state changes for non sinks. We now change sinks, then elements
10081         with unconnected srcpads, then the rest.
10082         More efficient queue unlocking in flush and state changes.
10083         Set the pad activate mode even if it does not have an activate
10084         function.
10085
10086 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10087
10088         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10089           Don't go in pull mode for non-seekable sources.
10090         * gst/elements/gsttypefindelement.h:
10091         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10092         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10093         (free_entry), (stop_typefinding),
10094         (gst_type_find_element_handle_event), (find_peek),
10095         (gst_type_find_element_chain), (do_pull_typefind),
10096         (gst_type_find_element_change_state):
10097           Allow typefinding (w/o seeking) in push-mode, simplified version
10098           of what was in 0.8.
10099         * gst/gstutils.c: (gst_buffer_join):
10100         * gst/gstutils.h:
10101           gst_buffer_join() from 0.8.
10102
10103 2005-05-25  Wim Taymans  <wim@fluendo.com>
10104
10105         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10106         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10107         (gst_pad_send_event), (gst_pad_start_task):
10108         Disable attempt at mode switching until it is figured out.
10109
10110 2005-05-25  Wim Taymans  <wim@fluendo.com>
10111
10112         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10113         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10114         (gst_basesink_finish_preroll), (gst_basesink_chain),
10115         (gst_basesink_loop), (gst_basesink_activate),
10116         (gst_basesink_change_state):
10117         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10118         (gst_basesrc_get_range), (gst_basesrc_loop),
10119         (gst_basesrc_activate):
10120         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10121         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10122         (gst_real_pad_init), (gst_real_pad_set_property),
10123         (gst_real_pad_get_property), (gst_pad_set_active),
10124         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10125         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10126         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10127         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10128         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10129         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10130         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10131         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10132         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10133         (gst_pad_stop_task):
10134         * gst/gstpad.h:
10135         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10136         (gst_queue_loop), (gst_queue_src_activate):
10137         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10138         (gst_task_get_state):
10139         * gst/gsttask.h:
10140         * gst/schedulers/threadscheduler.c:
10141         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10142         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10143         in task function.
10144         Remove ACTIVE pad flag, use FLUSHING everywhere
10145         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10146         functions.
10147         Add locks around IS_FLUSHING when reading.
10148         Take STREAM lock in chain(), get_range() functions so plugins
10149         don't need to take it anymore.
10150         
10151
10152
10153 2005-05-25  Wim Taymans  <wim@fluendo.com>
10154
10155         * tools/gst-launch.c: (event_loop):
10156         Unref message after using its contents instead of
10157         before.
10158
10159 2005-05-24  Wim Taymans  <wim@fluendo.com>
10160
10161         * docs/design/draft-ghostpads.txt:
10162         * docs/design/draft-push-pull.txt:
10163         * docs/design/draft-query.txt:
10164         * docs/design/part-overview.txt:
10165         Docs updates, added general overview doc.
10166
10167 2005-05-21  David Schleef  <ds@schleef.org>
10168
10169         * docs/gst/tmpl/old/GstBin.sgml:
10170         * docs/gst/tmpl/old/GstBuffer.sgml:
10171         * docs/gst/tmpl/old/GstCaps.sgml:
10172         * docs/gst/tmpl/old/GstClock.sgml:
10173         * docs/gst/tmpl/old/GstCompat.sgml:
10174         * docs/gst/tmpl/old/GstData.sgml:
10175         * docs/gst/tmpl/old/GstElement.sgml:
10176         * docs/gst/tmpl/old/GstEvent.sgml:
10177         * docs/gst/tmpl/old/GstIndex.sgml:
10178         * docs/gst/tmpl/old/GstStructure.sgml:
10179         * docs/gst/tmpl/old/GstTag.sgml:
10180         * docs/gst/tmpl/old/cothreads.sgml:
10181         * docs/gst/tmpl/old/cothreads_compat.sgml:
10182         * docs/gst/tmpl/old/gettext.sgml:
10183         * docs/gst/tmpl/old/gobject2gtk.sgml:
10184         * docs/gst/tmpl/old/grammar.tab.sgml:
10185         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10186         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10187         * docs/gst/tmpl/old/gst_private.sgml:
10188         * docs/gst/tmpl/old/gstaggregator.sgml:
10189         * docs/gst/tmpl/old/gstarch.sgml:
10190         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10191         * docs/gst/tmpl/old/gstbufferstore.sgml:
10192         * docs/gst/tmpl/old/gstdata_private.sgml:
10193         * docs/gst/tmpl/old/gstdisksink.sgml:
10194         * docs/gst/tmpl/old/gstdisksrc.sgml:
10195         * docs/gst/tmpl/old/gstelementfactory.sgml:
10196         * docs/gst/tmpl/old/gstextratypes.sgml:
10197         * docs/gst/tmpl/old/gstfakesink.sgml:
10198         * docs/gst/tmpl/old/gstfakesrc.sgml:
10199         * docs/gst/tmpl/old/gstfdsink.sgml:
10200         * docs/gst/tmpl/old/gstfdsrc.sgml:
10201         * docs/gst/tmpl/old/gstfilesink.sgml:
10202         * docs/gst/tmpl/old/gstfilesrc.sgml:
10203         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10204         * docs/gst/tmpl/old/gstidentity.sgml:
10205         * docs/gst/tmpl/old/gstindexfactory.sgml:
10206         * docs/gst/tmpl/old/gstmarshal.sgml:
10207         * docs/gst/tmpl/old/gstmd5sink.sgml:
10208         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10209         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10210         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10211         * docs/gst/tmpl/old/gstpipefilter.sgml:
10212         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10213         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10214         * docs/gst/tmpl/old/gstshaper.sgml:
10215         * docs/gst/tmpl/old/gstspider.sgml:
10216         * docs/gst/tmpl/old/gstspideridentity.sgml:
10217         * docs/gst/tmpl/old/gststatistics.sgml:
10218         * docs/gst/tmpl/old/gsttee.sgml:
10219         * docs/gst/tmpl/old/gsttimecache.sgml:
10220         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10221         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10222         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10223         * docs/gst/tmpl/old/types.sgml:
10224           I didn't intend to add these or check them in.
10225
10226 2005-05-19  David Schleef  <ds@schleef.org>
10227
10228         * configure.ac: Use -no-common everywhere.  In a sane world, it
10229           would be the default in libtool, because without it, you can't
10230           build DLLs on Windows.
10231         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10232         * docs/gst/gstreamer-sections.txt:
10233         * docs/gst/tmpl/gstcpu.sgml:
10234         * docs/gst/tmpl/gstdata.sgml:
10235         * docs/gst/tmpl/gstthread.sgml:
10236
10237 2005-05-19  David Schleef  <ds@schleef.org>
10238
10239         * gst/gstminiobject.c: (gst_value_set_mini_object),
10240         (gst_value_take_mini_object), (gst_value_get_mini_object):
10241         * gst/gstminiobject.h: Add GValue set/get functions.
10242
10243 2005-05-19  Wim Taymans  <wim@fluendo.com>
10244
10245         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10246         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10247         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10248         * gst/gstbuffer.h:
10249         * gst/gstbus.c: (gst_bus_post):
10250         * gst/gstelement.c: (gst_element_get_random_pad):
10251         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10252         Make subbufer unref the parent in finalize.
10253         some more debugging info.
10254
10255
10256 2005-05-19  Wim Taymans  <wim@fluendo.com>
10257
10258         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10259         (gst_basesink_init), (gst_basesink_finalize),
10260         (gst_basesink_activate), (gst_basesink_change_state):
10261         Don't free preroll queue too early.
10262
10263 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10264
10265         * gst/Makefile.am:
10266         * gst/ROADMAP:
10267           Hi, I'm outdated. Please shoot me.
10268
10269 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10270
10271         * gst/gstpipeline.c: (gst_pipeline_send_event):
10272           Do not access variables after they have been deleted.
10273
10274 2005-05-19  Wim Taymans  <wim@fluendo.com>
10275
10276         * tools/gst-inspect.c: (print_plugin_features):
10277         A plugin feature does unfortunatly not use the
10278         object name yet...
10279
10280 2005-05-18  Wim Taymans  <wim@fluendo.com>
10281
10282         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10283         Port _span() functions to new subbuffers.
10284
10285 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10286
10287         * gst/gstbin.c: (gst_bin_add_func):
10288           Fix clock settery in bins when adding kids after the clock has
10289           been selected.
10290
10291 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10292
10293         * gst/elements/gstidentity.c: (gst_identity_class_init):
10294           Workaround until signals support GstMiniObject.
10295
10296 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10297
10298         * gst/gstbuffer.c:
10299         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10300
10301 2005-05-18  Wim Taymans  <wim@fluendo.com>
10302
10303         * gst/base/Makefile.am:
10304         * gst/base/gstadapter.c: (gst_adapter_base_init),
10305         (gst_adapter_class_init), (gst_adapter_init),
10306         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10307         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10308         (gst_adapter_flush), (gst_adapter_available),
10309         (gst_adapter_available_fast):
10310         * gst/base/gstadapter.h:
10311         Ported and added adapter to the base classes.
10312
10313 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10314
10315         * gst/gst.c:
10316         * gst/gstmessage.c:
10317           Make sure the class is reffed/unreffed once before threads can be
10318           used.  Fixes #304551.
10319
10320 2005-05-17  Wim Taymans  <wim@fluendo.com>
10321
10322         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10323         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10324         * gst/gstminiobject.c: (gst_mini_object_get_type),
10325         (gst_mini_object_free):
10326         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10327         (gst_pad_push), (gst_pad_push_event):
10328         * gst/gstqueue.c: (gst_queue_change_state):
10329         Don't queue buffers in basesink when we are flushing.
10330         Unref buffer when flushing in basesink.
10331         Flush queue when going to READY
10332         Unref buffer when _push() returns an error.
10333         Don't free MiniObject instance when refcount is incremented
10334         in _finalize() so that we can recover objects.
10335
10336 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10337
10338         * docs/manual/advanced-schedulers.xml:
10339         * docs/manual/appendix-checklist.xml:
10340         * docs/pwg/advanced-clock.xml:
10341         * docs/pwg/advanced-interfaces.xml:
10342         * docs/pwg/advanced-request.xml:
10343         * docs/pwg/advanced-types.xml:
10344         * docs/pwg/intro-preface.xml:
10345         * examples/plugins/example.c: (gst_example_get_type),
10346         (gst_example_class_init), (gst_example_chain),
10347         (gst_example_set_property), (gst_example_get_property),
10348         (gst_example_change_state), (plugin_init):
10349         * examples/plugins/example.h:
10350           small doc fixes
10351
10352 2005-05-17  Wim Taymans  <wim@fluendo.com>
10353
10354         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10355         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10356         * gst/gstqueue.c: (gst_queue_change_state):
10357         Clear queue when going to READY.
10358         Remove IN_SETCAPS flag too.
10359
10360 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10361
10362         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10363           Remove implicit cast from gboolean to GstElementStateReturn;
10364           make sure we still return failure in paused => ready case if
10365           the parent class fails to change state and our own stop 
10366           vfunc succeeds.
10367
10368 2005-05-17  Wim Taymans  <wim@fluendo.com>
10369
10370         * tools/gst-launch.c: (event_loop):
10371         Message was unreffed too soon.
10372
10373 2005-05-16  Andy Wingo  <wingo@pobox.com>
10374
10375         * gst/gstbin.c (sink_iterator_filter): Err... um...
10376
10377         * check/gst/gstbin.c (test_ghost_pads): New test for the
10378         ghosting-if-elements-not-in-same-bin behavior.
10379
10380 2005-05-16  David Schleef  <ds@schleef.org>
10381
10382         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10383         accessing refcount directly.
10384
10385 2005-05-15  David Schleef  <ds@schleef.org>
10386
10387         * check/Makefile.am: remove GstData checks
10388         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10389         * gst/Makefile.am: add miniobject, remove data
10390         * gst/gst.h: add miniobject, remove data
10391         * gst/gstdata.c: remove
10392         * gst/gstdata.h: remove
10393         * gst/gstdata_private.h: remove
10394         * gst/gsttypes.h: remove GstEvent and GstMessage
10395         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10396         * gst/gstmarshal.list: change BOXED -> OBJECT
10397
10398         Implement GstMiniObject.
10399         * gst/gstminiobject.c:
10400         * gst/gstminiobject.h:
10401
10402         Modify to be subclasses of GstMiniObject.
10403         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10404         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10405         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10406         (gst_subbuffer_get_type), (gst_subbuffer_init),
10407         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10408         (gst_buffer_span):
10409         * gst/gstbuffer.h:
10410         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10411         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10412         (_gst_event_copy), (gst_event_new):
10413         * gst/gstevent.h:
10414         * gst/gstmessage.c: (_gst_message_initialize),
10415         (gst_message_get_type), (gst_message_class_init),
10416         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10417         (gst_message_new), (gst_message_new_error),
10418         (gst_message_new_warning), (gst_message_new_tag),
10419         (gst_message_new_state_changed), (gst_message_new_application):
10420         * gst/gstmessage.h:
10421         * gst/gstprobe.c: (gst_probe_perform),
10422         (gst_probe_dispatcher_dispatch):
10423         * gst/gstprobe.h:
10424         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10425         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10426         (_gst_query_copy), (gst_query_new):
10427
10428         Update elements for GstData -> GstMiniObject changes
10429         * gst/gstquery.h:
10430         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10431         (gst_queue_chain), (gst_queue_loop):
10432         * gst/elements/gstbufferstore.c:
10433         (gst_buffer_store_add_buffer_func),
10434         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10435         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10436         (gst_fakesink_render):
10437         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10438         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10439         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10440         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10441         (gst_filesrc_create_read):
10442         * gst/elements/gstidentity.c: (gst_identity_class_init):
10443         * gst/elements/gsttypefindelement.c:
10444         (gst_type_find_element_src_event), (free_entry_buffers),
10445         (gst_type_find_element_handle_event):
10446         * libs/gst/dataprotocol/dataprotocol.c:
10447         (gst_dp_header_from_buffer):
10448         * libs/gst/dataprotocol/dataprotocol.h:
10449         * libs/gst/dataprotocol/dp-private.h:
10450
10451 2005-05-15  David Schleef  <ds@schleef.org>
10452
10453         * gst/elements/gstelements.c: Don't include headers that were
10454         just removed.
10455
10456 2005-05-15  David Schleef  <ds@schleef.org>
10457
10458         * gst/elements/Makefile.am: Remove some elements that don't
10459         need to be in the core (or even exist at all).
10460         * gst/elements/gstaggregator.c:
10461         * gst/elements/gstaggregator.h:
10462         * gst/elements/gstmd5sink.c:
10463         * gst/elements/gstmd5sink.h:
10464         * gst/elements/gstmultifilesrc.c:
10465         * gst/elements/gstmultifilesrc.h:
10466         * gst/elements/gstpipefilter.c:
10467         * gst/elements/gstpipefilter.h:
10468         * gst/elements/gstshaper.c:
10469         * gst/elements/gstshaper.h:
10470         * gst/elements/gststatistics.c:
10471         * gst/elements/gststatistics.h:
10472         * po/POTFILES.in: Remove above files.
10473
10474 2005-05-14  Andy Wingo  <wingo@pobox.com>
10475
10476         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10477         so as to get the refs right.
10478         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10479         unreffing objects that don't pass the filter.
10480
10481         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10482         gst_element_set_bus.
10483         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10484         normal cases, this will destroy the bus.
10485
10486         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10487         object.
10488
10489         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10490         has no sinks.
10491
10492 2005-05-13  Andy Wingo  <wingo@pobox.com>
10493
10494         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10495         gst_pad_link, call pad_link_maybe_ghosting,
10496         (pad_link_maybe_ghosting): Links pads, making sure that the
10497         elements being linked are in the same bin.
10498         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10499         Helpers for pad_link_maybe_ghosting.
10500
10501 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10502
10503         * configure.ac:
10504           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10505
10506 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10507
10508         * docs/design/part-element-source.txt:
10509           Mention GstPushSrc
10510
10511 2005-05-12  Wim Taymans  <wim@fluendo.com>
10512
10513         * gst/base/gstbasesink.c: (gst_basesink_init),
10514         (gst_basesink_activate):
10515         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10516         (gst_basesrc_is_seekable):
10517         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10518         (bin_element_is_sink), (gst_bin_change_state):
10519         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10520         * gst/gstelement.h:
10521         Identify sinks by their flag to avoid overly complicated
10522         checks (fow now).
10523         Do state changes even for elements not reachable from the
10524         sinks.
10525         BaseSink is a sink now :)
10526         Some more debugging info in the basesrc.
10527
10528
10529 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10530
10531         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10532           Implement _query on a bin, similar to _send_event.
10533
10534 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10535
10536         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10537           Discont event offset format should be GST_FORMAT_BYTES,
10538           not GST_FORMAT_TIME.
10539
10540 2005-05-12  Wim Taymans  <wim@fluendo.com>
10541
10542         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10543         Same fix as Ronald's but without the signal. 
10544
10545 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10546
10547         * gst/gstutils.c: (gst_element_query_position):
10548           No, an element is not a pad.
10549
10550 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10551
10552         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10553         (gst_bin_get_state):
10554           If a child is removed from a bin while we remove the child from
10555           the bin and while we're retrieving its state, signal this to the
10556           get_state function so we abort the wait (instead of waiting for
10557           a timeout) and can immediately re-iterate over all other elements.
10558
10559 2005-05-12  Wim Taymans  <wim@fluendo.com>
10560
10561         * gst/base/Makefile.am:
10562         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10563         (gst_basesrc_start):
10564         * gst/base/gstbasesrc.h:
10565         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10566         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10567         (gst_pushsrc_init), (gst_pushsrc_create):
10568         * gst/base/gstpushsrc.h:
10569         Added is_seekable to BaseSrc
10570         Added simple PushSrc.
10571
10572 2005-05-11  Wim Taymans  <wim@fluendo.com>
10573
10574         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10575         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10576         (gst_element_link_pads), (gst_element_query_position),
10577         (gst_element_query_convert), (intersect_caps_func),
10578         (gst_pad_query_position), (gst_pad_query_convert):
10579         Fix refcounting in utils function.
10580         No point in trying to activate a pad when it's added, it could
10581         be added from the state change function and then we deadlock, the
10582         element has to decide what to do.
10583
10584 2005-05-10  Andy Wingo  <wingo@pobox.com>
10585
10586         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10587         *all* the arguments.
10588
10589         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10590         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10591         lock (according to the docs -- if this is wrong change the docs).
10592
10593         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10594         flush messages in the NULL state.
10595
10596         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10597         message immediately and return.
10598         (gst_bus_set_flushing): New function. If a bus is flushing, it
10599         flushes out any queued messages and immediately unrefs new
10600         messages. This is so when an element goes to NULL, all of the
10601         unhandled messages coming from it can be freed, and their
10602         references to the element dropped. In other words: message source
10603         ref considered harmful :P
10604
10605         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10606         we're finished with it.
10607
10608         * gst/gstmessage.c (gst_message_new_state_changed): 
10609
10610 2005-05-10  Wim Taymans  <wim@fluendo.com>
10611
10612         * gst/gstvalue.c: (gst_value_compare_flags),
10613         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10614         (_gst_value_initialize):
10615         Added flags serialize/deserialize/compare code.
10616
10617 2005-05-09  Andy Wingo  <wingo@pobox.com>
10618
10619         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10620         Intersect the peer's caps with our caps.
10621
10622 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10623
10624         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10625         * gst/elements/gsttypefindelement.c: (find_peek):
10626           Handle negative offsets better. Fixes decodebin.
10627
10628 2005-05-09  Wim Taymans  <wim@fluendo.com>
10629
10630         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10631         (gst_base_transform_event):
10632         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10633         Implement accept_caps.
10634         Fix silly lock/unlock mismatch in base class.
10635
10636 2005-05-09  Wim Taymans  <wim@fluendo.com>
10637
10638         * docs/design/draft-push-pull.txt:
10639         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10640         * gst/elements/gstfilesink.c: (gst_filesink_init),
10641         (gst_filesink_query):
10642         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10643         (gst_type_find_handle_src_query), (find_element_get_length):
10644         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10645         * gst/gstelement.h:
10646         * gst/gstmessage.c:
10647         * gst/gstmessage.h:
10648         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10649         (gst_real_pad_get_caps_unlocked),
10650         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10651         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10652         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10653         (gst_real_pad_dispose), (gst_real_pad_finalize),
10654         (gst_pad_load_and_link), (gst_pad_save_thyself),
10655         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10656         (gst_pad_check_pull_range), (gst_pad_pull_range),
10657         (gst_pad_template_get_type), (gst_pad_template_class_init),
10658         (gst_pad_template_init), (gst_pad_template_dispose),
10659         (name_is_valid), (gst_static_pad_template_get),
10660         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10661         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10662         (gst_pad_get_element_private), (gst_pad_start_task),
10663         (gst_pad_pause_task), (gst_pad_stop_task),
10664         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10665         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10666         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10667         (gst_ghost_pad_new):
10668         * gst/gstpad.h:
10669         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10670         (gst_query_new_position), (gst_query_set_position),
10671         (gst_query_parse_position), (gst_query_new_convert),
10672         (gst_query_set_convert), (gst_query_parse_convert):
10673         * gst/gstquery.h:
10674         * gst/gstqueryutils.c:
10675         * gst/gstqueryutils.h:
10676         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10677         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10678         (gst_queue_handle_src_query):
10679         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10680         (gst_element_query_position), (gst_element_query_convert),
10681         (intersect_caps_func), (gst_pad_query_position),
10682         (gst_pad_query_convert):
10683         * gst/gstutils.h:
10684         * tools/gst-inspect.c: (print_pad_info):
10685         * tools/gst-xmlinspect.c: (print_element_info):
10686         Remove old query functions. Ported old code.
10687         Added position/convert helper functions to gstutils.
10688         Reordered gstpad.c code, grouping relevant things.
10689         Remove gst_message_new(), always need to speficy a specific
10690         message.
10691
10692
10693 2005-05-09  Andy Wingo  <wingo@pobox.com>
10694
10695         * gst/gstiterator.h: Add some includes.
10696
10697         * gst/gstqueryutils.h: Include more headers.
10698
10699         * gst/gstpad.h:
10700         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10701         some uses of gst_pad_query.
10702
10703         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10704         NULL out parameters.
10705         (gst_query_new_position): New proc, allocates a new position
10706         query.
10707
10708         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10709         gstqueryutils.c to the build.
10710
10711         * gst/gststructure.c (gst_structure_set_valist): Implement with
10712         the generic G_VALUE_COLLECT.
10713         
10714 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10715
10716         * gst/Makefile.am: (gst_headers):
10717         Added gstqueryutils.h to the list of headers to install, that was
10718         a 'nachty' move wingo :)
10719
10720 2005-05-06  Andy Wingo  <wingo@pobox.com>
10721
10722         * gst/gstquery.h
10723         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10724         GstData, init a memchunk.
10725         (standard_definitions): Add a few query types, deprecate a few.
10726         (gst_query_get_type): New proc.
10727         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10728         implementation.
10729         (gst_query_new_application, gst_query_get_structure): New public
10730         procs.
10731
10732         * docs/design/draft-query.txt: Removed LINKS from the query types,
10733         because all the rest can be dispatched to other pads -- seemed
10734         ugly to have a query that couldn't be dispatched. internal_links
10735         is fine as a pad method.
10736
10737         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10738         in gstpad.c, but maintain binary compatibility for the moment.
10739         Will fix before 0.9 is out.
10740
10741         * gst/gstqueryutils.c: 
10742         * gst/gstqueryutils.h: New files, implement 3 methods for each
10743         query type: parse_query, parse_response, and set. Probably need an
10744         allocator as well.
10745
10746         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10747
10748         * gst/elements/gstfilesink.c (gst_filesink_query2):
10749         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10750         query_types, and formats methods.
10751
10752         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10753         (gst_pad_set_query2_function): New functions.
10754         (gst_real_pad_init): Set query2_default as the default query2
10755         function. Basically just dispatches to internally linked pads.
10756
10757         Needs review!
10758         
10759         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10760         without using the atomic operations. Only one thread can possibly
10761         be accessing the data at this point. Changed so as to avoid
10762         gst_atomic operations.
10763
10764 2005-05-06  Wim Taymans  <wim@fluendo.com>
10765
10766         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10767         Also set caps if we use the fallback buffer alloc.
10768
10769 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10770
10771         * docs/gst/Makefile.am:
10772         * docs/gst/gstreamer-docs.sgml:
10773         * docs/gst/gstreamer-sections.txt:
10774         * docs/gst/tmpl/gstatomic.sgml:
10775         * docs/gst/tmpl/gstmemchunk.sgml:
10776         * testsuite/elements/struct_i386.h:
10777         * win32/GStreamer.vcproj:
10778         * win32/Makefile:
10779           Purge GstAtomic stuff from docs and win32 makefiles as well
10780
10781 2005-05-06  Wim Taymans  <wim@fluendo.com>
10782
10783         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10784         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10785         * gst/gstpad.c: (gst_pad_peer_get_caps):
10786         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10787         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10788         (gst_queue_src_activate), (gst_queue_change_state):
10789         * gst/gstqueue.h:
10790         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10791         (intersect_caps_func):
10792         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10793         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10794         Some fixes for the peer_get_caps() change.
10795
10796 2005-05-06  Wim Taymans  <wim@fluendo.com>
10797
10798         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10799         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10800         (gst_basesink_activate):
10801         Actually do something with error codes returned from the push
10802         functions.
10803
10804 2005-05-06  Wim Taymans  <wim@fluendo.com>
10805
10806         * docs/design/part-element-sink.txt:
10807         * docs/design/part-element-source.txt:
10808         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10809         (gst_basesink_event), (gst_basesink_activate):
10810         * gst/base/gstbasesink.h:
10811         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10812         (gst_basesrc_activate):
10813         * gst/base/gstbasesrc.h:
10814         * gst/gstelement.c: (gst_element_pads_activate):
10815         Some more documentation.
10816         Fixed scheduling decision in _pads_activate().
10817
10818 2005-05-05  Andy Wingo  <wingo@pobox.com>
10819
10820         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10821         the test suite.
10822
10823 2005-05-05  Wim Taymans  <wim@fluendo.com>
10824
10825         * gst/base/Makefile.am:
10826         * gst/base/gstbasesink.h:
10827         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10828         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10829         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10830         (gst_collectpads_class_init), (gst_collectpads_init),
10831         (gst_collectpads_finalize), (gst_collectpads_new),
10832         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10833         (find_pad), (gst_collectpads_remove_pad),
10834         (gst_collectpads_is_active), (gst_collectpads_collect),
10835         (gst_collectpads_collect_range), (gst_collectpads_start),
10836         (gst_collectpads_stop), (gst_collectpads_peek),
10837         (gst_collectpads_pop), (gst_collectpads_available),
10838         (gst_collectpads_read), (gst_collectpads_flush),
10839         (gst_collectpads_chain):
10840         * gst/base/gstcollectpads.h:
10841         * gst/elements/Makefile.am:
10842         * gst/elements/gstelements.c:
10843         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10844         (gst_fakesink_get_times), (gst_fakesink_event),
10845         (gst_fakesink_preroll), (gst_fakesink_render):
10846         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10847         (gst_filesink_init), (gst_filesink_set_location),
10848         (gst_filesink_open_file), (gst_filesink_close_file),
10849         (gst_filesink_pad_query), (gst_filesink_event),
10850         (gst_filesink_render), (gst_filesink_change_state):
10851         * gst/elements/gstfilesink.h:
10852         Added object to help in making collect pad based elements.
10853         Ported filesink.
10854         Make event function in sink baseclass return gboolean.
10855
10856 2005-05-05  Wim Taymans  <wim@fluendo.com>
10857
10858         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10859         (gst_bin_get_by_name):
10860         * gst/gstbuffer.h:
10861         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10862         (gst_clock_finalize):
10863         * gst/gstdata.c: (gst_data_replace):
10864         * gst/gstdata.h:
10865         * gst/gstelement.c: (gst_element_request_pad),
10866         (gst_element_pads_activate):
10867         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10868         (gst_object_unref):
10869         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10870         (gst_pad_set_checkgetrange_function),
10871         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10872         (gst_pad_check_pull_range), (gst_pad_pull_range),
10873         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10874         (gst_pad_pause_task), (gst_pad_stop_task):
10875         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10876         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10877         Fix name lookup in GstBin.
10878         Added _data_replace() function and _buffer_replace()
10879         Use finalize method to clean up clock.
10880         Fix refcounting on request pads.
10881         Fix pad schedule mode error.
10882         Some more object refcounting debug info,
10883
10884
10885 2005-05-04  Andy Wingo <wingo@pobox.com>
10886
10887         * check/Makefile.am:
10888         * docs/gst/tmpl/gstatomic.sgml:
10889         * docs/gst/tmpl/gstplugin.sgml:
10890         * gst/base/gstbasesink.c: (gst_basesink_activate):
10891         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10892         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10893         (gst_basesrc_query), (gst_basesrc_set_property),
10894         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10895         (gst_basesrc_activate):
10896         * gst/base/gstbasesrc.h:
10897         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10898         (gst_base_transform_src_activate):
10899         * gst/elements/gstelements.c:
10900         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10901         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10902         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10903         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10904         (gst_type_find_element_checkgetrange),
10905         (gst_type_find_element_activate):
10906         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10907         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10908         (gst_caps_load_thyself):
10909         * gst/gstelement.c: (gst_element_pads_activate),
10910         (gst_element_save_thyself), (gst_element_restore_thyself):
10911         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10912         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10913         * gst/gstpad.h:
10914         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10915         (gst_xml_parse_file), (gst_xml_parse_memory),
10916         (gst_xml_get_element), (gst_xml_make_element):
10917         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10918         (_file_index_id_save_xml), (gst_file_index_commit):
10919         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10920         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10921         (load_paths):
10922         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10923         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10924         * tools/gst-complete.c: (main):
10925         * tools/gst-compprep.c: (main):
10926         * tools/gst-inspect.c: (print_element_properties_info):
10927         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10928         * tools/gst-xmlinspect.c: (print_element_properties):
10929         GCC 4 fixen.
10930         
10931 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10932
10933         * gst/gstplugin.c: (gst_plugin_check_module),
10934         (gst_plugin_check_file), (gst_plugin_load_file):
10935             apply patch from #172526 to make register work on MacOSX
10936
10937 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10938
10939         * docs/gst/tmpl/gstconfig.sgml:
10940         * gst/gstconfig.h.in:
10941           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10942         * testsuite/debug/printf_extension.c: (main):
10943           Do not use GST_PTR_FORMAT on pointers to types with
10944           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10945         * testsuite/elements/property.h:
10946           use correct printf format
10947
10948 2005-05-02  Wim Taymans  <wim@fluendo.com>
10949
10950         * docs/design/draft-push-pull.txt:
10951         * docs/design/draft-query.txt:
10952         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10953         (gst_basesrc_start):
10954         Added draft for new query API.
10955         Added draft for better selecting scheduling methods.
10956         Make basesrc ignore length if the subclass does not support
10957         it.
10958
10959 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * gst/Makefile.am:
10962           possible fixes for automake-1.5 - _LIBADD is reserved
10963
10964 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10965
10966         * docs/faq/Makefile.am:
10967         * docs/manual/Makefile.am:
10968         * docs/manuals.mak:
10969         * docs/pwg/Makefile.am:
10970         * gst/Makefile.am:
10971           possible fixes for automake-1.5
10972
10973 2005-04-28  Wim Taymans  <wim@fluendo.com>
10974
10975         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10976         (gst_basesink_pad_getcaps), (gst_basesink_init),
10977         (gst_basesink_do_sync):
10978         * gst/gstclock.c: (gst_clock_entry_new):
10979         * gst/gstevent.c: (gst_event_discont_get_value):
10980         * gst/gstpipeline.c: (pipeline_bus_handler),
10981         (gst_pipeline_change_state):
10982         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10983         Better debugging of clocking info.
10984         Allow NULL values when getting discont values.
10985
10986 2005-04-27  Wim Taymans  <wim@fluendo.com>
10987
10988         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10989         * check/gst/gstpad.c: (gst_pad_suite):
10990         Increase timeout for checks.
10991
10992 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10993
10994         * check/Makefile.am:
10995           fix the broken rule for cleanup.  Apparently this rule is
10996           only needed on FC2, so maybe this warrants further autotool
10997           inspection.
10998
10999 2005-04-26  Wim Taymans  <wim@fluendo.com>
11000
11001         * gst/gsttrashstack.h:
11002         Ooohh. a nasty one! After having a failed pop() from the stack,
11003         it's possible that the stack is empty. In that case, don't
11004         follow the NULL pointer.
11005
11006 2005-04-25  Wim Taymans  <wim@fluendo.com>
11007
11008         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11009         (gst_pad_set_checkgetrange_function),
11010         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11011         (gst_pad_check_pull_range), (gst_pad_pull_range),
11012         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11013         (gst_pad_pause_task), (gst_pad_stop_task):
11014         * gst/gstplugin.c: (gst_plugin_load):
11015         * gst/gstplugin.h:
11016         Remove gst_library_load as it does more harm than good with
11017         the new g_module flags.
11018         Revert bogus caps template check in pad linking, pad caps
11019         are important when linking not the template, which is more
11020         general than the current caps.
11021
11022 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11023
11024         * gst/autoplug/.cvsignore:
11025         * gst/autoplug/Makefile.am:
11026         * gst/autoplug/gstsearchfuncs.c:
11027         * gst/autoplug/gstsearchfuncs.h:
11028         * gst/autoplug/gstspider.c:
11029         * gst/autoplug/gstspider.h:
11030         * gst/autoplug/gstspideridentity.c:
11031         * gst/autoplug/gstspideridentity.h:
11032         * gst/autoplug/spidertest.c:
11033           Die, spider, die.
11034
11035 2005-04-25  Wim Taymans  <wim@fluendo.com>
11036
11037         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11038         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11039         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11040         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11041         * gst/gstpad.h:
11042         Added stubs for unimplemented functions. 
11043
11044 2005-04-24  David Schleef  <ds@schleef.org>
11045
11046         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11047         please fix.
11048
11049 2005-04-24  David Schleef  <ds@schleef.org>
11050
11051         Convert everything from GstAtomicInt to g_atomic_int_*, and
11052         remove gstatomic.
11053         * gst/Makefile.am:
11054         * gst/gstatomic.c:
11055         * gst/gstatomic.h:
11056         * gst/gstatomic_impl.h:
11057         * gst/gstbuffer.c:
11058         * gst/gstcaps.c:
11059         * gst/gstcaps.h:
11060         * gst/gstclock.c:
11061         * gst/gstclock.h:
11062         * gst/gstdata.c:
11063         * gst/gstdata.h:
11064         * gst/gstdata_private.h:
11065         * gst/gstevent.c:
11066         * gst/gstinfo.c:
11067         * gst/gstinfo.h:
11068         * gst/gstmessage.c:
11069         * gst/gstobject.c:
11070         * gst/gstobject.h:
11071         * gst/gststructure.c:
11072         * gst/gststructure.h:
11073         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11074         * gst/gstutils.h:
11075
11076 2005-04-24  David Schleef  <ds@schleef.org>
11077
11078         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11079         make the regressions tests work.  Remove some code that is no
11080         longer true.
11081         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11082         Disable warning for pads without templates.
11083
11084 2005-04-24  David Schleef  <ds@schleef.org>
11085
11086         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11087         functions that handle filtered links.
11088         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11089         removed functions.
11090         * gst/gstutils.c: Fix/remove utility functions that handle
11091         filtered caps.
11092         * gst/gstutils.h:
11093         * gst/gstvalue.c: Add serialization/deserialization of caps
11094         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11095         requires fixing so that the filter caps notation creates
11096         a capsfilter element and sets the filter_caps property.  I
11097         think everyone probably wants to keep the shorthand notation.
11098         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11099         * docs/gst/tmpl/gstpad.sgml:
11100
11101         * gst/elements/gstelements.c: Register capsfilter element.
11102         * gst/Makefile.am: fix spacing
11103         * docs/random/ds/0.9-suggested-changes: random
11104
11105 2005-04-23  David Schleef  <ds@schleef.org>
11106
11107         * gst/elements/Makefile.am:
11108         * gst/elements/gstcapsfilter.c: New element that acts like an
11109         identity, but filters caps.  Will eventually replace filtered
11110         caps in pad linking.
11111         * gst/gstutils.c: (gst_element_create_all_pads): New function
11112         to create all the ALWAYS pads that are registered with an
11113         element class.  This functionality should eventually be
11114         merged in with GstElement initialization.
11115         * gst/gstutils.h:
11116         * testsuite/trigger/README: part of trigger test code that should
11117         have been checked in a long time ago.
11118
11119 2005-04-23  David Schleef  <ds@schleef.org>
11120
11121         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11122         needed with new versions of libtool (nobody will confirm this),
11123         and hard to carry around.
11124         * gst/autoplug/Makefile.am:
11125         * gst/base/Makefile.am:
11126         * gst/elements/Makefile.am:
11127         * gst/indexers/Makefile.am:
11128         * gst/schedulers/Makefile.am:
11129         * libs/gst/bytestream/Makefile.am:
11130         * libs/gst/control/Makefile.am:
11131         * libs/gst/dataprotocol/Makefile.am:
11132         * libs/gst/getbits/Makefile.am:
11133
11134 2005-04-21  Wim Taymans  <wim@fluendo.com>
11135
11136         * docs/design/draft-push-pull.txt:
11137         * docs/design/part-MT-refcounting.txt:
11138         * docs/design/part-TODO.txt:
11139         * docs/design/part-caps.txt:
11140         * docs/design/part-events.txt:
11141         * docs/design/part-gstbus.txt:
11142         * docs/design/part-gstpipeline.txt:
11143         * docs/design/part-messages.txt:
11144         * docs/design/part-push-pull.txt:
11145         * docs/design/part-query.txt:
11146         Some more docs.
11147
11148 2005-04-21  Wim Taymans  <wim@fluendo.com>
11149
11150         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11151         (gst_message_new), (gst_message_new_error),
11152         (gst_message_new_warning), (gst_message_new_tag),
11153         (gst_message_new_state_changed), (gst_message_new_application),
11154         (gst_message_get_structure):
11155         * gst/gstmessage.h:
11156         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11157         (gst_structure_copy_conditional):
11158         Use parent refcount in GstMessage to ensure GstStructure
11159         consistency.
11160         Cleaned up headers a bit.
11161         
11162
11163 2005-04-20  Wim Taymans  <wim@fluendo.com>
11164
11165         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11166         (gst_basesink_pad_getcaps), (gst_basesink_init),
11167         (gst_basesink_chain_unlocked):
11168         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11169         (gst_type_find_helper):
11170         * gst/elements/gsttypefindelement.c:
11171         (gst_type_find_element_have_type), (gst_type_find_element_init),
11172         (stop_typefinding), (gst_type_find_element_handle_event),
11173         (find_suggest), (gst_type_find_element_chain),
11174         (gst_type_find_element_checkgetrange),
11175         (gst_type_find_element_getrange), (do_typefind),
11176         (gst_type_find_element_activate):
11177         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11178         (gst_buffer_default_free), (gst_buffer_default_copy),
11179         (gst_buffer_set_caps):
11180         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11181         (gst_caps_replace):
11182         * gst/gstmessage.c: (gst_message_new),
11183         (gst_message_new_state_changed):
11184         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11185         (gst_pad_set_checkgetrange_function),
11186         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11187         (gst_pad_set_caps), (gst_pad_check_pull_range),
11188         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11189         * gst/gstpad.h:
11190         * gst/gsttypefind.c: (gst_type_find_register):
11191         Make gst_caps_replace() work like other _replace() functions.
11192         Use _caps_replace() where possible.
11193         Make sure _message_new() initialises its field.
11194         Add gst_static_pad_template_get_caps()
11195
11196
11197 2005-04-18  Andy Wingo  <wingo@pobox.com>
11198
11199         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11200         on the peer, not the pad. I think that was a typo. Pass an extra
11201         arg to see if random access is possible. Activate the pads as
11202         PULL_RANGE if possible.
11203
11204         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11205
11206         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11207         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11208         to PROP_....
11209
11210 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11211
11212         * docs/faq/using.xml:
11213           Add note on gstreamer-properties (#154996).
11214
11215 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11216
11217         * docs/random/bbb/optional-properties:
11218           Some analysis on optional properties.
11219
11220 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11221
11222         * docs/gst/tmpl/gstelementfactory.sgml:
11223         * gst/gstelement.h:
11224         * gst/gstelementfactory.c: (gst_element_factory_init),
11225         (gst_element_factory_cleanup), (gst_element_register),
11226         (__gst_element_factory_add_static_pad_template),
11227         (gst_element_factory_get_static_pad_templates),
11228         (gst_element_factory_can_src_caps),
11229         (gst_element_factory_can_sink_caps):
11230         * gst/registries/Makefile.am:
11231         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11232         (gst_xml_registry_class_init), (gst_xml_registry_init),
11233         (gst_xml_registry_new), (gst_xml_registry_set_property),
11234         (gst_xml_registry_get_property), (get_time), (make_dir),
11235         (gst_xml_registry_get_perms_func),
11236         (plugin_times_older_than_recurse), (plugin_times_older_than),
11237         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11238         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11239         (add_to_char_array), (read_string), (read_uint), (read_enum),
11240         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11241         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11242         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11243         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11244         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11245         (gst_xml_registry_rebuild):
11246         * gst/registries/gstlibxmlregistry.h:
11247         * tools/gst-compprep.c: (main):
11248         * tools/gst-inspect.c: (print_pad_templates_info):
11249         * tools/gst-xmlinspect.c: (print_element_info):
11250           Use libxml2 for registry parsing, use staticpadtemplates in
11251           elementfactories. Makes gst_init() +/- 10x faster.
11252
11253 2005-04-12  Wim Taymans  <wim@fluendo.com>
11254
11255         * gst/base/Makefile.am:
11256         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11257         (gst_basesink_pad_getcaps), (gst_basesink_init),
11258         (gst_basesink_event), (gst_basesink_change_state):
11259         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11260         (gst_basesrc_init), (gst_basesrc_query),
11261         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11262         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11263         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11264         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11265         (gst_basesrc_stop), (gst_basesrc_activate),
11266         (gst_basesrc_change_state):
11267         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11268         (helper_find_suggest), (gst_type_find_helper):
11269         * gst/base/gsttypefindhelper.h:
11270         * gst/elements/Makefile.am:
11271         * gst/elements/gstelements.c:
11272         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11273         (gst_fakesink_get_times), (gst_fakesink_event),
11274         (gst_fakesink_preroll), (gst_fakesink_render):
11275         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11276         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11277         (gst_fakesrc_get_property), (gst_fakesrc_create),
11278         (gst_fakesrc_start), (gst_fakesrc_stop):
11279         * gst/elements/gstfakesrc.h:
11280         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11281         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11282         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11283         (gst_filesrc_create_read), (gst_filesrc_create),
11284         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11285         (gst_filesrc_start):
11286         * gst/elements/gsttypefindelement.c:
11287         (gst_type_find_element_have_type), (gst_type_find_element_init),
11288         (start_typefinding), (stop_typefinding), (push_buffer_store),
11289         (gst_type_find_element_handle_event),
11290         (gst_type_find_element_chain),
11291         (gst_type_find_element_checkgetrange),
11292         (gst_type_find_element_getrange), (do_typefind),
11293         (gst_type_find_element_activate),
11294         (gst_type_find_element_change_state):
11295         * gst/elements/gsttypefindelement.h:
11296         * gst/gstpipeline.c: (pipeline_bus_handler):
11297         Added typefind helper.
11298         Small preroll fix in the base sink.
11299         Disable typefind code in basesrc.
11300         Crude port of typefindelement.
11301         Fakesrc cleanups.
11302
11303
11304 2005-04-11  Wim Taymans  <wim@fluendo.com>
11305
11306         * check/gst/gstbus.c: (gstbus_suite):
11307         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11308         * check/gstcheck.h:
11309           Fix up the timeout so that the test does not fail.
11310
11311 2005-04-06  Wim Taymans  <wim@fluendo.com>
11312
11313         * gst/base/README:
11314         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11315         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11316         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11317         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11318         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11319         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11320         (gst_basesrc_stop), (gst_basesrc_activate),
11321         (gst_basesrc_change_state), (basesrc_find_peek),
11322         (basesrc_find_suggest), (gst_basesrc_type_find):
11323         * gst/base/gstbasesrc.h:
11324         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11325         (gst_filesrc_class_init), (gst_filesrc_init),
11326         (gst_filesrc_finalize), (gst_filesrc_set_location),
11327         (gst_filesrc_set_property), (gst_filesrc_get_property),
11328         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11329         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11330         (gst_filesrc_create_read), (gst_filesrc_create),
11331         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11332         * gst/elements/gstfilesrc.h:
11333         * gst/gstelement.c: (gst_element_get_state_func),
11334         (gst_element_lost_state), (gst_element_pads_activate):
11335         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11336         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11337         (gst_pad_pull_range):
11338         * gst/gstpad.h:
11339         More work on the generic source base class, implement seeking,
11340         query.
11341         Make filesrc extend the base source class.
11342         Added gst_pad_set_checkgetrange_function to GstPad.
11343
11344 2005-04-06  Andy Wingo  <wingo@pobox.com>
11345
11346         * pkgconfig/gstreamer-base.pc.in:
11347         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11348
11349         * pkgconfig/Makefile.am:
11350         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11351
11352 2005-04-04  Wim Taymans  <wim@fluendo.com>
11353
11354         * gst/base/Makefile.am:
11355         * gst/base/README:
11356         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11357         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11358         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11359         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11360         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11361         (gst_basesrc_base_init), (gst_basesrc_class_init),
11362         (gst_basesrc_init), (gst_basesrc_get_formats),
11363         (gst_basesrc_get_query_types), (gst_basesrc_query),
11364         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11365         (gst_basesrc_set_property), (gst_basesrc_get_property),
11366         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11367         (gst_basesrc_loop), (gst_basesrc_activate),
11368         (gst_basesrc_change_state):
11369         * gst/base/gstbasesrc.h:
11370         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11371         (gst_fakesrc_class_init), (gst_fakesrc_init),
11372         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11373         (gst_fakesrc_get_property), (gst_fakesrc_create):
11374         * gst/elements/gstfakesrc.h:
11375         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11376         (gst_filesrc_open_file), (gst_filesrc_loop),
11377         (gst_filesrc_activate), (filesrc_find_peek),
11378         (gst_filesrc_type_find):
11379         Made base source class, make fakesrc extend it.
11380         Add comments to basesink class.
11381         Some filesrc cleanup.
11382
11383 2005-03-31  David Schleef  <ds@schleef.org>
11384
11385         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11386         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11387         expected to link against libgstreamer.
11388         * gst/base/Makefile.am: link against libgstreamer
11389         * gst/elements/Makefile.am: same
11390
11391 2005-03-31  Andy Wingo  <wingo@pobox.com>
11392
11393         * tests/instantiate/Makefile.am:
11394         * tests/instantiate/caps.c: Add test to test speed of caps copy
11395         and free.
11396
11397         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11398         GMemChunk to be fair.
11399
11400         * gst/gsttrashstack.h: Remove warning about using the fallback
11401         trash stack implementation, it's still faster than malloc.
11402
11403 2005-03-30  Andy Wingo  <wingo@pobox.com>
11404
11405         * tests/complexity.c: Add a copyright.
11406
11407 2005-03-31  Wim Taymans  <wim@fluendo.com>
11408
11409         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11410         (gst_base_transform_class_init), (gst_base_transform_init),
11411         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11412         (gst_base_transform_get_property),
11413         (gst_base_transform_sink_activate),
11414         (gst_base_transform_src_activate),
11415         (gst_base_transform_change_state):
11416         * gst/base/gstbasetransform.h:
11417         * gst/elements/gstidentity.c: (gst_identity_class_init),
11418         (gst_identity_event), (gst_identity_check_perfect),
11419         (gst_identity_transform), (gst_identity_start),
11420         (gst_identity_stop):
11421         Added start/stop methods to transform base class so subclasses 
11422         don't need to deal with state changes even.
11423
11424 2005-03-31  Wim Taymans  <wim@fluendo.com>
11425
11426         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11427         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11428         * gst/gstevent.h:
11429         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11430         (gst_pad_pull_range):
11431         Added rate to the discont event to prepare for variable speed
11432         and reverse playback.
11433
11434 2005-03-29  David Schleef  <ds@schleef.org>
11435
11436         * configure.ac:
11437         * testsuite/trigger/Makefile.am:
11438         * testsuite/trigger/trigger.c: A little example program to show
11439         how trigger-based elements can work.
11440
11441 2005-03-29  Wim Taymans  <wim@fluendo.com>
11442
11443         * gst/base/Makefile.am:
11444         * gst/base/README:
11445         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11446         (gst_basesink_base_init), (gst_basesink_class_init),
11447         (gst_basesink_pad_getcaps), (gst_basesink_init),
11448         (gst_basesink_activate), (gst_basesink_change_state):
11449         * gst/base/gstbasesink.h:
11450         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11451         (gst_base_transform_base_init), (gst_base_transform_finalize),
11452         (gst_base_transform_class_init), (gst_base_transform_init),
11453         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11454         (gst_base_transform_event), (gst_base_transform_getrange),
11455         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11456         (gst_base_transform_set_property),
11457         (gst_base_transform_get_property),
11458         (gst_base_transform_sink_activate),
11459         (gst_base_transform_src_activate),
11460         (gst_base_transform_change_state):
11461         * gst/base/gstbasetransform.h:
11462         * gst/elements/gstidentity.c: (gst_identity_finalize),
11463         (gst_identity_class_init), (gst_identity_init),
11464         (gst_identity_event), (gst_identity_check_perfect),
11465         (gst_identity_transform), (gst_identity_set_property),
11466         (gst_identity_get_property), (gst_identity_change_state):
11467         * gst/elements/gstidentity.h:
11468         * gst/gstelement.c: (gst_element_get_state_func),
11469         (gst_element_lost_state), (gst_element_pads_activate):
11470         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11471         (gst_pad_check_pull_range), (gst_pad_pull_range):
11472         * gst/gstpad.h:
11473         Simplify pad activation.
11474         Added function to check if pull_range can be performed.
11475         Error out when pulling inactive or flushing pads.
11476         Removed const from refcounted types as it does not make sense.
11477         Simplify pad templates in basesink
11478         Added base class for simple 1-to-1 transforms.
11479         Make identity subclass the base transform.
11480
11481 2005-03-29  Andy Wingo  <wingo@pobox.com>
11482
11483         * docs/libs/gstreamer-libs-overrides.txt: 
11484         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11485         really don't understand what's going on, but like whatever. I want
11486         green buildbot!
11487
11488         * docs/gst/Makefile.am:
11489         * docs/libs/Makefile.am: Dist the overrides files.
11490
11491         * check/Makefile.am (clean-local): Remove .libs directories.
11492
11493         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11494         elements to EXTRA_DIST, so po/ files are happy.
11495
11496         * po/POTFILES.in: Er, remove it here.
11497
11498         * po/POTFILES: Remove gstspider.c.
11499
11500         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11501
11502         * docs/libs/gstreamer-libs-docs.sgml: 
11503         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11504         bytestream.
11505
11506         * tests/complexity.c (main): Set the length of the preroll queue
11507         on the sinks to prevent a lockup.
11508
11509         * libs/gst/dataprotocol/Makefile.am: 
11510         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11511         the same as the one in check/gst-libs/gdp.c.
11512
11513         * po/, docs/gst/: Commit automatic changes to docs and po files.
11514
11515         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11516         the versioned libgstbase.
11517
11518         * check/Makefile.am: Depend on an unversioned gst-register, seems
11519         to make autoconf happier.
11520
11521         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11522
11523 2005-03-28  Wim Taymans  <wim@fluendo.com>
11524
11525         * configure.ac:
11526         * docs/design/part-gstelement.txt:
11527         * docs/design/part-negotiation.txt:
11528         * docs/design/part-preroll.txt:
11529         * docs/design/part-scheduling.txt:
11530         * docs/design/part-states.txt:
11531         * gst/Makefile.am:
11532         * gst/base/Makefile.am:
11533         * gst/base/README:
11534         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11535         (gst_basesink_base_init), (gst_basesink_class_init),
11536         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11537         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11538         (gst_basesink_set_pad_functions),
11539         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11540         (gst_basesink_set_property), (gst_basesink_get_property),
11541         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11542         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11543         (gst_basesink_preroll_queue_push),
11544         (gst_basesink_preroll_queue_empty),
11545         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11546         (gst_basesink_event), (gst_basesink_get_times),
11547         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11548         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11549         (gst_basesink_loop), (gst_basesink_activate),
11550         (gst_basesink_change_state):
11551         * gst/base/gstbasesink.h:
11552         * gst/elements/Makefile.am:
11553         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11554         (gst_fakesink_class_init), (gst_fakesink_init),
11555         (gst_fakesink_set_property), (gst_fakesink_get_property),
11556         (gst_fakesink_get_times), (gst_fakesink_event),
11557         (gst_fakesink_preroll), (gst_fakesink_render),
11558         (gst_fakesink_change_state):
11559         * gst/elements/gstfakesink.h:
11560         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11561         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11562         * gst/gstelement.c: (gst_element_add_pad),
11563         (gst_element_get_state_func), (gst_element_abort_state),
11564         (gst_element_commit_state), (gst_element_lost_state),
11565         (gst_element_set_state), (gst_element_pads_activate):
11566         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11567         * gst/gstpipeline.c: (gst_pipeline_send_event),
11568         (gst_pipeline_change_state):
11569         Added state change code.
11570         Added/updated docs.
11571         Added sink base class, make fakesink extend the base class.
11572         Small cleanups in GstPipeline.
11573
11574 2005-03-26  David Schleef  <ds@schleef.org>
11575
11576         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11577         is broken and should be implemented in a different library.
11578         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11579         * gst/gst.h: remove gstcpu.h
11580         * gst/gstcpu.c: remove
11581         * gst/gstcpu.h: remove
11582         * gst/Makefile.am.future: Remove this file.  It's ancient.
11583
11584 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11585
11586         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11587         (gst_bin_send_event):
11588           Add default event/set_manager handlers. The set_manager handler
11589           takes care that the manager is distributed over kids that were
11590           already in the bin before the manager was set. The event handler
11591           is a utility virtual function that sends the event over all sinks,
11592           so that gst_element_send_event (bin, event); has the expected
11593           behaviour.
11594         * gst/gstpad.c: (gst_pad_event_default):
11595           Re-install default event handling for discontinuities, so that
11596           seeking works without requiring hacks in applications or extra
11597           code in sinks.
11598         * gst/gstpipeline.c: (gst_pipeline_class_init),
11599         (gst_pipeline_send_event):
11600           Half hack, half utility: set a pipeline to PAUSED for seek events,
11601           since that is the only way we can guarantee a/v sync. Means that
11602           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11603           and it "just works".
11604
11605 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11606
11607         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11608           Lock/unlock mismatch.
11609
11610 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * docs/faq/gst-uninstalled:
11613           add gst-plugins-base
11614         * docs/gst/Makefile.am:
11615           don't error out until docs are fixed
11616         * docs/gst/gstreamer.types:
11617           remove thread
11618
11619 2005-03-22  Wim Taymans  <wim@fluendo.com>
11620
11621         * check/Makefile.am:
11622         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11623         * gst/gststructure.c: (gst_structure_set_valist),
11624         (gst_structure_copy_conditional):
11625         Activated more tests.
11626         Added message test.
11627         Added G_TYPE_POINTER to GstStructure.
11628         
11629
11630 2005-03-22  Wim Taymans  <wim@fluendo.com>
11631
11632         * docs/design/part-TODO.txt:
11633         * docs/design/part-events.txt:
11634         * docs/design/part-gstbin.txt:
11635         * docs/design/part-gstbus.txt:
11636         * docs/design/part-gstpipeline.txt:
11637         * docs/design/part-messages.txt:
11638         * gst/gstbus.c:
11639         * gst/gstmessage.c:
11640         Docs updates
11641
11642 2005-03-21  Wim Taymans  <wim@fluendo.com>
11643
11644         * gst/gstbus.c: (gst_bus_post):
11645         Fix copy-and-paste error.
11646
11647 2005-03-21  Wim Taymans  <wim@fluendo.com>
11648
11649         * check/Makefile.am:
11650         * gst/Makefile.am:
11651         * gst/elements/Makefile.am:
11652         * gst/elements/gstelements.c:
11653         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11654         (gst_fakesink_event), (gst_fakesink_chain):
11655         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11656         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11657         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11658         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11659         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11660         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11661         (gst_fakesrc_loop), (gst_fakesrc_activate),
11662         (gst_fakesrc_change_state):
11663         * gst/elements/gstfakesrc.h:
11664         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11665         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11666         (gst_filesrc_open_file), (gst_filesrc_loop),
11667         (gst_filesrc_activate), (gst_filesrc_change_state),
11668         (filesrc_find_peek), (filesrc_find_suggest),
11669         (gst_filesrc_type_find):
11670         * gst/elements/gstidentity.c: (gst_identity_finalize),
11671         (gst_identity_class_init), (gst_identity_init),
11672         (gst_identity_proxy_getcaps), (identity_queue_push),
11673         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11674         (gst_identity_getrange), (gst_identity_chain),
11675         (gst_identity_sink_loop), (gst_identity_src_loop),
11676         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11677         (gst_identity_set_property), (gst_identity_get_property),
11678         (gst_identity_change_state):
11679         * gst/elements/gstidentity.h:
11680         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11681         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11682         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11683         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11684         (gst_tee_sink_activate):
11685         * gst/elements/gsttee.h:
11686         * gst/gst.c: (gst_register_core_elements), (init_post):
11687         * gst/gst.h:
11688         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11689         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11690         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11691         (gst_bin_change_state):
11692         * gst/gstbin.h:
11693         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11694         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11695         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11696         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11697         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11698         (bus_watch_callback), (bus_watch_destroy),
11699         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11700         (poll_timeout), (gst_bus_poll):
11701         * gst/gstbus.h:
11702         * gst/gstcaps.h:
11703         * gst/gstdata.h:
11704         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11705         (gst_element_post_message), (gst_element_message_full),
11706         (gst_element_get_state_func), (gst_element_get_state),
11707         (gst_element_abort_state), (gst_element_commit_state),
11708         (gst_element_lost_state), (gst_element_set_state),
11709         (gst_element_pads_activate), (gst_element_change_state),
11710         (gst_element_dispose), (gst_element_set_manager_func),
11711         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11712         (gst_element_set_manager), (gst_element_get_manager),
11713         (gst_element_set_bus), (gst_element_get_bus),
11714         (gst_element_set_scheduler), (gst_element_get_scheduler):
11715         * gst/gstelement.h:
11716         * gst/gstevent.c: (gst_event_new_segment_seek),
11717         (gst_event_new_flush):
11718         * gst/gstevent.h:
11719         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11720         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11721         (gst_message_new_eos), (gst_message_new_error),
11722         (gst_message_new_warning), (gst_message_new_tag),
11723         (gst_message_new_state_changed), (gst_message_new_application),
11724         (gst_message_get_structure), (gst_message_parse_tag),
11725         (gst_message_parse_state_changed), (gst_message_parse_error),
11726         (gst_message_parse_warning):
11727         * gst/gstmessage.h:
11728         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11729         (gst_real_pad_set_property), (gst_pad_set_active),
11730         (gst_pad_is_active), (gst_pad_set_blocked_async),
11731         (gst_pad_set_blocked), (gst_pad_is_blocked),
11732         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11733         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11734         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11735         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11736         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11737         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11738         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11739         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11740         (gst_pad_set_caps), (gst_pad_configure_sink),
11741         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11742         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11743         (gst_real_pad_dispose), (gst_real_pad_finalize),
11744         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11745         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11746         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11747         * gst/gstpad.h:
11748         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11749         (pipeline_bus_handler), (gst_pipeline_change_state),
11750         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11751         * gst/gstpipeline.h:
11752         * gst/gstprobe.h:
11753         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11754         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11755         (gst_queue_link_src), (gst_queue_bufferalloc),
11756         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11757         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11758         (gst_queue_loop), (gst_queue_handle_src_event),
11759         (gst_queue_handle_src_query), (gst_queue_src_activate),
11760         (gst_queue_change_state):
11761         * gst/gstqueue.h:
11762         * gst/gstscheduler.c: (gst_scheduler_init),
11763         (gst_scheduler_dispose), (gst_scheduler_create_task),
11764         (gst_scheduler_factory_create):
11765         * gst/gstscheduler.h:
11766         * gst/gststructure.c: (gst_structure_get_type),
11767         (gst_structure_copy_conditional):
11768         * gst/gststructure.h:
11769         * gst/gsttaginterface.h:
11770         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11771         (gst_task_init), (gst_task_dispose), (gst_task_create),
11772         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11773         (gst_task_pause):
11774         * gst/gsttask.h:
11775         * gst/gstthread.c:
11776         * gst/gstthread.h:
11777         * gst/gsttypes.h:
11778         * gst/schedulers/Makefile.am:
11779         * gst/schedulers/cothreads_compat.h:
11780         * gst/schedulers/entryscheduler.c:
11781         * gst/schedulers/faircothreads.c:
11782         * gst/schedulers/faircothreads.h:
11783         * gst/schedulers/fairscheduler.c:
11784         * gst/schedulers/gstbasicscheduler.c:
11785         * gst/schedulers/gstoptimalscheduler.c:
11786         * gst/schedulers/gthread-cothreads.h:
11787         * gst/schedulers/threadscheduler.c:
11788         (gst_thread_scheduler_task_get_type),
11789         (gst_thread_scheduler_task_class_init),
11790         (gst_thread_scheduler_task_init),
11791         (gst_thread_scheduler_task_start),
11792         (gst_thread_scheduler_task_stop),
11793         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11794         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11795         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11796         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11797         (plugin_init):
11798         * libs/gst/Makefile.am:
11799         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11800         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11801         (gst_file_pad_parent_set):
11802         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11803         (gst_dp_event_from_packet):
11804         * tests/complexity.c: (main):
11805         * tests/mass_elements.c: (main):
11806         * testsuite/states/locked.c: (message_received), (main):
11807         * testsuite/states/parent.c: (main):
11808         * tools/gst-inspect.c: (print_element_flag_info),
11809         (print_implementation_info), (print_pad_info):
11810         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11811         (main):
11812         * tools/gst-md5sum.c: (event_loop), (main):
11813         * tools/gst-typefind.c: (main):
11814         * tools/gst-xmlinspect.c: (print_element_info):
11815         Next big merge.
11816         Added GstBus for mainloop integration.
11817         Added GstMessage for sending notifications on the bus.
11818         Added GstTask as an abstraction for pipeline entry points.
11819         Removed GstThread.
11820         Removed Schedulers.
11821         Simplified GstQueue for multithreaded core.
11822         Made _link threadsafe, removed old capsnego.
11823         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11824         Added pad blocking functions.
11825         Reworked scheduling functions in GstPad to prepare for
11826         scheduling updates soon.
11827         Moved events out of data stream.
11828         Simplified GstEvent types.
11829         Added return values to push/pull.
11830         Removed clocking from GstElement.
11831         Added prototypes for state change function for next merge.
11832         Removed iterate from bins and state change management.
11833         Fixed some elements, disabled others for now.
11834         Fixed -inspect and -launch.
11835         Added check for GstBus.
11836
11837 2005-03-10  Wim Taymans  <wim@fluendo.com>
11838
11839         * docs/design/part-MT-refcounting.txt:
11840         * docs/design/part-clocks.txt:
11841         * docs/design/part-gstelement.txt:
11842         * docs/design/part-gstobject.txt:
11843         * docs/design/part-standards.txt:
11844         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11845         (gst_bin_remove_func), (gst_bin_remove):
11846         * gst/gstbin.h:
11847         * gst/gstbuffer.c:
11848         * gst/gstcaps.h:
11849         * testsuite/clock/clock1.c: (main):
11850         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11851         (main):
11852         * testsuite/dlopen/loadgst.c: (do_test):
11853         * testsuite/refcounting/bin.c: (add_remove_test1),
11854         (add_remove_test2), (main):
11855         * testsuite/refcounting/element.c: (main):
11856         * testsuite/refcounting/element_pad.c: (main):
11857         * testsuite/refcounting/pad.c: (main):
11858         * tools/gst-launch.c: (sigint_handler_sighandler):
11859         * tools/gst-typefind.c: (main):
11860         Doc updates.
11861         Added doc about clock.
11862         removed gst_bin_iterate_recurse_up(), marked methods
11863         for removal.
11864         Fix more testsuites.
11865
11866 2005-03-09  Wim Taymans  <wim@fluendo.com>
11867
11868         * gst/gstpad.c: (gst_pad_get_direction),
11869         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11870         (gst_pad_collect_valist):
11871         * testsuite/bins/interface.c: (main):
11872         * testsuite/caps/audioscale.c: (test_caps):
11873         * testsuite/caps/caps.c: (test1), (test2), (test3):
11874         * testsuite/caps/deserialize.c: (main):
11875         * testsuite/caps/enumcaps.c: (main):
11876         * testsuite/caps/filtercaps.c: (main):
11877         * testsuite/caps/intersect2.c: (main):
11878         * testsuite/caps/random.c: (main):
11879         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11880         * testsuite/caps/sets.c: (check_caps):
11881         * testsuite/caps/simplify.c: (check_caps), (main):
11882         * testsuite/caps/subtract.c: (check_caps):
11883         Fix _pad_get_direction wrt ghostpads.
11884         Fix caps testsuite.
11885
11886 2005-03-09  Wim Taymans  <wim@fluendo.com>
11887
11888         * check/Makefile.am:
11889         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11890         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11891         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11892         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11893         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11894         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11895         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11896         (bin_element_is_sink), (gst_bin_iterate_sinks),
11897         (gst_bin_iterate_all_by_interface):
11898         * gst/gstbin.h:
11899         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11900         (gst_element_change_state), (gst_element_dispose),
11901         (gst_element_finalize), (gst_element_set_loop_function):
11902         * gst/gstelement.h:
11903         * gst/gstiterator.c: (find_custom_fold_func):
11904         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11905         (gst_pad_collectv), (gst_pad_collect_valist),
11906         (gst_pad_template_new):
11907         * gst/gstpipeline.c: (gst_pipeline_class_init),
11908         (gst_pipeline_dispose), (gst_pipeline_set_property),
11909         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11910         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11911         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11912         * gst/gstutils.h:
11913         * gst/schedulers/entryscheduler.c:
11914         * gst/schedulers/gstbasicscheduler.c:
11915         (gst_basic_scheduler_cothreaded_chain),
11916         (gst_basic_scheduler_chain_add_element):
11917         * testsuite/bins/interface.c: (main):
11918         Added GstBin test.
11919         Added GstSystemClock test.
11920         Implemented clock distribution code in GstBin.
11921         Implemented iterate sinks method for future use.
11922         Rearranged gstelement.h
11923         Fix GstIterator comparison bug.
11924         Moved some code to GstPipeline, mostly clocking related.
11925
11926 2005-03-09  Wim Taymans  <wim@fluendo.com>
11927
11928         * configure.ac:
11929         * gst/gst_private.h:
11930         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11931         (gst_bin_remove_func), (gst_bin_remove),
11932         (gst_bin_get_by_name_recurse_up):
11933         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11934         (gst_clock_id_compare_func), (gst_clock_id_wait),
11935         (gst_clock_id_wait_async), (gst_clock_init),
11936         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11937         * gst/gstelement.h:
11938         * gst/gstinfo.c: (_gst_debug_init):
11939         * gst/gstobject.h:
11940         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11941         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11942         * gst/gstpad.h:
11943         Bump version number, we're now 0.9.0
11944         Add future debugging category.
11945         Fix NULL _unref() in _get_by_name_recurse_up
11946         Rearrange gstpad.h.
11947         Update some docs.
11948
11949 2005-03-08  Wim Taymans  <wim@fluendo.com>
11950
11951         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11952         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11953         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11954         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11955         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11956         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11957         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11958         * gst/elements/gstidentity.c: (gst_identity_class_init):
11959         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11960         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11961         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11962         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11963         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11964         (gst_tee_link):
11965         * gst/gstelement.c: (gst_element_class_init),
11966         (gst_element_base_class_init), (gst_element_init),
11967         (gst_element_get_random_pad), (gst_element_wait_state_change),
11968         (gst_element_change_state), (gst_element_dispose),
11969         (gst_element_finalize), (gst_element_set_loop_function):
11970         * gst/gstelement.h:
11971         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11972         * gst/gstthread.c: (gst_thread_class_init),
11973         (gst_thread_release_children_locks), (gst_thread_change_state):
11974         * gst/schedulers/gstbasicscheduler.c:
11975         (gst_basic_scheduler_loopfunc_wrapper),
11976         (gst_basic_scheduler_chain_wrapper),
11977         (gst_basic_scheduler_src_wrapper),
11978         (gst_basic_scheduler_remove_element):
11979         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11980         Remove threadsafe properties. Fix elements because GObject
11981         complains when installing a property before declaring a
11982         set/get_property handler.
11983         Rearrange gstelement.h file, use STATE macros for state locks.
11984         Free mutexes in the finalize method instead of dispose.
11985
11986 2005-03-08  Wim Taymans  <wim@fluendo.com>
11987
11988         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11989         * gst/gstthread.c: (gst_thread_release_children_locks):
11990         Added parentage check.
11991         Fix build og GstThread again.
11992
11993 2005-03-08  Wim Taymans  <wim@fluendo.com>
11994
11995         * docs/design/part-MT-refcounting.txt:
11996         * docs/design/part-conventions.txt:
11997         * docs/design/part-gstobject.txt:
11998         * docs/design/part-relations.txt:
11999         * docs/design/part-standards.txt:
12000         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12001         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12002         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12003         (gst_bin_iterate_all_by_interface):
12004         * gst/gstbuffer.h:
12005         * gst/gstclock.h:
12006         * gst/gstelement.c: (gst_element_class_init),
12007         (gst_element_change_state), (gst_element_set_loop_function):
12008         * gst/gstelement.h:
12009         * gst/gstiterator.c:
12010         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12011         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12012         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12013         (gst_object_set_parent), (gst_object_unparent),
12014         (gst_object_check_uniqueness):
12015         * gst/gstobject.h:
12016         Docs updates, clean up some headers.
12017
12018 2005-03-07  Wim Taymans  <wim@fluendo.com>
12019
12020         * check/.cvsignore:
12021         * check/Makefile.am:
12022         * check/gst-libs/.cvsignore:
12023         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12024         * check/gst/.cvsignore:
12025         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12026         (START_TEST), (gstbus_suite), (main):
12027         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12028         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12029         (gst_data_suite), (main):
12030         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12031         (add_fold_func), (gstiterator_suite), (main):
12032         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12033         (thread_name_object), (thread_name_object_default),
12034         (gst_object_name_compare), (gst_object_suite), (main):
12035         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12036         (gst_pad_suite), (main):
12037         * check/gstcheck.c: (gst_check_log_message_func),
12038         (gst_check_log_critical_func), (gst_check_init):
12039         * check/gstcheck.h:
12040         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12041         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12042         Added checks.
12043
12044 2005-03-07  Wim Taymans  <wim@fluendo.com>
12045
12046         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12047         (gst_list_iterator_next), (gst_list_iterator_resync),
12048         (gst_list_iterator_free), (gst_iterator_new_list),
12049         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12050         (gst_iterator_free), (gst_iterator_push), (filter_next),
12051         (filter_resync), (filter_uninit), (filter_free),
12052         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12053         (gst_iterator_foreach), (find_custom_fold_func),
12054         (gst_iterator_find_custom):
12055         * gst/gstiterator.h:
12056         Added missing files.
12057
12058 2005-03-07  Wim Taymans  <wim@fluendo.com>
12059
12060         * Makefile.am:
12061         * configure.ac:
12062         * docs/design/part-MT-refcounting.txt:
12063         * docs/design/part-conventions.txt:
12064         * docs/design/part-gstobject.txt:
12065         * docs/design/part-relations.txt:
12066         * examples/mixer/mixer.c: (main):
12067         * examples/thread/thread.c: (eos), (main):
12068         * gst/Makefile.am:
12069         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12070         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12071         (gst_spider_plug_from_srcpad):
12072         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12073         (gst_spider_identity_change_state),
12074         (gst_spider_identity_sink_loop_type_finding):
12075         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12076         * gst/elements/gstidentity.c: (gst_identity_init):
12077         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12078         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12079         * gst/elements/gsttypefindelement.c: (free_entry):
12080         * gst/gst.c:
12081         * gst/gst.h:
12082         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12083         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12084         (gst_bin_set_index), (gst_bin_set_element_sched),
12085         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12086         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12087         (gst_bin_iterate_elements), (iterate_child_recurse),
12088         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12089         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12090         (compare_interface), (gst_bin_get_by_interface),
12091         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12092         * gst/gstbin.h:
12093         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12094         (gst_buffer_default_free), (gst_buffer_default_copy),
12095         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12096         (gst_buffer_create_sub):
12097         * gst/gstbuffer.h:
12098         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12099         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12100         (gst_caps_unref), (gst_static_caps_get),
12101         (gst_caps_remove_and_get_structure), (gst_caps_append),
12102         (gst_caps_append_structure), (gst_caps_remove_structure),
12103         (gst_caps_copy_nth), (gst_caps_set_simple),
12104         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12105         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12106         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12107         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12108         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12109         (gst_caps_structure_figure_out_union),
12110         (gst_caps_switch_structures), (gst_caps_do_simplify),
12111         (gst_caps_replace), (gst_caps_from_string),
12112         (gst_caps_copy_conditional):
12113         * gst/gstcaps.h:
12114         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12115         (_gst_clock_id_free), (gst_clock_id_unref),
12116         (gst_clock_id_compare_func), (gst_clock_id_wait),
12117         (gst_clock_id_wait_async), (gst_clock_class_init),
12118         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12119         (gst_clock_get_time), (gst_clock_set_time_adjust),
12120         (gst_clock_set_property), (gst_clock_get_property):
12121         * gst/gstclock.h:
12122         * gst/gstcompat.h:
12123         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12124         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12125         * gst/gstdata.h:
12126         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12127         (gst_element_requires_clock), (gst_element_provides_clock),
12128         (gst_element_set_clock), (gst_element_clock_wait),
12129         (gst_element_wait), (gst_element_set_time_delay),
12130         (gst_element_is_indexable), (gst_element_add_pad),
12131         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12132         (pad_compare_name), (gst_element_get_static_pad),
12133         (gst_element_request_pad), (gst_element_get_request_pad),
12134         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12135         (gst_element_class_get_pad_template_list),
12136         (gst_element_class_get_pad_template), (gst_element_error_func),
12137         (gst_element_get_random_pad), (gst_element_get_event_masks),
12138         (gst_element_send_event), (gst_element_seek),
12139         (gst_element_get_query_types), (gst_element_query),
12140         (gst_element_get_formats), (gst_element_convert),
12141         (gst_element_is_locked_state), (gst_element_set_locked_state),
12142         (gst_element_sync_state_with_parent), (gst_element_change_state),
12143         (gst_element_finalize), (gst_element_yield),
12144         (gst_element_interrupt), (gst_element_set_scheduler),
12145         (gst_element_get_scheduler), (gst_element_set_loop_function):
12146         * gst/gstelement.h:
12147         * gst/gstevent.h:
12148         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12149         (gst_format_get_by_nick), (gst_format_get_details),
12150         (gst_format_iterate_definitions):
12151         * gst/gstformat.h:
12152         * gst/gstindex.c: (gst_index_gtype_resolver):
12153         * gst/gstinfo.c:
12154         * gst/gstinfo.h:
12155         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12156         (gst_mem_chunk_free):
12157         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12158         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12159         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12160         (gst_object_dispatch_properties_changed),
12161         (gst_object_set_name_default), (gst_object_set_name),
12162         (gst_object_get_name), (gst_object_set_name_prefix),
12163         (gst_object_get_name_prefix), (gst_object_set_parent),
12164         (gst_object_get_parent), (gst_object_unparent),
12165         (gst_object_check_uniqueness), (gst_object_save_thyself),
12166         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12167         (gst_object_set_property), (gst_object_get_property),
12168         (gst_object_get_path_string):
12169         * gst/gstobject.h:
12170         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12171         (gst_real_pad_init), (gst_real_pad_get_property),
12172         (gst_pad_custom_new), (gst_pad_get_direction),
12173         (gst_pad_set_active), (gst_pad_is_active),
12174         (gst_pad_set_event_function), (gst_pad_is_linked),
12175         (gst_pad_link_free), (gst_pad_link_intersect),
12176         (gst_pad_link_fixate), (gst_pad_set_caps),
12177         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12178         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12179         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12180         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12181         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12182         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12183         (gst_pad_realize), (gst_pad_get_allowed_caps),
12184         (gst_real_pad_dispose), (gst_real_pad_finalize),
12185         (gst_pad_collectv), (gst_pad_collect_valist),
12186         (gst_pad_template_dispose), (gst_pad_template_new),
12187         (gst_pad_get_internal_links):
12188         * gst/gstpad.h:
12189         * gst/gstpipeline.c: (gst_pipeline_dispose),
12190         (gst_pipeline_change_state):
12191         * gst/gstpipeline.h:
12192         * gst/gstplugin.c:
12193         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12194         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12195         * gst/gstpluginfeature.h:
12196         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12197         * gst/gstquery.c: (_gst_query_type_initialize),
12198         (gst_query_type_register), (gst_query_type_get_by_nick),
12199         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12200         * gst/gstquery.h:
12201         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12202         * gst/gstscheduler.c: (gst_scheduler_add_element),
12203         (gst_scheduler_factory_create):
12204         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12205         (gst_structure_free), (gst_structure_set_name),
12206         (gst_structure_id_set_value), (gst_structure_set_value),
12207         (gst_structure_set_valist), (gst_structure_remove_field),
12208         (gst_structure_remove_fields),
12209         (gst_structure_remove_fields_valist),
12210         (gst_structure_remove_all_fields), (gst_structure_foreach),
12211         (gst_structure_map_in_place),
12212         (gst_caps_structure_fixate_field_nearest_int),
12213         (gst_caps_structure_fixate_field_nearest_double):
12214         * gst/gststructure.h:
12215         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12216         (gst_system_clock_init), (gst_system_clock_dispose),
12217         (gst_system_clock_async_thread),
12218         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12219         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12220         * gst/gstsystemclock.h:
12221         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12222         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12223         * gst/gsttaginterface.c:
12224         * gst/gstthread.c: (gst_thread_dispose),
12225         (gst_thread_release_children_locks), (gst_thread_change_state),
12226         (gst_thread_main_loop):
12227         * gst/gsttrashstack.h:
12228         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12229         * gst/gsttypes.h:
12230         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12231         (gst_element_request_pad), (gst_element_get_pad_from_template),
12232         (gst_element_request_compatible_pad),
12233         (gst_element_get_compatible_pad_filtered),
12234         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12235         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12236         (gst_element_link_many), (gst_element_link),
12237         (gst_element_link_pads), (gst_element_unlink_pads),
12238         (gst_element_unlink_many), (gst_element_unlink),
12239         (gst_pad_can_link_filtered), (gst_pad_can_link),
12240         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12241         (gst_object_default_error), (gst_bin_add_many),
12242         (gst_bin_remove_many), (gst_element_populate_std_props),
12243         (gst_element_class_install_std_props), (gst_buffer_merge),
12244         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12245         (link_fold_func), (gst_pad_proxy_setcaps):
12246         * gst/gstutils.h:
12247         * gst/gstvalue.c: (gst_value_deserialize_string):
12248         * gst/parse/grammar.y:
12249         * gst/schedulers/gstbasicscheduler.c:
12250         (gst_basic_scheduler_cothreaded_chain),
12251         (gst_basic_scheduler_chain_recursive_add),
12252         (gst_basic_scheduler_pad_link):
12253         * gst/schedulers/gstoptimalscheduler.c:
12254         (get_group_schedule_function),
12255         (gst_opt_scheduler_state_transition),
12256         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12257         * libs/gst/bytestream/bytestream.c:
12258         * libs/gst/dataprotocol/dataprotocol.c:
12259         (gst_dp_header_from_buffer):
12260         * po/nb.po:
12261         * po/ru.po:
12262         * tests/threadstate/threadstate2.c: (eos):
12263         * tools/gst-compprep.c: (main):
12264         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12265         (print_pad_info), (print_children_info):
12266         * tools/gst-launch.c: (idle_func), (main):
12267         * tools/gst-md5sum.c: (idle_func), (main):
12268         * tools/gst-xmlinspect.c: (print_element_info):
12269         First THREADED backport attempt, focusing on adding locks and
12270         making sure the API is threadsafe. Needs more work. More docs
12271         follow this week.
12272
12273 2005-02-24  Andy Wingo  <wingo@pobox.com>
12274
12275         * tests/bench-complexity.scm:
12276         * tests/complexity.gnuplot: New files, good for running complexity
12277         benchmarks.
12278
12279         * tests/Makefile.am:
12280         * tests/complexity.c: New test, sets up N elements, at each level
12281         teeing into M streams per element. Eeeenteresting.
12282
12283         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12284         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12285         running bench-mass_elements.scm.
12286
12287         * tests/bench-mass_elements.scm: New script, runs mass_elements
12288         for various numbers of identities, outputting the results to a
12289         file. Requires guile 1.6. Just for testing.
12290
12291 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12292
12293         * gst/schedulers/fairscheduler.c:
12294           compile with debug disabled
12295
12296 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12297
12298         * configure.ac:
12299           hunting season on 0.9 is now OPEN