gst/base/gstbasetransform.c: The event virtual method is now properly implemented...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-29  Edward Hervey  <edward@fluendo.com>
2
3         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4         (gst_base_transform_event), (gst_base_transform_eventfunc):
5         The event virtual method is now properly implemented, with a default
6         handler
7         Sub classes should call the parent_class event method. They should
8         return FALSE if they had a problem handling the given event, or don't
9         want GstBaseTransform to send that even downstream
10         * gst/elements/gstidentity.c: (gst_identity_class_init),
11         (gst_identity_init), (gst_identity_event),
12         (gst_identity_transform_ip), (gst_identity_set_property),
13         (gst_identity_get_property):
14         * gst/elements/gstidentity.h:
15         Added the single-segment boolean property.
16         If set to TRUE, it will output a single segment of data, starting from
17         0, will eat up all incoming newsegment, and modify the timestamp of the
18         buffers accordingly
19
20 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
21
22         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
23           Don't ref NULL target pad (#322751). Improve docs.
24
25 2005-11-29  Michael Smith  <msmith@fluendo.com>
26
27         * gst/gstregistryxml.c: (load_plugin):
28           Don't crash if we failed to load a feature from a plugin. 
29
30 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
31
32         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
33         (GST_START_TEST):
34           use more check API and less GLib API
35
36 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
37
38         * Makefile.am:
39           don't run checks if we don't have check
40         * common/check.mak:
41           remove the registry when running make torture
42         * docs/gst/gstreamer-sections.txt:
43           remove second multiply
44         * gst/gstqueue.c: (gst_queue_loop):
45           fix a compile warning when disabling debug
46
47 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
48
49         * gst/gstinfo.h:
50         Hey! Let's print the pad name if the pointer != NULL instead
51         of when it == NULL :-)
52
53 2005-11-28  Wim Taymans  <wim@fluendo.com>
54
55         * check/gst/gstutils.c: (GST_START_TEST):
56         Updated check, add some scaling accuracy checking code.
57
58         * gst/gstutils.c: (gst_util_div128_64),
59         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
60         (gst_util_uint64_scale_int):
61         Fix 6 times faster division code. Optimize for common 
62         1/1 and less common X/1 cases.
63
64 2005-11-28  Wim Taymans  <wim@fluendo.com>
65
66         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
67         More checks.
68
69         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
70         (do_linear_regression), (gst_clock_add_observation):
71         Cleanups.
72         Release lock when the clock cannot be slaved.
73         Catch the case where the regression returned an invalid denominator.
74
75         * gst/gstutils.c: (gst_util_div128_64_iterate),
76         (gst_util_div128_64), (gst_util_uint64_scale_int64),
77         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
78         Add protentially more performant non-iterative 128/64 divide function
79         that unfortunatly does not work yet.
80         Shortcut the trivial 0/X = 0 case.
81         Remove the warnings on overflow.
82
83 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
84
85         * gst/gstplugin.c: (gst_plugin_register_func):
86           everything causing a plugin not to load should be at least a WARNING
87
88 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
89
90         * docs/random/ensonic/dparams.txt:
91           some TODOs for the next dev cycle
92         * libs/gst/controller/gstcontroller.c:
93         (gst_controlled_property_set_interpolation_mode),
94         (gst_controlled_property_new):
95         * libs/gst/controller/gstcontroller.h:
96           use base type to assign acccessor functions
97
98 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
99
100         * check/Makefile.am:
101         Oops, that should have been top_srcdir
102
103 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
104
105         * check/Makefile.am:
106         * check/elements/fdsrc.c: (GST_START_TEST):
107         Use a cmdline define to specify the location of a file to use for
108         testing, to avoid breaking distcheck.
109
110 2005-11-28  Andy Wingo  <wingo@pobox.com>
111
112         * gst/gstpad.c (fixate_value): Use array functions for arrays.
113
114 2005-11-28  Edward Hervey  <edward@fluendo.com>
115
116         * tools/gst-launch.c: (main):
117         Clarify the output strings, makes it easier to translate.
118         Fixes #322626
119
120 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
121
122         * gst/Makefile.am:
123           don't try and build net if we don't even have <sys/socket.h>
124
125 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
126
127         * check/Makefile.am:
128         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
129         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
130           Add tests for fdsrc seekability
131
132         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
133         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
134         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
135         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
136         * gst/elements/gstfdsrc.h:
137           fdsrc should not be a 'live' source.
138           Implement seeking on seekable fd's.
139
140         * gst/gstquery.c: (gst_query_new_seeking),
141         (gst_query_parse_seeking):
142         * gst/gstquery.h:
143           Implement SEEKING query functions: 
144             *_new_seeking and *_parse_seeking
145
146 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
147
148         * gst/gstelement.c: (gst_element_dispose):
149           don't loop forever
150
151         * gst/gstiterator.c:
152         * gst/gststructure.c:
153           doc fixes
154
155         * libs/gst/controller/gstcontroller.c:
156         (gst_controlled_property_set_interpolation_mode):
157         * libs/gst/controller/gstcontroller.h:
158         * libs/gst/controller/gstinterpolation.c:
159         (interpolate_none_get_enum_value_array):
160           support controlling enums
161
162 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
163
164         * gst/gstvalue.c:
165           Improve documentation for gst_value_union().
166
167         * gst/gstvalue.h:
168           Change return value for union, intersect and subtract functions
169           from gint to gboolean.
170
171 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
172
173         * gst/gstvalue.c: (gst_value_serialize_any_list),
174         (gst_value_transform_any_list_string),
175         (gst_value_deserialize_list), (gst_value_deserialize_array),
176         (gst_value_set_int_range), (gst_value_deserialize_int_range),
177         (gst_value_set_double_range), (gst_value_deserialize_double_range),
178         (gst_value_set_fraction_range_full),
179         (gst_value_deserialize_fraction_range),
180         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
181         (gst_value_deserialize_boolean),
182         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
183         (gst_value_serialize_float), (gst_value_deserialize_float),
184         (gst_string_wrap), (gst_value_deserialize_string),
185         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
186         (gst_value_union_int_range_int_range),
187         (gst_value_intersect_int_range_int_range),
188         (gst_value_intersect_double_range_double_range),
189         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
190         (gst_value_subtract_int_range_int_range),
191         (gst_value_subtract_double_double_range),
192         (gst_value_subtract_double_range_double_range),
193         (gst_value_deserialize_fraction):
194         * gst/gstvalue.h:
195           Use gint, gdouble and gchar in our API instead of int, double and
196           char (and make usage in gstvalue.c more consistent).
197
198 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
199
200         * check/Makefile.am:
201         * libs/gst/controller/Makefile.am:
202         * libs/gst/dataprotocol/Makefile.am:
203           fix up Makefile.am and remove GST_ENABLE_NEW
204
205 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
206
207         * configure.ac:
208         * gst/Makefile.am:
209         * gst/base/Makefile.am:
210         * gst/check/Makefile.am:
211         * gst/elements/Makefile.am:
212         * gst/net/Makefile.am:
213           update LDFLAGS use some more
214
215 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
216
217         * common/m4/gst-doc.m4:
218           Fixes #312589
219
220 2005-11-26  Edward Hervey  <edward@fluendo.com>
221
222         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
223         This shouldn't issue a g_warning since it returns NULL if it
224         couldn't find the plugin, and all functions using this behave
225         properly on a NULL return. Switching to a GST_WARNING.
226
227 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
228
229         * gst/gstbin.c: (gst_bin_handle_message_func):
230         Don't leak clock messages.
231
232 2005-11-25  Wim Taymans  <wim@fluendo.com>
233
234         * gst/gstutils.c: (gst_util_uint64_scale_int64),
235         (gst_util_uint64_scale_int):
236         Optimisations, remove unneeded vars.
237
238 2005-11-25  Wim Taymans  <wim@fluendo.com>
239
240         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
241         Added more checks for the high precision uint64 cases.
242
243         * gst/gstutils.c: (gst_util_uint64_scale_int64),
244         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
245         Implement high precission (guint64 * guint64) / guint64.
246
247 2005-11-24  Wim Taymans  <wim@fluendo.com>
248
249         * gst/base/gstbasesrc.c: (gst_base_src_query):
250         Fix wrong percentage query.
251
252         * gst/gstutils.c: (gst_util_uint64_scale),
253         (gst_util_uint64_scale_int):
254         Add some more common cases that can be handled 
255         efficiently to _scale.
256
257 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
258
259         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
260         (gst_mini_object_suite):
261           don't use check calls from threads; check probably isn't
262           threadsafe and using a lock to make it threadsafe would
263           defeat the purpose of this check
264         * gst/check/gstcheck.c:
265         * gst/check/gstcheck.h:
266           use GST_DEBUG some more
267
268 2005-11-24  Wim Taymans  <wim@fluendo.com>
269
270         * gst/gstutils.c: (gst_util_uint64_scale),
271         (gst_util_uint64_scale_int):
272         Chain trivial case to _scale_int.
273
274 2005-11-24  Wim Taymans  <wim@fluendo.com>
275
276         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
277         Added test for scaling.
278
279         * gst/gstclock.h:
280         Small doc fix.
281
282         * gst/gstutils.c: (gst_util_uint64_scale_int):
283         Implemented high precision scaling code.
284
285 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
286
287         * gst/gstinfo.h:
288           do not crash on pad==NULL
289
290 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
291
292         Patch by: Stefan Kost
293
294         * common/gtk-doc.mak:
295         * docs/gst/Makefile.am:
296         * docs/libs/Makefile.am:
297           Fix distcheck issues for the libraries docs build
298           Closes #319599.
299
300 2005-11-24  Michael Smith <msmith@fluendo.com>
301
302         * docs/manual/basics-helloworld.xml:
303           Fix bug #315027: memory leak in example code in docs.
304
305 2005-11-24  Michael Smith <msmith@fluendo.com>
306
307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
308           Unlock the PREROLL_LOCK in a failure case.
309
310 2005-11-24  Wim Taymans  <wim@fluendo.com>
311
312         * docs/gst/gstreamer-sections.txt:
313         * gst/base/gstadapter.h:
314         * gst/base/gstbasesink.h:
315         * gst/base/gstbasesrc.h:
316         * gst/base/gstbasetransform.h:
317         * gst/base/gstpushsrc.h:
318         * gst/elements/gstfakesink.h:
319         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
320         * gst/elements/gstfakesrc.h:
321         * gst/elements/gstfilesink.h:
322         * gst/elements/gstfilesrc.h:
323         * gst/gst.c:
324         * gst/gstbin.c:
325         * gst/gstbuffer.c: (_gst_buffer_copy):
326         * gst/gstbus.h:
327         * gst/gstcaps.c:
328         * gst/gstchildproxy.c:
329         * gst/gstclock.c:
330         * gst/gstelement.c:
331         * gst/gstelementfactory.c:
332         * gst/gstelementfactory.h:
333         * gst/gstevent.c:
334         * gst/gstghostpad.h:
335         * gst/gstindex.h:
336         * gst/gstinterface.h:
337         * gst/gstminiobject.c:
338         * gst/gstminiobject.h:
339         * gst/gstpad.c:
340         * gst/gstpad.h:
341         * gst/gstpadtemplate.h:
342         * gst/gstpipeline.h:
343         * gst/gstpluginfeature.h:
344         * gst/gstquery.h:
345         * gst/gstqueue.h:
346         * gst/gsttaglist.c:
347         * gst/gsttaglist.h:
348         * gst/gsttagsetter.c:
349         * gst/gsttagsetter.h:
350         * gst/gsttrace.c:
351         * gst/gsttrace.h:
352         * gst/gsttypefind.h:
353         * gst/gsturi.h:
354         * gst/gstvalue.c:
355         * gst/net/gstnetclientclock.c:
356         * gst/net/gstnetclientclock.h:
357         * gst/net/gstnettimepacket.c:
358         * gst/net/gstnettimeprovider.c:
359         * gst/net/gstnettimeprovider.h:
360         Doc fixes.
361
362 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
363
364         * configure.ac: back to HEAD
365
366 === release 0.9.6 ===
367
368 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
369
370         * configure.ac:
371           releasing 0.9.6, "Always On Time"
372
373 2005-11-23  Wim Taymans  <wim@fluendo.com>
374
375         * docs/gst/gstreamer-sections.txt:
376         * gst/glib-compat.c:
377         * gst/gsttagsetter.c:
378         * gst/gstvalue.c:
379         * gst/net/gstnetclientclock.c:
380         * gst/net/gstnettimepacket.h:
381         Doc updates.
382
383 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
384
385         * docs/faq/using.xml:
386         * docs/libs/tmpl/gstcontrol.sgml:
387         * docs/manual/advanced-dparams.xml:
388         * docs/manual/appendix-checklist.xml:
389         * docs/manual/basics-elements.xml:
390         * docs/pwg/other-source.xml:
391         * docs/random/moving-plugins:
392         * gst/gstpad.c:
393         * tools/gst-launch.1.in:
394           remove mentions of sinesrc
395
396 2005-11-23  Michael Smith <msmith@fluendo.com>
397
398         * docs/gst/gstreamer-sections.txt:
399           Update for new API and API changes.
400         * gst/gstobject.h:
401           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
402         * gst/gstvalue.c:
403           Documentation typo fix.
404         * gst/net/gstnettimepacket.c:
405           Documentation fixes for arguments.
406
407 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
408
409         * gst/gststructure.c: (gst_structure_get_fraction),
410         (gst_structure_parse_value),
411         (gst_structure_fixate_field_nearest_fraction):
412         * gst/gststructure.h:
413         * gst/gstutils.c: (gst_util_uint64_scale_int):
414         * gst/gstutils.h:
415         * scripts/update-funcnames:
416         API Changes. 
417         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
418         Make gst_structure_fixate_field_nearest_fraction take a numerator
419         and denominator argument instead of a GValue
420         add gst_structure_get_fraction helper function.
421
422 2005-11-23  Wim Taymans  <wim@fluendo.com>
423
424         * docs/design/part-TODO.txt:
425         Update TODO.
426
427         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
428         * gst/net/gstnetclientclock.h:
429         Use parent fields for timeout and window_size.
430
431 2005-11-23  Andy Wingo  <wingo@pobox.com>
432
433         * check/net/gstnetclientclock.c (test_functioning): Adjust to
434         rate_num/rate_denom change.
435
436         * gst/net/gstnetclientclock.c
437         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
438         OBJECT_LOCK. Don't call add_observation with the lock.
439
440         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
441         fraction.
442         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
443         rate fraction.
444         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
445         deal with rate as a fraction whose numerator and denominator are
446         GstClockTime values.
447         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
448         master; the other fields are protected by the SLAVE_LOCK.
449         (do_linear_regression): Note that this must be called with the
450         SLAVE_LOCK.
451         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
452         OBJECT_LOCK. Call set_calibration instead of touching the
453         variables directly.
454         (gst_clock_set_property, gst_clock_get_property): Protect
455         master/slave parameters with the SLAVE_LOCK.
456
457         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
458         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
459         note that all of the instance variables that add_observation and
460         the set_master functions use are protected by that lock and not
461         the OBJECT_LOCK.
462         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
463
464         * gst/gstclock.c (gst_clock_add_observation): No longer requires
465         the caller to take the object lock.
466
467 2005-11-23  Wim Taymans  <wim@fluendo.com>
468
469         * gst/gsterror.c: (_gst_core_errors_init):
470         * gst/gsterror.h:
471         Add error for clock stuff.
472
473         * gst/gstpipeline.c: (gst_pipeline_change_state),
474         (gst_pipeline_set_clock):
475         Post clock error when clock cannot be used in a pipeline.
476
477 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
478
479         * docs/gst/gstreamer-sections.txt:
480           make two symbols from gstinfo private for the docs
481         * gst/base/gstcollectpads.h:
482         * gst/gstutils.c:
483           fix doc typos, update docs
484
485 2005-11-22  Wim Taymans  <wim@fluendo.com>
486
487         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
488         (gst_base_sink_wait), (gst_base_sink_do_sync),
489         (gst_base_sink_handle_event):
490         * gst/base/gstbasesink.h:
491         No need to store the clock, the parent element class already
492         has it.
493
494         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
495         Updates for clock_set returning a gboolean
496
497         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
498         (gst_clock_id_wait_async), (gst_clock_class_init),
499         (gst_clock_init), (gst_clock_finalize),
500         (gst_clock_get_internal_time), (gst_clock_get_time),
501         (gst_clock_slave_callback), (gst_clock_set_master),
502         (gst_clock_get_master), (do_linear_regression),
503         (gst_clock_add_observation), (gst_clock_set_property),
504         (gst_clock_get_property):
505         * gst/gstclock.h:
506         Implement master/slave. When setting a clock as a slave, a
507         periodic timeout is scheduled to sample master and slave times.
508         Then the slave clock is recalibrated to match offset and rate
509         of the master clock.
510         Update logging a bit.
511         Add flag so that a clock can state that is cannot be slaved to
512         another clock.
513
514         * gst/gstelement.c: (gst_element_set_clock):
515         * gst/gstelement.h:
516         The set clock returns a gboolean for when an element cannot
517         deal with the selected clock in the pipeline. 
518
519         * gst/gstpipeline.c: (gst_pipeline_change_state),
520         (gst_pipeline_set_clock):
521         * gst/gstpipeline.h:
522         Handle the case where the selected clock cannot be set on
523         the pipeline.
524
525         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
526         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
527         (gst_net_client_clock_set_property),
528         (gst_net_client_clock_get_property),
529         (gst_net_client_clock_observe_times):
530         * gst/net/gstnetclientclock.h:
531         Use regression code in GstClock parent, remove duplicated
532         functionality.
533
534 2005-11-22  Michael Smith <msmith@fluendo.com>
535
536         * gst/gstutils.c: (gst_util_clock_time_scale):
537         * gst/gstutils.h:
538         * docs/gst/gstreamer-sections.txt:
539           Rename method to have extra underscore.
540
541 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
542
543         * gst/elements/Makefile.am:
544         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
545         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
546         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
547         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
548         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
549         * gst/elements/gstfakesrc.h:
550         * gst/gstqueue.c: (queue_leaky_get_type):
551           correctly fix GEnumValues so that nick is the short lowercase
552           dashed tag
553         * tools/gst-inspect.c: (print_element_properties_info):
554           also show the nick, since it's useful to use from parse_launch
555           syntax
556           Fixes #322139
557
558 2005-11-22  Michael Smith <msmith@fluendo.com>
559
560         * gst/gstutils.c: (gst_util_clocktime_scale):
561         * gst/gstutils.h:
562         * docs/gst/gstreamer-sections.txt:
563           Add util method for scaling a clocktime by a fraction. Useful 
564           implementation is left as an exercise for the reader.
565
566 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
567
568         * gst/gstvalue.c: (gst_value_collect_fraction_range):
569         If needed, allocate storage in the destination value during
570         collection.
571
572 2005-11-22  Edward Hervey  <edward@fluendo.com>
573
574         * docs/gst/gstreamer-sections.txt:
575         * gst/Makefile.am:
576         * gst/gst.h:
577         * gst/gsturitype.c:
578         * gst/gsturitype.h:
579         * gst/gstutils.c: (gst_util_set_object_arg):
580         * tools/gst-compprep.c: (main):
581         * tools/gst-inspect.c: (print_element_properties_info):
582         Removed GstURI, closes bug #321061
583
584 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
585
586         * check/gst/gststructure.c: (GST_START_TEST):
587         * gst/gststructure.c: (gst_structure_parse_value):
588           Oops, broke automatic string type parsing.
589           Add a test to catch it in future.
590
591 2005-11-22  Andy Wingo  <wingo@pobox.com>
592
593         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
594         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
595         Actually rename the function implementations. Grr.
596
597 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
598
599         * check/gst/capslist.h:
600           Comment test cases
601         * check/gst/gststructure.c: (GST_START_TEST),
602         (gst_structure_suite):
603           Test automatic value type detection in gst_structure_from_string.
604         * gst/gststructure.c: (gst_structure_parse_value):
605           Add fraction as a type we try and guess automatically in
606           caps/structure strings.
607
608 2005-11-22  Andy Wingo  <wingo@pobox.com>
609
610         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
611
612         * gst/gsttagsetter.h:
613         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
614         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
615         (gst_tag_setter_add_tag_valist)
616         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
617         _add_values, _add_valist, and _add_valist_values. Since this is an
618         interface the function suffixes should be more explicit so
619         language binding don't end up with element.add_valist ->
620         gst_tag_setter_add_valist, for example. Fixes #322069.
621
622 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
623
624         * check/gst/gstcaps.c: (GST_START_TEST):
625           Extend caps string tests to check that a caps to string
626           conversion is reversible and produces the same caps.
627
628         * gst/gststructure.c: (gst_structure_value_get_generic_type):
629           Output "fraction" as the generic type fraction range, so caps
630           serialisation and deserialisation works.
631         * check/gst/capslist.h:
632         * gst/gstvalue.c: (gst_value_deserialize_fraction):
633           Support 'MIN' and 'MAX' for deserialising fractions.
634
635 2005-11-22  Andy Wingo  <wingo@pobox.com>
636
637         * gst/gstevent.h (gst_event_new_new_segment)
638         (gst_event_parse_new_segment, gst_event_new_buffer_size)
639         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
640         Renamed from *_newsegment, *_buffersize, *_notarget.
641
642         * scripts/update-funcnames: New script, performs the changes
643         listed above.
644
645 2005-11-22  Wim Taymans  <wim@fluendo.com>
646
647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
648         Make sure the GstFlowReturn is returned.
649
650         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
651         (gst_bus_add_signal_watch):
652         * gst/gstbus.h:
653         add gst_bus_add_signal_watch_full.
654
655         * gst/gstplugin.c: (gst_plugin_load_file):
656         Small style cleanup.
657
658 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
659
660         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
661           Block the fakesrc srcpad when we send an event, to avoid
662           contention on the stream_lock causing random test failures.
663
664 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
665
666         * check/gst/gstvalue.c: (GST_START_TEST):
667         * gst/gstvalue.c: (gst_value_fraction_subtract):
668           Fix subtraction.
669
670 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
671
672         * gst/gst.h:
673           include "gstchildproxy.h"
674         * gst/gstchildproxy.h:
675         * libs/gst/controller/gstcontroller.h:
676           use G_GNUC_NULL_TERMINATED
677
678 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
679
680         * check/gst/capslist.h:
681         * check/gst/gstcaps.c: (GST_START_TEST):
682         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
683         * gst/gststructure.c: (gst_structure_parse_range),
684         (gst_structure_fixate_field_nearest_fraction):
685         * gst/gststructure.h:
686         * gst/gstvalue.c: (gst_value_init_fraction_range),
687         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
688         (gst_value_collect_fraction_range),
689         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
690         (gst_value_set_fraction_range_full),
691         (gst_value_get_fraction_range_min),
692         (gst_value_get_fraction_range_max),
693         (gst_value_serialize_fraction_range),
694         (gst_value_transform_fraction_range_string),
695         (gst_value_compare_fraction_range),
696         (gst_value_deserialize_fraction_range),
697         (gst_value_intersect_fraction_fraction_range),
698         (gst_value_intersect_fraction_range_fraction_range),
699         (gst_value_subtract_fraction_fraction_range),
700         (gst_value_subtract_fraction_range_fraction),
701         (gst_value_subtract_fraction_range_fraction_range),
702         (gst_value_collect_fraction), (gst_value_fraction_multiply),
703         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
704         (gst_value_transform_string_fraction), (_gst_value_initialize):
705         * gst/gstvalue.h:
706           Implement fraction ranges and extend GstFraction to support
707           arithmetic subtraction, as well as deserialization from integer
708           strings such as "100"
709           Add a testsuite as for int and double range set operations
710
711 2005-11-21  Andy Wingo  <wingo@pobox.com>
712
713         * gst/gsttaglist.h: 
714         * gst/gstcaps.h: 
715         * gst/gststructure.h: Add glib-compat.h.
716
717 2005-11-21  Wim Taymans  <wim@fluendo.com>
718
719         * gst/gstbin.c: (gst_bin_change_state_func):
720         Fix for #321595
721
722 2005-11-21  Wim Taymans  <wim@fluendo.com>
723
724         * gst/gstsegment.h:
725         And add a nice define too.
726
727 2005-11-21  Wim Taymans  <wim@fluendo.com>
728
729         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
730         (gst_segment_new), (gst_segment_free), (gst_segment_init),
731         (gst_segment_set_duration), (gst_segment_set_last_stop),
732         (gst_segment_set_seek), (gst_segment_set_newsegment),
733         (gst_segment_to_stream_time), (gst_segment_to_running_time),
734         (gst_segment_clip):
735         * gst/gstsegment.h:
736         Make binding friendly.
737
738 2005-11-21  Andy Wingo  <wingo@pobox.com>
739
740         * gst/gsttagsetter.h: 
741         * gst/gsttaglist.h: 
742         * gst/gststructure.h: 
743         * gst/gstcaps.h: 
744         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
745         #319940.
746
747         * gst/gsterror.c (_gst_core_errors_init):
748         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
749         category.
750
751         * gst/Makefile.am (gst_headers): Add glib-compat.h.
752         (noinst_HEADERS): noinst the -private.
753
754 2005-11-21  Michael Smith <msmith@fluendo.com>
755
756         * gst/gstplugin.h:
757         * gst/gstregistry.h:
758           Remove unimplemented declarations for which we can see no sensible
759           use.
760
761 2005-11-21  Andy Wingo  <wingo@pobox.com>
762
763         * gst/gst.h: Include glib-compat.h.
764
765         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
766
767         * gst/glib-compat.c: Include the public and the private header.
768
769         * gst/glib-compat-private.h: Copied here from glib-compat.h.
770
771         * gst/gstvalue.c: 
772         * gst/gstpad.c: 
773         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
774
775         * check/gst/gstevent.c (create_custom_events): Check that
776         FLUSH_STOP is serialized.
777
778         * check/elements/identity.c (event_func): 
779         * check/elements/fakesrc.c (event_func): No stream lock, the core
780         takes it.
781
782         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
783         stream lock taking, yay.
784
785         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
786         ensure that core takes the stream lock.
787
788         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
789         lock name change.
790
791         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
792         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
793         it already. For the flush start we do take it though so we get the
794         right preroll state change messages.
795
796         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
797         the stream lock here, the core does it for us.
798
799         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
800         GST_STREAM_GET_LOCK.
801         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
802         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
803         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
804         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
805         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
806         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
807
808         * gst/gstpad.c: Update for stream lock name change.
809
810         * gst/base/gstbasesink.c: Update for preroll lock name change.
811
812 2005-11-21  Wim Taymans  <wim@fluendo.com>
813
814         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
815         (gst_clock_get_master):
816         * gst/gstclock.h:
817         * gst/gstsystemclock.c: (gst_system_clock_init):
818         Convert Clock flags to object flags.
819         Added methods to manage master/slave clocks.
820
821 2005-11-21  Wim Taymans  <wim@fluendo.com>
822
823         * check/gst/gstsegment.c: (GST_START_TEST):
824         * docs/design/part-TODO.txt:
825         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
826         (gst_base_sink_event), (gst_base_sink_do_sync),
827         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
828         (gst_base_sink_query), (gst_base_sink_change_state):
829         * gst/base/gstbasesink.h:
830         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
831         (gst_base_src_default_newsegment),
832         (gst_base_src_configure_segment), (gst_base_src_do_seek),
833         (gst_base_src_get_range), (gst_base_src_loop),
834         (gst_base_src_change_state):
835         * gst/base/gstbasesrc.h:
836         * gst/base/gstbasetransform.c:
837         (gst_base_transform_prepare_output_buf),
838         (gst_base_transform_event), (gst_base_transform_change_state):
839         * gst/base/gstbasetransform.h:
840         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
841         (gst_collect_pads_event):
842         * gst/base/gstcollectpads.h:
843         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
844         (gst_fake_src_create):
845         * gst/elements/gstfakesrc.h:
846         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
847         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
848         (gst_segment_set_last_stop), (gst_segment_set_seek),
849         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
850         (gst_segment_to_running_time), (gst_segment_clip):
851         * gst/gstsegment.h:
852         More segment updates, replace code in plugins with segment
853         helper functions.
854
855 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
856
857         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
858         Don't ignore sscanf results
859
860 2005-11-21  Andy Wingo  <wingo@pobox.com>
861
862         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
863
864         * *.h:
865         * *.c: Ran scripts/update-macros. Oh yes.
866
867         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
868         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
869         GST_GET_LOCK, etc.
870
871         * scripts/update-macros: New script. Run it on your files to
872         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
873         well.
874
875 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
876
877         * docs/gst/Makefile.am:
878         * docs/gst/gstreamer-docs.sgml:
879         * docs/gst/gstreamer-sections.txt:
880         * docs/gst/gstreamer.types:
881         * gst/gstinfo.h:
882           more docs fixes, add new api to the docs
883
884 2005-11-21  Andy Wingo  <wingo@pobox.com>
885
886         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
887         state_broadcast call.
888
889         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
890
891 2005-11-21  Julien MOUTTE  <julien@moutte.net>
892
893         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
894         function calls for arrays.
895
896 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
897
898         * docs/random/ensonic/media-device-daemon.txt:
899           wild idea, can this be done?
900         * docs/gst/gstreamer-sections.txt:
901         * gst/gsterror.h:
902         * gst/gstfilter.c:
903         * gst/gstfilter.h:
904         * gst/gstplugin.h:
905         * gst/gstpluginfeature.c:
906         * gst/gsttrace.c:
907         * gst/gstvalue.c:
908         * gst/gstvalue.h:
909           doc fixes and additions
910
911 2005-11-21  Andy Wingo  <wingo@pobox.com>
912
913         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
914         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
915         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
916         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
917         private to the basesrc implementation.
918
919         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
920         behalf of event function if necessary. It should no longer be
921         necessary to take the stream lock in pad's event functions. Fixes
922         #320299.
923
924 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
925         * docs/gst/gstreamer-sections.txt:
926         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
927         (gst_structure_fixate_field_nearest_double),
928         (gst_structure_fixate_field_boolean):
929         * gst/gststructure.h:
930         * win32/common/libgstreamer.def:
931         * win32/gstreamer.def:
932
933         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
934         (#322027)
935
936 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
937
938         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
939         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
940         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
941         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
942         (gst_fdsrc_uri_handler_init):
943         * gst/elements/gstfdsrc.h:
944           Port fd:// URI handler from 0.8 to fdsrc
945
946 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
947
948         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
949         (gst_value_serialize_fourcc):
950         * gst/gstvalue.h:
951           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
952           consistent with our other format defines (#320324).
953
954 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
955
956         * gst/gstvalue.c: (gst_value_is_fixed):
957           Revert previous commit. Value lists are by definition
958           not fixed, as they are a list of possible values.
959
960 2005-11-21  Andy Wingo  <wingo@pobox.com>
961
962         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
963         during the stable series if we need it. Fixes #319178.
964
965         * gst/gstevent.c (gst_event_new_filler): Removed.
966
967         * check/gst/gstevent.c: Update comment about filler events.
968
969 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
970
971         * gst/gstvalue.c: (gst_value_is_fixed):
972           Should handle both value arrays and value lists.
973
974 2005-11-21  Andy Wingo  <wingo@pobox.com>
975
976         patch by: Alessandro Dessina <alessandro nnva org>
977
978         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
979         functions to access arrays. Fixes #321962.
980
981 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
982
983         * docs/gst/gstreamer.types:
984           gst_collectpads_get_type => gst_collect_pads_get_type.
985           
986         * gst/base/gstbasetransform.c:
987           Remove unused SIGNAL_HANDOFF enum.
988
989 2005-11-21  Andy Wingo  <wingo@pobox.com>
990
991         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
992         the event type (upstream, downstream, serialized). Renamed
993         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
994         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
995         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
996
997         * gst/gstevent.c: Update for new CUSTOM event names.
998
999         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1000
1001         * gst/gstevent.h:
1002         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1003         bug #319392.
1004
1005 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1006
1007         * docs/gst/gstreamer-sections.txt:
1008         * win32/common/libgstbase.def:
1009         * win32/libgstbase.def:
1010         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1011         (gst_collect_pads_class_init), (gst_collect_pads_init),
1012         (gst_collect_pads_finalize), (gst_collect_pads_new),
1013         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1014         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1015         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1016         (gst_collect_pads_start), (gst_collect_pads_stop),
1017         (gst_collect_pads_peek), (gst_collect_pads_pop),
1018         (gst_collect_pads_available), (gst_collect_pads_read),
1019         (gst_collect_pads_flush), (gst_collect_pads_event),
1020         (gst_collect_pads_chain):
1021         * gst/base/gstcollectpads.h:
1022           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1023           unimplemented functions as unimplemented. Add padding to
1024           GstCollectData. (#320766, #320423)
1025
1026 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1027
1028         * gst/gstmessage.c:
1029           Improve docs for DURATION message (usage of duration parameter)
1030           (#320113)
1031
1032 2005-11-20  Wim Taymans  <wim@fluendo.com>
1033
1034         * check/Makefile.am:
1035         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1036         (main):
1037         * gst/Makefile.am:
1038         * gst/gst.h:
1039         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1040         (gst_segment_set_seek), (gst_segment_set_newsegment),
1041         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1042         (gst_segment_clip):
1043         * gst/gstsegment.h:
1044         Added segment helper structure and methods. Not fully implemented
1045         yet.
1046         Added segment check.
1047
1048 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1049
1050         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1051           Add a deserialisation test for fractions
1052         * examples/metadata/read-metadata.c: (message_loop),
1053         (make_pipeline), (main):
1054           Fix up metadata reading sample.
1055         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1056           Debug format fix
1057         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1058           Don't try and fixate empty caps
1059         * gst/gst_private.h:
1060           Wrap in G_BEGIN_DECLS/G_END_DECLS
1061         * gst/gstvalue.c: (gst_value_collect_fraction),
1062         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1063         (gst_value_transform_string_fraction),
1064         (gst_value_compare_fraction):
1065           Add some extra guards to ensure that we don't end up 
1066           with an invalid denominator of 0 in a gstfraction and
1067           that fractions always get reduced.
1068
1069 2005-11-20  Wim Taymans  <wim@fluendo.com>
1070
1071         * docs/gst/gstreamer-sections.txt:
1072         * gst/gstbuffer.h:
1073         * gst/gstelement.c:
1074         * gst/gstformat.c:
1075         * gst/gstformat.h:
1076         * gst/gstindex.h:
1077         * gst/gstquery.c:
1078         * gst/gstquery.h:
1079         * gst/gstvalue.c:
1080         Doc fixes.
1081
1082 2005-11-20  Wim Taymans  <wim@fluendo.com>
1083
1084         * docs/design/part-TODO.txt:
1085         * gst/gstcaps.h:
1086         Make a proper enum of the flag.
1087
1088 2005-11-19  Wim Taymans  <wim@fluendo.com>
1089
1090         * docs/design/part-TODO.txt:
1091         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1092         (gst_format_to_quark), (gst_format_register):
1093         * gst/gstformat.h:
1094         * gst/gstquery.c: (_gst_query_initialize),
1095         (gst_query_type_get_name), (gst_query_type_to_quark),
1096         (gst_query_type_register):
1097         * gst/gstquery.h:
1098         Add type to quark and type to string conversions.
1099
1100 2005-11-19  Andy Wingo  <wingo@pobox.com>
1101
1102         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1103         #320097.
1104
1105 2005-11-19  Wim Taymans  <wim@fluendo.com>
1106
1107         * docs/design/part-TODO.txt:
1108         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1109         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1110         (gst_bin_handle_message_func):
1111         * gst/gstbin.h:
1112         Make message handling overridable.
1113
1114 2005-11-19  Andy Wingo  <wingo@pobox.com>
1115
1116         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1117
1118         * gst/gstclock.h:
1119         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1120         be a GstClockTime.
1121         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1122         is a GstClockTime. Fixes #321710.
1123
1124         * gst/gstclock.h (GstClock): Remove offset property. Add
1125         internal_calibration and external_calibration. Fix padding. Pad
1126         also by GstClockTime so we don't run into problems.
1127
1128         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1129         (gst_clock_get_rate_offset): Remove.
1130         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1131
1132         * gst/gstutils.h:
1133         * gst/gstutils.c (g_static_rec_cond_wait)
1134         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1135
1136         * gst/gstbin.c: Remove terrible continue_state prototype.
1137
1138         * gst/gstelement.h (gst_element_continue_state): Make public.
1139
1140         * gst/gstelement.h:
1141         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1142         by continue_state. Fixes #319389.
1143
1144         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1145         Really fixes #168438. However I don't see anywhere where the
1146         filter function is called... stupid GStreamer...
1147         
1148         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1149         don't have a dispose function, so it won't get called when the
1150         object is unreffed, but oh well!
1151
1152         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1153         allows a destroy function to be set so user_data can be freed.
1154         Fixes #168438.
1155         (gst_index_set_filter): Call gst_index_set_filter_full.
1156
1157         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1158
1159         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1160         string should produce an error, given the lack of a way to
1161         represent NULL strings. Fixes #165650.
1162         
1163         * gst/gstvalue.h: 
1164         * gst/gstvalue.c (gst_value_array_append_value) 
1165         (gst_value_array_prepend_value, gst_value_array_get_size) 
1166         (gst_value_array_get_value): New API, copied from
1167         gst_value_list_*, only operates on arrays.
1168         (gst_value_list_append_value, gst_value_list_prepend_value) 
1169         (gst_value_list_concat, gst_value_list_get_size) 
1170         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1171
1172         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1173         init_list, because it works on both.
1174         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1175         (gst_value_copy_list_or_array): Renamed from copy_list.
1176         (gst_value_free_list_or_array): Renamed from free_list.
1177         (gst_value_collect_list_or_array): Renamed from collect_list.
1178         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1179         (gst_value_list_or_array_peek_pointer): Renamed from
1180         list_peek_pointer.
1181         (_gst_value_array_value_table, _gst_value_list_value_table):
1182         Update value table functions.
1183         (gst_value_compare_list_or_array): Renamed from compare_list.
1184
1185         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1186         some constness.
1187
1188         * gst/gsttaglist.c:
1189         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1190         GstTagList*. Fixes #143472.
1191
1192         * gst/gststructure.h: Clarify what the foreach/map functions can
1193         or can't do to their arguments.
1194
1195 2005-11-18  Wim Taymans  <wim@fluendo.com>
1196
1197         * gst/gstclock.c: (gst_clock_set_calibration),
1198         (gst_clock_get_calibration):
1199         Doc and API fixes.
1200         Calibration can be set with internal time equal to current
1201         internal time too.
1202
1203 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1204
1205         * gst/gsterror.c:
1206         * gst/gsterror.h:
1207           document
1208
1209 2005-11-18  Andy Wingo  <wingo@pobox.com>
1210
1211         * configure.ac: 
1212         * pkgconfig/gstreamer-net.pc.in:
1213         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1214         * pkgconfig/Makefile.am: Add net pkgconfig files.
1215
1216 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1217
1218         * gst/gstcaps.c:
1219         * gst/gstghostpad.c:
1220         * gst/gsttrace.c:
1221         * gst/gstvalue.c:
1222         * gst/gstvalue.h:
1223           docs fixes
1224
1225 2005-11-18  Andy Wingo  <wingo@pobox.com>
1226
1227         * gst/net/gstnetclientclock.c: Turn off debugging.
1228
1229         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1230         times connverge somewhat. Can't make a real test.
1231
1232         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1233         integer arithmetic. Return the minimum of the domain, which can be
1234         set as "internal" for gst_clock_set_calibration.
1235         (gst_net_client_clock_observe_times): Call _set_calibration.
1236         (gst_net_client_clock_new): Call _set_calibration instead of
1237         rate_offset.
1238
1239         * check/net/gstnetclientclock.c (test_functioning): Use the right
1240         adjustment api.
1241
1242         * gst/gstclock.h:
1243         * gst/gstclock.c (gst_clock_get_calibration) 
1244         (gst_clock_set_calibration): New functions, obsolete the ones I
1245         added yesterday. Doh. Precision issues mean we have to extrapolate
1246         from a point in the more recent past than 1970.
1247         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1248         obsolete.
1249         (gst_clock_adjust_unlocked): Use the right calibration data.
1250
1251 2005-11-18  Edward Hervey  <edward@fluendo.com>
1252
1253         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1254         Also reset the ->current_* values in READY->PAUSED
1255
1256 2005-11-18  Andy Wingo  <wingo@pobox.com>
1257
1258         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1259         Whoops, check the right fd. Also add some debugging.
1260         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1261         (do_linear_regression): Add a crapload of debugging. Subtract off
1262         the minimum values from the input series to discard unneeded bits.
1263         Use only int arithmetic. There is still double arithmetic when
1264         calculating the intercept that needs fixing. Return boolean to
1265         indicate success; FALSE would mean the domain or range is too
1266         great. Still needs fixes.
1267
1268 2005-11-18  Wim Taymans  <wim@fluendo.com>
1269
1270         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1271         For the current position in stream time, we need to subtract
1272         accumulated time.
1273         
1274         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1275         Release lock before calling the callback function of async
1276         entries.
1277
1278 2005-11-18  Andy Wingo  <wingo@pobox.com>
1279
1280         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1281         Port goes all the way to MAXUINT16.
1282
1283         * gst/net/gstnettimeprovider.c: Make the port range the same as
1284         for the kernel: 0 assigns, otherwise ports are less than
1285         MAXUINT16.
1286
1287         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1288         port change.
1289
1290         * check/net/gstnetclientclock.c (test_functioning): Add the start
1291         of another test. 
1292
1293 2005-11-18  Wim Taymans  <wim@fluendo.com>
1294
1295         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1296         (gst_bin_remove_func), (bin_bus_handler):
1297         * gst/gstbin.h:
1298         Removing a clock provider from a bin, triggers a clock lost message
1299         so that a new clock will be selected.
1300         Adding a clock to a bin triggers a clock provider message.
1301         Make sure we reselect a clock when we received a clock lost message.
1302         Keep a reference to the element that provided the clock.
1303
1304 2005-11-18  Andy Wingo  <wingo@pobox.com>
1305
1306         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1307         the clock initially so it produces values around the base time.
1308         (gst_net_client_clock_class_init): Typo fix.
1309         (gst_net_client_clock_thread): Add note on when the socket gets
1310         closed.
1311
1312 2005-11-17  Wim Taymans  <wim@fluendo.com>
1313
1314         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1315         Free remote and local time arrays.
1316
1317 2005-11-17  Wim Taymans  <wim@fluendo.com>
1318
1319         * gst/net/gstnetclientclock.c: (do_linear_regression),
1320         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1321         Fix compilation, uninitialized vars and a forgotten continue.
1322
1323 2005-11-17  Andy Wingo  <wingo@pobox.com>
1324
1325         * check/Makefile.am (check_PROGRAMS): 
1326         * check/net/gstnetclientclock.c: Add a most minimal test for the
1327         net client clock. More to come later.
1328
1329         * gst/net/gstnet.h: 
1330         * gst/net/Makefile.am: Add netclientclock.
1331
1332         * gst/net/gstnetclientclock.h:
1333         * gst/net/gstnetclientclock.c: New files, implement an untested
1334         GstClock that takes its time from a network time provider.
1335         Implements the algorithm in network-clock.scm.
1336
1337         * tests/network-clock.scm (*window-size*): Rename from
1338         *queue-length*.
1339         * tests/network-clock.scm (network-time): 
1340         * tests/network-clock-utils.scm (q-push): Update callers.
1341
1342 2005-11-17  Wim Taymans  <wim@fluendo.com>
1343
1344         * gst/gstbin.c: (gst_bin_provide_clock_func),
1345         (gst_bin_sort_iterator_new):
1346         And unref the child too..
1347
1348 2005-11-17  Wim Taymans  <wim@fluendo.com>
1349
1350         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1351         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1352         Refactor the sort iterator so it can be used while holding the
1353         LOCK too.
1354         Make clock selection select a clock closest to the source.
1355
1356 2005-11-17  Michael Smith <msmith@fluendo.com>
1357
1358         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1359         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1360         * gst/gstclock.h:
1361           Anonymous structs are a gcc (and some other compilers) extension, so
1362           don't use them. Since this is only for ABI-compatibility, and our
1363           API/ABI freeze is over in a few days, this whole thing will only
1364           last a few days, so don't bother trying to think up a meaningful
1365           name for the struct.
1366
1367 2005-11-17  Andy Wingo  <wingo@pobox.com>
1368
1369         * gst/gstclock.h (GstClock): Add rate and offset properties,
1370         preserving ABI stability. Add rate/offset accessors. Will file bug
1371         for the freeze break.
1372
1373         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1374         and offset, trying to keep precision and avoiding
1375         underflow/overflow.
1376         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1377         functions. Make gst_clock_set_time_adjust obsolete.
1378         (gst_clock_set_time_adjust): Note that this function is obsolete.
1379         Will file bug soon.
1380
1381         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1382         greppable by using GST_PADDING-1+1.
1383
1384 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1385
1386         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1387
1388         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1389           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1390
1391         * gst/gstpadtemplate.h:
1392         * gst/gstpluginfeature.h:
1393           Don't use c++ style comments in headers (#321638).
1394
1395 2005-11-16  Andy Wingo  <wingo@pobox.com>
1396
1397         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1398         buffer.
1399
1400         * check/net/gstnettimeprovider.c: Check to see that the time
1401         provider actually provides times. Works, yo!
1402
1403 2005-11-16  Wim Taymans  <wim@fluendo.com>
1404
1405         * check/Makefile.am:
1406         Enable more tests.
1407
1408         * check/elements/fakesrc.c: (GST_START_TEST):
1409         Set element to NULL before disposing it.
1410
1411 2005-11-16  Andy Wingo  <wingo@pobox.com>
1412
1413         * gst/net/Makefile.am:
1414         * gst/net/gstnet.h:
1415         * gst/net/gstnettimeprovider.c: 
1416         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1417         provider, include it from gstnet.h, and add it to the build.
1418
1419         * gst/net/gstnettimepacket.h: 
1420         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1421         sending and receiving.
1422
1423 2005-11-16  Wim Taymans  <wim@fluendo.com>
1424
1425         * check/Makefile.am:
1426         Enable valgrind check.
1427
1428         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1429         (gst_fake_src_alloc_buffer):
1430         Fix memleak.
1431
1432 2005-11-16  Wim Taymans  <wim@fluendo.com>
1433
1434         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1435         Call parent finalize too.
1436
1437 2005-11-16  Wim Taymans  <wim@fluendo.com>
1438
1439         * check/Makefile.am:
1440         Enable valgrind check that should work fine now.
1441
1442         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1443         * gst/gstqueue.c: (gst_queue_init):
1444         Fix memleaks in pad allocation.
1445
1446 2005-11-16  Andy Wingo  <wingo@pobox.com>
1447
1448         * gst/net/Makefile.am:
1449         * gst/net/gstnet.h: New part of core to hold network elements and
1450         objects. Put in core because it exposes API that applications want
1451         to use. The library is named libgstnet-tempname right now because
1452         of the existing libgstnet in gst-plugins-base. Solution is
1453         probably to rename the one in plugins-base; will file a bug for
1454         the freeze break.
1455
1456         * gst/net/gstnettimeprovider.c: 
1457         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1458         get_time call over the network.
1459
1460         * configure.ac: 
1461         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1462
1463         * check/Makefile.am:
1464         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1465         get additions shortly.
1466
1467 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1468
1469         * gst/gstpad.c: (gst_pad_new_from_static_template):
1470         * gst/gstpad.h:
1471           add gst_pad_new_from_static_template functions
1472         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1473         (gst_check_setup_sink_pad):
1474         * gst/elements/gsttee.c: (gst_tee_init):
1475           and use them
1476
1477 2005-11-16  Wim Taymans  <wim@fluendo.com>
1478
1479         * gst/gstpad.c: (gst_pad_pause_task):
1480         Removed warning, it's not really an error either.
1481
1482 2005-11-16  Wim Taymans  <wim@fluendo.com>
1483
1484         * gst/base/gstbasetransform.c:
1485         (gst_base_transform_prepare_output_buf),
1486         (gst_base_transform_event):
1487         Check if the caps are NULL, this can happen if the element
1488         is shutting down and the pad caps are set to NULL.
1489
1490 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1491
1492         * gst/elements/gsttee.c: (gst_tee_init):
1493           fix pad template leak in tee
1494
1495 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1496
1497         * gst/glib-compat.c: (g_value_dup_gst_object):
1498         * gst/glib-compat.h:
1499         * gst/gstpad.c: (gst_pad_set_property):
1500           use gst_object_ref when setting the pad template; this will
1501           trigger the pad template leaks on GLib 2.6 and the slaves
1502
1503 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1504
1505         * gst/glib-compat.c: (gst_flags_get_first_value):
1506         * gst/glib-compat.h:
1507         * gst/gstregistryxml.c:
1508           remove functions copied from GLib 2.6
1509
1510 2005-11-16  Michael Smith <msmith@fluendo.com>
1511
1512         * gst/Makefile.am:
1513           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1514           do, but only breaks with newer valgrind versions. We're not a
1515           valgrind tool, we have no link-time dependencies on libcoregrind.
1516
1517 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1518
1519         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1520           some debug changes
1521         * gst/gstmessage.h:
1522           typo fixes
1523
1524 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1525
1526         * gst/base/gstbasesrc.c: (gst_base_src_init):
1527         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1528         * gst/gstqueue.c: (gst_queue_init):
1529         * gst/gstregistryxml.c: (load_feature):
1530           Revert all these unrefs, they don't even pass make check !
1531
1532 2005-11-15  Johan Dahlin  <johan@gnome.org>
1533
1534         * gst/base/gstbasesrc.c: (gst_base_src_init):
1535         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1536         * gst/gstqueue.c: (gst_queue_init): 
1537         Free pad templates, fixes a couple of leaks.
1538
1539 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1540
1541         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1542
1543         * gst/gstpad.c: (gst_pad_get_property):
1544           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1545           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1546           (#321452)
1547
1548 2005-11-15  Wim Taymans  <wim@fluendo.com>
1549
1550         * gst/gstevent.c:
1551         Small doc update.
1552
1553 2005-11-15  Andy Wingo  <wingo@pobox.com>
1554
1555         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1556
1557         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1558         using GST_CLOCK_TIME_NONE to disable base time management.
1559         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1560         time if it was NONE before.
1561         (gst_pipeline_change_state): Only munge the base time if
1562         stream_time != GST_CLOCK_TIME_NONE.
1563
1564         * check/gst/gstpipeline.c (test_base_time): Punt around the
1565         problem of the probe not being called, because that's not the
1566         issue I'm looking at. Add a check that setting stream_time to NONE
1567         disables base time management.
1568         
1569 2005-11-15  Wim Taymans  <wim@fluendo.com>
1570
1571         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1572         segment_stop == -1 at startup.
1573
1574         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1575         (gst_base_transform_change_state):
1576         Init segment values at start.
1577
1578 2005-11-15  Wim Taymans  <wim@fluendo.com>
1579
1580         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1581         0 segment values are 0 in any format.
1582
1583         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1584         * gst/base/gstbasetransform.h:
1585         Parse newsegment correctly in basetransform
1586
1587         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1588         Sync to clock using updated segment values.
1589
1590 2005-11-15  Andy Wingo  <wingo@pobox.com>
1591
1592         * check/gst/gstpipeline.c (test_base_time): Add check that the
1593         base time and stream time are reset correctly.
1594
1595 2005-11-15  Wim Taymans  <wim@fluendo.com>
1596
1597         * docs/design/part-TODO.txt:
1598         Some more TODO items.
1599
1600 2005-11-15  Andy Wingo  <wingo@pobox.com>
1601
1602         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1603         error if the user selected "no clock" as the clocking method.
1604
1605         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1606         timestamps with live capture.
1607
1608         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1609         is 0 but we are a live source, timestamp the buffers using the
1610         element's clock.
1611
1612 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1613
1614         * docs/gst/gstreamer-sections.txt:
1615         * gst/gsterror.c:
1616         * gst/gstghostpad.c:
1617         * gst/gstobject.h:
1618         * gst/gstxml.c:
1619           more section docs
1620
1621 2005-11-14  Wim Taymans  <wim@fluendo.com>
1622
1623         * common/gst.supp:
1624           add suppressions from Wim's Debian machine
1625
1626 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1627
1628         * common/gst.supp:
1629           add suppressions from Andy's AMD64 Ubuntu machine
1630
1631 2005-11-14  Andy Wingo  <wingo@pobox.com>
1632
1633         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1634         STATE_LOCK not necessary. Fixes #311489.
1635
1636         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1637         #305291.
1638
1639         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1640         this function is not implemented.
1641
1642 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1643
1644         * gst/base/gstbasetransform.c:
1645         (gst_base_transform_prepare_output_buf):
1646         Ref the source pad caps while we need them.
1647         Fixes (#321386)
1648
1649 2005-11-11  Wim Taymans  <wim@fluendo.com>
1650
1651         * docs/gst/gstreamer-sections.txt:
1652         Added some docs for GstCollectData.
1653
1654         * gst/base/gstadapter.c:
1655         Some small code example fix.
1656
1657         * gst/base/gstcollectpads.c:
1658         * gst/base/gstcollectpads.h:
1659         Document some more.
1660
1661 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1662
1663         * configure.ac: back to HEAD
1664
1665 === release 0.9.5 ===
1666
1667 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1668
1669         * configure.ac:
1670           releasing 0.9.5, "Bike Lunch Day"
1671
1672 2005-11-11  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gstbuffer.c: (_gst_buffer_copy):
1675         Copy more flags.
1676
1677         * gst/gstcaps.c: (gst_caps_is_equal):
1678         Fix some docs.
1679         Make _is_equal fast in the trivial cases.
1680
1681         * gst/gstminiobject.c:
1682         * gst/gstminiobject.h:
1683         More docs. Spifify .h file.
1684
1685         * gst/gstutils.c:
1686         Small doc update.
1687
1688 2005-11-11  Wim Taymans  <wim@fluendo.com>
1689
1690         * gst/base/gstbasetransform.c:
1691         (gst_base_transform_prepare_output_buf),
1692         (gst_base_transform_handle_buffer):
1693         Small cleanups.
1694         If we're processing a buffer and need to allocate an output
1695         buffer, we cannot accept a format change. If we did get a 
1696         format change, we have to alloc a buffer ourselves of the 
1697         right size.
1698
1699 2005-11-11  Wim Taymans  <wim@fluendo.com>
1700
1701         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1702         While checking the flag for reentrancy in the gstcaps function
1703         is nice to detect recursive invocations, it also makes it 
1704         impossible to call getcaps from multiple threads, which must be
1705         possible. So, checking for recursive calls has to go.
1706
1707 2005-11-11  Michael Smith <msmith@fluendo.com>
1708
1709         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1710           Don't sync on buffers that fall partially outside our current
1711           segment. Prevents an assertion failure/abort playing some files.
1712
1713 2005-11-10  Andy Wingo  <wingo@pobox.com>
1714
1715         * check/gst/gstbin.c (test_message_state_changed_children): Style
1716         fix..
1717
1718         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1719         gst_bus_poll with the signal watch. Ensures that poll and a signal
1720         watch see the same messages.
1721
1722         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1723         a poll and a watch at the same time get the same messages.
1724
1725 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1726
1727         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1728         * gst/gstcaps.c: (gst_caps_intersect):
1729           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1730           and it's not needed.
1731
1732 2005-11-10  Wim Taymans  <wim@fluendo.com>
1733
1734         * docs/design/part-TODO.txt:
1735         Updated todo.
1736
1737 2005-11-10  Wim Taymans  <wim@fluendo.com>
1738
1739         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1740         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1741         (gst_base_src_do_sync), (gst_base_src_get_range):
1742         Implement clock sync in base class.
1743
1744 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1745
1746         patch by: Tim-Philipp Müller <tim at centricular dot net>
1747
1748         * gst/gststructure.c: (gst_structure_parse_field),
1749         (gst_structure_from_string):
1750           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1751           so that gst_parse_launch() can deal with spaces in filtered link
1752           caps (fixes #164479)
1753         * check/gst/capslist.h:
1754         * check/gst/gststructure.c: (GST_START_TEST):
1755           add unit tests for this change
1756
1757 2005-11-10  Wim Taymans  <wim@fluendo.com>
1758
1759         * docs/gst/gstreamer-sections.txt:
1760         * gst/gstelement.c:
1761         * gst/gstelement.h:
1762         Fix docs, move some STATE macros to private.
1763
1764 2005-11-10  Wim Taymans  <wim@fluendo.com>
1765
1766         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1767         Added check for bug #317341
1768
1769         * gst/gstbuffer.c:
1770         * gst/gstbuffer.h:
1771         Some more spiffifying.
1772
1773         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1774         Call peer linkfunction if we are a source pad. Totally fixes
1775         #317341
1776
1777         * gst/gstpad.c:
1778         Update docs, source pads should call the peer linkfunction
1779         so they can atomically perform the pad link.
1780
1781 2005-11-09  Wim Taymans  <wim@fluendo.com>
1782
1783         * gst/gstbuffer.c:
1784         * gst/gstbuffer.h:
1785         Uber-spiffy-spiffify some more.
1786
1787 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1788
1789         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1790         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1791         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1792         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1793         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1794         * gst/gstpad.c: (gst_pad_init):
1795           Use GST_DEBUG_FUNCPTR() more extensively.
1796
1797 2005-11-09  Wim Taymans  <wim@fluendo.com>
1798
1799         * gst/gstobject.c: (gst_object_class_init):
1800         * gst/gstobject.h:
1801         Documentation fixes.
1802
1803 2005-11-09  Edward Hervey  <edward@fluendo.com>
1804
1805         * gst/gsttypefindfactory.c:
1806         Fix docs.
1807         
1808 2005-11-09  Edward Hervey  <edward@fluendo.com>
1809
1810         * gst/base/gsttypefindhelper.c:
1811         * gst/gsttypefind.c:
1812         * gst/gsttypefind.h:
1813         Fix docs.
1814
1815 2005-11-09  Wim Taymans  <wim@fluendo.com>
1816
1817         * gst/gstiterator.c:
1818         Fix revision data.
1819
1820         * gst/gsttask.c:
1821         * gst/gsttask.h:
1822         Fix docs.
1823
1824 2005-11-09  Wim Taymans  <wim@fluendo.com>
1825
1826         * gst/gstevent.h:
1827         * gst/gsturi.h:
1828         Fix docs.
1829
1830 2005-11-09  Wim Taymans  <wim@fluendo.com>
1831
1832         * docs/gst/gstreamer-sections.txt:
1833         Moved the message async delivery private lock and cond
1834         to the private section.
1835
1836         * gst/gstmessage.c:
1837         * gst/gstmessage.h:
1838         Fixed docs.
1839
1840 2005-11-09  Edward Hervey  <edward@fluendo.com>
1841
1842         * docs/gst/gstreamer-sections.txt:
1843         * gst/gsturi.c:
1844         * gst/gsturi.h:
1845         Document GstURIHandler
1846
1847 2005-11-09  Wim Taymans  <wim@fluendo.com>
1848
1849         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1850         (gst_iterator_find_custom):
1851         * gst/gstiterator.h:
1852         Fix iterator docs.
1853
1854 2005-11-09  Wim Taymans  <wim@fluendo.com>
1855
1856         * gst/gstbin.h:
1857         Document another field.
1858
1859         * gst/gststructure.c:
1860         * gst/gststructure.h:
1861         Document.
1862
1863 2005-11-09  Wim Taymans  <wim@fluendo.com>
1864
1865         * gst/gstbin.h:
1866         Documented structs.
1867
1868 2005-11-09  Wim Taymans  <wim@fluendo.com>
1869
1870         * docs/gst/gstreamer-sections.txt:
1871         Added some new macros.
1872
1873         * gst/gstclock.c:
1874         * gst/gstclock.h:
1875         * gst/gstobject.h:
1876         Docs updates.
1877
1878 2005-11-09  Wim Taymans  <wim@fluendo.com>
1879
1880         * docs/design/part-TODO.txt:
1881         Some more items for the TODO
1882
1883         * gst/gstcaps.c:
1884         * gst/gstcaps.h:
1885         Document GstCaps.
1886
1887 2005-11-09  Andy Wingo  <wingo@pobox.com>
1888
1889         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1890         to work on something else now tho...
1891
1892         * gst/base/gstadapter.c: More adapter docs.
1893
1894         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1895         (gst_file_sink_stop): New functions, replace the state change
1896         handler.
1897         (gst_file_sink_class_init): Hook up the start and stop functions.
1898         (gst_file_sink_base_init): Don't set the state change handler any
1899         more. It was a bit ugly too, being set from here...
1900         (gst_file_sink_get_property, gst_file_sink_set_property):
1901         Cleanups...
1902         (gst_file_sink_set_location): More robust check that doesn't call
1903         GST_STATE. Ugggggg.
1904
1905 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1906
1907         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1908           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1909
1910 2005-11-08  Wim Taymans  <wim@fluendo.com>
1911
1912         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1913         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1914         (gst_base_sink_chain), (gst_base_sink_change_state):
1915         * gst/base/gstbasesink.h:
1916         * gst/base/gstbasesrc.h:
1917         * gst/gstelement.h:
1918         * gst/gstevent.h:
1919         Avoid excessive typechecking in macros.
1920
1921         * gst/gstminiobject.c: (gst_mini_object_get_type),
1922         (gst_mini_object_init), (gst_mini_object_new),
1923         (gst_mini_object_free):
1924         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1925         (gst_object_finalize):
1926         Remove cruft code, optimize alloc_trace.
1927
1928 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1929
1930         * docs/faq/gst-uninstalled:
1931           fix up PS1 for systems that try to reset it
1932
1933 2005-11-07  Wim Taymans  <wim@fluendo.com>
1934
1935         * gst/base/gstbasesrc.c: (gst_base_src_init),
1936         (gst_base_src_get_range):
1937         Set the segment_end to -1 initially. Fixed typefind.
1938
1939 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1940
1941         * gst/base/gstadapter.c:
1942           Debug category should be 'adapter', not 'GstAdapter'.
1943           
1944         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1945         (gst_collectpads_class_init), (gst_collectpads_init),
1946         (gst_collectpads_peek), (gst_collectpads_pop),
1947         (gst_collectpads_event), (gst_collectpads_chain):
1948           Add debug category and some debugging output. Use boilerplate
1949           macros. Remove some extraneous words from docs.
1950
1951 2005-11-05  Andy Wingo  <wingo@pobox.com>
1952
1953         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1954         macro.
1955
1956 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1957
1958         * docs/gst/gstreamer-sections.txt:
1959         * gst/gstcaps.h:
1960         * gst/gstinfo.c:
1961         * gst/gstminiobject.h:
1962         * gst/gstobject.h:
1963         * gst/gstutils.h:
1964           more docs added
1965
1966 2005-11-04  Wim Taymans  <wim@fluendo.com>
1967
1968         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1969         Small update to stop at the configured segment_end
1970         position.
1971
1972 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1973
1974         * gst/gstregistry.c:
1975         * gst/gstregistry.h:
1976           added missing docs
1977
1978 2005-11-04  Edward Hervey  <edward@fluendo.com>
1979
1980         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1981         Check if we are doing a segment seek and have arrived at the
1982         end of that segment.
1983
1984 2005-11-04  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1987         Don't leak a mutex unlock in case of an error.
1988
1989         * gst/gstbus.h:
1990         Doc fixes.
1991
1992 2005-11-04  Wim Taymans  <wim@fluendo.com>
1993
1994         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1995         (gst_bus_post):
1996         Get the context to wake up only once.
1997
1998 2005-11-03  Wim Taymans  <wim@fluendo.com>
1999
2000         * check/states/sinks.c: (GST_START_TEST):
2001         Uncomment fixed check.
2002
2003         * docs/design/part-TODO.txt:
2004         Updated TODO.
2005
2006         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2007         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2008         (gst_base_sink_get_position):
2009         If we are going to PLAYING, post the right pending state
2010         when we post the intermediate paused message.
2011
2012         * gst/gstelement.c: (gst_element_continue_state),
2013         (gst_element_set_state_func), (gst_element_change_state):
2014         Don't post state changes that were between the same state
2015         and were not ASYNC.
2016
2017 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2018
2019         * docs/gst/gstreamer-sections.txt:
2020         * gst/gstcaps.h:
2021         * gst/gstinfo.c:
2022         * gst/gstminiobject.h:
2023         * gst/gstobject.h:
2024         * gst/gstutils.h:
2025           more docs and doc style fixes
2026
2027 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2028
2029         * docs/gst/gstreamer-sections.txt:
2030         * gst/gstelement.c:
2031         * gst/gstminiobject.c:
2032         doc fixes
2033
2034 2005-11-03  Andy Wingo  <wingo@pobox.com>
2035
2036         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2037         state-changed messages actually have the right order and the right
2038         values.
2039
2040 2005-11-03  Wim Taymans  <wim@fluendo.com>
2041
2042         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2043         Added some more checks. Specifically the case where NO_PREROLL
2044         elements are in the pipeline.
2045
2046         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2047         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2048         (gst_base_sink_get_position):
2049         Post READY->PAUSED state change messages too.
2050         Fix bug where VOID was posted as pending state...
2051
2052         * gst/gstbin.c: (gst_bin_recalc_state):
2053         use _element_continue_state() to continue the state change.
2054
2055         * gst/gstelement.c: (gst_element_continue_state),
2056         (gst_element_commit_state), (gst_element_set_state_func),
2057         (gst_element_change_state), (gst_element_change_state_func):
2058         Lots of state change cleanups, assign the STATE_RETURN in
2059         a new continue_state() function that also propagates the
2060         last return value from a state change to the app.
2061         Update some debug statements with proper category.
2062
2063 2005-11-03  Wim Taymans  <wim@fluendo.com>
2064
2065         * docs/design/part-events.txt:
2066         * docs/design/part-gstpipeline.txt:
2067         * docs/design/part-messages.txt:
2068         * docs/design/part-overview.txt:
2069         * docs/design/part-seeking.txt:
2070         * docs/design/part-states.txt:
2071         * docs/design/part-trickmodes.txt:
2072         * docs/manual/advanced-position.xml:
2073         Small docs updates.
2074
2075         * gst/gstobject.h:
2076         People think !! is ugly, this looks better.
2077
2078         * gst/gstpad.c: (gst_pad_set_blocked_async):
2079         Remove !! since it's fixed elsewhere now.
2080
2081 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2082
2083         * gst/gstminiobject.h:
2084         * gst/gstobject.h:
2085           Add !! to _FLAG_IS_SET macros to make the result boolean.
2086
2087 2005-11-03  Edward Hervey  <edward@fluendo.com>
2088
2089         * gst/gstpad.c: (gst_pad_set_blocked_async):
2090         comparing a flag and a gboolean rarely returns coherent results...
2091         Added two characters (!!) to make that work correctly.
2092         
2093 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2094
2095         * gst/gstbus.c: (gst_bus_class_init):
2096           Fix some typos.
2097           
2098         * gst/gstqueue.c: (gst_queue_loop):
2099           Don't assume a miniobject that isn't a buffer is an
2100           event (it could be that there is a refcounting
2101           problem somewhere and the pointer is stale and
2102           refers to an already destroyed miniobject).
2103
2104 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2105
2106         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2107
2108 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2109
2110         * docs/manual/advanced-position.xml:
2111           Update seek example and explanations to current 0.9 API.
2112
2113         * gst/elements/gsttypefindelement.c:
2114         (gst_type_find_element_activate):
2115           Remove FIXME comment now that the found caps
2116           are unreffed.
2117
2118 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2119
2120         * gst/gstregistryxml.c: (load_feature):
2121           Add another GST_STR_NULL instance
2122
2123 2005-11-02  Edward Hervey  <edward@fluendo.com>
2124
2125         * gst/gstpad.c: (handle_pad_block):
2126         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2127         
2128 2005-11-02  Wim Taymans  <wim@fluendo.com>
2129
2130         * gst/gstbin.c:
2131         Fix typo in docs.
2132
2133         * gst/gstelement.c: (gst_element_commit_state):
2134         Remove unused value.
2135
2136         * gst/gstiterator.c:
2137         Mention that the returned element is reffed in the docs.
2138
2139 2005-11-02  Wim Taymans  <wim@fluendo.com>
2140
2141         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2142         (gst_pad_push), (gst_pad_push_event):
2143         Unlock blocked pads when they are flushed.
2144
2145 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2146
2147         * docs/README:
2148         * docs/gst/gstreamer-sections.txt:
2149         * gst/gstbin.c:
2150           doc updates
2151         * gst/gstregistry.c: (gst_registry_scan_path_level):
2152           fix for a nasty little missed situation where an installed plug-in
2153           which was in the cache did not get overridden by an uninstalled one
2154           which was earlier in the plugin path because the newly created plugin
2155           for the uninstalled one (not in the registry) didn't get its
2156           ->registered set to TRUE
2157
2158 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2159
2160         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2161         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2162         (gst_collectpads_is_active), (gst_collectpads_collect),
2163         (gst_collectpads_collect_range), (gst_collectpads_start),
2164         (gst_collectpads_stop), (gst_collectpads_peek),
2165         (gst_collectpads_pop), (gst_collectpads_available),
2166         (gst_collectpads_read), (gst_collectpads_flush):
2167           Guard public API with assertions.
2168         
2169         * gst/gstpad.c:
2170           Fix docs for gst_pad_set_link_function().
2171
2172 2005-11-02  Johan Dahlin  <johan@gnome.org>
2173
2174         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2175         Unref found_caps after we used it.
2176
2177 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2178
2179         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2180           Don't try to ref NULL.
2181
2182 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2183
2184         * win32/common/config.h.in:
2185           provide a GST_FUNCTION that just gives a string for now
2186
2187 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2188
2189         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2190         (gst_object_flags_get_type), (register_gst_bin_flags),
2191         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2192         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2193         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2194         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2195         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2196         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2197         (gst_clock_flags_get_type), (register_gst_state),
2198         (gst_state_get_type), (register_gst_state_change_return),
2199         (gst_state_change_return_get_type), (register_gst_state_change),
2200         (gst_state_change_get_type), (register_gst_element_flags),
2201         (gst_element_flags_get_type), (register_gst_core_error),
2202         (gst_core_error_get_type), (register_gst_library_error),
2203         (gst_library_error_get_type), (register_gst_resource_error),
2204         (gst_resource_error_get_type), (register_gst_stream_error),
2205         (gst_stream_error_get_type), (register_gst_event_type),
2206         (gst_event_type_get_type), (register_gst_seek_type),
2207         (gst_seek_type_get_type), (register_gst_seek_flags),
2208         (gst_seek_flags_get_type), (register_gst_format),
2209         (gst_format_get_type), (register_gst_index_certainty),
2210         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2211         (gst_index_entry_type_get_type),
2212         (register_gst_index_lookup_method),
2213         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2214         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2215         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2216         (gst_index_flags_get_type), (register_gst_debug_level),
2217         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2218         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2219         (gst_iterator_result_get_type), (register_gst_iterator_item),
2220         (gst_iterator_item_get_type), (register_gst_message_type),
2221         (gst_message_type_get_type), (register_gst_mini_object_flags),
2222         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2223         (gst_pad_link_return_get_type), (register_gst_flow_return),
2224         (gst_flow_return_get_type), (register_gst_activate_mode),
2225         (gst_activate_mode_get_type), (register_gst_pad_direction),
2226         (gst_pad_direction_get_type), (register_gst_pad_flags),
2227         (gst_pad_flags_get_type), (register_gst_pad_presence),
2228         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2229         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2230         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2231         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2232         (gst_plugin_flags_get_type), (register_gst_rank),
2233         (gst_rank_get_type), (register_gst_query_type),
2234         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2235         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2236         (gst_tag_flag_get_type), (register_gst_task_state),
2237         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2238         (gst_alloc_trace_flags_get_type),
2239         (register_gst_type_find_probability),
2240         (gst_type_find_probability_get_type), (register_gst_uri_type),
2241         (gst_uri_type_get_type), (register_gst_parse_error),
2242         (gst_parse_error_get_type):
2243         * win32/common/gstversion.h:
2244           update win32 copies
2245
2246 2005-11-01  Luca Ognibene  <luogni@tin.it>
2247
2248         * gst/gst.c:
2249           fix docs. popt is dead, long live GOption.
2250
2251 2005-10-31  Wim Taymans  <wim@fluendo.com>
2252
2253         * gst/gstbuffer.h:
2254         Small doc fix.
2255
2256 2005-10-31  Andy Wingo  <wingo@pobox.com>
2257
2258         * Boo!
2259
2260         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2261
2262         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2263         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2264         the possibility of deadlocks here if code calling notify() or
2265         set() has a lock that can be taken in another notify handler (ABBA
2266         with class lock and e.g. python GIL state lock).
2267
2268 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2269
2270         * gst/gstbus.c: Doc updates.
2271
2272 2005-10-28  Wim Taymans  <wim@fluendo.com>
2273
2274         * docs/design/part-TODO.txt:
2275         * gst/gstiterator.c:
2276         * gst/gstsystemclock.c:
2277         * gst/gstsystemclock.h:
2278         Doc updates.
2279
2280 2005-10-28  Edward Hervey  <edward@fluendo.com>
2281
2282         * docs/gst/gstreamer-docs.sgml:
2283         * docs/gst/gstreamer-sections.txt:
2284         the GstURIType documentation page is private, it only defines GstURIType
2285         which should be defined in the GstURIHandler page
2286         
2287 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2288
2289         * gst/gstbin.c: (gst_bin_class_init):
2290         * gst/gstbin.h:
2291         * gst/gstutils.c:
2292         Documentation updates.
2293
2294 2005-10-28  Wim Taymans  <wim@fluendo.com>
2295
2296         * docs/gst/gstreamer-sections.txt:
2297         * gst/gstclock.c:
2298         * gst/gstclock.h:
2299         Documented the clocks.
2300
2301 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2302
2303         * docs/gst/gstreamer-sections.txt:
2304           move some macros to private sections
2305         * gst/gstminiobject.c:
2306         * gst/gstminiobject.h:
2307           add descriptions provided by ds and some more
2308         * gst/gstpad.h:
2309           mark macro as to be removed
2310
2311 2005-10-28  Wim Taymans  <wim@fluendo.com>
2312
2313         * docs/design/part-TODO.txt:
2314         Add an item to TODO.
2315
2316         * gst/gstiterator.c: (gst_iterator_fold),
2317         (gst_iterator_find_custom):
2318         * gst/gstiterator.h:
2319         Add iterator docs.
2320
2321 2005-10-28  Wim Taymans  <wim@fluendo.com>
2322
2323         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2324         (gst_base_transform_init):
2325         Don't leak class.
2326
2327         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2328         An EOS event marks the queue as completely filled.
2329
2330 2005-10-27  Wim Taymans  <wim@fluendo.com>
2331
2332         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2333         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2334         Some more debugging.
2335
2336         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2337         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2338         (gst_base_transform_event), (gst_base_transform_getrange),
2339         (gst_base_transform_chain):
2340         * gst/base/gstbasetransform.h:
2341         Fix debugging,
2342         Protect transform and concurrent buffer alloc with a new lock.
2343         Try not to break ABI/API.
2344
2345 2005-10-27  Wim Taymans  <wim@fluendo.com>
2346
2347         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2348         (gst_base_src_init), (gst_base_src_query),
2349         (gst_base_src_default_newsegment),
2350         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2351         (gst_base_src_send_event), (gst_base_src_event_handler),
2352         (gst_base_src_pad_get_range), (gst_base_src_loop),
2353         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2354         (gst_base_src_start), (gst_base_src_deactivate),
2355         (gst_base_src_activate_push), (gst_base_src_change_state):
2356         Move some stuff around and cleanup things.
2357
2358 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2359
2360         * gst/base/gstbasesrc.c: (gst_base_src_query):
2361           Add missing break statements.
2362
2363 2005-10-27  Wim Taymans  <wim@fluendo.com>
2364
2365         * check/gst/gstbin.c: (GST_START_TEST):
2366         An extra refcount is taken in basesrc.
2367
2368         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2369         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2370         (gst_base_src_loop):
2371         Small cleanups, check for flushing after being unlocked from the 
2372         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2373         Don't send out EOS when going to READY.
2374
2375 2005-10-27  Wim Taymans  <wim@fluendo.com>
2376
2377         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2378         (gst_base_sink_get_position):
2379         Some more debug.
2380
2381         * gst/gstbin.c: (message_check), (bin_replace_message),
2382         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2383         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2384         (bin_query_duration_init), (bin_query_duration_fold),
2385         (bin_query_duration_done), (bin_query_generic_fold),
2386         (gst_bin_query):
2387         * tools/gst-launch.c: (main):
2388         Remove old option.
2389
2390 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2391
2392         * examples/controller/audio-example.c: (main):
2393         * examples/queue/queue.c: (event_loop):
2394         * gst/base/gstbasetransform.h:
2395         * gst/gstelement.c: (gst_element_send_event):
2396         * gst/gstevent.h:
2397         * gst/gstpad.c: (gst_pad_send_event):
2398           fixing examples
2399           fixing docs typos
2400           changing log priority in error situations
2401
2402 2005-10-25  Wim Taymans  <wim@fluendo.com>
2403
2404         * gst/gstbin.c: (message_check), (bin_replace_message),
2405         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2406         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2407         (bin_query_duration_init), (bin_query_duration_fold),
2408         (bin_query_duration_done), (bin_query_generic_fold),
2409         (gst_bin_query):
2410         Some doc and debug updates.
2411         Cache previously requested query DURATION for speed. invalidate
2412         cached duration if element posts a DURATION message.
2413
2414 2005-10-25  Wim Taymans  <wim@fluendo.com>
2415
2416         * docs/design/part-TODO.txt:
2417         Update TODO.
2418
2419         * gst/gstbin.c: (message_check), (bin_replace_message),
2420         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2421         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2422         (bin_query_duration_init), (bin_query_duration_fold),
2423         (bin_query_duration_done), (bin_query_generic_fold),
2424         (gst_bin_query):
2425         Handle SEGMENT_START/DONE messages correctly.
2426         More evolved query algorithm that handles duration queries
2427         correctly.
2428
2429         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2430         (gst_element_get_state_func), (gst_element_abort_state),
2431         (gst_element_commit_state), (gst_element_lost_state):
2432         Some more debugging.
2433
2434         * gst/gstmessage.h:
2435         Added doc.
2436
2437 2005-10-25  Wim Taymans  <wim@fluendo.com>
2438
2439         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2440         Don't use invalid stream_time.
2441
2442         * gst/gstevent.c: (gst_event_new_newsegment):
2443         stream_time in newsegment cannot be undefined.
2444
2445 2005-10-24  Wim Taymans  <wim@fluendo.com>
2446
2447         * gst/gstbus.c:
2448         Doc fix.
2449
2450         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2451         (gst_queue_loop):
2452         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2453
2454 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2455
2456         * docs/libs/tmpl/gstdparam.sgml:
2457         * docs/libs/tmpl/gstdplinint.sgml:
2458         * docs/libs/tmpl/gstdpman.sgml:
2459         * docs/libs/tmpl/gstdpsmooth.sgml:
2460         * docs/libs/tmpl/gstunitconvert.sgml:
2461           these are obsolete
2462
2463 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2464
2465         * configure.ac:
2466           back to HEAD
2467
2468 === release 0.9.4 ===
2469
2470 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2471
2472         * configure.ac:
2473           releasing 0.9.4, "Tyrannosaurus Rex"
2474
2475 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2476
2477         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2478         (gst_file_sink_get_current_offset):
2479           Use fseeko() and ftello() if available. When falling back on
2480           lseek() to get the current offset, fflush() first to make sure
2481           everything is up-to-date and we get the right offset.
2482
2483 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2484
2485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2486         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2487         * gst/gsterror.c: (_gst_stream_errors_init):
2488         * gst/gsterror.h:
2489         * gst/gstqueue.c: (gst_queue_loop):
2490         * po/POTFILES.in:
2491           remove prematurely added error category and clean up the instances
2492
2493 2005-10-21  Wim Taymans  <wim@fluendo.com>
2494
2495         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2496         (gst_base_sink_get_position), (gst_base_sink_query),
2497         (gst_base_sink_change_state):
2498         Simply set the right flag when going to playing, that's all
2499         we need to do instead of calling a function inside the object
2500         lock (that could take the lock as well and deadlock)
2501
2502 2005-10-21  Wim Taymans  <wim@fluendo.com>
2503
2504         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2505         (gst_base_src_loop):
2506         Don't warn, the peer element knows what to do best when
2507         the seek failed, it might try something else.
2508
2509 2005-10-21  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/base/gstbasesrc.c: (gst_base_src_init),
2512         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2513         Fix seeking.
2514
2515 2005-10-21  Wim Taymans  <wim@fluendo.com>
2516
2517         * docs/design/part-segments.txt:
2518         More docs.
2519
2520         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2521         Correctly set caps, even on the subbufer.
2522
2523 2005-10-21  Wim Taymans  <wim@fluendo.com>
2524
2525         * docs/gst/gstreamer-docs.sgml:
2526         * docs/gst/gstreamer-sections.txt:
2527         * gst/gstelement.h:
2528         * gst/gstevent.c:
2529         * gst/gstevent.h:
2530         * gst/gstmessage.h:
2531         * gst/gstpad.h:
2532         * gst/gstparse.h:
2533         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2534         * gst/gsttask.h:
2535         * gst/gstutils.c:
2536         * gst/gstutils.h:
2537         And 2% more doc coverage.
2538
2539 2005-10-21  Andy Wingo  <wingo@pobox.com>
2540
2541         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2542         position reporting.
2543
2544 2005-10-20  Wim Taymans  <wim@fluendo.com>
2545
2546         * gst/gsterror.c: (gst_error_get_message):
2547         * gst/gstparse.h:
2548         * gst/gstquery.h:
2549         * gst/gststructure.c:
2550         * gst/gsttrace.c:
2551         * gst/gstutils.c:
2552         More docs.
2553
2554 2005-10-20  Wim Taymans  <wim@fluendo.com>
2555
2556         * gst/gstbuffer.h:
2557         * gst/gstpad.c:
2558         * gst/gstparse.c:
2559         Another 1% more coverage.
2560
2561 2005-10-20  Wim Taymans  <wim@fluendo.com>
2562
2563         * docs/gst/gstreamer-sections.txt:
2564         * gst/gstelement.c: (gst_element_get_state_func),
2565         (gst_element_abort_state), (gst_element_commit_state),
2566         (gst_element_lost_state):
2567         * gst/gstevent.h:
2568         * gst/gstquery.c: (gst_query_set_position),
2569         (gst_query_parse_position), (gst_query_set_duration),
2570         (gst_query_parse_duration), (gst_query_new_convert):
2571         * gst/gstutils.c:
2572         Yay! 1% more docs coverage.
2573
2574 2005-10-20  Wim Taymans  <wim@fluendo.com>
2575
2576         * gst/gstpad.h:
2577         * gst/gstquery.c: (gst_query_set_position),
2578         (gst_query_parse_position), (gst_query_set_duration),
2579         (gst_query_parse_duration), (gst_query_new_convert):
2580         * gst/gstquery.h:
2581         * gst/gstutils.c: (gst_element_query_convert):
2582         * gst/gstutils.h:
2583         Docs and consistency fixes.
2584
2585 2005-10-20  Wim Taymans  <wim@fluendo.com>
2586
2587         * gst/gsttask.c:
2588         * gst/gsttask.h:
2589         More docs.
2590
2591 2005-10-20  Wim Taymans  <wim@fluendo.com>
2592
2593         * gst/gstbin.c: (message_check), (bin_replace_message),
2594         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2595         (update_degree), (gst_bin_sort_iterator_next),
2596         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2597         Reworked the message handling a bit, cache the messages instead of
2598         only the senders. alows us to do more in the future.
2599
2600 2005-10-20  Wim Taymans  <wim@fluendo.com>
2601
2602         * docs/design/part-TODO.txt:
2603         Update TODO
2604
2605         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2606         (gst_base_sink_query):
2607         Don't use clock time to report position when in EOS.
2608
2609 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2610
2611         * tools/gst-inspect.c: (print_interfaces),
2612         (print_element_properties_info), (print_element_info):
2613           Fix interface output with gst-inspect -a; don't print
2614           newlines after double/float properties.
2615
2616 2005-10-20  Wim Taymans  <wim@fluendo.com>
2617
2618         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2619         (gst_base_sink_query):
2620         Speed up current position calculation.
2621
2622         * gst/base/gstbasesrc.c: (gst_base_src_query),
2623         (gst_base_src_default_newsegment):
2624         Correctly set stream position in newsegment.
2625
2626         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2627         (update_degree), (gst_bin_sort_iterator_next),
2628         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2629         * gst/gstmessage.c: (gst_message_new_custom):
2630         Clean up debugging info
2631
2632         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2633         (gst_queue_loop), (gst_queue_handle_src_query):
2634         Pause task faster.
2635
2636 2005-10-19  Wim Taymans  <wim@fluendo.com>
2637
2638         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2639         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2640         Fix query handling again.
2641
2642 2005-10-19  Wim Taymans  <wim@fluendo.com>
2643
2644         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2645         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2646         * gst/base/gstbasesrc.c: (gst_base_src_query):
2647         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2648         * gst/elements/gsttypefindelement.c:
2649         (gst_type_find_handle_src_query), (find_element_get_length),
2650         (gst_type_find_element_activate):
2651         API change fix.
2652
2653         * gst/gstquery.c: (gst_query_new_position),
2654         (gst_query_set_position), (gst_query_parse_position),
2655         (gst_query_new_duration), (gst_query_set_duration),
2656         (gst_query_parse_duration), (gst_query_set_segment),
2657         (gst_query_parse_segment):
2658         * gst/gstquery.h:
2659         Bundling query position/duration is not a good idea since duration
2660         does not change much and we don't want to recalculate it for every
2661         position query, so they are separated again..
2662         Base value in segment query is not needed.
2663
2664         * gst/gstqueue.c: (gst_queue_handle_src_query):
2665         * gst/gstutils.c: (gst_element_query_position),
2666         (gst_element_query_duration), (gst_pad_query_position),
2667         (gst_pad_query_duration):
2668         * gst/gstutils.h:
2669         Updates for query API change.
2670         Added some docs here and there.
2671
2672 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2673
2674         * check/gst/gstbin.c: (GST_START_TEST):
2675         * check/gst/gstghostpad.c: (GST_START_TEST):
2676         * check/pipelines/cleanup.c: (GST_START_TEST):
2677           wait on thread to die so we can check refcount correctly
2678
2679 2005-10-18  Wim Taymans  <wim@fluendo.com>
2680
2681         * check/pipelines/stress.c: (GST_START_TEST):
2682         Make check a little more time consuming.
2683
2684 2005-10-18  Wim Taymans  <wim@fluendo.com>
2685
2686         * check/Makefile.am:
2687         * check/pipelines/stress.c: (GST_START_TEST),
2688         (simple_launch_lines_suite), (main):
2689         Small state change torture test.
2690
2691         * docs/design/part-states.txt:
2692         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2693         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2694         (gst_base_sink_change_state):
2695         Never take state lock from streaming thread, clean up ugly
2696         hacks. Unfortunatly core does not yet support nice ways to
2697         async commit state.
2698         
2699         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2700         (bin_bus_handler):
2701         Start state recalc if a STATE_DIRTY message is posted, but only
2702         on the toplevel bin.
2703
2704         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2705         (gst_element_get_state_func), (gst_element_abort_state),
2706         (gst_element_commit_state), (gst_element_lost_state),
2707         (gst_element_set_state_func), (gst_element_change_state):
2708         * gst/gstelement.h:
2709         State variables are now protected with the LOCK, the state
2710         lock is only used to serialize _set_state().
2711
2712 2005-10-18  Wim Taymans  <wim@fluendo.com>
2713
2714         * check/gst/gstbin.c: (GST_START_TEST):
2715         * check/gst/gstmessage.c: (GST_START_TEST):
2716         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2717         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2718         (bin_bus_handler):
2719         * gst/gstelement.c: (gst_element_abort_state),
2720         (gst_element_commit_state), (gst_element_lost_state):
2721         * gst/gstmessage.c: (gst_message_new_state_changed),
2722         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2723         (gst_message_new_segment_done), (gst_message_new_duration),
2724         (gst_message_parse_state_changed),
2725         (gst_message_parse_segment_start),
2726         (gst_message_parse_segment_done), (gst_message_parse_duration):
2727         * gst/gstmessage.h:
2728         * tools/gst-launch.c: (event_loop):
2729         Seriously, this is better than a previous commit as we only need
2730         to notify the fact that an element changed state in a streaming
2731         thread, marking the state of the parents dirty, hence the 
2732         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2733         message.
2734
2735 2005-10-18  Wim Taymans  <wim@fluendo.com>
2736
2737         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2738         (gst_bin_recalc_func):
2739         * gst/gstelement.c: (gst_element_set_clock),
2740         (gst_element_abort_state), (gst_element_lost_state):
2741         Cleanups, prepare for state change fixes.
2742
2743 2005-10-18  Wim Taymans  <wim@fluendo.com>
2744
2745         * gst/gstbin.h:
2746         * gst/gstelement.c: (gst_element_class_init),
2747         (gst_element_set_state), (gst_element_set_state_func):
2748         * gst/gstelement.h:
2749         Pending ABI changes.
2750         GThreadPool in GstBinClass to monitor async state changes.
2751         state_cookie in GstElement to detect concurrent gst/set state.
2752         set_state is now virtual too in case a very complicated element
2753         has to be constructed.
2754
2755 2005-10-18  Wim Taymans  <wim@fluendo.com>
2756
2757         * check/gst/gstbin.c: (GST_START_TEST):
2758         * check/gst/gstmessage.c: (GST_START_TEST):
2759         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2760         * gst/gstbin.c: (bin_bus_handler):
2761         * gst/gstelement.c: (gst_element_commit_state),
2762         (gst_element_lost_state):
2763         * gst/gstmessage.c: (gst_message_new_state_changed),
2764         (gst_message_new_segment_start), (gst_message_new_segment_done),
2765         (gst_message_new_duration), (gst_message_parse_state_changed),
2766         (gst_message_parse_segment_start),
2767         (gst_message_parse_segment_done), (gst_message_parse_duration):
2768         * gst/gstmessage.h:
2769         * tools/gst-launch.c: (event_loop):
2770         Make messages future proof.
2771         state-change gets a flag if it was a message comming from the
2772         streaming thread.
2773         segment-start/stop can also be specified in other formats.
2774         A message to notify an app that a pipeline changed playback 
2775         duration.
2776         Also fix a GstMessage leak in -launch
2777
2778 2005-10-18  Andy Wingo  <wingo@pobox.com>
2779
2780         * gst/gstelement.c (gst_element_dispose): More helpful message.
2781
2782 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2783
2784         reviewed by: <delete if not using a buddy>
2785
2786         * common/gtk-doc.mak:
2787
2788 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2789
2790         * gst/gstregistry.c: (gst_registry_scan_path_level):
2791           unref a plug-in we get that was already initialized
2792
2793 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2794
2795         * docs/gst/gstreamer-sections.txt:
2796         * docs/libs/gstreamer-libs-sections.txt:
2797         * gst/gstelement.h:
2798           add new api entries
2799           hide internal macro
2800
2801 2005-10-17  Andy Wingo  <wingo@pobox.com>
2802
2803         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2804         cleanup.
2805
2806         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2807
2808         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2809
2810         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2811         (gst_element_get_state_func): Better debug message.
2812         (gst_element_commit_state): s/INFO/DEBUG/.
2813         (gst_element_lost_state, gst_element_change_state): 
2814
2815         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2816         (gst_message_new_custom): s/INFO/LOG/.
2817
2818 2005-10-17  Michael Smith <msmith@fluendo.com>
2819
2820         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2821           Check if end time is valid using end time, not start time.
2822
2823 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2824
2825         * check/gst-libs/controller.c: (GST_START_TEST),
2826         (gst_controller_suite):
2827         * libs/gst/controller/gstcontroller.c:
2828         (gst_controlled_property_set_interpolation_mode):
2829         * libs/gst/controller/gstcontroller.h:
2830         * libs/gst/controller/gstinterpolation.c:
2831         * testsuite/controller/.cvsignore:
2832         * testsuite/controller/Makefile.am:
2833         * testsuite/controller/interpolator.c:
2834           merge controller testsuites
2835           fix broken tests
2836           remove mem-chunk from docs
2837
2838 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2839
2840         * gst/gstmemchunk.c:
2841         * gst/gstmemchunk.h:
2842         * gst/gsttrashstack.c:
2843         * gst/gsttrashstack.h:
2844           out.  get out.  you're fired.  to the Attic !
2845
2846 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2847
2848         * gst/gstcaps.c: (gst_caps_intersect):
2849           fix signedness issues in a (hopefully) correct way
2850         * gst/gstelement.c: (gst_element_pads_activate):
2851           some debugging
2852         * gst/gstobject.c: (gst_object_set_parent):
2853           some debugging
2854
2855 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2856
2857         * gst/gstvalue.h: Fix prototypes.
2858
2859 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2860
2861         * docs/gst/gstreamer-sections.txt:
2862         * gst/gst.c: (gst_version_string):
2863         * gst/gst.h:
2864         * gst/gstversion.h.in:
2865         * win32/common/libgstreamer.def:
2866           add gst_version_string ()
2867
2868 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2869
2870         * configure.ac:
2871           clean up further
2872         * gst/gst.c: (init_post):
2873         * win32/common/config.h.in:
2874           it's PLUGINDIR now
2875         * gst/gstcaps.c: (gst_caps_intersect):
2876           use gint64, the range could be bigger than a guint
2877
2878 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2879
2880         * gst/gstclock.h:
2881           document potential problem in 2038
2882
2883 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2884
2885         * gst/gstcaps.c: (gst_caps_intersect):
2886           Fix guint j diving under 0
2887
2888 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2889
2890         * configure.ac:
2891         * win32/common/config.h:
2892         * win32/common/config.h.in:
2893           check for process.h, declares getpid() on Windows
2894         * gst/gstinfo.c:
2895           include process.h if we have it
2896         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2897         * gst/gstmemchunk.h:
2898           fix signedness issues
2899         * win32/common/libgstreamer.def:
2900           fix get_type's
2901
2902 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2903
2904         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2905         fix. Because of unsigned ints, caps intersection was going nuts and
2906         trying to access structures with G_MAXUINT index. That fixes
2907         videotestsrc ! ffmpegcolorspace ! fakesink
2908         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2909         consistency.
2910
2911 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2912
2913         * configure.ac:
2914           use the gettext macro
2915         * gst/elements/gstelements.c:
2916         * gst/gst.c:
2917         * gst/indexers/gstindexers.c:
2918           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2919         * win32/common/config.h:
2920           updated config.h
2921         * win32/common/config.h.in:
2922           add the template to generate config.h
2923         * win32/common/gstenumtypes.c:
2924         * win32/common/gstversion.h:
2925           updated copies
2926
2927 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2928
2929         * gst/gst.c: (gst_version):
2930         * gst/gstversion.h.in:
2931           add the nano
2932
2933 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2934
2935         * gst/gstevent.h:
2936           Oops, add missing closing bracket.
2937
2938 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2939
2940         * configure.ac:
2941           use common m4's for argument checking
2942
2943 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2944
2945         * docs/gst/gstreamer-sections.txt:
2946         * gst/gstevent.h:
2947           Add GST_EVENT_TYPE_NAME() macro.
2948
2949 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2950
2951         * gst/gstinfo.c:
2952         * gst/gstpluginfeature.c:
2953         * gst/gsttask.c:
2954           privatize more symbols
2955
2956 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2957
2958         * configure.ac:
2959           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2960           everything that uses GStreamer API should have the includes
2961
2962 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2963
2964         * docs/gst/gstreamer-sections.txt:
2965         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2966         * gst/gstvalue.h:
2967           give each value a _get_type, removes the DATA exports
2968
2969 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2970
2971         * gst/gst.c:
2972         * gst/gst.h:
2973           remove _gst_registry_auto_load, not used anymore
2974         * gst/gstbin.c: (gst_bin_get_type):
2975         * gst/gstbin.h:
2976         * gst/gstelement.c: (gst_element_get_type):
2977         * gst/gstelement.h:
2978         * gst/gstobject.c: (gst_object_get_type):
2979         * gst/gstobject.h:
2980         * gst/gstpad.c: (gst_pad_get_type):
2981         * gst/gstpad.h:
2982           make _get_type functions similar, fixes data export from library
2983
2984 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2985
2986         * configure.ac:
2987           correctly make conditionals
2988         * gst/elements/Makefile.am:
2989         * gst/elements/gstelements.c:
2990           fix typo causing fdsrc not to build
2991
2992 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2993
2994         * testsuite/Makefile.am:
2995         * testsuite/bytestream/.cvsignore:
2996         * testsuite/bytestream/Makefile.am:
2997         * testsuite/bytestream/filepadsink.c:
2998         * testsuite/bytestream/gstbstest.c:
2999         * testsuite/bytestream/test1.c:
3000         * testsuite/bytestream/testfile1:
3001         * testsuite/caps/normalisation.c:
3002         * testsuite/caps/random.c: (main):
3003         * testsuite/cleanup/.cvsignore:
3004         * testsuite/cleanup/Makefile.am:
3005         * testsuite/cleanup/cleanup1.c:
3006         * testsuite/cleanup/cleanup2.c:
3007         * testsuite/cleanup/cleanup3.c:
3008         * testsuite/cleanup/cleanup4.c:
3009         * testsuite/cleanup/cleanup5.c:
3010         * testsuite/controller/interpolator.c:
3011         * testsuite/debug/printf_extension.c: (main):
3012         * testsuite/elements/tee.c:
3013         * testsuite/negotiation/.cvsignore:
3014         * testsuite/negotiation/Makefile.am:
3015         * testsuite/negotiation/pad_link.c:
3016         * testsuite/pad/Makefile.am:
3017         * testsuite/pad/chainnopull.c:
3018         * testsuite/pad/getnopush.c:
3019         * testsuite/pad/link.c:
3020         * testsuite/refcounting/sched.c: (create_pipeline):
3021         * testsuite/registry/Makefile.am:
3022         * testsuite/registry/gst-print-formats.c:
3023         * testsuite/schedulers/.cvsignore:
3024         * testsuite/schedulers/142183-2.c:
3025         * testsuite/schedulers/142183.c:
3026         * testsuite/schedulers/143777-2.c:
3027         * testsuite/schedulers/143777.c:
3028         * testsuite/schedulers/147713.c:
3029         * testsuite/schedulers/147819.c:
3030         * testsuite/schedulers/147894-2.c:
3031         * testsuite/schedulers/147894.c:
3032         * testsuite/schedulers/Makefile.am:
3033         * testsuite/schedulers/group_link.c:
3034         * testsuite/schedulers/queue_link.c:
3035         * testsuite/schedulers/relink.c:
3036         * testsuite/schedulers/unlink.c:
3037         * testsuite/schedulers/unref.c:
3038         * testsuite/schedulers/useless_iteration.c:
3039         * testsuite/states/bin.c:
3040           clean out/remove some stuff from the testsuite directories
3041
3042 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3043
3044         * configure.ac:
3045           check for some headers
3046         * gst/elements/Makefile.am:
3047         * gst/elements/gstelements.c:
3048           don't compile fdsrc without sys/socket.h
3049         * gst/indexers/Makefile.am:
3050         * gst/indexers/gstindexers.c: (plugin_init):
3051           don't compile fileindex without mmap
3052
3053 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3054
3055         * configure.ac:
3056           reorganize
3057           clean up
3058           document more
3059           remove cruft
3060         * check/Makefile.am:
3061         * docs/gst/Makefile.am:
3062         * examples/helloworld/Makefile.am:
3063         * gst/Makefile.am:
3064         * gst/base/Makefile.am:
3065         * gst/check/Makefile.am:
3066         * gst/elements/Makefile.am:
3067         * gst/indexers/Makefile.am:
3068         * gst/parse/Makefile.am:
3069         * libs/gst/controller/Makefile.am:
3070         * libs/gst/dataprotocol/Makefile.am:
3071         * examples/helloworld/helloworld.c: (event_loop):
3072           compile fixes, though it's not being compiled currently
3073
3074 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3075
3076         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3077           Add some simple tests for the new taglist date API.
3078
3079 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3080
3081         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3082         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3083           Beautify 'last-message' output: print 'none' for buffer timestamps
3084           and durations if none is set; improve alignment with next messages.
3085
3086 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3087
3088         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3089         * gst/gstpluginfeature.h:
3090         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3091         * gst/gstregistry.h:
3092         * docs/gst/gstreamer-sections.txt:
3093           Add new API to check plugin feature version requirements.
3094
3095         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3096           Some basic tests for the above.         
3097
3098 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3099
3100         * gst/gststructure.c: (gst_structure_to_string):
3101           guard against NULL printf - happens when for example
3102           a message structure with GstClock gets serialized
3103
3104 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3105
3106         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3107           Fix presumable copy'n'pasto.
3108
3109 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3110
3111         * gst/elements/gstfakesrc.h:
3112         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3113         * gst/elements/gsttypefindelement.c:
3114           fix some signedness
3115         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3116           I wonder if this could actually write +2GB files before
3117
3118 2005-10-13  Andy Wingo  <wingo@pobox.com>
3119
3120         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3121         Fix Timmeke Waymans bug.
3122         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3123         string of the proper length to gst_caps_from_string. There's a
3124         potential for, before this fix, that this could cause someone
3125         connecting over the network to cause a segfault if the payload is
3126         not NUL-terminated.
3127
3128 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3129
3130         * docs/design/draft-push-pull.txt:
3131         * docs/design/part-overview.txt:
3132         * docs/random/TODO-pre-0.9:
3133         * docs/random/old/ChangeLog.gstreamer:
3134         * gst/base/gstpushsrc.c:
3135         * gst/gstclock.c:
3136           fixed typos
3137
3138 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3139
3140         * gst/glib-compat.c: (gst_flags_get_first_value):
3141         * gst/glib-compat.h:
3142         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3143         (gst_value_compare_double), (gst_value_serialize_flags):
3144           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3145           infinite loop
3146
3147 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3148
3149         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3150         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3151           fix up debugging
3152         * tools/gst-launch.c: (event_loop):
3153           print out clock nicely
3154
3155 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3156
3157         * docs/gst/gstreamer-sections.txt:
3158         * gst/gsttaglist.h:
3159         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3160         (gst_tag_list_get_date_index):
3161           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3162           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3163
3164 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3165
3166         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3167         (gst_collectpads_chain):
3168         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3169         in CollectData.
3170
3171 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3172
3173         * docs/gst/gstreamer-sections.txt:
3174         * gst/gst.c:
3175         * gst/gsterror.h:
3176         * tools/gst-inspect.c: (main):
3177         * tools/gst-launch.c: (main):
3178         * tools/gst-run.c: (main):
3179         * tools/gst-xmlinspect.c: (main):
3180           fix GOption context leaks
3181           doc fixes
3182
3183 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3184
3185         * gst/gstbus.c:
3186           use HAVE_UNISTD_H
3187         * win32/common/config.h:
3188           update config
3189         * win32/vs6/grammar.dsp:
3190         * win32/vs6/libgstelements.dsp:
3191         * win32/vs6/libgstreamer.dsp:
3192           update vs6 files
3193
3194 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3195
3196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3197         * gst/base/gstbasesrc.c: (gst_base_src_query):
3198           fix more guint64<->gdouble conversions
3199
3200 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3201
3202         * Makefile.am:
3203           add win32-update target
3204         * win32/common/gstconfig.h:
3205         * win32/common/gstenumtypes.c:
3206         * win32/common/gstenumtypes.h:
3207         * win32/common/gstversion.h:
3208           add files that visual studio can't generate
3209
3210 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3211
3212         * Makefile.am:
3213           add a win32-update target
3214         * configure.ac:
3215
3216 2005-10-12  Wim Taymans  <wim@fluendo.com>
3217
3218         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3219         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3220         * gst/gstelement.c: (gst_element_commit_state),
3221         (gst_element_set_state):
3222         Protect flags with proper lock.
3223         unref provided cached clock in dispose.
3224
3225 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3226
3227         * gst/gst.c:
3228         * gst/gstminiobject.h:
3229         * gst/gstpad.h:
3230         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3231           removed unused flags from miniobject
3232           doc fixes
3233
3234 2005-10-12  Wim Taymans  <wim@fluendo.com>
3235
3236         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3237         (gst_file_sink_event), (gst_file_sink_render):
3238         Flush before seeking.
3239
3240 2005-10-12  Andy Wingo  <wingo@pobox.com>
3241
3242         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3243         always been the case.
3244
3245 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3246
3247         * check/gst/gstbin.c: (GST_START_TEST):
3248         * docs/gst/gstreamer-sections.txt:
3249         * gst/base/gstbasesink.c: (gst_base_sink_init):
3250         * gst/base/gstbasesrc.c: (gst_base_src_init),
3251         (gst_base_src_get_range), (gst_base_src_check_get_range),
3252         (gst_base_src_start), (gst_base_src_stop):
3253         * gst/base/gstbasesrc.h:
3254         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3255         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3256         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3257         (bin_bus_handler):
3258         * gst/gstbin.h:
3259         * gst/gstbuffer.h:
3260         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3261         * gst/gstbus.h:
3262         * gst/gstelement.c: (gst_element_is_locked_state),
3263         (gst_element_set_locked_state), (gst_element_commit_state),
3264         (gst_element_set_state):
3265         * gst/gstelement.h:
3266         * gst/gstindex.c: (gst_index_init):
3267         * gst/gstindex.h:
3268         * gst/gstminiobject.h:
3269         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3270         (gst_object_set_parent):
3271         * gst/gstobject.h:
3272         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3273         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3274         * gst/gstpad.h:
3275         * gst/gstpadtemplate.h:
3276         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3277         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3278         * gst/gstpipeline.h:
3279         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3280         (gst_file_index_commit):
3281         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3282         * testsuite/pad/link.c: (gst_test_src_init),
3283         (gst_test_filter_init), (gst_test_sink_init):
3284         * testsuite/states/locked.c: (main):
3285           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3286           moved bitshift from macro to enum definition
3287
3288 2005-10-12  Wim Taymans  <wim@fluendo.com>
3289
3290         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3291         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3292         (gst_file_sink_render):
3293         Some more debugging info.
3294
3295 2005-10-12  Wim Taymans  <wim@fluendo.com>
3296
3297         * docs/design/part-states.txt:
3298         * tools/gst-launch.c: (main):
3299         Some doc updates.
3300         Revert non-intentional change.
3301
3302 2005-10-12  Wim Taymans  <wim@fluendo.com>
3303
3304         * check/gst/gstbin.c: (GST_START_TEST):
3305         * check/gst/gstelement.c: (GST_START_TEST):
3306         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3307         * check/gst/gstghostpad.c: (GST_START_TEST):
3308         * check/gst/gstpipeline.c: (GST_START_TEST):
3309         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3310         * check/states/sinks.c: (GST_START_TEST):
3311         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3312         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3313         (gst_bin_remove_func), (gst_bin_get_state_func),
3314         (gst_bin_recalc_state), (gst_bin_change_state_func),
3315         (bin_bus_handler):
3316         * gst/gstelement.c: (gst_element_get_state_func),
3317         (gst_element_get_state), (gst_element_abort_state),
3318         (gst_element_commit_state), (gst_element_set_state),
3319         (gst_element_change_state), (gst_element_change_state_func):
3320         * gst/gstelement.h:
3321         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3322         (gst_pipeline_provide_clock_func):
3323         * gst/gstutils.c: (gst_element_link_pads_filtered):
3324         * tools/gst-launch.c: (main):
3325         * tools/gst-typefind.c: (main):
3326         Use GstClockTime in _get_state() instead of GTimeVal.
3327         Remove old code in gstutils.c
3328
3329 2005-10-12  Andy Wingo  <wingo@pobox.com>
3330
3331         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3332         removed.
3333
3334         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3335         there is no task. Shouldn't affect any code, as nothing in our
3336         plugins checks this return value.
3337         (gst_pad_stop_task): Also take the stream lock if the pad has no
3338         task. Docs updated.
3339
3340 2005-10-12  Wim Taymans  <wim@fluendo.com>
3341
3342         * gst/gstpad.c: (pre_activate), (post_activate),
3343         (gst_pad_activate_pull), (gst_pad_activate_push):
3344         Cleanup activation code. Reset old state if
3345         activation failed.
3346
3347 2005-10-12  Wim Taymans  <wim@fluendo.com>
3348
3349         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3350         (gst_base_sink_change_state):
3351         No need to prerol after receiving EOS.
3352
3353         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3354         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3355         * gst/elements/gstidentity.c: (gst_identity_event):
3356         Print events more verbosely.
3357
3358 2005-10-12  Wim Taymans  <wim@fluendo.com>
3359
3360         * check/Makefile.am:
3361         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3362         * check/states/sinks2.c:
3363         Moved sinks2 testcode in sinks check.
3364
3365         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3366         (gst_bin_remove_func), (gst_bin_recalc_state),
3367         (gst_bin_change_state_func), (bin_bus_handler):
3368         Fix potential race condition when _get_state() iterated over an
3369         ASYNC element right before it posted a state completion.
3370
3371         * gst/gstclock.h:
3372         Do proper cast here.
3373
3374         * gst/gstevent.c: (gst_event_new_newsegment),
3375         (gst_event_parse_newsegment):
3376         A playback rate of 0.0 is not allowed.
3377
3378 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3379
3380         * win32/common/config.h:
3381         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3382         (_trewinddir), (_ttelldir), (_tseekdir):
3383         * win32/common/dirent.h:
3384         * win32/common/gtchar.h:
3385         * win32/common/libgstbase.def:
3386         * win32/common/libgstreamer.def:
3387         * win32/vs6/grammar.dsp:
3388         * win32/vs6/gst_inspect.dsp:
3389         * win32/vs6/gst_launch.dsp:
3390         * win32/vs6/gstreamer.dsw:
3391         * win32/vs6/libgstbase.dsp:
3392         * win32/vs6/libgstelements.dsp:
3393         * win32/vs6/libgstreamer.dsp:
3394           Visual Studio 6 project files, and a new common directory.
3395           Phear.
3396
3397 2005-10-11  Wim Taymans  <wim@fluendo.com>
3398
3399         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3400         (gst_base_sink_do_sync), (gst_base_sink_query),
3401         (gst_base_sink_change_state):
3402         * gst/base/gstbasesink.h:
3403         Correctly parse newsegment info.
3404
3405 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3406
3407         * gst/gst.c: (init_post):
3408           split plugin paths correctly
3409
3410 2005-10-11  Wim Taymans  <wim@fluendo.com>
3411
3412         * check/gst/gstevent.c: (GST_START_TEST):
3413         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3414         (gst_base_sink_change_state):
3415         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3416         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3417         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3418         * gst/gstevent.c: (gst_event_new_newsegment),
3419         (gst_event_parse_newsegment):
3420         * gst/gstevent.h:
3421         Added extra flag to newsegment for future API freeze.
3422         Updated check and base elements.
3423
3424 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3425
3426         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3427         (gst_collectpads_add_pad), (gst_collectpads_pop),
3428         (gst_collectpads_event), (gst_collectpads_chain):
3429         * gst/base/gstcollectpads.h: Handle EOS correctly.
3430
3431 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3432
3433         * tools/gst-launch.c: (main):
3434           more null protecting
3435
3436 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3437
3438         * gst/gst-i18n-lib.h:
3439           check for ENABLE_NLS, not GETTEXT_PACKAGE
3440         * gst/gstregistry.c: (gst_registry_add_plugin),
3441         (gst_registry_scan_path_level),
3442         (_gst_registry_remove_cache_plugins):
3443           protect possibly NULL strings
3444         * gst/parse/types.h:
3445           config.h already included before
3446         * tools/gst-inspect.c: (main):
3447           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3448           check for ENABLE_NLS, not GETTEXT_PACKAGE
3449         * tools/gst-launch.c: (main):
3450           check for ENABLE_NLS, not GETTEXT_PACKAGE
3451
3452 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3453
3454         * configure.ac:
3455           if we don't have glib, fail before testing 2.8
3456         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3457           fix a leak, should fix plugins-base testsuite
3458
3459 2005-10-11  Andy Wingo  <wingo@pobox.com>
3460
3461         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3462         take the mode we're going to as an arg. Go head and set the mode
3463         and flushing flags now, so that if the activate function starts a
3464         thread all the flags will be in the right state.
3465         (post_activate): Renamed also. Just handle making sure streaming
3466         finishes for the deactivation case, and setting the deactivated
3467         mode.
3468         (gst_pad_set_active): Complain loudly if deactivation fails.
3469         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3470         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3471         remove the terrible hack.
3472
3473 2005-10-11  Wim Taymans  <wim@fluendo.com>
3474
3475         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3476         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3477         (gst_bin_recalc_state), (gst_bin_change_state_func),
3478         (gst_bin_dispose), (bin_bus_handler):
3479         * gst/gstbin.h:
3480         Prepare to make current EOS message queue more generic.
3481         Fix some typos.
3482
3483         * gst/gstevent.c: (gst_event_new_newsegment),
3484         (gst_event_parse_newsegment):
3485         * gst/gstevent.h:
3486         Rename base to stream_time.
3487
3488         * gst/gstmessage.h:
3489         Fix typo in docs.
3490
3491 2005-10-11  Wim Taymans  <wim@fluendo.com>
3492
3493         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3494         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3495         (gst_bin_change_state_func), (bin_bus_handler):
3496         * gst/gstbin.h:
3497         Work on proper clock selection.
3498
3499 2005-10-11  Edward Hervey  <edward@fluendo.com>
3500
3501         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3502         * libs/gst/controller/gstcontroller.h:
3503         Added GList* version of _remove_properties() in order to be able to wrap
3504         it in bindings.
3505
3506 2005-10-11  Wim Taymans  <wim@fluendo.com>
3507
3508         * docs/design/part-states.txt:
3509         Some more docs.
3510
3511         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3512         (gst_bin_change_state_func), (bin_bus_handler):
3513         Doc updates. Don't distribute the same clock over and over again.
3514
3515         * gst/gstclock.c:
3516         * gst/gstclock.h:
3517         Doc updates.
3518
3519         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3520         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3521         (gst_pad_send_event):
3522         * gst/gstpad.h:
3523         Make probe emission threadsafe again.
3524         Register quarks and move _get_name() from utils.
3525         Doc updates.
3526
3527         * gst/gstpipeline.c: (gst_pipeline_class_init),
3528         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3529         Only redistribute the clock of it changed.
3530
3531         * gst/gstsystemclock.h:
3532         Doc updates. 
3533
3534         * gst/gstutils.c:
3535         * gst/gstutils.h:
3536         Moved the _flow_get_name() to GstPad.
3537
3538 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3539
3540         * check/gst-libs/gdp.c: (GST_START_TEST):
3541         * check/gst/gstcaps.c: (GST_START_TEST):
3542         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3543         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3544         (gst_dp_packet_from_caps):
3545           fix more valgrind warnings before turning up the heat
3546
3547 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3548
3549         * gst/parse/grammar.y:
3550           some cleanup before the hacking
3551
3552 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3553
3554         * gst/base/gstbasesrc.c: (gst_base_src_query):
3555           use conversions
3556         * gst/gstutils.c: (gst_guint64_to_gdouble),
3557         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3558         * gst/gstutils.h:
3559           externalize, basesrc uses it
3560           obviously the implementation needs testing
3561
3562 2005-10-10  Wim Taymans  <wim@fluendo.com>
3563
3564         * tests/sched/Makefile.am:
3565         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3566         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3567
3568 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3569
3570         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3571           apparently converting from guint64 to double is not implemented
3572           on MSVC
3573
3574 2005-10-10  Wim Taymans  <wim@fluendo.com>
3575
3576         * check/Makefile.am:
3577         * check/generic/states.c: (GST_START_TEST):
3578         * check/gst/gstbin.c: (GST_START_TEST):
3579         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3580         * check/states/sinks.c: (GST_START_TEST):
3581         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3582         (main):
3583         Check fixes, use API as stated in design docs, remove hacks.
3584
3585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3586         (gst_base_sink_change_state):
3587         Catch stopping our task while we're shutting down.
3588
3589         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3590         (gst_bin_remove_func), (gst_bin_get_state_func),
3591         (gst_bin_recalc_state), (gst_bin_change_state_func),
3592         (bin_bus_handler):
3593         * gst/gstbin.h:
3594         * gst/gstelement.c: (gst_element_init),
3595         (gst_element_get_state_func), (gst_element_abort_state),
3596         (gst_element_commit_state), (gst_element_lost_state),
3597         (gst_element_set_state), (gst_element_change_state),
3598         (gst_element_change_state_func):
3599         * gst/gstelement.h:
3600         New state change algorithm (see #318116)
3601
3602         * gst/gstpipeline.c: (gst_pipeline_class_init),
3603         (gst_pipeline_init), (gst_pipeline_set_property),
3604         (gst_pipeline_get_property), (do_pipeline_seek),
3605         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3606         * gst/gstpipeline.h:
3607         Remove crude state change hacks.
3608
3609         * gst/gstutils.h:
3610         Remove crude hacks.
3611
3612         * tools/gst-launch.c: (main):
3613         Fixes for state change. Needs some more work to fully use the
3614         new stuff.
3615
3616 2005-10-10  Andy Wingo  <wingo@pobox.com>
3617
3618         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3619
3620         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3621         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3622         issue.
3623
3624 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3625
3626         * gst/gstiterator.c: (gst_iterator_new):
3627           Fix my previous commit: GTypes passed to gst_iterator_new()
3628           can be fundamental types.
3629
3630 2005-10-10  Wim Taymans  <wim@fluendo.com>
3631
3632         * gst/gstelement.c: (gst_element_iterate_pad_list),
3633         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3634         (gst_element_iterate_sink_pads):
3635         Use src/sink pads lists for the respective iterators instead
3636         of filtering.
3637
3638 2005-10-10  Andy Wingo  <wingo@pobox.com>
3639
3640         Merged in popt removal + GOption addition patch from Ronald, bug
3641         #169772.
3642
3643         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3644         GstElement macros around, remove popt-related symbols, add goption
3645         stuff.
3646
3647         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3648         
3649         * docs/gst/Makefile.am:
3650         * docs/libs/Makefile.am: No POPT_CFLAGS.
3651         
3652         * examples/manual/Makefile.am:
3653         * docs/manual/basics-init.xml: Doc updates with an example.
3654         
3655         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3656         (gst_init), (parse_one_option), (parse_goption_arg):
3657         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3658         bit of hand merging and debugging to get the GOption stuff working
3659         tho.
3660         
3661         * tests/Makefile.am:
3662         * tools/Makefile.am:
3663         * tools/gst-inspect.c: (main):
3664         * tools/gst-launch.c: (main):
3665         * tools/gst-run.c: (main):
3666         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3667
3668 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * gst/gstiterator.c: (gst_iterator_new):
3671           Add assertions to make sure passed GType is likely to really
3672           be a GType (as the compiler won't catch it if the size and
3673           GType arguments get mixed up, see #318447).
3674
3675 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3676
3677         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3678
3679         * gst/gstbin.c: (gst_bin_iterate_sorted):
3680           Pass GType and size arguments to gst_iterator_new() in the right
3681           order (maybe we should make _new() take the GType as first argument
3682           just like _new_list()?) (#318447).
3683           
3684
3685 2005-10-10  Wim Taymans  <wim@fluendo.com>
3686
3687         * gst/gstelement.c: (gst_element_finalize):
3688         And free the GStaticRecMutex too
3689
3690 2005-10-10  Andy Wingo  <wingo@pobox.com>
3691
3692         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3693         Allocate and free the mutex properly.
3694
3695         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3696         New macros.
3697         (GstElement): The state_lock is now recursive. Rebuild your
3698         plugins, suckers. Old macros adapted.
3699
3700         * docs/gst/gstreamer-sections.txt: Doc updates.
3701
3702         * gst/gstutils.h:
3703         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3704         (g_static_rec_cond_wait): Ported from state changes patch, while
3705         we wait on bug #317802 to be solved in a well-distributed GLib.
3706
3707         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3708         gst_element_change_state, variable name changes.
3709         (gst_element_change_state): Split out of gst_element_set_state in
3710         preparation for the state change merge. Doesn't pay attention to
3711         the 'transition' argument.
3712         (gst_element_set_state): Updates, hopefully purely cosmetic.
3713         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3714         state change patch.
3715         (gst_element_get_state_func): Renamed from get_state, cosmetic
3716         changes.
3717
3718 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3719
3720         * gst/elements/gstelements.c:
3721         * win32/GStreamer.vcproj:
3722         * win32/config.h:
3723         * win32/dirent.c: (_tseekdir):
3724         * win32/gst-inspect.vcproj:
3725         * win32/gst-launch.vcproj:
3726         * win32/gstconfig.h:
3727         * win32/gstelements.vcproj:
3728         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3729         * win32/gstreamer.def:
3730         * win32/msvc71.sln:
3731           updates for the win32 build (patch from Sebastien Moutte)
3732
3733 2005-10-10  Andy Wingo  <wingo@pobox.com>
3734
3735         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3736         gst_bin_get_state, cleaned up (but no logic changes).
3737         (bin_element_is_sink): Comment updates.
3738         (sink_iterator_filter): Remove needless cast.
3739         (gst_bin_iterate_sinks): Doc update.
3740         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3741         cleaned up (but no logic changes).
3742
3743         * check/states/sinks.c (test_src_sink): Cleanups from the state
3744         change patch.
3745         (test_livesrc_sink): Sync on the state.
3746
3747         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3748         the state change patch.
3749
3750         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3751         change patch.
3752
3753         * check/gst/gstbin.c: Merge in some style fixes and additional
3754         checks from Wim's state change patch.
3755
3756 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3757
3758         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3759         (gst_type_find_helper):
3760           Check whether we have the requested data already in our list of
3761           cached buffers before pulling a new buffer; also make the buffer
3762           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3763
3764 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3765
3766         * gst/gstcaps.c:
3767         * gst/gstevent.c:
3768           doc updates
3769         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3770           don't use long long, it's not portable.  Replacing with
3771           gint64 seems to work; let's hope no skeletons fall out of the closet.
3772
3773 2005-10-10  Andy Wingo  <wingo@pobox.com>
3774
3775         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3776
3777 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3778
3779         * docs/gst/gstreamer-sections.txt:
3780         * gst/gstevent.c:
3781         * gst/gstevent.h:
3782         * gst/gstinfo.c:
3783         * gst/gstinfo.h:
3784         * gst/gstmessage.c: (gst_message_parse_state_changed):
3785         * gst/gstpad.c:
3786         * gst/gstpad.h:
3787           more docs, fix compilation
3788
3789 2005-10-09  Philippe Khalaf <burger@speedy.org>
3790         * gst/gstmessage.c:
3791           Fixed a few forgotten variables on previous commit
3792
3793 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3794
3795         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3796           Fix evil typefind crasher: getrange() might return a short
3797           buffer at the end of a file, but gst_type_find_peek() must
3798           either return the full data as requested or NULL, but
3799           never a short buffer.
3800
3801 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3802
3803         * gst/gstmessage.c: (gst_message_new_state_changed),
3804         (gst_message_parse_state_changed):
3805         * gst/gstmessage.h:
3806           don't use "new", it's a C++ keyword
3807
3808 2005-10-08  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3811         * gst/gstelement.c: (gst_element_post_message):
3812         * gst/gstpipeline.c: (gst_pipeline_change_state):
3813         Small docs and debug updates.
3814
3815 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3816
3817         * docs/gst/gstreamer-sections.txt:
3818         * gst/gstelementfactory.c:
3819         * gst/gstevent.c:
3820         * gst/gsttaglist.c:
3821           more docs
3822
3823 2005-10-08  Wim Taymans  <wim@fluendo.com>
3824
3825         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3826         (gst_bin_dispose), (bin_bus_handler):
3827         Fix typos, add comments.
3828         Clear EOS list when going to PAUSED from any direction and do it
3829         in a threadsafe way.
3830         Get base time in a threadsafe way too.
3831         Fix confusing debug in the change_state function.
3832         Various other small cleanups.
3833         
3834         * gst/gstelement.c: (gst_element_post_message):
3835         Fix very verbose bus posting code.
3836
3837         * gst/gstpipeline.c: (gst_pipeline_class_init),
3838         (gst_pipeline_set_property), (gst_pipeline_get_property),
3839         (gst_pipeline_change_state):
3840         Small ARG_ -> PROP_ cleanup
3841
3842 2005-10-08  Wim Taymans  <wim@fluendo.com>
3843
3844         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3845         Do a less CPU demanding EOS check because we can.
3846
3847 2005-10-08  Wim Taymans  <wim@fluendo.com>
3848
3849         * libs/gst/dataprotocol/dataprotocol.c:
3850         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3851         (gst_dp_packet_from_event):
3852         * libs/gst/dataprotocol/dataprotocol.h:
3853         * libs/gst/dataprotocol/dp-private.h:
3854         It's about time we bump the version number.
3855         Since event types don't fit in the guint8 anymore describing
3856         the payload type, make payload type 16 bits wide.
3857
3858 2005-10-08  Wim Taymans  <wim@fluendo.com>
3859
3860         * docs/design/part-TODO.txt:
3861         * docs/design/part-clocks.txt:
3862         * docs/design/part-events.txt:
3863         * docs/design/part-gstbin.txt:
3864         * docs/design/part-gstelement.txt:
3865         * docs/design/part-gstpipeline.txt:
3866         * docs/design/part-live-source.txt:
3867         * docs/design/part-messages.txt:
3868         * docs/design/part-overview.txt:
3869         * docs/design/part-states.txt:
3870         Many doc updates.
3871
3872 2005-10-08  Wim Taymans  <wim@fluendo.com>
3873
3874         * gst/gstevent.c:
3875         * gst/gstevent.h:
3876         Fix event quark registration.
3877         Add some space between events so we can insert them in the
3878         right groups.
3879
3880 2005-10-08  Wim Taymans  <wim@fluendo.com>
3881
3882         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3883         (gst_base_sink_handle_buffer):
3884         Better log message.
3885
3886         * gst/gstbus.h:
3887         * gst/gstelement.h:
3888         More docs.
3889
3890         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3891         (gst_queue_set_property), (gst_queue_get_property):
3892         * gst/gstqueue.h:
3893         Remove old unused properties.
3894
3895 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3896         * docs/gst/gstreamer-sections.txt:
3897         * gst/gstmessage.c:
3898         * gst/gstmessage.h:
3899         * gst/gstminiobject.c:
3900         * gst/gstminiobject.h:
3901         * gst/gstobject.h:
3902         * gst/gstpad.h:
3903         * gst/gstutils.h:
3904           lots of new docs and doc fixes
3905
3906 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3907
3908         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3909         * gst/gstplugin.h:
3910         * gst/gstregistry.c: (gst_registry_lookup_locked),
3911         (gst_registry_scan_path_level):
3912         * gst/gstregistryxml.c: (load_plugin):
3913           Only ever load one plugin for a given plugin basename.
3914           This ensures correct overriding of GST_PLUGIN_PATH over
3915           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3916           system installed plugins.
3917
3918 2005-10-08  Wim Taymans  <wim@fluendo.com>
3919
3920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3921         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3922         Prepare for doing QOS.
3923
3924 2005-10-08  Wim Taymans  <wim@fluendo.com>
3925
3926         * check/gst/gstbin.c: (GST_START_TEST):
3927         * check/pipelines/cleanup.c: (GST_START_TEST):
3928         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3929         Allow new clock message too.
3930
3931 2005-10-08  Wim Taymans  <wim@fluendo.com>
3932
3933         * gst/gstmessage.c: (gst_message_new_error),
3934         (gst_message_new_warning), (gst_message_new_tag),
3935         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3936         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3937         (gst_message_new_segment_start), (gst_message_new_segment_done),
3938         (gst_message_parse_state_changed),
3939         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3940         (gst_message_parse_new_clock):
3941         * gst/gstmessage.h:
3942         Also carry the clock in question.
3943
3944 2005-10-08  Wim Taymans  <wim@fluendo.com>
3945
3946         * gst/gstmessage.c: (gst_message_new_custom),
3947         (gst_message_new_eos), (gst_message_new_error),
3948         (gst_message_new_warning), (gst_message_new_tag),
3949         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3950         (gst_message_new_new_clock), (gst_message_new_segment_start),
3951         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3952         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3953         * gst/gstmessage.h:
3954         Clean up.
3955         Added clock related messages.
3956
3957         * gst/gstpipeline.c: (gst_pipeline_change_state):
3958         Post message when the clock changed.
3959
3960         * tools/gst-launch.c: (event_loop):
3961         Print new clock.
3962
3963 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3964
3965         * tools/gst-inspect.c: (print_element_properties_info):
3966           Can't pass NULL strings to g_print() on windows.
3967
3968 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3969
3970         * docs/Makefile.am:
3971         * docs/gst/Makefile.am:
3972         * docs/gst/gstreamer-docs.sgml:
3973         * docs/gst/running.xml:
3974         * docs/version.entities.in:
3975           add a chapter on running GStreamer.
3976           document GST_DEBUG and GST_PLUGIN* env vars
3977
3978 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3979
3980         * Makefile.am:
3981           remove include dir
3982         * configure.ac:
3983           remove PLUGINS_BUILDDIR stuff
3984         * gst/gst.c: (init_post):
3985           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3986         * idiottest.mak:
3987           remove, it was condescending and not needed
3988
3989 2005-10-08  Wim Taymans  <wim@fluendo.com>
3990
3991         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3992         (gst_base_sink_handle_object), (gst_base_sink_event),
3993         (gst_base_sink_wait), (gst_base_sink_handle_event),
3994         (gst_base_sink_change_state):
3995         * gst/base/gstbasesink.h:
3996         Repost EOS message while going to PLAYING if still EOS.
3997         Make sure that when receiving a FLUSH_START we don't attempt
3998         to sync on the clock anymore.
3999
4000 2005-10-08  Wim Taymans  <wim@fluendo.com>
4001
4002         * tools/gst-launch.c: (event_loop):
4003         Better message printout.
4004
4005 2005-10-08  Wim Taymans  <wim@fluendo.com>
4006
4007         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4008         (gst_bin_child_proxy_get_children_count):
4009         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4010         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4011         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4012         (gst_child_proxy_set_valist):
4013         * gst/parse/grammar.y:
4014         Make ChildProxy threadsafe and fix mem leaks.
4015
4016 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4017
4018         * gst/gst.c: (init_post):
4019           debug the GST_PLUGIN_ env vars
4020
4021 2005-10-08  Wim Taymans  <wim@fluendo.com>
4022
4023         * check/gst/gstbin.c: (GST_START_TEST):
4024         * check/gst/gstmessage.c: (GST_START_TEST):
4025         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4026         * gst/gstelement.c: (gst_element_commit_state),
4027         (gst_element_lost_state):
4028         * gst/gstmessage.c: (gst_message_new_state_changed),
4029         (gst_message_parse_state_changed):
4030         * gst/gstmessage.h:
4031         * tools/gst-launch.c: (event_loop):
4032         Added extra field to STATE_CHANGE message with the pending
4033         state, which will be different from the new state soon.
4034
4035 2005-10-08  Wim Taymans  <wim@fluendo.com>
4036
4037         * gst/gstbus.c: (gst_bus_pop):
4038         * gst/gstclock.c:
4039         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4040         Small cleanups and doc updates.
4041
4042 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4043
4044         * gst/gst.c: (init_pre):
4045         * gst/gstbin.c: (gst_bin_add_func):
4046           log distributing clocks and base time
4047         * gst/gstregistry.c: (gst_registry_add_plugin),
4048         (gst_registry_scan_path_level), (gst_registry_scan_path):
4049           clean up the debugging output a little
4050         * gst/gstutils.c: (gst_element_state_get_name):
4051           warn about a memleak (I've actually seen this be used, though
4052           it was probably a bug)
4053
4054 2005-10-07  Wim Taymans  <wim@fluendo.com>
4055
4056         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4057         (gst_base_src_init), (gst_base_src_default_newsegment),
4058         (gst_base_src_newsegment), (gst_base_src_do_seek),
4059         (gst_base_src_loop), (gst_base_src_start):
4060         * gst/base/gstbasesrc.h:
4061         Make the newsegment event customizable by subclasses.
4062
4063 2005-10-07  Wim Taymans  <wim@fluendo.com>
4064
4065         * gst/gstevent.c: (gst_event_new_buffersize),
4066         (gst_event_parse_buffersize):
4067         * gst/gstevent.h:
4068         New event for future idea.
4069
4070 2005-10-07  Andy Wingo  <wingo@pobox.com>
4071
4072         * gst/gstelement.c (gst_element_post_message): Doc update.
4073
4074         * docs/gst/gstreamer-sections.txt: Update.
4075
4076         * gst/gstmessage.c (gst_message_new_application): Made into a
4077         function like honest API calls.
4078         (gst_message_new_element): New message type.
4079
4080         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4081
4082         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4083         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4084         times.
4085
4086         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4087         NO_PREROLL from gst_element_change_state to fall through.
4088
4089 2005-10-07  Wim Taymans  <wim@fluendo.com>
4090
4091         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4092         (gst_ghost_pad_do_activate_push):
4093         Activating a ghostpad with no internal pad in push mode
4094         is ok.
4095
4096 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4097
4098         * gst/gstobject.h:
4099           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4100           Fixes compilation on Windows.
4101
4102 2005-10-07  Michael Smith <msmith@fluendo.com>
4103
4104         * tools/gst-inspect.c:
4105           Print out feature and plugin count at the end when printing out
4106           all features.
4107
4108 2005-10-04  Michael Smith <msmith@fluendo.com>
4109
4110         * gst/gsterror.c: (_gst_stream_errors_init):
4111           Add another error string used in a few existing plugins.
4112
4113         * gst/gstplugin.c:
4114         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4115         * tools/gst-inspect.c: (print_element_info):
4116           When a feature disappears from a plugin (and the feature exists in
4117           the cached registry file), things went horribly wrong. This isn't a
4118           complete fix, we should actually be removing the 'missing' features
4119           from the features list when we load the actual plugin. That's not
4120           yet implemented. 
4121
4122 2005-10-04  Johan Dahlin  <johan@gnome.org>
4123
4124         * check/gst/gstiterator.c: (GST_START_TEST):
4125         * gst/gstbin.c: (gst_bin_iterate_elements),
4126         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4127         * gst/gstelement.c: (gst_element_iterate_pads):
4128         * gst/gstformat.c: (gst_format_iterate_definitions):
4129         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4130         (gst_iterator_new_list), (gst_iterator_filter):
4131         * gst/gstiterator.h:
4132         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4133         Add a GType to GstIterator, update callsites and tests.
4134
4135 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4136
4137         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4138           give events a chance to be handled by event probes when the pad
4139           is not linked
4140
4141 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4142
4143         * gst/gstevent.c: (gst_event_type_get_name),
4144         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4145         * gst/gstevent.h:
4146           add string representations for event types
4147
4148 2005-10-06  Wim Taymans  <wim@fluendo.com>
4149
4150         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4151         Don't use NULL pointers.
4152
4153 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4154
4155         * gst/gst_private.h:
4156         * gst/gstbus.c:
4157         * gst/gstelement.c:
4158         * gst/gstinfo.c:
4159         * gst/gstpluginfeature.c:
4160           widen the debug category in output to fit the biggest one we have
4161           add a bus category and use it
4162           play with the colors
4163           fix up some categories
4164
4165 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4166
4167         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4168           add push activation of sink ghost pads.
4169           Andye, please verify
4170
4171 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4172
4173         * gst/gstutils.c: (gst_element_link_pads):
4174           fix a bug in the case where neither element has a pad
4175         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4176           add a test for that case
4177
4178 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4179
4180         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4181           emit have-data before checking for peers.  This allows
4182           for probe handlers to connect elements.  This helps autopluggers.
4183         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4184         (gst_pad_suite):
4185           add six checks, linked/unlinked with no/true/false probe
4186
4187 2005-10-04  Wim Taymans  <wim@fluendo.com>
4188
4189         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4190         (gst_fake_sink_event), (gst_fake_sink_preroll),
4191         (gst_fake_sink_render), (gst_fake_sink_change_state):
4192         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4193         (gst_fake_src_get_property), (gst_fake_src_create),
4194         (gst_fake_src_stop):
4195         * gst/elements/gstidentity.c: (gst_identity_stop):
4196         Protect last_message with lock.
4197
4198 2005-10-04  Edward Hervey  <edward@fluendo.com>
4199
4200         * gst/gstformat.h: 
4201         Added precision in the comments for GST_FORMAT_DEFAULT
4202
4203 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4204
4205         * tools/gst-launch.c: (main):
4206           Don't try to run erroneous pipelines.
4207
4208 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4209
4210         * gst/gstbus.c: We don't need this header.
4211
4212 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4213
4214         * configure.ac:
4215           back to development
4216
4217 === release 0.9.3 ===
4218
4219 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4220
4221         * README:
4222         * configure.ac:
4223           Releasing 0.9.3, "Unregistered"
4224
4225 2005-10-03  Andy Wingo  <wingo@pobox.com>
4226
4227         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4228         whereby calling a pad's activatepush() function can start a thread
4229         that starts to push or pull before the pad gets the FLUSHING flag
4230         unset. Hack around it by holding the stream lock until the flag is
4231         set. Need to replace this with a proper solution. Together with
4232         the ghost pad fixes, this fixes mp3 playing/tagreading.
4233
4234         * docs/design/part-gstghostpad.txt: Add a note about activation of
4235         proxy pads outside of ghost pads.
4236
4237         * gst/gstghostpad.c: Implement the ghost pad activation design.
4238
4239 2005-10-02  Andy Wingo  <wingo@pobox.com>
4240
4241         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4242         It is volatile, after all.
4243
4244         * docs/design/part-gstghostpad.txt: Flesh out activation with
4245         ghost pads.
4246
4247         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4248         GST_DEBUG_FUNCPTR.
4249
4250 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4251
4252         * configure.ac:
4253           Fix (unused) AM_CONDITIONAL tests.
4254
4255 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4256
4257         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4258
4259         * gst/gstutils.c: (gst_pad_query_convert):
4260           Add assertion that makes sure src_val is >=0, just like
4261           gst_query_new_convert() has. (#315895)
4262
4263 2005-09-30  Edward Hervey  <edward@fluendo.com>
4264
4265         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4266         Let's not iterate pads we're not interested in, it avoids getting 
4267         sky-high refcounts on sinkpad.
4268
4269 2005-09-30  Wim Taymans  <wim@fluendo.com>
4270
4271         * gst/gstelement.c: (gst_element_set_state),
4272         (gst_element_change_state):
4273         Small tweak, element in ASYNC remains ASYNC.
4274
4275 2005-09-30  Wim Taymans  <wim@fluendo.com>
4276
4277         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4278         Only error is an error.
4279
4280         * gst/gstbin.c: (gst_bin_change_state):
4281         Better debugging.
4282
4283         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4284         Also call pad_block in pad alloc.
4285
4286         * gst/gstutils.c: (gst_flow_get_name):
4287         Better debugging.
4288
4289 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4290
4291         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4292         (gst_base_src_get_range):
4293           Fix documentation typos. Add some more debug info.
4294
4295 2005-09-29  David Schleef  <ds@schleef.org>
4296
4297         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4298           more end-user friendly.
4299         * tools/gst-inspect.c: (main): Check if command-line argument is
4300           a file and attempt to load that file as a plugin.
4301
4302 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4303
4304         * check/gst/gstbin.c:
4305         * check/states/sinks.c:
4306           fix tests for the new warning
4307         * check/gst/gstpipeline.c:
4308           add a test for pipeline and bus interaction
4309         * gst/gstelement.c:
4310           elements should be NULL if they get disposed; add a warning if not
4311
4312 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4313
4314         * gst/gstobject.c:
4315           for 2.6 refcounting, make debug log more correct by printing
4316           the actual refcounts at the time of swap (Wim)
4317
4318 2005-09-29  Andy Wingo  <wingo@pobox.com>
4319
4320         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4321         removes signal watches previously added via
4322         gst_bus_add_signal_watch.
4323         (gst_bus_add_signal_watch): Don't return the source id, just store
4324         it on the bus if there wasn't an id already.
4325
4326         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4327         add_signal_watch and remove_signal_watch.
4328
4329 2005-09-29  Edward Hervey  <edward@fluendo.com>
4330
4331         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4332         Better if we actually iterate the list :)
4333
4334 2005-09-29  Wim Taymans  <wim@fluendo.com>
4335
4336         * check/gst/gstbin.c: (GST_START_TEST):
4337         Change for new bus API.
4338
4339         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4340         (send_messages), (GST_START_TEST), (gstbus_suite):
4341         Change for new bus signal API.
4342
4343         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4344         (gst_bus_source_prepare), (gst_bus_source_check),
4345         (gst_bus_create_watch), (gst_bus_add_watch_full),
4346         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4347         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4348         * gst/gstbus.h:
4349         Remove support for multiple GSources operating on different
4350         message types as it is too complex and unneeded when using
4351         signals.
4352         Added support for receiving signals from the bus.
4353
4354 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * docs/libs/tmpl/gstdataprotocol.sgml:
4357         * docs/manual/advanced-dataaccess.xml:
4358         * gst/elements/gstcapsfilter.c:
4359         * gst/gstutils.c:
4360           rename filter-caps to caps property
4361
4362 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4363
4364         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4365           More robust fraction string parsing.
4366
4367         * docs/pwg/appendix-porting.xml:
4368           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4369
4370 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4371
4372         * gst/gstcaps.c: (gst_caps_do_simplify):
4373           Thou shalt not free a structure and then continue using it
4374           in the next loop iteration.
4375
4376         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4377         (gst_caps_suite):
4378           Add test case for caps simplification.
4379
4380 2005-09-29  Wim Taymans  <wim@fluendo.com>
4381
4382         * check/gst/gstbin.c: (GST_START_TEST):
4383         Oops.
4384
4385 2005-09-29  Wim Taymans  <wim@fluendo.com>
4386
4387         * check/gst/gstbin.c: (GST_START_TEST):
4388         Add bus to bin.
4389
4390         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4391         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4392         (find_element), (gst_bin_sort_iterator_next),
4393         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4394         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4395         (gst_bin_change_state), (gst_bin_dispose):
4396         A bin does not have a bus, it gets the bus from the parent.
4397
4398         * gst/gstelement.c: (gst_element_requires_clock),
4399         (gst_element_provides_clock), (gst_element_is_indexable),
4400         (gst_element_is_locked_state), (gst_element_change_state),
4401         (gst_element_set_bus_func):
4402         Small cleanups.
4403
4404         * gst/gstpipeline.c: (gst_pipeline_class_init),
4405         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4406         The pipeline provides a bus.
4407
4408 2005-09-28  Johan Dahlin  <johan@gnome.org>
4409
4410         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4411         gst_structure_get_enum instead of gst_structure_get_int
4412
4413         * gst/gststructure.c (gst_structure_get_enum): Impl.
4414
4415         * gst/gststructure.h (gst_structure_get_enum): Add
4416
4417         * docs/gst/gstreamer-sections.txt: Ditto
4418
4419         * gst/gstmessage.c (gst_message_new_state_changed): Use
4420         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4421         which does introspection.
4422         Reviewed by Christian Schaller
4423
4424 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4425
4426         * gst/gstinfo.c: (gst_debug_log_default):
4427           don't do dummy g_strdup()s
4428         * libs/gst/controller/gstcontroller.c:
4429         (on_object_controlled_property_changed),
4430         (gst_controlled_property_new), (gst_controller_new_valist),
4431         (gst_controller_new_list),
4432         (gst_controller_remove_properties_valist), (gst_controller_set),
4433         (gst_controller_get), (gst_controller_sync_values),
4434         (gst_controller_get_value_array), (_gst_controller_class_init),
4435         (gst_controller_get_type):
4436         * libs/gst/controller/gstcontroller.h:
4437         * libs/gst/controller/gstinterpolation.c:
4438         (gst_controlled_property_find_timed_value_node):
4439           convert // to /**/ comments
4440
4441 2005-09-28  Wim Taymans  <wim@fluendo.com>
4442
4443         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4444         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4445         (gst_bus_sync_signal_handler):
4446         * gst/gstbus.h:
4447         Added async-message and sync-message signals to the bus.
4448         Added helper BusFunc to emit signals for all posted messages.
4449
4450         * gst/gstmessage.c: (gst_message_type_get_name),
4451         (gst_message_type_to_quark), (gst_message_get_type):
4452         * gst/gstmessage.h:
4453         Register quarks for message names.
4454
4455 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4456
4457         * docs/libs/gstreamer-libs-sections.txt:
4458         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4459         (gst_controller_new_list):
4460         * libs/gst/controller/gstcontroller.h:
4461           added another constructor for language bindings
4462
4463 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4464
4465         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4466           add another check
4467         * gst/gstbus.c:
4468           add some doc
4469         * gst/gstinfo.c: (_gst_debug_init):
4470           slightly more readable color for refcount debugging
4471
4472 2005-09-28  Wim Taymans  <wim@fluendo.com>
4473
4474         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4475         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4476         (find_element), (gst_bin_sort_iterator_next),
4477         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4478         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4479         (gst_bin_change_state), (gst_bin_dispose):
4480         Small doc fixes. get_clock -> provide_clock.
4481
4482         * gst/gstelement.c: (gst_element_class_init),
4483         (gst_element_provides_clock), (gst_element_provide_clock),
4484         (gst_element_get_clock), (gst_element_commit_state),
4485         (gst_element_lost_state):
4486         * gst/gstelement.h:
4487         Make get/set_clock() symetric. Add provide_clock vmethod since
4488         that is actually what this function does.
4489
4490         * gst/gstpipeline.c: (gst_pipeline_class_init),
4491         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4492         (gst_pipeline_get_clock):
4493         get_clock -> provide_clock.
4494
4495 2005-09-28  Andy Wingo  <wingo@pobox.com>
4496
4497         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4498         lieu of real docs...
4499
4500         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4501
4502 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * gst/elements/gstcapsfilter.c:
4505         * gst/elements/gstfakesink.c:
4506         * gst/elements/gstfakesrc.c:
4507         * gst/elements/gstfdsink.c:
4508         * gst/elements/gstfdsrc.c:
4509         * gst/elements/gstfilesink.c:
4510         * gst/elements/gstfilesrc.c:
4511         * gst/elements/gstidentity.c:
4512         * gst/elements/gsttee.c:
4513         * gst/elements/gsttypefindelement.c:
4514           Make element details static.
4515
4516 2005-09-28  Wim Taymans  <wim@fluendo.com>
4517
4518         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4519         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4520         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4521         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4522         (gst_bin_change_state), (gst_bin_dispose):
4523         Some documentation updates.
4524         Clean up dispose handlers.
4525
4526         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4527         * gst/gstpad.c: (gst_pad_dispose):
4528         Clean up dispose handler.
4529
4530         * gst/gstpipeline.c: (gst_pipeline_change_state):
4531         Removed spurious UNLOCK.
4532
4533 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4534
4535         * docs/gst/gstreamer-sections.txt:
4536         * gst/base/gstbasesrc.h:
4537         * gst/gstelement.h:
4538         * gst/gstevent.h:
4539         * gst/gstobject.h:
4540         * gst/gstpad.h:
4541         * gst/gstpipeline.c:
4542         * gst/gstpipeline.h:
4543         * gst/gstutils.h:
4544         * gst/gstxml.h:
4545           added two new functions to the docs
4546                 documents all undocumented GstXXXFlags
4547                 completed some incomplete docs 
4548
4549 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4550
4551         * gst/gstbin.c: (gst_bin_dispose):
4552         * gst/gstelement.c: (gst_element_dispose):
4553           remove now useless and leaky resurrection code in dispose
4554         * gst/base/gstbasesrc.c: (gst_base_src_init):
4555         * gst/gstelementfactory.c: (gst_element_factory_create):
4556         * gst/gstobject.c: (gst_object_set_parent):
4557           add some debugging
4558
4559 2005-09-27  Wim Taymans  <wim@fluendo.com>
4560
4561         * docs/design/part-TODO.txt:
4562         Update TODO.
4563
4564         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4565         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4566         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4567         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4568         (gst_bin_change_state):
4569         * gst/gstelement.h:
4570         Remove element variable, we keep element info in the iterator now.
4571
4572 2005-09-27  Andy Wingo  <wingo@pobox.com>
4573
4574         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4575         values.
4576
4577 2005-09-27  Wim Taymans  <wim@fluendo.com>
4578
4579         * check/gst/gstbin.c: (GST_START_TEST):
4580         Enable check that works now.
4581
4582         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4583         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4584         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4585         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4586         (gst_bin_change_state):
4587         * gst/gstbin.h:
4588         Redid the state change algorithm using a topological sort algo.
4589         Handles all cases correctly.
4590         Exposed iterator for state change order.
4591
4592         * gst/gstelement.h:
4593         Temp storage for state changes. Need to get rid of this soon.
4594
4595 2005-09-27  Wim Taymans  <wim@fluendo.com>
4596
4597         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4598         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4599         (link_fold_func), (gst_pad_proxy_setcaps):
4600         Leak fixes, the fold functions need to unref the passed object and
4601         _get_parent_*() returns ref to parent.
4602
4603 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4604
4605         * check/gst/gstbuffer.c: (test_make_writable):
4606           Plug leak in test case and fix 'make check-valgrind'
4607
4608 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4609
4610         * gst/gstbuffer.c: (gst_subbuffer_init):
4611           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4612           works correctly in all circumstances (we could have just copied
4613           the parent buffer's readonly flag, but conceptually it seems
4614           cleaner to mark all subbuffers as read-only). (based on patch
4615           by Alessandro Decina, #314710).
4616         
4617         * check/gst/gstbuffer.c: (create_read_only_buffer),
4618         (test_make_writable), (test_subbuffer_make_writable),
4619         (gst_test_suite):
4620           Add some tests for gst_buffer_make_writable().
4621
4622 2005-09-27  Wim Taymans  <wim@fluendo.com>
4623
4624         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4625         use gst_object_has_ancestor().
4626
4627         * gst/gstobject.c: (gst_object_has_ancestor):
4628         * gst/gstobject.h:
4629         gst_object_has_ancestor() copied from gstbin.c as it is a
4630         usefull function.
4631
4632         * tests/instantiate/create.c: (create_all_elements):
4633         * tests/lat.c: (handoff_src), (handoff_sink):
4634         * tests/sched/runxml.c: (main):
4635         * tests/seeking/seeking1.c: (main):
4636         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4637         (main):
4638         Fix compilation of some tests.
4639
4640 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4641
4642         * gst/gsterror.h:
4643           Remove comment. GST_TYPE_G_ERROR is here to stay,
4644           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4645           (#316961, #300610).
4646
4647 2005-09-26  Wim Taymans  <wim@fluendo.com>
4648
4649         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4650         Added check that shows error in state change order.
4651
4652 2005-09-26  Wim Taymans  <wim@fluendo.com>
4653
4654         * gst/gstbin.c: (gst_bin_change_state):
4655         Make state change function use 3 queues again, we were
4656         adding elements in the wrong order.
4657
4658         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4659         Some debug info,
4660
4661         * gst/gstpad.c: (gst_pad_dispose):
4662         Added some debug info first.
4663
4664 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4665
4666         * docs/design/draft-push-pull.txt:
4667         * docs/design/part-events.txt:
4668         * docs/design/part-overview.txt:
4669         * docs/design/part-scheduling.txt:
4670           Replace all _pull_region() with _pull_range()
4671           
4672 2005-09-26  Andy Wingo  <wingo@pobox.com>
4673
4674         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4675
4676         * check/gst-libs/controller.c: Update for controller api change.
4677
4678         * configure.ac: 
4679         * tests/Makefile.am:
4680         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4681         over by GLib bug 118439.
4682         
4683         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4684         routines to a function.
4685
4686         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4687
4688         * libs/gst/controller/gsthelper.c:
4689         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4690         (gst_object_sync_values): Renamed from sink_values. Ugh.
4691
4692         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4693
4694         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4695         Renamed from controller_key, as it is exported.
4696
4697         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4698
4699 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4700
4701         * gst/Makefile.am:
4702         * gst/gst.h:
4703         * gst/gstpad.h:
4704         * gst/gstpadtemplate.h:
4705         * gst/gstquery.c:
4706         * gst/gstquery.h:
4707         * gst/gstqueryutils.c:
4708         * gst/gstqueryutils.h:
4709           remove queryutils headers after moving the two used functions
4710           to gstquery.  also fixes build problem for gstsiddec
4711
4712 2005-09-26  Michael Smith <msmith@fluendo.com>
4713
4714         * tools/gst-launch.1.in:
4715         Correct documentation in manpage of debug syntax
4716
4717 2005-09-26  Wim Taymans  <wim@fluendo.com>
4718
4719         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4720         (gst_base_src_is_seekable), (gst_base_src_change_state):
4721         Some more debugging info.
4722
4723 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4724
4725         * docs/gst/gstreamer-sections.txt:
4726         * gst/base/gstbasetransform.h:
4727         * gst/gstindex.h:
4728           added more docs
4729
4730 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4731
4732         * docs/gst/.cvsignore:
4733         * docs/gst/tmpl/.cvsignore:
4734         * docs/gst/tmpl/gstpipeline.sgml:
4735         * docs/gst/tmpl/gstplugin.sgml:
4736         * gst/gstpipeline.c:
4737         * gst/gstplugin.c:
4738         * gst/gstplugin.h:
4739           inlined the last two docs files
4740           removed the tmpl directory from cvs (no more conflicts here!)
4741
4742 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4743
4744         * docs/gst/gstreamer-sections.txt:
4745         * docs/gst/tmpl/.cvsignore:
4746         * docs/gst/tmpl/gstpad.sgml:
4747         * docs/gst/tmpl/gstpadtemplate.sgml:
4748         * gst/Makefile.am:
4749         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4750         (gst_pad_finalize), (gst_pad_set_pad_template):
4751         * gst/gstpad.h:
4752         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4753         (gst_pad_template_class_init), (gst_pad_template_init),
4754         (gst_pad_template_dispose), (name_is_valid),
4755         (gst_static_pad_template_get), (gst_pad_template_new),
4756         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4757         (gst_pad_template_pad_created):
4758         * gst/gstpadtemplate.h:
4759           inlined two more docs
4760           factored gstpadtemplate out of gstpad
4761
4762 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4763
4764         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4765         (test_children_state_change_order_semi_sink):
4766           Fix test case: we can't rely on a fixed state change order when
4767           going from READY => PAUSED because the sink might commit its 
4768           new state first when the first buffer created by the source 
4769           reaches the sink before the source has finished its change state.
4770           (Test case still fails at times, see #316856, comment 5 onwards)
4771
4772 2005-09-24  Wim Taymans  <wim@fluendo.com>
4773
4774         * docs/design/part-events.txt:
4775         * docs/design/part-gstbus.txt:
4776         * docs/design/part-gstpipeline.txt:
4777         * docs/design/part-messages.txt:
4778         * docs/design/part-overview.txt:
4779         * docs/design/part-segments.txt:
4780         * gst/gstbin.c:
4781         * gst/gstbuffer.c:
4782         * gst/gstclock.c:
4783         * gst/gstelement.c:
4784         * gst/gstevent.c:
4785         * gst/gstfilter.c:
4786         * gst/gstiterator.c:
4787         Various documentation updates.
4788
4789 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4790
4791         * gst/gstclock.h:
4792           Well, that's embarassing.  Luckily we weren't using
4793           GST_CLOCK_DIFF anywhere.
4794
4795 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         * common/gtk-doc.mak:
4798           don't fail on building XML, FC4 slave shows a bunch of doc
4799           missing bits that I don't get
4800         * gst/gstpad.c:
4801         * gst/gstpipeline.c:
4802         * gst/gststructure.c:
4803           some doc updates
4804
4805 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4806
4807         * docs/design/part-gstbin.txt:
4808         * docs/design/part-gstbus.txt:
4809         * gst/gstbus.c:
4810           Add blurb about how the bus goes into flushing mode and
4811           drops all messages when its bin goes from READY into NULL 
4812           state.
4813
4814 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4815
4816         * docs/gst/gstreamer-sections.txt:
4817         * gst/gststructure.c: (gst_structure_get_clock_time):
4818         * gst/gststructure.h:
4819           add a method to get a GstClockTime out of a structure
4820
4821 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4822
4823         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4824         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4825           Added test to check state change order in bins (can still be made
4826           to fail here under heavy disk load; bails out with 'Push on pad
4827           fakesink:sink0, but it was not activated in push mode').
4828
4829         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4830           Fix state change order when there is only a semi sink (#316856)
4831
4832         * gst/gstbus.c: (gst_bus_class_init):
4833           Use _class_peek_parent(), not _class_ref(); fix docs to say
4834           'default main context' instead of 'mainloop' where that is
4835           what's meant.
4836
4837         * gst/gstelement.c: (gst_element_commit_state),
4838         (gst_element_set_state):
4839           Fix typos in debug messages
4840
4841 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4842
4843         * docs/README:
4844         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4845         * gst/gstpluginfeature.c:
4846         * gst/gstutils.c:
4847           various doc updates
4848         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4849           change an assert into an error until it gets fixed properly
4850
4851 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4852
4853         * docs/gst/gstreamer-sections.txt:
4854         * docs/gst/tmpl/.cvsignore:
4855         * docs/gst/tmpl/gstelement.sgml:
4856         * docs/gst/tmpl/gstinfo.sgml:
4857         * docs/gst/tmpl/gstobject.sgml:
4858         * gst/gstelement.c:
4859         * gst/gstelement.h:
4860         * gst/gstinfo.c:
4861         * gst/gstinfo.h:
4862         * gst/gstobject.c: (gst_object_class_init):
4863         * gst/gstobject.h:
4864           inlined 3 more biiiig doc files and added some missing docs on the fly
4865
4866 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4867
4868         * check/gst/.cvsignore:
4869         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4870         * gst/gstregistryxml.c: (load_plugin),
4871         (gst_registry_xml_save_plugin):
4872           put back source in registry.  add checks for find_plugin.
4873         * testsuite/states/bin.c: (assert_state), (empty_bin),
4874         (test_adding_one_element), (main):
4875         * testsuite/states/locked.c: (main):
4876           some compile/run fixes
4877
4878 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4879
4880         * check/gst/gstvalue.c: (GST_START_TEST):
4881           fix leaks in the test itself
4882
4883 2005-09-22  Wim Taymans  <wim@fluendo.com>
4884
4885         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4886         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4887         (gst_base_sink_query):
4888         Prepare for more accurate position reporting and query
4889         handling.
4890
4891         * gst/gstelement.c: (gst_element_send_event),
4892         (gst_element_set_state):
4893         Add some comment.
4894
4895 2005-09-22  Wim Taymans  <wim@fluendo.com>
4896
4897         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4898         (gst_query_parse_segment):
4899         * gst/gstquery.h:
4900         More documentation.
4901         Add segment query for future use.
4902
4903 2005-09-22  Wim Taymans  <wim@fluendo.com>
4904
4905         * gst/gstbin.c: (gst_bin_add_func):
4906         Some more debug info.
4907
4908         * gst/gstelement.c: (gst_element_send_event):
4909         Simplify send_event
4910
4911         * gst/gstelement.h:
4912         Don't know how flags got broken.
4913
4914         * gst/gstquery.h:
4915         Added new query.
4916
4917 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4918
4919         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4920           Add simplistic test suite for GST_TYPE_DATE serialisation and
4921           deserialisation.
4922
4923 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4924
4925         * docs/gst/gstreamer-sections.txt:
4926         * gst/gststructure.c: (gst_structure_set_valist),
4927         (gst_structure_get_date):
4928         * gst/gststructure.h:
4929         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4930         (gst_date_copy), (gst_value_compare_date),
4931         (gst_value_serialize_date), (gst_value_deserialize_date),
4932         (gst_value_transform_date_string),
4933         (gst_value_transform_string_date), (_gst_value_initialize):
4934         * gst/gstvalue.h:
4935           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4936           bunch of utility functions along with a hack that checks that
4937           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4938           is required. Part of the grand scheme in #170777.
4939
4940 2005-09-22  Andy Wingo  <wingo@pobox.com>
4941
4942         * gst/gstconfig.h.in: Psych out gtk-doc.
4943
4944         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4945
4946         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4947
4948         * tools/gst-inspect.c (print_element_list): Plug some
4949         inconsequential leaks.
4950
4951         * gst/gstregistry.c (gst_registry_get_default): Doc.
4952
4953         * check/gst/gstplugin.c: 
4954         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4955         * gst/gstelementfactory.c (gst_element_factory_create): 
4956         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4957         refcount changes.
4958
4959         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4960         (gst_plugin_feature_load): Doc, don't eat refs.
4961
4962         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4963         (gst_plugin_list_free): Doc.
4964         (gst_plugin_load_file): Doc updates.
4965
4966         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4967         accessors returning refcounted objects, return a ref.
4968
4969         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4970         accessor for caps. IDEMPOTENCE. Oh yes.
4971
4972 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4973
4974         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4975
4976         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4977         (_gst_debug_register_funcptr):
4978           Add mutex to serialise access to the hash table with
4979           the function pointer => function name string mapping;
4980           make that hash table static scope (#316809).
4981
4982         * gst/registries/.cvsignore:
4983           Remove left-over file.
4984
4985 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4986
4987         * docs/pwg/appendix-porting.xml:
4988           And something about newsegment events and caps-on-buffers to
4989           the porting guide (feel free to improve).
4990
4991 2005-09-21  Andy Wingo  <wingo@pobox.com>
4992
4993         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4994         data and event probes on the same pad.
4995         (test_buffer_probe_once): Test that removing probes from within
4996         the probe functions works.
4997
4998 2005-09-21  Andy Wingo  <wingo@pobox.com>
4999
5000         * check/gst/gstutils.c: New file.
5001         (test_buffer_probe_n_times): A simple buffer probe test. More to
5002         come, foolios.
5003
5004         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5005         have-data::buffer, not have-data.
5006         (gst_pad_add_event_probe): Likewise for have-data::event.
5007         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5008         peer' isn't quite right yet though.
5009         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5010         (gst_pad_remove_data_probe): Change to take the guint handler_id
5011         as their arg, not the function+data, which is more glib-like.
5012
5013         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5014         the signal emission to indicate if the data is a buffer or an
5015         event.
5016         (gst_pad_get_type): Initialize buffer and event quarks.
5017         (gst_pad_class_init): have-data is now a detailed signal, yes it
5018         is.
5019
5020 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5021
5022         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5023         * gst/gstutils.c: (gst_util_set_value_from_string),
5024         (gst_util_set_object_arg):
5025           Don't put functional code in g_return_if_fail() or
5026           g_return_val_if_fail() statements, otherwise things will 
5027           break when G_DISABLE_CHECKS is defined during compilation.
5028
5029 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5030
5031         * docs/gst/tmpl/.cvsignore:
5032         * docs/gst/tmpl/gstvalue.sgml:
5033         * gst/gstvalue.c:
5034         * gst/gstvalue.h:
5035           inlied another one and added  some obvious docs
5036
5037 2005-09-21  Wim Taymans  <wim@fluendo.com>
5038
5039         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5040         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5041         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5042         (gst_fdsrc_get_property), (gst_fdsrc_create):
5043         * gst/elements/gstfdsrc.h:
5044         Properly implement fdsrc. Removed signal and timeout,
5045         better implemented somewhere else.
5046
5047 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5048
5049         * docs/gst/tmpl/.cvsignore:
5050         * docs/gst/tmpl/gstimplementsinterface.sgml:
5051         * gst/gstinterface.c:
5052           inlined more docs
5053
5054 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5055
5056         * docs/gst/gstreamer-sections.txt:
5057         * docs/gst/tmpl/.cvsignore:
5058         * docs/gst/tmpl/gstenumtypes.sgml:
5059           remove obsolete doc file
5060
5061 2005-09-21  David Schleef  <ds@schleef.org>
5062
5063         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5064         little beer, fix a little leak.
5065
5066 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5067
5068         * docs/gst/gstreamer-docs.sgml:
5069         * docs/gst/gstreamer-sections.txt:
5070         * docs/gst/tmpl/.cvsignore:
5071         * gst/Makefile.am:
5072         * gst/gst.h:
5073         * gst/gstbin.c:
5074         * gst/gstelement.h:
5075         * gst/gstindex.c: (gst_index_class_init):
5076         * gst/gstindex.h:
5077         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5078         (gst_index_factory_class_init), (gst_index_factory_init),
5079         (gst_index_factory_finalize), (gst_index_factory_new),
5080         (gst_index_factory_destroy), (gst_index_factory_find),
5081         (gst_index_factory_create), (gst_index_factory_make):
5082         * gst/gstindexfactory.h:
5083         * gst/gstpluginfeature.c:
5084         * gst/gstpluginfeature.h:
5085         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5086           more docs inlined, splitted gstindex.{c,h}
5087
5088 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5089
5090         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5091           fix a leak
5092
5093 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5094
5095         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5096           Set sync to FALSE by default.
5097
5098 2005-09-20  Wim Taymans  <wim@fluendo.com>
5099
5100         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5101         (gst_base_sink_init):
5102         Make sync property settable from subclass.
5103
5104         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5105         (gst_fake_sink_change_state):
5106         Set sync to FALSE by default.
5107
5108 2005-09-20  Wim Taymans  <wim@fluendo.com>
5109
5110         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5111         * tools/gst-launch.c: (main):
5112         The timeout handler should have lower priority than the source
5113         so we don't timeout before popping a message with 0 timeout.
5114         Dump error messages after failed state change.
5115
5116 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5117
5118         * tools/gst-inspect.c: (print_element_properties_info):
5119           Fix two typos.
5120
5121 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5122
5123         * check/gst/gstevent.c:
5124         * gst/elements/gstfakesink.c:
5125         * gst/elements/gstfakesink.h:
5126           remove the sync property from fakesink.
5127           has the side effect of setting sync TRUE
5128           for fakesink, which is a change.  Anyone who knows how
5129           to fix this nicely in a GObject-y way, feel free.
5130
5131 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5132
5133         * docs/gst/gstreamer-docs.sgml:
5134           remove probe refsection
5135
5136 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5137
5138         * check/Makefile.am:
5139           disable valgrinding the controller test again
5140         * docs/gst/gstreamer-sections.txt:
5141           update for api-changes
5142
5143 2005-09-20  Wim Taymans  <wim@fluendo.com>
5144
5145         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5146         (gst_base_sink_set_property), (gst_base_sink_get_property),
5147         (gst_base_sink_do_sync):
5148         * gst/base/gstbasesink.h:
5149         Added sync property to basesink to disable clock sync.
5150
5151 2005-09-20  Andy Wingo  <wingo@pobox.com>
5152
5153         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5154         eating the caller's refcount.
5155
5156         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5157         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5158         refcount.
5159
5160         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5161         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5162         of GLib 2.8 public, so we can know which refcount to check in
5163         tests.
5164
5165         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5166         (gst_object_init): Only set the gst refcount if we're going ahead
5167         with the refcount hack.
5168
5169 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5170
5171         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5172         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5173           more leaks plumbed, added more debug-logging
5174         * gst/gstmacros.h:
5175           whitespace fix
5176
5177 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5178
5179         * gst/gstmessage.c:
5180           remove include of gstmemchunk.h
5181
5182 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5183
5184         * gst/gstclock.c: (_gst_clock_id_free):
5185           Commit from the Political Party For More Atomic CVS Commits,
5186           so that people don't waste too much of their day fishing
5187           out obvious leaks out of massive commits.
5188           Oh, and fix a pretty damn obvious leak in the memchunk
5189           removal code.
5190
5191 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5192
5193         * check/Makefile.am:
5194         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5195           plug mem-leak, re-add to valgrindable tests
5196
5197 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5198
5199         * gst/gstplugin.h:
5200           unbreak the build for those who have chronic arthritis
5201           and typing "make check" is just too taxing on the hands
5202
5203 2005-09-20  Andy Wingo  <wingo@pobox.com>
5204
5205         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5206         really want it out, you should fix plugins at the same time.
5207
5208 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5209
5210         * configure.ac:
5211         * docs/gst/gstreamer-sections.txt:
5212         * gst/gstobject.c:
5213           added missing symbols to api docs
5214           disable ref-count hack if we have glib >= 2.8
5215
5216 2005-09-19  David Schleef  <ds@schleef.org>
5217
5218         * docs/gst/Makefile.am: Ignore a few more internal headers
5219         * docs/gst/gstreamer-docs.sgml: Remove old sections
5220         * docs/gst/gstreamer-sections.txt: Remove old sections
5221         * docs/gst/tmpl/gstobject.sgml: update
5222         * docs/gst/tmpl/gstplugin.sgml: update
5223         * docs/gst/tmpl/gstpluginfeature.sgml: update
5224         * docs/random/ds/0.9-suggested-changes: update.
5225         * gst/Makefile.am: remove memchunk and trashstack, since they're
5226           not used.
5227         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5228         * gst/gst.h: don't include some headers
5229         * gst/gstchildproxy.c: add gstmarshal.h
5230         * gst/gstclock.c: Don't use memchunks
5231         * gst/gstminiobject.c: Add some docs
5232         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5233         * gst/gstobject.h: same
5234         * gst/gstplugin.c: include gstmacros.h
5235         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5236         * gst/gstquery.c: don't use memchunks
5237         * gst/gstregistry.c: rename gst_registry_deinit()
5238         * gst/gstregistry.h: same
5239
5240 2005-09-19  David Schleef  <ds@schleef.org>
5241
5242         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5243         * docs/libs/gstreamer-libs-sections.txt:
5244         * docs/libs/tmpl/gstgetbits.sgml:
5245         * docs/libs/tmpl/gstputbits.sgml:
5246
5247 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5248
5249         * win32/gstenumtypes.c:
5250         * win32/gstenumtypes.h:
5251           Update.
5252
5253 2005-09-19  Wim Taymans  <wim@fluendo.com>
5254
5255         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5256         Automatically PAUSE and RESUME a pipeline when a flushing seek
5257         is performed.
5258
5259 2005-09-19  Andy Wingo  <wingo@pobox.com>
5260
5261         * gst/gstregistry.h: Spacing fixen.
5262
5263 2005-09-19  Wim Taymans  <wim@fluendo.com>
5264
5265         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5266         Handle state change failure more correctly.
5267
5268 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5269
5270         * check/Makefile.am:
5271         * check/pipelines/cleanup.c: (run_pipeline):
5272         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5273         (GST_START_TEST):
5274           enable cleanup again after fixing the leak
5275         * docs/README:
5276           some more info on docs
5277
5278 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5279
5280         * check/Makefile.am:
5281           re-enable tests now that leaks are plugged
5282         * check/gst/gst.c:
5283         * check/gst/gstbin.c:
5284         * check/gst/gstpipeline.c:
5285           add some more tests while fixing leaks
5286         * common/check.mak:
5287           make sure binaries are uptodate when valgrinding/gdbing
5288         * gst/gst.c:
5289         * gst/gstelementfactory.c:
5290           remove a ref too many, and add a FIXME for when we get
5291           round to disposing of classes
5292         * gst/gstplugin.c:
5293           fix the refcounting when loading a plugin from a file and
5294           the code pretends that the pointer is the same even though
5295           of course it can change
5296         * gst/gstpluginfeature.c:
5297           unref plugins marked cached (a bit confusing as a name)
5298           as the docs state should be done
5299           various doc additions to explain refcounting
5300         * gst/gstregistry.c:
5301         * gst/gstregistryxml.c:
5302           debugging
5303
5304 2005-09-19  Wim Taymans  <wim@fluendo.com>
5305
5306         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5307         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5308         (send_messages), (GST_START_TEST), (gstbus_suite):
5309         * check/gst/gstpipeline.c: (GST_START_TEST):
5310         * check/pipelines/cleanup.c: (run_pipeline):
5311         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5312         (GST_START_TEST):
5313         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5314         (gst_bus_source_check), (gst_bus_source_dispatch),
5315         (gst_bus_create_watch), (gst_bus_add_watch_full),
5316         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5317         * gst/gstbus.h:
5318         * tools/gst-launch.c: (event_loop):
5319         * tools/gst-md5sum.c: (event_loop):
5320         GstBusHandler -> GstBusFunc, return value has the same meaning as
5321         any other GSource (FALSE == remove source).
5322         _add_watch() and _add_watch_full() now take a MessageType mask to
5323         only handle specific types of messages.
5324         _poll() returns the GstMessage instead of the message type to avoid
5325         race conditions.
5326         _have_pending() takes a MessageType mask now too.
5327         Added testsuite for multiple bus watches.
5328         Fix testsuites and applications for new bus API.
5329
5330 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5331
5332         * check/Makefile.am:
5333           mark a bunch of the tests as to fix until we fix them
5334
5335 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5336
5337         * common/check.mak:
5338           use GST_PLUGIN settings for valgrind tests as well, so we're
5339           valgrinding the correct thing
5340         * gst/gst.c: (init_post):
5341           plug another leak
5342
5343 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5344
5345         * gst/gst.c: (init_post), (gst_deinit):
5346         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5347         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5348         * gst/gstindex.c: (gst_index_factory_class_init),
5349         (gst_index_factory_finalize):
5350         * gst/gstobject.c: (gst_object_dispose):
5351         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5352         (gst_plugin_load_file), (gst_plugin_desc_free):
5353         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5354         (gst_plugin_feature_finalize):
5355         * gst/gstregistry.c: (gst_registry_class_init),
5356         (gst_registry_init), (gst_registry_finalize),
5357         (gst_registry_get_default), (gst_registry_deinit):
5358         * gst/gstregistry.h:
5359         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5360           various cleanups and memleak plugging.  make valgrind is happy now.
5361
5362 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5363
5364         * common/check.mak:
5365           add a check-valgrind target
5366
5367 2005-09-18  David Schleef  <ds@schleef.org>
5368
5369         * tools/gst-inspect.c: Revert the GOption code.
5370
5371 2005-09-17  David Schleef  <ds@schleef.org>
5372
5373         * check/Makefile.am: Fix environment variables.
5374         * check/gst/gstplugin.c: Fix for API changes.
5375         * tools/gst-inspect.c: Fix for API changes.
5376         * tools/gst-xmlinspect.c: Fix for API changes.
5377         * gst/gstelementfactory.c:
5378         * gst/gstplugin.c:
5379         * gst/gstplugin.h:
5380         * gst/gstpluginfeature.c:
5381         * gst/gstpluginfeature.h:
5382         * gst/gstregistry.c:
5383         * gst/gstregistry.h:
5384         * gst/gstregistryxml.c:
5385         * gst/gsttypefind.c:
5386         * gst/gsttypefindfactory.c:
5387         * gst/indexers/gstfileindex.c:
5388         * gst/indexers/gstmemindex.c:
5389         * gst/schedulers/Makefile.am:
5390           Change registry to keep track of both plugins and features,
5391           removing the feature tracking from plugins themselves.
5392
5393 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5394
5395         * check/Makefile.am:
5396         * tools/gst-register.1.in:
5397           remove gst-register
5398
5399 2005-09-15  David Schleef  <ds@schleef.org>
5400
5401         * check/gst/gstplugin.c:
5402         * gst/gstelementfactory.c:
5403         * gst/gstplugin.c:
5404         * gst/gstpluginfeature.c:
5405         * gst/gstregistry.c:
5406           Getting tired of debugging.  Disabled all the unreffing of
5407           plugins and features, which fixes the segfaults, but of
5408           course leaks like crazy.  At least playbin works.
5409
5410 2005-09-15  David Schleef  <ds@schleef.org>
5411
5412         * check/gst/gstplugin.c: (register_check_elements),
5413         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5414         More testing
5415         * gst/elements/gsttypefindelement.c: Fix refcounting.
5416         * gst/gsttypefind.c:
5417         * gst/gsttypefindfactory.c:
5418         * gst/gsttypefindfactory.h:
5419
5420 2005-09-15  David Schleef  <ds@schleef.org>
5421
5422         * gst/gstindex.c: get refcounting correct.
5423         * gst/gstregistry.c: Handle the case where a feature/plugin is
5424           not found.
5425
5426 2005-09-15  David Schleef  <ds@schleef.org>
5427
5428         * check/Makefile.am:
5429         * check/gst/gstplugin.c: Add test
5430         * gst/gstplugin.c: Fix problems noticed by testsuite
5431         * gst/gstplugin.h:
5432         * gst/gstregistry.c: 
5433         * gst/gstregistry.h:
5434
5435 2005-09-15  David Schleef  <ds@schleef.org>
5436
5437         * gst/gstplugin.c: Implement semi-decent recounting and locking
5438           in plugins and plugin features.
5439         * gst/gstplugin.h:
5440         * gst/gstpluginfeature.c:
5441         * gst/gstpluginfeature.h:
5442         * gst/gstregistry.c:
5443
5444 2005-09-15  Michael Smith <msmith@fluendo.com>
5445
5446         * gst/gstregistry.c: (gst_registry_get_feature_list):
5447           Implement this. Makes oggdemux work; decodebin still broken.
5448
5449 2005-09-14  David Schleef  <ds@schleef.org>
5450
5451         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5452           #316076)
5453         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5454         * gst/check/Makefile.am:
5455         * libs/gst/controller/Makefile.am:
5456         * libs/gst/dataprotocol/Makefile.am:
5457
5458 2005-09-14  David Schleef  <ds@schleef.org>
5459
5460         * configure.ac: Remove getbits library.  Nothing uses it, and
5461           it should be in something like liboil if someone did want
5462           to use it.
5463         * libs/gst/Makefile.am:
5464         * libs/gst/getbits/Makefile.am:
5465         * libs/gst/getbits/gbtest.c:
5466         * libs/gst/getbits/getbits.c:
5467         * libs/gst/getbits/getbits.h:
5468         * libs/gst/getbits/gstgetbits_generic.c:
5469         * libs/gst/getbits/gstgetbits_i386.s:
5470         * libs/gst/getbits/gstgetbits_inl.h:
5471
5472 2005-09-14  David Schleef  <ds@schleef.org>
5473
5474         * gst/Makefile.am: Dist glib-compat.h
5475
5476 2005-09-14  David Schleef  <ds@schleef.org>
5477
5478         * configure.ac: Remove gst/registries, since it's no longer used.
5479         * gst/registries/Makefile.am:
5480         * gst/registries/gstlibxmlregistry.c:
5481         * gst/registries/gstlibxmlregistry.h:
5482         * gst/registries/gstxmlregistry.c:
5483         * gst/registries/gstxmlregistry.h:
5484         * gst/registries/registrytest.c:
5485
5486 2005-09-14  David Schleef  <ds@schleef.org>
5487
5488         * gst/glib-compat.h:
5489         * gst/gstregistryxml.c:
5490           Convergence is near.  Seriously.
5491
5492 2005-09-14  David Schleef  <ds@schleef.org>
5493
5494         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5495         * gst/glib-compat.h:
5496           Attempt #4 to appease the buildbots.
5497
5498 2005-09-14  David Schleef  <ds@schleef.org>
5499
5500         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5501           Attempt #3.
5502
5503 2005-09-14  David Schleef  <ds@schleef.org>
5504
5505         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5506         Attempt #2.
5507
5508 2005-09-14  David Schleef  <ds@schleef.org>
5509
5510         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5511           the new functions.
5512
5513 2005-09-14  David Schleef  <ds@schleef.org>
5514
5515         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5516         * gst/glib-compat.h: Add some functions that are in newer versions
5517           of glib than we care to require.
5518         * gst/gstregistryxml.c: Use them.
5519
5520 2005-09-14  David Schleef  <ds@schleef.org>
5521
5522         * po/POTFILES.in: remove gst-register.c
5523
5524 2005-09-14  David Schleef  <ds@schleef.org>
5525
5526         * docs/gst/gstreamer-docs.sgml:
5527         * docs/gst/gstreamer-sections.txt:
5528         * docs/gst/gstreamer.types:
5529         * docs/gst/tmpl/gstelement.sgml:
5530         * docs/gst/tmpl/gstplugin.sgml:
5531         * docs/gst/tmpl/gstpluginfeature.sgml:
5532           Documentation updates for registry changes.
5533
5534 2005-09-14  David Schleef  <ds@schleef.org>
5535
5536         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5537           because we don't require glib-2.8.
5538
5539 2005-09-14  David Schleef  <ds@schleef.org>
5540
5541         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5542           registries directory.
5543
5544 2005-09-14  David Schleef  <ds@schleef.org>
5545
5546         * check/Makefile.am:
5547         * check/generic/states.c:
5548         * gst/Makefile.am:
5549         * gst/gst.c:
5550         * gst/gst.h:
5551         * gst/gst_private.h:
5552         * gst/gstelementfactory.c:
5553         * gst/gstindex.c:
5554         * gst/gstinfo.c:
5555         * gst/gstplugin.c:
5556         * gst/gstplugin.h:
5557         * gst/gstpluginfeature.c:
5558         * gst/gstpluginfeature.h:
5559         * gst/gstregistry.c:
5560         * gst/gstregistry.h:
5561         * gst/gstregistrypool.c: remove
5562         * gst/gstregistrypool.h: remove
5563         * gst/gsttypefind.c:
5564         * gst/gsttypefindfactory.c:
5565         * gst/gsturi.c:
5566         * tools/Makefile.am:
5567         * tools/gst-compprep.c:
5568         * tools/gst-inspect.c:
5569         * tools/gst-register.c: remove
5570         * tools/gst-xmlinspect.c:
5571           Registry rewrite.  Changes registry from being a file created
5572           by a tool into a simple cache file created automatically by 
5573           libgstreamer.  Removed gst-register (because it's no longer
5574           needed).  Remove registry pools, because we only have one
5575           registry implementation (XML).  Fix up other subsystems as
5576           necessary.
5577
5578 2005-09-13  Michael Smith <msmith@fluendo.com>
5579
5580         * gst/gstconfig.h.in:
5581           Don't Use windows linking attributes for MinGW. Fixes #316157
5582
5583 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5584
5585         * gst/gstutils.c: (set_state_async_thread_func),
5586         (gst_element_set_state_async):
5587           Apparently people think it's better if this function doesn't
5588           try to set the state to whatever state was asked for on the first
5589           call to this function for any object.  Seriously.
5590
5591 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5592
5593         * check/gst/gstpipeline.c: (GST_START_TEST):
5594         * docs/gst/gstreamer-sections.txt:
5595         * gst/gstutils.c: (set_state_async_thread_func),
5596         (gst_element_set_state_async):
5597         * gst/gstutils.h:
5598           add a "gst_element_set_state_async" method that
5599           sets the state and starts a thread to make sure the state
5600           change completes as best as it can
5601
5602 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5603
5604         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5605           codify design+behaviour in testsuite after discussion
5606
5607 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5608
5609         * docs/gst/tmpl/gstelement.sgml:
5610         * docs/manual/appendix-quotes.xml:
5611           add a quote
5612         * gst/gstelement.c: (gst_element_set_state):
5613           add some debug
5614
5615 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5616
5617         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5618         (gst_base_transform_prepare_output_buf),
5619         (gst_base_transform_handle_buffer):
5620         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5621         (gst_capsfilter_prepare_buf):
5622           Remove the requirement for sub-classes to call the parent
5623           implementation of prepare_output_buffer with a wrapper function.
5624           
5625         * gst/gsttaglist.h:
5626         * gst/gsttagsetter.h:
5627           Fix #define wrapper
5628
5629 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5630
5631         * docs/gst/gstreamer-sections.txt:
5632           more doc cleanups
5633
5634 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5635
5636         * docs/gst/gstreamer-sections.txt:
5637         * docs/gst/tmpl/gstelement.sgml:
5638         * docs/gst/tmpl/gstplugin.sgml:
5639         * gst/gstminiobject.c:
5640         * gst/gstvalue.h:
5641           docs now stop throwing warnings
5642
5643 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5644
5645         * docs/gst/gstreamer-sections.txt:
5646         * docs/gst/gstreamer.types:
5647         * docs/gst/tmpl/gstpad.sgml:
5648         * docs/gst/tmpl/gsttypes.sgml:
5649         * gst/base/gstadapter.h:
5650         * gst/base/gstbasesink.h:
5651         * gst/base/gstbasesrc.h:
5652         * gst/gstbin.h:
5653         * gst/gstbuffer.h:
5654         * gst/gstbus.h:
5655         * gst/gstcaps.h:
5656         * gst/gstclock.h:
5657         * gst/gstelement.h:
5658         * gst/gstevent.h:
5659         * gst/gstmessage.h:
5660         * gst/gstpad.h:
5661         * gst/gststructure.c:
5662         * gst/registries/gstlibxmlregistry.h:
5663           various documentation fixes
5664
5665 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5666
5667         * docs/gst/gstreamer-sections.txt:
5668         * docs/gst/tmpl/gstvalue.sgml:
5669           rearrange gstvalue section
5670         * gst/gstutils.c: (gst_element_state_get_name):
5671           NONE -> VOID
5672         * gst/gstvalue.c: (_gst_value_initialize):
5673         * gst/gstvalue.h:
5674           doc updates
5675
5676 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5677
5678         * check/gst-libs/controller.c:
5679           Header include fix.
5680         * gst/base/gstbasetransform.c:
5681         (gst_base_transform_default_prepare_buf),
5682         (gst_base_transform_handle_buffer):
5683         * gst/base/gstbasetransform.h:
5684           Some more basetransform changes and fixes to enable sub-classes
5685           that modify buffer metadata only.
5686         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5687         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5688         (gst_capsfilter_prepare_buf):
5689           If the output pad has fixed allowed caps and input buffers 
5690           don't have any, set the fixed caps on outgoing buffers.
5691
5692 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5693         * check/elements/identity.c: (GST_START_TEST):
5694           Make the error a little clearer when the test fails because
5695           identity made a copy of the buffer.
5696         * docs/gst/gstreamer-sections.txt:
5697           New symbols in gstbasetransform.h
5698         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5699         (gst_base_transform_init), (gst_base_transform_transform_size),
5700         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5701         (gst_base_transform_default_prepare_buf),
5702         (gst_base_transform_get_unit_size),
5703         (gst_base_transform_buffer_alloc),
5704         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5705         (gst_base_transform_change_state),
5706         (gst_base_transform_set_passthrough),
5707         (gst_base_transform_set_in_place),
5708         (gst_base_transform_is_in_place):
5709         * gst/base/gstbasetransform.h:
5710           Change BaseTransform to separate in_place operate from same_caps
5711           output. in_place implies that the element can perform the transform
5712           on incoming buffers in-place, even if the caps on the output are
5713           different.
5714           Sub-class elements can now implement special buffer allocation
5715           methods for outgoing buffers if they wish to.
5716           Big documentation addition.
5717         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5718         * gst/elements/gstelements.c:
5719           Changes for basetransform modifications.
5720         * gst/elements/Makefile.am:
5721         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5722           Compile fix. Extra debug output.
5723
5724 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5725
5726         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5727         (gst_pad_suite):
5728           add tests for valid pad naming
5729         * gst/check/gstcheck.c: (gst_check_log_message_func),
5730         (gst_check_log_critical_func):
5731           add ASSERT_WARNING
5732           remove printing of code, it is fragile when the code contains
5733           % and the line number is enough info
5734         * gst/check/gstcheck.h:
5735         * gst/gstpad.c: (gst_pad_template_new):
5736           fix memleaks
5737
5738 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5739
5740         * configure.ac:
5741           say what CHECK flags we use
5742         * docs/libs/gstreamer-libs.types:
5743         * libs/gst/controller/Makefile.am:
5744         * libs/gst/controller/gst-controller.c:
5745         * libs/gst/controller/gst-controller.h:
5746         * libs/gst/controller/gst-helper.c:
5747         * libs/gst/controller/gst-interpolation.c:
5748         * libs/gst/controller/gstcontroller.c:
5749         * libs/gst/controller/gsthelper.c:
5750         * libs/gst/controller/gstinterpolation.c:
5751         * tools/gst-inspect.c: (print_plugin_info):
5752           we don't use dashes in header names
5753
5754 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5755
5756         * check/Makefile.am:
5757         * check/gst/.cvsignore:
5758         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5759         (gst_pipeline_suite), (main):
5760           adding a test for pipelines and state changes
5761         * gst/gstutils.c: (get_state_func):
5762           add some debugging
5763         * gstreamer.spec.in:
5764           fix up spec file
5765
5766 2005-09-08  Michael Smith <msmith@fluendo.com>
5767
5768         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5769         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5770         (gst_file_src_is_seekable), (gst_file_src_get_size),
5771         (gst_file_src_start):
5772         * gst/elements/gstfilesrc.h:
5773           Various fixes for unseekable, unmmapable, and non-normal files, so
5774           that fallback to read() rather than mmap() works.
5775         * gst/gstevent.c: (gst_event_new_newsegment):
5776           Allow newsegment events with segment_start == segment_end, as will
5777           correctly happen if you use filesrc on a zero-size file, for
5778           example.
5779
5780 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5781
5782         * gst/gstplugin.c: (gst_plugin_load_file):
5783           Call g_module_close when we don't load the module
5784
5785         * gst/registries/gstlibxmlregistry.c:
5786         (gst_xml_registry_get_property):
5787           Port leak fix from 0.8
5788
5789 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5790
5791         * docs/gst/gstreamer-docs.sgml:
5792         * docs/gst/tmpl/.cvsignore:
5793         * docs/gst/tmpl/gsttrace.sgml:
5794         * docs/gst/tmpl/gsttrashstack.sgml:
5795         * gst/Makefile.am:
5796         * gst/gst.h:
5797         * gst/gstelement.h:
5798         * gst/gstevent.h:
5799         * gst/gstmessage.c:
5800         * gst/gstmessage.h:
5801         * gst/gsttag.c:
5802         * gst/gsttag.h:
5803         * gst/gsttaginterface.c:
5804         * gst/gsttaginterface.h:
5805         * gst/gsttaglist.c:
5806         * gst/gsttaglist.h:
5807         * gst/gsttagsetter.c:
5808         * gst/gsttagsetter.h:
5809         * gst/gsttrace.c:
5810         * gst/gsttrace.h:
5811         * gst/gsttrashstack.c:
5812           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5813           inlined docs for gsttrace, gsttrashstack
5814
5815 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5816
5817         * gst/Makefile.am:
5818         * gst/elements/gstbufferstore.h:
5819         * gst/elements/gsttypefindelement.c:
5820         * gst/elements/gsttypefindelement.h:
5821         * gst/gst.h:
5822         * gst/gsttypefind.c:
5823         * gst/gsttypefind.h:
5824         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5825         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5826         (gst_type_find_factory_dispose),
5827         (gst_type_find_factory_unload_thyself),
5828         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5829         (gst_type_find_factory_get_caps),
5830         (gst_type_find_factory_get_extensions),
5831         (gst_type_find_factory_call_function):
5832         * gst/gsttypefindfactory.h:
5833         * gst/registries/gstlibxmlregistry.c:
5834         * gst/registries/gstxmlregistry.c:
5835           splitted gsttypefind into gsttypefind, gsttypefindfactory
5836
5837 2005-09-07  Andy Wingo  <wingo@pobox.com>
5838
5839         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5840         condition whereby the pad's task function is entered before the
5841         pad_mode variable was set.
5842
5843 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5844
5845         * gst/gstpad.c: (gst_pad_alloc_buffer):
5846           Catch misbehaving pad_alloc functions that don't
5847           set up caps and do it for them.
5848
5849 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5850
5851         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5852           test for pipe!=NULL
5853         * docs/gst/tmpl/.cvsignore:
5854         * docs/gst/tmpl/gstmemchunk.sgml:
5855         * docs/gst/tmpl/gstparse.sgml:
5856         * docs/gst/tmpl/gsttaglist.sgml:
5857         * docs/gst/tmpl/gsttagsetter.sgml:
5858         * docs/gst/tmpl/gsttypefind.sgml:
5859         * docs/gst/tmpl/gsttypefindfactory.sgml:
5860         * gst/gstmemchunk.c:
5861         * gst/gstparse.c:
5862         * gst/gsttag.c:
5863         * gst/gsttaginterface.c:
5864         * gst/gsttypefind.c:
5865         * gst/gsttypefind.h:
5866           inlined more docs
5867
5868 === release 0.9.2 ===
5869
5870 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5871
5872         * NEWS:
5873         * RELEASE:
5874         * configure.ac:
5875           releasing 0.9.2, "South"
5876
5877 2005-09-05  Andy Wingo  <wingo@pobox.com>
5878
5879         * gst/registries/gstxmlregistry.h:
5880         * gst/registries/gstxmlregistry.c: Um... resurrect...
5881         
5882         * gst/registries/gstxmlregistry.h:
5883         * gst/registries/gstxmlregistry.c: and update to newer API.
5884         Incidentally they should be a bit faster now that they don't have
5885         to parse the caps.
5886         
5887 2005-09-05  Andy Wingo  <wingo@pobox.com>
5888
5889         * gst/registries/gstxmlregistry.h:
5890         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5891         replaced by the libxml registry a while back
5892
5893 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5894
5895         * docs/gst/tmpl/gstplugin.sgml:
5896         * gst/elements/gstelements.c:
5897         * gst/gst.c:
5898         * gst/gstplugin.c: (gst_plugin_register_func),
5899         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5900         (gst_plugin_get_source):
5901         * gst/gstplugin.h:
5902         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5903         (gst_xml_registry_save_plugin):
5904         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5905         (gst_xml_registry_save_plugin):
5906         * tools/gst-inspect.c: (print_plugin_info):
5907           add a "source" plugin description field, to represent the source
5908           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5909           will set it to PACKAGE, which is automake's idea of the name of
5910           the source project.
5911
5912 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5913
5914         * Makefile.am:
5915         * autogen.sh:
5916         * configure.ac:
5917         * docs/Makefile.am:
5918         * docs/faq/Makefile.am:
5919         * docs/gst/tmpl/gstelement.sgml:
5920         * docs/gst/tmpl/gsttypes.sgml:
5921         * docs/htmlinstall.mak:
5922         * docs/manual/Makefile.am:
5923         * docs/pwg/Makefile.am:
5924           reorganize doc build a little
5925           split out docbook and gtk-doc stuff
5926           have two separate --enable's and enable them through autogen
5927           but disable by default in configure (to be similar to other
5928           projects)
5929         * gstreamer.spec.in:
5930           clean up docs install
5931         * po/af.po:
5932         * po/az.po:
5933         * po/ca.po:
5934         * po/cs.po:
5935         * po/de.po:
5936         * po/en_GB.po:
5937         * po/fr.po:
5938         * po/it.po:
5939         * po/nb.po:
5940         * po/nl.po:
5941         * po/ru.po:
5942         * po/sq.po:
5943         * po/sr.po:
5944         * po/sv.po:
5945         * po/tr.po:
5946         * po/uk.po:
5947         * po/vi.po:
5948           translation updates
5949
5950 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5951
5952         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5953           Add comment.
5954           
5955         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5956         (gst_fake_sink_change_state):
5957           Make state change function thread-safe.
5958           
5959         * gst/gstpad.c: (gst_pad_alloc_buffer):
5960           Set offset on generic buffer allocated by fallback.
5961
5962 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5963
5964         * docs/gst/gstreamer-sections.txt:
5965         * docs/gst/tmpl/gstelement.sgml:
5966         * gst/gstpad.c:
5967         * libs/gst/controller/gst-controller.c:
5968         (gst_controlled_property_set_interpolation_mode),
5969         (gst_controlled_property_new),
5970         (gst_controller_find_controlled_property):
5971          run the wingo-magic script against the docs
5972
5973 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5974
5975         * docs/gst/gstreamer-docs.sgml:
5976         * docs/gst/gstreamer-sections.txt:
5977         * docs/gst/tmpl/.cvsignore:
5978         * docs/gst/tmpl/gstelementdetails.sgml:
5979         * docs/gst/tmpl/gstelementfactory.sgml:
5980         * gst/gst.c:
5981         * gst/gstbus.c:
5982         * gst/gstelementfactory.c:
5983         * gst/gstelementfactory.h:
5984           merged elementdetails docs into elementfactory docs
5985           inlined both
5986
5987 2005-09-02  Andy Wingo  <wingo@pobox.com>
5988
5989         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5990         consider this enum an enum and not a flags.
5991
5992 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5993
5994         * docs/gst/gstreamer-docs.sgml:
5995         * docs/gst/tmpl/.cvsignore:
5996         * docs/gst/tmpl/gstghostpad.sgml:
5997         * docs/gst/tmpl/gstiterator.sgml:
5998         * docs/gst/tmpl/gstmacros.sgml:
5999         * docs/gst/tmpl/gstrealpad.sgml:
6000         * docs/gst/tmpl/gstregistry.sgml:
6001         * docs/gst/tmpl/gstregistrypool.sgml:
6002         * docs/gst/tmpl/gststructure.sgml:
6003         * docs/gst/tmpl/gstsystemclock.sgml:
6004         * docs/gst/tmpl/gsttrace.sgml:
6005         * gst/gstghostpad.c:
6006         * gst/gstmacros.h:
6007         * gst/gstmemchunk.c:
6008         * gst/gstmemchunk.h:
6009         * gst/gstqueue.c:
6010         * gst/gstregistry.c:
6011         * gst/gstregistrypool.c:
6012         * gst/gststructure.c:
6013         * gst/gstsystemclock.c:
6014           more docs inlined
6015
6016 2005-09-02  Andy Wingo  <wingo@pobox.com>
6017
6018         * gst/gstelement.h (GstState): Renamed from GstElementState,
6019         changed to be a normal enum instead of flags.
6020         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6021         munged to be GST_STATE_CHANGE_*.
6022         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6023         work with the new state representation.
6024         (GstStateChange): New enumeration of possible state transitions.
6025         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6026         (GstElementClass::change_state): Pass the GstStateChange along as
6027         an argument. Helps language bindings, so they don't have to use
6028         tricky lock-needing macros like GST_STATE_CHANGE ().
6029
6030         * scripts/update-states (file): New script. Run it on a file to
6031         update it for state naming and API changes. Updates files in
6032         place.
6033
6034         * All files updated for the new API.
6035
6036 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6037
6038         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6039         * gst/gstutils.c: (gst_util_set_value_from_string),
6040         (gst_util_set_object_arg):
6041           fix a bunch of unchecked return values
6042         * tools/gst-complete.c: (main):
6043         * gstreamer.spec.in:
6044           clean up a little
6045
6046 2005-09-01  Wim Taymans  <wim@fluendo.com>
6047
6048         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6049         (gst_base_sink_event), (gst_base_sink_do_sync),
6050         (gst_base_sink_handle_event):
6051         * gst/base/gstbasesink.h:
6052         Handle newsegments more correctly.
6053
6054         * gst/gstbus.c:
6055         Fix docs.
6056
6057         * gst/gstevent.c: (gst_event_new_newsegment):
6058         A newsegment cannot have a start_time of -1
6059
6060 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6061
6062         * win32/gstenumtypes.c:
6063         * win32/gstenumtypes.h:
6064           Update
6065
6066 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6067
6068         * libs/gst/controller/gst-controller.c:
6069         (gst_controlled_property_set_interpolation_mode),
6070         (gst_controlled_property_new):
6071          fixed boolean again
6072
6073 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6074
6075         * docs/faq/gst-uninstalled:
6076           add -good
6077         * gst/gstevent.c:
6078         * gst/gstevent.h:
6079           remove wrong docs
6080         * gst/gstutils.c: (gst_element_link_filtered):
6081         * gst/gstutils.h:
6082           add gst_element_link_filtered
6083
6084 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6085
6086         * docs/gst/gstreamer-docs.sgml:
6087         * docs/gst/gstreamer-sections.txt:
6088         * docs/gst/tmpl/.cvsignore:
6089         * docs/gst/tmpl/gsterror.sgml:
6090         * docs/gst/tmpl/gstfilter.sgml:
6091         * docs/gst/tmpl/gsturihandler.sgml:
6092         * docs/gst/tmpl/gsturitype.sgml:
6093         * docs/gst/tmpl/gstutils.sgml:
6094         * docs/gst/tmpl/gstxml.sgml:
6095         * gst/gsterror.c:
6096         * gst/gsterror.h:
6097         * gst/gstfilter.c:
6098         * gst/gsturi.c:
6099         * gst/gsturitype.c:
6100         * gst/gstutils.c:
6101         * gst/gstxml.c:
6102           inlined more docs, fixed double id-ref
6103
6104 2005-08-31  Wim Taymans  <wim@fluendo.com>
6105
6106         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6107         (gst_base_transform_handle_buffer):
6108         Passthrough elements don't need the caps as they don't care.
6109
6110 2005-08-31  Wim Taymans  <wim@fluendo.com>
6111
6112         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6113         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6114         Don't leak refcounts on buffers.
6115
6116 2005-08-31  Wim Taymans  <wim@fluendo.com>
6117
6118         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6119         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6120         (gst_base_transform_chain), (gst_base_transform_change_state):
6121         * gst/base/gstbasetransform.h:
6122         Handle the case where we are not negotiated more gracefully.
6123
6124 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6127         (gst_file_src_map_region):
6128           Set READONLY flag on mmap'ed buffers, otherwise
6129           gst_buffer_make_writable() won't work properly (#314708).
6130
6131 2005-08-31  Wim Taymans  <wim@fluendo.com>
6132
6133         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6134         passthrough elements can even do inplace on non writable
6135         buffers (as they don't touch them).
6136
6137 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6138
6139         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6140         (gst_test_mono_source_set_property),
6141         (gst_test_mono_source_class_init), (GST_START_TEST),
6142         (gst_controller_suite):
6143           more tests (hehe I have the most)
6144         * gst/gstbus.c:
6145           describe popping messages whenusing mulltiple sources
6146         * libs/gst/controller/gst-controller.c:
6147         (gst_controlled_property_set_interpolation_mode),
6148         (gst_controlled_property_new):
6149         * libs/gst/controller/gst-controller.h:
6150         * libs/gst/controller/gst-interpolation.c:
6151           implement boolean properties
6152
6153 2005-08-31  Wim Taymans  <wim@fluendo.com>
6154
6155         * gst/gstminiobject.c: (gst_mini_object_ref):
6156         Cannot assert that the refcount has to be positive
6157         since a disposed object can be resurrected.
6158
6159 2005-08-31  Wim Taymans  <wim@fluendo.com>
6160
6161         * gst/gstpad.c: (gst_pad_init):
6162         Revert change, need to first fix badly behaving 
6163         apps.
6164
6165 2005-08-30  Wim Taymans  <wim@fluendo.com>
6166
6167         * check/elements/fakesrc.c: (setup_fakesrc):
6168         * check/elements/identity.c: (setup_identity):
6169         Activate pads before using them.
6170
6171 2005-08-30  Wim Taymans  <wim@fluendo.com>
6172
6173         * gst/base/gstadapter.c: (gst_adapter_flush):
6174         Flushing out 0 bytes is ok for this function.
6175
6176         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6177         no newsegment gives a warning and sets the start/stop to 
6178         invalid.
6179
6180         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6181         (gst_base_transform_set_passthrough):
6182         Some debug info.
6183
6184         * gst/gstminiobject.c: (gst_mini_object_ref):
6185         Check refcount here too.
6186
6187         * gst/gstpad.c: (gst_pad_init):
6188         Pads are initially flushing and refusing data.
6189
6190         * gst/gstutils.c: (gst_element_link_pads_filtered):
6191         When adding a capsfilter element make sure it has the
6192         same state as the parent bin.
6193
6194 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6195
6196         * docs/gst/tmpl/.cvsignore:
6197         * docs/gst/tmpl/gstformat.sgml:
6198         * docs/gst/tmpl/gstversion.sgml:
6199         * gst/gstbus.h:
6200         * gst/gstformat.c:
6201         * gst/gstformat.h:
6202         * gst/gstversion.h.in:
6203           more docs and two more inlined
6204
6205 2005-08-30  Wim Taymans  <wim@fluendo.com>
6206
6207         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6208         Don't sync to clock.
6209
6210 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6211
6212         * docs/gst/gstreamer-sections.txt:
6213           ultral33t func10ns deserve to appear in the docs actually
6214         * docs/gst/tmpl/.cvsignore:
6215         * docs/gst/tmpl/gstcompat.sgml:
6216         * docs/gst/tmpl/gstconfig.sgml:
6217         * gst/check/gstcheck.c:
6218         * gst/gstcompat.h:
6219         * gst/gstconfig.h.in:
6220           inlined more docs
6221
6222 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6223
6224         * docs/gst/tmpl/.cvsignore:
6225         * docs/gst/tmpl/gstquery.sgml:
6226         * docs/gst/tmpl/gstutils.sgml:
6227         * gst/gstquery.c:
6228         * gst/gstquery.h:
6229           inlined and extended docs
6230
6231 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6232
6233         * check/gst-libs/controller.c: (GST_START_TEST),
6234         (gst_controller_suite):
6235           more tests
6236         * docs/gst/tmpl/gstutils.sgml:
6237         * docs/libs/gstreamer-libs-sections.txt:
6238         * docs/libs/tmpl/gstdataprotocol.sgml:
6239           include path fixes
6240         * examples/controller/audio-example.c: (main):
6241           controller example works now
6242         * gst/gstclock.h:
6243           doc fixes
6244         * tools/gst-inspect.c: (print_element_properties_info):
6245           show param spec flags
6246
6247 2005-08-29  Andy Wingo  <wingo@pobox.com>
6248
6249         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6250
6251 2005-08-28  Andy Wingo  <wingo@pobox.com>
6252
6253         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6254         as having two arguments instead of just one. Allows superclasses
6255         to access information on subclasses -- see the terrible for() loop
6256         in gtype.c:g_type_create_instance for the reason why. All callers
6257         changed.
6258
6259 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6260
6261         * docs/design/part-messages.txt:
6262           update info
6263         * docs/gst/tmpl/.cvsignore:
6264         * docs/gst/tmpl/gstcaps.sgml:
6265         * docs/gst/tmpl/gstclock.sgml:
6266         * gst/gstbus.c:
6267         * gst/gstcaps.c:
6268         * gst/gstcaps.h:
6269         * gst/gstclock.c:
6270         * gst/gstclock.h:
6271         * gst/gstmessage.c:
6272           added descriptions for bus and message
6273           inline caps and clock docs
6274
6275 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6276
6277         * gst/gstmessage.c:
6278         * gst/gstmessage.h:
6279           doc fixes
6280
6281 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6282
6283         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6284           fix div-by-zero
6285
6286 2005-08-26  Andy Wingo  <wingo@pobox.com>
6287
6288         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6289         element_set_state's return val.
6290         (test_2_elements): Add test that's been disabled for months.
6291
6292         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6293         can-activate-pull properties.
6294
6295         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6296         can-activate-pull properties. Implement is_seekable so fakesrc can
6297         operate in pull mode.
6298
6299         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6300         properties.
6301         (gst_base_sink_activate, gst_base_sink_activate_pull)
6302         (gst_base_sink_activate_push): Make activation mode choosing work.
6303         Cleanups.
6304         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6305         is right. Make pull mode work. Post an eos before pausing in pull
6306         mode.
6307         (gst_base_sink_change_state): Pay attention to the core's
6308         change_state() return val.
6309         
6310         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6311         has-getrange properties. Cleanups.
6312         
6313         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6314         has_getrange and replace with can_activate_pull and
6315         can_activate_push.
6316
6317         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6318         locking comments. Remove has_loop, has_chain and replace with
6319         can_activate_pull and can_activate_push.
6320
6321 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6322
6323         * configure.ac:
6324         * examples/Makefile.am:
6325         * examples/metadata/Makefile.am:
6326         * examples/metadata/read-metadata.c: (message_loop),
6327         (have_pad_handler), (make_pipeline), (print_tag), (main):
6328           Add metadata reading example that loops over a list of filenames,
6329           dumping any tags found.
6330
6331         * gst/gstbus.c: (gst_bus_dispose):
6332         * gst/gstelement.c: (gst_element_dispose):
6333           Release a few potentially-held references in dispose.
6334
6335 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6336
6337         * docs/gst/tmpl/gstminiobject.sgml:
6338           do *not* add tmpl/*.sgml files to CVS!
6339
6340 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6341
6342         * libs/gst/bytestream/.cvsignore:
6343         * libs/gst/bytestream/Makefile.am:
6344         * libs/gst/bytestream/adapter.c:
6345         * libs/gst/bytestream/adapter.h:
6346         * libs/gst/bytestream/bytestream.c:
6347         * libs/gst/bytestream/bytestream.h:
6348         * libs/gst/bytestream/filepad.c:
6349         * libs/gst/bytestream/filepad.h:
6350           removing obsolete files
6351
6352 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6353
6354         * docs/gst/gstreamer-docs.sgml:
6355         * docs/libs/gstreamer-libs-docs.sgml:
6356           disabed additional index entries again, as this makes docs-gen just
6357           slow and they aren't useful yet
6358         * docs/libs/gstreamer-libs-sections.txt:
6359           little -section.txt cleanup for libs
6360
6361 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6362
6363         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6364         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6365           fix up some debugging
6366         (gst_base_transform_get_unit_size),
6367         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6368         (gst_base_transform_handle_buffer):
6369         * gst/base/gstbasetransform.h:
6370           handle and store timed NEWSEGMENT events so that subclasses that
6371           calculate time by counting samples have a segment_start time they
6372           need to add to their timestamps - see audioresample
6373
6374 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6375
6376         * gst/gstbin.h:
6377           removed ';' from the end of macro defs
6378         * docs/gst/gstreamer-docs.sgml:
6379         * docs/gst/gstreamer-sections.txt:
6380         * docs/gst/tmpl/.cvsignore:
6381         * gst/gstbus.h:
6382         * gst/gstelement.c: (gst_element_class_init),
6383         (gst_element_set_state), (activate_pads),
6384         (gst_element_save_thyself):
6385         * gst/gstevent.c: (gst_event_new_newsegment):
6386         * gst/gstevent.h:
6387         * gst/gstiterator.c:
6388         * gst/gstiterator.h:
6389         * gst/gstpad.c:
6390         * gst/gstprobe.h:
6391         * gst/gstutils.c: (gst_pad_query_convert):
6392         * gst/gstutils.h:
6393           fixed parameter name mismatches between source, header and docs
6394           added some more docs, resolved the last batch of unused elements in
6395           docs (now someone needs to doc them)
6396
6397 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6398
6399         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6400         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6401           don't walk through the plugins backwards.  Where is all this
6402           reversed logic coming from ?
6403
6404 2005-08-25  Wim Taymans  <wim@fluendo.com>
6405
6406         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6407         (gst_base_transform_transform_size),
6408         (gst_base_transform_configure_caps),
6409         (gst_base_transform_get_unit_size),
6410         (gst_base_transform_buffer_alloc),
6411         (gst_base_transform_change_state):
6412         * gst/base/gstbasetransform.h:
6413         Cache caps unit_size.
6414         Make sure we cannot negotiate up and downstream at the
6415         same time.
6416
6417 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6418
6419         * gst/gst.c: (init_pre), (init_post):
6420           register the installed plugin path after the env var
6421         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6422         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6423           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6424           directories, so the tests can prefer uninstalled over installed
6425
6426 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6427
6428         * gst/base/gstbasetransform.h:
6429           comment
6430         * gst/gstpad.c:
6431           add to docs
6432
6433 2005-08-25  Wim Taymans  <wim@fluendo.com>
6434
6435         * gst/gstbin.c: (bin_bus_handler):
6436         Be a bit more conservative about the posted message.
6437         
6438         * gst/gstbus.c: (gst_bus_post):
6439         Some cleanups, warn wrong return values.
6440
6441 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6442
6443         * check/gst/gstbin.c: (GST_START_TEST):
6444         * gst/gstbin.c: (bin_bus_handler):
6445         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6446         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6447         (gst_message_new_warning), (gst_message_new_tag),
6448         (gst_message_new_state_changed), (gst_message_new_segment_start),
6449         (gst_message_new_segment_done), (gst_message_new_custom):
6450         * gst/gstmessage.h:
6451         * tools/gst-launch.c: (event_loop):
6452         * tools/gst-md5sum.c: (event_loop):
6453           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6454
6455 2005-08-25  Wim Taymans  <wim@fluendo.com>
6456
6457         * check/generic/states.c: (GST_START_TEST):
6458         Cleanup can be done at the end.
6459
6460         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6461         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6462         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6463         Oh boy.. Thanks for finding this, Thomas. 
6464
6465 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6466
6467         * docs/gst/gstreamer.types:
6468           added missing types
6469
6470 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6471
6472         * docs/gst/gstreamer-docs.sgml:
6473         * docs/gst/gstreamer-sections.txt:
6474         * docs/gst/tmpl/.cvsignore:
6475         * gst/gstbin.c:
6476         * gst/gstiterator.c:
6477         * gst/gstutils.c:
6478         * gst/registries/gstxmlregistry.h:
6479           added missing classes and symbols (123 more to go)
6480           removed removed symbols from section file
6481           fixed many doc-comments
6482
6483 2005-08-24  Wim Taymans  <wim@fluendo.com>
6484
6485         * check/generic/states.c: (GST_START_TEST):
6486         Make sure all tasks are stopped.
6487
6488         * check/gst/gstbin.c: (GST_START_TEST):
6489         Unref after usage for proper valgrinding.
6490
6491         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6492         Really wait for the task to stop before destroying the
6493         mutex.
6494
6495         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6496         (gst_queue_src_activate_push):
6497         Small cleanups. Don't stop the task when we did not start
6498         it.
6499
6500         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6501         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6502         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6503         (gst_task_join):
6504         * gst/gsttask.h:
6505         Protect the stream lock with the object lock.
6506         Disallow setting the stream lock when running.
6507         Add cleanup_all to wait for the threadpool to finish.
6508         Remove code to autoallocate a mutex if none was provided.
6509         Add _join() to wait for a task to stop.
6510         Protect the thread pool with a global lock.
6511
6512 2005-08-24  Wim Taymans  <wim@fluendo.com>
6513
6514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6515         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6516         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6517         * gst/base/gstbasesink.h:
6518         Handle newsegment events correctly.
6519         Drop buffers out of the segment range.
6520
6521 2005-08-22  Andy Wingo  <wingo@pobox.com>
6522
6523         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6524         macro, implements an interface and gstimplementsinterface for a
6525         new type.
6526
6527 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6528
6529         * check/Makefile.am:
6530         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6531           add a test that does a bunch of state changes on elements
6532           needs some fixing for valgrind
6533         * check/states/sinks.c: (gst_object_suite):
6534           whitespace
6535         * gst/gstcaps.h:
6536           add prototype for gst_caps_is_equal_fixed
6537         * gst/gstplugin.c:
6538         * gst/gstregistrypool.c:
6539           doc fixes
6540
6541 2005-08-24  Andy Wingo  <wingo@pobox.com>
6542
6543         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6544         convert a negative value. Doesn't make much sense. Mostly this is
6545         here to force callers to ensure -1 maps to -1.
6546
6547 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6548
6549         * docs/pwg/advanced-types.xml:
6550           Well done to Michael for catching my deliberate introduction
6551           of this spelling mistake. 
6552         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6553         * gst/gstelement.h:
6554           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6555           unlink pads before removing the element from the bin.
6556
6557 2005-08-24  Andy Wingo  <wingo@pobox.com>
6558
6559         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6560         the same thing as GST_DEBUG=*:4.
6561         (parse_debug_level, parse_debug_category): New helper parsers.
6562
6563 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6564
6565         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6566         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6567         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6568         (gst_base_transform_buffer_alloc),
6569         (gst_base_transform_handle_buffer):
6570           use gboolean return values and pointers to size so we can use the
6571           full GST_BUFFER_SIZE range (guint) for buffer sizes
6572           use GstPadDirection for transform_caps
6573         * gst/base/gstbasetransform.h:
6574           rename get_size to get_unit_size since that's what it is
6575         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6576           use GstPadDirection for transform_caps
6577         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6578         * gst/gstutils.h:
6579           cleanup and debugging
6580
6581 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6582
6583         * gst/gstelement.c: (gst_element_class_init),
6584         (gst_element_set_state), (activate_pads),
6585         (gst_element_save_thyself):
6586         * tools/gst-compprep.c: (main):
6587         * tools/gst-inspect.c: (print_element_properties_info):
6588         * tools/gst-xmlinspect.c: (print_element_properties):
6589           Fixed long standing mem-leak
6590
6591 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6592
6593         * check/gst/gstbin.c: (GST_START_TEST):
6594         * gst/gstbin.c: (bin_bus_handler):
6595         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6596         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6597         (gst_message_new_warning), (gst_message_new_tag),
6598         (gst_message_new_state_changed), (gst_message_new_segment_start),
6599         (gst_message_new_segment_done), (gst_message_new_custom):
6600         * gst/gstmessage.h:
6601         * tools/gst-launch.c: (event_loop):
6602         * tools/gst-md5sum.c: (event_loop):
6603           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6604           that applications can sensibly post custom messages with references
6605           to their own objects.
6606
6607 2005-08-24  Andy Wingo  <wingo@pobox.com>
6608
6609         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6610         already.
6611
6612 2005-08-24  Wim Taymans  <wim@fluendo.com>
6613
6614         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6615         (gst_base_transform_transform_caps),
6616         (gst_base_transform_transform_size),
6617         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6618         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6619         (gst_base_transform_handle_buffer):
6620         * gst/base/gstbasetransform.h:
6621         Many fixes and new features added by Thomas. Can now also do
6622         transforms with variable sizes and a custom fixate_caps function.
6623
6624 2005-08-24  Wim Taymans  <wim@fluendo.com>
6625
6626         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6627         Some debugging.
6628
6629         * gst/gstclock.h:
6630         Cast to ClockTime before formatting to time.
6631
6632         * gst/gstutils.h:
6633         Cleanups.
6634
6635 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6636
6637         * check/gst-libs/controller.c: (GST_START_TEST),
6638         (gst_controller_suite):
6639         * docs/gst/tmpl/gstcaps.sgml:
6640         * docs/gst/tmpl/gstghostpad.sgml:
6641         * docs/gst/tmpl/gstquery.sgml:
6642         * docs/gst/tmpl/gstutils.sgml:
6643         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6644         (gst_object_sink_values), (gst_object_get_value_arrays),
6645         (gst_object_get_value_array):
6646           gracefully handle helper method calls to objects that are not beeing
6647           controlled, added test case for that          
6648
6649 2005-08-23  Wim Taymans  <wim@fluendo.com>
6650
6651         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6652         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6653         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6654         (gst_event_parse_qos), (gst_event_new_seek),
6655         (gst_event_parse_seek):
6656         * gst/gstevent.h:
6657         Some more debugging output and doc cleanups.
6658
6659         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6660         Fix possible deadlock.
6661
6662 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6663
6664         * docs/gst/gstreamer-docs.sgml:
6665         * docs/gst/gstreamer-sections.txt:
6666         * docs/gst/gstreamer.types:
6667         * docs/gst/tmpl/.cvsignore:
6668         * gst/gstbin.h:
6669         * gst/gstbus.c:
6670         * gst/gstelement.c:
6671         * gst/gstevent.h:
6672           added 100 symbols from gstreamer-unused.txt to the right sections
6673           fixed more broken comments
6674           added GstBus to docs
6675
6676 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * docs/gst/gstreamer-sections.txt:
6679         * docs/gst/tmpl/.cvsignore:
6680         * docs/gst/tmpl/gstbin.sgml:
6681         * docs/gst/tmpl/gstbuffer.sgml:
6682         * gst/base/gstbasesrc.c:
6683         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6684         * gst/gstbuffer.c:
6685         * gst/gstbuffer.h:
6686         * tools/gst-launch.1.in:
6687           inlined more doc comments, added missing comments and fixed comments
6688           fixed typos
6689
6690 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6691
6692         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6693           some debugging
6694         * gst/gstcaps.h:
6695           whitespace fixes
6696         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6697           more debugging
6698         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6699         * gst/gststructure.h:
6700           add a fixate function for booleans; add a FIXME that these func
6701           names should probably be gst_structure_fixate_*
6702
6703 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6704
6705         * docs/gst/gstreamer-docs.sgml:
6706         * docs/gst/gstreamer-sections.txt:
6707         * gst/Makefile.am:
6708         * gst/gstbin.c: (gst_bin_get_type),
6709         (gst_bin_child_proxy_get_child_by_index),
6710         (gst_bin_child_proxy_get_children_count),
6711         (gst_bin_child_proxy_init):
6712         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6713         (gst_child_proxy_get_child_by_index),
6714         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6715         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6716         (gst_child_proxy_get), (gst_child_proxy_set_property),
6717         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6718         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6719         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6720         * gst/gstchildproxy.h:
6721         * gst/parse/grammar.y:
6722         * tools/gst-inspect.c: (print_interfaces),
6723         (print_element_properties_info), (print_element_info):
6724           ported gstchildproxy over from 0.8
6725           ported gst-inspect fixes and enhancements over from 0.8
6726
6727 2005-08-22  Wim Taymans  <wim@fluendo.com>
6728
6729         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6730         (gst_base_transform_handle_buffer):
6731         Also call the transform function if we have ANY caps.
6732
6733         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6734         Fix debug info.
6735
6736 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6737
6738         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6739           Don't pretend to handle seek events if the source is not seekable
6740
6741 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6742
6743         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6744           Remove extra parameter to debug output
6745
6746         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6747         (gst_base_src_do_seek), (gst_base_src_activate_push):
6748           Fix seek event handling.
6749
6750         * gst/gstpipeline.c: (gst_pipeline_change_state):
6751         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6752         (gst_queue_src_activate_push):
6753           Don't start the src pad task on FLUSH_STOP if the pad
6754           isn't linked.
6755           Debug changes.
6756
6757 2005-08-22  Wim Taymans  <wim@fluendo.com>
6758
6759         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6760         Added check for gst_static_caps_get() refcounting.
6761
6762 2005-08-22  Wim Taymans  <wim@fluendo.com>
6763
6764         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6765         Make _static_caps_get() refcounting sane.
6766         
6767         * gst/gstelement.c: (gst_element_set_state):
6768         Add g_return_val_if_fail() to protect against segfaults.
6769
6770 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6771
6772         * docs/gst/tmpl/gstevent.sgml:
6773         * gst/gstevent.c:
6774         * gst/gstevent.h:
6775           inlined remaining docs, added missing doc comments
6776
6777 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * check/gst/gstbin.c: (GST_START_TEST):
6780           since we don't know when preroll is done, use refcount range
6781           check for the sink
6782         * gst/check/gstcheck.h:
6783           add macro for checking refcount range
6784
6785 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6786
6787         * check/Makefile.am:
6788           clean up environment for when registry gets built versus
6789           when actual tests are run; valgrind seems to not report
6790           leaks if GST_PLUGIN_PATH is set to some specific values
6791         * check/gst/gstbin.c: (GST_START_TEST):
6792           add more refcounting checks; maybe this exposes a
6793           preroll lock bug ?
6794         * common/check.mak:
6795         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6796         * gst/check/gstcheck.h:
6797         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6798         (gst_bin_change_state):
6799         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6800           add/fix debugging/whitespace
6801
6802 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6803
6804         * check/gst/gstevent.c: (event_probe), (test_event),
6805         (GST_START_TEST):
6806          Er, don't call gst_bin_watch_for_state_change you idiot.
6807
6808 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6809
6810         * check/Makefile.am:
6811           Use CHECK_CFLAGS and CHECK_LIBS
6812         * check/gst/gstevent.c: (event_probe), (test_event),
6813         (GST_START_TEST):
6814           Don't leak events.
6815         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6816         (gst_base_src_start), (gst_base_src_stop),
6817         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6818         (gst_base_src_change_state):
6819           Sprinkle gst_base_src_stop liberally around error paths to fix
6820           problems reusing a source after failed state changes.
6821         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6822         (helper_find_suggest), (gst_type_find_helper):
6823           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6824         * gst/gstevent.h:
6825         * docs/gst/tmpl/gstevent.sgml:
6826           Migrate part of the docs from the SGML file. Wait for ensonic to
6827           tell me how I did it wrong ;)
6828         * tools/gst-typefind.c: (main):
6829           Extra robustness to state changes between files.
6830
6831 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6832
6833         * check/Makefile.am:
6834           don't valgrind the controller test - it's leaking - Stefan, HELP
6835         * gst/check/gstcheck.c: (gst_check_message_error),
6836         (gst_check_chain_func), (gst_check_setup_element),
6837         (gst_check_teardown_element), (gst_check_setup_src_pad),
6838         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6839         (gst_check_teardown_sink_pad):
6840         * gst/check/gstcheck.h:
6841           add a bunch of methods to set up elements, and src and sink pads
6842         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6843         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6844         (GST_START_TEST):
6845           use them
6846         * gst/gstmessage.c:
6847         * gst/gsttag.h:
6848           whitespace/doc fixes
6849
6850 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6851
6852         * gst/gstelement.h:
6853           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6854           be handled by the application and not always printed as well
6855
6856 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6857
6858         * check/Makefile.am:
6859           set GST_TOOLS_DIR
6860         * gst/check/gstcheck.c: (gst_check_message_error):
6861         * gst/check/gstcheck.h:
6862           add a fail_unless_equals_int
6863           add fail_unless for error messages
6864
6865 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6866
6867         * check/Makefile.am:
6868         * check/gst.supp:
6869         * common/Makefile.am:
6870         * common/check.mak:
6871         * common/gst.supp:
6872           factor out some of the common stuff so we can use it
6873
6874 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6875
6876         * check/Makefile.am:
6877         * check/gst/gstiterator.c: (GST_START_TEST):
6878         * check/gst/gstsystemclock.c: (GST_START_TEST),
6879         (gst_systemclock_suite):
6880         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6881         * gst/gstclock.c:
6882           valgrind more tests
6883
6884 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6885
6886         * check/elements/.cvsignore:
6887         * check/elements/gstfakesrc.c:
6888           rename to name of element
6889         * check/elements/identity.c: (chain_func), (event_func),
6890         (setup_identity), (cleanup_identity), (GST_START_TEST),
6891         (identity_suite), (main):
6892           add a test for identity
6893         * check/Makefile.am:
6894         * pkgconfig/Makefile.am:
6895         * pkgconfig/gstreamer-check.pc.in:
6896         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6897         * gst/check:
6898         * gst/Makefile.am:
6899         * configure.ac:
6900           move the check stuff to a library that gets installed
6901         * check/gst-libs/controller.c: (GST_START_TEST):
6902         * check/gst-libs/gdp.c:
6903         * check/gst/gst.c: (GST_START_TEST):
6904         * check/gst/gstbin.c:
6905         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6906         * check/gst/gstbus.c:
6907         * check/gst/gstcaps.c: (GST_START_TEST):
6908         * check/gst/gstelement.c:
6909         * check/gst/gstghostpad.c:
6910         * check/gst/gstiterator.c:
6911         * check/gst/gstmessage.c:
6912         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6913         * check/gst/gstobject.c:
6914         * check/gst/gstpad.c: (GST_START_TEST):
6915         * check/gst/gststructure.c: (GST_START_TEST):
6916         * check/gst/gstsystemclock.c: (GST_START_TEST),
6917         (gst_systemclock_suite):
6918         * check/gst/gsttag.c: (gst_tag_suite):
6919         * check/gst/gstvalue.c:
6920         * check/pipelines/cleanup.c:
6921         * check/pipelines/simple_launch_lines.c:
6922         * check/states/sinks.c:
6923           change include statement
6924
6925         * docs/gst/gstreamer-sections.txt:
6926         * docs/gst/tmpl/gstpad.sgml:
6927           document more pad stuff
6928         * gst/gstminiobject.c: (gst_mini_object_ref),
6929         (gst_mini_object_unref):
6930           debug refcounting
6931
6932 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6933
6934         * docs/gst/tmpl/gst.sgml:
6935         * gst/gst.c:
6936           eliminate another tmpl file, fix spelling in the long-description
6937
6938 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6939
6940         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6941         (test_event), (timediff), (gstevents_suite):
6942           Should fix build on 64-bit arch's
6943
6944 2005-08-18  Andy Wingo  <wingo@pobox.com>
6945
6946         Make sure that when a pipeline goes to PLAYING, that data has
6947         actually hit the sink.
6948
6949         * check/states/sinks.c (test_sink): A sink that doesn't get any
6950         data shouldn't return SUCCESS for going to either PLAYING or
6951         PAUSED. Test also the return values on the way back down.
6952
6953         * gst/gstelement.c (gst_element_set_state): When changing the
6954         state of an element currently changing state asynchronously, go to
6955         lost-state after commiting the pending state. Makes future calls
6956         to get_state continue to return ASYNC.
6957
6958         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6959         ASYNC when going to PLAYING if we still don't have preroll, as can
6960         happen with live sources.
6961
6962 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6963
6964         * docs/pwg/advanced-types.xml:
6965           Hack long paragraph into 2 chunks as a workaround for buggy
6966           jadetex version in sid and breezy that loops infinitely and
6967           eats all RAM.
6968
6969 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6970
6971         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6972         (test_event), (timediff), (gstevents_suite):
6973           Provide more error margin in clock measurements to allow for 
6974           g_get_current_time inaccuracies.
6975
6976 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6977
6978         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6979         (test_event), (timediff), (gstevents_suite):
6980            Fix error message output so I might be able to tell why the
6981            test works here but fails on the build farm.
6982
6983 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6984
6985         * check/Makefile.am:
6986         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6987         (test_event), (timediff), (gstevents_suite), (main):
6988           I wrote a test!
6989
6990         * docs/design/part-seeking.txt:
6991           Spelling correction
6992
6993         * docs/gst/tmpl/gstevent.sgml:
6994         * docs/gst/tmpl/gstfakesrc.sgml:
6995           Docs updates.
6996
6997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6998           Treat a buffer-without-newsegment the same as a receiving 
6999           a newsegment not in time format, and disable syncing to the clock
7000           with a warning.
7001
7002         * gst/gstbus.c: (gst_bus_set_sync_handler):
7003           Assert if anyone tries to replace the existing sync_handler for bus, 
7004           as only the owner should be setting it.
7005
7006         * gst/gstevent.h:
7007           Have a fixed set of custom event enums with events identified by
7008           their structure name (as in 0.8), rather than a free-for-all
7009           allowing collisions between enum values from different plugins.
7010
7011         * gst/gstpad.c: (gst_pad_class_init):
7012           Docs change.
7013           
7014         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7015           Handle out-of-band downstream events from the sending thread.
7016
7017 2005-08-17  Andy Wingo  <wingo@pobox.com>
7018
7019         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7020         play-timeout==0 to mean no timeout at all. In that case, don't
7021         bother with a get_state or a warning, just return directly, even
7022         if it's ASYNC.
7023
7024         * gst/base/gstbasetransform.c: Debug changes.
7025
7026         * gst/gstutils.h:
7027         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7028         ensure bins post state change messages. A bit of a hack but I can't
7029         think of a way to avoid it.
7030
7031         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7032
7033 2005-08-16  Andy Wingo  <wingo@pobox.com>
7034
7035         * gst/base/gstadapter.h:
7036         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7037         peek() but you own the data. Not terribly efficient atm.
7038
7039 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7040
7041         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7042         (gst_element_found_tags):
7043         * gst/gstutils.h:
7044           Add two utility functions for tag handling.
7045
7046 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7047
7048         * docs/manual/advanced-dataaccess.xml:
7049         * docs/manual/basics-helloworld.xml:
7050           Fix docs to use _bin_add() before _link(), which fixes the examples
7051           with recent core versions (reported by Madhan Raj M
7052           <raj_madan@rediffmail.com>, #313199).
7053
7054 2005-08-16  Wim Taymans  <wim@fluendo.com>
7055
7056         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7057         Added subtract checks.
7058
7059         * docs/design/part-events.txt:
7060         Some more docs about newsegment
7061
7062         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7063         Fix FIXME
7064
7065         * gst/gstcaps.c: (gst_caps_to_string):
7066         Add comments, cleanups.
7067         
7068         * gst/gstelement.c: (gst_element_save_thyself):
7069         cleanups
7070         
7071         * gst/gstvalue.c: (gst_value_collect_int_range),
7072         (gst_string_unwrap), (gst_value_union_int_int_range),
7073         (gst_value_union_int_range_int_range),
7074         (gst_value_intersect_int_int_range),
7075         (gst_value_intersect_int_range_int_range),
7076         (gst_value_intersect_double_double_range),
7077         (gst_value_intersect_double_range_double_range),
7078         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7079         (gst_value_subtract_int_range_int),
7080         (gst_value_subtract_double_range_double),
7081         (gst_value_subtract_double_range_double_range),
7082         (gst_value_subtract_from_list), (gst_value_subtract_list),
7083         (gst_value_can_compare), (gst_value_compare_fraction):
7084         Cleanups, add comments, remove unneeded asserts.
7085
7086 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7087
7088         * tools/gst-launch.c: (event_loop):
7089           don't convert NULL structures to strings
7090
7091 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7092
7093         * docs/gst/gstreamer-sections.txt:
7094           made some defines private
7095         * docs/gst/tmpl/gstconfig.sgml:
7096         * docs/gst/tmpl/gstqueue.sgml:
7097         * docs/gst/tmpl/gsttaglist.sgml:
7098         * docs/gst/tmpl/gsttypes.sgml:
7099         * docs/gst/tmpl/gstutils.sgml:
7100         * docs/pwg/appendix-porting.xml:
7101         * gst/base/gstbasesink.h:
7102         * gst/base/gstbasesrc.c:
7103         * gst/base/gstbasesrc.h:
7104         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7105         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7106         * gst/gstelement.c: (gst_element_class_init):
7107         * gst/gstpad.c: (gst_pad_class_init):
7108         * gst/gstqueue.c: (gst_queue_class_init):
7109         * gst/gstxml.c: (gst_xml_class_init):
7110           documented all undocumented signal inline
7111         * libs/gst/controller/gst-controller.h:
7112           added padding
7113
7114 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7115
7116         * docs/pwg/appendix-porting.xml:
7117           Document _set_link_function -> _set_setcaps_function.
7118
7119 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7120
7121         * check/Makefile.am:
7122           add a .check target for running the check
7123         * check/gst-libs/controller.c: (GST_START_TEST):
7124           cosmetic fixups
7125         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7126           complete checks for gstbuffer; would be nice if I could get the
7127           gcov stuff to work so I can see if I actually completed gstbuffer.c
7128         * check/gstcheck.h:
7129           add ASSERT_BUFFER_REFCOUNT
7130
7131 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7132
7133         * docs/gst/gstreamer-sections.txt:
7134         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7135         * gst/gsttag.h:
7136           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7137           spew out a warning if a tag that is already registered
7138           is re-registered, unless it is re-registered with a 
7139           different type (#308438).
7140
7141 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7142
7143         * docs/pwg/appendix-porting.xml:
7144         * docs/pwg/building-state.xml:
7145           Add some paragraphs about state changes in 0.9 to the PWG
7146           and the porting guide, in particular about the new meaning
7147           of GST_STATE_PAUSED and how to write state change functions
7148           with concurrent access by multiple threads in mind.
7149
7150 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7151
7152         * docs/gst/gstreamer-docs.sgml:
7153         * docs/libs/gstreamer-libs-docs.sgml:
7154           added deprecation and since indexes
7155         * libs/gst/controller/gst-controller.c:
7156         * libs/gst/controller/gst-helper.c:
7157           added since tags
7158
7159
7160 2005-08-11  Wim Taymans  <wim@fluendo.com>
7161
7162         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7163         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7164         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7165         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7166         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7167         (gst_ghost_pad_set_target):
7168         Actually implement (re)setting the target on a ghostpad
7169         as described in the docs.
7170
7171 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7172
7173         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7174           Check whether GST_DEBUG_NO_COLOR environment variable is
7175           set and disable coloured debug output if that is the case.
7176
7177 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7178
7179         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7180         (gst_type_find_helper):
7181           The memory returned by gst_type_find_peek() needs to
7182           stay valid until the end of a typefind function, and
7183           typefind functions may keep results from different 
7184           offsets around, so we can't just unref the buffer from
7185           the previous _peek(), but have to save all buffers 
7186           returned by _peek() until typefinding is done and only
7187           free them then.
7188
7189 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7190
7191         * docs/gst/gstreamer-sections.txt:
7192         * gst/gstutils.h:
7193           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7194
7195 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7196
7197         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7198           Fix a pretty good memleak.
7199
7200 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7201
7202         * gst/gstiterator.h:
7203           Fix wrong include and 'make distcheck'.
7204
7205 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7206
7207         * gst/gstbin.c: (bin_bus_handler):
7208           Use gst_element_post_message() instead.
7209
7210 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7211
7212         * gst/base/gstadapter.h:
7213         * gst/base/gstbasesink.h:
7214         * gst/base/gstbasesrc.h:
7215         * gst/base/gstbasetransform.h:
7216         * gst/base/gstcollectpads.h:
7217         * gst/base/gstpushsrc.h:
7218         * gst/gstiterator.h:
7219           Add padding to our base elements' class and instance structs and
7220           to GstIterator (you will need to rebuild all plugins and apps!)
7221
7222 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7223
7224         * gst/gstbin.c: (bin_bus_handler):
7225           Make default message forwarding from child->bus to bin->bus
7226           threadsafe and make it not emit warnings if the parent has no bus.
7227
7228 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7229
7230         * gst/gstelement.c: (activate_pads):
7231           On paused->ready, set pad->caps to NULL, as is the documented
7232           behaviour in this state change. Fixes playback of series of
7233           media files when visualization is enabled in Totem.
7234
7235 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7236
7237         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7238           Allow NULL as filter-caps (which means "any").
7239
7240 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7241
7242         * docs/libs/gstreamer-libs-sections.txt:
7243         * libs/gst/controller/gst-controller.c:
7244         * libs/gst/controller/gst-controller.h:
7245         * libs/gst/controller/gst-helper.c:
7246           adding more entries to the docs and fix small doc-bugs
7247
7248 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7249
7250         * docs/gst/gstreamer-docs.sgml:
7251         * docs/gst/gstreamer-sections.txt:
7252         * docs/gst/gstreamer.types:
7253         * docs/gst/tmpl/gstbasesink.sgml:
7254         * docs/gst/tmpl/gstbasesrc.sgml:
7255         * docs/gst/tmpl/gstbasetransform.sgml:
7256         * docs/gst/tmpl/gstfakesrc.sgml:
7257         * gst/base/gstcollectpads.c:
7258         * gst/base/gstcollectpads.h:
7259         * libs/gst/controller/gst-controller.c:
7260         * libs/gst/controller/gst-controller.h:
7261         * libs/gst/controller/gst-helper.c:
7262         * libs/gst/controller/gst-interpolation.c:
7263         * libs/gst/controller/lib.c:
7264           added long/short desc for controller docs
7265           added collectpads base class docs
7266           added correct includes to base-class docs
7267
7268 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7269
7270         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7271         (gst_test_mono_source_set_property),
7272         (gst_test_mono_source_class_init), (GST_START_TEST),
7273         (gst_controller_suite):
7274         * docs/gst/gstreamer-docs.sgml:
7275         * docs/gst/gstreamer-sections.txt:
7276         * docs/gst/gstreamer.types:
7277         * docs/libs/gstreamer-libs-docs.sgml:
7278         * docs/libs/gstreamer-libs-sections.txt:
7279         * gst/base/gstadapter.c:
7280         * libs/gst/controller/gst-controller.c:
7281         (gst_controlled_property_new), (gst_controlled_property_free),
7282         (gst_controller_new_valist),
7283         (gst_controller_remove_properties_valist),
7284         (gst_controller_sink_values), (_gst_controller_finalize):
7285         * libs/gst/controller/gst-controller.h:
7286         * libs/gst/controller/gst-helper.c:
7287         (gst_object_control_properties), (gst_object_uncontrol_properties),
7288         (gst_object_get_controller), (gst_object_set_controller),
7289         (gst_object_sink_values), (gst_object_get_value_arrays),
7290         (gst_object_get_value_array):
7291           more tests (and fixes) for the controller
7292           more docs for the controller
7293           integrated companies docs for the adapter 
7294
7295 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7296
7297         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7298         (GST_START_TEST), (fakesrc_suite):
7299           add tests for sizetype
7300
7301 2005-08-04  Andy Wingo  <wingo@pobox.com>
7302
7303         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7304         fixes buffer_alloc proxying among other things.
7305
7306         * gst/base/gstbasetransform.c:
7307         * gst/base/gstbasetransform.h:
7308         Revert patch to gstbasetransform from 7-28 removing
7309         delay_configure.
7310
7311         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7312         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7313         Semantics changed, should return not the size of the output buffer
7314         but the byte size of a buffer with a given caps.
7315
7316         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7317         debug object.
7318         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7319         out) are not the pad caps until setcaps finishes.
7320         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7321         not-in-place case as well. Deal with changing from in-place to
7322         not-in-place within calling pad_alloc_buffer. Still a bit
7323         concerned about the overhead here...
7324
7325 2005-08-03  Andy Wingo  <wingo@pobox.com>
7326
7327         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7328         fixating is an error.
7329
7330 2005-08-04  Edward Hervey  <edward@fluendo.com>
7331
7332         * gst/base/gstadapter.h: 
7333         Added gst_adapter_get_type() to the header
7334
7335 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * check/Makefile.am:
7338         * check/gst-libs/controller.c:
7339         * libs/gst/controller/gst-controller.c:
7340         (gst_controller_new_valist):
7341           added check test suite for the controller
7342         * gst/base/gstpushsrc.c:
7343           fixed a doc typo
7344
7345 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7346
7347         * docs/gst/Makefile.am:
7348         * docs/gst/gstreamer-docs.sgml:
7349         * docs/gst/gstreamer-sections.txt:
7350         * docs/gst/gstreamer.types:
7351         * docs/gst/tmpl/gstfakesrc.sgml:
7352         * gst/base/README:
7353         * gst/base/gstbasesink.c:
7354         * gst/base/gstbasesink.h:
7355         * gst/base/gstbasesrc.c:
7356         * gst/base/gstbasesrc.h:
7357         * gst/base/gstbasetransform.c:
7358         * gst/base/gstpushsrc.c:
7359         * gst/base/gstpushsrc.h:
7360           add short/long description docs to base classes
7361           add pushsrc to the docs
7362           remove consolidated doc fragments
7363
7364 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7365
7366         * configure.ac:
7367         * docs/libs/Makefile.am:
7368         * docs/libs/gstreamer-libs-docs.sgml:
7369         * docs/libs/gstreamer-libs-sections.txt:
7370         * docs/libs/gstreamer-libs.types:
7371         * examples/Makefile.am:
7372         * examples/controller/.cvsignore:
7373         * examples/controller/Makefile.am:
7374         * examples/controller/audio-example.c: (main):
7375         * libs/gst/Makefile.am:
7376         * libs/gst/controller/.cvsignore:
7377         * libs/gst/controller/Makefile.am:
7378         * libs/gst/controller/gst-controller.c:
7379         (on_object_controlled_property_changed), (gst_timed_value_compare),
7380         (gst_timed_value_find),
7381         (gst_controlled_property_set_interpolation_mode),
7382         (gst_controlled_property_new), (gst_controlled_property_free),
7383         (gst_controller_find_controlled_property),
7384         (gst_controller_new_valist), (gst_controller_new),
7385         (gst_controller_remove_properties_valist),
7386         (gst_controller_remove_properties), (gst_controller_set),
7387         (gst_controller_set_from_list), (gst_controller_unset),
7388         (gst_controller_get), (gst_controller_get_all),
7389         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7390         (gst_controller_get_value_array),
7391         (gst_controller_set_interpolation_mode),
7392         (_gst_controller_finalize), (_gst_controller_init),
7393         (_gst_controller_class_init), (gst_controller_get_type):
7394         * libs/gst/controller/gst-controller.h:
7395         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7396         (g_object_uncontrol_properties), (g_object_get_controller),
7397         (g_object_set_controller), (g_object_sink_values),
7398         (g_object_get_value_arrays), (g_object_get_value_array):
7399         * libs/gst/controller/gst-interpolation.c:
7400         (gst_controlled_property_find_timed_value_node),
7401         (interpolate_none_get), (interpolate_trigger_get),
7402         (interpolate_trigger_get_value_array):
7403         * libs/gst/controller/lib.c: (gst_controller_init):
7404         * pkgconfig/Makefile.am:
7405         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7406         * pkgconfig/gstreamer-control.pc.in:
7407         * testsuite/Makefile.am:
7408         * testsuite/controller/.cvsignore:
7409         * testsuite/controller/Makefile.am:
7410         * testsuite/controller/interpolator.c: (main):
7411           added controller code
7412           removed dparam pc files
7413
7414 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7415         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7416         (gst_collectpads_stop):
7417           Broadcast the condition when shutting down, to make sure we wake all
7418           threads up. Shut down pads on finalize, for safety.
7419
7420 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7421         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7422         (gst_base_transform_handle_buffer),
7423         (gst_base_transform_change_state):
7424           Handle PAUSED->READY->PAUSED transition after negotiation
7425           occurred already.
7426         * gst/gstmessage.c: (gst_message_init):
7427           Extra piece of debug for new messages.
7428
7429 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7430
7431         * configure.ac:
7432         * docs/gst/tmpl/gstbasesrc.sgml:
7433         * docs/gst/tmpl/gstelement.sgml:
7434         * docs/gst/tmpl/gstevent.sgml:
7435         * docs/gst/tmpl/gstfakesrc.sgml:
7436         * docs/gst/tmpl/gstformat.sgml:
7437         * docs/gst/tmpl/gstghostpad.sgml:
7438         * docs/gst/tmpl/gstpad.sgml:
7439         * docs/gst/tmpl/gstquery.sgml:
7440         * docs/gst/tmpl/gststructure.sgml:
7441         * docs/gst/tmpl/gsttaglist.sgml:
7442         * docs/gst/tmpl/gstvalue.sgml:
7443         * docs/libs/gstreamer-libs-docs.sgml:
7444         * docs/libs/gstreamer-libs-sections.txt:
7445         * docs/libs/gstreamer-libs.types:
7446         * libs/gst/Makefile.am:
7447         * libs/gst/control/.cvsignore:
7448         * libs/gst/control/Makefile.am:
7449         * libs/gst/control/control.c:
7450         * libs/gst/control/control.h:
7451         * libs/gst/control/dparam.c:
7452         * libs/gst/control/dparam.h:
7453         * libs/gst/control/dparam_smooth.c:
7454         * libs/gst/control/dparam_smooth.h:
7455         * libs/gst/control/dparamcommon.h:
7456         * libs/gst/control/dparammanager.c:
7457         * libs/gst/control/dparammanager.h:
7458         * libs/gst/control/dplinearinterp.c:
7459         * libs/gst/control/dplinearinterp.h:
7460         * libs/gst/control/unitconvert.c:
7461         * libs/gst/control/unitconvert.h:
7462         * testsuite/Makefile.am:
7463         * testsuite/dynparams/.cvsignore:
7464         * testsuite/dynparams/Makefile.am:
7465         * testsuite/dynparams/dparamstest.c:
7466         * tools/Makefile.am:
7467         * tools/gst-inspect.c: (print_element_info), (main):
7468         * tools/gst-xmlinspect.c: (print_element_info), (main):
7469           deactivate and remove dparams (libgstcontrol)
7470
7471 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7472
7473         * gst/elements/gsttypefindelement.c:
7474         (gst_type_find_element_have_type), (gst_type_find_element_init),
7475         (stop_typefinding), (gst_type_find_element_handle_event),
7476         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7477         * gst/elements/gsttypefindelement.h:
7478           Set caps on all outgoing buffers, not just the first one.
7479
7480 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7481
7482         * gst/elements/gsttypefindelement.c:
7483         (gst_type_find_element_have_type),
7484         (gst_type_find_element_check_set_buffer_caps),
7485         (gst_type_find_element_init), (stop_typefinding),
7486         (gst_type_find_element_handle_event),
7487         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7488         * gst/elements/gsttypefindelement.h:
7489           Set caps on first outgoing buffer when we've found the type.
7490
7491 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7492
7493         * docs/gst/gstreamer-docs.sgml:
7494         * docs/gst/gstreamer-sections.txt:
7495         * docs/gst/tmpl/gstscheduler.sgml:
7496         * docs/gst/tmpl/gstschedulerfactory.sgml:
7497           Remove some old cruft from docs.
7498
7499 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7500
7501         * gst/gstpad.h:
7502           Fix inline docs for GstPadLinkReturn.
7503           
7504         * gst/gststructure.c: (gst_structure_has_name):
7505         * gst/gststructure.h:
7506         * docs/gst/gstreamer-sections.txt:
7507           New API: gst_structure_has_name().
7508
7509 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7510
7511         * configure.ac:
7512           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7513           and _LARGEFILE_SOURCE in config.h as required. Do not 
7514           export those flags in our .pc files any longer (#142209).
7515
7516           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7517
7518         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7519         (gst_file_sink_do_seek), (gst_file_sink_event),
7520         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7521           Redo seek/tell calls with large file support in mind; add some
7522           debugging messages; add log message that tells us when large
7523           file support is unavailable or not enabled for some reason.
7524
7525         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7526           Add log message that tells us when large file support 
7527           is unavailable or not enabled for some reason.
7528
7529 2005-07-29  Wim Taymans  <wim@fluendo.com>
7530
7531         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7532         Added test for removing an element with ghostpad from a bin.
7533         Fixed test as current implementation does the right thing.
7534
7535         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7536         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7537         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7538         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7539         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7540         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7541         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7542         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7543         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7544         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7545         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7546         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7547         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7548         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7549         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7550         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7551         * gst/gstghostpad.h:
7552         Clean up ghostpads, remove properties for internal stuff.
7553         Make threadsafe.
7554         Fix refcounting.
7555         Prepare for switching targets, not all use cases work yet.
7556
7557 2005-07-29  Wim Taymans  <wim@fluendo.com>
7558
7559         * docs/design/part-gstghostpad.txt:
7560         Small update.
7561
7562         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7563         (gst_bin_remove_func):
7564         Unlinking pads while holding the bin LOCK is not a good
7565         idea.
7566
7567         * gst/gstpad.c: (gst_pad_class_init),
7568         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7569         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7570         No prob setting template after creating the pad.
7571
7572 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7573
7574         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7575         (gst_bus_peek), (gst_bus_source_dispatch),
7576         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7577         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7578           gst_bus_poll may be called from other threads. Handle
7579           this nicely by not making poll_data disappear off the
7580           stack once gst_bus_poll returns.
7581           gst_bus_peek now increments the refcount on the returned
7582           message.
7583
7584 2005-07-29  Wim Taymans  <wim@fluendo.com>
7585
7586         * docs/design/part-gstghostpad.txt:
7587         Overview of current GhostPad datastructures and use
7588         cases for changing the target.
7589
7590 2005-07-28  Wim Taymans  <wim@fluendo.com>
7591
7592         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7593         Added checks for hierarchy consistency whan adding linked
7594         elements to bins.
7595
7596         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7597         Added check to test element scheduling without bin/pipeline.
7598
7599         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7600         First add elements to bin, then link.
7601         
7602         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7603         (gst_bin_remove_func):
7604         Unlink pads from elements added/removed from bin to maintain
7605         hierarchy consistency.
7606
7607 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7608
7609         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7610         (gst_base_transform_handle_buffer):
7611         * gst/base/gstbasetransform.h:
7612           Remove broken delay_configure (fixes renegotiation of software
7613           scaling pipelines); remove some leftover printf()s.
7614
7615 2005-07-28  Wim Taymans  <wim@fluendo.com>
7616
7617         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7618         Added some more tests for wrong hierarchy
7619
7620         * docs/design/part-overview.txt:
7621         Some updates.
7622
7623         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7624         Cleanups.
7625
7626         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7627         (gst_element_dispose):
7628         Some more cleanups.
7629
7630         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7631         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7632         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7633         (gst_pad_set_caps), (gst_pad_send_event):
7634         Check for correct hierarchy when linking pads. Moving to
7635         strict requirement for ghostpads when linking elements in
7636         different bins.
7637
7638         * gst/gstpad.h:
7639         Clean ups. Added WRONG_HIERARCHY return value.
7640
7641 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7642
7643         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7644           Better debug if no transform is possible.
7645
7646 2005-07-27  Wim Taymans  <wim@fluendo.com>
7647
7648         * docs/random/wtay/network-transp:
7649         Some old doc I had.
7650
7651 2005-07-27  Wim Taymans  <wim@fluendo.com>
7652
7653         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7654         (gst_dp_event_from_packet):
7655         Fix serialization of seek events.
7656
7657 2005-07-27  Wim Taymans  <wim@fluendo.com>
7658
7659         * check/gst-libs/gdp.c: (GST_START_TEST):
7660         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7661         Fix compilation and fix event serialization.
7662
7663 2005-07-27  Wim Taymans  <wim@fluendo.com>
7664
7665         * CHANGES-0.9:
7666         * docs/design/part-TODO.txt:
7667         * docs/design/part-events.txt:
7668         Some docs updates
7669
7670         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7671         (gst_base_sink_event), (gst_base_sink_do_sync),
7672         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7673         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7674         (gst_base_src_do_seek), (gst_base_src_event_handler),
7675         (gst_base_src_loop):
7676         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7677         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7678         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7679         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7680         (gst_base_transform_set_passthrough),
7681         (gst_base_transform_is_passthrough):
7682         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7683         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7684         Event updates.
7685
7686         * gst/gstbuffer.h:
7687         Use faster casts.
7688
7689         * gst/gstelement.c: (gst_element_seek):
7690         * gst/gstelement.h:
7691         Update gst_element_seek.
7692
7693         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7694         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7695         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7696         (gst_event_new_eos), (gst_event_new_newsegment),
7697         (gst_event_parse_newsegment), (gst_event_new_tag),
7698         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7699         (gst_event_parse_qos), (gst_event_new_seek),
7700         (gst_event_parse_seek), (gst_event_new_navigation):
7701         * gst/gstevent.h:
7702         Make GstEvent use GstStructure. Add parsing code, make sure the
7703         API is sufficiently generic.
7704         Mark possible directions of events and serialization.
7705
7706         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7707         (_gst_message_copy), (gst_message_new_segment_start),
7708         (gst_message_new_segment_done), (gst_message_new_custom),
7709         (gst_message_parse_segment_start),
7710         (gst_message_parse_segment_done):
7711         Small cleanups.
7712
7713         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7714         (gst_pad_set_caps), (gst_pad_send_event):
7715         Update for new events. 
7716         Catch events sent in wrong directions.
7717
7718         * gst/gstqueue.c: (gst_queue_link_src),
7719         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7720         (gst_queue_handle_src_query):
7721         Event updates.
7722
7723         * gst/gsttag.c:
7724         * gst/gsttag.h:
7725         Remove event code from this file.
7726
7727         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7728         (gst_dp_event_from_packet):
7729         Event updates.
7730
7731 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7732
7733         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7734         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7735         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7736           Make debugging actually useful.
7737
7738 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7739
7740         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7741         (gst_pad_fixate_caps):
7742           Implement default fixation once again, so that gst_pad_fixate()
7743           actually does anything at all. This probably needs to be some
7744           sort of a last resort, and use profile-based fixation first, but
7745           since that doesn't exist yet, this is the best we have. Fixes
7746           visualization in Totem.
7747
7748 2005-07-22  Wim Taymans  <wim@fluendo.com>
7749
7750         * docs/design/part-events.txt:
7751         Small update.
7752
7753         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7754         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7755         (gst_base_sink_activate_pull):
7756         Some more comments.
7757
7758         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7759         (gst_fake_src_create):
7760         Fix handoff marshall.
7761
7762         * gst/elements/gstidentity.c: (gst_identity_class_init),
7763         (gst_identity_transform_ip):
7764         We're a real inplace element.
7765
7766         * gst/gstbus.c: (gst_bus_post):
7767         Added some comments.
7768
7769         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7770         * tests/muxing/case1.c: (main):
7771         * tests/sched/dynamic-pipeline.c: (main):
7772         * tests/sched/interrupt1.c: (main):
7773         * tests/sched/interrupt2.c: (main):
7774         * tests/sched/interrupt3.c: (main):
7775         * tests/sched/runxml.c: (main):
7776         * tests/sched/sched-stress.c: (main):
7777         * tests/seeking/seeking1.c: (event_received), (main):
7778         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7779         (main):
7780         * tests/threadstate/threadstate3.c: (main):
7781         * tests/threadstate/threadstate4.c: (main):
7782         * tests/threadstate/threadstate5.c: (main):
7783         Fix the tests.
7784
7785 2005-07-21  Wim Taymans  <wim@fluendo.com>
7786
7787         * docs/design/part-seeking.txt:
7788         Some small additions.
7789
7790         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7791         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7792         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7793         * gst/base/gstbasesink.h:
7794         discont values are gint64, handle the math correctly.
7795
7796         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7797         Make the basesrc report error if the source pad is not linked.
7798
7799         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7800         (gst_queue_loop), (gst_queue_handle_src_query),
7801         (gst_queue_src_activate_push):
7802         Make queue collect data even if the srcpad is not linked.
7803         Start pushing out data as soon as it is linked.
7804
7805         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7806         * gst/gstutils.h:
7807         Added gst_flow_get_name() to ease error reporting.
7808
7809 2005-07-20  Wim Taymans  <wim@fluendo.com>
7810
7811         * gst/gstmessage.c: (gst_message_new_segment_start),
7812         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7813         (gst_message_parse_segment_done):
7814         * gst/gstmessage.h:
7815         Added a bunch of messages for advanced seeking.
7816
7817         * gst/parse/grammar.y:
7818         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7819         (gst_dpman_state_changed):
7820         Fix some new-pad -> pad-added signals
7821
7822 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7823
7824         * docs/manual/appendix-porting.xml:
7825         * docs/pwg/appendix-porting.xml:
7826           Document new-pad/state-change signal renames and the FixedList
7827           type rename.
7828
7829 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7830
7831         * docs/manual/advanced-autoplugging.xml:
7832         * docs/manual/basics-helloworld.xml:
7833         * docs/manual/basics-pads.xml:
7834         * docs/random/ds/0.9-suggested-changes:
7835         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7836         * gst/gstelement.h:
7837         * gst/gstevent.h:
7838         * gst/gstformat.h:
7839         * gst/gstquery.h:
7840         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7841         (gst_structure_parse_array), (gst_structure_parse_value):
7842         * gst/gstvalue.c: (gst_type_is_fixed),
7843         (gst_value_list_prepend_value), (gst_value_list_append_value),
7844         (gst_value_list_get_size), (gst_value_list_get_value),
7845         (gst_value_transform_array_string), (gst_value_serialize_array),
7846         (gst_value_deserialize_array), (gst_value_intersect_array),
7847         (gst_value_is_fixed), (_gst_value_initialize):
7848         * gst/gstvalue.h:
7849           GstElement::new-pad -> pad-added, GstElement::state-change ->
7850           state-changed, GstValueFixedList -> GstValueArray, add format and
7851           flags as their own arguments in gst_element_seek() (should improve
7852           "bindeability"), remove function generators since they don't work
7853           under a whole bunch of compilers (they were deprecated already
7854           anyway).
7855
7856 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7857
7858         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7859         (_gst_debug_register_funcptr):
7860         * gst/gstinfo.h:
7861           Fix illegal cast on some platforms (#309253).
7862
7863 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7864
7865         * gst/gstmessage.c: (gst_message_new_custom):
7866         * gst/gstmessage.h:
7867           Add _new_custom, make _new_application a macro to _new_custom.
7868
7869 2005-07-20  Wim Taymans  <wim@fluendo.com>
7870
7871         * gst/base/gstbasesrc.c: (gst_base_src_init),
7872         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7873         * gst/base/gstbasesrc.h:
7874         Add a gboolean to decide when to push out a discont.
7875
7876         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7877         (gst_queue_loop), (gst_queue_handle_src_query),
7878         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7879         (gst_queue_set_property), (gst_queue_get_property):
7880         Some cleanups.
7881
7882         * tests/threadstate/threadstate1.c: (main):
7883         Make a thread test compile and run... very silly..
7884
7885
7886 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7887
7888         * docs/manual/appendix-porting.xml:
7889           Mention removal of libgstgconf-0.9.la and existence of gconf
7890           elements.
7891
7892 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7893
7894         * docs/pwg/advanced-clock.xml:
7895         * docs/pwg/appendix-porting.xml:
7896         * docs/pwg/intro-preface.xml:
7897         * docs/pwg/other-base.xml:
7898         * docs/pwg/other-manager.xml:
7899         * docs/pwg/other-nton.xml:
7900         * docs/pwg/other-ntoone.xml:
7901         * docs/pwg/other-oneton.xml:
7902         * docs/pwg/pwg.xml:
7903           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7904           demuxer), remove n-to-n (was never written), fix some code examples
7905           and links and update the porting section to include all this.
7906
7907 2005-07-19  Wim Taymans  <wim@fluendo.com>
7908
7909         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7910         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7911         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7912         (gst_queue_src_activate_push), (gst_queue_change_state),
7913         (gst_queue_get_property):
7914         * gst/gstqueue.h:
7915         Propagate GstFlowReturn more intelligently upstream and output
7916         an ERROR/EOS when streaming stopped due to fatal error.
7917
7918 2005-07-19  Wim Taymans  <wim@fluendo.com>
7919
7920         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7921         Don't block forever for the state change to complete, the
7922         pipeline already did with a sensible timeout.
7923
7924 2005-07-19  Wim Taymans  <wim@fluendo.com>
7925
7926         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7927         Make sure we never call the create function is we
7928         got deactivated.
7929
7930 2005-07-19  Andy Wingo  <wingo@pobox.com>
7931
7932         * gst/parse/parse.l: Attempt to solve bug #172815.
7933
7934 2005-07-19  Wim Taymans  <wim@fluendo.com>
7935
7936         * docs/design/part-clocks.txt:
7937         * docs/design/part-events.txt:
7938         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7939         Small docs updates.
7940         Only update the seeking values when we are not
7941         busy streaming.
7942
7943 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7944
7945         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7946           Oops, ignore the result of gst_pad_push_event here.
7947
7948 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7949
7950         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7951         (gst_base_src_activate_push):
7952           Send discont event from the loop function, as pads
7953           aren't activated yet in the activate_push handler.
7954
7955         * gst/gstbin.c: (bin_bus_handler):
7956           Don't leak element name.
7957
7958 2005-07-18  Andy Wingo  <wingo@pobox.com>
7959
7960         * configure.ac: Use AS_LIBTOOL_TAGS.
7961
7962 2005-07-18  Wim Taymans  <wim@fluendo.com>
7963
7964         * docs/gst/gstreamer.types:
7965         Remove deleted types.
7966
7967 2005-07-18  Wim Taymans  <wim@fluendo.com>
7968
7969         * check/elements/gstfakesrc.c: (GST_START_TEST):
7970         * configure.ac:
7971         * gst/Makefile.am:
7972         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7973         (init_popt_callback):
7974         * gst/gst.h:
7975         * gst/gst_private.h:
7976         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7977         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7978         * gst/gstbin.h:
7979         * gst/gstbus.h:
7980         * gst/gstconfig.h.in:
7981         * gst/gstelement.c: (gst_element_class_init),
7982         (gst_element_set_base_time), (gst_element_get_base_time),
7983         (iterator_fold_with_resync), (gst_element_change_state),
7984         (gst_element_dispose), (gst_element_get_bus):
7985         * gst/gstelement.h:
7986         * gst/gstelementfactory.h:
7987         * gst/gsterror.c: (_gst_core_errors_init):
7988         * gst/gsterror.h:
7989         * gst/gstevent.h:
7990         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7991         * gst/gstindex.c:
7992         * gst/gstinfo.c: (_gst_debug_init):
7993         * gst/gstmessage.c: (_gst_message_copy):
7994         * gst/gstmessage.h:
7995         * gst/gstminiobject.h:
7996         * gst/gstobject.c:
7997         * gst/gstobject.h:
7998         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7999         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8000         * gst/gstpad.h:
8001         * gst/gstparse.h:
8002         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8003         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8004         (gst_pipeline_get_last_stream_time):
8005         * gst/gstpipeline.h:
8006         * gst/gstpluginfeature.h:
8007         * gst/gstquery.h:
8008         * gst/gstscheduler.c:
8009         * gst/gstscheduler.h:
8010         * gst/gststructure.h:
8011         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8012         (gst_task_finalize), (gst_task_func), (gst_task_create),
8013         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8014         (gst_task_stop), (gst_task_pause):
8015         * gst/gsttask.h:
8016         * gst/gsttypefind.h:
8017         * gst/gsttypes.h:
8018         * gst/registries/gstlibxmlregistry.c: (load_feature),
8019         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8020         * gst/registries/gstxmlregistry.c:
8021         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8022         * gst/schedulers/threadscheduler.c:
8023         * libs/gst/control/dparammanager.h:
8024         * tools/gst-inspect.c: (print_element_list),
8025         (print_plugin_features), (print_element_features):
8026         * tools/gst-xmlinspect.c: (print_element_list),
8027         (print_plugin_info), (main):
8028         Removed plugable schedulers.
8029         Removed Scheduler/Manager from elements.
8030         Removed gsttypes.h, rearranged includes.
8031         Removed dependency pad<->element, element<>pipeline, and
8032         various others,  fix includes.
8033         implement gst_pad_get_parent() with gst_object_get_parent()
8034         Make GstTask sefcontained.
8035         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8036         timeout.
8037         Fix endless loop in iterator_fold_with_resync.
8038
8039
8040 2005-07-18  Wim Taymans  <wim@fluendo.com>
8041
8042         * gst/Makefile.am:
8043         * gst/gstarch.h:
8044         Remove old file.
8045
8046 2005-07-18  Wim Taymans  <wim@fluendo.com>
8047
8048         * gst/Makefile.am:
8049         No more cothreads.h
8050
8051 2005-07-18  Wim Taymans  <wim@fluendo.com>
8052
8053         * gst/cothreads.c:
8054         * gst/cothreads.h:
8055         Let's remove these.
8056
8057 2005-07-18  Wim Taymans  <wim@fluendo.com>
8058
8059         * docs/design/part-dynamic.txt:
8060         * docs/design/part-events.txt:
8061         * docs/design/part-seeking.txt:
8062         Some more docs in the works.
8063
8064         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8065         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8066         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8067         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8068         (gst_base_transform_handle_buffer),
8069         (gst_base_transform_sink_activate_push),
8070         (gst_base_transform_src_activate_pull),
8071         (gst_base_transform_set_passthrough),
8072         (gst_base_transform_is_passthrough):
8073         Refcounting fixes.
8074
8075         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8076         Cleanups.
8077
8078         * gst/gstevent.c: (gst_event_finalize):
8079         Set SRC to NULL.
8080
8081         * gst/gstutils.c: (gst_element_unlink),
8082         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8083         (gst_pad_proxy_setcaps):
8084         * gst/gstutils.h:
8085         Add _get_parent_element() to get a pads parent as an element.
8086
8087 2005-07-18  Wim Taymans  <wim@fluendo.com>
8088
8089         * check/gst/gstbin.c: (GST_START_TEST):
8090         Remove bogus test.
8091
8092 2005-07-18  Wim Taymans  <wim@fluendo.com>
8093
8094         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8095         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8096         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8097         (gst_base_sink_event), (gst_base_sink_do_sync),
8098         (gst_base_sink_chain), (gst_base_sink_loop),
8099         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8100         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8101         Refcounting fixes.
8102         Fix logic for returning ASYNC when not prerolled.
8103
8104 2005-07-18  Wim Taymans  <wim@fluendo.com>
8105
8106         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8107         Fix nasty refcount bug.
8108
8109 2005-07-16 Philippe Khalaf <burger@speedy.org>
8110
8111         * gst/elements/gstfdsrc.c:
8112         * gst/elements/gstfdsrc.h:
8113         * gst/elements/gstelements.c:
8114         * gst/elements/Makefile.am:
8115         Ported fdsrc to 0.9.
8116
8117 2005-07-16  Wim Taymans  <wim@fluendo.com>
8118
8119         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8120         (gst_base_sink_do_sync):
8121         Fix compile error.
8122
8123 2005-07-16  Wim Taymans  <wim@fluendo.com>
8124
8125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8126         (gst_base_sink_event), (gst_base_sink_get_times),
8127         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8128         * gst/base/gstbasesink.h:
8129         Store and use discont values when syncing buffers as described
8130         in design docs.
8131         
8132         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8133         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8134         (gst_base_src_activate_push):
8135         Push discont event when starting.
8136
8137         * gst/elements/gstidentity.c: (gst_identity_transform):
8138         Small cleanups.
8139
8140         * gst/gstbin.c: (gst_bin_change_state):
8141         Small cleanups in base_time  distribution.
8142
8143         * gst/gstelement.c: (gst_element_set_base_time),
8144         (gst_element_get_base_time), (gst_element_change_state):
8145         * gst/gstelement.h:
8146         Added methods for the base_time of the element.
8147         Some MT fixes.
8148
8149         * gst/gstpipeline.c: (gst_pipeline_send_event),
8150         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8151         (gst_pipeline_get_last_stream_time):
8152         * gst/gstpipeline.h:
8153         MT fixes.
8154         Handle seeking as described in design doc, remove stream_time
8155         hack.
8156         Cleanups clock and stream_time selection code. Added accessors
8157         for the stream_time.
8158         
8159
8160 2005-07-16  Andy Wingo  <wingo@pobox.com>
8161
8162         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8163         (#305291).
8164
8165 2005-07-16  Wim Taymans  <wim@fluendo.com>
8166
8167         * check/gst/gstbin.c: (GST_START_TEST):
8168         Make elements silent as the deep_notify refs the
8169         parent, which might make the test fail.
8170
8171         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8172         Don't hold the lock for too long.
8173
8174 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8175
8176         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8177           Don't unref the caps we passed to gst_caps_make_writable() after
8178           passing them. gst_caps_make_writable() will do that for us.
8179
8180 2005-07-15  Andy Wingo  <wingo@pobox.com>
8181
8182         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8183         (#157311).
8184
8185         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8186         own marshalling function for the handoff signal. Properly type the
8187         buffer as a buffer. Fixes some warnings. Should do a more general
8188         solution.
8189         (gst_identity_class_init): Plug into the right marshaller.
8190
8191 2005-07-15  Wim Taymans  <wim@fluendo.com>
8192
8193         * docs/design/part-TODO.txt:
8194         * docs/design/part-clocks.txt:
8195         * docs/design/part-element-sink.txt:
8196         * docs/design/part-events.txt:
8197         * docs/design/part-gstpipeline.txt:
8198         Updated docs, mostly DISCONT related.
8199
8200 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8201
8202         * docs/pwg/building-pads.xml:
8203           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8204
8205 2005-07-15  Andy Wingo  <wingo@pobox.com>
8206
8207         * tools/gst-typefind.c: Update, add copyright block.
8208
8209         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8210         Normalize and truncate caps before fixation.
8211
8212         * gst/gstcaps.h:
8213         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8214         discards all but the first structure from its argument.
8215
8216 2005-07-15  Wim Taymans  <wim@fluendo.com>
8217
8218         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8219         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8220         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8221         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8222         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8223         (gst_base_transform_chain), (gst_base_transform_change_state),
8224         (gst_base_transform_set_passthrough),
8225         (gst_base_transform_is_passthrough):
8226         * gst/base/gstbasetransform.h:
8227         Make passthrough work using the bufferpools.
8228         Changed API a bit, subclasses have to write into a buffer
8229         provided by the base class.
8230         More debug info in nego functions.
8231         
8232         * gst/elements/gstidentity.c: (gst_identity_init),
8233         (gst_identity_transform):
8234         Port to new base class.
8235
8236 2005-07-15  Wim Taymans  <wim@fluendo.com>
8237
8238         * gst/gstmessage.c: (gst_message_new_state_changed):
8239         * tools/gst-launch.c: (event_loop), (main):
8240         Totally dump messages in -launch with the -m option.
8241         Fix message name for State messages,
8242
8243 2005-07-14  Wim Taymans  <wim@fluendo.com>
8244
8245         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8246         Post error messages on errors.
8247
8248 2005-07-14  Wim Taymans  <wim@fluendo.com>
8249
8250         * gst/gstcaps.c: (gst_caps_do_simplify):
8251         Remove debug info.
8252
8253         * gst/gsterror.h:
8254         Define error for stream stopped.
8255
8256         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8257         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8258         Do proper return values.
8259
8260         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8261         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8262         (gst_pad_get_range):
8263         Better return values.
8264
8265         * gst/gstpad.h:
8266         Reorganise return values, add macro to check for fatal errors.
8267
8268         * gst/gstqueue.c: (gst_queue_chain):
8269         Return proper GstFlowReturn values,
8270
8271 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8272
8273         * docs/gst/gstreamer-sections.txt:
8274         * docs/gst/gstreamer.types:
8275         * docs/gst/tmpl/gst.sgml:
8276         * docs/gst/tmpl/gstbasesink.sgml:
8277         * docs/gst/tmpl/gstbasesrc.sgml:
8278         * docs/gst/tmpl/gstbasetransform.sgml:
8279         * docs/gst/tmpl/gstbin.sgml:
8280         * docs/gst/tmpl/gstbuffer.sgml:
8281         * docs/gst/tmpl/gstcaps.sgml:
8282         * docs/gst/tmpl/gstclock.sgml:
8283         * docs/gst/tmpl/gstcompat.sgml:
8284         * docs/gst/tmpl/gstconfig.sgml:
8285         * docs/gst/tmpl/gstelement.sgml:
8286         * docs/gst/tmpl/gstelementdetails.sgml:
8287         * docs/gst/tmpl/gstelementfactory.sgml:
8288         * docs/gst/tmpl/gstenumtypes.sgml:
8289         * docs/gst/tmpl/gsterror.sgml:
8290         * docs/gst/tmpl/gstevent.sgml:
8291         * docs/gst/tmpl/gstfakesink.sgml:
8292         * docs/gst/tmpl/gstfakesrc.sgml:
8293         * docs/gst/tmpl/gstfilesink.sgml:
8294         * docs/gst/tmpl/gstfilesrc.sgml:
8295         * docs/gst/tmpl/gstfilter.sgml:
8296         * docs/gst/tmpl/gstformat.sgml:
8297         * docs/gst/tmpl/gstghostpad.sgml:
8298         * docs/gst/tmpl/gstimplementsinterface.sgml:
8299         * docs/gst/tmpl/gstindex.sgml:
8300         * docs/gst/tmpl/gstindexfactory.sgml:
8301         * docs/gst/tmpl/gstinfo.sgml:
8302         * docs/gst/tmpl/gstiterator.sgml:
8303         * docs/gst/tmpl/gstmacros.sgml:
8304         * docs/gst/tmpl/gstmemchunk.sgml:
8305         * docs/gst/tmpl/gstminiobject.sgml:
8306         * docs/gst/tmpl/gstobject.sgml:
8307         * docs/gst/tmpl/gstpad.sgml:
8308         * docs/gst/tmpl/gstpadtemplate.sgml:
8309         * docs/gst/tmpl/gstparse.sgml:
8310         * docs/gst/tmpl/gstpipeline.sgml:
8311         * docs/gst/tmpl/gstplugin.sgml:
8312         * docs/gst/tmpl/gstpluginfeature.sgml:
8313         * docs/gst/tmpl/gstquery.sgml:
8314         * docs/gst/tmpl/gstqueue.sgml:
8315         * docs/gst/tmpl/gstregistry.sgml:
8316         * docs/gst/tmpl/gstregistrypool.sgml:
8317         * docs/gst/tmpl/gstscheduler.sgml:
8318         * docs/gst/tmpl/gstschedulerfactory.sgml:
8319         * docs/gst/tmpl/gststructure.sgml:
8320         * docs/gst/tmpl/gstsystemclock.sgml:
8321         * docs/gst/tmpl/gsttaglist.sgml:
8322         * docs/gst/tmpl/gsttagsetter.sgml:
8323         * docs/gst/tmpl/gsttrace.sgml:
8324         * docs/gst/tmpl/gsttrashstack.sgml:
8325         * docs/gst/tmpl/gsttypefind.sgml:
8326         * docs/gst/tmpl/gsttypefindfactory.sgml:
8327         * docs/gst/tmpl/gsttypes.sgml:
8328         * docs/gst/tmpl/gsturihandler.sgml:
8329         * docs/gst/tmpl/gsturitype.sgml:
8330         * docs/gst/tmpl/gstutils.sgml:
8331         * docs/gst/tmpl/gstvalue.sgml:
8332         * docs/gst/tmpl/gstversion.sgml:
8333         * docs/gst/tmpl/gstxml.sgml:
8334         * docs/libs/tmpl/gstcontrol.sgml:
8335         * docs/libs/tmpl/gstdataprotocol.sgml:
8336         * docs/libs/tmpl/gstdparam.sgml:
8337         * docs/libs/tmpl/gstdplinint.sgml:
8338         * docs/libs/tmpl/gstdpman.sgml:
8339         * docs/libs/tmpl/gstdpsmooth.sgml:
8340         * docs/libs/tmpl/gstgetbits.sgml:
8341         * docs/libs/tmpl/gstunitconvert.sgml:
8342         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8343         (gst_push_src_base_init), (gst_push_src_class_init),
8344         (gst_push_src_init), (gst_push_src_create):
8345         * gst/base/gstpushsrc.h:
8346         * gst/elements/gstelements.c:
8347         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8348         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8349         (gst_fake_sink_init), (gst_fake_sink_set_property),
8350         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8351         (gst_fake_sink_event), (gst_fake_sink_preroll),
8352         (gst_fake_sink_render), (gst_fake_sink_change_state):
8353         * gst/elements/gstfakesink.h:
8354         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8355         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8356         (gst_fake_src_base_init), (gst_fake_src_class_init),
8357         (gst_fake_src_init), (gst_fake_src_event_handler),
8358         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8359         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8360         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8361         (gst_fake_src_create_buffer), (gst_fake_src_create),
8362         (gst_fake_src_start), (gst_fake_src_stop):
8363         * gst/elements/gstfakesrc.h:
8364         * gst/elements/gstfilesink.c: (_do_init),
8365         (gst_file_sink_base_init), (gst_file_sink_class_init),
8366         (gst_file_sink_init), (gst_file_sink_dispose),
8367         (gst_file_sink_set_location), (gst_file_sink_set_property),
8368         (gst_file_sink_get_property), (gst_file_sink_open_file),
8369         (gst_file_sink_close_file), (gst_file_sink_query),
8370         (gst_file_sink_event), (gst_file_sink_render),
8371         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8372         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8373         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8374         * gst/elements/gstfilesink.h:
8375         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8376         (gst_file_src_class_init), (gst_file_src_init),
8377         (gst_file_src_finalize), (gst_file_src_set_location),
8378         (gst_file_src_set_property), (gst_file_src_get_property),
8379         (gst_file_src_map_region), (gst_file_src_map_small_region),
8380         (gst_file_src_create_mmap), (gst_file_src_create_read),
8381         (gst_file_src_create), (gst_file_src_is_seekable),
8382         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8383         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8384         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8385         (gst_file_src_uri_handler_init):
8386         * gst/elements/gstfilesrc.h:
8387           more autistic cleanliness in functions/names/defines
8388
8389 2005-07-13  Andy Wingo  <wingo@pobox.com>
8390
8391         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8392         source couldn't negotiate.
8393
8394         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8395         connections again.
8396
8397         * gst/gstutils.h:
8398         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8399         function. I am channeling Hades. Put your boots on suckers!!!
8400
8401 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8402
8403         * testsuite/caps/Makefile.am:
8404         * testsuite/caps/value_compare.c:
8405         * testsuite/caps/value_intersect.c:
8406         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8407           move two testsuite apps over to the check dir
8408
8409 2005-07-12  Wim Taymans  <wim@fluendo.com>
8410
8411         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8412         Added more debug info in the negotiate process.
8413
8414         * gst/gstmessage.h:
8415         Prepare for segment playback.
8416
8417         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8418         Better debugging.
8419
8420         * gst/gstutils.c:
8421         Some more docs.
8422
8423         * tools/gst-launch.c: (main):
8424         NULL pipeline on errors.
8425
8426 2005-07-12  Andy Wingo  <wingo@pobox.com>
8427
8428         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8429         not it comes from a malloc region. Make sure our copy gets freed.
8430
8431 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8432
8433         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8434         * check/gst/gstmessage.c: (GST_START_TEST):
8435         * check/gst/gststructure.c: (GST_START_TEST),
8436         (gst_structure_suite), (main):
8437           more testing
8438         * gst/gstelement.c: (gst_element_message_full):
8439           clean up GError and debug string now that they get copied
8440         * gst/gstmessage.c: (gst_message_new_error),
8441         (gst_message_new_warning), (gst_message_parse_error),
8442         (gst_message_parse_warning):
8443           use GST_TYPE_G_ERROR for structure_new, and take copies of
8444           arguments, so that we don't mess up refcounting
8445
8446 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8447
8448         * check/Makefile.am:
8449           add per-test valgrind targets
8450         * check/gst-libs/gdp.c: (GST_START_TEST),
8451         (gst_data_protocol_suite), (main):
8452           clean up
8453
8454 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8455
8456         * check/Makefile.am:
8457           instate more valgrindable tests
8458         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8459         (GST_START_TEST), (fakesrc_suite):
8460         * check/gst/gstpad.c: (GST_START_TEST):
8461         * check/gst/gststructure.c: (GST_START_TEST):
8462           fix test leaks
8463         * docs/gst/tmpl/gstminiobject.sgml:
8464         * gst/gstpad.c: (gst_pad_finalize):
8465           fix the static mutex leak
8466
8467 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8468
8469         * check/Makefile.am:
8470           add two more tests for valgrinding
8471         * check/gst/gstvalue.c: (GST_START_TEST):
8472           test refcount of deserialized buffer, found a leak
8473         * docs/gst/gstreamer-docs.sgml:
8474         * docs/gst/gstreamer-sections.txt:
8475         * docs/gst/gstreamer.types:
8476         * docs/gst/tmpl/gstminiobject.sgml:
8477           add miniobject to docs
8478         * gst/gstminiobject.c:
8479           add some docs
8480         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8481         (gst_string_unwrap):
8482           fix a hard-to-find invalid write for one of the tests
8483           fix a leak for deserialized buffers
8484
8485 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8486
8487         * docs/pwg/advanced-events.xml:
8488         * docs/pwg/advanced-request.xml:
8489         * docs/pwg/advanced-scheduling.xml:
8490         * docs/pwg/appendix-porting.xml:
8491         * docs/pwg/building-boiler.xml:
8492         * docs/pwg/intro-preface.xml:
8493         * docs/pwg/other-ntoone.xml:
8494           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8495           of example code and explanation for pad activation, loop() and
8496           getrange() functions and a bit more. Remove old comments pointing
8497           to loop-functions.
8498         * examples/pwg/Makefile.am:
8499           Add loop/getrange examples.
8500
8501 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8502
8503         * configure.ac:
8504           check for valgrind binary + some fixes
8505         * check/gst.supp:
8506           valgrind suppressions for the tests
8507         * check/Makefile.am:
8508           add a valgrind: target that valgrinds the unit tests
8509         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8510         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8511         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8512         * check/gst/gstghostpad.c:
8513           added some cleanup
8514         * check/gst/gstdata.c:
8515           removed
8516         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8517         (thread_unref), (gst_mini_object_suite), (main):
8518           added
8519         * gst/gst.c: (gst_deinit):
8520         * gst/gst.h:
8521           add a method to clean up.
8522         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8523         (gst_system_clock_obtain):
8524           allow for disposing the system clock.
8525         * tools/gst-launch.c: (main):
8526           deinit
8527
8528 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8529
8530         * docs/gst/tmpl/gstbasesrc.sgml:
8531         * docs/gst/tmpl/gstfakesrc.sgml:
8532         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8533         (gst_base_src_init), (gst_base_src_set_property),
8534         (gst_base_src_get_property), (gst_base_src_get_range),
8535         (gst_base_src_start):
8536         * gst/base/gstbasesrc.h:
8537           add num-buffers property
8538         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8539         (gst_fakesrc_init), (gst_fakesrc_set_property),
8540         (gst_fakesrc_get_property), (gst_fakesrc_create),
8541         (gst_fakesrc_start):
8542           remove num-buffers property
8543
8544 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8545
8546         * docs/gst/gstreamer-sections.txt:
8547         * docs/gst/tmpl/gstbasesink.sgml:
8548         * docs/gst/tmpl/gstbasesrc.sgml:
8549         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8550         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8551         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8552         (gst_base_sink_set_property), (gst_base_sink_get_property),
8553         (gst_base_sink_handle_object), (gst_base_sink_event),
8554         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8555         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8556         (gst_base_sink_loop), (gst_base_sink_deactivate),
8557         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8558         (gst_base_sink_change_state):
8559         * gst/base/gstbasesink.h:
8560         * gst/base/gstbasesrc.h:
8561         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8562         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8563         (gst_filesink_init):
8564           more macro splitting
8565
8566 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8567
8568         * gst/gstelement.c: (gst_element_get_bus):
8569           add debug
8570         * tools/gst-launch.c: (check_intr), (event_loop):
8571           fix bus leaks
8572
8573 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8574
8575         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8576           fix a caps leak
8577
8578 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8579
8580         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8581         (gst_base_src_finalize):
8582           add finalize method and clean up properly
8583         * gst/gstpipeline.c: (gst_pipeline_dispose):
8584           add debug
8585
8586 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8587
8588         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8589         (gst_bin_suite):
8590           add more things to check
8591         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8592         * gst/gstelement.c:
8593           more debug
8594
8595 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8596
8597         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8598         (GST_START_TEST), (fakesrc_suite):
8599         * check/gst-libs/gdp.c: (GST_START_TEST):
8600         * check/gst/gst.c: (GST_START_TEST):
8601         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8602         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8603         * check/gst/gstbus.c: (GST_START_TEST):
8604         * check/gst/gstcaps.c: (GST_START_TEST):
8605         * check/gst/gstdata.c: (GST_START_TEST):
8606         * check/gst/gstelement.c: (GST_START_TEST):
8607         * check/gst/gstghostpad.c: (GST_START_TEST):
8608         * check/gst/gstiterator.c: (GST_START_TEST):
8609         * check/gst/gstmessage.c: (GST_START_TEST):
8610         * check/gst/gstobject.c: (GST_START_TEST):
8611         * check/gst/gstpad.c: (GST_START_TEST):
8612         * check/gst/gststructure.c: (GST_START_TEST):
8613         * check/gst/gstsystemclock.c: (GST_START_TEST),
8614         (gst_systemclock_suite):
8615         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8616         * check/gst/gstvalue.c: (GST_START_TEST):
8617         * check/pipelines/cleanup.c: (GST_START_TEST):
8618         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8619         * check/states/sinks.c: (GST_START_TEST):
8620         * check/gstcheck.c: (gst_check_init):
8621         * check/gstcheck.h:
8622           add debugging category
8623           use GST_START_TEST now, so we add a debug line
8624
8625 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8626
8627         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8628           add test for state change message on a bin
8629         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8630           add another test
8631         * gst/gstbin.c: (gst_bin_init):
8632         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8633         * gst/gstelement.c: (gst_element_post_message),
8634         (gst_element_set_state):
8635         * gst/gstelementfactory.c: (gst_element_factory_create):
8636         * gst/gstmessage.c: (gst_message_new):
8637         * gst/gstscheduler.c:
8638           various debugging additions and cleanups
8639
8640 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8641
8642         * check/Makefile.am:
8643         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8644         (main):
8645           adding tests for elements
8646         * gst/gstelement.c: (gst_element_dispose):
8647
8648 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * gst/registries/gstlibxmlregistry.c: (load_feature):
8651           plug more leaks.  A simple gst_init() now is leakfree, yay.
8652
8653 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8654
8655         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8656         (gst_xml_registry_load):
8657           plug another memleak
8658
8659 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8660
8661         * configure.ac:
8662           use GST_SET_ERROR_CFLAGS
8663         * docs/faq/cvs.xml:
8664           change to ERROR_CFLAGS
8665
8666 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8667
8668         * configure.ac:
8669           make GST_ERROR_CFLAGS overridable and re-enable Werror
8670         * docs/faq/cvs.xml:
8671           add a note about error CFLAGS
8672         * docs/gst/tmpl/gstfakesrc.sgml:
8673         * gst/elements/gstfakesrc.c:
8674           comment out some unused code
8675         * gst/gst.c: (split_and_iterate):
8676         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8677         (load_feature):
8678           plug some memleaks
8679
8680 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8681
8682         * common/Makefile.am:
8683         * common/gtk-doc.mak:
8684         * docs/gst/Makefile.am:
8685           factor out gtk-doc.mak
8686
8687 2005-07-07  Wim Taymans  <wim@fluendo.com>
8688
8689         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8690         (gst_thread_scheduler_dispose):
8691         Unlock the STREAM_LOCK completely.
8692
8693 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8694
8695         * check/Makefile.am:
8696         * check/elements/.cvsignore:
8697         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8698         (START_TEST), (fakesrc_suite), (main):
8699         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8700         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8701         (gst_fakesrc_create), (gst_fakesrc_start):
8702         * gst/elements/gstfakesrc.h:
8703           adding a first element test
8704
8705 2005-07-07  Andy Wingo  <wingo@pobox.com>
8706
8707         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8708         debug message.
8709
8710 2005-07-07  Wim Taymans  <wim@fluendo.com>
8711
8712         * gst/gstquery.c:
8713         * gst/gstquery.h:
8714         Remove old types
8715
8716 2005-07-07  Wim Taymans  <wim@fluendo.com>
8717
8718         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8719         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8720         Allow subclasses to implement their own negotiation.
8721
8722 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8723
8724         * docs/design/part-gstbin.txt:
8725         * docs/design/part-gstpipeline.txt:
8726           Update design notes to reflect the movement of
8727           responsibility for bus handling from GstPipeline to
8728           GstBin
8729
8730 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8731
8732         * configure.ac:
8733           Remove unnecessary queue2/3/4 examples.
8734
8735 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8736
8737         * examples/Makefile.am:
8738         * examples/helloworld/helloworld.c: (event_loop), (main):
8739         * examples/queue/queue.c: (event_loop), (main):
8740         * examples/queue2/queue2.c: (main):
8741           Update a couple of the examples to work again.
8742
8743         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8744         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8745          Spelling corrections and extra debug.
8746         
8747         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8748         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8749         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8750         * gst/gstbin.h:
8751         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8752         (gst_pipeline_change_state):
8753         * gst/gstpipeline.h:
8754           Move the bus handler for children to the GstBin, and create a
8755           separate bus for receiving messages from children to the one the
8756           bus sends 'upwards' on.
8757
8758 2005-07-06  Wim Taymans  <wim@fluendo.com>
8759
8760         * gst/base/README:
8761         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8762         (gst_base_sink_handle_object), (gst_base_sink_loop),
8763         (gst_base_sink_change_state):
8764         * gst/base/gstbasesink.h:
8765         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8766         (gst_base_src_init), (gst_base_src_setcaps),
8767         (gst_base_src_getcaps), (gst_base_src_loop),
8768         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8769         (gst_base_src_start), (gst_base_src_change_state):
8770         * gst/base/gstbasesrc.h:
8771         Make basesrc negotiate.
8772         Handle the case where preroll fails in basesink.
8773         Update README.
8774
8775 2005-07-06  Wim Taymans  <wim@fluendo.com>
8776
8777         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8778         Implement the fixate function.
8779         Clean up acceptcaps.
8780
8781 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8782
8783         * docs/pwg/building-filterfactory.xml:
8784         * docs/pwg/pwg.xml:
8785           Remove never-written filter-factory chapter; I'll add the various
8786           base classes to part 4 ("other element types") later on.
8787
8788 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8789
8790         * docs/pwg/advanced-negotiation.xml:
8791         * docs/pwg/building-boiler.xml:
8792         * docs/pwg/building-pads.xml:
8793         * docs/pwg/pwg.xml:
8794         * examples/pwg/Makefile.am:
8795           Add a chapter on caps negotiation, simplify the original code
8796           samples a bit w.r.t. caps negotiation, add link to the advanced
8797           section. Add a bunch of examples showing different use cases of
8798           different types of caps negotiation. Upstream renegotiation isn't
8799           fully documented yet since nobody knows how that works.
8800
8801 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8802
8803         * check/gst/gstpad.c:
8804         * check/gstcheck.c:
8805         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8806           if pad has no parent, return NULL as list of internal links
8807
8808 2005-07-05  Andy Wingo  <wingo@pobox.com>
8809
8810         * gst/elements/gstfilesrc.c:
8811         * gst/elements/gstfakesrc.c: 
8812         * gst/base/gstpushsrc.c:
8813         * gst/base/gstbasesrc.h: 
8814         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8815         
8816 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8817
8818         * Makefile.am:
8819           better report generation target (lcov needs a patch)
8820
8821 2005-07-05  Andy Wingo  <wingo@pobox.com>
8822
8823         * gst/elements, testsuite: Null if we got it...
8824
8825 2005-07-05  Wim Taymans  <wim@fluendo.com>
8826
8827         * configure.ac:
8828         * libs/gst/dataprotocol/Makefile.am:
8829         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8830         * libs/gst/dataprotocol/dataprotocol.h:
8831         * pkgconfig/Makefile.am:
8832         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8833         * pkgconfig/gstreamer-dataprotocol.pc.in:
8834         Ported dataprotol to 0.9. 
8835         Added pkgconfig files.
8836
8837 2005-07-05  Andy Wingo  <wingo@pobox.com>
8838
8839         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8840         Default to returning TRUE for the case when tranform_caps returns
8841         a fixed caps, like for identity or volume.
8842
8843         * check/gst/gstbus.c (pound_bus_with_messages): 
8844         * check/gst/gstmessage.c (START_TEST): 
8845         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8846         message API change.
8847
8848         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8849         logic weaks here: always run transform_caps, trying passthrough
8850         operation only if the original caps intersects with the transform.
8851
8852         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8853         source and sink caps.
8854
8855         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8856         Intersect the peer caps with the pad template before going into
8857         transform_caps.
8858         (gst_base_transform_transform_caps): More debugging.
8859
8860         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8861         src argument.
8862
8863 2005-07-04  Edward Hervey  <edward@fluendo.com>
8864
8865         * gst/gstutils.c:
8866         * gst/gstutils.h:
8867         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8868         in bindings.
8869
8870 2005-07-04  Andy Wingo  <wingo@pobox.com>
8871
8872         * check/gst/gstpad.c: Only set explicit caps on pads.
8873
8874 2005-07-01  Andy Wingo  <wingo@pobox.com>
8875
8876         * tests/network-clock.scm: Commentary update.
8877
8878         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8879         Didn't really make sense, not implementable with basetransform,
8880         etc.
8881         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8882         attempt at implementing the sync property, needs an unlock method.
8883
8884         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8885         New func, by default returns the same caps (the identity
8886         transformation).
8887         (gst_base_transform_getcaps): Uses transform_caps to return
8888         something sensible.
8889         (gst_base_transform_setcaps): Complicated logic to get caps on
8890         both pads, even if they are different, and to call set_caps once
8891         for every time both pads get their caps set.
8892         (gst_base_transform_handle_buffer): Give the ref to the transform
8893         function. Allows in-place modification of the buffer.
8894
8895         * gst/base/gstbasetransform.h (transform_caps): New class method.
8896         Given caps on one side, what can I do on the other.
8897         (set_caps): Take two caps, one for each side of the element.
8898
8899         * gst/gstpad.h:
8900         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8901         caps in place. This is safe because we can check the mutability of
8902         the caps, and a good idea because fixate functions are just called
8903         as a matter of last resort. (Not actually implemented.)
8904         (gst_pad_set_caps): If the caps we're setting is actually the same
8905         as the existing pad caps, just update the pointer without calling
8906         setcaps. Assert that caps is either NULL or fixed, as per the
8907         docs.
8908
8909         * gst/gstghostpad.c: Update for fixate changes.
8910
8911 2005-07-02  Andy Wingo  <wingo@pobox.com>
8912
8913         * gst/gstcaps.c:
8914         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8915         two refcounts makes it immutable, which is enough. Doc more.
8916
8917 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8918
8919         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8920           Put the mini_object into GValue as a mini_object,
8921           not a gpointer, since that's how we declared
8922           the signal.
8923
8924 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8925
8926         * examples/pwg/Makefile.am:
8927           Fix buildbot again.
8928
8929 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8930
8931         * docs/pwg/building-testapp.xml:
8932           Add extra check.
8933         * examples/pwg/Makefile.am:
8934           Fix buildbot.
8935
8936 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8937
8938         * configure.ac:
8939         * examples/Makefile.am:
8940         * examples/pwg/Makefile.am:
8941         * examples/pwg/extract.pl:
8942           Enable building the PWG examples.
8943         * docs/pwg/advanced-interfaces.xml:
8944           Add URI interface stub.
8945         * docs/pwg/advanced-types.xml:
8946         * docs/pwg/other-autoplugger.xml:
8947         * docs/pwg/appendix-porting.xml:
8948         * docs/pwg/pwg.xml:
8949           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8950         * docs/pwg/building-boiler.xml:
8951         * docs/pwg/building-chainfn.xml:
8952         * docs/pwg/building-pads.xml:
8953         * docs/pwg/building-props.xml:
8954         * docs/pwg/building-state.xml:
8955         * docs/pwg/building-testapp.xml:
8956           Update the building-*.xml parts for 0.9 changes. All examples
8957           code blocks compile in examples/pwg/*.
8958
8959 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8960
8961         * docs/manual/advanced-autoplugging.xml:
8962         * docs/manual/appendix-checklist.xml:
8963         * docs/manual/appendix-integration.xml:
8964         * docs/manual/highlevel-components.xml:
8965           Fix playbin/decodebin examples, update docs a bit, mention bus
8966           instead of signals in various places, mention kmplayer and
8967           kaffeine since they have a working GStreamer backend in the KDE
8968           section.
8969
8970 2005-06-30  Wim Taymans  <wim@fluendo.com>
8971
8972         * CHANGES-0.9:
8973         * docs/design/draft-ghostpads.txt:
8974         * docs/design/draft-push-pull.txt:
8975         * docs/design/draft-query.txt:
8976         * docs/design/part-TODO.txt:
8977         * docs/design/part-query.txt:
8978         Added CHANGES-0.9 doc, updated status of other docs.
8979         
8980         * gst/gstquery.h:
8981         Remove "hmm" macro
8982
8983 2005-06-30  Wim Taymans  <wim@fluendo.com>
8984
8985         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8986         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8987         (gst_base_sink_change_state):
8988         * gst/base/gstbasesink.h:
8989         Some tweaks, only EOS and a buffer complete a preroll.
8990
8991 2005-06-30  Andy Wingo  <wingo@pobox.com>
8992
8993         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8994         activate_push down to the internal pad as well.
8995
8996 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8997
8998         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8999
9000         * gst/gsttaginterface.c:
9001           Some documentation fixes (#307394 and #307397).
9002
9003 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9004
9005         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9006
9007         * gst/gstvalue.c: (gst_value_intersect_list):
9008           Fix memleak (#309125).
9009
9010 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9011
9012         * docs/manual/advanced-dataaccess.xml:
9013           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9014         * docs/manual/basics-pads.xml:
9015           Add reference for filtered caps to above chapter.
9016
9017 2005-06-30  Wim Taymans  <wim@fluendo.com>
9018
9019         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9020         (gst_bin_change_state):
9021         Probes are gone.
9022         Lame attempt at making the state change function a bit
9023         more readable.
9024
9025 2005-06-30  Wim Taymans  <wim@fluendo.com>
9026
9027         * docs/design/part-clocks.txt:
9028         * docs/design/part-element-sink.txt:
9029         * docs/design/part-events.txt:
9030         * docs/design/part-preroll.txt:
9031         * docs/design/part-states.txt:
9032         Some more tweeks and additions to the docs.
9033
9034 2005-06-30  Wim Taymans  <wim@fluendo.com>
9035
9036         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9037         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9038         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9039         (gst_pad_check_pull_range), (gst_pad_get_range),
9040         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9041         * gst/gstpad.h:
9042         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9043         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9044         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9045         (gst_pad_remove_buffer_probe):
9046         Removed atomic operations, use existing LOCK.
9047         Move exception handling out of main code path.
9048
9049 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9050
9051         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9052         (silly_return_true_function), (gst_pad_class_init),
9053         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9054         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9055         (gst_pad_send_event):
9056           Fix accumulator, add default value by using _emitv() instead
9057           of _emit() for signal emission.
9058
9059 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9060
9061         * docs/manual/advanced-dataaccess.xml:
9062         * examples/manual/Makefile.am:
9063           Add probe example.
9064         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9065           Make work (??).
9066
9067 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9068
9069         * gst/elements/gstfilesink.c: (gst_filesink_render):
9070           Simplify code so that we don't have to handle short
9071           writes and return GST_FLOW_ERROR if an error occured.
9072
9073 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9074
9075         * docs/gst/gstreamer-docs.sgml:
9076           Remove probes more.
9077
9078 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9079
9080         * docs/gst/gstreamer-sections.txt:
9081         * docs/gst/tmpl/gstpad.sgml:
9082         * docs/gst/tmpl/gstprobe.sgml:
9083         * gst/Makefile.am:
9084         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9085         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9086         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9087         (gst_pad_push_event), (gst_pad_send_event):
9088         * gst/gstpad.h:
9089         * gst/gstutils.c: (gst_pad_add_data_probe),
9090         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9091         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9092         (gst_pad_remove_buffer_probe):
9093         * gst/gstutils.h:
9094           Remove old probes, add new g-signal-based probes and some utility
9095           functions.
9096
9097 2005-06-29  Edward Hervey  <edward@fluendo.com>
9098
9099         * gst/gstelementfactory.c:
9100         * gst/gstutils.h:
9101         * gst/gstutils.c:
9102         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9103         the definition to the header file.
9104
9105 2005-06-29  Andy Wingo  <wingo@pobox.com>
9106
9107         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9108         plugins from the source directory.
9109
9110 2005-06-29  Wim Taymans  <wim@fluendo.com>
9111
9112         * docs/gst/tmpl/gstbuffer.sgml:
9113         * docs/gst/tmpl/gstclock.sgml:
9114         Some fixings for blantently wrong text.
9115
9116 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9117
9118         * check/Makefile.am:
9119         * gst/gst.c: (add_path_func), (init_pre):
9120         * gst/gstregistry.c: (gst_registry_add_path):
9121           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9122           only scan the GST_PLUGIN_PATH locations, and not add
9123           system locations
9124
9125 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9126
9127         * docs/gst/gstreamer-sections.txt:
9128         * docs/gst/tmpl/gstbasesrc.sgml:
9129         * gst/gstelement.c:
9130         * gst/gstelement.h:
9131         * gst/gstevent.c:
9132         * gst/gstutils.c:
9133           doc fixes
9134
9135 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9136
9137         * docs/manual/advanced-autoplugging.xml:
9138           Fix autoplugging example.
9139
9140 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9141
9142         * docs/manual/advanced-autoplugging.xml:
9143         * docs/manual/mime-world.fig:
9144           Try to get autoplugging working, fix type detection. Fix text
9145           in hello-world image.
9146
9147 2005-06-29  Wim Taymans  <wim@fluendo.com>
9148
9149         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9150         (gst_base_sink_change_state):
9151         Small debug line.
9152
9153         * gst/gstclock.h:
9154         map SIGNAL and BROADCAST to the right function.
9155
9156         * gst/gstobject.h:
9157         Remove redundant braces.
9158
9159         * gst/gstpad.c: (gst_pad_set_caps):
9160         Don't call setcaps function when reseting caps to NULL.
9161
9162         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9163         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9164         (gst_system_clock_id_unschedule):
9165         Use BROADCAST as this is what we do.
9166
9167 2005-06-29  Wim Taymans  <wim@fluendo.com>
9168
9169         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9170         We are actually prerolling before commiting the state
9171         change. 
9172
9173 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9174
9175         * docs/manual/advanced-clocks.xml:
9176         * docs/manual/advanced-interfaces.xml:
9177         * docs/manual/advanced-metadata.xml:
9178         * docs/manual/advanced-position.xml:
9179         * docs/manual/advanced-schedulers.xml:
9180         * docs/manual/advanced-threads.xml:
9181         * docs/manual/appendix-porting.xml:
9182         * docs/manual/basics-bins.xml:
9183         * docs/manual/basics-bus.xml:
9184         * docs/manual/basics-elements.xml:
9185         * docs/manual/basics-helloworld.xml:
9186         * docs/manual/basics-pads.xml:
9187         * docs/manual/highlevel-components.xml:
9188         * docs/manual/manual.xml:
9189         * docs/manual/thread.fig:
9190           Update (until threads/scheduling) Application Development Manual;
9191           remove GstThread, add GstBus, add simple porting checklist, add
9192           documentation for tag writing, clocks, make all examples until this
9193           part compile and run.
9194         * examples/manual/Makefile.am:
9195           Update from changes to Application Development Manual; add bus
9196           example, remove thread example.
9197
9198 2005-06-28  Wim Taymans  <wim@fluendo.com>
9199
9200         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9201         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9202         (gst_bus_source_dispatch):
9203         Add debugging messages.
9204         Make internal methods static.
9205         Handle the case where the bus is flushed in the handler.
9206         
9207         * gst/gstelement.c: (gst_element_get_bus):
9208         Fix refcount in _get_bus();
9209
9210         * gst/gstpipeline.c: (gst_pipeline_change_state),
9211         (gst_pipeline_get_clock_func):
9212         Clock refcounting fixes.
9213         Handle the case where preroll timed out more gracefully.
9214         
9215         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9216         Clean up the internal thread in dispose. This is needed
9217         for subclasses that actually get disposed.
9218         
9219         * gst/schedulers/threadscheduler.c:
9220         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9221         (gst_thread_scheduler_dispose):
9222         Free thread pool in dispose.
9223
9224 2005-06-28  Andy Wingo  <wingo@pobox.com>
9225
9226         * tests/network-clock-utils.scm (debug, print-event): New utils.
9227
9228         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9229         (*packet-loss*): Unified loss probability.
9230         (network-time): Report out-of-band events.
9231
9232         * tests/plot-data: Add support for out-of-band events. Hack it
9233         into this script instead of passing it down the pipe; should fix
9234         this later.
9235
9236 2005-06-28  Wim Taymans  <wim@fluendo.com>
9237
9238         * docs/gst/gstreamer.types:
9239         * docs/gst/tmpl/gstbasesrc.sgml:
9240         * docs/gst/tmpl/gstpad.sgml:
9241         Docs fixes.
9242
9243 2005-06-28  Wim Taymans  <wim@fluendo.com>
9244
9245         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9246         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9247         (gst_proxy_pad_do_fixatecaps):
9248         Correctly proxy the check_pull_range function.
9249
9250 2005-06-28  Andy Wingo  <wingo@pobox.com>
9251
9252         * tests/network-clock.scm: Removed need for slib.
9253         
9254 2005-06-28  Wim Taymans  <wim@fluendo.com>
9255
9256         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9257         (gst_basesink_preroll_queue_flush):
9258         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9259         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9260         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9261         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9262         (gst_proxy_pad_set_property):
9263         * gst/gstpad.c:
9264         * gst/gstpad.h:
9265         * gst/gstqueue.c: (gst_queue_init):
9266         The deprecated pad loop function is removed now.
9267
9268 2005-06-28  Andy Wingo  <wingo@pobox.com>
9269
9270         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9271         New parameters, simulate network packet loss.
9272
9273         * tests/network-clock-utils.scm: Initialize the RNG.
9274
9275 2005-06-28  Wim Taymans  <wim@fluendo.com>
9276
9277         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9278         (gst_basesink_event), (gst_basesink_deactivate):
9279         Flushing the preroll queue always needs to unlock the waiters.
9280
9281 2005-06-28  Edward Hervey  <edward@fluendo.com>
9282
9283         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9284         Wheen a seek was successful on a pipeline, set the stream_time to the
9285         seek offset in order to have a synchronized stream_time.
9286
9287 2005-06-28  Wim Taymans  <wim@fluendo.com>
9288
9289         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9290         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9291         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9292         (gst_proxy_pad_do_fixatecaps):
9293         Call wrapper function instead of just calling the function
9294         pointers. This takes care of any locking and whatmore.
9295
9296 2005-06-28  Wim Taymans  <wim@fluendo.com>
9297
9298         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9299         (gst_pad_pull_range):
9300         * gst/gstpad.h:
9301         CONNECTED -> LINKED.
9302
9303 2005-06-28  Andy Wingo  <wingo@pobox.com>
9304
9305         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9306         source-munging commit!!!
9307
9308         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9309         (gst_object_sink): Take gpointer arguments, not GstObject --
9310         avoids casts. Like GLib.
9311
9312         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9313         activate.
9314
9315 2005-06-27  Andy Wingo  <wingo@pobox.com>
9316
9317         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9318         remaining buffer.
9319
9320         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9321         returns a sorted copy of the trace list.
9322         (gst_alloc_trace_print_live): New API, only prints traces with
9323         live objects. Sort the list.
9324         (gst_alloc_trace_print_all): Sort the list.
9325         (gst_alloc_trace_print): Align columns.
9326
9327         * gst/elements/gstttypefindelement.c:
9328         * gst/elements/gsttee.c:
9329         * gst/base/gstbasesrc.c:
9330         * gst/base/gstbasesink.c:
9331         * gst/base/gstbasetransform.c:
9332         * gst/gstqueue.c: Adapt for pad activation changes.
9333
9334         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9335         sched.
9336         (gst_pipeline_dispose): Drop ref on sched.
9337
9338         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9339         (gst_pad_activate_default): Push mode by default.
9340         (pre_activate_switch, post_activate_switch): New stubs, things to
9341         do before and after switching activation modes on pads.
9342         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9343         the pad's activate function to choose which mode to activate.
9344         Shortcut on deactivation and call the right function directly.
9345         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9346         mode.
9347         (gst_pad_activate_push): New API, same for push mode.
9348         (gst_pad_set_activate_function) 
9349         (gst_pad_set_activatepull_function) 
9350         (gst_pad_set_activatepush_function): Setters for new API.
9351
9352         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9353         Trace all miniobjects.
9354         (gst_mini_object_make_writable): Unref the arg if we copy, like
9355         gst_caps_make_writable.
9356
9357         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9358
9359         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9360         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9361         Adapt for new pad API.
9362
9363         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9364
9365         * gst/gstelement.h:
9366         * gst/gstelement.c (gst_element_iterate_src_pads) 
9367         (gst_element_iterate_sink_pads): New API functions.
9368         
9369         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9370         should fold into gstiterator.c in some form.
9371         (gst_element_pads_activate): Simplified via use of fold and
9372         delegation of decisions to gstpad->activate.
9373
9374         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9375         help in debugging.
9376
9377         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9378         class once in init, like gstmessage. Didn't run into this issue
9379         but it seems correct. Don't initialize a trace, gstminiobject does
9380         that.
9381
9382         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9383         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9384         to the bus.
9385         (assert_live_count): New util function, uses alloc traces to check
9386         cleanup.
9387
9388         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9389         To be modified when unlink drops the internal pad.
9390
9391 2005-06-27  Wim Taymans  <wim@fluendo.com>
9392
9393         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9394         (gst_bin_change_state):
9395         Cleanup the get_state() function a little, make sure it
9396         iterates the same set of elements.
9397         Added stub iterate_state_order().
9398
9399 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9400
9401         * docs/gst/gstreamer-docs.sgml:
9402         * docs/gst/gstreamer-sections.txt:
9403         * docs/gst/gstreamer.types:
9404         * docs/gst/tmpl/gstbasesink.sgml:
9405         * docs/gst/tmpl/gstbasesrc.sgml:
9406         * docs/gst/tmpl/gstbasetransform.sgml:
9407         * docs/gst/tmpl/gstelement.sgml:
9408         * docs/gst/tmpl/gstiterator.sgml:
9409         * gst/base/gstbasesrc.c:
9410         * gst/base/gstbasesrc.h:
9411         * gst/base/gstbasetransform.h:
9412         * gst/gstelement.c:
9413         * gst/gstiterator.h:
9414           adding basetransform and iterator docs
9415
9416 2005-06-27  Andy Wingo  <wingo@pobox.com>
9417
9418         * docs/design/part-activation.txt: Notes on how activation should
9419         work -- not quite implemented yet.
9420
9421 2005-06-25  Wim Taymans  <wim@fluendo.com>
9422
9423         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9424         At least get the chain function correct, needs more
9425         fixing.
9426
9427 2005-06-25  Wim Taymans  <wim@fluendo.com>
9428
9429         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9430         (gst_basesink_handle_object), (gst_basesink_event),
9431         (gst_basesink_do_sync), (gst_basesink_handle_event),
9432         (gst_basesink_change_state):
9433         * gst/gsttask.h:
9434         Right, two problems here: ghostpads don't take locks and
9435         glib _rec_mutex_lock_full() with depth==0 still locks.
9436         Catch illegal locking and g_warn them.
9437
9438 2005-06-25  Wim Taymans  <wim@fluendo.com>
9439
9440         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9441         Have to check for completion now...
9442
9443 2005-06-25  Wim Taymans  <wim@fluendo.com>
9444
9445         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9446         (gst_basesink_handle_object), (gst_basesink_event),
9447         (gst_basesink_do_sync), (gst_basesink_handle_event),
9448         (gst_basesink_change_state):
9449         * gst/gstpad.h:
9450         Unlock STREAM_LOCK whatever the recursion was.
9451
9452 2005-06-25  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9455         (gst_basesink_preroll_queue_empty),
9456         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9457         (gst_basesink_event), (gst_basesink_do_sync),
9458         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9459         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9460         (gst_basesink_change_state):
9461         Reworked the base sink, handle event and buffer serialisation
9462         correctly and removed possible deadlock.
9463         Handle EOS correctly.
9464
9465 2005-06-25  Wim Taymans  <wim@fluendo.com>
9466
9467         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9468         (gst_pipeline_change_state):
9469         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9470         Allow elements to post EOS in the state change function.
9471         Fix up -launch, make it exit the poll loop when the
9472         pipeline actually changed state.
9473         Fix up warning parsing in -launch.
9474
9475 2005-06-25  Wim Taymans  <wim@fluendo.com>
9476
9477         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9478         (gst_tee_sink_activate):
9479         Core takes STREAM_LOCK for us now.
9480
9481 2005-06-25  Wim Taymans  <wim@fluendo.com>
9482
9483         * gst/gstelement.c: (gst_element_get_state_func),
9484         (gst_element_set_state):
9485         * gst/gstelement.h:
9486         * gst/gstmessage.c: (gst_message_parse_error),
9487         (gst_message_parse_warning):
9488         Keep track of current target state while performing a state
9489         change so that subclasses can do something interesting.
9490         Fix parsing of warning/error messages when GError is NULL.
9491
9492 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9493
9494         * docs/gst/Makefile.am:
9495         * docs/gst/gstreamer-docs.sgml:
9496         * docs/gst/gstreamer-sections.txt:
9497         * docs/gst/gstreamer.types:
9498         * docs/gst/tmpl/gstbasesink.sgml:
9499         * docs/gst/tmpl/gstbasesrc.sgml:
9500         * docs/gst/tmpl/gstbin.sgml:
9501         * docs/gst/tmpl/gstcompat.sgml:
9502         * docs/gst/tmpl/gstfakesink.sgml:
9503         * docs/gst/tmpl/gstfakesrc.sgml:
9504         * docs/gst/tmpl/gstfilesink.sgml:
9505         * docs/gst/tmpl/gstfilesrc.sgml:
9506         * docs/gst/tmpl/gstindex.sgml:
9507         * docs/manual/appendix-quotes.xml:
9508         * gst/base/gstbasesrc.h:
9509         * gst/elements/gstfakesrc.h:
9510         * gst/gstmessage.h:
9511           start pulling in base classes and elements in our docs
9512
9513 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9514
9515         * docs/gst/Makefile.am:
9516         * docs/libs/Makefile.am:
9517           fixed make distcheck with gtk-doc 1.3
9518
9519 2005-06-23  Wim Taymans  <wim@fluendo.com>
9520
9521         * gst/gstelement.c: (gst_element_get_state_func),
9522         (gst_element_set_state), (gst_element_change_state):
9523         When the state did not change, also report NO_PREROLL
9524         when it matters.
9525
9526 2005-06-23  Wim Taymans  <wim@fluendo.com>
9527
9528         * gst/gstpad.c: (gst_pad_event_default):
9529         * gst/gstqueue.c: (gst_queue_loop):
9530         No unsafe task pausing please.
9531
9532 2005-06-23  Wim Taymans  <wim@fluendo.com>
9533
9534         * gst/schedulers/threadscheduler.c:
9535         (gst_thread_scheduler_task_start),
9536         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9537         Ref the task before pushing it on the threadpool. This
9538         makes sure that we have a ref when the threadfunction is
9539         actually called.
9540
9541 2005-06-23  Andy Wingo  <wingo@pobox.com>
9542
9543         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9544         offset is greater than the file's size.
9545
9546         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9547         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9548         * gst/gstobject.c (gst_object_class_init): Make the class lock
9549         recursive. Wim won't let me drop deep_notify. Decodebin works
9550         again, whoopdy doo.
9551
9552         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9553         internal pad, and hacks accordingly. Doesn't do it on the target
9554         pad because we change its caps. Probably catches all cases of
9555         interest tho.
9556         (gst_ghost_pad_set_property): Connect to notify::caps as
9557         appropritate.
9558
9559         * tests/network-clock.scm (plot-simulation): Pipe data to the
9560         elite python skript.
9561
9562         * tests/network-clock-utils.scm (define-parameter): New macro,
9563         defines a parameter that can be set via the command line.
9564         (set-parameter!, parse-parameter-arguments): Command line args
9565         parser.
9566
9567         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9568         stdin.
9569
9570 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9571
9572         * gst/elements/gsttypefindelement.c:
9573         (gst_type_find_element_handle_event):
9574           Don't restart typefinding on a discont.
9575         * gst/gstelement.c: (gst_element_set_state):
9576           Debug spelling fix.
9577         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9578           Allow changing mode of an active pad.
9579           Debug output fixes.
9580         * gst/registries/gstlibxmlregistry.c: (load_feature):
9581           Don't cast a static pad template to a normal pad template.
9582
9583 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9584
9585         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9586         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9587           remove gst_strtoll completely, since it didn't actually do
9588           anything more than what g_ascii_strtoull already does.
9589           check for range errors when deserializing
9590           do a cast for the unsigned cases; but further fixing needs
9591           a decision on what the interpretation of "(int)" and
9592           deserialization should be for values that fall outside the
9593           type's boundaries (ie, refuse, or interpret as casting)
9594
9595 2005-06-23  Wim Taymans  <wim@fluendo.com>
9596
9597         * check/Makefile.am:
9598         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9599         * docs/design/part-live-source.txt:
9600         * docs/design/part-states.txt:
9601         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9602         (gst_basesrc_set_live), (gst_basesrc_is_live),
9603         (gst_basesrc_get_range), (gst_basesrc_activate),
9604         (gst_basesrc_change_state):
9605         * gst/base/gstbasesrc.h:
9606         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9607         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9608         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9609         * gst/gstelement.c: (gst_element_get_state_func),
9610         (gst_element_set_state):
9611         * gst/gstelement.h:
9612         * gst/gsttypes.h:
9613         * tools/gst-launch.c: (event_loop), (main):
9614         Added support for live sources and other elements that
9615         cannot do preroll.
9616         Updated design docs, added live-source design doc.
9617         Implemented live source functionality in basesrc
9618         Fix error condition in _bin_get_state()
9619         Implement live source handling in -launch.
9620         Added check for live sources.
9621         Fixed case in GstBin where elements were changed state
9622         multiple times.
9623
9624
9625 2005-06-23  Andy Wingo  <wingo@pobox.com>
9626
9627         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9628         borken refcounting.
9629
9630         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9631         gst_caps_replace takes care of this for us.
9632
9633         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9634         gst_pad_set_caps on the target, not just its setcaps() function.
9635
9636         * tests/network-clock.scm: 
9637         * tests/network-clock-utils.scm: A network clock simulator.
9638         Something of an algorithmic testbed before doing something in C.
9639
9640 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9641
9642         * check/Makefile.am:
9643         * check/gst/capslist.h:
9644           copy over from 0.8, and add two with bitmasks specified with
9645           (int) 0xFF...
9646         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9647           add test to parse everything from capslist.h
9648         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9649         (main):
9650           add test for structure deserialization
9651         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9652           add tests for deserialization of strings to int types
9653         * gst/gststructure.c: (gst_structure_nth_field_name):
9654         * gst/gststructure.h:
9655           add a way to get the name of a field referenced by index
9656         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9657           instead of checking if the resulting long long lies between
9658           min and max, we check if the long long would fit into
9659           a number of bytes for the final type.
9660           This fixes cases where a string represents 2^32 - 1, which
9661           when cast to int would be the (valid) -1, but is bigger than
9662           G_MAXINT
9663
9664 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9665
9666         * gst/parse/grammar.y:
9667           add a log line for type deserialization
9668
9669 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9670
9671         * check/gst/gstvalue.c: (START_TEST):
9672         * gst/gstvalue.c: (gst_value_deserialize):
9673           return long long, not int, so gint64 deserialization actually
9674           works.  Is there any flag that makes the compiler check this ?
9675           Fixes #308559
9676
9677 2005-06-22  Wim Taymans  <wim@fluendo.com>
9678
9679         * gst/gstbuffer.h:
9680         Added convenience macros for setting buffers in GValue.
9681
9682 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9683
9684         * check/gst/.cvsignore:
9685         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9686           add a test deserializing int64, and comment part out because
9687           it fails, yay !
9688
9689 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * check/Makefile.am:
9692         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9693         * testsuite/Makefile.am:
9694         * testsuite/caps/Makefile.am:
9695         * testsuite/caps/value_serialize.c:
9696         * testsuite/test_gst_init.c:
9697           move a value_serialize test over
9698
9699 2005-06-20  Wim Taymans  <wim@fluendo.com>
9700
9701         * gst/gstpad.c:
9702         Small doc updates.
9703         
9704         * gst/gstvalue.c: (gst_value_compare_buffer),
9705         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9706         (gst_value_compare_flags), (gst_value_serialize_flags),
9707         (gst_value_deserialize_flags), (_gst_value_initialize):
9708         Fix serialisation of buffers, they are not boxed types anymore
9709
9710 2005-06-20  Wim Taymans  <wim@fluendo.com>
9711
9712         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9713         Testcase to show error in buffer-on-caps serialisation.
9714
9715 2005-06-20  Andy Wingo  <wingo@pobox.com>
9716
9717         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9718         will be adding to later.
9719
9720         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9721         if its socks fill with rocks.
9722         (gst_system_clock_obtain): Set the name on object construction.
9723         Avoid double-checked locking.
9724
9725 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9726
9727         * gst/gsturi.c: (gst_element_make_from_uri):
9728           Fix potential endless loop.
9729
9730 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * check/Makefile.am:
9733           add gsttag
9734         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9735         (main):
9736           move over from testsuite dir and clean up
9737         * configure.ac:
9738         * gst/gsttag.c:
9739         * testsuite/Makefile.am:
9740         * testsuite/tags/.cvsignore:
9741         * testsuite/tags/Makefile.am:
9742         * testsuite/tags/merge.c:
9743           remove testsuite/tags
9744
9745 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9746
9747         * docs/gst/gstreamer-sections.txt:
9748         * docs/gst/tmpl/gstenumtypes.sgml:
9749         * win32/gstenumtypes.c:
9750           clean up documentation build a little
9751
9752 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9753
9754         * check/gstcheck.h:
9755           add macros for checking refcounts on objects and caps
9756         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9757           add some more unit tests
9758         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9759         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9760           fix leaked refcounts (I hope :)) so unittest works
9761         * gst/gstpad.h:
9762           whitespace removal
9763
9764 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9765
9766         * configure.ac: back to HEAD
9767
9768 === release 0.9.1 ===
9769
9770 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9771
9772         * NEWS:
9773         * RELEASE:
9774           updated
9775
9776 2005-06-17  Andy Wingo  <wingo@pobox.com>
9777
9778         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9779         assert; it's always possible that the pad gets deactivated in
9780         between the checks in gstpad.c and the implementation. Rely on
9781         finish_preroll() to return a FLUSHING or similar instead of on the
9782         assert.
9783         
9784         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9785         clock and post an EOS message if we come out of finish_preroll in
9786         the playing state.
9787
9788 2005-06-16  David Schleef  <ds@schleef.org>
9789
9790         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9791         (gst_capsfilter_set_property): Allow NULL as possible value
9792         for filter_caps property, indicating GST_CAPS_ANY.
9793
9794 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9795
9796         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9797           fix debug output
9798         * gst/schedulers/Makefile.am:
9799           use libgst prefix
9800         * gstreamer.spec.in:
9801           fix spec for it
9802
9803 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9804
9805         * gstreamer.spec.in:
9806           clean up
9807
9808 2005-06-08  Andy Wingo  <wingo@pobox.com>
9809
9810         * gst/gstutils.c: RPAD fixes all around.
9811         (gst_element_link_pads): Refcounting fixes.
9812
9813         * tools/gst-inspect.c:
9814         * tools/gst-xmlinspect.c:
9815         * parse/grammar.y:
9816         * gst/base/gsttypefindhelper.c:
9817         * gst/base/gstbasesink.c:
9818         * gst/gstqueue.c: RPAD fixes.
9819
9820         * gst/gstghostpad.h:
9821         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9822         pads. The tricky thing is they provide both source and sink
9823         interfaces, since they proxy the internal pad for the external
9824         pad, and vice versa. Implement with lower-level ProxyPad objects,
9825         with the interior proxy pad as a child of the exterior ghost pad.
9826         Should write a doc on this.
9827         
9828         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9829         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9830         gst_object API.
9831         
9832         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9833         pads are real pads. No ghost pads in this file. Not documenting
9834         the myriad s/RPAD/PAD/ and REALIZE fixes.
9835         (gst_pad_class_init): Add properties for "direction" and
9836         "template". Both are construct-only, so they can't change during
9837         the life of the pad. Fixes properly deriving from GstPad.
9838         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9839         derived objects, just set properties when creating the objects via
9840         g_object_new.
9841         (gst_pad_get_parent): Implement as a function, return NULL if the
9842         parent is not an element.
9843         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9844         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9845         
9846         * gst/gstobject.c (gst_object_class_init): Make name a construct
9847         property. Don't set it in the object init.
9848
9849         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9850         with UNKNOWN direction.
9851         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9852         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9853         (gst_element_remove_pad): Remove ghost-pad special cases.
9854         (gst_element_pads_activate): Remove rpad cruft.
9855
9856         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9857         catch the pad's-parent-not-an-element case.
9858
9859         * gst/gst.h: Include gstghostpad.h.
9860
9861         * gst/gst.c (init_post): No more real, ghost pads.
9862
9863         * gst/Makefile.am: Add gstghostpad.[ch].
9864
9865         * check/Makefile.am:
9866         * check/gst/gstbin.c:
9867         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9868         into a bin creates ghost pads, and that the refcounts are right.
9869         Partly moved from gstbin.c.
9870
9871 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9872
9873         * check/gst-libs/.cvsignore:
9874         * check/gst/.cvsignore:
9875         * check/pipelines/.cvsignore:
9876           ignore more
9877         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9878         (START_TEST), (cleanup_suite), (main):
9879           add some tests related to cleanup after running pipelines
9880
9881 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9882
9883         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9884           add a testsuite for GstBuffer
9885
9886 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9887
9888         * gst/gstminiobject.h:
9889           add defines for accessing the refcount
9890
9891 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9892
9893         * Makefile.am: added support for html unit test coverage reports
9894
9895 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9896
9897         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9898           Free existing caps if the capsfilter changes. Add a FIXME about
9899           setting those caps on the pads.
9900
9901         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9902           Before adding a ghost pad to a parent bin, check that there isn't
9903           already one for the element on the bin. Prevents infinite recursion
9904           when using decodebin in parse pipelines. Andy says he'll rewrite the
9905           way this works anyway, so ignore the hack.
9906
9907 2005-06-02  Andy Wingo  <wingo@pobox.com>
9908
9909         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9910         file size, pass it on to the type find helper.
9911
9912         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9913         segment_start and segment_end properly according to the seek
9914         method. Segment_end is still a bit flaky because offset can be
9915         negative for CUR and END cases, but it takes -1 as an "unset"
9916         value.
9917
9918 2005-06-02  Wim Taymans  <wim@fluendo.com>
9919
9920         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9921         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9922         (gst_basesink_activate):
9923         * gst/base/gstbasesink.h:
9924         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9925         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9926         (gst_pad_query), (gst_pad_start_task):
9927         * gst/gstpad.h:
9928         * gst/gstqueue.c: (gst_queue_bufferalloc),
9929         (gst_queue_handle_sink_event), (gst_queue_chain):
9930         Bufferalloc: return GstFlowReturn to more accuratly report
9931         why allocation failed.
9932
9933 2005-06-02  Wim Taymans  <wim@fluendo.com>
9934
9935         * gst/gstpipeline.c: (gst_pipeline_send_event):
9936         Take snapshot of state without blocking.
9937
9938 2005-06-02  Wim Taymans  <wim@fluendo.com>
9939
9940         * docs/design/part-TODO.txt:
9941         * docs/design/part-caps.txt:
9942         * docs/design/part-clocks.txt:
9943         * docs/design/part-negotiation.txt:
9944         * docs/design/part-preroll.txt:
9945         Small doc updates 
9946
9947 2005-05-30  Wim Taymans  <wim@fluendo.com>
9948
9949         * gst/elements/gstidentity.c: (gst_identity_event),
9950         (gst_identity_transform), (gst_identity_get_property):
9951         Protect last_message property as it is accessed from
9952         multiple threads.
9953
9954 2005-05-30  Wim Taymans  <wim@fluendo.com>
9955
9956         * gst/gstelement.c: (gst_element_init),
9957         (gst_element_pads_activate), (gst_element_change_state):
9958         Slicker pad activation code.
9959
9960 2005-05-30  Wim Taymans  <wim@fluendo.com>
9961
9962         * gst/Makefile.am:
9963         * gst/gstelement.h:
9964         * gst/gstelementfactory.h:
9965         * gst/gsttypes.h:
9966         Move elementfactory methods to separate .h file.
9967
9968 2005-05-30  Wim Taymans  <wim@fluendo.com>
9969
9970         * docs/design/part-overview.txt:
9971         * gst/gstsystemclock.h:
9972         Small typo fixes, doc updates.
9973
9974 2005-05-30  Wim Taymans  <wim@fluendo.com>
9975
9976         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9977         (init_popt_callback):
9978         Remove cpu-opt flag.
9979
9980 2005-05-30  Wim Taymans  <wim@fluendo.com>
9981
9982         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9983         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9984         * gst/gstbuffer.h:
9985         Avoid typechecking in places where not needed.
9986         Added accessor for malloc_data.
9987
9988 2005-05-30  Wim Taymans  <wim@fluendo.com>
9989
9990         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9991         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9992         (gst_pad_configure_sink), (gst_pad_configure_src),
9993         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9994         (gst_pad_start_task):
9995         Propagate errors from _set_caps() in configure_src/sink
9996         functions instead of returning TRUE.
9997         FLUSH events can travel up and downstream
9998
9999
10000 2005-05-30  Wim Taymans  <wim@fluendo.com>
10001
10002         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10003         (gst_basesink_activate):
10004         Handle EOS in preroll.
10005
10006 2005-05-30  Wim Taymans  <wim@fluendo.com>
10007
10008         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10009         (gst_queue_loop), (gst_queue_handle_src_event):
10010         Remove old pieces of code
10011         Flushing the queue in an upstream event is a very bad idea.
10012
10013 2005-05-26  Andy Wingo  <wingo@pobox.com>
10014
10015         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10016         gst_value_set_mini_object so as to add a ref on the object (which
10017         will be removed when the value is unset).
10018
10019         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10020         arg type in ::handoff.
10021
10022         * gst/gstelement.c (gst_element_change_state): Also deactivate
10023         pads in READY->NULL, just in case the element didn't make it to
10024         PAUSED. Wingo tested, Wim approved.
10025
10026 2005-05-26  Wim Taymans  <wim@fluendo.com>
10027
10028         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10029         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10030         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10031         A flushing pad cannot be used to alloc_buffer from.
10032
10033 2005-05-26  Wim Taymans  <wim@fluendo.com>
10034
10035         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10036         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10037         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10038         (gst_bus_create_watch), (gst_bus_add_watch_full):
10039         * gst/gstbus.h:
10040         Implement a real GSource and use g_main_context_wakeup() to
10041         signal new messages instead of the socketpair.
10042
10043 2005-05-25  Wim Taymans  <wim@fluendo.com>
10044
10045         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10046         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10047         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10048         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10049         (gst_pad_send_event), (gst_pad_start_task):
10050         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10051         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10052         (gst_queue_sink_activate), (gst_queue_src_activate),
10053         (gst_queue_change_state):
10054         * gst/gstqueue.h:
10055         Fix state changes for non sinks. We now change sinks, then elements
10056         with unconnected srcpads, then the rest.
10057         More efficient queue unlocking in flush and state changes.
10058         Set the pad activate mode even if it does not have an activate
10059         function.
10060
10061 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10062
10063         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10064           Don't go in pull mode for non-seekable sources.
10065         * gst/elements/gsttypefindelement.h:
10066         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10067         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10068         (free_entry), (stop_typefinding),
10069         (gst_type_find_element_handle_event), (find_peek),
10070         (gst_type_find_element_chain), (do_pull_typefind),
10071         (gst_type_find_element_change_state):
10072           Allow typefinding (w/o seeking) in push-mode, simplified version
10073           of what was in 0.8.
10074         * gst/gstutils.c: (gst_buffer_join):
10075         * gst/gstutils.h:
10076           gst_buffer_join() from 0.8.
10077
10078 2005-05-25  Wim Taymans  <wim@fluendo.com>
10079
10080         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10081         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10082         (gst_pad_send_event), (gst_pad_start_task):
10083         Disable attempt at mode switching until it is figured out.
10084
10085 2005-05-25  Wim Taymans  <wim@fluendo.com>
10086
10087         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10088         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10089         (gst_basesink_finish_preroll), (gst_basesink_chain),
10090         (gst_basesink_loop), (gst_basesink_activate),
10091         (gst_basesink_change_state):
10092         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10093         (gst_basesrc_get_range), (gst_basesrc_loop),
10094         (gst_basesrc_activate):
10095         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10096         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10097         (gst_real_pad_init), (gst_real_pad_set_property),
10098         (gst_real_pad_get_property), (gst_pad_set_active),
10099         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10100         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10101         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10102         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10103         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10104         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10105         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10106         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10107         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10108         (gst_pad_stop_task):
10109         * gst/gstpad.h:
10110         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10111         (gst_queue_loop), (gst_queue_src_activate):
10112         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10113         (gst_task_get_state):
10114         * gst/gsttask.h:
10115         * gst/schedulers/threadscheduler.c:
10116         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10117         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10118         in task function.
10119         Remove ACTIVE pad flag, use FLUSHING everywhere
10120         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10121         functions.
10122         Add locks around IS_FLUSHING when reading.
10123         Take STREAM lock in chain(), get_range() functions so plugins
10124         don't need to take it anymore.
10125         
10126
10127
10128 2005-05-25  Wim Taymans  <wim@fluendo.com>
10129
10130         * tools/gst-launch.c: (event_loop):
10131         Unref message after using its contents instead of
10132         before.
10133
10134 2005-05-24  Wim Taymans  <wim@fluendo.com>
10135
10136         * docs/design/draft-ghostpads.txt:
10137         * docs/design/draft-push-pull.txt:
10138         * docs/design/draft-query.txt:
10139         * docs/design/part-overview.txt:
10140         Docs updates, added general overview doc.
10141
10142 2005-05-21  David Schleef  <ds@schleef.org>
10143
10144         * docs/gst/tmpl/old/GstBin.sgml:
10145         * docs/gst/tmpl/old/GstBuffer.sgml:
10146         * docs/gst/tmpl/old/GstCaps.sgml:
10147         * docs/gst/tmpl/old/GstClock.sgml:
10148         * docs/gst/tmpl/old/GstCompat.sgml:
10149         * docs/gst/tmpl/old/GstData.sgml:
10150         * docs/gst/tmpl/old/GstElement.sgml:
10151         * docs/gst/tmpl/old/GstEvent.sgml:
10152         * docs/gst/tmpl/old/GstIndex.sgml:
10153         * docs/gst/tmpl/old/GstStructure.sgml:
10154         * docs/gst/tmpl/old/GstTag.sgml:
10155         * docs/gst/tmpl/old/cothreads.sgml:
10156         * docs/gst/tmpl/old/cothreads_compat.sgml:
10157         * docs/gst/tmpl/old/gettext.sgml:
10158         * docs/gst/tmpl/old/gobject2gtk.sgml:
10159         * docs/gst/tmpl/old/grammar.tab.sgml:
10160         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10161         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10162         * docs/gst/tmpl/old/gst_private.sgml:
10163         * docs/gst/tmpl/old/gstaggregator.sgml:
10164         * docs/gst/tmpl/old/gstarch.sgml:
10165         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10166         * docs/gst/tmpl/old/gstbufferstore.sgml:
10167         * docs/gst/tmpl/old/gstdata_private.sgml:
10168         * docs/gst/tmpl/old/gstdisksink.sgml:
10169         * docs/gst/tmpl/old/gstdisksrc.sgml:
10170         * docs/gst/tmpl/old/gstelementfactory.sgml:
10171         * docs/gst/tmpl/old/gstextratypes.sgml:
10172         * docs/gst/tmpl/old/gstfakesink.sgml:
10173         * docs/gst/tmpl/old/gstfakesrc.sgml:
10174         * docs/gst/tmpl/old/gstfdsink.sgml:
10175         * docs/gst/tmpl/old/gstfdsrc.sgml:
10176         * docs/gst/tmpl/old/gstfilesink.sgml:
10177         * docs/gst/tmpl/old/gstfilesrc.sgml:
10178         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10179         * docs/gst/tmpl/old/gstidentity.sgml:
10180         * docs/gst/tmpl/old/gstindexfactory.sgml:
10181         * docs/gst/tmpl/old/gstmarshal.sgml:
10182         * docs/gst/tmpl/old/gstmd5sink.sgml:
10183         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10184         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10185         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10186         * docs/gst/tmpl/old/gstpipefilter.sgml:
10187         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10188         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10189         * docs/gst/tmpl/old/gstshaper.sgml:
10190         * docs/gst/tmpl/old/gstspider.sgml:
10191         * docs/gst/tmpl/old/gstspideridentity.sgml:
10192         * docs/gst/tmpl/old/gststatistics.sgml:
10193         * docs/gst/tmpl/old/gsttee.sgml:
10194         * docs/gst/tmpl/old/gsttimecache.sgml:
10195         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10196         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10197         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10198         * docs/gst/tmpl/old/types.sgml:
10199           I didn't intend to add these or check them in.
10200
10201 2005-05-19  David Schleef  <ds@schleef.org>
10202
10203         * configure.ac: Use -no-common everywhere.  In a sane world, it
10204           would be the default in libtool, because without it, you can't
10205           build DLLs on Windows.
10206         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10207         * docs/gst/gstreamer-sections.txt:
10208         * docs/gst/tmpl/gstcpu.sgml:
10209         * docs/gst/tmpl/gstdata.sgml:
10210         * docs/gst/tmpl/gstthread.sgml:
10211
10212 2005-05-19  David Schleef  <ds@schleef.org>
10213
10214         * gst/gstminiobject.c: (gst_value_set_mini_object),
10215         (gst_value_take_mini_object), (gst_value_get_mini_object):
10216         * gst/gstminiobject.h: Add GValue set/get functions.
10217
10218 2005-05-19  Wim Taymans  <wim@fluendo.com>
10219
10220         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10221         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10222         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10223         * gst/gstbuffer.h:
10224         * gst/gstbus.c: (gst_bus_post):
10225         * gst/gstelement.c: (gst_element_get_random_pad):
10226         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10227         Make subbufer unref the parent in finalize.
10228         some more debugging info.
10229
10230
10231 2005-05-19  Wim Taymans  <wim@fluendo.com>
10232
10233         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10234         (gst_basesink_init), (gst_basesink_finalize),
10235         (gst_basesink_activate), (gst_basesink_change_state):
10236         Don't free preroll queue too early.
10237
10238 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10239
10240         * gst/Makefile.am:
10241         * gst/ROADMAP:
10242           Hi, I'm outdated. Please shoot me.
10243
10244 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10245
10246         * gst/gstpipeline.c: (gst_pipeline_send_event):
10247           Do not access variables after they have been deleted.
10248
10249 2005-05-19  Wim Taymans  <wim@fluendo.com>
10250
10251         * tools/gst-inspect.c: (print_plugin_features):
10252         A plugin feature does unfortunatly not use the
10253         object name yet...
10254
10255 2005-05-18  Wim Taymans  <wim@fluendo.com>
10256
10257         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10258         Port _span() functions to new subbuffers.
10259
10260 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10261
10262         * gst/gstbin.c: (gst_bin_add_func):
10263           Fix clock settery in bins when adding kids after the clock has
10264           been selected.
10265
10266 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10267
10268         * gst/elements/gstidentity.c: (gst_identity_class_init):
10269           Workaround until signals support GstMiniObject.
10270
10271 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10272
10273         * gst/gstbuffer.c:
10274         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10275
10276 2005-05-18  Wim Taymans  <wim@fluendo.com>
10277
10278         * gst/base/Makefile.am:
10279         * gst/base/gstadapter.c: (gst_adapter_base_init),
10280         (gst_adapter_class_init), (gst_adapter_init),
10281         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10282         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10283         (gst_adapter_flush), (gst_adapter_available),
10284         (gst_adapter_available_fast):
10285         * gst/base/gstadapter.h:
10286         Ported and added adapter to the base classes.
10287
10288 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10289
10290         * gst/gst.c:
10291         * gst/gstmessage.c:
10292           Make sure the class is reffed/unreffed once before threads can be
10293           used.  Fixes #304551.
10294
10295 2005-05-17  Wim Taymans  <wim@fluendo.com>
10296
10297         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10298         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10299         * gst/gstminiobject.c: (gst_mini_object_get_type),
10300         (gst_mini_object_free):
10301         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10302         (gst_pad_push), (gst_pad_push_event):
10303         * gst/gstqueue.c: (gst_queue_change_state):
10304         Don't queue buffers in basesink when we are flushing.
10305         Unref buffer when flushing in basesink.
10306         Flush queue when going to READY
10307         Unref buffer when _push() returns an error.
10308         Don't free MiniObject instance when refcount is incremented
10309         in _finalize() so that we can recover objects.
10310
10311 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * docs/manual/advanced-schedulers.xml:
10314         * docs/manual/appendix-checklist.xml:
10315         * docs/pwg/advanced-clock.xml:
10316         * docs/pwg/advanced-interfaces.xml:
10317         * docs/pwg/advanced-request.xml:
10318         * docs/pwg/advanced-types.xml:
10319         * docs/pwg/intro-preface.xml:
10320         * examples/plugins/example.c: (gst_example_get_type),
10321         (gst_example_class_init), (gst_example_chain),
10322         (gst_example_set_property), (gst_example_get_property),
10323         (gst_example_change_state), (plugin_init):
10324         * examples/plugins/example.h:
10325           small doc fixes
10326
10327 2005-05-17  Wim Taymans  <wim@fluendo.com>
10328
10329         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10330         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10331         * gst/gstqueue.c: (gst_queue_change_state):
10332         Clear queue when going to READY.
10333         Remove IN_SETCAPS flag too.
10334
10335 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10336
10337         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10338           Remove implicit cast from gboolean to GstElementStateReturn;
10339           make sure we still return failure in paused => ready case if
10340           the parent class fails to change state and our own stop 
10341           vfunc succeeds.
10342
10343 2005-05-17  Wim Taymans  <wim@fluendo.com>
10344
10345         * tools/gst-launch.c: (event_loop):
10346         Message was unreffed too soon.
10347
10348 2005-05-16  Andy Wingo  <wingo@pobox.com>
10349
10350         * gst/gstbin.c (sink_iterator_filter): Err... um...
10351
10352         * check/gst/gstbin.c (test_ghost_pads): New test for the
10353         ghosting-if-elements-not-in-same-bin behavior.
10354
10355 2005-05-16  David Schleef  <ds@schleef.org>
10356
10357         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10358         accessing refcount directly.
10359
10360 2005-05-15  David Schleef  <ds@schleef.org>
10361
10362         * check/Makefile.am: remove GstData checks
10363         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10364         * gst/Makefile.am: add miniobject, remove data
10365         * gst/gst.h: add miniobject, remove data
10366         * gst/gstdata.c: remove
10367         * gst/gstdata.h: remove
10368         * gst/gstdata_private.h: remove
10369         * gst/gsttypes.h: remove GstEvent and GstMessage
10370         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10371         * gst/gstmarshal.list: change BOXED -> OBJECT
10372
10373         Implement GstMiniObject.
10374         * gst/gstminiobject.c:
10375         * gst/gstminiobject.h:
10376
10377         Modify to be subclasses of GstMiniObject.
10378         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10379         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10380         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10381         (gst_subbuffer_get_type), (gst_subbuffer_init),
10382         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10383         (gst_buffer_span):
10384         * gst/gstbuffer.h:
10385         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10386         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10387         (_gst_event_copy), (gst_event_new):
10388         * gst/gstevent.h:
10389         * gst/gstmessage.c: (_gst_message_initialize),
10390         (gst_message_get_type), (gst_message_class_init),
10391         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10392         (gst_message_new), (gst_message_new_error),
10393         (gst_message_new_warning), (gst_message_new_tag),
10394         (gst_message_new_state_changed), (gst_message_new_application):
10395         * gst/gstmessage.h:
10396         * gst/gstprobe.c: (gst_probe_perform),
10397         (gst_probe_dispatcher_dispatch):
10398         * gst/gstprobe.h:
10399         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10400         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10401         (_gst_query_copy), (gst_query_new):
10402
10403         Update elements for GstData -> GstMiniObject changes
10404         * gst/gstquery.h:
10405         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10406         (gst_queue_chain), (gst_queue_loop):
10407         * gst/elements/gstbufferstore.c:
10408         (gst_buffer_store_add_buffer_func),
10409         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10410         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10411         (gst_fakesink_render):
10412         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10413         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10414         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10415         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10416         (gst_filesrc_create_read):
10417         * gst/elements/gstidentity.c: (gst_identity_class_init):
10418         * gst/elements/gsttypefindelement.c:
10419         (gst_type_find_element_src_event), (free_entry_buffers),
10420         (gst_type_find_element_handle_event):
10421         * libs/gst/dataprotocol/dataprotocol.c:
10422         (gst_dp_header_from_buffer):
10423         * libs/gst/dataprotocol/dataprotocol.h:
10424         * libs/gst/dataprotocol/dp-private.h:
10425
10426 2005-05-15  David Schleef  <ds@schleef.org>
10427
10428         * gst/elements/gstelements.c: Don't include headers that were
10429         just removed.
10430
10431 2005-05-15  David Schleef  <ds@schleef.org>
10432
10433         * gst/elements/Makefile.am: Remove some elements that don't
10434         need to be in the core (or even exist at all).
10435         * gst/elements/gstaggregator.c:
10436         * gst/elements/gstaggregator.h:
10437         * gst/elements/gstmd5sink.c:
10438         * gst/elements/gstmd5sink.h:
10439         * gst/elements/gstmultifilesrc.c:
10440         * gst/elements/gstmultifilesrc.h:
10441         * gst/elements/gstpipefilter.c:
10442         * gst/elements/gstpipefilter.h:
10443         * gst/elements/gstshaper.c:
10444         * gst/elements/gstshaper.h:
10445         * gst/elements/gststatistics.c:
10446         * gst/elements/gststatistics.h:
10447         * po/POTFILES.in: Remove above files.
10448
10449 2005-05-14  Andy Wingo  <wingo@pobox.com>
10450
10451         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10452         so as to get the refs right.
10453         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10454         unreffing objects that don't pass the filter.
10455
10456         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10457         gst_element_set_bus.
10458         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10459         normal cases, this will destroy the bus.
10460
10461         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10462         object.
10463
10464         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10465         has no sinks.
10466
10467 2005-05-13  Andy Wingo  <wingo@pobox.com>
10468
10469         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10470         gst_pad_link, call pad_link_maybe_ghosting,
10471         (pad_link_maybe_ghosting): Links pads, making sure that the
10472         elements being linked are in the same bin.
10473         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10474         Helpers for pad_link_maybe_ghosting.
10475
10476 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10477
10478         * configure.ac:
10479           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10480
10481 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10482
10483         * docs/design/part-element-source.txt:
10484           Mention GstPushSrc
10485
10486 2005-05-12  Wim Taymans  <wim@fluendo.com>
10487
10488         * gst/base/gstbasesink.c: (gst_basesink_init),
10489         (gst_basesink_activate):
10490         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10491         (gst_basesrc_is_seekable):
10492         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10493         (bin_element_is_sink), (gst_bin_change_state):
10494         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10495         * gst/gstelement.h:
10496         Identify sinks by their flag to avoid overly complicated
10497         checks (fow now).
10498         Do state changes even for elements not reachable from the
10499         sinks.
10500         BaseSink is a sink now :)
10501         Some more debugging info in the basesrc.
10502
10503
10504 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10505
10506         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10507           Implement _query on a bin, similar to _send_event.
10508
10509 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10510
10511         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10512           Discont event offset format should be GST_FORMAT_BYTES,
10513           not GST_FORMAT_TIME.
10514
10515 2005-05-12  Wim Taymans  <wim@fluendo.com>
10516
10517         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10518         Same fix as Ronald's but without the signal. 
10519
10520 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10521
10522         * gst/gstutils.c: (gst_element_query_position):
10523           No, an element is not a pad.
10524
10525 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10526
10527         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10528         (gst_bin_get_state):
10529           If a child is removed from a bin while we remove the child from
10530           the bin and while we're retrieving its state, signal this to the
10531           get_state function so we abort the wait (instead of waiting for
10532           a timeout) and can immediately re-iterate over all other elements.
10533
10534 2005-05-12  Wim Taymans  <wim@fluendo.com>
10535
10536         * gst/base/Makefile.am:
10537         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10538         (gst_basesrc_start):
10539         * gst/base/gstbasesrc.h:
10540         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10541         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10542         (gst_pushsrc_init), (gst_pushsrc_create):
10543         * gst/base/gstpushsrc.h:
10544         Added is_seekable to BaseSrc
10545         Added simple PushSrc.
10546
10547 2005-05-11  Wim Taymans  <wim@fluendo.com>
10548
10549         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10550         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10551         (gst_element_link_pads), (gst_element_query_position),
10552         (gst_element_query_convert), (intersect_caps_func),
10553         (gst_pad_query_position), (gst_pad_query_convert):
10554         Fix refcounting in utils function.
10555         No point in trying to activate a pad when it's added, it could
10556         be added from the state change function and then we deadlock, the
10557         element has to decide what to do.
10558
10559 2005-05-10  Andy Wingo  <wingo@pobox.com>
10560
10561         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10562         *all* the arguments.
10563
10564         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10565         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10566         lock (according to the docs -- if this is wrong change the docs).
10567
10568         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10569         flush messages in the NULL state.
10570
10571         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10572         message immediately and return.
10573         (gst_bus_set_flushing): New function. If a bus is flushing, it
10574         flushes out any queued messages and immediately unrefs new
10575         messages. This is so when an element goes to NULL, all of the
10576         unhandled messages coming from it can be freed, and their
10577         references to the element dropped. In other words: message source
10578         ref considered harmful :P
10579
10580         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10581         we're finished with it.
10582
10583         * gst/gstmessage.c (gst_message_new_state_changed): 
10584
10585 2005-05-10  Wim Taymans  <wim@fluendo.com>
10586
10587         * gst/gstvalue.c: (gst_value_compare_flags),
10588         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10589         (_gst_value_initialize):
10590         Added flags serialize/deserialize/compare code.
10591
10592 2005-05-09  Andy Wingo  <wingo@pobox.com>
10593
10594         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10595         Intersect the peer's caps with our caps.
10596
10597 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10598
10599         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10600         * gst/elements/gsttypefindelement.c: (find_peek):
10601           Handle negative offsets better. Fixes decodebin.
10602
10603 2005-05-09  Wim Taymans  <wim@fluendo.com>
10604
10605         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10606         (gst_base_transform_event):
10607         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10608         Implement accept_caps.
10609         Fix silly lock/unlock mismatch in base class.
10610
10611 2005-05-09  Wim Taymans  <wim@fluendo.com>
10612
10613         * docs/design/draft-push-pull.txt:
10614         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10615         * gst/elements/gstfilesink.c: (gst_filesink_init),
10616         (gst_filesink_query):
10617         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10618         (gst_type_find_handle_src_query), (find_element_get_length):
10619         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10620         * gst/gstelement.h:
10621         * gst/gstmessage.c:
10622         * gst/gstmessage.h:
10623         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10624         (gst_real_pad_get_caps_unlocked),
10625         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10626         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10627         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10628         (gst_real_pad_dispose), (gst_real_pad_finalize),
10629         (gst_pad_load_and_link), (gst_pad_save_thyself),
10630         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10631         (gst_pad_check_pull_range), (gst_pad_pull_range),
10632         (gst_pad_template_get_type), (gst_pad_template_class_init),
10633         (gst_pad_template_init), (gst_pad_template_dispose),
10634         (name_is_valid), (gst_static_pad_template_get),
10635         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10636         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10637         (gst_pad_get_element_private), (gst_pad_start_task),
10638         (gst_pad_pause_task), (gst_pad_stop_task),
10639         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10640         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10641         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10642         (gst_ghost_pad_new):
10643         * gst/gstpad.h:
10644         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10645         (gst_query_new_position), (gst_query_set_position),
10646         (gst_query_parse_position), (gst_query_new_convert),
10647         (gst_query_set_convert), (gst_query_parse_convert):
10648         * gst/gstquery.h:
10649         * gst/gstqueryutils.c:
10650         * gst/gstqueryutils.h:
10651         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10652         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10653         (gst_queue_handle_src_query):
10654         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10655         (gst_element_query_position), (gst_element_query_convert),
10656         (intersect_caps_func), (gst_pad_query_position),
10657         (gst_pad_query_convert):
10658         * gst/gstutils.h:
10659         * tools/gst-inspect.c: (print_pad_info):
10660         * tools/gst-xmlinspect.c: (print_element_info):
10661         Remove old query functions. Ported old code.
10662         Added position/convert helper functions to gstutils.
10663         Reordered gstpad.c code, grouping relevant things.
10664         Remove gst_message_new(), always need to speficy a specific
10665         message.
10666
10667
10668 2005-05-09  Andy Wingo  <wingo@pobox.com>
10669
10670         * gst/gstiterator.h: Add some includes.
10671
10672         * gst/gstqueryutils.h: Include more headers.
10673
10674         * gst/gstpad.h:
10675         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10676         some uses of gst_pad_query.
10677
10678         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10679         NULL out parameters.
10680         (gst_query_new_position): New proc, allocates a new position
10681         query.
10682
10683         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10684         gstqueryutils.c to the build.
10685
10686         * gst/gststructure.c (gst_structure_set_valist): Implement with
10687         the generic G_VALUE_COLLECT.
10688         
10689 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10690
10691         * gst/Makefile.am: (gst_headers):
10692         Added gstqueryutils.h to the list of headers to install, that was
10693         a 'nachty' move wingo :)
10694
10695 2005-05-06  Andy Wingo  <wingo@pobox.com>
10696
10697         * gst/gstquery.h
10698         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10699         GstData, init a memchunk.
10700         (standard_definitions): Add a few query types, deprecate a few.
10701         (gst_query_get_type): New proc.
10702         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10703         implementation.
10704         (gst_query_new_application, gst_query_get_structure): New public
10705         procs.
10706
10707         * docs/design/draft-query.txt: Removed LINKS from the query types,
10708         because all the rest can be dispatched to other pads -- seemed
10709         ugly to have a query that couldn't be dispatched. internal_links
10710         is fine as a pad method.
10711
10712         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10713         in gstpad.c, but maintain binary compatibility for the moment.
10714         Will fix before 0.9 is out.
10715
10716         * gst/gstqueryutils.c: 
10717         * gst/gstqueryutils.h: New files, implement 3 methods for each
10718         query type: parse_query, parse_response, and set. Probably need an
10719         allocator as well.
10720
10721         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10722
10723         * gst/elements/gstfilesink.c (gst_filesink_query2):
10724         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10725         query_types, and formats methods.
10726
10727         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10728         (gst_pad_set_query2_function): New functions.
10729         (gst_real_pad_init): Set query2_default as the default query2
10730         function. Basically just dispatches to internally linked pads.
10731
10732         Needs review!
10733         
10734         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10735         without using the atomic operations. Only one thread can possibly
10736         be accessing the data at this point. Changed so as to avoid
10737         gst_atomic operations.
10738
10739 2005-05-06  Wim Taymans  <wim@fluendo.com>
10740
10741         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10742         Also set caps if we use the fallback buffer alloc.
10743
10744 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10745
10746         * docs/gst/Makefile.am:
10747         * docs/gst/gstreamer-docs.sgml:
10748         * docs/gst/gstreamer-sections.txt:
10749         * docs/gst/tmpl/gstatomic.sgml:
10750         * docs/gst/tmpl/gstmemchunk.sgml:
10751         * testsuite/elements/struct_i386.h:
10752         * win32/GStreamer.vcproj:
10753         * win32/Makefile:
10754           Purge GstAtomic stuff from docs and win32 makefiles as well
10755
10756 2005-05-06  Wim Taymans  <wim@fluendo.com>
10757
10758         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10759         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10760         * gst/gstpad.c: (gst_pad_peer_get_caps):
10761         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10762         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10763         (gst_queue_src_activate), (gst_queue_change_state):
10764         * gst/gstqueue.h:
10765         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10766         (intersect_caps_func):
10767         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10768         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10769         Some fixes for the peer_get_caps() change.
10770
10771 2005-05-06  Wim Taymans  <wim@fluendo.com>
10772
10773         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10774         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10775         (gst_basesink_activate):
10776         Actually do something with error codes returned from the push
10777         functions.
10778
10779 2005-05-06  Wim Taymans  <wim@fluendo.com>
10780
10781         * docs/design/part-element-sink.txt:
10782         * docs/design/part-element-source.txt:
10783         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10784         (gst_basesink_event), (gst_basesink_activate):
10785         * gst/base/gstbasesink.h:
10786         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10787         (gst_basesrc_activate):
10788         * gst/base/gstbasesrc.h:
10789         * gst/gstelement.c: (gst_element_pads_activate):
10790         Some more documentation.
10791         Fixed scheduling decision in _pads_activate().
10792
10793 2005-05-05  Andy Wingo  <wingo@pobox.com>
10794
10795         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10796         the test suite.
10797
10798 2005-05-05  Wim Taymans  <wim@fluendo.com>
10799
10800         * gst/base/Makefile.am:
10801         * gst/base/gstbasesink.h:
10802         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10803         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10804         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10805         (gst_collectpads_class_init), (gst_collectpads_init),
10806         (gst_collectpads_finalize), (gst_collectpads_new),
10807         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10808         (find_pad), (gst_collectpads_remove_pad),
10809         (gst_collectpads_is_active), (gst_collectpads_collect),
10810         (gst_collectpads_collect_range), (gst_collectpads_start),
10811         (gst_collectpads_stop), (gst_collectpads_peek),
10812         (gst_collectpads_pop), (gst_collectpads_available),
10813         (gst_collectpads_read), (gst_collectpads_flush),
10814         (gst_collectpads_chain):
10815         * gst/base/gstcollectpads.h:
10816         * gst/elements/Makefile.am:
10817         * gst/elements/gstelements.c:
10818         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10819         (gst_fakesink_get_times), (gst_fakesink_event),
10820         (gst_fakesink_preroll), (gst_fakesink_render):
10821         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10822         (gst_filesink_init), (gst_filesink_set_location),
10823         (gst_filesink_open_file), (gst_filesink_close_file),
10824         (gst_filesink_pad_query), (gst_filesink_event),
10825         (gst_filesink_render), (gst_filesink_change_state):
10826         * gst/elements/gstfilesink.h:
10827         Added object to help in making collect pad based elements.
10828         Ported filesink.
10829         Make event function in sink baseclass return gboolean.
10830
10831 2005-05-05  Wim Taymans  <wim@fluendo.com>
10832
10833         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10834         (gst_bin_get_by_name):
10835         * gst/gstbuffer.h:
10836         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10837         (gst_clock_finalize):
10838         * gst/gstdata.c: (gst_data_replace):
10839         * gst/gstdata.h:
10840         * gst/gstelement.c: (gst_element_request_pad),
10841         (gst_element_pads_activate):
10842         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10843         (gst_object_unref):
10844         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10845         (gst_pad_set_checkgetrange_function),
10846         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10847         (gst_pad_check_pull_range), (gst_pad_pull_range),
10848         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10849         (gst_pad_pause_task), (gst_pad_stop_task):
10850         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10851         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10852         Fix name lookup in GstBin.
10853         Added _data_replace() function and _buffer_replace()
10854         Use finalize method to clean up clock.
10855         Fix refcounting on request pads.
10856         Fix pad schedule mode error.
10857         Some more object refcounting debug info,
10858
10859
10860 2005-05-04  Andy Wingo <wingo@pobox.com>
10861
10862         * check/Makefile.am:
10863         * docs/gst/tmpl/gstatomic.sgml:
10864         * docs/gst/tmpl/gstplugin.sgml:
10865         * gst/base/gstbasesink.c: (gst_basesink_activate):
10866         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10867         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10868         (gst_basesrc_query), (gst_basesrc_set_property),
10869         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10870         (gst_basesrc_activate):
10871         * gst/base/gstbasesrc.h:
10872         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10873         (gst_base_transform_src_activate):
10874         * gst/elements/gstelements.c:
10875         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10876         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10877         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10878         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10879         (gst_type_find_element_checkgetrange),
10880         (gst_type_find_element_activate):
10881         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10882         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10883         (gst_caps_load_thyself):
10884         * gst/gstelement.c: (gst_element_pads_activate),
10885         (gst_element_save_thyself), (gst_element_restore_thyself):
10886         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10887         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10888         * gst/gstpad.h:
10889         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10890         (gst_xml_parse_file), (gst_xml_parse_memory),
10891         (gst_xml_get_element), (gst_xml_make_element):
10892         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10893         (_file_index_id_save_xml), (gst_file_index_commit):
10894         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10895         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10896         (load_paths):
10897         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10898         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10899         * tools/gst-complete.c: (main):
10900         * tools/gst-compprep.c: (main):
10901         * tools/gst-inspect.c: (print_element_properties_info):
10902         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10903         * tools/gst-xmlinspect.c: (print_element_properties):
10904         GCC 4 fixen.
10905         
10906 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10907
10908         * gst/gstplugin.c: (gst_plugin_check_module),
10909         (gst_plugin_check_file), (gst_plugin_load_file):
10910             apply patch from #172526 to make register work on MacOSX
10911
10912 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10913
10914         * docs/gst/tmpl/gstconfig.sgml:
10915         * gst/gstconfig.h.in:
10916           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10917         * testsuite/debug/printf_extension.c: (main):
10918           Do not use GST_PTR_FORMAT on pointers to types with
10919           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10920         * testsuite/elements/property.h:
10921           use correct printf format
10922
10923 2005-05-02  Wim Taymans  <wim@fluendo.com>
10924
10925         * docs/design/draft-push-pull.txt:
10926         * docs/design/draft-query.txt:
10927         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10928         (gst_basesrc_start):
10929         Added draft for new query API.
10930         Added draft for better selecting scheduling methods.
10931         Make basesrc ignore length if the subclass does not support
10932         it.
10933
10934 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10935
10936         * gst/Makefile.am:
10937           possible fixes for automake-1.5 - _LIBADD is reserved
10938
10939 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10940
10941         * docs/faq/Makefile.am:
10942         * docs/manual/Makefile.am:
10943         * docs/manuals.mak:
10944         * docs/pwg/Makefile.am:
10945         * gst/Makefile.am:
10946           possible fixes for automake-1.5
10947
10948 2005-04-28  Wim Taymans  <wim@fluendo.com>
10949
10950         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10951         (gst_basesink_pad_getcaps), (gst_basesink_init),
10952         (gst_basesink_do_sync):
10953         * gst/gstclock.c: (gst_clock_entry_new):
10954         * gst/gstevent.c: (gst_event_discont_get_value):
10955         * gst/gstpipeline.c: (pipeline_bus_handler),
10956         (gst_pipeline_change_state):
10957         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10958         Better debugging of clocking info.
10959         Allow NULL values when getting discont values.
10960
10961 2005-04-27  Wim Taymans  <wim@fluendo.com>
10962
10963         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10964         * check/gst/gstpad.c: (gst_pad_suite):
10965         Increase timeout for checks.
10966
10967 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10968
10969         * check/Makefile.am:
10970           fix the broken rule for cleanup.  Apparently this rule is
10971           only needed on FC2, so maybe this warrants further autotool
10972           inspection.
10973
10974 2005-04-26  Wim Taymans  <wim@fluendo.com>
10975
10976         * gst/gsttrashstack.h:
10977         Ooohh. a nasty one! After having a failed pop() from the stack,
10978         it's possible that the stack is empty. In that case, don't
10979         follow the NULL pointer.
10980
10981 2005-04-25  Wim Taymans  <wim@fluendo.com>
10982
10983         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10984         (gst_pad_set_checkgetrange_function),
10985         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10986         (gst_pad_check_pull_range), (gst_pad_pull_range),
10987         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10988         (gst_pad_pause_task), (gst_pad_stop_task):
10989         * gst/gstplugin.c: (gst_plugin_load):
10990         * gst/gstplugin.h:
10991         Remove gst_library_load as it does more harm than good with
10992         the new g_module flags.
10993         Revert bogus caps template check in pad linking, pad caps
10994         are important when linking not the template, which is more
10995         general than the current caps.
10996
10997 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10998
10999         * gst/autoplug/.cvsignore:
11000         * gst/autoplug/Makefile.am:
11001         * gst/autoplug/gstsearchfuncs.c:
11002         * gst/autoplug/gstsearchfuncs.h:
11003         * gst/autoplug/gstspider.c:
11004         * gst/autoplug/gstspider.h:
11005         * gst/autoplug/gstspideridentity.c:
11006         * gst/autoplug/gstspideridentity.h:
11007         * gst/autoplug/spidertest.c:
11008           Die, spider, die.
11009
11010 2005-04-25  Wim Taymans  <wim@fluendo.com>
11011
11012         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11013         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11014         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11015         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11016         * gst/gstpad.h:
11017         Added stubs for unimplemented functions. 
11018
11019 2005-04-24  David Schleef  <ds@schleef.org>
11020
11021         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11022         please fix.
11023
11024 2005-04-24  David Schleef  <ds@schleef.org>
11025
11026         Convert everything from GstAtomicInt to g_atomic_int_*, and
11027         remove gstatomic.
11028         * gst/Makefile.am:
11029         * gst/gstatomic.c:
11030         * gst/gstatomic.h:
11031         * gst/gstatomic_impl.h:
11032         * gst/gstbuffer.c:
11033         * gst/gstcaps.c:
11034         * gst/gstcaps.h:
11035         * gst/gstclock.c:
11036         * gst/gstclock.h:
11037         * gst/gstdata.c:
11038         * gst/gstdata.h:
11039         * gst/gstdata_private.h:
11040         * gst/gstevent.c:
11041         * gst/gstinfo.c:
11042         * gst/gstinfo.h:
11043         * gst/gstmessage.c:
11044         * gst/gstobject.c:
11045         * gst/gstobject.h:
11046         * gst/gststructure.c:
11047         * gst/gststructure.h:
11048         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11049         * gst/gstutils.h:
11050
11051 2005-04-24  David Schleef  <ds@schleef.org>
11052
11053         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11054         make the regressions tests work.  Remove some code that is no
11055         longer true.
11056         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11057         Disable warning for pads without templates.
11058
11059 2005-04-24  David Schleef  <ds@schleef.org>
11060
11061         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11062         functions that handle filtered links.
11063         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11064         removed functions.
11065         * gst/gstutils.c: Fix/remove utility functions that handle
11066         filtered caps.
11067         * gst/gstutils.h:
11068         * gst/gstvalue.c: Add serialization/deserialization of caps
11069         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11070         requires fixing so that the filter caps notation creates
11071         a capsfilter element and sets the filter_caps property.  I
11072         think everyone probably wants to keep the shorthand notation.
11073         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11074         * docs/gst/tmpl/gstpad.sgml:
11075
11076         * gst/elements/gstelements.c: Register capsfilter element.
11077         * gst/Makefile.am: fix spacing
11078         * docs/random/ds/0.9-suggested-changes: random
11079
11080 2005-04-23  David Schleef  <ds@schleef.org>
11081
11082         * gst/elements/Makefile.am:
11083         * gst/elements/gstcapsfilter.c: New element that acts like an
11084         identity, but filters caps.  Will eventually replace filtered
11085         caps in pad linking.
11086         * gst/gstutils.c: (gst_element_create_all_pads): New function
11087         to create all the ALWAYS pads that are registered with an
11088         element class.  This functionality should eventually be
11089         merged in with GstElement initialization.
11090         * gst/gstutils.h:
11091         * testsuite/trigger/README: part of trigger test code that should
11092         have been checked in a long time ago.
11093
11094 2005-04-23  David Schleef  <ds@schleef.org>
11095
11096         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11097         needed with new versions of libtool (nobody will confirm this),
11098         and hard to carry around.
11099         * gst/autoplug/Makefile.am:
11100         * gst/base/Makefile.am:
11101         * gst/elements/Makefile.am:
11102         * gst/indexers/Makefile.am:
11103         * gst/schedulers/Makefile.am:
11104         * libs/gst/bytestream/Makefile.am:
11105         * libs/gst/control/Makefile.am:
11106         * libs/gst/dataprotocol/Makefile.am:
11107         * libs/gst/getbits/Makefile.am:
11108
11109 2005-04-21  Wim Taymans  <wim@fluendo.com>
11110
11111         * docs/design/draft-push-pull.txt:
11112         * docs/design/part-MT-refcounting.txt:
11113         * docs/design/part-TODO.txt:
11114         * docs/design/part-caps.txt:
11115         * docs/design/part-events.txt:
11116         * docs/design/part-gstbus.txt:
11117         * docs/design/part-gstpipeline.txt:
11118         * docs/design/part-messages.txt:
11119         * docs/design/part-push-pull.txt:
11120         * docs/design/part-query.txt:
11121         Some more docs.
11122
11123 2005-04-21  Wim Taymans  <wim@fluendo.com>
11124
11125         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11126         (gst_message_new), (gst_message_new_error),
11127         (gst_message_new_warning), (gst_message_new_tag),
11128         (gst_message_new_state_changed), (gst_message_new_application),
11129         (gst_message_get_structure):
11130         * gst/gstmessage.h:
11131         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11132         (gst_structure_copy_conditional):
11133         Use parent refcount in GstMessage to ensure GstStructure
11134         consistency.
11135         Cleaned up headers a bit.
11136         
11137
11138 2005-04-20  Wim Taymans  <wim@fluendo.com>
11139
11140         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11141         (gst_basesink_pad_getcaps), (gst_basesink_init),
11142         (gst_basesink_chain_unlocked):
11143         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11144         (gst_type_find_helper):
11145         * gst/elements/gsttypefindelement.c:
11146         (gst_type_find_element_have_type), (gst_type_find_element_init),
11147         (stop_typefinding), (gst_type_find_element_handle_event),
11148         (find_suggest), (gst_type_find_element_chain),
11149         (gst_type_find_element_checkgetrange),
11150         (gst_type_find_element_getrange), (do_typefind),
11151         (gst_type_find_element_activate):
11152         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11153         (gst_buffer_default_free), (gst_buffer_default_copy),
11154         (gst_buffer_set_caps):
11155         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11156         (gst_caps_replace):
11157         * gst/gstmessage.c: (gst_message_new),
11158         (gst_message_new_state_changed):
11159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11160         (gst_pad_set_checkgetrange_function),
11161         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11162         (gst_pad_set_caps), (gst_pad_check_pull_range),
11163         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11164         * gst/gstpad.h:
11165         * gst/gsttypefind.c: (gst_type_find_register):
11166         Make gst_caps_replace() work like other _replace() functions.
11167         Use _caps_replace() where possible.
11168         Make sure _message_new() initialises its field.
11169         Add gst_static_pad_template_get_caps()
11170
11171
11172 2005-04-18  Andy Wingo  <wingo@pobox.com>
11173
11174         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11175         on the peer, not the pad. I think that was a typo. Pass an extra
11176         arg to see if random access is possible. Activate the pads as
11177         PULL_RANGE if possible.
11178
11179         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11180
11181         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11182         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11183         to PROP_....
11184
11185 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11186
11187         * docs/faq/using.xml:
11188           Add note on gstreamer-properties (#154996).
11189
11190 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11191
11192         * docs/random/bbb/optional-properties:
11193           Some analysis on optional properties.
11194
11195 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11196
11197         * docs/gst/tmpl/gstelementfactory.sgml:
11198         * gst/gstelement.h:
11199         * gst/gstelementfactory.c: (gst_element_factory_init),
11200         (gst_element_factory_cleanup), (gst_element_register),
11201         (__gst_element_factory_add_static_pad_template),
11202         (gst_element_factory_get_static_pad_templates),
11203         (gst_element_factory_can_src_caps),
11204         (gst_element_factory_can_sink_caps):
11205         * gst/registries/Makefile.am:
11206         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11207         (gst_xml_registry_class_init), (gst_xml_registry_init),
11208         (gst_xml_registry_new), (gst_xml_registry_set_property),
11209         (gst_xml_registry_get_property), (get_time), (make_dir),
11210         (gst_xml_registry_get_perms_func),
11211         (plugin_times_older_than_recurse), (plugin_times_older_than),
11212         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11213         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11214         (add_to_char_array), (read_string), (read_uint), (read_enum),
11215         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11216         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11217         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11218         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11219         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11220         (gst_xml_registry_rebuild):
11221         * gst/registries/gstlibxmlregistry.h:
11222         * tools/gst-compprep.c: (main):
11223         * tools/gst-inspect.c: (print_pad_templates_info):
11224         * tools/gst-xmlinspect.c: (print_element_info):
11225           Use libxml2 for registry parsing, use staticpadtemplates in
11226           elementfactories. Makes gst_init() +/- 10x faster.
11227
11228 2005-04-12  Wim Taymans  <wim@fluendo.com>
11229
11230         * gst/base/Makefile.am:
11231         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11232         (gst_basesink_pad_getcaps), (gst_basesink_init),
11233         (gst_basesink_event), (gst_basesink_change_state):
11234         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11235         (gst_basesrc_init), (gst_basesrc_query),
11236         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11237         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11238         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11239         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11240         (gst_basesrc_stop), (gst_basesrc_activate),
11241         (gst_basesrc_change_state):
11242         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11243         (helper_find_suggest), (gst_type_find_helper):
11244         * gst/base/gsttypefindhelper.h:
11245         * gst/elements/Makefile.am:
11246         * gst/elements/gstelements.c:
11247         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11248         (gst_fakesink_get_times), (gst_fakesink_event),
11249         (gst_fakesink_preroll), (gst_fakesink_render):
11250         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11251         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11252         (gst_fakesrc_get_property), (gst_fakesrc_create),
11253         (gst_fakesrc_start), (gst_fakesrc_stop):
11254         * gst/elements/gstfakesrc.h:
11255         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11256         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11257         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11258         (gst_filesrc_create_read), (gst_filesrc_create),
11259         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11260         (gst_filesrc_start):
11261         * gst/elements/gsttypefindelement.c:
11262         (gst_type_find_element_have_type), (gst_type_find_element_init),
11263         (start_typefinding), (stop_typefinding), (push_buffer_store),
11264         (gst_type_find_element_handle_event),
11265         (gst_type_find_element_chain),
11266         (gst_type_find_element_checkgetrange),
11267         (gst_type_find_element_getrange), (do_typefind),
11268         (gst_type_find_element_activate),
11269         (gst_type_find_element_change_state):
11270         * gst/elements/gsttypefindelement.h:
11271         * gst/gstpipeline.c: (pipeline_bus_handler):
11272         Added typefind helper.
11273         Small preroll fix in the base sink.
11274         Disable typefind code in basesrc.
11275         Crude port of typefindelement.
11276         Fakesrc cleanups.
11277
11278
11279 2005-04-11  Wim Taymans  <wim@fluendo.com>
11280
11281         * check/gst/gstbus.c: (gstbus_suite):
11282         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11283         * check/gstcheck.h:
11284           Fix up the timeout so that the test does not fail.
11285
11286 2005-04-06  Wim Taymans  <wim@fluendo.com>
11287
11288         * gst/base/README:
11289         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11290         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11291         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11292         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11293         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11294         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11295         (gst_basesrc_stop), (gst_basesrc_activate),
11296         (gst_basesrc_change_state), (basesrc_find_peek),
11297         (basesrc_find_suggest), (gst_basesrc_type_find):
11298         * gst/base/gstbasesrc.h:
11299         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11300         (gst_filesrc_class_init), (gst_filesrc_init),
11301         (gst_filesrc_finalize), (gst_filesrc_set_location),
11302         (gst_filesrc_set_property), (gst_filesrc_get_property),
11303         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11304         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11305         (gst_filesrc_create_read), (gst_filesrc_create),
11306         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11307         * gst/elements/gstfilesrc.h:
11308         * gst/gstelement.c: (gst_element_get_state_func),
11309         (gst_element_lost_state), (gst_element_pads_activate):
11310         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11311         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11312         (gst_pad_pull_range):
11313         * gst/gstpad.h:
11314         More work on the generic source base class, implement seeking,
11315         query.
11316         Make filesrc extend the base source class.
11317         Added gst_pad_set_checkgetrange_function to GstPad.
11318
11319 2005-04-06  Andy Wingo  <wingo@pobox.com>
11320
11321         * pkgconfig/gstreamer-base.pc.in:
11322         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11323
11324         * pkgconfig/Makefile.am:
11325         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11326
11327 2005-04-04  Wim Taymans  <wim@fluendo.com>
11328
11329         * gst/base/Makefile.am:
11330         * gst/base/README:
11331         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11332         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11333         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11334         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11335         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11336         (gst_basesrc_base_init), (gst_basesrc_class_init),
11337         (gst_basesrc_init), (gst_basesrc_get_formats),
11338         (gst_basesrc_get_query_types), (gst_basesrc_query),
11339         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11340         (gst_basesrc_set_property), (gst_basesrc_get_property),
11341         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11342         (gst_basesrc_loop), (gst_basesrc_activate),
11343         (gst_basesrc_change_state):
11344         * gst/base/gstbasesrc.h:
11345         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11346         (gst_fakesrc_class_init), (gst_fakesrc_init),
11347         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11348         (gst_fakesrc_get_property), (gst_fakesrc_create):
11349         * gst/elements/gstfakesrc.h:
11350         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11351         (gst_filesrc_open_file), (gst_filesrc_loop),
11352         (gst_filesrc_activate), (filesrc_find_peek),
11353         (gst_filesrc_type_find):
11354         Made base source class, make fakesrc extend it.
11355         Add comments to basesink class.
11356         Some filesrc cleanup.
11357
11358 2005-03-31  David Schleef  <ds@schleef.org>
11359
11360         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11361         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11362         expected to link against libgstreamer.
11363         * gst/base/Makefile.am: link against libgstreamer
11364         * gst/elements/Makefile.am: same
11365
11366 2005-03-31  Andy Wingo  <wingo@pobox.com>
11367
11368         * tests/instantiate/Makefile.am:
11369         * tests/instantiate/caps.c: Add test to test speed of caps copy
11370         and free.
11371
11372         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11373         GMemChunk to be fair.
11374
11375         * gst/gsttrashstack.h: Remove warning about using the fallback
11376         trash stack implementation, it's still faster than malloc.
11377
11378 2005-03-30  Andy Wingo  <wingo@pobox.com>
11379
11380         * tests/complexity.c: Add a copyright.
11381
11382 2005-03-31  Wim Taymans  <wim@fluendo.com>
11383
11384         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11385         (gst_base_transform_class_init), (gst_base_transform_init),
11386         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11387         (gst_base_transform_get_property),
11388         (gst_base_transform_sink_activate),
11389         (gst_base_transform_src_activate),
11390         (gst_base_transform_change_state):
11391         * gst/base/gstbasetransform.h:
11392         * gst/elements/gstidentity.c: (gst_identity_class_init),
11393         (gst_identity_event), (gst_identity_check_perfect),
11394         (gst_identity_transform), (gst_identity_start),
11395         (gst_identity_stop):
11396         Added start/stop methods to transform base class so subclasses 
11397         don't need to deal with state changes even.
11398
11399 2005-03-31  Wim Taymans  <wim@fluendo.com>
11400
11401         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11402         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11403         * gst/gstevent.h:
11404         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11405         (gst_pad_pull_range):
11406         Added rate to the discont event to prepare for variable speed
11407         and reverse playback.
11408
11409 2005-03-29  David Schleef  <ds@schleef.org>
11410
11411         * configure.ac:
11412         * testsuite/trigger/Makefile.am:
11413         * testsuite/trigger/trigger.c: A little example program to show
11414         how trigger-based elements can work.
11415
11416 2005-03-29  Wim Taymans  <wim@fluendo.com>
11417
11418         * gst/base/Makefile.am:
11419         * gst/base/README:
11420         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11421         (gst_basesink_base_init), (gst_basesink_class_init),
11422         (gst_basesink_pad_getcaps), (gst_basesink_init),
11423         (gst_basesink_activate), (gst_basesink_change_state):
11424         * gst/base/gstbasesink.h:
11425         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11426         (gst_base_transform_base_init), (gst_base_transform_finalize),
11427         (gst_base_transform_class_init), (gst_base_transform_init),
11428         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11429         (gst_base_transform_event), (gst_base_transform_getrange),
11430         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11431         (gst_base_transform_set_property),
11432         (gst_base_transform_get_property),
11433         (gst_base_transform_sink_activate),
11434         (gst_base_transform_src_activate),
11435         (gst_base_transform_change_state):
11436         * gst/base/gstbasetransform.h:
11437         * gst/elements/gstidentity.c: (gst_identity_finalize),
11438         (gst_identity_class_init), (gst_identity_init),
11439         (gst_identity_event), (gst_identity_check_perfect),
11440         (gst_identity_transform), (gst_identity_set_property),
11441         (gst_identity_get_property), (gst_identity_change_state):
11442         * gst/elements/gstidentity.h:
11443         * gst/gstelement.c: (gst_element_get_state_func),
11444         (gst_element_lost_state), (gst_element_pads_activate):
11445         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11446         (gst_pad_check_pull_range), (gst_pad_pull_range):
11447         * gst/gstpad.h:
11448         Simplify pad activation.
11449         Added function to check if pull_range can be performed.
11450         Error out when pulling inactive or flushing pads.
11451         Removed const from refcounted types as it does not make sense.
11452         Simplify pad templates in basesink
11453         Added base class for simple 1-to-1 transforms.
11454         Make identity subclass the base transform.
11455
11456 2005-03-29  Andy Wingo  <wingo@pobox.com>
11457
11458         * docs/libs/gstreamer-libs-overrides.txt: 
11459         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11460         really don't understand what's going on, but like whatever. I want
11461         green buildbot!
11462
11463         * docs/gst/Makefile.am:
11464         * docs/libs/Makefile.am: Dist the overrides files.
11465
11466         * check/Makefile.am (clean-local): Remove .libs directories.
11467
11468         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11469         elements to EXTRA_DIST, so po/ files are happy.
11470
11471         * po/POTFILES.in: Er, remove it here.
11472
11473         * po/POTFILES: Remove gstspider.c.
11474
11475         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11476
11477         * docs/libs/gstreamer-libs-docs.sgml: 
11478         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11479         bytestream.
11480
11481         * tests/complexity.c (main): Set the length of the preroll queue
11482         on the sinks to prevent a lockup.
11483
11484         * libs/gst/dataprotocol/Makefile.am: 
11485         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11486         the same as the one in check/gst-libs/gdp.c.
11487
11488         * po/, docs/gst/: Commit automatic changes to docs and po files.
11489
11490         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11491         the versioned libgstbase.
11492
11493         * check/Makefile.am: Depend on an unversioned gst-register, seems
11494         to make autoconf happier.
11495
11496         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11497
11498 2005-03-28  Wim Taymans  <wim@fluendo.com>
11499
11500         * configure.ac:
11501         * docs/design/part-gstelement.txt:
11502         * docs/design/part-negotiation.txt:
11503         * docs/design/part-preroll.txt:
11504         * docs/design/part-scheduling.txt:
11505         * docs/design/part-states.txt:
11506         * gst/Makefile.am:
11507         * gst/base/Makefile.am:
11508         * gst/base/README:
11509         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11510         (gst_basesink_base_init), (gst_basesink_class_init),
11511         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11512         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11513         (gst_basesink_set_pad_functions),
11514         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11515         (gst_basesink_set_property), (gst_basesink_get_property),
11516         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11517         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11518         (gst_basesink_preroll_queue_push),
11519         (gst_basesink_preroll_queue_empty),
11520         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11521         (gst_basesink_event), (gst_basesink_get_times),
11522         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11523         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11524         (gst_basesink_loop), (gst_basesink_activate),
11525         (gst_basesink_change_state):
11526         * gst/base/gstbasesink.h:
11527         * gst/elements/Makefile.am:
11528         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11529         (gst_fakesink_class_init), (gst_fakesink_init),
11530         (gst_fakesink_set_property), (gst_fakesink_get_property),
11531         (gst_fakesink_get_times), (gst_fakesink_event),
11532         (gst_fakesink_preroll), (gst_fakesink_render),
11533         (gst_fakesink_change_state):
11534         * gst/elements/gstfakesink.h:
11535         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11536         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11537         * gst/gstelement.c: (gst_element_add_pad),
11538         (gst_element_get_state_func), (gst_element_abort_state),
11539         (gst_element_commit_state), (gst_element_lost_state),
11540         (gst_element_set_state), (gst_element_pads_activate):
11541         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11542         * gst/gstpipeline.c: (gst_pipeline_send_event),
11543         (gst_pipeline_change_state):
11544         Added state change code.
11545         Added/updated docs.
11546         Added sink base class, make fakesink extend the base class.
11547         Small cleanups in GstPipeline.
11548
11549 2005-03-26  David Schleef  <ds@schleef.org>
11550
11551         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11552         is broken and should be implemented in a different library.
11553         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11554         * gst/gst.h: remove gstcpu.h
11555         * gst/gstcpu.c: remove
11556         * gst/gstcpu.h: remove
11557         * gst/Makefile.am.future: Remove this file.  It's ancient.
11558
11559 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11560
11561         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11562         (gst_bin_send_event):
11563           Add default event/set_manager handlers. The set_manager handler
11564           takes care that the manager is distributed over kids that were
11565           already in the bin before the manager was set. The event handler
11566           is a utility virtual function that sends the event over all sinks,
11567           so that gst_element_send_event (bin, event); has the expected
11568           behaviour.
11569         * gst/gstpad.c: (gst_pad_event_default):
11570           Re-install default event handling for discontinuities, so that
11571           seeking works without requiring hacks in applications or extra
11572           code in sinks.
11573         * gst/gstpipeline.c: (gst_pipeline_class_init),
11574         (gst_pipeline_send_event):
11575           Half hack, half utility: set a pipeline to PAUSED for seek events,
11576           since that is the only way we can guarantee a/v sync. Means that
11577           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11578           and it "just works".
11579
11580 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11581
11582         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11583           Lock/unlock mismatch.
11584
11585 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11586
11587         * docs/faq/gst-uninstalled:
11588           add gst-plugins-base
11589         * docs/gst/Makefile.am:
11590           don't error out until docs are fixed
11591         * docs/gst/gstreamer.types:
11592           remove thread
11593
11594 2005-03-22  Wim Taymans  <wim@fluendo.com>
11595
11596         * check/Makefile.am:
11597         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11598         * gst/gststructure.c: (gst_structure_set_valist),
11599         (gst_structure_copy_conditional):
11600         Activated more tests.
11601         Added message test.
11602         Added G_TYPE_POINTER to GstStructure.
11603         
11604
11605 2005-03-22  Wim Taymans  <wim@fluendo.com>
11606
11607         * docs/design/part-TODO.txt:
11608         * docs/design/part-events.txt:
11609         * docs/design/part-gstbin.txt:
11610         * docs/design/part-gstbus.txt:
11611         * docs/design/part-gstpipeline.txt:
11612         * docs/design/part-messages.txt:
11613         * gst/gstbus.c:
11614         * gst/gstmessage.c:
11615         Docs updates
11616
11617 2005-03-21  Wim Taymans  <wim@fluendo.com>
11618
11619         * gst/gstbus.c: (gst_bus_post):
11620         Fix copy-and-paste error.
11621
11622 2005-03-21  Wim Taymans  <wim@fluendo.com>
11623
11624         * check/Makefile.am:
11625         * gst/Makefile.am:
11626         * gst/elements/Makefile.am:
11627         * gst/elements/gstelements.c:
11628         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11629         (gst_fakesink_event), (gst_fakesink_chain):
11630         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11631         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11632         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11633         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11634         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11635         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11636         (gst_fakesrc_loop), (gst_fakesrc_activate),
11637         (gst_fakesrc_change_state):
11638         * gst/elements/gstfakesrc.h:
11639         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11640         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11641         (gst_filesrc_open_file), (gst_filesrc_loop),
11642         (gst_filesrc_activate), (gst_filesrc_change_state),
11643         (filesrc_find_peek), (filesrc_find_suggest),
11644         (gst_filesrc_type_find):
11645         * gst/elements/gstidentity.c: (gst_identity_finalize),
11646         (gst_identity_class_init), (gst_identity_init),
11647         (gst_identity_proxy_getcaps), (identity_queue_push),
11648         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11649         (gst_identity_getrange), (gst_identity_chain),
11650         (gst_identity_sink_loop), (gst_identity_src_loop),
11651         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11652         (gst_identity_set_property), (gst_identity_get_property),
11653         (gst_identity_change_state):
11654         * gst/elements/gstidentity.h:
11655         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11656         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11657         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11658         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11659         (gst_tee_sink_activate):
11660         * gst/elements/gsttee.h:
11661         * gst/gst.c: (gst_register_core_elements), (init_post):
11662         * gst/gst.h:
11663         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11664         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11665         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11666         (gst_bin_change_state):
11667         * gst/gstbin.h:
11668         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11669         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11670         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11671         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11672         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11673         (bus_watch_callback), (bus_watch_destroy),
11674         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11675         (poll_timeout), (gst_bus_poll):
11676         * gst/gstbus.h:
11677         * gst/gstcaps.h:
11678         * gst/gstdata.h:
11679         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11680         (gst_element_post_message), (gst_element_message_full),
11681         (gst_element_get_state_func), (gst_element_get_state),
11682         (gst_element_abort_state), (gst_element_commit_state),
11683         (gst_element_lost_state), (gst_element_set_state),
11684         (gst_element_pads_activate), (gst_element_change_state),
11685         (gst_element_dispose), (gst_element_set_manager_func),
11686         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11687         (gst_element_set_manager), (gst_element_get_manager),
11688         (gst_element_set_bus), (gst_element_get_bus),
11689         (gst_element_set_scheduler), (gst_element_get_scheduler):
11690         * gst/gstelement.h:
11691         * gst/gstevent.c: (gst_event_new_segment_seek),
11692         (gst_event_new_flush):
11693         * gst/gstevent.h:
11694         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11695         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11696         (gst_message_new_eos), (gst_message_new_error),
11697         (gst_message_new_warning), (gst_message_new_tag),
11698         (gst_message_new_state_changed), (gst_message_new_application),
11699         (gst_message_get_structure), (gst_message_parse_tag),
11700         (gst_message_parse_state_changed), (gst_message_parse_error),
11701         (gst_message_parse_warning):
11702         * gst/gstmessage.h:
11703         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11704         (gst_real_pad_set_property), (gst_pad_set_active),
11705         (gst_pad_is_active), (gst_pad_set_blocked_async),
11706         (gst_pad_set_blocked), (gst_pad_is_blocked),
11707         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11708         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11709         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11710         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11711         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11712         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11713         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11714         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11715         (gst_pad_set_caps), (gst_pad_configure_sink),
11716         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11717         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11718         (gst_real_pad_dispose), (gst_real_pad_finalize),
11719         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11720         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11721         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11722         * gst/gstpad.h:
11723         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11724         (pipeline_bus_handler), (gst_pipeline_change_state),
11725         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11726         * gst/gstpipeline.h:
11727         * gst/gstprobe.h:
11728         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11729         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11730         (gst_queue_link_src), (gst_queue_bufferalloc),
11731         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11732         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11733         (gst_queue_loop), (gst_queue_handle_src_event),
11734         (gst_queue_handle_src_query), (gst_queue_src_activate),
11735         (gst_queue_change_state):
11736         * gst/gstqueue.h:
11737         * gst/gstscheduler.c: (gst_scheduler_init),
11738         (gst_scheduler_dispose), (gst_scheduler_create_task),
11739         (gst_scheduler_factory_create):
11740         * gst/gstscheduler.h:
11741         * gst/gststructure.c: (gst_structure_get_type),
11742         (gst_structure_copy_conditional):
11743         * gst/gststructure.h:
11744         * gst/gsttaginterface.h:
11745         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11746         (gst_task_init), (gst_task_dispose), (gst_task_create),
11747         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11748         (gst_task_pause):
11749         * gst/gsttask.h:
11750         * gst/gstthread.c:
11751         * gst/gstthread.h:
11752         * gst/gsttypes.h:
11753         * gst/schedulers/Makefile.am:
11754         * gst/schedulers/cothreads_compat.h:
11755         * gst/schedulers/entryscheduler.c:
11756         * gst/schedulers/faircothreads.c:
11757         * gst/schedulers/faircothreads.h:
11758         * gst/schedulers/fairscheduler.c:
11759         * gst/schedulers/gstbasicscheduler.c:
11760         * gst/schedulers/gstoptimalscheduler.c:
11761         * gst/schedulers/gthread-cothreads.h:
11762         * gst/schedulers/threadscheduler.c:
11763         (gst_thread_scheduler_task_get_type),
11764         (gst_thread_scheduler_task_class_init),
11765         (gst_thread_scheduler_task_init),
11766         (gst_thread_scheduler_task_start),
11767         (gst_thread_scheduler_task_stop),
11768         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11769         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11770         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11771         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11772         (plugin_init):
11773         * libs/gst/Makefile.am:
11774         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11775         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11776         (gst_file_pad_parent_set):
11777         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11778         (gst_dp_event_from_packet):
11779         * tests/complexity.c: (main):
11780         * tests/mass_elements.c: (main):
11781         * testsuite/states/locked.c: (message_received), (main):
11782         * testsuite/states/parent.c: (main):
11783         * tools/gst-inspect.c: (print_element_flag_info),
11784         (print_implementation_info), (print_pad_info):
11785         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11786         (main):
11787         * tools/gst-md5sum.c: (event_loop), (main):
11788         * tools/gst-typefind.c: (main):
11789         * tools/gst-xmlinspect.c: (print_element_info):
11790         Next big merge.
11791         Added GstBus for mainloop integration.
11792         Added GstMessage for sending notifications on the bus.
11793         Added GstTask as an abstraction for pipeline entry points.
11794         Removed GstThread.
11795         Removed Schedulers.
11796         Simplified GstQueue for multithreaded core.
11797         Made _link threadsafe, removed old capsnego.
11798         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11799         Added pad blocking functions.
11800         Reworked scheduling functions in GstPad to prepare for
11801         scheduling updates soon.
11802         Moved events out of data stream.
11803         Simplified GstEvent types.
11804         Added return values to push/pull.
11805         Removed clocking from GstElement.
11806         Added prototypes for state change function for next merge.
11807         Removed iterate from bins and state change management.
11808         Fixed some elements, disabled others for now.
11809         Fixed -inspect and -launch.
11810         Added check for GstBus.
11811
11812 2005-03-10  Wim Taymans  <wim@fluendo.com>
11813
11814         * docs/design/part-MT-refcounting.txt:
11815         * docs/design/part-clocks.txt:
11816         * docs/design/part-gstelement.txt:
11817         * docs/design/part-gstobject.txt:
11818         * docs/design/part-standards.txt:
11819         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11820         (gst_bin_remove_func), (gst_bin_remove):
11821         * gst/gstbin.h:
11822         * gst/gstbuffer.c:
11823         * gst/gstcaps.h:
11824         * testsuite/clock/clock1.c: (main):
11825         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11826         (main):
11827         * testsuite/dlopen/loadgst.c: (do_test):
11828         * testsuite/refcounting/bin.c: (add_remove_test1),
11829         (add_remove_test2), (main):
11830         * testsuite/refcounting/element.c: (main):
11831         * testsuite/refcounting/element_pad.c: (main):
11832         * testsuite/refcounting/pad.c: (main):
11833         * tools/gst-launch.c: (sigint_handler_sighandler):
11834         * tools/gst-typefind.c: (main):
11835         Doc updates.
11836         Added doc about clock.
11837         removed gst_bin_iterate_recurse_up(), marked methods
11838         for removal.
11839         Fix more testsuites.
11840
11841 2005-03-09  Wim Taymans  <wim@fluendo.com>
11842
11843         * gst/gstpad.c: (gst_pad_get_direction),
11844         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11845         (gst_pad_collect_valist):
11846         * testsuite/bins/interface.c: (main):
11847         * testsuite/caps/audioscale.c: (test_caps):
11848         * testsuite/caps/caps.c: (test1), (test2), (test3):
11849         * testsuite/caps/deserialize.c: (main):
11850         * testsuite/caps/enumcaps.c: (main):
11851         * testsuite/caps/filtercaps.c: (main):
11852         * testsuite/caps/intersect2.c: (main):
11853         * testsuite/caps/random.c: (main):
11854         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11855         * testsuite/caps/sets.c: (check_caps):
11856         * testsuite/caps/simplify.c: (check_caps), (main):
11857         * testsuite/caps/subtract.c: (check_caps):
11858         Fix _pad_get_direction wrt ghostpads.
11859         Fix caps testsuite.
11860
11861 2005-03-09  Wim Taymans  <wim@fluendo.com>
11862
11863         * check/Makefile.am:
11864         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11865         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11866         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11867         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11868         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11869         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11870         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11871         (bin_element_is_sink), (gst_bin_iterate_sinks),
11872         (gst_bin_iterate_all_by_interface):
11873         * gst/gstbin.h:
11874         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11875         (gst_element_change_state), (gst_element_dispose),
11876         (gst_element_finalize), (gst_element_set_loop_function):
11877         * gst/gstelement.h:
11878         * gst/gstiterator.c: (find_custom_fold_func):
11879         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11880         (gst_pad_collectv), (gst_pad_collect_valist),
11881         (gst_pad_template_new):
11882         * gst/gstpipeline.c: (gst_pipeline_class_init),
11883         (gst_pipeline_dispose), (gst_pipeline_set_property),
11884         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11885         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11886         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11887         * gst/gstutils.h:
11888         * gst/schedulers/entryscheduler.c:
11889         * gst/schedulers/gstbasicscheduler.c:
11890         (gst_basic_scheduler_cothreaded_chain),
11891         (gst_basic_scheduler_chain_add_element):
11892         * testsuite/bins/interface.c: (main):
11893         Added GstBin test.
11894         Added GstSystemClock test.
11895         Implemented clock distribution code in GstBin.
11896         Implemented iterate sinks method for future use.
11897         Rearranged gstelement.h
11898         Fix GstIterator comparison bug.
11899         Moved some code to GstPipeline, mostly clocking related.
11900
11901 2005-03-09  Wim Taymans  <wim@fluendo.com>
11902
11903         * configure.ac:
11904         * gst/gst_private.h:
11905         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11906         (gst_bin_remove_func), (gst_bin_remove),
11907         (gst_bin_get_by_name_recurse_up):
11908         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11909         (gst_clock_id_compare_func), (gst_clock_id_wait),
11910         (gst_clock_id_wait_async), (gst_clock_init),
11911         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11912         * gst/gstelement.h:
11913         * gst/gstinfo.c: (_gst_debug_init):
11914         * gst/gstobject.h:
11915         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11916         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11917         * gst/gstpad.h:
11918         Bump version number, we're now 0.9.0
11919         Add future debugging category.
11920         Fix NULL _unref() in _get_by_name_recurse_up
11921         Rearrange gstpad.h.
11922         Update some docs.
11923
11924 2005-03-08  Wim Taymans  <wim@fluendo.com>
11925
11926         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11927         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11928         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11929         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11930         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11931         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11932         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11933         * gst/elements/gstidentity.c: (gst_identity_class_init):
11934         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11935         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11936         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11937         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11938         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11939         (gst_tee_link):
11940         * gst/gstelement.c: (gst_element_class_init),
11941         (gst_element_base_class_init), (gst_element_init),
11942         (gst_element_get_random_pad), (gst_element_wait_state_change),
11943         (gst_element_change_state), (gst_element_dispose),
11944         (gst_element_finalize), (gst_element_set_loop_function):
11945         * gst/gstelement.h:
11946         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11947         * gst/gstthread.c: (gst_thread_class_init),
11948         (gst_thread_release_children_locks), (gst_thread_change_state):
11949         * gst/schedulers/gstbasicscheduler.c:
11950         (gst_basic_scheduler_loopfunc_wrapper),
11951         (gst_basic_scheduler_chain_wrapper),
11952         (gst_basic_scheduler_src_wrapper),
11953         (gst_basic_scheduler_remove_element):
11954         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11955         Remove threadsafe properties. Fix elements because GObject
11956         complains when installing a property before declaring a
11957         set/get_property handler.
11958         Rearrange gstelement.h file, use STATE macros for state locks.
11959         Free mutexes in the finalize method instead of dispose.
11960
11961 2005-03-08  Wim Taymans  <wim@fluendo.com>
11962
11963         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11964         * gst/gstthread.c: (gst_thread_release_children_locks):
11965         Added parentage check.
11966         Fix build og GstThread again.
11967
11968 2005-03-08  Wim Taymans  <wim@fluendo.com>
11969
11970         * docs/design/part-MT-refcounting.txt:
11971         * docs/design/part-conventions.txt:
11972         * docs/design/part-gstobject.txt:
11973         * docs/design/part-relations.txt:
11974         * docs/design/part-standards.txt:
11975         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11976         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11977         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11978         (gst_bin_iterate_all_by_interface):
11979         * gst/gstbuffer.h:
11980         * gst/gstclock.h:
11981         * gst/gstelement.c: (gst_element_class_init),
11982         (gst_element_change_state), (gst_element_set_loop_function):
11983         * gst/gstelement.h:
11984         * gst/gstiterator.c:
11985         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11986         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11987         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11988         (gst_object_set_parent), (gst_object_unparent),
11989         (gst_object_check_uniqueness):
11990         * gst/gstobject.h:
11991         Docs updates, clean up some headers.
11992
11993 2005-03-07  Wim Taymans  <wim@fluendo.com>
11994
11995         * check/.cvsignore:
11996         * check/Makefile.am:
11997         * check/gst-libs/.cvsignore:
11998         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11999         * check/gst/.cvsignore:
12000         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12001         (START_TEST), (gstbus_suite), (main):
12002         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12003         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12004         (gst_data_suite), (main):
12005         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12006         (add_fold_func), (gstiterator_suite), (main):
12007         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12008         (thread_name_object), (thread_name_object_default),
12009         (gst_object_name_compare), (gst_object_suite), (main):
12010         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12011         (gst_pad_suite), (main):
12012         * check/gstcheck.c: (gst_check_log_message_func),
12013         (gst_check_log_critical_func), (gst_check_init):
12014         * check/gstcheck.h:
12015         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12016         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12017         Added checks.
12018
12019 2005-03-07  Wim Taymans  <wim@fluendo.com>
12020
12021         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12022         (gst_list_iterator_next), (gst_list_iterator_resync),
12023         (gst_list_iterator_free), (gst_iterator_new_list),
12024         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12025         (gst_iterator_free), (gst_iterator_push), (filter_next),
12026         (filter_resync), (filter_uninit), (filter_free),
12027         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12028         (gst_iterator_foreach), (find_custom_fold_func),
12029         (gst_iterator_find_custom):
12030         * gst/gstiterator.h:
12031         Added missing files.
12032
12033 2005-03-07  Wim Taymans  <wim@fluendo.com>
12034
12035         * Makefile.am:
12036         * configure.ac:
12037         * docs/design/part-MT-refcounting.txt:
12038         * docs/design/part-conventions.txt:
12039         * docs/design/part-gstobject.txt:
12040         * docs/design/part-relations.txt:
12041         * examples/mixer/mixer.c: (main):
12042         * examples/thread/thread.c: (eos), (main):
12043         * gst/Makefile.am:
12044         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12045         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12046         (gst_spider_plug_from_srcpad):
12047         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12048         (gst_spider_identity_change_state),
12049         (gst_spider_identity_sink_loop_type_finding):
12050         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12051         * gst/elements/gstidentity.c: (gst_identity_init):
12052         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12053         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12054         * gst/elements/gsttypefindelement.c: (free_entry):
12055         * gst/gst.c:
12056         * gst/gst.h:
12057         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12058         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12059         (gst_bin_set_index), (gst_bin_set_element_sched),
12060         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12061         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12062         (gst_bin_iterate_elements), (iterate_child_recurse),
12063         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12064         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12065         (compare_interface), (gst_bin_get_by_interface),
12066         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12067         * gst/gstbin.h:
12068         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12069         (gst_buffer_default_free), (gst_buffer_default_copy),
12070         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12071         (gst_buffer_create_sub):
12072         * gst/gstbuffer.h:
12073         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12074         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12075         (gst_caps_unref), (gst_static_caps_get),
12076         (gst_caps_remove_and_get_structure), (gst_caps_append),
12077         (gst_caps_append_structure), (gst_caps_remove_structure),
12078         (gst_caps_copy_nth), (gst_caps_set_simple),
12079         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12080         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12081         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12082         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12083         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12084         (gst_caps_structure_figure_out_union),
12085         (gst_caps_switch_structures), (gst_caps_do_simplify),
12086         (gst_caps_replace), (gst_caps_from_string),
12087         (gst_caps_copy_conditional):
12088         * gst/gstcaps.h:
12089         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12090         (_gst_clock_id_free), (gst_clock_id_unref),
12091         (gst_clock_id_compare_func), (gst_clock_id_wait),
12092         (gst_clock_id_wait_async), (gst_clock_class_init),
12093         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12094         (gst_clock_get_time), (gst_clock_set_time_adjust),
12095         (gst_clock_set_property), (gst_clock_get_property):
12096         * gst/gstclock.h:
12097         * gst/gstcompat.h:
12098         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12099         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12100         * gst/gstdata.h:
12101         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12102         (gst_element_requires_clock), (gst_element_provides_clock),
12103         (gst_element_set_clock), (gst_element_clock_wait),
12104         (gst_element_wait), (gst_element_set_time_delay),
12105         (gst_element_is_indexable), (gst_element_add_pad),
12106         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12107         (pad_compare_name), (gst_element_get_static_pad),
12108         (gst_element_request_pad), (gst_element_get_request_pad),
12109         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12110         (gst_element_class_get_pad_template_list),
12111         (gst_element_class_get_pad_template), (gst_element_error_func),
12112         (gst_element_get_random_pad), (gst_element_get_event_masks),
12113         (gst_element_send_event), (gst_element_seek),
12114         (gst_element_get_query_types), (gst_element_query),
12115         (gst_element_get_formats), (gst_element_convert),
12116         (gst_element_is_locked_state), (gst_element_set_locked_state),
12117         (gst_element_sync_state_with_parent), (gst_element_change_state),
12118         (gst_element_finalize), (gst_element_yield),
12119         (gst_element_interrupt), (gst_element_set_scheduler),
12120         (gst_element_get_scheduler), (gst_element_set_loop_function):
12121         * gst/gstelement.h:
12122         * gst/gstevent.h:
12123         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12124         (gst_format_get_by_nick), (gst_format_get_details),
12125         (gst_format_iterate_definitions):
12126         * gst/gstformat.h:
12127         * gst/gstindex.c: (gst_index_gtype_resolver):
12128         * gst/gstinfo.c:
12129         * gst/gstinfo.h:
12130         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12131         (gst_mem_chunk_free):
12132         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12133         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12134         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12135         (gst_object_dispatch_properties_changed),
12136         (gst_object_set_name_default), (gst_object_set_name),
12137         (gst_object_get_name), (gst_object_set_name_prefix),
12138         (gst_object_get_name_prefix), (gst_object_set_parent),
12139         (gst_object_get_parent), (gst_object_unparent),
12140         (gst_object_check_uniqueness), (gst_object_save_thyself),
12141         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12142         (gst_object_set_property), (gst_object_get_property),
12143         (gst_object_get_path_string):
12144         * gst/gstobject.h:
12145         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12146         (gst_real_pad_init), (gst_real_pad_get_property),
12147         (gst_pad_custom_new), (gst_pad_get_direction),
12148         (gst_pad_set_active), (gst_pad_is_active),
12149         (gst_pad_set_event_function), (gst_pad_is_linked),
12150         (gst_pad_link_free), (gst_pad_link_intersect),
12151         (gst_pad_link_fixate), (gst_pad_set_caps),
12152         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12153         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12154         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12155         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12156         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12157         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12158         (gst_pad_realize), (gst_pad_get_allowed_caps),
12159         (gst_real_pad_dispose), (gst_real_pad_finalize),
12160         (gst_pad_collectv), (gst_pad_collect_valist),
12161         (gst_pad_template_dispose), (gst_pad_template_new),
12162         (gst_pad_get_internal_links):
12163         * gst/gstpad.h:
12164         * gst/gstpipeline.c: (gst_pipeline_dispose),
12165         (gst_pipeline_change_state):
12166         * gst/gstpipeline.h:
12167         * gst/gstplugin.c:
12168         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12169         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12170         * gst/gstpluginfeature.h:
12171         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12172         * gst/gstquery.c: (_gst_query_type_initialize),
12173         (gst_query_type_register), (gst_query_type_get_by_nick),
12174         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12175         * gst/gstquery.h:
12176         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12177         * gst/gstscheduler.c: (gst_scheduler_add_element),
12178         (gst_scheduler_factory_create):
12179         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12180         (gst_structure_free), (gst_structure_set_name),
12181         (gst_structure_id_set_value), (gst_structure_set_value),
12182         (gst_structure_set_valist), (gst_structure_remove_field),
12183         (gst_structure_remove_fields),
12184         (gst_structure_remove_fields_valist),
12185         (gst_structure_remove_all_fields), (gst_structure_foreach),
12186         (gst_structure_map_in_place),
12187         (gst_caps_structure_fixate_field_nearest_int),
12188         (gst_caps_structure_fixate_field_nearest_double):
12189         * gst/gststructure.h:
12190         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12191         (gst_system_clock_init), (gst_system_clock_dispose),
12192         (gst_system_clock_async_thread),
12193         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12194         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12195         * gst/gstsystemclock.h:
12196         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12197         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12198         * gst/gsttaginterface.c:
12199         * gst/gstthread.c: (gst_thread_dispose),
12200         (gst_thread_release_children_locks), (gst_thread_change_state),
12201         (gst_thread_main_loop):
12202         * gst/gsttrashstack.h:
12203         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12204         * gst/gsttypes.h:
12205         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12206         (gst_element_request_pad), (gst_element_get_pad_from_template),
12207         (gst_element_request_compatible_pad),
12208         (gst_element_get_compatible_pad_filtered),
12209         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12210         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12211         (gst_element_link_many), (gst_element_link),
12212         (gst_element_link_pads), (gst_element_unlink_pads),
12213         (gst_element_unlink_many), (gst_element_unlink),
12214         (gst_pad_can_link_filtered), (gst_pad_can_link),
12215         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12216         (gst_object_default_error), (gst_bin_add_many),
12217         (gst_bin_remove_many), (gst_element_populate_std_props),
12218         (gst_element_class_install_std_props), (gst_buffer_merge),
12219         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12220         (link_fold_func), (gst_pad_proxy_setcaps):
12221         * gst/gstutils.h:
12222         * gst/gstvalue.c: (gst_value_deserialize_string):
12223         * gst/parse/grammar.y:
12224         * gst/schedulers/gstbasicscheduler.c:
12225         (gst_basic_scheduler_cothreaded_chain),
12226         (gst_basic_scheduler_chain_recursive_add),
12227         (gst_basic_scheduler_pad_link):
12228         * gst/schedulers/gstoptimalscheduler.c:
12229         (get_group_schedule_function),
12230         (gst_opt_scheduler_state_transition),
12231         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12232         * libs/gst/bytestream/bytestream.c:
12233         * libs/gst/dataprotocol/dataprotocol.c:
12234         (gst_dp_header_from_buffer):
12235         * po/nb.po:
12236         * po/ru.po:
12237         * tests/threadstate/threadstate2.c: (eos):
12238         * tools/gst-compprep.c: (main):
12239         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12240         (print_pad_info), (print_children_info):
12241         * tools/gst-launch.c: (idle_func), (main):
12242         * tools/gst-md5sum.c: (idle_func), (main):
12243         * tools/gst-xmlinspect.c: (print_element_info):
12244         First THREADED backport attempt, focusing on adding locks and
12245         making sure the API is threadsafe. Needs more work. More docs
12246         follow this week.
12247
12248 2005-02-24  Andy Wingo  <wingo@pobox.com>
12249
12250         * tests/bench-complexity.scm:
12251         * tests/complexity.gnuplot: New files, good for running complexity
12252         benchmarks.
12253
12254         * tests/Makefile.am:
12255         * tests/complexity.c: New test, sets up N elements, at each level
12256         teeing into M streams per element. Eeeenteresting.
12257
12258         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12259         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12260         running bench-mass_elements.scm.
12261
12262         * tests/bench-mass_elements.scm: New script, runs mass_elements
12263         for various numbers of identities, outputting the results to a
12264         file. Requires guile 1.6. Just for testing.
12265
12266 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12267
12268         * gst/schedulers/fairscheduler.c:
12269           compile with debug disabled
12270
12271 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12272
12273         * configure.ac:
12274           hunting season on 0.9 is now OPEN