gst/base/gstbasetransform.c: Treat a pad alloc with new caps the same as if we were...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4           Treat a pad alloc with new caps the same as if we were not
5           negotiated, in order to allow a changing upstream output
6           to produce a new format of data.
7
8 2005-11-29  Edward Hervey  <edward@fluendo.com>
9
10         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11         (gst_base_transform_event), (gst_base_transform_eventfunc):
12         The event virtual method is now properly implemented, with a default
13         handler
14         Sub classes should call the parent_class event method. They should
15         return FALSE if they had a problem handling the given event, or don't
16         want GstBaseTransform to send that even downstream
17         * gst/elements/gstidentity.c: (gst_identity_class_init),
18         (gst_identity_init), (gst_identity_event),
19         (gst_identity_transform_ip), (gst_identity_set_property),
20         (gst_identity_get_property):
21         * gst/elements/gstidentity.h:
22         Added the single-segment boolean property.
23         If set to TRUE, it will output a single segment of data, starting from
24         0, will eat up all incoming newsegment, and modify the timestamp of the
25         buffers accordingly
26
27 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
28
29         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
30           Don't ref NULL target pad (#322751). Improve docs.
31
32 >>>>>>> 1.2041
33 2005-11-29  Michael Smith  <msmith@fluendo.com>
34
35         * gst/gstregistryxml.c: (load_plugin):
36           Don't crash if we failed to load a feature from a plugin. 
37
38 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
39
40         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
41         (GST_START_TEST):
42           use more check API and less GLib API
43
44 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         * Makefile.am:
47           don't run checks if we don't have check
48         * common/check.mak:
49           remove the registry when running make torture
50         * docs/gst/gstreamer-sections.txt:
51           remove second multiply
52         * gst/gstqueue.c: (gst_queue_loop):
53           fix a compile warning when disabling debug
54
55 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
56
57         * gst/gstinfo.h:
58         Hey! Let's print the pad name if the pointer != NULL instead
59         of when it == NULL :-)
60
61 2005-11-28  Wim Taymans  <wim@fluendo.com>
62
63         * check/gst/gstutils.c: (GST_START_TEST):
64         Updated check, add some scaling accuracy checking code.
65
66         * gst/gstutils.c: (gst_util_div128_64),
67         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
68         (gst_util_uint64_scale_int):
69         Fix 6 times faster division code. Optimize for common 
70         1/1 and less common X/1 cases.
71
72 2005-11-28  Wim Taymans  <wim@fluendo.com>
73
74         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
75         More checks.
76
77         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
78         (do_linear_regression), (gst_clock_add_observation):
79         Cleanups.
80         Release lock when the clock cannot be slaved.
81         Catch the case where the regression returned an invalid denominator.
82
83         * gst/gstutils.c: (gst_util_div128_64_iterate),
84         (gst_util_div128_64), (gst_util_uint64_scale_int64),
85         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
86         Add protentially more performant non-iterative 128/64 divide function
87         that unfortunatly does not work yet.
88         Shortcut the trivial 0/X = 0 case.
89         Remove the warnings on overflow.
90
91 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
92
93         * gst/gstplugin.c: (gst_plugin_register_func):
94           everything causing a plugin not to load should be at least a WARNING
95
96 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
97
98         * docs/random/ensonic/dparams.txt:
99           some TODOs for the next dev cycle
100         * libs/gst/controller/gstcontroller.c:
101         (gst_controlled_property_set_interpolation_mode),
102         (gst_controlled_property_new):
103         * libs/gst/controller/gstcontroller.h:
104           use base type to assign acccessor functions
105
106 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
107
108         * check/Makefile.am:
109         Oops, that should have been top_srcdir
110
111 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
112
113         * check/Makefile.am:
114         * check/elements/fdsrc.c: (GST_START_TEST):
115         Use a cmdline define to specify the location of a file to use for
116         testing, to avoid breaking distcheck.
117
118 2005-11-28  Andy Wingo  <wingo@pobox.com>
119
120         * gst/gstpad.c (fixate_value): Use array functions for arrays.
121
122 2005-11-28  Edward Hervey  <edward@fluendo.com>
123
124         * tools/gst-launch.c: (main):
125         Clarify the output strings, makes it easier to translate.
126         Fixes #322626
127
128 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
129
130         * gst/Makefile.am:
131           don't try and build net if we don't even have <sys/socket.h>
132
133 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
134
135         * check/Makefile.am:
136         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
137         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
138           Add tests for fdsrc seekability
139
140         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
141         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
142         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
143         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
144         * gst/elements/gstfdsrc.h:
145           fdsrc should not be a 'live' source.
146           Implement seeking on seekable fd's.
147
148         * gst/gstquery.c: (gst_query_new_seeking),
149         (gst_query_parse_seeking):
150         * gst/gstquery.h:
151           Implement SEEKING query functions: 
152             *_new_seeking and *_parse_seeking
153
154 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
155
156         * gst/gstelement.c: (gst_element_dispose):
157           don't loop forever
158
159         * gst/gstiterator.c:
160         * gst/gststructure.c:
161           doc fixes
162
163         * libs/gst/controller/gstcontroller.c:
164         (gst_controlled_property_set_interpolation_mode):
165         * libs/gst/controller/gstcontroller.h:
166         * libs/gst/controller/gstinterpolation.c:
167         (interpolate_none_get_enum_value_array):
168           support controlling enums
169
170 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
171
172         * gst/gstvalue.c:
173           Improve documentation for gst_value_union().
174
175         * gst/gstvalue.h:
176           Change return value for union, intersect and subtract functions
177           from gint to gboolean.
178
179 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
180
181         * gst/gstvalue.c: (gst_value_serialize_any_list),
182         (gst_value_transform_any_list_string),
183         (gst_value_deserialize_list), (gst_value_deserialize_array),
184         (gst_value_set_int_range), (gst_value_deserialize_int_range),
185         (gst_value_set_double_range), (gst_value_deserialize_double_range),
186         (gst_value_set_fraction_range_full),
187         (gst_value_deserialize_fraction_range),
188         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
189         (gst_value_deserialize_boolean),
190         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
191         (gst_value_serialize_float), (gst_value_deserialize_float),
192         (gst_string_wrap), (gst_value_deserialize_string),
193         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
194         (gst_value_union_int_range_int_range),
195         (gst_value_intersect_int_range_int_range),
196         (gst_value_intersect_double_range_double_range),
197         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
198         (gst_value_subtract_int_range_int_range),
199         (gst_value_subtract_double_double_range),
200         (gst_value_subtract_double_range_double_range),
201         (gst_value_deserialize_fraction):
202         * gst/gstvalue.h:
203           Use gint, gdouble and gchar in our API instead of int, double and
204           char (and make usage in gstvalue.c more consistent).
205
206 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
207
208         * check/Makefile.am:
209         * libs/gst/controller/Makefile.am:
210         * libs/gst/dataprotocol/Makefile.am:
211           fix up Makefile.am and remove GST_ENABLE_NEW
212
213 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
214
215         * configure.ac:
216         * gst/Makefile.am:
217         * gst/base/Makefile.am:
218         * gst/check/Makefile.am:
219         * gst/elements/Makefile.am:
220         * gst/net/Makefile.am:
221           update LDFLAGS use some more
222
223 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
224
225         * common/m4/gst-doc.m4:
226           Fixes #312589
227
228 2005-11-26  Edward Hervey  <edward@fluendo.com>
229
230         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
231         This shouldn't issue a g_warning since it returns NULL if it
232         couldn't find the plugin, and all functions using this behave
233         properly on a NULL return. Switching to a GST_WARNING.
234
235 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
236
237         * gst/gstbin.c: (gst_bin_handle_message_func):
238         Don't leak clock messages.
239
240 2005-11-25  Wim Taymans  <wim@fluendo.com>
241
242         * gst/gstutils.c: (gst_util_uint64_scale_int64),
243         (gst_util_uint64_scale_int):
244         Optimisations, remove unneeded vars.
245
246 2005-11-25  Wim Taymans  <wim@fluendo.com>
247
248         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
249         Added more checks for the high precision uint64 cases.
250
251         * gst/gstutils.c: (gst_util_uint64_scale_int64),
252         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
253         Implement high precission (guint64 * guint64) / guint64.
254
255 2005-11-24  Wim Taymans  <wim@fluendo.com>
256
257         * gst/base/gstbasesrc.c: (gst_base_src_query):
258         Fix wrong percentage query.
259
260         * gst/gstutils.c: (gst_util_uint64_scale),
261         (gst_util_uint64_scale_int):
262         Add some more common cases that can be handled 
263         efficiently to _scale.
264
265 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
266
267         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
268         (gst_mini_object_suite):
269           don't use check calls from threads; check probably isn't
270           threadsafe and using a lock to make it threadsafe would
271           defeat the purpose of this check
272         * gst/check/gstcheck.c:
273         * gst/check/gstcheck.h:
274           use GST_DEBUG some more
275
276 2005-11-24  Wim Taymans  <wim@fluendo.com>
277
278         * gst/gstutils.c: (gst_util_uint64_scale),
279         (gst_util_uint64_scale_int):
280         Chain trivial case to _scale_int.
281
282 2005-11-24  Wim Taymans  <wim@fluendo.com>
283
284         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
285         Added test for scaling.
286
287         * gst/gstclock.h:
288         Small doc fix.
289
290         * gst/gstutils.c: (gst_util_uint64_scale_int):
291         Implemented high precision scaling code.
292
293 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
294
295         * gst/gstinfo.h:
296           do not crash on pad==NULL
297
298 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
299
300         Patch by: Stefan Kost
301
302         * common/gtk-doc.mak:
303         * docs/gst/Makefile.am:
304         * docs/libs/Makefile.am:
305           Fix distcheck issues for the libraries docs build
306           Closes #319599.
307
308 2005-11-24  Michael Smith <msmith@fluendo.com>
309
310         * docs/manual/basics-helloworld.xml:
311           Fix bug #315027: memory leak in example code in docs.
312
313 2005-11-24  Michael Smith <msmith@fluendo.com>
314
315         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
316           Unlock the PREROLL_LOCK in a failure case.
317
318 2005-11-24  Wim Taymans  <wim@fluendo.com>
319
320         * docs/gst/gstreamer-sections.txt:
321         * gst/base/gstadapter.h:
322         * gst/base/gstbasesink.h:
323         * gst/base/gstbasesrc.h:
324         * gst/base/gstbasetransform.h:
325         * gst/base/gstpushsrc.h:
326         * gst/elements/gstfakesink.h:
327         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
328         * gst/elements/gstfakesrc.h:
329         * gst/elements/gstfilesink.h:
330         * gst/elements/gstfilesrc.h:
331         * gst/gst.c:
332         * gst/gstbin.c:
333         * gst/gstbuffer.c: (_gst_buffer_copy):
334         * gst/gstbus.h:
335         * gst/gstcaps.c:
336         * gst/gstchildproxy.c:
337         * gst/gstclock.c:
338         * gst/gstelement.c:
339         * gst/gstelementfactory.c:
340         * gst/gstelementfactory.h:
341         * gst/gstevent.c:
342         * gst/gstghostpad.h:
343         * gst/gstindex.h:
344         * gst/gstinterface.h:
345         * gst/gstminiobject.c:
346         * gst/gstminiobject.h:
347         * gst/gstpad.c:
348         * gst/gstpad.h:
349         * gst/gstpadtemplate.h:
350         * gst/gstpipeline.h:
351         * gst/gstpluginfeature.h:
352         * gst/gstquery.h:
353         * gst/gstqueue.h:
354         * gst/gsttaglist.c:
355         * gst/gsttaglist.h:
356         * gst/gsttagsetter.c:
357         * gst/gsttagsetter.h:
358         * gst/gsttrace.c:
359         * gst/gsttrace.h:
360         * gst/gsttypefind.h:
361         * gst/gsturi.h:
362         * gst/gstvalue.c:
363         * gst/net/gstnetclientclock.c:
364         * gst/net/gstnetclientclock.h:
365         * gst/net/gstnettimepacket.c:
366         * gst/net/gstnettimeprovider.c:
367         * gst/net/gstnettimeprovider.h:
368         Doc fixes.
369
370 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
371
372         * configure.ac: back to HEAD
373
374 === release 0.9.6 ===
375
376 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
377
378         * configure.ac:
379           releasing 0.9.6, "Always On Time"
380
381 2005-11-23  Wim Taymans  <wim@fluendo.com>
382
383         * docs/gst/gstreamer-sections.txt:
384         * gst/glib-compat.c:
385         * gst/gsttagsetter.c:
386         * gst/gstvalue.c:
387         * gst/net/gstnetclientclock.c:
388         * gst/net/gstnettimepacket.h:
389         Doc updates.
390
391 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
392
393         * docs/faq/using.xml:
394         * docs/libs/tmpl/gstcontrol.sgml:
395         * docs/manual/advanced-dparams.xml:
396         * docs/manual/appendix-checklist.xml:
397         * docs/manual/basics-elements.xml:
398         * docs/pwg/other-source.xml:
399         * docs/random/moving-plugins:
400         * gst/gstpad.c:
401         * tools/gst-launch.1.in:
402           remove mentions of sinesrc
403
404 2005-11-23  Michael Smith <msmith@fluendo.com>
405
406         * docs/gst/gstreamer-sections.txt:
407           Update for new API and API changes.
408         * gst/gstobject.h:
409           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
410         * gst/gstvalue.c:
411           Documentation typo fix.
412         * gst/net/gstnettimepacket.c:
413           Documentation fixes for arguments.
414
415 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
416
417         * gst/gststructure.c: (gst_structure_get_fraction),
418         (gst_structure_parse_value),
419         (gst_structure_fixate_field_nearest_fraction):
420         * gst/gststructure.h:
421         * gst/gstutils.c: (gst_util_uint64_scale_int):
422         * gst/gstutils.h:
423         * scripts/update-funcnames:
424         API Changes. 
425         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
426         Make gst_structure_fixate_field_nearest_fraction take a numerator
427         and denominator argument instead of a GValue
428         add gst_structure_get_fraction helper function.
429
430 2005-11-23  Wim Taymans  <wim@fluendo.com>
431
432         * docs/design/part-TODO.txt:
433         Update TODO.
434
435         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
436         * gst/net/gstnetclientclock.h:
437         Use parent fields for timeout and window_size.
438
439 2005-11-23  Andy Wingo  <wingo@pobox.com>
440
441         * check/net/gstnetclientclock.c (test_functioning): Adjust to
442         rate_num/rate_denom change.
443
444         * gst/net/gstnetclientclock.c
445         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
446         OBJECT_LOCK. Don't call add_observation with the lock.
447
448         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
449         fraction.
450         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
451         rate fraction.
452         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
453         deal with rate as a fraction whose numerator and denominator are
454         GstClockTime values.
455         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
456         master; the other fields are protected by the SLAVE_LOCK.
457         (do_linear_regression): Note that this must be called with the
458         SLAVE_LOCK.
459         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
460         OBJECT_LOCK. Call set_calibration instead of touching the
461         variables directly.
462         (gst_clock_set_property, gst_clock_get_property): Protect
463         master/slave parameters with the SLAVE_LOCK.
464
465         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
466         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
467         note that all of the instance variables that add_observation and
468         the set_master functions use are protected by that lock and not
469         the OBJECT_LOCK.
470         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
471
472         * gst/gstclock.c (gst_clock_add_observation): No longer requires
473         the caller to take the object lock.
474
475 2005-11-23  Wim Taymans  <wim@fluendo.com>
476
477         * gst/gsterror.c: (_gst_core_errors_init):
478         * gst/gsterror.h:
479         Add error for clock stuff.
480
481         * gst/gstpipeline.c: (gst_pipeline_change_state),
482         (gst_pipeline_set_clock):
483         Post clock error when clock cannot be used in a pipeline.
484
485 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
486
487         * docs/gst/gstreamer-sections.txt:
488           make two symbols from gstinfo private for the docs
489         * gst/base/gstcollectpads.h:
490         * gst/gstutils.c:
491           fix doc typos, update docs
492
493 2005-11-22  Wim Taymans  <wim@fluendo.com>
494
495         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
496         (gst_base_sink_wait), (gst_base_sink_do_sync),
497         (gst_base_sink_handle_event):
498         * gst/base/gstbasesink.h:
499         No need to store the clock, the parent element class already
500         has it.
501
502         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
503         Updates for clock_set returning a gboolean
504
505         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
506         (gst_clock_id_wait_async), (gst_clock_class_init),
507         (gst_clock_init), (gst_clock_finalize),
508         (gst_clock_get_internal_time), (gst_clock_get_time),
509         (gst_clock_slave_callback), (gst_clock_set_master),
510         (gst_clock_get_master), (do_linear_regression),
511         (gst_clock_add_observation), (gst_clock_set_property),
512         (gst_clock_get_property):
513         * gst/gstclock.h:
514         Implement master/slave. When setting a clock as a slave, a
515         periodic timeout is scheduled to sample master and slave times.
516         Then the slave clock is recalibrated to match offset and rate
517         of the master clock.
518         Update logging a bit.
519         Add flag so that a clock can state that is cannot be slaved to
520         another clock.
521
522         * gst/gstelement.c: (gst_element_set_clock):
523         * gst/gstelement.h:
524         The set clock returns a gboolean for when an element cannot
525         deal with the selected clock in the pipeline. 
526
527         * gst/gstpipeline.c: (gst_pipeline_change_state),
528         (gst_pipeline_set_clock):
529         * gst/gstpipeline.h:
530         Handle the case where the selected clock cannot be set on
531         the pipeline.
532
533         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
534         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
535         (gst_net_client_clock_set_property),
536         (gst_net_client_clock_get_property),
537         (gst_net_client_clock_observe_times):
538         * gst/net/gstnetclientclock.h:
539         Use regression code in GstClock parent, remove duplicated
540         functionality.
541
542 2005-11-22  Michael Smith <msmith@fluendo.com>
543
544         * gst/gstutils.c: (gst_util_clock_time_scale):
545         * gst/gstutils.h:
546         * docs/gst/gstreamer-sections.txt:
547           Rename method to have extra underscore.
548
549 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
550
551         * gst/elements/Makefile.am:
552         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
553         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
554         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
555         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
556         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
557         * gst/elements/gstfakesrc.h:
558         * gst/gstqueue.c: (queue_leaky_get_type):
559           correctly fix GEnumValues so that nick is the short lowercase
560           dashed tag
561         * tools/gst-inspect.c: (print_element_properties_info):
562           also show the nick, since it's useful to use from parse_launch
563           syntax
564           Fixes #322139
565
566 2005-11-22  Michael Smith <msmith@fluendo.com>
567
568         * gst/gstutils.c: (gst_util_clocktime_scale):
569         * gst/gstutils.h:
570         * docs/gst/gstreamer-sections.txt:
571           Add util method for scaling a clocktime by a fraction. Useful 
572           implementation is left as an exercise for the reader.
573
574 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
575
576         * gst/gstvalue.c: (gst_value_collect_fraction_range):
577         If needed, allocate storage in the destination value during
578         collection.
579
580 2005-11-22  Edward Hervey  <edward@fluendo.com>
581
582         * docs/gst/gstreamer-sections.txt:
583         * gst/Makefile.am:
584         * gst/gst.h:
585         * gst/gsturitype.c:
586         * gst/gsturitype.h:
587         * gst/gstutils.c: (gst_util_set_object_arg):
588         * tools/gst-compprep.c: (main):
589         * tools/gst-inspect.c: (print_element_properties_info):
590         Removed GstURI, closes bug #321061
591
592 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
593
594         * check/gst/gststructure.c: (GST_START_TEST):
595         * gst/gststructure.c: (gst_structure_parse_value):
596           Oops, broke automatic string type parsing.
597           Add a test to catch it in future.
598
599 2005-11-22  Andy Wingo  <wingo@pobox.com>
600
601         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
602         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
603         Actually rename the function implementations. Grr.
604
605 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
606
607         * check/gst/capslist.h:
608           Comment test cases
609         * check/gst/gststructure.c: (GST_START_TEST),
610         (gst_structure_suite):
611           Test automatic value type detection in gst_structure_from_string.
612         * gst/gststructure.c: (gst_structure_parse_value):
613           Add fraction as a type we try and guess automatically in
614           caps/structure strings.
615
616 2005-11-22  Andy Wingo  <wingo@pobox.com>
617
618         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
619
620         * gst/gsttagsetter.h:
621         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
622         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
623         (gst_tag_setter_add_tag_valist)
624         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
625         _add_values, _add_valist, and _add_valist_values. Since this is an
626         interface the function suffixes should be more explicit so
627         language binding don't end up with element.add_valist ->
628         gst_tag_setter_add_valist, for example. Fixes #322069.
629
630 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
631
632         * check/gst/gstcaps.c: (GST_START_TEST):
633           Extend caps string tests to check that a caps to string
634           conversion is reversible and produces the same caps.
635
636         * gst/gststructure.c: (gst_structure_value_get_generic_type):
637           Output "fraction" as the generic type fraction range, so caps
638           serialisation and deserialisation works.
639         * check/gst/capslist.h:
640         * gst/gstvalue.c: (gst_value_deserialize_fraction):
641           Support 'MIN' and 'MAX' for deserialising fractions.
642
643 2005-11-22  Andy Wingo  <wingo@pobox.com>
644
645         * gst/gstevent.h (gst_event_new_new_segment)
646         (gst_event_parse_new_segment, gst_event_new_buffer_size)
647         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
648         Renamed from *_newsegment, *_buffersize, *_notarget.
649
650         * scripts/update-funcnames: New script, performs the changes
651         listed above.
652
653 2005-11-22  Wim Taymans  <wim@fluendo.com>
654
655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
656         Make sure the GstFlowReturn is returned.
657
658         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
659         (gst_bus_add_signal_watch):
660         * gst/gstbus.h:
661         add gst_bus_add_signal_watch_full.
662
663         * gst/gstplugin.c: (gst_plugin_load_file):
664         Small style cleanup.
665
666 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
667
668         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
669           Block the fakesrc srcpad when we send an event, to avoid
670           contention on the stream_lock causing random test failures.
671
672 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
673
674         * check/gst/gstvalue.c: (GST_START_TEST):
675         * gst/gstvalue.c: (gst_value_fraction_subtract):
676           Fix subtraction.
677
678 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
679
680         * gst/gst.h:
681           include "gstchildproxy.h"
682         * gst/gstchildproxy.h:
683         * libs/gst/controller/gstcontroller.h:
684           use G_GNUC_NULL_TERMINATED
685
686 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
687
688         * check/gst/capslist.h:
689         * check/gst/gstcaps.c: (GST_START_TEST):
690         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
691         * gst/gststructure.c: (gst_structure_parse_range),
692         (gst_structure_fixate_field_nearest_fraction):
693         * gst/gststructure.h:
694         * gst/gstvalue.c: (gst_value_init_fraction_range),
695         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
696         (gst_value_collect_fraction_range),
697         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
698         (gst_value_set_fraction_range_full),
699         (gst_value_get_fraction_range_min),
700         (gst_value_get_fraction_range_max),
701         (gst_value_serialize_fraction_range),
702         (gst_value_transform_fraction_range_string),
703         (gst_value_compare_fraction_range),
704         (gst_value_deserialize_fraction_range),
705         (gst_value_intersect_fraction_fraction_range),
706         (gst_value_intersect_fraction_range_fraction_range),
707         (gst_value_subtract_fraction_fraction_range),
708         (gst_value_subtract_fraction_range_fraction),
709         (gst_value_subtract_fraction_range_fraction_range),
710         (gst_value_collect_fraction), (gst_value_fraction_multiply),
711         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
712         (gst_value_transform_string_fraction), (_gst_value_initialize):
713         * gst/gstvalue.h:
714           Implement fraction ranges and extend GstFraction to support
715           arithmetic subtraction, as well as deserialization from integer
716           strings such as "100"
717           Add a testsuite as for int and double range set operations
718
719 2005-11-21  Andy Wingo  <wingo@pobox.com>
720
721         * gst/gsttaglist.h: 
722         * gst/gstcaps.h: 
723         * gst/gststructure.h: Add glib-compat.h.
724
725 2005-11-21  Wim Taymans  <wim@fluendo.com>
726
727         * gst/gstbin.c: (gst_bin_change_state_func):
728         Fix for #321595
729
730 2005-11-21  Wim Taymans  <wim@fluendo.com>
731
732         * gst/gstsegment.h:
733         And add a nice define too.
734
735 2005-11-21  Wim Taymans  <wim@fluendo.com>
736
737         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
738         (gst_segment_new), (gst_segment_free), (gst_segment_init),
739         (gst_segment_set_duration), (gst_segment_set_last_stop),
740         (gst_segment_set_seek), (gst_segment_set_newsegment),
741         (gst_segment_to_stream_time), (gst_segment_to_running_time),
742         (gst_segment_clip):
743         * gst/gstsegment.h:
744         Make binding friendly.
745
746 2005-11-21  Andy Wingo  <wingo@pobox.com>
747
748         * gst/gsttagsetter.h: 
749         * gst/gsttaglist.h: 
750         * gst/gststructure.h: 
751         * gst/gstcaps.h: 
752         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
753         #319940.
754
755         * gst/gsterror.c (_gst_core_errors_init):
756         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
757         category.
758
759         * gst/Makefile.am (gst_headers): Add glib-compat.h.
760         (noinst_HEADERS): noinst the -private.
761
762 2005-11-21  Michael Smith <msmith@fluendo.com>
763
764         * gst/gstplugin.h:
765         * gst/gstregistry.h:
766           Remove unimplemented declarations for which we can see no sensible
767           use.
768
769 2005-11-21  Andy Wingo  <wingo@pobox.com>
770
771         * gst/gst.h: Include glib-compat.h.
772
773         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
774
775         * gst/glib-compat.c: Include the public and the private header.
776
777         * gst/glib-compat-private.h: Copied here from glib-compat.h.
778
779         * gst/gstvalue.c: 
780         * gst/gstpad.c: 
781         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
782
783         * check/gst/gstevent.c (create_custom_events): Check that
784         FLUSH_STOP is serialized.
785
786         * check/elements/identity.c (event_func): 
787         * check/elements/fakesrc.c (event_func): No stream lock, the core
788         takes it.
789
790         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
791         stream lock taking, yay.
792
793         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
794         ensure that core takes the stream lock.
795
796         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
797         lock name change.
798
799         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
800         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
801         it already. For the flush start we do take it though so we get the
802         right preroll state change messages.
803
804         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
805         the stream lock here, the core does it for us.
806
807         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
808         GST_STREAM_GET_LOCK.
809         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
810         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
811         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
812         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
813         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
814         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
815
816         * gst/gstpad.c: Update for stream lock name change.
817
818         * gst/base/gstbasesink.c: Update for preroll lock name change.
819
820 2005-11-21  Wim Taymans  <wim@fluendo.com>
821
822         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
823         (gst_clock_get_master):
824         * gst/gstclock.h:
825         * gst/gstsystemclock.c: (gst_system_clock_init):
826         Convert Clock flags to object flags.
827         Added methods to manage master/slave clocks.
828
829 2005-11-21  Wim Taymans  <wim@fluendo.com>
830
831         * check/gst/gstsegment.c: (GST_START_TEST):
832         * docs/design/part-TODO.txt:
833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
834         (gst_base_sink_event), (gst_base_sink_do_sync),
835         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
836         (gst_base_sink_query), (gst_base_sink_change_state):
837         * gst/base/gstbasesink.h:
838         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
839         (gst_base_src_default_newsegment),
840         (gst_base_src_configure_segment), (gst_base_src_do_seek),
841         (gst_base_src_get_range), (gst_base_src_loop),
842         (gst_base_src_change_state):
843         * gst/base/gstbasesrc.h:
844         * gst/base/gstbasetransform.c:
845         (gst_base_transform_prepare_output_buf),
846         (gst_base_transform_event), (gst_base_transform_change_state):
847         * gst/base/gstbasetransform.h:
848         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
849         (gst_collect_pads_event):
850         * gst/base/gstcollectpads.h:
851         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
852         (gst_fake_src_create):
853         * gst/elements/gstfakesrc.h:
854         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
855         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
856         (gst_segment_set_last_stop), (gst_segment_set_seek),
857         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
858         (gst_segment_to_running_time), (gst_segment_clip):
859         * gst/gstsegment.h:
860         More segment updates, replace code in plugins with segment
861         helper functions.
862
863 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
864
865         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
866         Don't ignore sscanf results
867
868 2005-11-21  Andy Wingo  <wingo@pobox.com>
869
870         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
871
872         * *.h:
873         * *.c: Ran scripts/update-macros. Oh yes.
874
875         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
876         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
877         GST_GET_LOCK, etc.
878
879         * scripts/update-macros: New script. Run it on your files to
880         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
881         well.
882
883 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
884
885         * docs/gst/Makefile.am:
886         * docs/gst/gstreamer-docs.sgml:
887         * docs/gst/gstreamer-sections.txt:
888         * docs/gst/gstreamer.types:
889         * gst/gstinfo.h:
890           more docs fixes, add new api to the docs
891
892 2005-11-21  Andy Wingo  <wingo@pobox.com>
893
894         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
895         state_broadcast call.
896
897         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
898
899 2005-11-21  Julien MOUTTE  <julien@moutte.net>
900
901         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
902         function calls for arrays.
903
904 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
905
906         * docs/random/ensonic/media-device-daemon.txt:
907           wild idea, can this be done?
908         * docs/gst/gstreamer-sections.txt:
909         * gst/gsterror.h:
910         * gst/gstfilter.c:
911         * gst/gstfilter.h:
912         * gst/gstplugin.h:
913         * gst/gstpluginfeature.c:
914         * gst/gsttrace.c:
915         * gst/gstvalue.c:
916         * gst/gstvalue.h:
917           doc fixes and additions
918
919 2005-11-21  Andy Wingo  <wingo@pobox.com>
920
921         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
922         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
923         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
924         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
925         private to the basesrc implementation.
926
927         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
928         behalf of event function if necessary. It should no longer be
929         necessary to take the stream lock in pad's event functions. Fixes
930         #320299.
931
932 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
933         * docs/gst/gstreamer-sections.txt:
934         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
935         (gst_structure_fixate_field_nearest_double),
936         (gst_structure_fixate_field_boolean):
937         * gst/gststructure.h:
938         * win32/common/libgstreamer.def:
939         * win32/gstreamer.def:
940
941         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
942         (#322027)
943
944 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
945
946         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
947         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
948         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
949         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
950         (gst_fdsrc_uri_handler_init):
951         * gst/elements/gstfdsrc.h:
952           Port fd:// URI handler from 0.8 to fdsrc
953
954 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
955
956         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
957         (gst_value_serialize_fourcc):
958         * gst/gstvalue.h:
959           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
960           consistent with our other format defines (#320324).
961
962 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
963
964         * gst/gstvalue.c: (gst_value_is_fixed):
965           Revert previous commit. Value lists are by definition
966           not fixed, as they are a list of possible values.
967
968 2005-11-21  Andy Wingo  <wingo@pobox.com>
969
970         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
971         during the stable series if we need it. Fixes #319178.
972
973         * gst/gstevent.c (gst_event_new_filler): Removed.
974
975         * check/gst/gstevent.c: Update comment about filler events.
976
977 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
978
979         * gst/gstvalue.c: (gst_value_is_fixed):
980           Should handle both value arrays and value lists.
981
982 2005-11-21  Andy Wingo  <wingo@pobox.com>
983
984         patch by: Alessandro Dessina <alessandro nnva org>
985
986         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
987         functions to access arrays. Fixes #321962.
988
989 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
990
991         * docs/gst/gstreamer.types:
992           gst_collectpads_get_type => gst_collect_pads_get_type.
993           
994         * gst/base/gstbasetransform.c:
995           Remove unused SIGNAL_HANDOFF enum.
996
997 2005-11-21  Andy Wingo  <wingo@pobox.com>
998
999         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1000         the event type (upstream, downstream, serialized). Renamed
1001         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1002         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1003         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1004
1005         * gst/gstevent.c: Update for new CUSTOM event names.
1006
1007         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1008
1009         * gst/gstevent.h:
1010         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1011         bug #319392.
1012
1013 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1014
1015         * docs/gst/gstreamer-sections.txt:
1016         * win32/common/libgstbase.def:
1017         * win32/libgstbase.def:
1018         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1019         (gst_collect_pads_class_init), (gst_collect_pads_init),
1020         (gst_collect_pads_finalize), (gst_collect_pads_new),
1021         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1022         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1023         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1024         (gst_collect_pads_start), (gst_collect_pads_stop),
1025         (gst_collect_pads_peek), (gst_collect_pads_pop),
1026         (gst_collect_pads_available), (gst_collect_pads_read),
1027         (gst_collect_pads_flush), (gst_collect_pads_event),
1028         (gst_collect_pads_chain):
1029         * gst/base/gstcollectpads.h:
1030           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1031           unimplemented functions as unimplemented. Add padding to
1032           GstCollectData. (#320766, #320423)
1033
1034 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1035
1036         * gst/gstmessage.c:
1037           Improve docs for DURATION message (usage of duration parameter)
1038           (#320113)
1039
1040 2005-11-20  Wim Taymans  <wim@fluendo.com>
1041
1042         * check/Makefile.am:
1043         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1044         (main):
1045         * gst/Makefile.am:
1046         * gst/gst.h:
1047         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1048         (gst_segment_set_seek), (gst_segment_set_newsegment),
1049         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1050         (gst_segment_clip):
1051         * gst/gstsegment.h:
1052         Added segment helper structure and methods. Not fully implemented
1053         yet.
1054         Added segment check.
1055
1056 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1057
1058         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1059           Add a deserialisation test for fractions
1060         * examples/metadata/read-metadata.c: (message_loop),
1061         (make_pipeline), (main):
1062           Fix up metadata reading sample.
1063         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1064           Debug format fix
1065         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1066           Don't try and fixate empty caps
1067         * gst/gst_private.h:
1068           Wrap in G_BEGIN_DECLS/G_END_DECLS
1069         * gst/gstvalue.c: (gst_value_collect_fraction),
1070         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1071         (gst_value_transform_string_fraction),
1072         (gst_value_compare_fraction):
1073           Add some extra guards to ensure that we don't end up 
1074           with an invalid denominator of 0 in a gstfraction and
1075           that fractions always get reduced.
1076
1077 2005-11-20  Wim Taymans  <wim@fluendo.com>
1078
1079         * docs/gst/gstreamer-sections.txt:
1080         * gst/gstbuffer.h:
1081         * gst/gstelement.c:
1082         * gst/gstformat.c:
1083         * gst/gstformat.h:
1084         * gst/gstindex.h:
1085         * gst/gstquery.c:
1086         * gst/gstquery.h:
1087         * gst/gstvalue.c:
1088         Doc fixes.
1089
1090 2005-11-20  Wim Taymans  <wim@fluendo.com>
1091
1092         * docs/design/part-TODO.txt:
1093         * gst/gstcaps.h:
1094         Make a proper enum of the flag.
1095
1096 2005-11-19  Wim Taymans  <wim@fluendo.com>
1097
1098         * docs/design/part-TODO.txt:
1099         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1100         (gst_format_to_quark), (gst_format_register):
1101         * gst/gstformat.h:
1102         * gst/gstquery.c: (_gst_query_initialize),
1103         (gst_query_type_get_name), (gst_query_type_to_quark),
1104         (gst_query_type_register):
1105         * gst/gstquery.h:
1106         Add type to quark and type to string conversions.
1107
1108 2005-11-19  Andy Wingo  <wingo@pobox.com>
1109
1110         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1111         #320097.
1112
1113 2005-11-19  Wim Taymans  <wim@fluendo.com>
1114
1115         * docs/design/part-TODO.txt:
1116         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1117         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1118         (gst_bin_handle_message_func):
1119         * gst/gstbin.h:
1120         Make message handling overridable.
1121
1122 2005-11-19  Andy Wingo  <wingo@pobox.com>
1123
1124         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1125
1126         * gst/gstclock.h:
1127         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1128         be a GstClockTime.
1129         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1130         is a GstClockTime. Fixes #321710.
1131
1132         * gst/gstclock.h (GstClock): Remove offset property. Add
1133         internal_calibration and external_calibration. Fix padding. Pad
1134         also by GstClockTime so we don't run into problems.
1135
1136         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1137         (gst_clock_get_rate_offset): Remove.
1138         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1139
1140         * gst/gstutils.h:
1141         * gst/gstutils.c (g_static_rec_cond_wait)
1142         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1143
1144         * gst/gstbin.c: Remove terrible continue_state prototype.
1145
1146         * gst/gstelement.h (gst_element_continue_state): Make public.
1147
1148         * gst/gstelement.h:
1149         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1150         by continue_state. Fixes #319389.
1151
1152         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1153         Really fixes #168438. However I don't see anywhere where the
1154         filter function is called... stupid GStreamer...
1155         
1156         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1157         don't have a dispose function, so it won't get called when the
1158         object is unreffed, but oh well!
1159
1160         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1161         allows a destroy function to be set so user_data can be freed.
1162         Fixes #168438.
1163         (gst_index_set_filter): Call gst_index_set_filter_full.
1164
1165         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1166
1167         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1168         string should produce an error, given the lack of a way to
1169         represent NULL strings. Fixes #165650.
1170         
1171         * gst/gstvalue.h: 
1172         * gst/gstvalue.c (gst_value_array_append_value) 
1173         (gst_value_array_prepend_value, gst_value_array_get_size) 
1174         (gst_value_array_get_value): New API, copied from
1175         gst_value_list_*, only operates on arrays.
1176         (gst_value_list_append_value, gst_value_list_prepend_value) 
1177         (gst_value_list_concat, gst_value_list_get_size) 
1178         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1179
1180         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1181         init_list, because it works on both.
1182         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1183         (gst_value_copy_list_or_array): Renamed from copy_list.
1184         (gst_value_free_list_or_array): Renamed from free_list.
1185         (gst_value_collect_list_or_array): Renamed from collect_list.
1186         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1187         (gst_value_list_or_array_peek_pointer): Renamed from
1188         list_peek_pointer.
1189         (_gst_value_array_value_table, _gst_value_list_value_table):
1190         Update value table functions.
1191         (gst_value_compare_list_or_array): Renamed from compare_list.
1192
1193         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1194         some constness.
1195
1196         * gst/gsttaglist.c:
1197         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1198         GstTagList*. Fixes #143472.
1199
1200         * gst/gststructure.h: Clarify what the foreach/map functions can
1201         or can't do to their arguments.
1202
1203 2005-11-18  Wim Taymans  <wim@fluendo.com>
1204
1205         * gst/gstclock.c: (gst_clock_set_calibration),
1206         (gst_clock_get_calibration):
1207         Doc and API fixes.
1208         Calibration can be set with internal time equal to current
1209         internal time too.
1210
1211 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1212
1213         * gst/gsterror.c:
1214         * gst/gsterror.h:
1215           document
1216
1217 2005-11-18  Andy Wingo  <wingo@pobox.com>
1218
1219         * configure.ac: 
1220         * pkgconfig/gstreamer-net.pc.in:
1221         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1222         * pkgconfig/Makefile.am: Add net pkgconfig files.
1223
1224 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1225
1226         * gst/gstcaps.c:
1227         * gst/gstghostpad.c:
1228         * gst/gsttrace.c:
1229         * gst/gstvalue.c:
1230         * gst/gstvalue.h:
1231           docs fixes
1232
1233 2005-11-18  Andy Wingo  <wingo@pobox.com>
1234
1235         * gst/net/gstnetclientclock.c: Turn off debugging.
1236
1237         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1238         times connverge somewhat. Can't make a real test.
1239
1240         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1241         integer arithmetic. Return the minimum of the domain, which can be
1242         set as "internal" for gst_clock_set_calibration.
1243         (gst_net_client_clock_observe_times): Call _set_calibration.
1244         (gst_net_client_clock_new): Call _set_calibration instead of
1245         rate_offset.
1246
1247         * check/net/gstnetclientclock.c (test_functioning): Use the right
1248         adjustment api.
1249
1250         * gst/gstclock.h:
1251         * gst/gstclock.c (gst_clock_get_calibration) 
1252         (gst_clock_set_calibration): New functions, obsolete the ones I
1253         added yesterday. Doh. Precision issues mean we have to extrapolate
1254         from a point in the more recent past than 1970.
1255         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1256         obsolete.
1257         (gst_clock_adjust_unlocked): Use the right calibration data.
1258
1259 2005-11-18  Edward Hervey  <edward@fluendo.com>
1260
1261         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1262         Also reset the ->current_* values in READY->PAUSED
1263
1264 2005-11-18  Andy Wingo  <wingo@pobox.com>
1265
1266         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1267         Whoops, check the right fd. Also add some debugging.
1268         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1269         (do_linear_regression): Add a crapload of debugging. Subtract off
1270         the minimum values from the input series to discard unneeded bits.
1271         Use only int arithmetic. There is still double arithmetic when
1272         calculating the intercept that needs fixing. Return boolean to
1273         indicate success; FALSE would mean the domain or range is too
1274         great. Still needs fixes.
1275
1276 2005-11-18  Wim Taymans  <wim@fluendo.com>
1277
1278         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1279         For the current position in stream time, we need to subtract
1280         accumulated time.
1281         
1282         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1283         Release lock before calling the callback function of async
1284         entries.
1285
1286 2005-11-18  Andy Wingo  <wingo@pobox.com>
1287
1288         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1289         Port goes all the way to MAXUINT16.
1290
1291         * gst/net/gstnettimeprovider.c: Make the port range the same as
1292         for the kernel: 0 assigns, otherwise ports are less than
1293         MAXUINT16.
1294
1295         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1296         port change.
1297
1298         * check/net/gstnetclientclock.c (test_functioning): Add the start
1299         of another test. 
1300
1301 2005-11-18  Wim Taymans  <wim@fluendo.com>
1302
1303         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1304         (gst_bin_remove_func), (bin_bus_handler):
1305         * gst/gstbin.h:
1306         Removing a clock provider from a bin, triggers a clock lost message
1307         so that a new clock will be selected.
1308         Adding a clock to a bin triggers a clock provider message.
1309         Make sure we reselect a clock when we received a clock lost message.
1310         Keep a reference to the element that provided the clock.
1311
1312 2005-11-18  Andy Wingo  <wingo@pobox.com>
1313
1314         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1315         the clock initially so it produces values around the base time.
1316         (gst_net_client_clock_class_init): Typo fix.
1317         (gst_net_client_clock_thread): Add note on when the socket gets
1318         closed.
1319
1320 2005-11-17  Wim Taymans  <wim@fluendo.com>
1321
1322         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1323         Free remote and local time arrays.
1324
1325 2005-11-17  Wim Taymans  <wim@fluendo.com>
1326
1327         * gst/net/gstnetclientclock.c: (do_linear_regression),
1328         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1329         Fix compilation, uninitialized vars and a forgotten continue.
1330
1331 2005-11-17  Andy Wingo  <wingo@pobox.com>
1332
1333         * check/Makefile.am (check_PROGRAMS): 
1334         * check/net/gstnetclientclock.c: Add a most minimal test for the
1335         net client clock. More to come later.
1336
1337         * gst/net/gstnet.h: 
1338         * gst/net/Makefile.am: Add netclientclock.
1339
1340         * gst/net/gstnetclientclock.h:
1341         * gst/net/gstnetclientclock.c: New files, implement an untested
1342         GstClock that takes its time from a network time provider.
1343         Implements the algorithm in network-clock.scm.
1344
1345         * tests/network-clock.scm (*window-size*): Rename from
1346         *queue-length*.
1347         * tests/network-clock.scm (network-time): 
1348         * tests/network-clock-utils.scm (q-push): Update callers.
1349
1350 2005-11-17  Wim Taymans  <wim@fluendo.com>
1351
1352         * gst/gstbin.c: (gst_bin_provide_clock_func),
1353         (gst_bin_sort_iterator_new):
1354         And unref the child too..
1355
1356 2005-11-17  Wim Taymans  <wim@fluendo.com>
1357
1358         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1359         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1360         Refactor the sort iterator so it can be used while holding the
1361         LOCK too.
1362         Make clock selection select a clock closest to the source.
1363
1364 2005-11-17  Michael Smith <msmith@fluendo.com>
1365
1366         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1367         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1368         * gst/gstclock.h:
1369           Anonymous structs are a gcc (and some other compilers) extension, so
1370           don't use them. Since this is only for ABI-compatibility, and our
1371           API/ABI freeze is over in a few days, this whole thing will only
1372           last a few days, so don't bother trying to think up a meaningful
1373           name for the struct.
1374
1375 2005-11-17  Andy Wingo  <wingo@pobox.com>
1376
1377         * gst/gstclock.h (GstClock): Add rate and offset properties,
1378         preserving ABI stability. Add rate/offset accessors. Will file bug
1379         for the freeze break.
1380
1381         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1382         and offset, trying to keep precision and avoiding
1383         underflow/overflow.
1384         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1385         functions. Make gst_clock_set_time_adjust obsolete.
1386         (gst_clock_set_time_adjust): Note that this function is obsolete.
1387         Will file bug soon.
1388
1389         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1390         greppable by using GST_PADDING-1+1.
1391
1392 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1393
1394         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1395
1396         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1397           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1398
1399         * gst/gstpadtemplate.h:
1400         * gst/gstpluginfeature.h:
1401           Don't use c++ style comments in headers (#321638).
1402
1403 2005-11-16  Andy Wingo  <wingo@pobox.com>
1404
1405         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1406         buffer.
1407
1408         * check/net/gstnettimeprovider.c: Check to see that the time
1409         provider actually provides times. Works, yo!
1410
1411 2005-11-16  Wim Taymans  <wim@fluendo.com>
1412
1413         * check/Makefile.am:
1414         Enable more tests.
1415
1416         * check/elements/fakesrc.c: (GST_START_TEST):
1417         Set element to NULL before disposing it.
1418
1419 2005-11-16  Andy Wingo  <wingo@pobox.com>
1420
1421         * gst/net/Makefile.am:
1422         * gst/net/gstnet.h:
1423         * gst/net/gstnettimeprovider.c: 
1424         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1425         provider, include it from gstnet.h, and add it to the build.
1426
1427         * gst/net/gstnettimepacket.h: 
1428         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1429         sending and receiving.
1430
1431 2005-11-16  Wim Taymans  <wim@fluendo.com>
1432
1433         * check/Makefile.am:
1434         Enable valgrind check.
1435
1436         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1437         (gst_fake_src_alloc_buffer):
1438         Fix memleak.
1439
1440 2005-11-16  Wim Taymans  <wim@fluendo.com>
1441
1442         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1443         Call parent finalize too.
1444
1445 2005-11-16  Wim Taymans  <wim@fluendo.com>
1446
1447         * check/Makefile.am:
1448         Enable valgrind check that should work fine now.
1449
1450         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1451         * gst/gstqueue.c: (gst_queue_init):
1452         Fix memleaks in pad allocation.
1453
1454 2005-11-16  Andy Wingo  <wingo@pobox.com>
1455
1456         * gst/net/Makefile.am:
1457         * gst/net/gstnet.h: New part of core to hold network elements and
1458         objects. Put in core because it exposes API that applications want
1459         to use. The library is named libgstnet-tempname right now because
1460         of the existing libgstnet in gst-plugins-base. Solution is
1461         probably to rename the one in plugins-base; will file a bug for
1462         the freeze break.
1463
1464         * gst/net/gstnettimeprovider.c: 
1465         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1466         get_time call over the network.
1467
1468         * configure.ac: 
1469         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1470
1471         * check/Makefile.am:
1472         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1473         get additions shortly.
1474
1475 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1476
1477         * gst/gstpad.c: (gst_pad_new_from_static_template):
1478         * gst/gstpad.h:
1479           add gst_pad_new_from_static_template functions
1480         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1481         (gst_check_setup_sink_pad):
1482         * gst/elements/gsttee.c: (gst_tee_init):
1483           and use them
1484
1485 2005-11-16  Wim Taymans  <wim@fluendo.com>
1486
1487         * gst/gstpad.c: (gst_pad_pause_task):
1488         Removed warning, it's not really an error either.
1489
1490 2005-11-16  Wim Taymans  <wim@fluendo.com>
1491
1492         * gst/base/gstbasetransform.c:
1493         (gst_base_transform_prepare_output_buf),
1494         (gst_base_transform_event):
1495         Check if the caps are NULL, this can happen if the element
1496         is shutting down and the pad caps are set to NULL.
1497
1498 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1499
1500         * gst/elements/gsttee.c: (gst_tee_init):
1501           fix pad template leak in tee
1502
1503 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1504
1505         * gst/glib-compat.c: (g_value_dup_gst_object):
1506         * gst/glib-compat.h:
1507         * gst/gstpad.c: (gst_pad_set_property):
1508           use gst_object_ref when setting the pad template; this will
1509           trigger the pad template leaks on GLib 2.6 and the slaves
1510
1511 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1512
1513         * gst/glib-compat.c: (gst_flags_get_first_value):
1514         * gst/glib-compat.h:
1515         * gst/gstregistryxml.c:
1516           remove functions copied from GLib 2.6
1517
1518 2005-11-16  Michael Smith <msmith@fluendo.com>
1519
1520         * gst/Makefile.am:
1521           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1522           do, but only breaks with newer valgrind versions. We're not a
1523           valgrind tool, we have no link-time dependencies on libcoregrind.
1524
1525 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1526
1527         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1528           some debug changes
1529         * gst/gstmessage.h:
1530           typo fixes
1531
1532 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot 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         * gst/gstregistryxml.c: (load_feature):
1538           Revert all these unrefs, they don't even pass make check !
1539
1540 2005-11-15  Johan Dahlin  <johan@gnome.org>
1541
1542         * gst/base/gstbasesrc.c: (gst_base_src_init):
1543         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1544         * gst/gstqueue.c: (gst_queue_init): 
1545         Free pad templates, fixes a couple of leaks.
1546
1547 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1548
1549         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1550
1551         * gst/gstpad.c: (gst_pad_get_property):
1552           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1553           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1554           (#321452)
1555
1556 2005-11-15  Wim Taymans  <wim@fluendo.com>
1557
1558         * gst/gstevent.c:
1559         Small doc update.
1560
1561 2005-11-15  Andy Wingo  <wingo@pobox.com>
1562
1563         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1564
1565         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1566         using GST_CLOCK_TIME_NONE to disable base time management.
1567         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1568         time if it was NONE before.
1569         (gst_pipeline_change_state): Only munge the base time if
1570         stream_time != GST_CLOCK_TIME_NONE.
1571
1572         * check/gst/gstpipeline.c (test_base_time): Punt around the
1573         problem of the probe not being called, because that's not the
1574         issue I'm looking at. Add a check that setting stream_time to NONE
1575         disables base time management.
1576         
1577 2005-11-15  Wim Taymans  <wim@fluendo.com>
1578
1579         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1580         segment_stop == -1 at startup.
1581
1582         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1583         (gst_base_transform_change_state):
1584         Init segment values at start.
1585
1586 2005-11-15  Wim Taymans  <wim@fluendo.com>
1587
1588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1589         0 segment values are 0 in any format.
1590
1591         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1592         * gst/base/gstbasetransform.h:
1593         Parse newsegment correctly in basetransform
1594
1595         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1596         Sync to clock using updated segment values.
1597
1598 2005-11-15  Andy Wingo  <wingo@pobox.com>
1599
1600         * check/gst/gstpipeline.c (test_base_time): Add check that the
1601         base time and stream time are reset correctly.
1602
1603 2005-11-15  Wim Taymans  <wim@fluendo.com>
1604
1605         * docs/design/part-TODO.txt:
1606         Some more TODO items.
1607
1608 2005-11-15  Andy Wingo  <wingo@pobox.com>
1609
1610         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1611         error if the user selected "no clock" as the clocking method.
1612
1613         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1614         timestamps with live capture.
1615
1616         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1617         is 0 but we are a live source, timestamp the buffers using the
1618         element's clock.
1619
1620 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1621
1622         * docs/gst/gstreamer-sections.txt:
1623         * gst/gsterror.c:
1624         * gst/gstghostpad.c:
1625         * gst/gstobject.h:
1626         * gst/gstxml.c:
1627           more section docs
1628
1629 2005-11-14  Wim Taymans  <wim@fluendo.com>
1630
1631         * common/gst.supp:
1632           add suppressions from Wim's Debian machine
1633
1634 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1635
1636         * common/gst.supp:
1637           add suppressions from Andy's AMD64 Ubuntu machine
1638
1639 2005-11-14  Andy Wingo  <wingo@pobox.com>
1640
1641         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1642         STATE_LOCK not necessary. Fixes #311489.
1643
1644         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1645         #305291.
1646
1647         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1648         this function is not implemented.
1649
1650 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1651
1652         * gst/base/gstbasetransform.c:
1653         (gst_base_transform_prepare_output_buf):
1654         Ref the source pad caps while we need them.
1655         Fixes (#321386)
1656
1657 2005-11-11  Wim Taymans  <wim@fluendo.com>
1658
1659         * docs/gst/gstreamer-sections.txt:
1660         Added some docs for GstCollectData.
1661
1662         * gst/base/gstadapter.c:
1663         Some small code example fix.
1664
1665         * gst/base/gstcollectpads.c:
1666         * gst/base/gstcollectpads.h:
1667         Document some more.
1668
1669 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1670
1671         * configure.ac: back to HEAD
1672
1673 === release 0.9.5 ===
1674
1675 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1676
1677         * configure.ac:
1678           releasing 0.9.5, "Bike Lunch Day"
1679
1680 2005-11-11  Wim Taymans  <wim@fluendo.com>
1681
1682         * gst/gstbuffer.c: (_gst_buffer_copy):
1683         Copy more flags.
1684
1685         * gst/gstcaps.c: (gst_caps_is_equal):
1686         Fix some docs.
1687         Make _is_equal fast in the trivial cases.
1688
1689         * gst/gstminiobject.c:
1690         * gst/gstminiobject.h:
1691         More docs. Spifify .h file.
1692
1693         * gst/gstutils.c:
1694         Small doc update.
1695
1696 2005-11-11  Wim Taymans  <wim@fluendo.com>
1697
1698         * gst/base/gstbasetransform.c:
1699         (gst_base_transform_prepare_output_buf),
1700         (gst_base_transform_handle_buffer):
1701         Small cleanups.
1702         If we're processing a buffer and need to allocate an output
1703         buffer, we cannot accept a format change. If we did get a 
1704         format change, we have to alloc a buffer ourselves of the 
1705         right size.
1706
1707 2005-11-11  Wim Taymans  <wim@fluendo.com>
1708
1709         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1710         While checking the flag for reentrancy in the gstcaps function
1711         is nice to detect recursive invocations, it also makes it 
1712         impossible to call getcaps from multiple threads, which must be
1713         possible. So, checking for recursive calls has to go.
1714
1715 2005-11-11  Michael Smith <msmith@fluendo.com>
1716
1717         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1718           Don't sync on buffers that fall partially outside our current
1719           segment. Prevents an assertion failure/abort playing some files.
1720
1721 2005-11-10  Andy Wingo  <wingo@pobox.com>
1722
1723         * check/gst/gstbin.c (test_message_state_changed_children): Style
1724         fix..
1725
1726         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1727         gst_bus_poll with the signal watch. Ensures that poll and a signal
1728         watch see the same messages.
1729
1730         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1731         a poll and a watch at the same time get the same messages.
1732
1733 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1734
1735         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1736         * gst/gstcaps.c: (gst_caps_intersect):
1737           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1738           and it's not needed.
1739
1740 2005-11-10  Wim Taymans  <wim@fluendo.com>
1741
1742         * docs/design/part-TODO.txt:
1743         Updated todo.
1744
1745 2005-11-10  Wim Taymans  <wim@fluendo.com>
1746
1747         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1748         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1749         (gst_base_src_do_sync), (gst_base_src_get_range):
1750         Implement clock sync in base class.
1751
1752 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1753
1754         patch by: Tim-Philipp Müller <tim at centricular dot net>
1755
1756         * gst/gststructure.c: (gst_structure_parse_field),
1757         (gst_structure_from_string):
1758           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1759           so that gst_parse_launch() can deal with spaces in filtered link
1760           caps (fixes #164479)
1761         * check/gst/capslist.h:
1762         * check/gst/gststructure.c: (GST_START_TEST):
1763           add unit tests for this change
1764
1765 2005-11-10  Wim Taymans  <wim@fluendo.com>
1766
1767         * docs/gst/gstreamer-sections.txt:
1768         * gst/gstelement.c:
1769         * gst/gstelement.h:
1770         Fix docs, move some STATE macros to private.
1771
1772 2005-11-10  Wim Taymans  <wim@fluendo.com>
1773
1774         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1775         Added check for bug #317341
1776
1777         * gst/gstbuffer.c:
1778         * gst/gstbuffer.h:
1779         Some more spiffifying.
1780
1781         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1782         Call peer linkfunction if we are a source pad. Totally fixes
1783         #317341
1784
1785         * gst/gstpad.c:
1786         Update docs, source pads should call the peer linkfunction
1787         so they can atomically perform the pad link.
1788
1789 2005-11-09  Wim Taymans  <wim@fluendo.com>
1790
1791         * gst/gstbuffer.c:
1792         * gst/gstbuffer.h:
1793         Uber-spiffy-spiffify some more.
1794
1795 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1796
1797         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1798         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1799         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1800         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1801         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1802         * gst/gstpad.c: (gst_pad_init):
1803           Use GST_DEBUG_FUNCPTR() more extensively.
1804
1805 2005-11-09  Wim Taymans  <wim@fluendo.com>
1806
1807         * gst/gstobject.c: (gst_object_class_init):
1808         * gst/gstobject.h:
1809         Documentation fixes.
1810
1811 2005-11-09  Edward Hervey  <edward@fluendo.com>
1812
1813         * gst/gsttypefindfactory.c:
1814         Fix docs.
1815         
1816 2005-11-09  Edward Hervey  <edward@fluendo.com>
1817
1818         * gst/base/gsttypefindhelper.c:
1819         * gst/gsttypefind.c:
1820         * gst/gsttypefind.h:
1821         Fix docs.
1822
1823 2005-11-09  Wim Taymans  <wim@fluendo.com>
1824
1825         * gst/gstiterator.c:
1826         Fix revision data.
1827
1828         * gst/gsttask.c:
1829         * gst/gsttask.h:
1830         Fix docs.
1831
1832 2005-11-09  Wim Taymans  <wim@fluendo.com>
1833
1834         * gst/gstevent.h:
1835         * gst/gsturi.h:
1836         Fix docs.
1837
1838 2005-11-09  Wim Taymans  <wim@fluendo.com>
1839
1840         * docs/gst/gstreamer-sections.txt:
1841         Moved the message async delivery private lock and cond
1842         to the private section.
1843
1844         * gst/gstmessage.c:
1845         * gst/gstmessage.h:
1846         Fixed docs.
1847
1848 2005-11-09  Edward Hervey  <edward@fluendo.com>
1849
1850         * docs/gst/gstreamer-sections.txt:
1851         * gst/gsturi.c:
1852         * gst/gsturi.h:
1853         Document GstURIHandler
1854
1855 2005-11-09  Wim Taymans  <wim@fluendo.com>
1856
1857         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1858         (gst_iterator_find_custom):
1859         * gst/gstiterator.h:
1860         Fix iterator docs.
1861
1862 2005-11-09  Wim Taymans  <wim@fluendo.com>
1863
1864         * gst/gstbin.h:
1865         Document another field.
1866
1867         * gst/gststructure.c:
1868         * gst/gststructure.h:
1869         Document.
1870
1871 2005-11-09  Wim Taymans  <wim@fluendo.com>
1872
1873         * gst/gstbin.h:
1874         Documented structs.
1875
1876 2005-11-09  Wim Taymans  <wim@fluendo.com>
1877
1878         * docs/gst/gstreamer-sections.txt:
1879         Added some new macros.
1880
1881         * gst/gstclock.c:
1882         * gst/gstclock.h:
1883         * gst/gstobject.h:
1884         Docs updates.
1885
1886 2005-11-09  Wim Taymans  <wim@fluendo.com>
1887
1888         * docs/design/part-TODO.txt:
1889         Some more items for the TODO
1890
1891         * gst/gstcaps.c:
1892         * gst/gstcaps.h:
1893         Document GstCaps.
1894
1895 2005-11-09  Andy Wingo  <wingo@pobox.com>
1896
1897         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1898         to work on something else now tho...
1899
1900         * gst/base/gstadapter.c: More adapter docs.
1901
1902         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1903         (gst_file_sink_stop): New functions, replace the state change
1904         handler.
1905         (gst_file_sink_class_init): Hook up the start and stop functions.
1906         (gst_file_sink_base_init): Don't set the state change handler any
1907         more. It was a bit ugly too, being set from here...
1908         (gst_file_sink_get_property, gst_file_sink_set_property):
1909         Cleanups...
1910         (gst_file_sink_set_location): More robust check that doesn't call
1911         GST_STATE. Ugggggg.
1912
1913 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1914
1915         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1916           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1917
1918 2005-11-08  Wim Taymans  <wim@fluendo.com>
1919
1920         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1921         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1922         (gst_base_sink_chain), (gst_base_sink_change_state):
1923         * gst/base/gstbasesink.h:
1924         * gst/base/gstbasesrc.h:
1925         * gst/gstelement.h:
1926         * gst/gstevent.h:
1927         Avoid excessive typechecking in macros.
1928
1929         * gst/gstminiobject.c: (gst_mini_object_get_type),
1930         (gst_mini_object_init), (gst_mini_object_new),
1931         (gst_mini_object_free):
1932         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1933         (gst_object_finalize):
1934         Remove cruft code, optimize alloc_trace.
1935
1936 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1937
1938         * docs/faq/gst-uninstalled:
1939           fix up PS1 for systems that try to reset it
1940
1941 2005-11-07  Wim Taymans  <wim@fluendo.com>
1942
1943         * gst/base/gstbasesrc.c: (gst_base_src_init),
1944         (gst_base_src_get_range):
1945         Set the segment_end to -1 initially. Fixed typefind.
1946
1947 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1948
1949         * gst/base/gstadapter.c:
1950           Debug category should be 'adapter', not 'GstAdapter'.
1951           
1952         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1953         (gst_collectpads_class_init), (gst_collectpads_init),
1954         (gst_collectpads_peek), (gst_collectpads_pop),
1955         (gst_collectpads_event), (gst_collectpads_chain):
1956           Add debug category and some debugging output. Use boilerplate
1957           macros. Remove some extraneous words from docs.
1958
1959 2005-11-05  Andy Wingo  <wingo@pobox.com>
1960
1961         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1962         macro.
1963
1964 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1965
1966         * docs/gst/gstreamer-sections.txt:
1967         * gst/gstcaps.h:
1968         * gst/gstinfo.c:
1969         * gst/gstminiobject.h:
1970         * gst/gstobject.h:
1971         * gst/gstutils.h:
1972           more docs added
1973
1974 2005-11-04  Wim Taymans  <wim@fluendo.com>
1975
1976         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1977         Small update to stop at the configured segment_end
1978         position.
1979
1980 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1981
1982         * gst/gstregistry.c:
1983         * gst/gstregistry.h:
1984           added missing docs
1985
1986 2005-11-04  Edward Hervey  <edward@fluendo.com>
1987
1988         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1989         Check if we are doing a segment seek and have arrived at the
1990         end of that segment.
1991
1992 2005-11-04  Wim Taymans  <wim@fluendo.com>
1993
1994         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1995         Don't leak a mutex unlock in case of an error.
1996
1997         * gst/gstbus.h:
1998         Doc fixes.
1999
2000 2005-11-04  Wim Taymans  <wim@fluendo.com>
2001
2002         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2003         (gst_bus_post):
2004         Get the context to wake up only once.
2005
2006 2005-11-03  Wim Taymans  <wim@fluendo.com>
2007
2008         * check/states/sinks.c: (GST_START_TEST):
2009         Uncomment fixed check.
2010
2011         * docs/design/part-TODO.txt:
2012         Updated TODO.
2013
2014         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2015         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2016         (gst_base_sink_get_position):
2017         If we are going to PLAYING, post the right pending state
2018         when we post the intermediate paused message.
2019
2020         * gst/gstelement.c: (gst_element_continue_state),
2021         (gst_element_set_state_func), (gst_element_change_state):
2022         Don't post state changes that were between the same state
2023         and were not ASYNC.
2024
2025 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2026
2027         * docs/gst/gstreamer-sections.txt:
2028         * gst/gstcaps.h:
2029         * gst/gstinfo.c:
2030         * gst/gstminiobject.h:
2031         * gst/gstobject.h:
2032         * gst/gstutils.h:
2033           more docs and doc style fixes
2034
2035 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2036
2037         * docs/gst/gstreamer-sections.txt:
2038         * gst/gstelement.c:
2039         * gst/gstminiobject.c:
2040         doc fixes
2041
2042 2005-11-03  Andy Wingo  <wingo@pobox.com>
2043
2044         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2045         state-changed messages actually have the right order and the right
2046         values.
2047
2048 2005-11-03  Wim Taymans  <wim@fluendo.com>
2049
2050         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2051         Added some more checks. Specifically the case where NO_PREROLL
2052         elements are in the pipeline.
2053
2054         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2055         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2056         (gst_base_sink_get_position):
2057         Post READY->PAUSED state change messages too.
2058         Fix bug where VOID was posted as pending state...
2059
2060         * gst/gstbin.c: (gst_bin_recalc_state):
2061         use _element_continue_state() to continue the state change.
2062
2063         * gst/gstelement.c: (gst_element_continue_state),
2064         (gst_element_commit_state), (gst_element_set_state_func),
2065         (gst_element_change_state), (gst_element_change_state_func):
2066         Lots of state change cleanups, assign the STATE_RETURN in
2067         a new continue_state() function that also propagates the
2068         last return value from a state change to the app.
2069         Update some debug statements with proper category.
2070
2071 2005-11-03  Wim Taymans  <wim@fluendo.com>
2072
2073         * docs/design/part-events.txt:
2074         * docs/design/part-gstpipeline.txt:
2075         * docs/design/part-messages.txt:
2076         * docs/design/part-overview.txt:
2077         * docs/design/part-seeking.txt:
2078         * docs/design/part-states.txt:
2079         * docs/design/part-trickmodes.txt:
2080         * docs/manual/advanced-position.xml:
2081         Small docs updates.
2082
2083         * gst/gstobject.h:
2084         People think !! is ugly, this looks better.
2085
2086         * gst/gstpad.c: (gst_pad_set_blocked_async):
2087         Remove !! since it's fixed elsewhere now.
2088
2089 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2090
2091         * gst/gstminiobject.h:
2092         * gst/gstobject.h:
2093           Add !! to _FLAG_IS_SET macros to make the result boolean.
2094
2095 2005-11-03  Edward Hervey  <edward@fluendo.com>
2096
2097         * gst/gstpad.c: (gst_pad_set_blocked_async):
2098         comparing a flag and a gboolean rarely returns coherent results...
2099         Added two characters (!!) to make that work correctly.
2100         
2101 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2102
2103         * gst/gstbus.c: (gst_bus_class_init):
2104           Fix some typos.
2105           
2106         * gst/gstqueue.c: (gst_queue_loop):
2107           Don't assume a miniobject that isn't a buffer is an
2108           event (it could be that there is a refcounting
2109           problem somewhere and the pointer is stale and
2110           refers to an already destroyed miniobject).
2111
2112 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2113
2114         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2115
2116 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2117
2118         * docs/manual/advanced-position.xml:
2119           Update seek example and explanations to current 0.9 API.
2120
2121         * gst/elements/gsttypefindelement.c:
2122         (gst_type_find_element_activate):
2123           Remove FIXME comment now that the found caps
2124           are unreffed.
2125
2126 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2127
2128         * gst/gstregistryxml.c: (load_feature):
2129           Add another GST_STR_NULL instance
2130
2131 2005-11-02  Edward Hervey  <edward@fluendo.com>
2132
2133         * gst/gstpad.c: (handle_pad_block):
2134         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2135         
2136 2005-11-02  Wim Taymans  <wim@fluendo.com>
2137
2138         * gst/gstbin.c:
2139         Fix typo in docs.
2140
2141         * gst/gstelement.c: (gst_element_commit_state):
2142         Remove unused value.
2143
2144         * gst/gstiterator.c:
2145         Mention that the returned element is reffed in the docs.
2146
2147 2005-11-02  Wim Taymans  <wim@fluendo.com>
2148
2149         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2150         (gst_pad_push), (gst_pad_push_event):
2151         Unlock blocked pads when they are flushed.
2152
2153 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2154
2155         * docs/README:
2156         * docs/gst/gstreamer-sections.txt:
2157         * gst/gstbin.c:
2158           doc updates
2159         * gst/gstregistry.c: (gst_registry_scan_path_level):
2160           fix for a nasty little missed situation where an installed plug-in
2161           which was in the cache did not get overridden by an uninstalled one
2162           which was earlier in the plugin path because the newly created plugin
2163           for the uninstalled one (not in the registry) didn't get its
2164           ->registered set to TRUE
2165
2166 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2167
2168         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2169         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2170         (gst_collectpads_is_active), (gst_collectpads_collect),
2171         (gst_collectpads_collect_range), (gst_collectpads_start),
2172         (gst_collectpads_stop), (gst_collectpads_peek),
2173         (gst_collectpads_pop), (gst_collectpads_available),
2174         (gst_collectpads_read), (gst_collectpads_flush):
2175           Guard public API with assertions.
2176         
2177         * gst/gstpad.c:
2178           Fix docs for gst_pad_set_link_function().
2179
2180 2005-11-02  Johan Dahlin  <johan@gnome.org>
2181
2182         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2183         Unref found_caps after we used it.
2184
2185 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2186
2187         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2188           Don't try to ref NULL.
2189
2190 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2191
2192         * win32/common/config.h.in:
2193           provide a GST_FUNCTION that just gives a string for now
2194
2195 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2196
2197         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2198         (gst_object_flags_get_type), (register_gst_bin_flags),
2199         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2200         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2201         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2202         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2203         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2204         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2205         (gst_clock_flags_get_type), (register_gst_state),
2206         (gst_state_get_type), (register_gst_state_change_return),
2207         (gst_state_change_return_get_type), (register_gst_state_change),
2208         (gst_state_change_get_type), (register_gst_element_flags),
2209         (gst_element_flags_get_type), (register_gst_core_error),
2210         (gst_core_error_get_type), (register_gst_library_error),
2211         (gst_library_error_get_type), (register_gst_resource_error),
2212         (gst_resource_error_get_type), (register_gst_stream_error),
2213         (gst_stream_error_get_type), (register_gst_event_type),
2214         (gst_event_type_get_type), (register_gst_seek_type),
2215         (gst_seek_type_get_type), (register_gst_seek_flags),
2216         (gst_seek_flags_get_type), (register_gst_format),
2217         (gst_format_get_type), (register_gst_index_certainty),
2218         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2219         (gst_index_entry_type_get_type),
2220         (register_gst_index_lookup_method),
2221         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2222         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2223         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2224         (gst_index_flags_get_type), (register_gst_debug_level),
2225         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2226         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2227         (gst_iterator_result_get_type), (register_gst_iterator_item),
2228         (gst_iterator_item_get_type), (register_gst_message_type),
2229         (gst_message_type_get_type), (register_gst_mini_object_flags),
2230         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2231         (gst_pad_link_return_get_type), (register_gst_flow_return),
2232         (gst_flow_return_get_type), (register_gst_activate_mode),
2233         (gst_activate_mode_get_type), (register_gst_pad_direction),
2234         (gst_pad_direction_get_type), (register_gst_pad_flags),
2235         (gst_pad_flags_get_type), (register_gst_pad_presence),
2236         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2237         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2238         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2239         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2240         (gst_plugin_flags_get_type), (register_gst_rank),
2241         (gst_rank_get_type), (register_gst_query_type),
2242         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2243         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2244         (gst_tag_flag_get_type), (register_gst_task_state),
2245         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2246         (gst_alloc_trace_flags_get_type),
2247         (register_gst_type_find_probability),
2248         (gst_type_find_probability_get_type), (register_gst_uri_type),
2249         (gst_uri_type_get_type), (register_gst_parse_error),
2250         (gst_parse_error_get_type):
2251         * win32/common/gstversion.h:
2252           update win32 copies
2253
2254 2005-11-01  Luca Ognibene  <luogni@tin.it>
2255
2256         * gst/gst.c:
2257           fix docs. popt is dead, long live GOption.
2258
2259 2005-10-31  Wim Taymans  <wim@fluendo.com>
2260
2261         * gst/gstbuffer.h:
2262         Small doc fix.
2263
2264 2005-10-31  Andy Wingo  <wingo@pobox.com>
2265
2266         * Boo!
2267
2268         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2269
2270         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2271         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2272         the possibility of deadlocks here if code calling notify() or
2273         set() has a lock that can be taken in another notify handler (ABBA
2274         with class lock and e.g. python GIL state lock).
2275
2276 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2277
2278         * gst/gstbus.c: Doc updates.
2279
2280 2005-10-28  Wim Taymans  <wim@fluendo.com>
2281
2282         * docs/design/part-TODO.txt:
2283         * gst/gstiterator.c:
2284         * gst/gstsystemclock.c:
2285         * gst/gstsystemclock.h:
2286         Doc updates.
2287
2288 2005-10-28  Edward Hervey  <edward@fluendo.com>
2289
2290         * docs/gst/gstreamer-docs.sgml:
2291         * docs/gst/gstreamer-sections.txt:
2292         the GstURIType documentation page is private, it only defines GstURIType
2293         which should be defined in the GstURIHandler page
2294         
2295 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2296
2297         * gst/gstbin.c: (gst_bin_class_init):
2298         * gst/gstbin.h:
2299         * gst/gstutils.c:
2300         Documentation updates.
2301
2302 2005-10-28  Wim Taymans  <wim@fluendo.com>
2303
2304         * docs/gst/gstreamer-sections.txt:
2305         * gst/gstclock.c:
2306         * gst/gstclock.h:
2307         Documented the clocks.
2308
2309 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2310
2311         * docs/gst/gstreamer-sections.txt:
2312           move some macros to private sections
2313         * gst/gstminiobject.c:
2314         * gst/gstminiobject.h:
2315           add descriptions provided by ds and some more
2316         * gst/gstpad.h:
2317           mark macro as to be removed
2318
2319 2005-10-28  Wim Taymans  <wim@fluendo.com>
2320
2321         * docs/design/part-TODO.txt:
2322         Add an item to TODO.
2323
2324         * gst/gstiterator.c: (gst_iterator_fold),
2325         (gst_iterator_find_custom):
2326         * gst/gstiterator.h:
2327         Add iterator docs.
2328
2329 2005-10-28  Wim Taymans  <wim@fluendo.com>
2330
2331         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2332         (gst_base_transform_init):
2333         Don't leak class.
2334
2335         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2336         An EOS event marks the queue as completely filled.
2337
2338 2005-10-27  Wim Taymans  <wim@fluendo.com>
2339
2340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2341         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2342         Some more debugging.
2343
2344         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2345         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2346         (gst_base_transform_event), (gst_base_transform_getrange),
2347         (gst_base_transform_chain):
2348         * gst/base/gstbasetransform.h:
2349         Fix debugging,
2350         Protect transform and concurrent buffer alloc with a new lock.
2351         Try not to break ABI/API.
2352
2353 2005-10-27  Wim Taymans  <wim@fluendo.com>
2354
2355         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2356         (gst_base_src_init), (gst_base_src_query),
2357         (gst_base_src_default_newsegment),
2358         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2359         (gst_base_src_send_event), (gst_base_src_event_handler),
2360         (gst_base_src_pad_get_range), (gst_base_src_loop),
2361         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2362         (gst_base_src_start), (gst_base_src_deactivate),
2363         (gst_base_src_activate_push), (gst_base_src_change_state):
2364         Move some stuff around and cleanup things.
2365
2366 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2367
2368         * gst/base/gstbasesrc.c: (gst_base_src_query):
2369           Add missing break statements.
2370
2371 2005-10-27  Wim Taymans  <wim@fluendo.com>
2372
2373         * check/gst/gstbin.c: (GST_START_TEST):
2374         An extra refcount is taken in basesrc.
2375
2376         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2377         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2378         (gst_base_src_loop):
2379         Small cleanups, check for flushing after being unlocked from the 
2380         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2381         Don't send out EOS when going to READY.
2382
2383 2005-10-27  Wim Taymans  <wim@fluendo.com>
2384
2385         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2386         (gst_base_sink_get_position):
2387         Some more debug.
2388
2389         * gst/gstbin.c: (message_check), (bin_replace_message),
2390         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2391         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2392         (bin_query_duration_init), (bin_query_duration_fold),
2393         (bin_query_duration_done), (bin_query_generic_fold),
2394         (gst_bin_query):
2395         * tools/gst-launch.c: (main):
2396         Remove old option.
2397
2398 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2399
2400         * examples/controller/audio-example.c: (main):
2401         * examples/queue/queue.c: (event_loop):
2402         * gst/base/gstbasetransform.h:
2403         * gst/gstelement.c: (gst_element_send_event):
2404         * gst/gstevent.h:
2405         * gst/gstpad.c: (gst_pad_send_event):
2406           fixing examples
2407           fixing docs typos
2408           changing log priority in error situations
2409
2410 2005-10-25  Wim Taymans  <wim@fluendo.com>
2411
2412         * gst/gstbin.c: (message_check), (bin_replace_message),
2413         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2414         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2415         (bin_query_duration_init), (bin_query_duration_fold),
2416         (bin_query_duration_done), (bin_query_generic_fold),
2417         (gst_bin_query):
2418         Some doc and debug updates.
2419         Cache previously requested query DURATION for speed. invalidate
2420         cached duration if element posts a DURATION message.
2421
2422 2005-10-25  Wim Taymans  <wim@fluendo.com>
2423
2424         * docs/design/part-TODO.txt:
2425         Update TODO.
2426
2427         * gst/gstbin.c: (message_check), (bin_replace_message),
2428         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2429         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2430         (bin_query_duration_init), (bin_query_duration_fold),
2431         (bin_query_duration_done), (bin_query_generic_fold),
2432         (gst_bin_query):
2433         Handle SEGMENT_START/DONE messages correctly.
2434         More evolved query algorithm that handles duration queries
2435         correctly.
2436
2437         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2438         (gst_element_get_state_func), (gst_element_abort_state),
2439         (gst_element_commit_state), (gst_element_lost_state):
2440         Some more debugging.
2441
2442         * gst/gstmessage.h:
2443         Added doc.
2444
2445 2005-10-25  Wim Taymans  <wim@fluendo.com>
2446
2447         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2448         Don't use invalid stream_time.
2449
2450         * gst/gstevent.c: (gst_event_new_newsegment):
2451         stream_time in newsegment cannot be undefined.
2452
2453 2005-10-24  Wim Taymans  <wim@fluendo.com>
2454
2455         * gst/gstbus.c:
2456         Doc fix.
2457
2458         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2459         (gst_queue_loop):
2460         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2461
2462 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2463
2464         * docs/libs/tmpl/gstdparam.sgml:
2465         * docs/libs/tmpl/gstdplinint.sgml:
2466         * docs/libs/tmpl/gstdpman.sgml:
2467         * docs/libs/tmpl/gstdpsmooth.sgml:
2468         * docs/libs/tmpl/gstunitconvert.sgml:
2469           these are obsolete
2470
2471 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2472
2473         * configure.ac:
2474           back to HEAD
2475
2476 === release 0.9.4 ===
2477
2478 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2479
2480         * configure.ac:
2481           releasing 0.9.4, "Tyrannosaurus Rex"
2482
2483 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2484
2485         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2486         (gst_file_sink_get_current_offset):
2487           Use fseeko() and ftello() if available. When falling back on
2488           lseek() to get the current offset, fflush() first to make sure
2489           everything is up-to-date and we get the right offset.
2490
2491 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2492
2493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2494         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2495         * gst/gsterror.c: (_gst_stream_errors_init):
2496         * gst/gsterror.h:
2497         * gst/gstqueue.c: (gst_queue_loop):
2498         * po/POTFILES.in:
2499           remove prematurely added error category and clean up the instances
2500
2501 2005-10-21  Wim Taymans  <wim@fluendo.com>
2502
2503         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2504         (gst_base_sink_get_position), (gst_base_sink_query),
2505         (gst_base_sink_change_state):
2506         Simply set the right flag when going to playing, that's all
2507         we need to do instead of calling a function inside the object
2508         lock (that could take the lock as well and deadlock)
2509
2510 2005-10-21  Wim Taymans  <wim@fluendo.com>
2511
2512         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2513         (gst_base_src_loop):
2514         Don't warn, the peer element knows what to do best when
2515         the seek failed, it might try something else.
2516
2517 2005-10-21  Wim Taymans  <wim@fluendo.com>
2518
2519         * gst/base/gstbasesrc.c: (gst_base_src_init),
2520         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2521         Fix seeking.
2522
2523 2005-10-21  Wim Taymans  <wim@fluendo.com>
2524
2525         * docs/design/part-segments.txt:
2526         More docs.
2527
2528         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2529         Correctly set caps, even on the subbufer.
2530
2531 2005-10-21  Wim Taymans  <wim@fluendo.com>
2532
2533         * docs/gst/gstreamer-docs.sgml:
2534         * docs/gst/gstreamer-sections.txt:
2535         * gst/gstelement.h:
2536         * gst/gstevent.c:
2537         * gst/gstevent.h:
2538         * gst/gstmessage.h:
2539         * gst/gstpad.h:
2540         * gst/gstparse.h:
2541         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2542         * gst/gsttask.h:
2543         * gst/gstutils.c:
2544         * gst/gstutils.h:
2545         And 2% more doc coverage.
2546
2547 2005-10-21  Andy Wingo  <wingo@pobox.com>
2548
2549         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2550         position reporting.
2551
2552 2005-10-20  Wim Taymans  <wim@fluendo.com>
2553
2554         * gst/gsterror.c: (gst_error_get_message):
2555         * gst/gstparse.h:
2556         * gst/gstquery.h:
2557         * gst/gststructure.c:
2558         * gst/gsttrace.c:
2559         * gst/gstutils.c:
2560         More docs.
2561
2562 2005-10-20  Wim Taymans  <wim@fluendo.com>
2563
2564         * gst/gstbuffer.h:
2565         * gst/gstpad.c:
2566         * gst/gstparse.c:
2567         Another 1% more coverage.
2568
2569 2005-10-20  Wim Taymans  <wim@fluendo.com>
2570
2571         * docs/gst/gstreamer-sections.txt:
2572         * gst/gstelement.c: (gst_element_get_state_func),
2573         (gst_element_abort_state), (gst_element_commit_state),
2574         (gst_element_lost_state):
2575         * gst/gstevent.h:
2576         * gst/gstquery.c: (gst_query_set_position),
2577         (gst_query_parse_position), (gst_query_set_duration),
2578         (gst_query_parse_duration), (gst_query_new_convert):
2579         * gst/gstutils.c:
2580         Yay! 1% more docs coverage.
2581
2582 2005-10-20  Wim Taymans  <wim@fluendo.com>
2583
2584         * gst/gstpad.h:
2585         * gst/gstquery.c: (gst_query_set_position),
2586         (gst_query_parse_position), (gst_query_set_duration),
2587         (gst_query_parse_duration), (gst_query_new_convert):
2588         * gst/gstquery.h:
2589         * gst/gstutils.c: (gst_element_query_convert):
2590         * gst/gstutils.h:
2591         Docs and consistency fixes.
2592
2593 2005-10-20  Wim Taymans  <wim@fluendo.com>
2594
2595         * gst/gsttask.c:
2596         * gst/gsttask.h:
2597         More docs.
2598
2599 2005-10-20  Wim Taymans  <wim@fluendo.com>
2600
2601         * gst/gstbin.c: (message_check), (bin_replace_message),
2602         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2603         (update_degree), (gst_bin_sort_iterator_next),
2604         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2605         Reworked the message handling a bit, cache the messages instead of
2606         only the senders. alows us to do more in the future.
2607
2608 2005-10-20  Wim Taymans  <wim@fluendo.com>
2609
2610         * docs/design/part-TODO.txt:
2611         Update TODO
2612
2613         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2614         (gst_base_sink_query):
2615         Don't use clock time to report position when in EOS.
2616
2617 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2618
2619         * tools/gst-inspect.c: (print_interfaces),
2620         (print_element_properties_info), (print_element_info):
2621           Fix interface output with gst-inspect -a; don't print
2622           newlines after double/float properties.
2623
2624 2005-10-20  Wim Taymans  <wim@fluendo.com>
2625
2626         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2627         (gst_base_sink_query):
2628         Speed up current position calculation.
2629
2630         * gst/base/gstbasesrc.c: (gst_base_src_query),
2631         (gst_base_src_default_newsegment):
2632         Correctly set stream position in newsegment.
2633
2634         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2635         (update_degree), (gst_bin_sort_iterator_next),
2636         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2637         * gst/gstmessage.c: (gst_message_new_custom):
2638         Clean up debugging info
2639
2640         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2641         (gst_queue_loop), (gst_queue_handle_src_query):
2642         Pause task faster.
2643
2644 2005-10-19  Wim Taymans  <wim@fluendo.com>
2645
2646         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2647         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2648         Fix query handling again.
2649
2650 2005-10-19  Wim Taymans  <wim@fluendo.com>
2651
2652         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2653         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2654         * gst/base/gstbasesrc.c: (gst_base_src_query):
2655         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2656         * gst/elements/gsttypefindelement.c:
2657         (gst_type_find_handle_src_query), (find_element_get_length),
2658         (gst_type_find_element_activate):
2659         API change fix.
2660
2661         * gst/gstquery.c: (gst_query_new_position),
2662         (gst_query_set_position), (gst_query_parse_position),
2663         (gst_query_new_duration), (gst_query_set_duration),
2664         (gst_query_parse_duration), (gst_query_set_segment),
2665         (gst_query_parse_segment):
2666         * gst/gstquery.h:
2667         Bundling query position/duration is not a good idea since duration
2668         does not change much and we don't want to recalculate it for every
2669         position query, so they are separated again..
2670         Base value in segment query is not needed.
2671
2672         * gst/gstqueue.c: (gst_queue_handle_src_query):
2673         * gst/gstutils.c: (gst_element_query_position),
2674         (gst_element_query_duration), (gst_pad_query_position),
2675         (gst_pad_query_duration):
2676         * gst/gstutils.h:
2677         Updates for query API change.
2678         Added some docs here and there.
2679
2680 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2681
2682         * check/gst/gstbin.c: (GST_START_TEST):
2683         * check/gst/gstghostpad.c: (GST_START_TEST):
2684         * check/pipelines/cleanup.c: (GST_START_TEST):
2685           wait on thread to die so we can check refcount correctly
2686
2687 2005-10-18  Wim Taymans  <wim@fluendo.com>
2688
2689         * check/pipelines/stress.c: (GST_START_TEST):
2690         Make check a little more time consuming.
2691
2692 2005-10-18  Wim Taymans  <wim@fluendo.com>
2693
2694         * check/Makefile.am:
2695         * check/pipelines/stress.c: (GST_START_TEST),
2696         (simple_launch_lines_suite), (main):
2697         Small state change torture test.
2698
2699         * docs/design/part-states.txt:
2700         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2701         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2702         (gst_base_sink_change_state):
2703         Never take state lock from streaming thread, clean up ugly
2704         hacks. Unfortunatly core does not yet support nice ways to
2705         async commit state.
2706         
2707         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2708         (bin_bus_handler):
2709         Start state recalc if a STATE_DIRTY message is posted, but only
2710         on the toplevel bin.
2711
2712         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2713         (gst_element_get_state_func), (gst_element_abort_state),
2714         (gst_element_commit_state), (gst_element_lost_state),
2715         (gst_element_set_state_func), (gst_element_change_state):
2716         * gst/gstelement.h:
2717         State variables are now protected with the LOCK, the state
2718         lock is only used to serialize _set_state().
2719
2720 2005-10-18  Wim Taymans  <wim@fluendo.com>
2721
2722         * check/gst/gstbin.c: (GST_START_TEST):
2723         * check/gst/gstmessage.c: (GST_START_TEST):
2724         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2725         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2726         (bin_bus_handler):
2727         * gst/gstelement.c: (gst_element_abort_state),
2728         (gst_element_commit_state), (gst_element_lost_state):
2729         * gst/gstmessage.c: (gst_message_new_state_changed),
2730         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2731         (gst_message_new_segment_done), (gst_message_new_duration),
2732         (gst_message_parse_state_changed),
2733         (gst_message_parse_segment_start),
2734         (gst_message_parse_segment_done), (gst_message_parse_duration):
2735         * gst/gstmessage.h:
2736         * tools/gst-launch.c: (event_loop):
2737         Seriously, this is better than a previous commit as we only need
2738         to notify the fact that an element changed state in a streaming
2739         thread, marking the state of the parents dirty, hence the 
2740         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2741         message.
2742
2743 2005-10-18  Wim Taymans  <wim@fluendo.com>
2744
2745         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2746         (gst_bin_recalc_func):
2747         * gst/gstelement.c: (gst_element_set_clock),
2748         (gst_element_abort_state), (gst_element_lost_state):
2749         Cleanups, prepare for state change fixes.
2750
2751 2005-10-18  Wim Taymans  <wim@fluendo.com>
2752
2753         * gst/gstbin.h:
2754         * gst/gstelement.c: (gst_element_class_init),
2755         (gst_element_set_state), (gst_element_set_state_func):
2756         * gst/gstelement.h:
2757         Pending ABI changes.
2758         GThreadPool in GstBinClass to monitor async state changes.
2759         state_cookie in GstElement to detect concurrent gst/set state.
2760         set_state is now virtual too in case a very complicated element
2761         has to be constructed.
2762
2763 2005-10-18  Wim Taymans  <wim@fluendo.com>
2764
2765         * check/gst/gstbin.c: (GST_START_TEST):
2766         * check/gst/gstmessage.c: (GST_START_TEST):
2767         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2768         * gst/gstbin.c: (bin_bus_handler):
2769         * gst/gstelement.c: (gst_element_commit_state),
2770         (gst_element_lost_state):
2771         * gst/gstmessage.c: (gst_message_new_state_changed),
2772         (gst_message_new_segment_start), (gst_message_new_segment_done),
2773         (gst_message_new_duration), (gst_message_parse_state_changed),
2774         (gst_message_parse_segment_start),
2775         (gst_message_parse_segment_done), (gst_message_parse_duration):
2776         * gst/gstmessage.h:
2777         * tools/gst-launch.c: (event_loop):
2778         Make messages future proof.
2779         state-change gets a flag if it was a message comming from the
2780         streaming thread.
2781         segment-start/stop can also be specified in other formats.
2782         A message to notify an app that a pipeline changed playback 
2783         duration.
2784         Also fix a GstMessage leak in -launch
2785
2786 2005-10-18  Andy Wingo  <wingo@pobox.com>
2787
2788         * gst/gstelement.c (gst_element_dispose): More helpful message.
2789
2790 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2791
2792         reviewed by: <delete if not using a buddy>
2793
2794         * common/gtk-doc.mak:
2795
2796 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2797
2798         * gst/gstregistry.c: (gst_registry_scan_path_level):
2799           unref a plug-in we get that was already initialized
2800
2801 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2802
2803         * docs/gst/gstreamer-sections.txt:
2804         * docs/libs/gstreamer-libs-sections.txt:
2805         * gst/gstelement.h:
2806           add new api entries
2807           hide internal macro
2808
2809 2005-10-17  Andy Wingo  <wingo@pobox.com>
2810
2811         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2812         cleanup.
2813
2814         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2815
2816         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2817
2818         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2819         (gst_element_get_state_func): Better debug message.
2820         (gst_element_commit_state): s/INFO/DEBUG/.
2821         (gst_element_lost_state, gst_element_change_state): 
2822
2823         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2824         (gst_message_new_custom): s/INFO/LOG/.
2825
2826 2005-10-17  Michael Smith <msmith@fluendo.com>
2827
2828         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2829           Check if end time is valid using end time, not start time.
2830
2831 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2832
2833         * check/gst-libs/controller.c: (GST_START_TEST),
2834         (gst_controller_suite):
2835         * libs/gst/controller/gstcontroller.c:
2836         (gst_controlled_property_set_interpolation_mode):
2837         * libs/gst/controller/gstcontroller.h:
2838         * libs/gst/controller/gstinterpolation.c:
2839         * testsuite/controller/.cvsignore:
2840         * testsuite/controller/Makefile.am:
2841         * testsuite/controller/interpolator.c:
2842           merge controller testsuites
2843           fix broken tests
2844           remove mem-chunk from docs
2845
2846 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2847
2848         * gst/gstmemchunk.c:
2849         * gst/gstmemchunk.h:
2850         * gst/gsttrashstack.c:
2851         * gst/gsttrashstack.h:
2852           out.  get out.  you're fired.  to the Attic !
2853
2854 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2855
2856         * gst/gstcaps.c: (gst_caps_intersect):
2857           fix signedness issues in a (hopefully) correct way
2858         * gst/gstelement.c: (gst_element_pads_activate):
2859           some debugging
2860         * gst/gstobject.c: (gst_object_set_parent):
2861           some debugging
2862
2863 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2864
2865         * gst/gstvalue.h: Fix prototypes.
2866
2867 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2868
2869         * docs/gst/gstreamer-sections.txt:
2870         * gst/gst.c: (gst_version_string):
2871         * gst/gst.h:
2872         * gst/gstversion.h.in:
2873         * win32/common/libgstreamer.def:
2874           add gst_version_string ()
2875
2876 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2877
2878         * configure.ac:
2879           clean up further
2880         * gst/gst.c: (init_post):
2881         * win32/common/config.h.in:
2882           it's PLUGINDIR now
2883         * gst/gstcaps.c: (gst_caps_intersect):
2884           use gint64, the range could be bigger than a guint
2885
2886 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2887
2888         * gst/gstclock.h:
2889           document potential problem in 2038
2890
2891 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2892
2893         * gst/gstcaps.c: (gst_caps_intersect):
2894           Fix guint j diving under 0
2895
2896 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2897
2898         * configure.ac:
2899         * win32/common/config.h:
2900         * win32/common/config.h.in:
2901           check for process.h, declares getpid() on Windows
2902         * gst/gstinfo.c:
2903           include process.h if we have it
2904         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2905         * gst/gstmemchunk.h:
2906           fix signedness issues
2907         * win32/common/libgstreamer.def:
2908           fix get_type's
2909
2910 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2911
2912         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2913         fix. Because of unsigned ints, caps intersection was going nuts and
2914         trying to access structures with G_MAXUINT index. That fixes
2915         videotestsrc ! ffmpegcolorspace ! fakesink
2916         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2917         consistency.
2918
2919 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2920
2921         * configure.ac:
2922           use the gettext macro
2923         * gst/elements/gstelements.c:
2924         * gst/gst.c:
2925         * gst/indexers/gstindexers.c:
2926           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2927         * win32/common/config.h:
2928           updated config.h
2929         * win32/common/config.h.in:
2930           add the template to generate config.h
2931         * win32/common/gstenumtypes.c:
2932         * win32/common/gstversion.h:
2933           updated copies
2934
2935 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2936
2937         * gst/gst.c: (gst_version):
2938         * gst/gstversion.h.in:
2939           add the nano
2940
2941 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2942
2943         * gst/gstevent.h:
2944           Oops, add missing closing bracket.
2945
2946 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2947
2948         * configure.ac:
2949           use common m4's for argument checking
2950
2951 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2952
2953         * docs/gst/gstreamer-sections.txt:
2954         * gst/gstevent.h:
2955           Add GST_EVENT_TYPE_NAME() macro.
2956
2957 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * gst/gstinfo.c:
2960         * gst/gstpluginfeature.c:
2961         * gst/gsttask.c:
2962           privatize more symbols
2963
2964 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2965
2966         * configure.ac:
2967           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2968           everything that uses GStreamer API should have the includes
2969
2970 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2971
2972         * docs/gst/gstreamer-sections.txt:
2973         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2974         * gst/gstvalue.h:
2975           give each value a _get_type, removes the DATA exports
2976
2977 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2978
2979         * gst/gst.c:
2980         * gst/gst.h:
2981           remove _gst_registry_auto_load, not used anymore
2982         * gst/gstbin.c: (gst_bin_get_type):
2983         * gst/gstbin.h:
2984         * gst/gstelement.c: (gst_element_get_type):
2985         * gst/gstelement.h:
2986         * gst/gstobject.c: (gst_object_get_type):
2987         * gst/gstobject.h:
2988         * gst/gstpad.c: (gst_pad_get_type):
2989         * gst/gstpad.h:
2990           make _get_type functions similar, fixes data export from library
2991
2992 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2993
2994         * configure.ac:
2995           correctly make conditionals
2996         * gst/elements/Makefile.am:
2997         * gst/elements/gstelements.c:
2998           fix typo causing fdsrc not to build
2999
3000 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3001
3002         * testsuite/Makefile.am:
3003         * testsuite/bytestream/.cvsignore:
3004         * testsuite/bytestream/Makefile.am:
3005         * testsuite/bytestream/filepadsink.c:
3006         * testsuite/bytestream/gstbstest.c:
3007         * testsuite/bytestream/test1.c:
3008         * testsuite/bytestream/testfile1:
3009         * testsuite/caps/normalisation.c:
3010         * testsuite/caps/random.c: (main):
3011         * testsuite/cleanup/.cvsignore:
3012         * testsuite/cleanup/Makefile.am:
3013         * testsuite/cleanup/cleanup1.c:
3014         * testsuite/cleanup/cleanup2.c:
3015         * testsuite/cleanup/cleanup3.c:
3016         * testsuite/cleanup/cleanup4.c:
3017         * testsuite/cleanup/cleanup5.c:
3018         * testsuite/controller/interpolator.c:
3019         * testsuite/debug/printf_extension.c: (main):
3020         * testsuite/elements/tee.c:
3021         * testsuite/negotiation/.cvsignore:
3022         * testsuite/negotiation/Makefile.am:
3023         * testsuite/negotiation/pad_link.c:
3024         * testsuite/pad/Makefile.am:
3025         * testsuite/pad/chainnopull.c:
3026         * testsuite/pad/getnopush.c:
3027         * testsuite/pad/link.c:
3028         * testsuite/refcounting/sched.c: (create_pipeline):
3029         * testsuite/registry/Makefile.am:
3030         * testsuite/registry/gst-print-formats.c:
3031         * testsuite/schedulers/.cvsignore:
3032         * testsuite/schedulers/142183-2.c:
3033         * testsuite/schedulers/142183.c:
3034         * testsuite/schedulers/143777-2.c:
3035         * testsuite/schedulers/143777.c:
3036         * testsuite/schedulers/147713.c:
3037         * testsuite/schedulers/147819.c:
3038         * testsuite/schedulers/147894-2.c:
3039         * testsuite/schedulers/147894.c:
3040         * testsuite/schedulers/Makefile.am:
3041         * testsuite/schedulers/group_link.c:
3042         * testsuite/schedulers/queue_link.c:
3043         * testsuite/schedulers/relink.c:
3044         * testsuite/schedulers/unlink.c:
3045         * testsuite/schedulers/unref.c:
3046         * testsuite/schedulers/useless_iteration.c:
3047         * testsuite/states/bin.c:
3048           clean out/remove some stuff from the testsuite directories
3049
3050 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3051
3052         * configure.ac:
3053           check for some headers
3054         * gst/elements/Makefile.am:
3055         * gst/elements/gstelements.c:
3056           don't compile fdsrc without sys/socket.h
3057         * gst/indexers/Makefile.am:
3058         * gst/indexers/gstindexers.c: (plugin_init):
3059           don't compile fileindex without mmap
3060
3061 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3062
3063         * configure.ac:
3064           reorganize
3065           clean up
3066           document more
3067           remove cruft
3068         * check/Makefile.am:
3069         * docs/gst/Makefile.am:
3070         * examples/helloworld/Makefile.am:
3071         * gst/Makefile.am:
3072         * gst/base/Makefile.am:
3073         * gst/check/Makefile.am:
3074         * gst/elements/Makefile.am:
3075         * gst/indexers/Makefile.am:
3076         * gst/parse/Makefile.am:
3077         * libs/gst/controller/Makefile.am:
3078         * libs/gst/dataprotocol/Makefile.am:
3079         * examples/helloworld/helloworld.c: (event_loop):
3080           compile fixes, though it's not being compiled currently
3081
3082 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3083
3084         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3085           Add some simple tests for the new taglist date API.
3086
3087 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3088
3089         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3090         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3091           Beautify 'last-message' output: print 'none' for buffer timestamps
3092           and durations if none is set; improve alignment with next messages.
3093
3094 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3095
3096         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3097         * gst/gstpluginfeature.h:
3098         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3099         * gst/gstregistry.h:
3100         * docs/gst/gstreamer-sections.txt:
3101           Add new API to check plugin feature version requirements.
3102
3103         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3104           Some basic tests for the above.         
3105
3106 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3107
3108         * gst/gststructure.c: (gst_structure_to_string):
3109           guard against NULL printf - happens when for example
3110           a message structure with GstClock gets serialized
3111
3112 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3113
3114         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3115           Fix presumable copy'n'pasto.
3116
3117 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3118
3119         * gst/elements/gstfakesrc.h:
3120         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3121         * gst/elements/gsttypefindelement.c:
3122           fix some signedness
3123         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3124           I wonder if this could actually write +2GB files before
3125
3126 2005-10-13  Andy Wingo  <wingo@pobox.com>
3127
3128         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3129         Fix Timmeke Waymans bug.
3130         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3131         string of the proper length to gst_caps_from_string. There's a
3132         potential for, before this fix, that this could cause someone
3133         connecting over the network to cause a segfault if the payload is
3134         not NUL-terminated.
3135
3136 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3137
3138         * docs/design/draft-push-pull.txt:
3139         * docs/design/part-overview.txt:
3140         * docs/random/TODO-pre-0.9:
3141         * docs/random/old/ChangeLog.gstreamer:
3142         * gst/base/gstpushsrc.c:
3143         * gst/gstclock.c:
3144           fixed typos
3145
3146 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3147
3148         * gst/glib-compat.c: (gst_flags_get_first_value):
3149         * gst/glib-compat.h:
3150         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3151         (gst_value_compare_double), (gst_value_serialize_flags):
3152           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3153           infinite loop
3154
3155 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3156
3157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3158         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3159           fix up debugging
3160         * tools/gst-launch.c: (event_loop):
3161           print out clock nicely
3162
3163 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3164
3165         * docs/gst/gstreamer-sections.txt:
3166         * gst/gsttaglist.h:
3167         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3168         (gst_tag_list_get_date_index):
3169           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3170           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3171
3172 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3173
3174         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3175         (gst_collectpads_chain):
3176         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3177         in CollectData.
3178
3179 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3180
3181         * docs/gst/gstreamer-sections.txt:
3182         * gst/gst.c:
3183         * gst/gsterror.h:
3184         * tools/gst-inspect.c: (main):
3185         * tools/gst-launch.c: (main):
3186         * tools/gst-run.c: (main):
3187         * tools/gst-xmlinspect.c: (main):
3188           fix GOption context leaks
3189           doc fixes
3190
3191 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3192
3193         * gst/gstbus.c:
3194           use HAVE_UNISTD_H
3195         * win32/common/config.h:
3196           update config
3197         * win32/vs6/grammar.dsp:
3198         * win32/vs6/libgstelements.dsp:
3199         * win32/vs6/libgstreamer.dsp:
3200           update vs6 files
3201
3202 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3203
3204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3205         * gst/base/gstbasesrc.c: (gst_base_src_query):
3206           fix more guint64<->gdouble conversions
3207
3208 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3209
3210         * Makefile.am:
3211           add win32-update target
3212         * win32/common/gstconfig.h:
3213         * win32/common/gstenumtypes.c:
3214         * win32/common/gstenumtypes.h:
3215         * win32/common/gstversion.h:
3216           add files that visual studio can't generate
3217
3218 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3219
3220         * Makefile.am:
3221           add a win32-update target
3222         * configure.ac:
3223
3224 2005-10-12  Wim Taymans  <wim@fluendo.com>
3225
3226         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3227         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3228         * gst/gstelement.c: (gst_element_commit_state),
3229         (gst_element_set_state):
3230         Protect flags with proper lock.
3231         unref provided cached clock in dispose.
3232
3233 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3234
3235         * gst/gst.c:
3236         * gst/gstminiobject.h:
3237         * gst/gstpad.h:
3238         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3239           removed unused flags from miniobject
3240           doc fixes
3241
3242 2005-10-12  Wim Taymans  <wim@fluendo.com>
3243
3244         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3245         (gst_file_sink_event), (gst_file_sink_render):
3246         Flush before seeking.
3247
3248 2005-10-12  Andy Wingo  <wingo@pobox.com>
3249
3250         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3251         always been the case.
3252
3253 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3254
3255         * check/gst/gstbin.c: (GST_START_TEST):
3256         * docs/gst/gstreamer-sections.txt:
3257         * gst/base/gstbasesink.c: (gst_base_sink_init):
3258         * gst/base/gstbasesrc.c: (gst_base_src_init),
3259         (gst_base_src_get_range), (gst_base_src_check_get_range),
3260         (gst_base_src_start), (gst_base_src_stop):
3261         * gst/base/gstbasesrc.h:
3262         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3263         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3264         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3265         (bin_bus_handler):
3266         * gst/gstbin.h:
3267         * gst/gstbuffer.h:
3268         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3269         * gst/gstbus.h:
3270         * gst/gstelement.c: (gst_element_is_locked_state),
3271         (gst_element_set_locked_state), (gst_element_commit_state),
3272         (gst_element_set_state):
3273         * gst/gstelement.h:
3274         * gst/gstindex.c: (gst_index_init):
3275         * gst/gstindex.h:
3276         * gst/gstminiobject.h:
3277         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3278         (gst_object_set_parent):
3279         * gst/gstobject.h:
3280         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3281         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3282         * gst/gstpad.h:
3283         * gst/gstpadtemplate.h:
3284         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3285         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3286         * gst/gstpipeline.h:
3287         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3288         (gst_file_index_commit):
3289         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3290         * testsuite/pad/link.c: (gst_test_src_init),
3291         (gst_test_filter_init), (gst_test_sink_init):
3292         * testsuite/states/locked.c: (main):
3293           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3294           moved bitshift from macro to enum definition
3295
3296 2005-10-12  Wim Taymans  <wim@fluendo.com>
3297
3298         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3299         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3300         (gst_file_sink_render):
3301         Some more debugging info.
3302
3303 2005-10-12  Wim Taymans  <wim@fluendo.com>
3304
3305         * docs/design/part-states.txt:
3306         * tools/gst-launch.c: (main):
3307         Some doc updates.
3308         Revert non-intentional change.
3309
3310 2005-10-12  Wim Taymans  <wim@fluendo.com>
3311
3312         * check/gst/gstbin.c: (GST_START_TEST):
3313         * check/gst/gstelement.c: (GST_START_TEST):
3314         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3315         * check/gst/gstghostpad.c: (GST_START_TEST):
3316         * check/gst/gstpipeline.c: (GST_START_TEST):
3317         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3318         * check/states/sinks.c: (GST_START_TEST):
3319         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3320         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3321         (gst_bin_remove_func), (gst_bin_get_state_func),
3322         (gst_bin_recalc_state), (gst_bin_change_state_func),
3323         (bin_bus_handler):
3324         * gst/gstelement.c: (gst_element_get_state_func),
3325         (gst_element_get_state), (gst_element_abort_state),
3326         (gst_element_commit_state), (gst_element_set_state),
3327         (gst_element_change_state), (gst_element_change_state_func):
3328         * gst/gstelement.h:
3329         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3330         (gst_pipeline_provide_clock_func):
3331         * gst/gstutils.c: (gst_element_link_pads_filtered):
3332         * tools/gst-launch.c: (main):
3333         * tools/gst-typefind.c: (main):
3334         Use GstClockTime in _get_state() instead of GTimeVal.
3335         Remove old code in gstutils.c
3336
3337 2005-10-12  Andy Wingo  <wingo@pobox.com>
3338
3339         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3340         removed.
3341
3342         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3343         there is no task. Shouldn't affect any code, as nothing in our
3344         plugins checks this return value.
3345         (gst_pad_stop_task): Also take the stream lock if the pad has no
3346         task. Docs updated.
3347
3348 2005-10-12  Wim Taymans  <wim@fluendo.com>
3349
3350         * gst/gstpad.c: (pre_activate), (post_activate),
3351         (gst_pad_activate_pull), (gst_pad_activate_push):
3352         Cleanup activation code. Reset old state if
3353         activation failed.
3354
3355 2005-10-12  Wim Taymans  <wim@fluendo.com>
3356
3357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3358         (gst_base_sink_change_state):
3359         No need to prerol after receiving EOS.
3360
3361         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3362         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3363         * gst/elements/gstidentity.c: (gst_identity_event):
3364         Print events more verbosely.
3365
3366 2005-10-12  Wim Taymans  <wim@fluendo.com>
3367
3368         * check/Makefile.am:
3369         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3370         * check/states/sinks2.c:
3371         Moved sinks2 testcode in sinks check.
3372
3373         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3374         (gst_bin_remove_func), (gst_bin_recalc_state),
3375         (gst_bin_change_state_func), (bin_bus_handler):
3376         Fix potential race condition when _get_state() iterated over an
3377         ASYNC element right before it posted a state completion.
3378
3379         * gst/gstclock.h:
3380         Do proper cast here.
3381
3382         * gst/gstevent.c: (gst_event_new_newsegment),
3383         (gst_event_parse_newsegment):
3384         A playback rate of 0.0 is not allowed.
3385
3386 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3387
3388         * win32/common/config.h:
3389         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3390         (_trewinddir), (_ttelldir), (_tseekdir):
3391         * win32/common/dirent.h:
3392         * win32/common/gtchar.h:
3393         * win32/common/libgstbase.def:
3394         * win32/common/libgstreamer.def:
3395         * win32/vs6/grammar.dsp:
3396         * win32/vs6/gst_inspect.dsp:
3397         * win32/vs6/gst_launch.dsp:
3398         * win32/vs6/gstreamer.dsw:
3399         * win32/vs6/libgstbase.dsp:
3400         * win32/vs6/libgstelements.dsp:
3401         * win32/vs6/libgstreamer.dsp:
3402           Visual Studio 6 project files, and a new common directory.
3403           Phear.
3404
3405 2005-10-11  Wim Taymans  <wim@fluendo.com>
3406
3407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3408         (gst_base_sink_do_sync), (gst_base_sink_query),
3409         (gst_base_sink_change_state):
3410         * gst/base/gstbasesink.h:
3411         Correctly parse newsegment info.
3412
3413 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3414
3415         * gst/gst.c: (init_post):
3416           split plugin paths correctly
3417
3418 2005-10-11  Wim Taymans  <wim@fluendo.com>
3419
3420         * check/gst/gstevent.c: (GST_START_TEST):
3421         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3422         (gst_base_sink_change_state):
3423         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3424         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3425         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3426         * gst/gstevent.c: (gst_event_new_newsegment),
3427         (gst_event_parse_newsegment):
3428         * gst/gstevent.h:
3429         Added extra flag to newsegment for future API freeze.
3430         Updated check and base elements.
3431
3432 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3433
3434         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3435         (gst_collectpads_add_pad), (gst_collectpads_pop),
3436         (gst_collectpads_event), (gst_collectpads_chain):
3437         * gst/base/gstcollectpads.h: Handle EOS correctly.
3438
3439 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3440
3441         * tools/gst-launch.c: (main):
3442           more null protecting
3443
3444 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3445
3446         * gst/gst-i18n-lib.h:
3447           check for ENABLE_NLS, not GETTEXT_PACKAGE
3448         * gst/gstregistry.c: (gst_registry_add_plugin),
3449         (gst_registry_scan_path_level),
3450         (_gst_registry_remove_cache_plugins):
3451           protect possibly NULL strings
3452         * gst/parse/types.h:
3453           config.h already included before
3454         * tools/gst-inspect.c: (main):
3455           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3456           check for ENABLE_NLS, not GETTEXT_PACKAGE
3457         * tools/gst-launch.c: (main):
3458           check for ENABLE_NLS, not GETTEXT_PACKAGE
3459
3460 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3461
3462         * configure.ac:
3463           if we don't have glib, fail before testing 2.8
3464         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3465           fix a leak, should fix plugins-base testsuite
3466
3467 2005-10-11  Andy Wingo  <wingo@pobox.com>
3468
3469         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3470         take the mode we're going to as an arg. Go head and set the mode
3471         and flushing flags now, so that if the activate function starts a
3472         thread all the flags will be in the right state.
3473         (post_activate): Renamed also. Just handle making sure streaming
3474         finishes for the deactivation case, and setting the deactivated
3475         mode.
3476         (gst_pad_set_active): Complain loudly if deactivation fails.
3477         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3478         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3479         remove the terrible hack.
3480
3481 2005-10-11  Wim Taymans  <wim@fluendo.com>
3482
3483         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3484         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3485         (gst_bin_recalc_state), (gst_bin_change_state_func),
3486         (gst_bin_dispose), (bin_bus_handler):
3487         * gst/gstbin.h:
3488         Prepare to make current EOS message queue more generic.
3489         Fix some typos.
3490
3491         * gst/gstevent.c: (gst_event_new_newsegment),
3492         (gst_event_parse_newsegment):
3493         * gst/gstevent.h:
3494         Rename base to stream_time.
3495
3496         * gst/gstmessage.h:
3497         Fix typo in docs.
3498
3499 2005-10-11  Wim Taymans  <wim@fluendo.com>
3500
3501         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3502         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3503         (gst_bin_change_state_func), (bin_bus_handler):
3504         * gst/gstbin.h:
3505         Work on proper clock selection.
3506
3507 2005-10-11  Edward Hervey  <edward@fluendo.com>
3508
3509         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3510         * libs/gst/controller/gstcontroller.h:
3511         Added GList* version of _remove_properties() in order to be able to wrap
3512         it in bindings.
3513
3514 2005-10-11  Wim Taymans  <wim@fluendo.com>
3515
3516         * docs/design/part-states.txt:
3517         Some more docs.
3518
3519         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3520         (gst_bin_change_state_func), (bin_bus_handler):
3521         Doc updates. Don't distribute the same clock over and over again.
3522
3523         * gst/gstclock.c:
3524         * gst/gstclock.h:
3525         Doc updates.
3526
3527         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3528         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3529         (gst_pad_send_event):
3530         * gst/gstpad.h:
3531         Make probe emission threadsafe again.
3532         Register quarks and move _get_name() from utils.
3533         Doc updates.
3534
3535         * gst/gstpipeline.c: (gst_pipeline_class_init),
3536         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3537         Only redistribute the clock of it changed.
3538
3539         * gst/gstsystemclock.h:
3540         Doc updates. 
3541
3542         * gst/gstutils.c:
3543         * gst/gstutils.h:
3544         Moved the _flow_get_name() to GstPad.
3545
3546 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3547
3548         * check/gst-libs/gdp.c: (GST_START_TEST):
3549         * check/gst/gstcaps.c: (GST_START_TEST):
3550         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3551         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3552         (gst_dp_packet_from_caps):
3553           fix more valgrind warnings before turning up the heat
3554
3555 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3556
3557         * gst/parse/grammar.y:
3558           some cleanup before the hacking
3559
3560 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3561
3562         * gst/base/gstbasesrc.c: (gst_base_src_query):
3563           use conversions
3564         * gst/gstutils.c: (gst_guint64_to_gdouble),
3565         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3566         * gst/gstutils.h:
3567           externalize, basesrc uses it
3568           obviously the implementation needs testing
3569
3570 2005-10-10  Wim Taymans  <wim@fluendo.com>
3571
3572         * tests/sched/Makefile.am:
3573         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3574         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3575
3576 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3577
3578         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3579           apparently converting from guint64 to double is not implemented
3580           on MSVC
3581
3582 2005-10-10  Wim Taymans  <wim@fluendo.com>
3583
3584         * check/Makefile.am:
3585         * check/generic/states.c: (GST_START_TEST):
3586         * check/gst/gstbin.c: (GST_START_TEST):
3587         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3588         * check/states/sinks.c: (GST_START_TEST):
3589         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3590         (main):
3591         Check fixes, use API as stated in design docs, remove hacks.
3592
3593         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3594         (gst_base_sink_change_state):
3595         Catch stopping our task while we're shutting down.
3596
3597         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3598         (gst_bin_remove_func), (gst_bin_get_state_func),
3599         (gst_bin_recalc_state), (gst_bin_change_state_func),
3600         (bin_bus_handler):
3601         * gst/gstbin.h:
3602         * gst/gstelement.c: (gst_element_init),
3603         (gst_element_get_state_func), (gst_element_abort_state),
3604         (gst_element_commit_state), (gst_element_lost_state),
3605         (gst_element_set_state), (gst_element_change_state),
3606         (gst_element_change_state_func):
3607         * gst/gstelement.h:
3608         New state change algorithm (see #318116)
3609
3610         * gst/gstpipeline.c: (gst_pipeline_class_init),
3611         (gst_pipeline_init), (gst_pipeline_set_property),
3612         (gst_pipeline_get_property), (do_pipeline_seek),
3613         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3614         * gst/gstpipeline.h:
3615         Remove crude state change hacks.
3616
3617         * gst/gstutils.h:
3618         Remove crude hacks.
3619
3620         * tools/gst-launch.c: (main):
3621         Fixes for state change. Needs some more work to fully use the
3622         new stuff.
3623
3624 2005-10-10  Andy Wingo  <wingo@pobox.com>
3625
3626         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3627
3628         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3629         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3630         issue.
3631
3632 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3633
3634         * gst/gstiterator.c: (gst_iterator_new):
3635           Fix my previous commit: GTypes passed to gst_iterator_new()
3636           can be fundamental types.
3637
3638 2005-10-10  Wim Taymans  <wim@fluendo.com>
3639
3640         * gst/gstelement.c: (gst_element_iterate_pad_list),
3641         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3642         (gst_element_iterate_sink_pads):
3643         Use src/sink pads lists for the respective iterators instead
3644         of filtering.
3645
3646 2005-10-10  Andy Wingo  <wingo@pobox.com>
3647
3648         Merged in popt removal + GOption addition patch from Ronald, bug
3649         #169772.
3650
3651         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3652         GstElement macros around, remove popt-related symbols, add goption
3653         stuff.
3654
3655         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3656         
3657         * docs/gst/Makefile.am:
3658         * docs/libs/Makefile.am: No POPT_CFLAGS.
3659         
3660         * examples/manual/Makefile.am:
3661         * docs/manual/basics-init.xml: Doc updates with an example.
3662         
3663         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3664         (gst_init), (parse_one_option), (parse_goption_arg):
3665         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3666         bit of hand merging and debugging to get the GOption stuff working
3667         tho.
3668         
3669         * tests/Makefile.am:
3670         * tools/Makefile.am:
3671         * tools/gst-inspect.c: (main):
3672         * tools/gst-launch.c: (main):
3673         * tools/gst-run.c: (main):
3674         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3675
3676 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3677
3678         * gst/gstiterator.c: (gst_iterator_new):
3679           Add assertions to make sure passed GType is likely to really
3680           be a GType (as the compiler won't catch it if the size and
3681           GType arguments get mixed up, see #318447).
3682
3683 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3684
3685         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3686
3687         * gst/gstbin.c: (gst_bin_iterate_sorted):
3688           Pass GType and size arguments to gst_iterator_new() in the right
3689           order (maybe we should make _new() take the GType as first argument
3690           just like _new_list()?) (#318447).
3691           
3692
3693 2005-10-10  Wim Taymans  <wim@fluendo.com>
3694
3695         * gst/gstelement.c: (gst_element_finalize):
3696         And free the GStaticRecMutex too
3697
3698 2005-10-10  Andy Wingo  <wingo@pobox.com>
3699
3700         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3701         Allocate and free the mutex properly.
3702
3703         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3704         New macros.
3705         (GstElement): The state_lock is now recursive. Rebuild your
3706         plugins, suckers. Old macros adapted.
3707
3708         * docs/gst/gstreamer-sections.txt: Doc updates.
3709
3710         * gst/gstutils.h:
3711         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3712         (g_static_rec_cond_wait): Ported from state changes patch, while
3713         we wait on bug #317802 to be solved in a well-distributed GLib.
3714
3715         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3716         gst_element_change_state, variable name changes.
3717         (gst_element_change_state): Split out of gst_element_set_state in
3718         preparation for the state change merge. Doesn't pay attention to
3719         the 'transition' argument.
3720         (gst_element_set_state): Updates, hopefully purely cosmetic.
3721         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3722         state change patch.
3723         (gst_element_get_state_func): Renamed from get_state, cosmetic
3724         changes.
3725
3726 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3727
3728         * gst/elements/gstelements.c:
3729         * win32/GStreamer.vcproj:
3730         * win32/config.h:
3731         * win32/dirent.c: (_tseekdir):
3732         * win32/gst-inspect.vcproj:
3733         * win32/gst-launch.vcproj:
3734         * win32/gstconfig.h:
3735         * win32/gstelements.vcproj:
3736         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3737         * win32/gstreamer.def:
3738         * win32/msvc71.sln:
3739           updates for the win32 build (patch from Sebastien Moutte)
3740
3741 2005-10-10  Andy Wingo  <wingo@pobox.com>
3742
3743         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3744         gst_bin_get_state, cleaned up (but no logic changes).
3745         (bin_element_is_sink): Comment updates.
3746         (sink_iterator_filter): Remove needless cast.
3747         (gst_bin_iterate_sinks): Doc update.
3748         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3749         cleaned up (but no logic changes).
3750
3751         * check/states/sinks.c (test_src_sink): Cleanups from the state
3752         change patch.
3753         (test_livesrc_sink): Sync on the state.
3754
3755         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3756         the state change patch.
3757
3758         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3759         change patch.
3760
3761         * check/gst/gstbin.c: Merge in some style fixes and additional
3762         checks from Wim's state change patch.
3763
3764 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3765
3766         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3767         (gst_type_find_helper):
3768           Check whether we have the requested data already in our list of
3769           cached buffers before pulling a new buffer; also make the buffer
3770           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3771
3772 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3773
3774         * gst/gstcaps.c:
3775         * gst/gstevent.c:
3776           doc updates
3777         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3778           don't use long long, it's not portable.  Replacing with
3779           gint64 seems to work; let's hope no skeletons fall out of the closet.
3780
3781 2005-10-10  Andy Wingo  <wingo@pobox.com>
3782
3783         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3784
3785 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3786
3787         * docs/gst/gstreamer-sections.txt:
3788         * gst/gstevent.c:
3789         * gst/gstevent.h:
3790         * gst/gstinfo.c:
3791         * gst/gstinfo.h:
3792         * gst/gstmessage.c: (gst_message_parse_state_changed):
3793         * gst/gstpad.c:
3794         * gst/gstpad.h:
3795           more docs, fix compilation
3796
3797 2005-10-09  Philippe Khalaf <burger@speedy.org>
3798         * gst/gstmessage.c:
3799           Fixed a few forgotten variables on previous commit
3800
3801 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3802
3803         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3804           Fix evil typefind crasher: getrange() might return a short
3805           buffer at the end of a file, but gst_type_find_peek() must
3806           either return the full data as requested or NULL, but
3807           never a short buffer.
3808
3809 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3810
3811         * gst/gstmessage.c: (gst_message_new_state_changed),
3812         (gst_message_parse_state_changed):
3813         * gst/gstmessage.h:
3814           don't use "new", it's a C++ keyword
3815
3816 2005-10-08  Wim Taymans  <wim@fluendo.com>
3817
3818         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3819         * gst/gstelement.c: (gst_element_post_message):
3820         * gst/gstpipeline.c: (gst_pipeline_change_state):
3821         Small docs and debug updates.
3822
3823 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3824
3825         * docs/gst/gstreamer-sections.txt:
3826         * gst/gstelementfactory.c:
3827         * gst/gstevent.c:
3828         * gst/gsttaglist.c:
3829           more docs
3830
3831 2005-10-08  Wim Taymans  <wim@fluendo.com>
3832
3833         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3834         (gst_bin_dispose), (bin_bus_handler):
3835         Fix typos, add comments.
3836         Clear EOS list when going to PAUSED from any direction and do it
3837         in a threadsafe way.
3838         Get base time in a threadsafe way too.
3839         Fix confusing debug in the change_state function.
3840         Various other small cleanups.
3841         
3842         * gst/gstelement.c: (gst_element_post_message):
3843         Fix very verbose bus posting code.
3844
3845         * gst/gstpipeline.c: (gst_pipeline_class_init),
3846         (gst_pipeline_set_property), (gst_pipeline_get_property),
3847         (gst_pipeline_change_state):
3848         Small ARG_ -> PROP_ cleanup
3849
3850 2005-10-08  Wim Taymans  <wim@fluendo.com>
3851
3852         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3853         Do a less CPU demanding EOS check because we can.
3854
3855 2005-10-08  Wim Taymans  <wim@fluendo.com>
3856
3857         * libs/gst/dataprotocol/dataprotocol.c:
3858         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3859         (gst_dp_packet_from_event):
3860         * libs/gst/dataprotocol/dataprotocol.h:
3861         * libs/gst/dataprotocol/dp-private.h:
3862         It's about time we bump the version number.
3863         Since event types don't fit in the guint8 anymore describing
3864         the payload type, make payload type 16 bits wide.
3865
3866 2005-10-08  Wim Taymans  <wim@fluendo.com>
3867
3868         * docs/design/part-TODO.txt:
3869         * docs/design/part-clocks.txt:
3870         * docs/design/part-events.txt:
3871         * docs/design/part-gstbin.txt:
3872         * docs/design/part-gstelement.txt:
3873         * docs/design/part-gstpipeline.txt:
3874         * docs/design/part-live-source.txt:
3875         * docs/design/part-messages.txt:
3876         * docs/design/part-overview.txt:
3877         * docs/design/part-states.txt:
3878         Many doc updates.
3879
3880 2005-10-08  Wim Taymans  <wim@fluendo.com>
3881
3882         * gst/gstevent.c:
3883         * gst/gstevent.h:
3884         Fix event quark registration.
3885         Add some space between events so we can insert them in the
3886         right groups.
3887
3888 2005-10-08  Wim Taymans  <wim@fluendo.com>
3889
3890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3891         (gst_base_sink_handle_buffer):
3892         Better log message.
3893
3894         * gst/gstbus.h:
3895         * gst/gstelement.h:
3896         More docs.
3897
3898         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3899         (gst_queue_set_property), (gst_queue_get_property):
3900         * gst/gstqueue.h:
3901         Remove old unused properties.
3902
3903 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3904         * docs/gst/gstreamer-sections.txt:
3905         * gst/gstmessage.c:
3906         * gst/gstmessage.h:
3907         * gst/gstminiobject.c:
3908         * gst/gstminiobject.h:
3909         * gst/gstobject.h:
3910         * gst/gstpad.h:
3911         * gst/gstutils.h:
3912           lots of new docs and doc fixes
3913
3914 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3915
3916         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3917         * gst/gstplugin.h:
3918         * gst/gstregistry.c: (gst_registry_lookup_locked),
3919         (gst_registry_scan_path_level):
3920         * gst/gstregistryxml.c: (load_plugin):
3921           Only ever load one plugin for a given plugin basename.
3922           This ensures correct overriding of GST_PLUGIN_PATH over
3923           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3924           system installed plugins.
3925
3926 2005-10-08  Wim Taymans  <wim@fluendo.com>
3927
3928         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3929         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3930         Prepare for doing QOS.
3931
3932 2005-10-08  Wim Taymans  <wim@fluendo.com>
3933
3934         * check/gst/gstbin.c: (GST_START_TEST):
3935         * check/pipelines/cleanup.c: (GST_START_TEST):
3936         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3937         Allow new clock message too.
3938
3939 2005-10-08  Wim Taymans  <wim@fluendo.com>
3940
3941         * gst/gstmessage.c: (gst_message_new_error),
3942         (gst_message_new_warning), (gst_message_new_tag),
3943         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3944         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3945         (gst_message_new_segment_start), (gst_message_new_segment_done),
3946         (gst_message_parse_state_changed),
3947         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3948         (gst_message_parse_new_clock):
3949         * gst/gstmessage.h:
3950         Also carry the clock in question.
3951
3952 2005-10-08  Wim Taymans  <wim@fluendo.com>
3953
3954         * gst/gstmessage.c: (gst_message_new_custom),
3955         (gst_message_new_eos), (gst_message_new_error),
3956         (gst_message_new_warning), (gst_message_new_tag),
3957         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3958         (gst_message_new_new_clock), (gst_message_new_segment_start),
3959         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3960         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3961         * gst/gstmessage.h:
3962         Clean up.
3963         Added clock related messages.
3964
3965         * gst/gstpipeline.c: (gst_pipeline_change_state):
3966         Post message when the clock changed.
3967
3968         * tools/gst-launch.c: (event_loop):
3969         Print new clock.
3970
3971 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3972
3973         * tools/gst-inspect.c: (print_element_properties_info):
3974           Can't pass NULL strings to g_print() on windows.
3975
3976 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3977
3978         * docs/Makefile.am:
3979         * docs/gst/Makefile.am:
3980         * docs/gst/gstreamer-docs.sgml:
3981         * docs/gst/running.xml:
3982         * docs/version.entities.in:
3983           add a chapter on running GStreamer.
3984           document GST_DEBUG and GST_PLUGIN* env vars
3985
3986 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3987
3988         * Makefile.am:
3989           remove include dir
3990         * configure.ac:
3991           remove PLUGINS_BUILDDIR stuff
3992         * gst/gst.c: (init_post):
3993           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3994         * idiottest.mak:
3995           remove, it was condescending and not needed
3996
3997 2005-10-08  Wim Taymans  <wim@fluendo.com>
3998
3999         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4000         (gst_base_sink_handle_object), (gst_base_sink_event),
4001         (gst_base_sink_wait), (gst_base_sink_handle_event),
4002         (gst_base_sink_change_state):
4003         * gst/base/gstbasesink.h:
4004         Repost EOS message while going to PLAYING if still EOS.
4005         Make sure that when receiving a FLUSH_START we don't attempt
4006         to sync on the clock anymore.
4007
4008 2005-10-08  Wim Taymans  <wim@fluendo.com>
4009
4010         * tools/gst-launch.c: (event_loop):
4011         Better message printout.
4012
4013 2005-10-08  Wim Taymans  <wim@fluendo.com>
4014
4015         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4016         (gst_bin_child_proxy_get_children_count):
4017         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4018         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4019         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4020         (gst_child_proxy_set_valist):
4021         * gst/parse/grammar.y:
4022         Make ChildProxy threadsafe and fix mem leaks.
4023
4024 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4025
4026         * gst/gst.c: (init_post):
4027           debug the GST_PLUGIN_ env vars
4028
4029 2005-10-08  Wim Taymans  <wim@fluendo.com>
4030
4031         * check/gst/gstbin.c: (GST_START_TEST):
4032         * check/gst/gstmessage.c: (GST_START_TEST):
4033         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4034         * gst/gstelement.c: (gst_element_commit_state),
4035         (gst_element_lost_state):
4036         * gst/gstmessage.c: (gst_message_new_state_changed),
4037         (gst_message_parse_state_changed):
4038         * gst/gstmessage.h:
4039         * tools/gst-launch.c: (event_loop):
4040         Added extra field to STATE_CHANGE message with the pending
4041         state, which will be different from the new state soon.
4042
4043 2005-10-08  Wim Taymans  <wim@fluendo.com>
4044
4045         * gst/gstbus.c: (gst_bus_pop):
4046         * gst/gstclock.c:
4047         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4048         Small cleanups and doc updates.
4049
4050 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4051
4052         * gst/gst.c: (init_pre):
4053         * gst/gstbin.c: (gst_bin_add_func):
4054           log distributing clocks and base time
4055         * gst/gstregistry.c: (gst_registry_add_plugin),
4056         (gst_registry_scan_path_level), (gst_registry_scan_path):
4057           clean up the debugging output a little
4058         * gst/gstutils.c: (gst_element_state_get_name):
4059           warn about a memleak (I've actually seen this be used, though
4060           it was probably a bug)
4061
4062 2005-10-07  Wim Taymans  <wim@fluendo.com>
4063
4064         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4065         (gst_base_src_init), (gst_base_src_default_newsegment),
4066         (gst_base_src_newsegment), (gst_base_src_do_seek),
4067         (gst_base_src_loop), (gst_base_src_start):
4068         * gst/base/gstbasesrc.h:
4069         Make the newsegment event customizable by subclasses.
4070
4071 2005-10-07  Wim Taymans  <wim@fluendo.com>
4072
4073         * gst/gstevent.c: (gst_event_new_buffersize),
4074         (gst_event_parse_buffersize):
4075         * gst/gstevent.h:
4076         New event for future idea.
4077
4078 2005-10-07  Andy Wingo  <wingo@pobox.com>
4079
4080         * gst/gstelement.c (gst_element_post_message): Doc update.
4081
4082         * docs/gst/gstreamer-sections.txt: Update.
4083
4084         * gst/gstmessage.c (gst_message_new_application): Made into a
4085         function like honest API calls.
4086         (gst_message_new_element): New message type.
4087
4088         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4089
4090         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4091         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4092         times.
4093
4094         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4095         NO_PREROLL from gst_element_change_state to fall through.
4096
4097 2005-10-07  Wim Taymans  <wim@fluendo.com>
4098
4099         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4100         (gst_ghost_pad_do_activate_push):
4101         Activating a ghostpad with no internal pad in push mode
4102         is ok.
4103
4104 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4105
4106         * gst/gstobject.h:
4107           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4108           Fixes compilation on Windows.
4109
4110 2005-10-07  Michael Smith <msmith@fluendo.com>
4111
4112         * tools/gst-inspect.c:
4113           Print out feature and plugin count at the end when printing out
4114           all features.
4115
4116 2005-10-04  Michael Smith <msmith@fluendo.com>
4117
4118         * gst/gsterror.c: (_gst_stream_errors_init):
4119           Add another error string used in a few existing plugins.
4120
4121         * gst/gstplugin.c:
4122         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4123         * tools/gst-inspect.c: (print_element_info):
4124           When a feature disappears from a plugin (and the feature exists in
4125           the cached registry file), things went horribly wrong. This isn't a
4126           complete fix, we should actually be removing the 'missing' features
4127           from the features list when we load the actual plugin. That's not
4128           yet implemented. 
4129
4130 2005-10-04  Johan Dahlin  <johan@gnome.org>
4131
4132         * check/gst/gstiterator.c: (GST_START_TEST):
4133         * gst/gstbin.c: (gst_bin_iterate_elements),
4134         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4135         * gst/gstelement.c: (gst_element_iterate_pads):
4136         * gst/gstformat.c: (gst_format_iterate_definitions):
4137         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4138         (gst_iterator_new_list), (gst_iterator_filter):
4139         * gst/gstiterator.h:
4140         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4141         Add a GType to GstIterator, update callsites and tests.
4142
4143 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4144
4145         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4146           give events a chance to be handled by event probes when the pad
4147           is not linked
4148
4149 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4150
4151         * gst/gstevent.c: (gst_event_type_get_name),
4152         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4153         * gst/gstevent.h:
4154           add string representations for event types
4155
4156 2005-10-06  Wim Taymans  <wim@fluendo.com>
4157
4158         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4159         Don't use NULL pointers.
4160
4161 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4162
4163         * gst/gst_private.h:
4164         * gst/gstbus.c:
4165         * gst/gstelement.c:
4166         * gst/gstinfo.c:
4167         * gst/gstpluginfeature.c:
4168           widen the debug category in output to fit the biggest one we have
4169           add a bus category and use it
4170           play with the colors
4171           fix up some categories
4172
4173 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4174
4175         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4176           add push activation of sink ghost pads.
4177           Andye, please verify
4178
4179 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4180
4181         * gst/gstutils.c: (gst_element_link_pads):
4182           fix a bug in the case where neither element has a pad
4183         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4184           add a test for that case
4185
4186 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4187
4188         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4189           emit have-data before checking for peers.  This allows
4190           for probe handlers to connect elements.  This helps autopluggers.
4191         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4192         (gst_pad_suite):
4193           add six checks, linked/unlinked with no/true/false probe
4194
4195 2005-10-04  Wim Taymans  <wim@fluendo.com>
4196
4197         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4198         (gst_fake_sink_event), (gst_fake_sink_preroll),
4199         (gst_fake_sink_render), (gst_fake_sink_change_state):
4200         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4201         (gst_fake_src_get_property), (gst_fake_src_create),
4202         (gst_fake_src_stop):
4203         * gst/elements/gstidentity.c: (gst_identity_stop):
4204         Protect last_message with lock.
4205
4206 2005-10-04  Edward Hervey  <edward@fluendo.com>
4207
4208         * gst/gstformat.h: 
4209         Added precision in the comments for GST_FORMAT_DEFAULT
4210
4211 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4212
4213         * tools/gst-launch.c: (main):
4214           Don't try to run erroneous pipelines.
4215
4216 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4217
4218         * gst/gstbus.c: We don't need this header.
4219
4220 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4221
4222         * configure.ac:
4223           back to development
4224
4225 === release 0.9.3 ===
4226
4227 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4228
4229         * README:
4230         * configure.ac:
4231           Releasing 0.9.3, "Unregistered"
4232
4233 2005-10-03  Andy Wingo  <wingo@pobox.com>
4234
4235         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4236         whereby calling a pad's activatepush() function can start a thread
4237         that starts to push or pull before the pad gets the FLUSHING flag
4238         unset. Hack around it by holding the stream lock until the flag is
4239         set. Need to replace this with a proper solution. Together with
4240         the ghost pad fixes, this fixes mp3 playing/tagreading.
4241
4242         * docs/design/part-gstghostpad.txt: Add a note about activation of
4243         proxy pads outside of ghost pads.
4244
4245         * gst/gstghostpad.c: Implement the ghost pad activation design.
4246
4247 2005-10-02  Andy Wingo  <wingo@pobox.com>
4248
4249         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4250         It is volatile, after all.
4251
4252         * docs/design/part-gstghostpad.txt: Flesh out activation with
4253         ghost pads.
4254
4255         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4256         GST_DEBUG_FUNCPTR.
4257
4258 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4259
4260         * configure.ac:
4261           Fix (unused) AM_CONDITIONAL tests.
4262
4263 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4264
4265         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4266
4267         * gst/gstutils.c: (gst_pad_query_convert):
4268           Add assertion that makes sure src_val is >=0, just like
4269           gst_query_new_convert() has. (#315895)
4270
4271 2005-09-30  Edward Hervey  <edward@fluendo.com>
4272
4273         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4274         Let's not iterate pads we're not interested in, it avoids getting 
4275         sky-high refcounts on sinkpad.
4276
4277 2005-09-30  Wim Taymans  <wim@fluendo.com>
4278
4279         * gst/gstelement.c: (gst_element_set_state),
4280         (gst_element_change_state):
4281         Small tweak, element in ASYNC remains ASYNC.
4282
4283 2005-09-30  Wim Taymans  <wim@fluendo.com>
4284
4285         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4286         Only error is an error.
4287
4288         * gst/gstbin.c: (gst_bin_change_state):
4289         Better debugging.
4290
4291         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4292         Also call pad_block in pad alloc.
4293
4294         * gst/gstutils.c: (gst_flow_get_name):
4295         Better debugging.
4296
4297 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4298
4299         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4300         (gst_base_src_get_range):
4301           Fix documentation typos. Add some more debug info.
4302
4303 2005-09-29  David Schleef  <ds@schleef.org>
4304
4305         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4306           more end-user friendly.
4307         * tools/gst-inspect.c: (main): Check if command-line argument is
4308           a file and attempt to load that file as a plugin.
4309
4310 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4311
4312         * check/gst/gstbin.c:
4313         * check/states/sinks.c:
4314           fix tests for the new warning
4315         * check/gst/gstpipeline.c:
4316           add a test for pipeline and bus interaction
4317         * gst/gstelement.c:
4318           elements should be NULL if they get disposed; add a warning if not
4319
4320 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4321
4322         * gst/gstobject.c:
4323           for 2.6 refcounting, make debug log more correct by printing
4324           the actual refcounts at the time of swap (Wim)
4325
4326 2005-09-29  Andy Wingo  <wingo@pobox.com>
4327
4328         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4329         removes signal watches previously added via
4330         gst_bus_add_signal_watch.
4331         (gst_bus_add_signal_watch): Don't return the source id, just store
4332         it on the bus if there wasn't an id already.
4333
4334         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4335         add_signal_watch and remove_signal_watch.
4336
4337 2005-09-29  Edward Hervey  <edward@fluendo.com>
4338
4339         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4340         Better if we actually iterate the list :)
4341
4342 2005-09-29  Wim Taymans  <wim@fluendo.com>
4343
4344         * check/gst/gstbin.c: (GST_START_TEST):
4345         Change for new bus API.
4346
4347         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4348         (send_messages), (GST_START_TEST), (gstbus_suite):
4349         Change for new bus signal API.
4350
4351         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4352         (gst_bus_source_prepare), (gst_bus_source_check),
4353         (gst_bus_create_watch), (gst_bus_add_watch_full),
4354         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4355         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4356         * gst/gstbus.h:
4357         Remove support for multiple GSources operating on different
4358         message types as it is too complex and unneeded when using
4359         signals.
4360         Added support for receiving signals from the bus.
4361
4362 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4363
4364         * docs/libs/tmpl/gstdataprotocol.sgml:
4365         * docs/manual/advanced-dataaccess.xml:
4366         * gst/elements/gstcapsfilter.c:
4367         * gst/gstutils.c:
4368           rename filter-caps to caps property
4369
4370 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4371
4372         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4373           More robust fraction string parsing.
4374
4375         * docs/pwg/appendix-porting.xml:
4376           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4377
4378 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4379
4380         * gst/gstcaps.c: (gst_caps_do_simplify):
4381           Thou shalt not free a structure and then continue using it
4382           in the next loop iteration.
4383
4384         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4385         (gst_caps_suite):
4386           Add test case for caps simplification.
4387
4388 2005-09-29  Wim Taymans  <wim@fluendo.com>
4389
4390         * check/gst/gstbin.c: (GST_START_TEST):
4391         Oops.
4392
4393 2005-09-29  Wim Taymans  <wim@fluendo.com>
4394
4395         * check/gst/gstbin.c: (GST_START_TEST):
4396         Add bus to bin.
4397
4398         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4399         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4400         (find_element), (gst_bin_sort_iterator_next),
4401         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4402         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4403         (gst_bin_change_state), (gst_bin_dispose):
4404         A bin does not have a bus, it gets the bus from the parent.
4405
4406         * gst/gstelement.c: (gst_element_requires_clock),
4407         (gst_element_provides_clock), (gst_element_is_indexable),
4408         (gst_element_is_locked_state), (gst_element_change_state),
4409         (gst_element_set_bus_func):
4410         Small cleanups.
4411
4412         * gst/gstpipeline.c: (gst_pipeline_class_init),
4413         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4414         The pipeline provides a bus.
4415
4416 2005-09-28  Johan Dahlin  <johan@gnome.org>
4417
4418         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4419         gst_structure_get_enum instead of gst_structure_get_int
4420
4421         * gst/gststructure.c (gst_structure_get_enum): Impl.
4422
4423         * gst/gststructure.h (gst_structure_get_enum): Add
4424
4425         * docs/gst/gstreamer-sections.txt: Ditto
4426
4427         * gst/gstmessage.c (gst_message_new_state_changed): Use
4428         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4429         which does introspection.
4430         Reviewed by Christian Schaller
4431
4432 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4433
4434         * gst/gstinfo.c: (gst_debug_log_default):
4435           don't do dummy g_strdup()s
4436         * libs/gst/controller/gstcontroller.c:
4437         (on_object_controlled_property_changed),
4438         (gst_controlled_property_new), (gst_controller_new_valist),
4439         (gst_controller_new_list),
4440         (gst_controller_remove_properties_valist), (gst_controller_set),
4441         (gst_controller_get), (gst_controller_sync_values),
4442         (gst_controller_get_value_array), (_gst_controller_class_init),
4443         (gst_controller_get_type):
4444         * libs/gst/controller/gstcontroller.h:
4445         * libs/gst/controller/gstinterpolation.c:
4446         (gst_controlled_property_find_timed_value_node):
4447           convert // to /**/ comments
4448
4449 2005-09-28  Wim Taymans  <wim@fluendo.com>
4450
4451         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4452         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4453         (gst_bus_sync_signal_handler):
4454         * gst/gstbus.h:
4455         Added async-message and sync-message signals to the bus.
4456         Added helper BusFunc to emit signals for all posted messages.
4457
4458         * gst/gstmessage.c: (gst_message_type_get_name),
4459         (gst_message_type_to_quark), (gst_message_get_type):
4460         * gst/gstmessage.h:
4461         Register quarks for message names.
4462
4463 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4464
4465         * docs/libs/gstreamer-libs-sections.txt:
4466         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4467         (gst_controller_new_list):
4468         * libs/gst/controller/gstcontroller.h:
4469           added another constructor for language bindings
4470
4471 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4474           add another check
4475         * gst/gstbus.c:
4476           add some doc
4477         * gst/gstinfo.c: (_gst_debug_init):
4478           slightly more readable color for refcount debugging
4479
4480 2005-09-28  Wim Taymans  <wim@fluendo.com>
4481
4482         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4483         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4484         (find_element), (gst_bin_sort_iterator_next),
4485         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4486         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4487         (gst_bin_change_state), (gst_bin_dispose):
4488         Small doc fixes. get_clock -> provide_clock.
4489
4490         * gst/gstelement.c: (gst_element_class_init),
4491         (gst_element_provides_clock), (gst_element_provide_clock),
4492         (gst_element_get_clock), (gst_element_commit_state),
4493         (gst_element_lost_state):
4494         * gst/gstelement.h:
4495         Make get/set_clock() symetric. Add provide_clock vmethod since
4496         that is actually what this function does.
4497
4498         * gst/gstpipeline.c: (gst_pipeline_class_init),
4499         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4500         (gst_pipeline_get_clock):
4501         get_clock -> provide_clock.
4502
4503 2005-09-28  Andy Wingo  <wingo@pobox.com>
4504
4505         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4506         lieu of real docs...
4507
4508         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4509
4510 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4511
4512         * gst/elements/gstcapsfilter.c:
4513         * gst/elements/gstfakesink.c:
4514         * gst/elements/gstfakesrc.c:
4515         * gst/elements/gstfdsink.c:
4516         * gst/elements/gstfdsrc.c:
4517         * gst/elements/gstfilesink.c:
4518         * gst/elements/gstfilesrc.c:
4519         * gst/elements/gstidentity.c:
4520         * gst/elements/gsttee.c:
4521         * gst/elements/gsttypefindelement.c:
4522           Make element details static.
4523
4524 2005-09-28  Wim Taymans  <wim@fluendo.com>
4525
4526         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4527         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4528         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4529         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4530         (gst_bin_change_state), (gst_bin_dispose):
4531         Some documentation updates.
4532         Clean up dispose handlers.
4533
4534         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4535         * gst/gstpad.c: (gst_pad_dispose):
4536         Clean up dispose handler.
4537
4538         * gst/gstpipeline.c: (gst_pipeline_change_state):
4539         Removed spurious UNLOCK.
4540
4541 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4542
4543         * docs/gst/gstreamer-sections.txt:
4544         * gst/base/gstbasesrc.h:
4545         * gst/gstelement.h:
4546         * gst/gstevent.h:
4547         * gst/gstobject.h:
4548         * gst/gstpad.h:
4549         * gst/gstpipeline.c:
4550         * gst/gstpipeline.h:
4551         * gst/gstutils.h:
4552         * gst/gstxml.h:
4553           added two new functions to the docs
4554                 documents all undocumented GstXXXFlags
4555                 completed some incomplete docs 
4556
4557 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4558
4559         * gst/gstbin.c: (gst_bin_dispose):
4560         * gst/gstelement.c: (gst_element_dispose):
4561           remove now useless and leaky resurrection code in dispose
4562         * gst/base/gstbasesrc.c: (gst_base_src_init):
4563         * gst/gstelementfactory.c: (gst_element_factory_create):
4564         * gst/gstobject.c: (gst_object_set_parent):
4565           add some debugging
4566
4567 2005-09-27  Wim Taymans  <wim@fluendo.com>
4568
4569         * docs/design/part-TODO.txt:
4570         Update TODO.
4571
4572         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4573         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4574         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4575         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4576         (gst_bin_change_state):
4577         * gst/gstelement.h:
4578         Remove element variable, we keep element info in the iterator now.
4579
4580 2005-09-27  Andy Wingo  <wingo@pobox.com>
4581
4582         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4583         values.
4584
4585 2005-09-27  Wim Taymans  <wim@fluendo.com>
4586
4587         * check/gst/gstbin.c: (GST_START_TEST):
4588         Enable check that works now.
4589
4590         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4591         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4592         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4593         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4594         (gst_bin_change_state):
4595         * gst/gstbin.h:
4596         Redid the state change algorithm using a topological sort algo.
4597         Handles all cases correctly.
4598         Exposed iterator for state change order.
4599
4600         * gst/gstelement.h:
4601         Temp storage for state changes. Need to get rid of this soon.
4602
4603 2005-09-27  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4606         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4607         (link_fold_func), (gst_pad_proxy_setcaps):
4608         Leak fixes, the fold functions need to unref the passed object and
4609         _get_parent_*() returns ref to parent.
4610
4611 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4612
4613         * check/gst/gstbuffer.c: (test_make_writable):
4614           Plug leak in test case and fix 'make check-valgrind'
4615
4616 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4617
4618         * gst/gstbuffer.c: (gst_subbuffer_init):
4619           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4620           works correctly in all circumstances (we could have just copied
4621           the parent buffer's readonly flag, but conceptually it seems
4622           cleaner to mark all subbuffers as read-only). (based on patch
4623           by Alessandro Decina, #314710).
4624         
4625         * check/gst/gstbuffer.c: (create_read_only_buffer),
4626         (test_make_writable), (test_subbuffer_make_writable),
4627         (gst_test_suite):
4628           Add some tests for gst_buffer_make_writable().
4629
4630 2005-09-27  Wim Taymans  <wim@fluendo.com>
4631
4632         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4633         use gst_object_has_ancestor().
4634
4635         * gst/gstobject.c: (gst_object_has_ancestor):
4636         * gst/gstobject.h:
4637         gst_object_has_ancestor() copied from gstbin.c as it is a
4638         usefull function.
4639
4640         * tests/instantiate/create.c: (create_all_elements):
4641         * tests/lat.c: (handoff_src), (handoff_sink):
4642         * tests/sched/runxml.c: (main):
4643         * tests/seeking/seeking1.c: (main):
4644         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4645         (main):
4646         Fix compilation of some tests.
4647
4648 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4649
4650         * gst/gsterror.h:
4651           Remove comment. GST_TYPE_G_ERROR is here to stay,
4652           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4653           (#316961, #300610).
4654
4655 2005-09-26  Wim Taymans  <wim@fluendo.com>
4656
4657         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4658         Added check that shows error in state change order.
4659
4660 2005-09-26  Wim Taymans  <wim@fluendo.com>
4661
4662         * gst/gstbin.c: (gst_bin_change_state):
4663         Make state change function use 3 queues again, we were
4664         adding elements in the wrong order.
4665
4666         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4667         Some debug info,
4668
4669         * gst/gstpad.c: (gst_pad_dispose):
4670         Added some debug info first.
4671
4672 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4673
4674         * docs/design/draft-push-pull.txt:
4675         * docs/design/part-events.txt:
4676         * docs/design/part-overview.txt:
4677         * docs/design/part-scheduling.txt:
4678           Replace all _pull_region() with _pull_range()
4679           
4680 2005-09-26  Andy Wingo  <wingo@pobox.com>
4681
4682         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4683
4684         * check/gst-libs/controller.c: Update for controller api change.
4685
4686         * configure.ac: 
4687         * tests/Makefile.am:
4688         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4689         over by GLib bug 118439.
4690         
4691         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4692         routines to a function.
4693
4694         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4695
4696         * libs/gst/controller/gsthelper.c:
4697         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4698         (gst_object_sync_values): Renamed from sink_values. Ugh.
4699
4700         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4701
4702         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4703         Renamed from controller_key, as it is exported.
4704
4705         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4706
4707 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4708
4709         * gst/Makefile.am:
4710         * gst/gst.h:
4711         * gst/gstpad.h:
4712         * gst/gstpadtemplate.h:
4713         * gst/gstquery.c:
4714         * gst/gstquery.h:
4715         * gst/gstqueryutils.c:
4716         * gst/gstqueryutils.h:
4717           remove queryutils headers after moving the two used functions
4718           to gstquery.  also fixes build problem for gstsiddec
4719
4720 2005-09-26  Michael Smith <msmith@fluendo.com>
4721
4722         * tools/gst-launch.1.in:
4723         Correct documentation in manpage of debug syntax
4724
4725 2005-09-26  Wim Taymans  <wim@fluendo.com>
4726
4727         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4728         (gst_base_src_is_seekable), (gst_base_src_change_state):
4729         Some more debugging info.
4730
4731 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4732
4733         * docs/gst/gstreamer-sections.txt:
4734         * gst/base/gstbasetransform.h:
4735         * gst/gstindex.h:
4736           added more docs
4737
4738 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4739
4740         * docs/gst/.cvsignore:
4741         * docs/gst/tmpl/.cvsignore:
4742         * docs/gst/tmpl/gstpipeline.sgml:
4743         * docs/gst/tmpl/gstplugin.sgml:
4744         * gst/gstpipeline.c:
4745         * gst/gstplugin.c:
4746         * gst/gstplugin.h:
4747           inlined the last two docs files
4748           removed the tmpl directory from cvs (no more conflicts here!)
4749
4750 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4751
4752         * docs/gst/gstreamer-sections.txt:
4753         * docs/gst/tmpl/.cvsignore:
4754         * docs/gst/tmpl/gstpad.sgml:
4755         * docs/gst/tmpl/gstpadtemplate.sgml:
4756         * gst/Makefile.am:
4757         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4758         (gst_pad_finalize), (gst_pad_set_pad_template):
4759         * gst/gstpad.h:
4760         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4761         (gst_pad_template_class_init), (gst_pad_template_init),
4762         (gst_pad_template_dispose), (name_is_valid),
4763         (gst_static_pad_template_get), (gst_pad_template_new),
4764         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4765         (gst_pad_template_pad_created):
4766         * gst/gstpadtemplate.h:
4767           inlined two more docs
4768           factored gstpadtemplate out of gstpad
4769
4770 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4771
4772         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4773         (test_children_state_change_order_semi_sink):
4774           Fix test case: we can't rely on a fixed state change order when
4775           going from READY => PAUSED because the sink might commit its 
4776           new state first when the first buffer created by the source 
4777           reaches the sink before the source has finished its change state.
4778           (Test case still fails at times, see #316856, comment 5 onwards)
4779
4780 2005-09-24  Wim Taymans  <wim@fluendo.com>
4781
4782         * docs/design/part-events.txt:
4783         * docs/design/part-gstbus.txt:
4784         * docs/design/part-gstpipeline.txt:
4785         * docs/design/part-messages.txt:
4786         * docs/design/part-overview.txt:
4787         * docs/design/part-segments.txt:
4788         * gst/gstbin.c:
4789         * gst/gstbuffer.c:
4790         * gst/gstclock.c:
4791         * gst/gstelement.c:
4792         * gst/gstevent.c:
4793         * gst/gstfilter.c:
4794         * gst/gstiterator.c:
4795         Various documentation updates.
4796
4797 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4798
4799         * gst/gstclock.h:
4800           Well, that's embarassing.  Luckily we weren't using
4801           GST_CLOCK_DIFF anywhere.
4802
4803 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4804
4805         * common/gtk-doc.mak:
4806           don't fail on building XML, FC4 slave shows a bunch of doc
4807           missing bits that I don't get
4808         * gst/gstpad.c:
4809         * gst/gstpipeline.c:
4810         * gst/gststructure.c:
4811           some doc updates
4812
4813 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4814
4815         * docs/design/part-gstbin.txt:
4816         * docs/design/part-gstbus.txt:
4817         * gst/gstbus.c:
4818           Add blurb about how the bus goes into flushing mode and
4819           drops all messages when its bin goes from READY into NULL 
4820           state.
4821
4822 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4823
4824         * docs/gst/gstreamer-sections.txt:
4825         * gst/gststructure.c: (gst_structure_get_clock_time):
4826         * gst/gststructure.h:
4827           add a method to get a GstClockTime out of a structure
4828
4829 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4830
4831         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4832         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4833           Added test to check state change order in bins (can still be made
4834           to fail here under heavy disk load; bails out with 'Push on pad
4835           fakesink:sink0, but it was not activated in push mode').
4836
4837         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4838           Fix state change order when there is only a semi sink (#316856)
4839
4840         * gst/gstbus.c: (gst_bus_class_init):
4841           Use _class_peek_parent(), not _class_ref(); fix docs to say
4842           'default main context' instead of 'mainloop' where that is
4843           what's meant.
4844
4845         * gst/gstelement.c: (gst_element_commit_state),
4846         (gst_element_set_state):
4847           Fix typos in debug messages
4848
4849 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * docs/README:
4852         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4853         * gst/gstpluginfeature.c:
4854         * gst/gstutils.c:
4855           various doc updates
4856         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4857           change an assert into an error until it gets fixed properly
4858
4859 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4860
4861         * docs/gst/gstreamer-sections.txt:
4862         * docs/gst/tmpl/.cvsignore:
4863         * docs/gst/tmpl/gstelement.sgml:
4864         * docs/gst/tmpl/gstinfo.sgml:
4865         * docs/gst/tmpl/gstobject.sgml:
4866         * gst/gstelement.c:
4867         * gst/gstelement.h:
4868         * gst/gstinfo.c:
4869         * gst/gstinfo.h:
4870         * gst/gstobject.c: (gst_object_class_init):
4871         * gst/gstobject.h:
4872           inlined 3 more biiiig doc files and added some missing docs on the fly
4873
4874 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4875
4876         * check/gst/.cvsignore:
4877         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4878         * gst/gstregistryxml.c: (load_plugin),
4879         (gst_registry_xml_save_plugin):
4880           put back source in registry.  add checks for find_plugin.
4881         * testsuite/states/bin.c: (assert_state), (empty_bin),
4882         (test_adding_one_element), (main):
4883         * testsuite/states/locked.c: (main):
4884           some compile/run fixes
4885
4886 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4887
4888         * check/gst/gstvalue.c: (GST_START_TEST):
4889           fix leaks in the test itself
4890
4891 2005-09-22  Wim Taymans  <wim@fluendo.com>
4892
4893         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4894         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4895         (gst_base_sink_query):
4896         Prepare for more accurate position reporting and query
4897         handling.
4898
4899         * gst/gstelement.c: (gst_element_send_event),
4900         (gst_element_set_state):
4901         Add some comment.
4902
4903 2005-09-22  Wim Taymans  <wim@fluendo.com>
4904
4905         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4906         (gst_query_parse_segment):
4907         * gst/gstquery.h:
4908         More documentation.
4909         Add segment query for future use.
4910
4911 2005-09-22  Wim Taymans  <wim@fluendo.com>
4912
4913         * gst/gstbin.c: (gst_bin_add_func):
4914         Some more debug info.
4915
4916         * gst/gstelement.c: (gst_element_send_event):
4917         Simplify send_event
4918
4919         * gst/gstelement.h:
4920         Don't know how flags got broken.
4921
4922         * gst/gstquery.h:
4923         Added new query.
4924
4925 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4926
4927         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4928           Add simplistic test suite for GST_TYPE_DATE serialisation and
4929           deserialisation.
4930
4931 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4932
4933         * docs/gst/gstreamer-sections.txt:
4934         * gst/gststructure.c: (gst_structure_set_valist),
4935         (gst_structure_get_date):
4936         * gst/gststructure.h:
4937         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4938         (gst_date_copy), (gst_value_compare_date),
4939         (gst_value_serialize_date), (gst_value_deserialize_date),
4940         (gst_value_transform_date_string),
4941         (gst_value_transform_string_date), (_gst_value_initialize):
4942         * gst/gstvalue.h:
4943           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4944           bunch of utility functions along with a hack that checks that
4945           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4946           is required. Part of the grand scheme in #170777.
4947
4948 2005-09-22  Andy Wingo  <wingo@pobox.com>
4949
4950         * gst/gstconfig.h.in: Psych out gtk-doc.
4951
4952         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4953
4954         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4955
4956         * tools/gst-inspect.c (print_element_list): Plug some
4957         inconsequential leaks.
4958
4959         * gst/gstregistry.c (gst_registry_get_default): Doc.
4960
4961         * check/gst/gstplugin.c: 
4962         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4963         * gst/gstelementfactory.c (gst_element_factory_create): 
4964         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4965         refcount changes.
4966
4967         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4968         (gst_plugin_feature_load): Doc, don't eat refs.
4969
4970         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4971         (gst_plugin_list_free): Doc.
4972         (gst_plugin_load_file): Doc updates.
4973
4974         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4975         accessors returning refcounted objects, return a ref.
4976
4977         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4978         accessor for caps. IDEMPOTENCE. Oh yes.
4979
4980 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4981
4982         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4983
4984         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4985         (_gst_debug_register_funcptr):
4986           Add mutex to serialise access to the hash table with
4987           the function pointer => function name string mapping;
4988           make that hash table static scope (#316809).
4989
4990         * gst/registries/.cvsignore:
4991           Remove left-over file.
4992
4993 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4994
4995         * docs/pwg/appendix-porting.xml:
4996           And something about newsegment events and caps-on-buffers to
4997           the porting guide (feel free to improve).
4998
4999 2005-09-21  Andy Wingo  <wingo@pobox.com>
5000
5001         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5002         data and event probes on the same pad.
5003         (test_buffer_probe_once): Test that removing probes from within
5004         the probe functions works.
5005
5006 2005-09-21  Andy Wingo  <wingo@pobox.com>
5007
5008         * check/gst/gstutils.c: New file.
5009         (test_buffer_probe_n_times): A simple buffer probe test. More to
5010         come, foolios.
5011
5012         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5013         have-data::buffer, not have-data.
5014         (gst_pad_add_event_probe): Likewise for have-data::event.
5015         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5016         peer' isn't quite right yet though.
5017         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5018         (gst_pad_remove_data_probe): Change to take the guint handler_id
5019         as their arg, not the function+data, which is more glib-like.
5020
5021         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5022         the signal emission to indicate if the data is a buffer or an
5023         event.
5024         (gst_pad_get_type): Initialize buffer and event quarks.
5025         (gst_pad_class_init): have-data is now a detailed signal, yes it
5026         is.
5027
5028 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5029
5030         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5031         * gst/gstutils.c: (gst_util_set_value_from_string),
5032         (gst_util_set_object_arg):
5033           Don't put functional code in g_return_if_fail() or
5034           g_return_val_if_fail() statements, otherwise things will 
5035           break when G_DISABLE_CHECKS is defined during compilation.
5036
5037 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5038
5039         * docs/gst/tmpl/.cvsignore:
5040         * docs/gst/tmpl/gstvalue.sgml:
5041         * gst/gstvalue.c:
5042         * gst/gstvalue.h:
5043           inlied another one and added  some obvious docs
5044
5045 2005-09-21  Wim Taymans  <wim@fluendo.com>
5046
5047         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5048         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5049         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5050         (gst_fdsrc_get_property), (gst_fdsrc_create):
5051         * gst/elements/gstfdsrc.h:
5052         Properly implement fdsrc. Removed signal and timeout,
5053         better implemented somewhere else.
5054
5055 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5056
5057         * docs/gst/tmpl/.cvsignore:
5058         * docs/gst/tmpl/gstimplementsinterface.sgml:
5059         * gst/gstinterface.c:
5060           inlined more docs
5061
5062 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5063
5064         * docs/gst/gstreamer-sections.txt:
5065         * docs/gst/tmpl/.cvsignore:
5066         * docs/gst/tmpl/gstenumtypes.sgml:
5067           remove obsolete doc file
5068
5069 2005-09-21  David Schleef  <ds@schleef.org>
5070
5071         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5072         little beer, fix a little leak.
5073
5074 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5075
5076         * docs/gst/gstreamer-docs.sgml:
5077         * docs/gst/gstreamer-sections.txt:
5078         * docs/gst/tmpl/.cvsignore:
5079         * gst/Makefile.am:
5080         * gst/gst.h:
5081         * gst/gstbin.c:
5082         * gst/gstelement.h:
5083         * gst/gstindex.c: (gst_index_class_init):
5084         * gst/gstindex.h:
5085         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5086         (gst_index_factory_class_init), (gst_index_factory_init),
5087         (gst_index_factory_finalize), (gst_index_factory_new),
5088         (gst_index_factory_destroy), (gst_index_factory_find),
5089         (gst_index_factory_create), (gst_index_factory_make):
5090         * gst/gstindexfactory.h:
5091         * gst/gstpluginfeature.c:
5092         * gst/gstpluginfeature.h:
5093         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5094           more docs inlined, splitted gstindex.{c,h}
5095
5096 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5097
5098         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5099           fix a leak
5100
5101 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5102
5103         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5104           Set sync to FALSE by default.
5105
5106 2005-09-20  Wim Taymans  <wim@fluendo.com>
5107
5108         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5109         (gst_base_sink_init):
5110         Make sync property settable from subclass.
5111
5112         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5113         (gst_fake_sink_change_state):
5114         Set sync to FALSE by default.
5115
5116 2005-09-20  Wim Taymans  <wim@fluendo.com>
5117
5118         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5119         * tools/gst-launch.c: (main):
5120         The timeout handler should have lower priority than the source
5121         so we don't timeout before popping a message with 0 timeout.
5122         Dump error messages after failed state change.
5123
5124 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5125
5126         * tools/gst-inspect.c: (print_element_properties_info):
5127           Fix two typos.
5128
5129 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5130
5131         * check/gst/gstevent.c:
5132         * gst/elements/gstfakesink.c:
5133         * gst/elements/gstfakesink.h:
5134           remove the sync property from fakesink.
5135           has the side effect of setting sync TRUE
5136           for fakesink, which is a change.  Anyone who knows how
5137           to fix this nicely in a GObject-y way, feel free.
5138
5139 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5140
5141         * docs/gst/gstreamer-docs.sgml:
5142           remove probe refsection
5143
5144 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5145
5146         * check/Makefile.am:
5147           disable valgrinding the controller test again
5148         * docs/gst/gstreamer-sections.txt:
5149           update for api-changes
5150
5151 2005-09-20  Wim Taymans  <wim@fluendo.com>
5152
5153         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5154         (gst_base_sink_set_property), (gst_base_sink_get_property),
5155         (gst_base_sink_do_sync):
5156         * gst/base/gstbasesink.h:
5157         Added sync property to basesink to disable clock sync.
5158
5159 2005-09-20  Andy Wingo  <wingo@pobox.com>
5160
5161         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5162         eating the caller's refcount.
5163
5164         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5165         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5166         refcount.
5167
5168         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5169         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5170         of GLib 2.8 public, so we can know which refcount to check in
5171         tests.
5172
5173         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5174         (gst_object_init): Only set the gst refcount if we're going ahead
5175         with the refcount hack.
5176
5177 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5178
5179         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5180         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5181           more leaks plumbed, added more debug-logging
5182         * gst/gstmacros.h:
5183           whitespace fix
5184
5185 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5186
5187         * gst/gstmessage.c:
5188           remove include of gstmemchunk.h
5189
5190 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5191
5192         * gst/gstclock.c: (_gst_clock_id_free):
5193           Commit from the Political Party For More Atomic CVS Commits,
5194           so that people don't waste too much of their day fishing
5195           out obvious leaks out of massive commits.
5196           Oh, and fix a pretty damn obvious leak in the memchunk
5197           removal code.
5198
5199 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5200
5201         * check/Makefile.am:
5202         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5203           plug mem-leak, re-add to valgrindable tests
5204
5205 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5206
5207         * gst/gstplugin.h:
5208           unbreak the build for those who have chronic arthritis
5209           and typing "make check" is just too taxing on the hands
5210
5211 2005-09-20  Andy Wingo  <wingo@pobox.com>
5212
5213         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5214         really want it out, you should fix plugins at the same time.
5215
5216 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5217
5218         * configure.ac:
5219         * docs/gst/gstreamer-sections.txt:
5220         * gst/gstobject.c:
5221           added missing symbols to api docs
5222           disable ref-count hack if we have glib >= 2.8
5223
5224 2005-09-19  David Schleef  <ds@schleef.org>
5225
5226         * docs/gst/Makefile.am: Ignore a few more internal headers
5227         * docs/gst/gstreamer-docs.sgml: Remove old sections
5228         * docs/gst/gstreamer-sections.txt: Remove old sections
5229         * docs/gst/tmpl/gstobject.sgml: update
5230         * docs/gst/tmpl/gstplugin.sgml: update
5231         * docs/gst/tmpl/gstpluginfeature.sgml: update
5232         * docs/random/ds/0.9-suggested-changes: update.
5233         * gst/Makefile.am: remove memchunk and trashstack, since they're
5234           not used.
5235         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5236         * gst/gst.h: don't include some headers
5237         * gst/gstchildproxy.c: add gstmarshal.h
5238         * gst/gstclock.c: Don't use memchunks
5239         * gst/gstminiobject.c: Add some docs
5240         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5241         * gst/gstobject.h: same
5242         * gst/gstplugin.c: include gstmacros.h
5243         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5244         * gst/gstquery.c: don't use memchunks
5245         * gst/gstregistry.c: rename gst_registry_deinit()
5246         * gst/gstregistry.h: same
5247
5248 2005-09-19  David Schleef  <ds@schleef.org>
5249
5250         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5251         * docs/libs/gstreamer-libs-sections.txt:
5252         * docs/libs/tmpl/gstgetbits.sgml:
5253         * docs/libs/tmpl/gstputbits.sgml:
5254
5255 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5256
5257         * win32/gstenumtypes.c:
5258         * win32/gstenumtypes.h:
5259           Update.
5260
5261 2005-09-19  Wim Taymans  <wim@fluendo.com>
5262
5263         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5264         Automatically PAUSE and RESUME a pipeline when a flushing seek
5265         is performed.
5266
5267 2005-09-19  Andy Wingo  <wingo@pobox.com>
5268
5269         * gst/gstregistry.h: Spacing fixen.
5270
5271 2005-09-19  Wim Taymans  <wim@fluendo.com>
5272
5273         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5274         Handle state change failure more correctly.
5275
5276 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5277
5278         * check/Makefile.am:
5279         * check/pipelines/cleanup.c: (run_pipeline):
5280         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5281         (GST_START_TEST):
5282           enable cleanup again after fixing the leak
5283         * docs/README:
5284           some more info on docs
5285
5286 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5287
5288         * check/Makefile.am:
5289           re-enable tests now that leaks are plugged
5290         * check/gst/gst.c:
5291         * check/gst/gstbin.c:
5292         * check/gst/gstpipeline.c:
5293           add some more tests while fixing leaks
5294         * common/check.mak:
5295           make sure binaries are uptodate when valgrinding/gdbing
5296         * gst/gst.c:
5297         * gst/gstelementfactory.c:
5298           remove a ref too many, and add a FIXME for when we get
5299           round to disposing of classes
5300         * gst/gstplugin.c:
5301           fix the refcounting when loading a plugin from a file and
5302           the code pretends that the pointer is the same even though
5303           of course it can change
5304         * gst/gstpluginfeature.c:
5305           unref plugins marked cached (a bit confusing as a name)
5306           as the docs state should be done
5307           various doc additions to explain refcounting
5308         * gst/gstregistry.c:
5309         * gst/gstregistryxml.c:
5310           debugging
5311
5312 2005-09-19  Wim Taymans  <wim@fluendo.com>
5313
5314         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5315         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5316         (send_messages), (GST_START_TEST), (gstbus_suite):
5317         * check/gst/gstpipeline.c: (GST_START_TEST):
5318         * check/pipelines/cleanup.c: (run_pipeline):
5319         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5320         (GST_START_TEST):
5321         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5322         (gst_bus_source_check), (gst_bus_source_dispatch),
5323         (gst_bus_create_watch), (gst_bus_add_watch_full),
5324         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5325         * gst/gstbus.h:
5326         * tools/gst-launch.c: (event_loop):
5327         * tools/gst-md5sum.c: (event_loop):
5328         GstBusHandler -> GstBusFunc, return value has the same meaning as
5329         any other GSource (FALSE == remove source).
5330         _add_watch() and _add_watch_full() now take a MessageType mask to
5331         only handle specific types of messages.
5332         _poll() returns the GstMessage instead of the message type to avoid
5333         race conditions.
5334         _have_pending() takes a MessageType mask now too.
5335         Added testsuite for multiple bus watches.
5336         Fix testsuites and applications for new bus API.
5337
5338 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5339
5340         * check/Makefile.am:
5341           mark a bunch of the tests as to fix until we fix them
5342
5343 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5344
5345         * common/check.mak:
5346           use GST_PLUGIN settings for valgrind tests as well, so we're
5347           valgrinding the correct thing
5348         * gst/gst.c: (init_post):
5349           plug another leak
5350
5351 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5352
5353         * gst/gst.c: (init_post), (gst_deinit):
5354         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5355         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5356         * gst/gstindex.c: (gst_index_factory_class_init),
5357         (gst_index_factory_finalize):
5358         * gst/gstobject.c: (gst_object_dispose):
5359         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5360         (gst_plugin_load_file), (gst_plugin_desc_free):
5361         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5362         (gst_plugin_feature_finalize):
5363         * gst/gstregistry.c: (gst_registry_class_init),
5364         (gst_registry_init), (gst_registry_finalize),
5365         (gst_registry_get_default), (gst_registry_deinit):
5366         * gst/gstregistry.h:
5367         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5368           various cleanups and memleak plugging.  make valgrind is happy now.
5369
5370 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5371
5372         * common/check.mak:
5373           add a check-valgrind target
5374
5375 2005-09-18  David Schleef  <ds@schleef.org>
5376
5377         * tools/gst-inspect.c: Revert the GOption code.
5378
5379 2005-09-17  David Schleef  <ds@schleef.org>
5380
5381         * check/Makefile.am: Fix environment variables.
5382         * check/gst/gstplugin.c: Fix for API changes.
5383         * tools/gst-inspect.c: Fix for API changes.
5384         * tools/gst-xmlinspect.c: Fix for API changes.
5385         * gst/gstelementfactory.c:
5386         * gst/gstplugin.c:
5387         * gst/gstplugin.h:
5388         * gst/gstpluginfeature.c:
5389         * gst/gstpluginfeature.h:
5390         * gst/gstregistry.c:
5391         * gst/gstregistry.h:
5392         * gst/gstregistryxml.c:
5393         * gst/gsttypefind.c:
5394         * gst/gsttypefindfactory.c:
5395         * gst/indexers/gstfileindex.c:
5396         * gst/indexers/gstmemindex.c:
5397         * gst/schedulers/Makefile.am:
5398           Change registry to keep track of both plugins and features,
5399           removing the feature tracking from plugins themselves.
5400
5401 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5402
5403         * check/Makefile.am:
5404         * tools/gst-register.1.in:
5405           remove gst-register
5406
5407 2005-09-15  David Schleef  <ds@schleef.org>
5408
5409         * check/gst/gstplugin.c:
5410         * gst/gstelementfactory.c:
5411         * gst/gstplugin.c:
5412         * gst/gstpluginfeature.c:
5413         * gst/gstregistry.c:
5414           Getting tired of debugging.  Disabled all the unreffing of
5415           plugins and features, which fixes the segfaults, but of
5416           course leaks like crazy.  At least playbin works.
5417
5418 2005-09-15  David Schleef  <ds@schleef.org>
5419
5420         * check/gst/gstplugin.c: (register_check_elements),
5421         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5422         More testing
5423         * gst/elements/gsttypefindelement.c: Fix refcounting.
5424         * gst/gsttypefind.c:
5425         * gst/gsttypefindfactory.c:
5426         * gst/gsttypefindfactory.h:
5427
5428 2005-09-15  David Schleef  <ds@schleef.org>
5429
5430         * gst/gstindex.c: get refcounting correct.
5431         * gst/gstregistry.c: Handle the case where a feature/plugin is
5432           not found.
5433
5434 2005-09-15  David Schleef  <ds@schleef.org>
5435
5436         * check/Makefile.am:
5437         * check/gst/gstplugin.c: Add test
5438         * gst/gstplugin.c: Fix problems noticed by testsuite
5439         * gst/gstplugin.h:
5440         * gst/gstregistry.c: 
5441         * gst/gstregistry.h:
5442
5443 2005-09-15  David Schleef  <ds@schleef.org>
5444
5445         * gst/gstplugin.c: Implement semi-decent recounting and locking
5446           in plugins and plugin features.
5447         * gst/gstplugin.h:
5448         * gst/gstpluginfeature.c:
5449         * gst/gstpluginfeature.h:
5450         * gst/gstregistry.c:
5451
5452 2005-09-15  Michael Smith <msmith@fluendo.com>
5453
5454         * gst/gstregistry.c: (gst_registry_get_feature_list):
5455           Implement this. Makes oggdemux work; decodebin still broken.
5456
5457 2005-09-14  David Schleef  <ds@schleef.org>
5458
5459         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5460           #316076)
5461         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5462         * gst/check/Makefile.am:
5463         * libs/gst/controller/Makefile.am:
5464         * libs/gst/dataprotocol/Makefile.am:
5465
5466 2005-09-14  David Schleef  <ds@schleef.org>
5467
5468         * configure.ac: Remove getbits library.  Nothing uses it, and
5469           it should be in something like liboil if someone did want
5470           to use it.
5471         * libs/gst/Makefile.am:
5472         * libs/gst/getbits/Makefile.am:
5473         * libs/gst/getbits/gbtest.c:
5474         * libs/gst/getbits/getbits.c:
5475         * libs/gst/getbits/getbits.h:
5476         * libs/gst/getbits/gstgetbits_generic.c:
5477         * libs/gst/getbits/gstgetbits_i386.s:
5478         * libs/gst/getbits/gstgetbits_inl.h:
5479
5480 2005-09-14  David Schleef  <ds@schleef.org>
5481
5482         * gst/Makefile.am: Dist glib-compat.h
5483
5484 2005-09-14  David Schleef  <ds@schleef.org>
5485
5486         * configure.ac: Remove gst/registries, since it's no longer used.
5487         * gst/registries/Makefile.am:
5488         * gst/registries/gstlibxmlregistry.c:
5489         * gst/registries/gstlibxmlregistry.h:
5490         * gst/registries/gstxmlregistry.c:
5491         * gst/registries/gstxmlregistry.h:
5492         * gst/registries/registrytest.c:
5493
5494 2005-09-14  David Schleef  <ds@schleef.org>
5495
5496         * gst/glib-compat.h:
5497         * gst/gstregistryxml.c:
5498           Convergence is near.  Seriously.
5499
5500 2005-09-14  David Schleef  <ds@schleef.org>
5501
5502         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5503         * gst/glib-compat.h:
5504           Attempt #4 to appease the buildbots.
5505
5506 2005-09-14  David Schleef  <ds@schleef.org>
5507
5508         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5509           Attempt #3.
5510
5511 2005-09-14  David Schleef  <ds@schleef.org>
5512
5513         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5514         Attempt #2.
5515
5516 2005-09-14  David Schleef  <ds@schleef.org>
5517
5518         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5519           the new functions.
5520
5521 2005-09-14  David Schleef  <ds@schleef.org>
5522
5523         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5524         * gst/glib-compat.h: Add some functions that are in newer versions
5525           of glib than we care to require.
5526         * gst/gstregistryxml.c: Use them.
5527
5528 2005-09-14  David Schleef  <ds@schleef.org>
5529
5530         * po/POTFILES.in: remove gst-register.c
5531
5532 2005-09-14  David Schleef  <ds@schleef.org>
5533
5534         * docs/gst/gstreamer-docs.sgml:
5535         * docs/gst/gstreamer-sections.txt:
5536         * docs/gst/gstreamer.types:
5537         * docs/gst/tmpl/gstelement.sgml:
5538         * docs/gst/tmpl/gstplugin.sgml:
5539         * docs/gst/tmpl/gstpluginfeature.sgml:
5540           Documentation updates for registry changes.
5541
5542 2005-09-14  David Schleef  <ds@schleef.org>
5543
5544         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5545           because we don't require glib-2.8.
5546
5547 2005-09-14  David Schleef  <ds@schleef.org>
5548
5549         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5550           registries directory.
5551
5552 2005-09-14  David Schleef  <ds@schleef.org>
5553
5554         * check/Makefile.am:
5555         * check/generic/states.c:
5556         * gst/Makefile.am:
5557         * gst/gst.c:
5558         * gst/gst.h:
5559         * gst/gst_private.h:
5560         * gst/gstelementfactory.c:
5561         * gst/gstindex.c:
5562         * gst/gstinfo.c:
5563         * gst/gstplugin.c:
5564         * gst/gstplugin.h:
5565         * gst/gstpluginfeature.c:
5566         * gst/gstpluginfeature.h:
5567         * gst/gstregistry.c:
5568         * gst/gstregistry.h:
5569         * gst/gstregistrypool.c: remove
5570         * gst/gstregistrypool.h: remove
5571         * gst/gsttypefind.c:
5572         * gst/gsttypefindfactory.c:
5573         * gst/gsturi.c:
5574         * tools/Makefile.am:
5575         * tools/gst-compprep.c:
5576         * tools/gst-inspect.c:
5577         * tools/gst-register.c: remove
5578         * tools/gst-xmlinspect.c:
5579           Registry rewrite.  Changes registry from being a file created
5580           by a tool into a simple cache file created automatically by 
5581           libgstreamer.  Removed gst-register (because it's no longer
5582           needed).  Remove registry pools, because we only have one
5583           registry implementation (XML).  Fix up other subsystems as
5584           necessary.
5585
5586 2005-09-13  Michael Smith <msmith@fluendo.com>
5587
5588         * gst/gstconfig.h.in:
5589           Don't Use windows linking attributes for MinGW. Fixes #316157
5590
5591 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5592
5593         * gst/gstutils.c: (set_state_async_thread_func),
5594         (gst_element_set_state_async):
5595           Apparently people think it's better if this function doesn't
5596           try to set the state to whatever state was asked for on the first
5597           call to this function for any object.  Seriously.
5598
5599 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5600
5601         * check/gst/gstpipeline.c: (GST_START_TEST):
5602         * docs/gst/gstreamer-sections.txt:
5603         * gst/gstutils.c: (set_state_async_thread_func),
5604         (gst_element_set_state_async):
5605         * gst/gstutils.h:
5606           add a "gst_element_set_state_async" method that
5607           sets the state and starts a thread to make sure the state
5608           change completes as best as it can
5609
5610 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5611
5612         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5613           codify design+behaviour in testsuite after discussion
5614
5615 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * docs/gst/tmpl/gstelement.sgml:
5618         * docs/manual/appendix-quotes.xml:
5619           add a quote
5620         * gst/gstelement.c: (gst_element_set_state):
5621           add some debug
5622
5623 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5624
5625         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5626         (gst_base_transform_prepare_output_buf),
5627         (gst_base_transform_handle_buffer):
5628         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5629         (gst_capsfilter_prepare_buf):
5630           Remove the requirement for sub-classes to call the parent
5631           implementation of prepare_output_buffer with a wrapper function.
5632           
5633         * gst/gsttaglist.h:
5634         * gst/gsttagsetter.h:
5635           Fix #define wrapper
5636
5637 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5638
5639         * docs/gst/gstreamer-sections.txt:
5640           more doc cleanups
5641
5642 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * docs/gst/gstreamer-sections.txt:
5645         * docs/gst/tmpl/gstelement.sgml:
5646         * docs/gst/tmpl/gstplugin.sgml:
5647         * gst/gstminiobject.c:
5648         * gst/gstvalue.h:
5649           docs now stop throwing warnings
5650
5651 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5652
5653         * docs/gst/gstreamer-sections.txt:
5654         * docs/gst/gstreamer.types:
5655         * docs/gst/tmpl/gstpad.sgml:
5656         * docs/gst/tmpl/gsttypes.sgml:
5657         * gst/base/gstadapter.h:
5658         * gst/base/gstbasesink.h:
5659         * gst/base/gstbasesrc.h:
5660         * gst/gstbin.h:
5661         * gst/gstbuffer.h:
5662         * gst/gstbus.h:
5663         * gst/gstcaps.h:
5664         * gst/gstclock.h:
5665         * gst/gstelement.h:
5666         * gst/gstevent.h:
5667         * gst/gstmessage.h:
5668         * gst/gstpad.h:
5669         * gst/gststructure.c:
5670         * gst/registries/gstlibxmlregistry.h:
5671           various documentation fixes
5672
5673 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5674
5675         * docs/gst/gstreamer-sections.txt:
5676         * docs/gst/tmpl/gstvalue.sgml:
5677           rearrange gstvalue section
5678         * gst/gstutils.c: (gst_element_state_get_name):
5679           NONE -> VOID
5680         * gst/gstvalue.c: (_gst_value_initialize):
5681         * gst/gstvalue.h:
5682           doc updates
5683
5684 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5685
5686         * check/gst-libs/controller.c:
5687           Header include fix.
5688         * gst/base/gstbasetransform.c:
5689         (gst_base_transform_default_prepare_buf),
5690         (gst_base_transform_handle_buffer):
5691         * gst/base/gstbasetransform.h:
5692           Some more basetransform changes and fixes to enable sub-classes
5693           that modify buffer metadata only.
5694         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5695         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5696         (gst_capsfilter_prepare_buf):
5697           If the output pad has fixed allowed caps and input buffers 
5698           don't have any, set the fixed caps on outgoing buffers.
5699
5700 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5701         * check/elements/identity.c: (GST_START_TEST):
5702           Make the error a little clearer when the test fails because
5703           identity made a copy of the buffer.
5704         * docs/gst/gstreamer-sections.txt:
5705           New symbols in gstbasetransform.h
5706         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5707         (gst_base_transform_init), (gst_base_transform_transform_size),
5708         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5709         (gst_base_transform_default_prepare_buf),
5710         (gst_base_transform_get_unit_size),
5711         (gst_base_transform_buffer_alloc),
5712         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5713         (gst_base_transform_change_state),
5714         (gst_base_transform_set_passthrough),
5715         (gst_base_transform_set_in_place),
5716         (gst_base_transform_is_in_place):
5717         * gst/base/gstbasetransform.h:
5718           Change BaseTransform to separate in_place operate from same_caps
5719           output. in_place implies that the element can perform the transform
5720           on incoming buffers in-place, even if the caps on the output are
5721           different.
5722           Sub-class elements can now implement special buffer allocation
5723           methods for outgoing buffers if they wish to.
5724           Big documentation addition.
5725         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5726         * gst/elements/gstelements.c:
5727           Changes for basetransform modifications.
5728         * gst/elements/Makefile.am:
5729         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5730           Compile fix. Extra debug output.
5731
5732 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5733
5734         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5735         (gst_pad_suite):
5736           add tests for valid pad naming
5737         * gst/check/gstcheck.c: (gst_check_log_message_func),
5738         (gst_check_log_critical_func):
5739           add ASSERT_WARNING
5740           remove printing of code, it is fragile when the code contains
5741           % and the line number is enough info
5742         * gst/check/gstcheck.h:
5743         * gst/gstpad.c: (gst_pad_template_new):
5744           fix memleaks
5745
5746 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5747
5748         * configure.ac:
5749           say what CHECK flags we use
5750         * docs/libs/gstreamer-libs.types:
5751         * libs/gst/controller/Makefile.am:
5752         * libs/gst/controller/gst-controller.c:
5753         * libs/gst/controller/gst-controller.h:
5754         * libs/gst/controller/gst-helper.c:
5755         * libs/gst/controller/gst-interpolation.c:
5756         * libs/gst/controller/gstcontroller.c:
5757         * libs/gst/controller/gsthelper.c:
5758         * libs/gst/controller/gstinterpolation.c:
5759         * tools/gst-inspect.c: (print_plugin_info):
5760           we don't use dashes in header names
5761
5762 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5763
5764         * check/Makefile.am:
5765         * check/gst/.cvsignore:
5766         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5767         (gst_pipeline_suite), (main):
5768           adding a test for pipelines and state changes
5769         * gst/gstutils.c: (get_state_func):
5770           add some debugging
5771         * gstreamer.spec.in:
5772           fix up spec file
5773
5774 2005-09-08  Michael Smith <msmith@fluendo.com>
5775
5776         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5777         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5778         (gst_file_src_is_seekable), (gst_file_src_get_size),
5779         (gst_file_src_start):
5780         * gst/elements/gstfilesrc.h:
5781           Various fixes for unseekable, unmmapable, and non-normal files, so
5782           that fallback to read() rather than mmap() works.
5783         * gst/gstevent.c: (gst_event_new_newsegment):
5784           Allow newsegment events with segment_start == segment_end, as will
5785           correctly happen if you use filesrc on a zero-size file, for
5786           example.
5787
5788 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5789
5790         * gst/gstplugin.c: (gst_plugin_load_file):
5791           Call g_module_close when we don't load the module
5792
5793         * gst/registries/gstlibxmlregistry.c:
5794         (gst_xml_registry_get_property):
5795           Port leak fix from 0.8
5796
5797 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5798
5799         * docs/gst/gstreamer-docs.sgml:
5800         * docs/gst/tmpl/.cvsignore:
5801         * docs/gst/tmpl/gsttrace.sgml:
5802         * docs/gst/tmpl/gsttrashstack.sgml:
5803         * gst/Makefile.am:
5804         * gst/gst.h:
5805         * gst/gstelement.h:
5806         * gst/gstevent.h:
5807         * gst/gstmessage.c:
5808         * gst/gstmessage.h:
5809         * gst/gsttag.c:
5810         * gst/gsttag.h:
5811         * gst/gsttaginterface.c:
5812         * gst/gsttaginterface.h:
5813         * gst/gsttaglist.c:
5814         * gst/gsttaglist.h:
5815         * gst/gsttagsetter.c:
5816         * gst/gsttagsetter.h:
5817         * gst/gsttrace.c:
5818         * gst/gsttrace.h:
5819         * gst/gsttrashstack.c:
5820           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5821           inlined docs for gsttrace, gsttrashstack
5822
5823 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5824
5825         * gst/Makefile.am:
5826         * gst/elements/gstbufferstore.h:
5827         * gst/elements/gsttypefindelement.c:
5828         * gst/elements/gsttypefindelement.h:
5829         * gst/gst.h:
5830         * gst/gsttypefind.c:
5831         * gst/gsttypefind.h:
5832         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5833         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5834         (gst_type_find_factory_dispose),
5835         (gst_type_find_factory_unload_thyself),
5836         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5837         (gst_type_find_factory_get_caps),
5838         (gst_type_find_factory_get_extensions),
5839         (gst_type_find_factory_call_function):
5840         * gst/gsttypefindfactory.h:
5841         * gst/registries/gstlibxmlregistry.c:
5842         * gst/registries/gstxmlregistry.c:
5843           splitted gsttypefind into gsttypefind, gsttypefindfactory
5844
5845 2005-09-07  Andy Wingo  <wingo@pobox.com>
5846
5847         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5848         condition whereby the pad's task function is entered before the
5849         pad_mode variable was set.
5850
5851 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5852
5853         * gst/gstpad.c: (gst_pad_alloc_buffer):
5854           Catch misbehaving pad_alloc functions that don't
5855           set up caps and do it for them.
5856
5857 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5858
5859         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5860           test for pipe!=NULL
5861         * docs/gst/tmpl/.cvsignore:
5862         * docs/gst/tmpl/gstmemchunk.sgml:
5863         * docs/gst/tmpl/gstparse.sgml:
5864         * docs/gst/tmpl/gsttaglist.sgml:
5865         * docs/gst/tmpl/gsttagsetter.sgml:
5866         * docs/gst/tmpl/gsttypefind.sgml:
5867         * docs/gst/tmpl/gsttypefindfactory.sgml:
5868         * gst/gstmemchunk.c:
5869         * gst/gstparse.c:
5870         * gst/gsttag.c:
5871         * gst/gsttaginterface.c:
5872         * gst/gsttypefind.c:
5873         * gst/gsttypefind.h:
5874           inlined more docs
5875
5876 === release 0.9.2 ===
5877
5878 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5879
5880         * NEWS:
5881         * RELEASE:
5882         * configure.ac:
5883           releasing 0.9.2, "South"
5884
5885 2005-09-05  Andy Wingo  <wingo@pobox.com>
5886
5887         * gst/registries/gstxmlregistry.h:
5888         * gst/registries/gstxmlregistry.c: Um... resurrect...
5889         
5890         * gst/registries/gstxmlregistry.h:
5891         * gst/registries/gstxmlregistry.c: and update to newer API.
5892         Incidentally they should be a bit faster now that they don't have
5893         to parse the caps.
5894         
5895 2005-09-05  Andy Wingo  <wingo@pobox.com>
5896
5897         * gst/registries/gstxmlregistry.h:
5898         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5899         replaced by the libxml registry a while back
5900
5901 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5902
5903         * docs/gst/tmpl/gstplugin.sgml:
5904         * gst/elements/gstelements.c:
5905         * gst/gst.c:
5906         * gst/gstplugin.c: (gst_plugin_register_func),
5907         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5908         (gst_plugin_get_source):
5909         * gst/gstplugin.h:
5910         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5911         (gst_xml_registry_save_plugin):
5912         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5913         (gst_xml_registry_save_plugin):
5914         * tools/gst-inspect.c: (print_plugin_info):
5915           add a "source" plugin description field, to represent the source
5916           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5917           will set it to PACKAGE, which is automake's idea of the name of
5918           the source project.
5919
5920 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5921
5922         * Makefile.am:
5923         * autogen.sh:
5924         * configure.ac:
5925         * docs/Makefile.am:
5926         * docs/faq/Makefile.am:
5927         * docs/gst/tmpl/gstelement.sgml:
5928         * docs/gst/tmpl/gsttypes.sgml:
5929         * docs/htmlinstall.mak:
5930         * docs/manual/Makefile.am:
5931         * docs/pwg/Makefile.am:
5932           reorganize doc build a little
5933           split out docbook and gtk-doc stuff
5934           have two separate --enable's and enable them through autogen
5935           but disable by default in configure (to be similar to other
5936           projects)
5937         * gstreamer.spec.in:
5938           clean up docs install
5939         * po/af.po:
5940         * po/az.po:
5941         * po/ca.po:
5942         * po/cs.po:
5943         * po/de.po:
5944         * po/en_GB.po:
5945         * po/fr.po:
5946         * po/it.po:
5947         * po/nb.po:
5948         * po/nl.po:
5949         * po/ru.po:
5950         * po/sq.po:
5951         * po/sr.po:
5952         * po/sv.po:
5953         * po/tr.po:
5954         * po/uk.po:
5955         * po/vi.po:
5956           translation updates
5957
5958 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5959
5960         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5961           Add comment.
5962           
5963         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5964         (gst_fake_sink_change_state):
5965           Make state change function thread-safe.
5966           
5967         * gst/gstpad.c: (gst_pad_alloc_buffer):
5968           Set offset on generic buffer allocated by fallback.
5969
5970 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5971
5972         * docs/gst/gstreamer-sections.txt:
5973         * docs/gst/tmpl/gstelement.sgml:
5974         * gst/gstpad.c:
5975         * libs/gst/controller/gst-controller.c:
5976         (gst_controlled_property_set_interpolation_mode),
5977         (gst_controlled_property_new),
5978         (gst_controller_find_controlled_property):
5979          run the wingo-magic script against the docs
5980
5981 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5982
5983         * docs/gst/gstreamer-docs.sgml:
5984         * docs/gst/gstreamer-sections.txt:
5985         * docs/gst/tmpl/.cvsignore:
5986         * docs/gst/tmpl/gstelementdetails.sgml:
5987         * docs/gst/tmpl/gstelementfactory.sgml:
5988         * gst/gst.c:
5989         * gst/gstbus.c:
5990         * gst/gstelementfactory.c:
5991         * gst/gstelementfactory.h:
5992           merged elementdetails docs into elementfactory docs
5993           inlined both
5994
5995 2005-09-02  Andy Wingo  <wingo@pobox.com>
5996
5997         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5998         consider this enum an enum and not a flags.
5999
6000 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6001
6002         * docs/gst/gstreamer-docs.sgml:
6003         * docs/gst/tmpl/.cvsignore:
6004         * docs/gst/tmpl/gstghostpad.sgml:
6005         * docs/gst/tmpl/gstiterator.sgml:
6006         * docs/gst/tmpl/gstmacros.sgml:
6007         * docs/gst/tmpl/gstrealpad.sgml:
6008         * docs/gst/tmpl/gstregistry.sgml:
6009         * docs/gst/tmpl/gstregistrypool.sgml:
6010         * docs/gst/tmpl/gststructure.sgml:
6011         * docs/gst/tmpl/gstsystemclock.sgml:
6012         * docs/gst/tmpl/gsttrace.sgml:
6013         * gst/gstghostpad.c:
6014         * gst/gstmacros.h:
6015         * gst/gstmemchunk.c:
6016         * gst/gstmemchunk.h:
6017         * gst/gstqueue.c:
6018         * gst/gstregistry.c:
6019         * gst/gstregistrypool.c:
6020         * gst/gststructure.c:
6021         * gst/gstsystemclock.c:
6022           more docs inlined
6023
6024 2005-09-02  Andy Wingo  <wingo@pobox.com>
6025
6026         * gst/gstelement.h (GstState): Renamed from GstElementState,
6027         changed to be a normal enum instead of flags.
6028         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6029         munged to be GST_STATE_CHANGE_*.
6030         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6031         work with the new state representation.
6032         (GstStateChange): New enumeration of possible state transitions.
6033         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6034         (GstElementClass::change_state): Pass the GstStateChange along as
6035         an argument. Helps language bindings, so they don't have to use
6036         tricky lock-needing macros like GST_STATE_CHANGE ().
6037
6038         * scripts/update-states (file): New script. Run it on a file to
6039         update it for state naming and API changes. Updates files in
6040         place.
6041
6042         * All files updated for the new API.
6043
6044 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6045
6046         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6047         * gst/gstutils.c: (gst_util_set_value_from_string),
6048         (gst_util_set_object_arg):
6049           fix a bunch of unchecked return values
6050         * tools/gst-complete.c: (main):
6051         * gstreamer.spec.in:
6052           clean up a little
6053
6054 2005-09-01  Wim Taymans  <wim@fluendo.com>
6055
6056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6057         (gst_base_sink_event), (gst_base_sink_do_sync),
6058         (gst_base_sink_handle_event):
6059         * gst/base/gstbasesink.h:
6060         Handle newsegments more correctly.
6061
6062         * gst/gstbus.c:
6063         Fix docs.
6064
6065         * gst/gstevent.c: (gst_event_new_newsegment):
6066         A newsegment cannot have a start_time of -1
6067
6068 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6069
6070         * win32/gstenumtypes.c:
6071         * win32/gstenumtypes.h:
6072           Update
6073
6074 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6075
6076         * libs/gst/controller/gst-controller.c:
6077         (gst_controlled_property_set_interpolation_mode),
6078         (gst_controlled_property_new):
6079          fixed boolean again
6080
6081 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6082
6083         * docs/faq/gst-uninstalled:
6084           add -good
6085         * gst/gstevent.c:
6086         * gst/gstevent.h:
6087           remove wrong docs
6088         * gst/gstutils.c: (gst_element_link_filtered):
6089         * gst/gstutils.h:
6090           add gst_element_link_filtered
6091
6092 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6093
6094         * docs/gst/gstreamer-docs.sgml:
6095         * docs/gst/gstreamer-sections.txt:
6096         * docs/gst/tmpl/.cvsignore:
6097         * docs/gst/tmpl/gsterror.sgml:
6098         * docs/gst/tmpl/gstfilter.sgml:
6099         * docs/gst/tmpl/gsturihandler.sgml:
6100         * docs/gst/tmpl/gsturitype.sgml:
6101         * docs/gst/tmpl/gstutils.sgml:
6102         * docs/gst/tmpl/gstxml.sgml:
6103         * gst/gsterror.c:
6104         * gst/gsterror.h:
6105         * gst/gstfilter.c:
6106         * gst/gsturi.c:
6107         * gst/gsturitype.c:
6108         * gst/gstutils.c:
6109         * gst/gstxml.c:
6110           inlined more docs, fixed double id-ref
6111
6112 2005-08-31  Wim Taymans  <wim@fluendo.com>
6113
6114         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6115         (gst_base_transform_handle_buffer):
6116         Passthrough elements don't need the caps as they don't care.
6117
6118 2005-08-31  Wim Taymans  <wim@fluendo.com>
6119
6120         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6121         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6122         Don't leak refcounts on buffers.
6123
6124 2005-08-31  Wim Taymans  <wim@fluendo.com>
6125
6126         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6127         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6128         (gst_base_transform_chain), (gst_base_transform_change_state):
6129         * gst/base/gstbasetransform.h:
6130         Handle the case where we are not negotiated more gracefully.
6131
6132 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6133
6134         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6135         (gst_file_src_map_region):
6136           Set READONLY flag on mmap'ed buffers, otherwise
6137           gst_buffer_make_writable() won't work properly (#314708).
6138
6139 2005-08-31  Wim Taymans  <wim@fluendo.com>
6140
6141         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6142         passthrough elements can even do inplace on non writable
6143         buffers (as they don't touch them).
6144
6145 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6146
6147         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6148         (gst_test_mono_source_set_property),
6149         (gst_test_mono_source_class_init), (GST_START_TEST),
6150         (gst_controller_suite):
6151           more tests (hehe I have the most)
6152         * gst/gstbus.c:
6153           describe popping messages whenusing mulltiple sources
6154         * libs/gst/controller/gst-controller.c:
6155         (gst_controlled_property_set_interpolation_mode),
6156         (gst_controlled_property_new):
6157         * libs/gst/controller/gst-controller.h:
6158         * libs/gst/controller/gst-interpolation.c:
6159           implement boolean properties
6160
6161 2005-08-31  Wim Taymans  <wim@fluendo.com>
6162
6163         * gst/gstminiobject.c: (gst_mini_object_ref):
6164         Cannot assert that the refcount has to be positive
6165         since a disposed object can be resurrected.
6166
6167 2005-08-31  Wim Taymans  <wim@fluendo.com>
6168
6169         * gst/gstpad.c: (gst_pad_init):
6170         Revert change, need to first fix badly behaving 
6171         apps.
6172
6173 2005-08-30  Wim Taymans  <wim@fluendo.com>
6174
6175         * check/elements/fakesrc.c: (setup_fakesrc):
6176         * check/elements/identity.c: (setup_identity):
6177         Activate pads before using them.
6178
6179 2005-08-30  Wim Taymans  <wim@fluendo.com>
6180
6181         * gst/base/gstadapter.c: (gst_adapter_flush):
6182         Flushing out 0 bytes is ok for this function.
6183
6184         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6185         no newsegment gives a warning and sets the start/stop to 
6186         invalid.
6187
6188         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6189         (gst_base_transform_set_passthrough):
6190         Some debug info.
6191
6192         * gst/gstminiobject.c: (gst_mini_object_ref):
6193         Check refcount here too.
6194
6195         * gst/gstpad.c: (gst_pad_init):
6196         Pads are initially flushing and refusing data.
6197
6198         * gst/gstutils.c: (gst_element_link_pads_filtered):
6199         When adding a capsfilter element make sure it has the
6200         same state as the parent bin.
6201
6202 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6203
6204         * docs/gst/tmpl/.cvsignore:
6205         * docs/gst/tmpl/gstformat.sgml:
6206         * docs/gst/tmpl/gstversion.sgml:
6207         * gst/gstbus.h:
6208         * gst/gstformat.c:
6209         * gst/gstformat.h:
6210         * gst/gstversion.h.in:
6211           more docs and two more inlined
6212
6213 2005-08-30  Wim Taymans  <wim@fluendo.com>
6214
6215         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6216         Don't sync to clock.
6217
6218 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6219
6220         * docs/gst/gstreamer-sections.txt:
6221           ultral33t func10ns deserve to appear in the docs actually
6222         * docs/gst/tmpl/.cvsignore:
6223         * docs/gst/tmpl/gstcompat.sgml:
6224         * docs/gst/tmpl/gstconfig.sgml:
6225         * gst/check/gstcheck.c:
6226         * gst/gstcompat.h:
6227         * gst/gstconfig.h.in:
6228           inlined more docs
6229
6230 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6231
6232         * docs/gst/tmpl/.cvsignore:
6233         * docs/gst/tmpl/gstquery.sgml:
6234         * docs/gst/tmpl/gstutils.sgml:
6235         * gst/gstquery.c:
6236         * gst/gstquery.h:
6237           inlined and extended docs
6238
6239 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6240
6241         * check/gst-libs/controller.c: (GST_START_TEST),
6242         (gst_controller_suite):
6243           more tests
6244         * docs/gst/tmpl/gstutils.sgml:
6245         * docs/libs/gstreamer-libs-sections.txt:
6246         * docs/libs/tmpl/gstdataprotocol.sgml:
6247           include path fixes
6248         * examples/controller/audio-example.c: (main):
6249           controller example works now
6250         * gst/gstclock.h:
6251           doc fixes
6252         * tools/gst-inspect.c: (print_element_properties_info):
6253           show param spec flags
6254
6255 2005-08-29  Andy Wingo  <wingo@pobox.com>
6256
6257         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6258
6259 2005-08-28  Andy Wingo  <wingo@pobox.com>
6260
6261         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6262         as having two arguments instead of just one. Allows superclasses
6263         to access information on subclasses -- see the terrible for() loop
6264         in gtype.c:g_type_create_instance for the reason why. All callers
6265         changed.
6266
6267 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6268
6269         * docs/design/part-messages.txt:
6270           update info
6271         * docs/gst/tmpl/.cvsignore:
6272         * docs/gst/tmpl/gstcaps.sgml:
6273         * docs/gst/tmpl/gstclock.sgml:
6274         * gst/gstbus.c:
6275         * gst/gstcaps.c:
6276         * gst/gstcaps.h:
6277         * gst/gstclock.c:
6278         * gst/gstclock.h:
6279         * gst/gstmessage.c:
6280           added descriptions for bus and message
6281           inline caps and clock docs
6282
6283 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6284
6285         * gst/gstmessage.c:
6286         * gst/gstmessage.h:
6287           doc fixes
6288
6289 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6290
6291         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6292           fix div-by-zero
6293
6294 2005-08-26  Andy Wingo  <wingo@pobox.com>
6295
6296         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6297         element_set_state's return val.
6298         (test_2_elements): Add test that's been disabled for months.
6299
6300         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6301         can-activate-pull properties.
6302
6303         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6304         can-activate-pull properties. Implement is_seekable so fakesrc can
6305         operate in pull mode.
6306
6307         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6308         properties.
6309         (gst_base_sink_activate, gst_base_sink_activate_pull)
6310         (gst_base_sink_activate_push): Make activation mode choosing work.
6311         Cleanups.
6312         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6313         is right. Make pull mode work. Post an eos before pausing in pull
6314         mode.
6315         (gst_base_sink_change_state): Pay attention to the core's
6316         change_state() return val.
6317         
6318         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6319         has-getrange properties. Cleanups.
6320         
6321         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6322         has_getrange and replace with can_activate_pull and
6323         can_activate_push.
6324
6325         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6326         locking comments. Remove has_loop, has_chain and replace with
6327         can_activate_pull and can_activate_push.
6328
6329 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6330
6331         * configure.ac:
6332         * examples/Makefile.am:
6333         * examples/metadata/Makefile.am:
6334         * examples/metadata/read-metadata.c: (message_loop),
6335         (have_pad_handler), (make_pipeline), (print_tag), (main):
6336           Add metadata reading example that loops over a list of filenames,
6337           dumping any tags found.
6338
6339         * gst/gstbus.c: (gst_bus_dispose):
6340         * gst/gstelement.c: (gst_element_dispose):
6341           Release a few potentially-held references in dispose.
6342
6343 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6344
6345         * docs/gst/tmpl/gstminiobject.sgml:
6346           do *not* add tmpl/*.sgml files to CVS!
6347
6348 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6349
6350         * libs/gst/bytestream/.cvsignore:
6351         * libs/gst/bytestream/Makefile.am:
6352         * libs/gst/bytestream/adapter.c:
6353         * libs/gst/bytestream/adapter.h:
6354         * libs/gst/bytestream/bytestream.c:
6355         * libs/gst/bytestream/bytestream.h:
6356         * libs/gst/bytestream/filepad.c:
6357         * libs/gst/bytestream/filepad.h:
6358           removing obsolete files
6359
6360 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6361
6362         * docs/gst/gstreamer-docs.sgml:
6363         * docs/libs/gstreamer-libs-docs.sgml:
6364           disabed additional index entries again, as this makes docs-gen just
6365           slow and they aren't useful yet
6366         * docs/libs/gstreamer-libs-sections.txt:
6367           little -section.txt cleanup for libs
6368
6369 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6370
6371         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6372         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6373           fix up some debugging
6374         (gst_base_transform_get_unit_size),
6375         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6376         (gst_base_transform_handle_buffer):
6377         * gst/base/gstbasetransform.h:
6378           handle and store timed NEWSEGMENT events so that subclasses that
6379           calculate time by counting samples have a segment_start time they
6380           need to add to their timestamps - see audioresample
6381
6382 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6383
6384         * gst/gstbin.h:
6385           removed ';' from the end of macro defs
6386         * docs/gst/gstreamer-docs.sgml:
6387         * docs/gst/gstreamer-sections.txt:
6388         * docs/gst/tmpl/.cvsignore:
6389         * gst/gstbus.h:
6390         * gst/gstelement.c: (gst_element_class_init),
6391         (gst_element_set_state), (activate_pads),
6392         (gst_element_save_thyself):
6393         * gst/gstevent.c: (gst_event_new_newsegment):
6394         * gst/gstevent.h:
6395         * gst/gstiterator.c:
6396         * gst/gstiterator.h:
6397         * gst/gstpad.c:
6398         * gst/gstprobe.h:
6399         * gst/gstutils.c: (gst_pad_query_convert):
6400         * gst/gstutils.h:
6401           fixed parameter name mismatches between source, header and docs
6402           added some more docs, resolved the last batch of unused elements in
6403           docs (now someone needs to doc them)
6404
6405 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6406
6407         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6408         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6409           don't walk through the plugins backwards.  Where is all this
6410           reversed logic coming from ?
6411
6412 2005-08-25  Wim Taymans  <wim@fluendo.com>
6413
6414         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6415         (gst_base_transform_transform_size),
6416         (gst_base_transform_configure_caps),
6417         (gst_base_transform_get_unit_size),
6418         (gst_base_transform_buffer_alloc),
6419         (gst_base_transform_change_state):
6420         * gst/base/gstbasetransform.h:
6421         Cache caps unit_size.
6422         Make sure we cannot negotiate up and downstream at the
6423         same time.
6424
6425 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6426
6427         * gst/gst.c: (init_pre), (init_post):
6428           register the installed plugin path after the env var
6429         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6430         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6431           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6432           directories, so the tests can prefer uninstalled over installed
6433
6434 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6435
6436         * gst/base/gstbasetransform.h:
6437           comment
6438         * gst/gstpad.c:
6439           add to docs
6440
6441 2005-08-25  Wim Taymans  <wim@fluendo.com>
6442
6443         * gst/gstbin.c: (bin_bus_handler):
6444         Be a bit more conservative about the posted message.
6445         
6446         * gst/gstbus.c: (gst_bus_post):
6447         Some cleanups, warn wrong return values.
6448
6449 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6450
6451         * check/gst/gstbin.c: (GST_START_TEST):
6452         * gst/gstbin.c: (bin_bus_handler):
6453         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6454         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6455         (gst_message_new_warning), (gst_message_new_tag),
6456         (gst_message_new_state_changed), (gst_message_new_segment_start),
6457         (gst_message_new_segment_done), (gst_message_new_custom):
6458         * gst/gstmessage.h:
6459         * tools/gst-launch.c: (event_loop):
6460         * tools/gst-md5sum.c: (event_loop):
6461           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6462
6463 2005-08-25  Wim Taymans  <wim@fluendo.com>
6464
6465         * check/generic/states.c: (GST_START_TEST):
6466         Cleanup can be done at the end.
6467
6468         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6469         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6470         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6471         Oh boy.. Thanks for finding this, Thomas. 
6472
6473 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6474
6475         * docs/gst/gstreamer.types:
6476           added missing types
6477
6478 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6479
6480         * docs/gst/gstreamer-docs.sgml:
6481         * docs/gst/gstreamer-sections.txt:
6482         * docs/gst/tmpl/.cvsignore:
6483         * gst/gstbin.c:
6484         * gst/gstiterator.c:
6485         * gst/gstutils.c:
6486         * gst/registries/gstxmlregistry.h:
6487           added missing classes and symbols (123 more to go)
6488           removed removed symbols from section file
6489           fixed many doc-comments
6490
6491 2005-08-24  Wim Taymans  <wim@fluendo.com>
6492
6493         * check/generic/states.c: (GST_START_TEST):
6494         Make sure all tasks are stopped.
6495
6496         * check/gst/gstbin.c: (GST_START_TEST):
6497         Unref after usage for proper valgrinding.
6498
6499         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6500         Really wait for the task to stop before destroying the
6501         mutex.
6502
6503         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6504         (gst_queue_src_activate_push):
6505         Small cleanups. Don't stop the task when we did not start
6506         it.
6507
6508         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6509         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6510         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6511         (gst_task_join):
6512         * gst/gsttask.h:
6513         Protect the stream lock with the object lock.
6514         Disallow setting the stream lock when running.
6515         Add cleanup_all to wait for the threadpool to finish.
6516         Remove code to autoallocate a mutex if none was provided.
6517         Add _join() to wait for a task to stop.
6518         Protect the thread pool with a global lock.
6519
6520 2005-08-24  Wim Taymans  <wim@fluendo.com>
6521
6522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6523         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6524         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6525         * gst/base/gstbasesink.h:
6526         Handle newsegment events correctly.
6527         Drop buffers out of the segment range.
6528
6529 2005-08-22  Andy Wingo  <wingo@pobox.com>
6530
6531         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6532         macro, implements an interface and gstimplementsinterface for a
6533         new type.
6534
6535 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6536
6537         * check/Makefile.am:
6538         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6539           add a test that does a bunch of state changes on elements
6540           needs some fixing for valgrind
6541         * check/states/sinks.c: (gst_object_suite):
6542           whitespace
6543         * gst/gstcaps.h:
6544           add prototype for gst_caps_is_equal_fixed
6545         * gst/gstplugin.c:
6546         * gst/gstregistrypool.c:
6547           doc fixes
6548
6549 2005-08-24  Andy Wingo  <wingo@pobox.com>
6550
6551         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6552         convert a negative value. Doesn't make much sense. Mostly this is
6553         here to force callers to ensure -1 maps to -1.
6554
6555 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6556
6557         * docs/pwg/advanced-types.xml:
6558           Well done to Michael for catching my deliberate introduction
6559           of this spelling mistake. 
6560         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6561         * gst/gstelement.h:
6562           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6563           unlink pads before removing the element from the bin.
6564
6565 2005-08-24  Andy Wingo  <wingo@pobox.com>
6566
6567         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6568         the same thing as GST_DEBUG=*:4.
6569         (parse_debug_level, parse_debug_category): New helper parsers.
6570
6571 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6572
6573         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6574         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6575         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6576         (gst_base_transform_buffer_alloc),
6577         (gst_base_transform_handle_buffer):
6578           use gboolean return values and pointers to size so we can use the
6579           full GST_BUFFER_SIZE range (guint) for buffer sizes
6580           use GstPadDirection for transform_caps
6581         * gst/base/gstbasetransform.h:
6582           rename get_size to get_unit_size since that's what it is
6583         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6584           use GstPadDirection for transform_caps
6585         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6586         * gst/gstutils.h:
6587           cleanup and debugging
6588
6589 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6590
6591         * gst/gstelement.c: (gst_element_class_init),
6592         (gst_element_set_state), (activate_pads),
6593         (gst_element_save_thyself):
6594         * tools/gst-compprep.c: (main):
6595         * tools/gst-inspect.c: (print_element_properties_info):
6596         * tools/gst-xmlinspect.c: (print_element_properties):
6597           Fixed long standing mem-leak
6598
6599 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6600
6601         * check/gst/gstbin.c: (GST_START_TEST):
6602         * gst/gstbin.c: (bin_bus_handler):
6603         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6604         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6605         (gst_message_new_warning), (gst_message_new_tag),
6606         (gst_message_new_state_changed), (gst_message_new_segment_start),
6607         (gst_message_new_segment_done), (gst_message_new_custom):
6608         * gst/gstmessage.h:
6609         * tools/gst-launch.c: (event_loop):
6610         * tools/gst-md5sum.c: (event_loop):
6611           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6612           that applications can sensibly post custom messages with references
6613           to their own objects.
6614
6615 2005-08-24  Andy Wingo  <wingo@pobox.com>
6616
6617         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6618         already.
6619
6620 2005-08-24  Wim Taymans  <wim@fluendo.com>
6621
6622         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6623         (gst_base_transform_transform_caps),
6624         (gst_base_transform_transform_size),
6625         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6626         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6627         (gst_base_transform_handle_buffer):
6628         * gst/base/gstbasetransform.h:
6629         Many fixes and new features added by Thomas. Can now also do
6630         transforms with variable sizes and a custom fixate_caps function.
6631
6632 2005-08-24  Wim Taymans  <wim@fluendo.com>
6633
6634         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6635         Some debugging.
6636
6637         * gst/gstclock.h:
6638         Cast to ClockTime before formatting to time.
6639
6640         * gst/gstutils.h:
6641         Cleanups.
6642
6643 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6644
6645         * check/gst-libs/controller.c: (GST_START_TEST),
6646         (gst_controller_suite):
6647         * docs/gst/tmpl/gstcaps.sgml:
6648         * docs/gst/tmpl/gstghostpad.sgml:
6649         * docs/gst/tmpl/gstquery.sgml:
6650         * docs/gst/tmpl/gstutils.sgml:
6651         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6652         (gst_object_sink_values), (gst_object_get_value_arrays),
6653         (gst_object_get_value_array):
6654           gracefully handle helper method calls to objects that are not beeing
6655           controlled, added test case for that          
6656
6657 2005-08-23  Wim Taymans  <wim@fluendo.com>
6658
6659         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6660         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6661         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6662         (gst_event_parse_qos), (gst_event_new_seek),
6663         (gst_event_parse_seek):
6664         * gst/gstevent.h:
6665         Some more debugging output and doc cleanups.
6666
6667         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6668         Fix possible deadlock.
6669
6670 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6671
6672         * docs/gst/gstreamer-docs.sgml:
6673         * docs/gst/gstreamer-sections.txt:
6674         * docs/gst/gstreamer.types:
6675         * docs/gst/tmpl/.cvsignore:
6676         * gst/gstbin.h:
6677         * gst/gstbus.c:
6678         * gst/gstelement.c:
6679         * gst/gstevent.h:
6680           added 100 symbols from gstreamer-unused.txt to the right sections
6681           fixed more broken comments
6682           added GstBus to docs
6683
6684 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6685
6686         * docs/gst/gstreamer-sections.txt:
6687         * docs/gst/tmpl/.cvsignore:
6688         * docs/gst/tmpl/gstbin.sgml:
6689         * docs/gst/tmpl/gstbuffer.sgml:
6690         * gst/base/gstbasesrc.c:
6691         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6692         * gst/gstbuffer.c:
6693         * gst/gstbuffer.h:
6694         * tools/gst-launch.1.in:
6695           inlined more doc comments, added missing comments and fixed comments
6696           fixed typos
6697
6698 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6699
6700         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6701           some debugging
6702         * gst/gstcaps.h:
6703           whitespace fixes
6704         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6705           more debugging
6706         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6707         * gst/gststructure.h:
6708           add a fixate function for booleans; add a FIXME that these func
6709           names should probably be gst_structure_fixate_*
6710
6711 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6712
6713         * docs/gst/gstreamer-docs.sgml:
6714         * docs/gst/gstreamer-sections.txt:
6715         * gst/Makefile.am:
6716         * gst/gstbin.c: (gst_bin_get_type),
6717         (gst_bin_child_proxy_get_child_by_index),
6718         (gst_bin_child_proxy_get_children_count),
6719         (gst_bin_child_proxy_init):
6720         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6721         (gst_child_proxy_get_child_by_index),
6722         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6723         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6724         (gst_child_proxy_get), (gst_child_proxy_set_property),
6725         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6726         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6727         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6728         * gst/gstchildproxy.h:
6729         * gst/parse/grammar.y:
6730         * tools/gst-inspect.c: (print_interfaces),
6731         (print_element_properties_info), (print_element_info):
6732           ported gstchildproxy over from 0.8
6733           ported gst-inspect fixes and enhancements over from 0.8
6734
6735 2005-08-22  Wim Taymans  <wim@fluendo.com>
6736
6737         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6738         (gst_base_transform_handle_buffer):
6739         Also call the transform function if we have ANY caps.
6740
6741         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6742         Fix debug info.
6743
6744 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6745
6746         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6747           Don't pretend to handle seek events if the source is not seekable
6748
6749 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6750
6751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6752           Remove extra parameter to debug output
6753
6754         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6755         (gst_base_src_do_seek), (gst_base_src_activate_push):
6756           Fix seek event handling.
6757
6758         * gst/gstpipeline.c: (gst_pipeline_change_state):
6759         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6760         (gst_queue_src_activate_push):
6761           Don't start the src pad task on FLUSH_STOP if the pad
6762           isn't linked.
6763           Debug changes.
6764
6765 2005-08-22  Wim Taymans  <wim@fluendo.com>
6766
6767         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6768         Added check for gst_static_caps_get() refcounting.
6769
6770 2005-08-22  Wim Taymans  <wim@fluendo.com>
6771
6772         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6773         Make _static_caps_get() refcounting sane.
6774         
6775         * gst/gstelement.c: (gst_element_set_state):
6776         Add g_return_val_if_fail() to protect against segfaults.
6777
6778 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6779
6780         * docs/gst/tmpl/gstevent.sgml:
6781         * gst/gstevent.c:
6782         * gst/gstevent.h:
6783           inlined remaining docs, added missing doc comments
6784
6785 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6786
6787         * check/gst/gstbin.c: (GST_START_TEST):
6788           since we don't know when preroll is done, use refcount range
6789           check for the sink
6790         * gst/check/gstcheck.h:
6791           add macro for checking refcount range
6792
6793 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6794
6795         * check/Makefile.am:
6796           clean up environment for when registry gets built versus
6797           when actual tests are run; valgrind seems to not report
6798           leaks if GST_PLUGIN_PATH is set to some specific values
6799         * check/gst/gstbin.c: (GST_START_TEST):
6800           add more refcounting checks; maybe this exposes a
6801           preroll lock bug ?
6802         * common/check.mak:
6803         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6804         * gst/check/gstcheck.h:
6805         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6806         (gst_bin_change_state):
6807         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6808           add/fix debugging/whitespace
6809
6810 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6811
6812         * check/gst/gstevent.c: (event_probe), (test_event),
6813         (GST_START_TEST):
6814          Er, don't call gst_bin_watch_for_state_change you idiot.
6815
6816 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6817
6818         * check/Makefile.am:
6819           Use CHECK_CFLAGS and CHECK_LIBS
6820         * check/gst/gstevent.c: (event_probe), (test_event),
6821         (GST_START_TEST):
6822           Don't leak events.
6823         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6824         (gst_base_src_start), (gst_base_src_stop),
6825         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6826         (gst_base_src_change_state):
6827           Sprinkle gst_base_src_stop liberally around error paths to fix
6828           problems reusing a source after failed state changes.
6829         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6830         (helper_find_suggest), (gst_type_find_helper):
6831           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6832         * gst/gstevent.h:
6833         * docs/gst/tmpl/gstevent.sgml:
6834           Migrate part of the docs from the SGML file. Wait for ensonic to
6835           tell me how I did it wrong ;)
6836         * tools/gst-typefind.c: (main):
6837           Extra robustness to state changes between files.
6838
6839 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6840
6841         * check/Makefile.am:
6842           don't valgrind the controller test - it's leaking - Stefan, HELP
6843         * gst/check/gstcheck.c: (gst_check_message_error),
6844         (gst_check_chain_func), (gst_check_setup_element),
6845         (gst_check_teardown_element), (gst_check_setup_src_pad),
6846         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6847         (gst_check_teardown_sink_pad):
6848         * gst/check/gstcheck.h:
6849           add a bunch of methods to set up elements, and src and sink pads
6850         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6851         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6852         (GST_START_TEST):
6853           use them
6854         * gst/gstmessage.c:
6855         * gst/gsttag.h:
6856           whitespace/doc fixes
6857
6858 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6859
6860         * gst/gstelement.h:
6861           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6862           be handled by the application and not always printed as well
6863
6864 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6865
6866         * check/Makefile.am:
6867           set GST_TOOLS_DIR
6868         * gst/check/gstcheck.c: (gst_check_message_error):
6869         * gst/check/gstcheck.h:
6870           add a fail_unless_equals_int
6871           add fail_unless for error messages
6872
6873 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6874
6875         * check/Makefile.am:
6876         * check/gst.supp:
6877         * common/Makefile.am:
6878         * common/check.mak:
6879         * common/gst.supp:
6880           factor out some of the common stuff so we can use it
6881
6882 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6883
6884         * check/Makefile.am:
6885         * check/gst/gstiterator.c: (GST_START_TEST):
6886         * check/gst/gstsystemclock.c: (GST_START_TEST),
6887         (gst_systemclock_suite):
6888         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6889         * gst/gstclock.c:
6890           valgrind more tests
6891
6892 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6893
6894         * check/elements/.cvsignore:
6895         * check/elements/gstfakesrc.c:
6896           rename to name of element
6897         * check/elements/identity.c: (chain_func), (event_func),
6898         (setup_identity), (cleanup_identity), (GST_START_TEST),
6899         (identity_suite), (main):
6900           add a test for identity
6901         * check/Makefile.am:
6902         * pkgconfig/Makefile.am:
6903         * pkgconfig/gstreamer-check.pc.in:
6904         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6905         * gst/check:
6906         * gst/Makefile.am:
6907         * configure.ac:
6908           move the check stuff to a library that gets installed
6909         * check/gst-libs/controller.c: (GST_START_TEST):
6910         * check/gst-libs/gdp.c:
6911         * check/gst/gst.c: (GST_START_TEST):
6912         * check/gst/gstbin.c:
6913         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6914         * check/gst/gstbus.c:
6915         * check/gst/gstcaps.c: (GST_START_TEST):
6916         * check/gst/gstelement.c:
6917         * check/gst/gstghostpad.c:
6918         * check/gst/gstiterator.c:
6919         * check/gst/gstmessage.c:
6920         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6921         * check/gst/gstobject.c:
6922         * check/gst/gstpad.c: (GST_START_TEST):
6923         * check/gst/gststructure.c: (GST_START_TEST):
6924         * check/gst/gstsystemclock.c: (GST_START_TEST),
6925         (gst_systemclock_suite):
6926         * check/gst/gsttag.c: (gst_tag_suite):
6927         * check/gst/gstvalue.c:
6928         * check/pipelines/cleanup.c:
6929         * check/pipelines/simple_launch_lines.c:
6930         * check/states/sinks.c:
6931           change include statement
6932
6933         * docs/gst/gstreamer-sections.txt:
6934         * docs/gst/tmpl/gstpad.sgml:
6935           document more pad stuff
6936         * gst/gstminiobject.c: (gst_mini_object_ref),
6937         (gst_mini_object_unref):
6938           debug refcounting
6939
6940 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6941
6942         * docs/gst/tmpl/gst.sgml:
6943         * gst/gst.c:
6944           eliminate another tmpl file, fix spelling in the long-description
6945
6946 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6947
6948         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6949         (test_event), (timediff), (gstevents_suite):
6950           Should fix build on 64-bit arch's
6951
6952 2005-08-18  Andy Wingo  <wingo@pobox.com>
6953
6954         Make sure that when a pipeline goes to PLAYING, that data has
6955         actually hit the sink.
6956
6957         * check/states/sinks.c (test_sink): A sink that doesn't get any
6958         data shouldn't return SUCCESS for going to either PLAYING or
6959         PAUSED. Test also the return values on the way back down.
6960
6961         * gst/gstelement.c (gst_element_set_state): When changing the
6962         state of an element currently changing state asynchronously, go to
6963         lost-state after commiting the pending state. Makes future calls
6964         to get_state continue to return ASYNC.
6965
6966         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6967         ASYNC when going to PLAYING if we still don't have preroll, as can
6968         happen with live sources.
6969
6970 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6971
6972         * docs/pwg/advanced-types.xml:
6973           Hack long paragraph into 2 chunks as a workaround for buggy
6974           jadetex version in sid and breezy that loops infinitely and
6975           eats all RAM.
6976
6977 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6978
6979         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6980         (test_event), (timediff), (gstevents_suite):
6981           Provide more error margin in clock measurements to allow for 
6982           g_get_current_time inaccuracies.
6983
6984 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6985
6986         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6987         (test_event), (timediff), (gstevents_suite):
6988            Fix error message output so I might be able to tell why the
6989            test works here but fails on the build farm.
6990
6991 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6992
6993         * check/Makefile.am:
6994         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6995         (test_event), (timediff), (gstevents_suite), (main):
6996           I wrote a test!
6997
6998         * docs/design/part-seeking.txt:
6999           Spelling correction
7000
7001         * docs/gst/tmpl/gstevent.sgml:
7002         * docs/gst/tmpl/gstfakesrc.sgml:
7003           Docs updates.
7004
7005         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7006           Treat a buffer-without-newsegment the same as a receiving 
7007           a newsegment not in time format, and disable syncing to the clock
7008           with a warning.
7009
7010         * gst/gstbus.c: (gst_bus_set_sync_handler):
7011           Assert if anyone tries to replace the existing sync_handler for bus, 
7012           as only the owner should be setting it.
7013
7014         * gst/gstevent.h:
7015           Have a fixed set of custom event enums with events identified by
7016           their structure name (as in 0.8), rather than a free-for-all
7017           allowing collisions between enum values from different plugins.
7018
7019         * gst/gstpad.c: (gst_pad_class_init):
7020           Docs change.
7021           
7022         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7023           Handle out-of-band downstream events from the sending thread.
7024
7025 2005-08-17  Andy Wingo  <wingo@pobox.com>
7026
7027         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7028         play-timeout==0 to mean no timeout at all. In that case, don't
7029         bother with a get_state or a warning, just return directly, even
7030         if it's ASYNC.
7031
7032         * gst/base/gstbasetransform.c: Debug changes.
7033
7034         * gst/gstutils.h:
7035         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7036         ensure bins post state change messages. A bit of a hack but I can't
7037         think of a way to avoid it.
7038
7039         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7040
7041 2005-08-16  Andy Wingo  <wingo@pobox.com>
7042
7043         * gst/base/gstadapter.h:
7044         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7045         peek() but you own the data. Not terribly efficient atm.
7046
7047 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7048
7049         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7050         (gst_element_found_tags):
7051         * gst/gstutils.h:
7052           Add two utility functions for tag handling.
7053
7054 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7055
7056         * docs/manual/advanced-dataaccess.xml:
7057         * docs/manual/basics-helloworld.xml:
7058           Fix docs to use _bin_add() before _link(), which fixes the examples
7059           with recent core versions (reported by Madhan Raj M
7060           <raj_madan@rediffmail.com>, #313199).
7061
7062 2005-08-16  Wim Taymans  <wim@fluendo.com>
7063
7064         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7065         Added subtract checks.
7066
7067         * docs/design/part-events.txt:
7068         Some more docs about newsegment
7069
7070         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7071         Fix FIXME
7072
7073         * gst/gstcaps.c: (gst_caps_to_string):
7074         Add comments, cleanups.
7075         
7076         * gst/gstelement.c: (gst_element_save_thyself):
7077         cleanups
7078         
7079         * gst/gstvalue.c: (gst_value_collect_int_range),
7080         (gst_string_unwrap), (gst_value_union_int_int_range),
7081         (gst_value_union_int_range_int_range),
7082         (gst_value_intersect_int_int_range),
7083         (gst_value_intersect_int_range_int_range),
7084         (gst_value_intersect_double_double_range),
7085         (gst_value_intersect_double_range_double_range),
7086         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7087         (gst_value_subtract_int_range_int),
7088         (gst_value_subtract_double_range_double),
7089         (gst_value_subtract_double_range_double_range),
7090         (gst_value_subtract_from_list), (gst_value_subtract_list),
7091         (gst_value_can_compare), (gst_value_compare_fraction):
7092         Cleanups, add comments, remove unneeded asserts.
7093
7094 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7095
7096         * tools/gst-launch.c: (event_loop):
7097           don't convert NULL structures to strings
7098
7099 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7100
7101         * docs/gst/gstreamer-sections.txt:
7102           made some defines private
7103         * docs/gst/tmpl/gstconfig.sgml:
7104         * docs/gst/tmpl/gstqueue.sgml:
7105         * docs/gst/tmpl/gsttaglist.sgml:
7106         * docs/gst/tmpl/gsttypes.sgml:
7107         * docs/gst/tmpl/gstutils.sgml:
7108         * docs/pwg/appendix-porting.xml:
7109         * gst/base/gstbasesink.h:
7110         * gst/base/gstbasesrc.c:
7111         * gst/base/gstbasesrc.h:
7112         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7113         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7114         * gst/gstelement.c: (gst_element_class_init):
7115         * gst/gstpad.c: (gst_pad_class_init):
7116         * gst/gstqueue.c: (gst_queue_class_init):
7117         * gst/gstxml.c: (gst_xml_class_init):
7118           documented all undocumented signal inline
7119         * libs/gst/controller/gst-controller.h:
7120           added padding
7121
7122 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7123
7124         * docs/pwg/appendix-porting.xml:
7125           Document _set_link_function -> _set_setcaps_function.
7126
7127 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7128
7129         * check/Makefile.am:
7130           add a .check target for running the check
7131         * check/gst-libs/controller.c: (GST_START_TEST):
7132           cosmetic fixups
7133         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7134           complete checks for gstbuffer; would be nice if I could get the
7135           gcov stuff to work so I can see if I actually completed gstbuffer.c
7136         * check/gstcheck.h:
7137           add ASSERT_BUFFER_REFCOUNT
7138
7139 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7140
7141         * docs/gst/gstreamer-sections.txt:
7142         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7143         * gst/gsttag.h:
7144           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7145           spew out a warning if a tag that is already registered
7146           is re-registered, unless it is re-registered with a 
7147           different type (#308438).
7148
7149 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7150
7151         * docs/pwg/appendix-porting.xml:
7152         * docs/pwg/building-state.xml:
7153           Add some paragraphs about state changes in 0.9 to the PWG
7154           and the porting guide, in particular about the new meaning
7155           of GST_STATE_PAUSED and how to write state change functions
7156           with concurrent access by multiple threads in mind.
7157
7158 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7159
7160         * docs/gst/gstreamer-docs.sgml:
7161         * docs/libs/gstreamer-libs-docs.sgml:
7162           added deprecation and since indexes
7163         * libs/gst/controller/gst-controller.c:
7164         * libs/gst/controller/gst-helper.c:
7165           added since tags
7166
7167
7168 2005-08-11  Wim Taymans  <wim@fluendo.com>
7169
7170         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7171         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7172         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7173         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7174         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7175         (gst_ghost_pad_set_target):
7176         Actually implement (re)setting the target on a ghostpad
7177         as described in the docs.
7178
7179 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7180
7181         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7182           Check whether GST_DEBUG_NO_COLOR environment variable is
7183           set and disable coloured debug output if that is the case.
7184
7185 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7186
7187         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7188         (gst_type_find_helper):
7189           The memory returned by gst_type_find_peek() needs to
7190           stay valid until the end of a typefind function, and
7191           typefind functions may keep results from different 
7192           offsets around, so we can't just unref the buffer from
7193           the previous _peek(), but have to save all buffers 
7194           returned by _peek() until typefinding is done and only
7195           free them then.
7196
7197 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7198
7199         * docs/gst/gstreamer-sections.txt:
7200         * gst/gstutils.h:
7201           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7202
7203 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7204
7205         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7206           Fix a pretty good memleak.
7207
7208 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7209
7210         * gst/gstiterator.h:
7211           Fix wrong include and 'make distcheck'.
7212
7213 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7214
7215         * gst/gstbin.c: (bin_bus_handler):
7216           Use gst_element_post_message() instead.
7217
7218 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7219
7220         * gst/base/gstadapter.h:
7221         * gst/base/gstbasesink.h:
7222         * gst/base/gstbasesrc.h:
7223         * gst/base/gstbasetransform.h:
7224         * gst/base/gstcollectpads.h:
7225         * gst/base/gstpushsrc.h:
7226         * gst/gstiterator.h:
7227           Add padding to our base elements' class and instance structs and
7228           to GstIterator (you will need to rebuild all plugins and apps!)
7229
7230 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7231
7232         * gst/gstbin.c: (bin_bus_handler):
7233           Make default message forwarding from child->bus to bin->bus
7234           threadsafe and make it not emit warnings if the parent has no bus.
7235
7236 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7237
7238         * gst/gstelement.c: (activate_pads):
7239           On paused->ready, set pad->caps to NULL, as is the documented
7240           behaviour in this state change. Fixes playback of series of
7241           media files when visualization is enabled in Totem.
7242
7243 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7244
7245         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7246           Allow NULL as filter-caps (which means "any").
7247
7248 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7249
7250         * docs/libs/gstreamer-libs-sections.txt:
7251         * libs/gst/controller/gst-controller.c:
7252         * libs/gst/controller/gst-controller.h:
7253         * libs/gst/controller/gst-helper.c:
7254           adding more entries to the docs and fix small doc-bugs
7255
7256 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7257
7258         * docs/gst/gstreamer-docs.sgml:
7259         * docs/gst/gstreamer-sections.txt:
7260         * docs/gst/gstreamer.types:
7261         * docs/gst/tmpl/gstbasesink.sgml:
7262         * docs/gst/tmpl/gstbasesrc.sgml:
7263         * docs/gst/tmpl/gstbasetransform.sgml:
7264         * docs/gst/tmpl/gstfakesrc.sgml:
7265         * gst/base/gstcollectpads.c:
7266         * gst/base/gstcollectpads.h:
7267         * libs/gst/controller/gst-controller.c:
7268         * libs/gst/controller/gst-controller.h:
7269         * libs/gst/controller/gst-helper.c:
7270         * libs/gst/controller/gst-interpolation.c:
7271         * libs/gst/controller/lib.c:
7272           added long/short desc for controller docs
7273           added collectpads base class docs
7274           added correct includes to base-class docs
7275
7276 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7277
7278         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7279         (gst_test_mono_source_set_property),
7280         (gst_test_mono_source_class_init), (GST_START_TEST),
7281         (gst_controller_suite):
7282         * docs/gst/gstreamer-docs.sgml:
7283         * docs/gst/gstreamer-sections.txt:
7284         * docs/gst/gstreamer.types:
7285         * docs/libs/gstreamer-libs-docs.sgml:
7286         * docs/libs/gstreamer-libs-sections.txt:
7287         * gst/base/gstadapter.c:
7288         * libs/gst/controller/gst-controller.c:
7289         (gst_controlled_property_new), (gst_controlled_property_free),
7290         (gst_controller_new_valist),
7291         (gst_controller_remove_properties_valist),
7292         (gst_controller_sink_values), (_gst_controller_finalize):
7293         * libs/gst/controller/gst-controller.h:
7294         * libs/gst/controller/gst-helper.c:
7295         (gst_object_control_properties), (gst_object_uncontrol_properties),
7296         (gst_object_get_controller), (gst_object_set_controller),
7297         (gst_object_sink_values), (gst_object_get_value_arrays),
7298         (gst_object_get_value_array):
7299           more tests (and fixes) for the controller
7300           more docs for the controller
7301           integrated companies docs for the adapter 
7302
7303 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7304
7305         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7306         (GST_START_TEST), (fakesrc_suite):
7307           add tests for sizetype
7308
7309 2005-08-04  Andy Wingo  <wingo@pobox.com>
7310
7311         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7312         fixes buffer_alloc proxying among other things.
7313
7314         * gst/base/gstbasetransform.c:
7315         * gst/base/gstbasetransform.h:
7316         Revert patch to gstbasetransform from 7-28 removing
7317         delay_configure.
7318
7319         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7320         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7321         Semantics changed, should return not the size of the output buffer
7322         but the byte size of a buffer with a given caps.
7323
7324         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7325         debug object.
7326         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7327         out) are not the pad caps until setcaps finishes.
7328         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7329         not-in-place case as well. Deal with changing from in-place to
7330         not-in-place within calling pad_alloc_buffer. Still a bit
7331         concerned about the overhead here...
7332
7333 2005-08-03  Andy Wingo  <wingo@pobox.com>
7334
7335         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7336         fixating is an error.
7337
7338 2005-08-04  Edward Hervey  <edward@fluendo.com>
7339
7340         * gst/base/gstadapter.h: 
7341         Added gst_adapter_get_type() to the header
7342
7343 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7344
7345         * check/Makefile.am:
7346         * check/gst-libs/controller.c:
7347         * libs/gst/controller/gst-controller.c:
7348         (gst_controller_new_valist):
7349           added check test suite for the controller
7350         * gst/base/gstpushsrc.c:
7351           fixed a doc typo
7352
7353 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7354
7355         * docs/gst/Makefile.am:
7356         * docs/gst/gstreamer-docs.sgml:
7357         * docs/gst/gstreamer-sections.txt:
7358         * docs/gst/gstreamer.types:
7359         * docs/gst/tmpl/gstfakesrc.sgml:
7360         * gst/base/README:
7361         * gst/base/gstbasesink.c:
7362         * gst/base/gstbasesink.h:
7363         * gst/base/gstbasesrc.c:
7364         * gst/base/gstbasesrc.h:
7365         * gst/base/gstbasetransform.c:
7366         * gst/base/gstpushsrc.c:
7367         * gst/base/gstpushsrc.h:
7368           add short/long description docs to base classes
7369           add pushsrc to the docs
7370           remove consolidated doc fragments
7371
7372 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7373
7374         * configure.ac:
7375         * docs/libs/Makefile.am:
7376         * docs/libs/gstreamer-libs-docs.sgml:
7377         * docs/libs/gstreamer-libs-sections.txt:
7378         * docs/libs/gstreamer-libs.types:
7379         * examples/Makefile.am:
7380         * examples/controller/.cvsignore:
7381         * examples/controller/Makefile.am:
7382         * examples/controller/audio-example.c: (main):
7383         * libs/gst/Makefile.am:
7384         * libs/gst/controller/.cvsignore:
7385         * libs/gst/controller/Makefile.am:
7386         * libs/gst/controller/gst-controller.c:
7387         (on_object_controlled_property_changed), (gst_timed_value_compare),
7388         (gst_timed_value_find),
7389         (gst_controlled_property_set_interpolation_mode),
7390         (gst_controlled_property_new), (gst_controlled_property_free),
7391         (gst_controller_find_controlled_property),
7392         (gst_controller_new_valist), (gst_controller_new),
7393         (gst_controller_remove_properties_valist),
7394         (gst_controller_remove_properties), (gst_controller_set),
7395         (gst_controller_set_from_list), (gst_controller_unset),
7396         (gst_controller_get), (gst_controller_get_all),
7397         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7398         (gst_controller_get_value_array),
7399         (gst_controller_set_interpolation_mode),
7400         (_gst_controller_finalize), (_gst_controller_init),
7401         (_gst_controller_class_init), (gst_controller_get_type):
7402         * libs/gst/controller/gst-controller.h:
7403         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7404         (g_object_uncontrol_properties), (g_object_get_controller),
7405         (g_object_set_controller), (g_object_sink_values),
7406         (g_object_get_value_arrays), (g_object_get_value_array):
7407         * libs/gst/controller/gst-interpolation.c:
7408         (gst_controlled_property_find_timed_value_node),
7409         (interpolate_none_get), (interpolate_trigger_get),
7410         (interpolate_trigger_get_value_array):
7411         * libs/gst/controller/lib.c: (gst_controller_init):
7412         * pkgconfig/Makefile.am:
7413         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7414         * pkgconfig/gstreamer-control.pc.in:
7415         * testsuite/Makefile.am:
7416         * testsuite/controller/.cvsignore:
7417         * testsuite/controller/Makefile.am:
7418         * testsuite/controller/interpolator.c: (main):
7419           added controller code
7420           removed dparam pc files
7421
7422 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7423         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7424         (gst_collectpads_stop):
7425           Broadcast the condition when shutting down, to make sure we wake all
7426           threads up. Shut down pads on finalize, for safety.
7427
7428 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7429         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7430         (gst_base_transform_handle_buffer),
7431         (gst_base_transform_change_state):
7432           Handle PAUSED->READY->PAUSED transition after negotiation
7433           occurred already.
7434         * gst/gstmessage.c: (gst_message_init):
7435           Extra piece of debug for new messages.
7436
7437 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7438
7439         * configure.ac:
7440         * docs/gst/tmpl/gstbasesrc.sgml:
7441         * docs/gst/tmpl/gstelement.sgml:
7442         * docs/gst/tmpl/gstevent.sgml:
7443         * docs/gst/tmpl/gstfakesrc.sgml:
7444         * docs/gst/tmpl/gstformat.sgml:
7445         * docs/gst/tmpl/gstghostpad.sgml:
7446         * docs/gst/tmpl/gstpad.sgml:
7447         * docs/gst/tmpl/gstquery.sgml:
7448         * docs/gst/tmpl/gststructure.sgml:
7449         * docs/gst/tmpl/gsttaglist.sgml:
7450         * docs/gst/tmpl/gstvalue.sgml:
7451         * docs/libs/gstreamer-libs-docs.sgml:
7452         * docs/libs/gstreamer-libs-sections.txt:
7453         * docs/libs/gstreamer-libs.types:
7454         * libs/gst/Makefile.am:
7455         * libs/gst/control/.cvsignore:
7456         * libs/gst/control/Makefile.am:
7457         * libs/gst/control/control.c:
7458         * libs/gst/control/control.h:
7459         * libs/gst/control/dparam.c:
7460         * libs/gst/control/dparam.h:
7461         * libs/gst/control/dparam_smooth.c:
7462         * libs/gst/control/dparam_smooth.h:
7463         * libs/gst/control/dparamcommon.h:
7464         * libs/gst/control/dparammanager.c:
7465         * libs/gst/control/dparammanager.h:
7466         * libs/gst/control/dplinearinterp.c:
7467         * libs/gst/control/dplinearinterp.h:
7468         * libs/gst/control/unitconvert.c:
7469         * libs/gst/control/unitconvert.h:
7470         * testsuite/Makefile.am:
7471         * testsuite/dynparams/.cvsignore:
7472         * testsuite/dynparams/Makefile.am:
7473         * testsuite/dynparams/dparamstest.c:
7474         * tools/Makefile.am:
7475         * tools/gst-inspect.c: (print_element_info), (main):
7476         * tools/gst-xmlinspect.c: (print_element_info), (main):
7477           deactivate and remove dparams (libgstcontrol)
7478
7479 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7480
7481         * gst/elements/gsttypefindelement.c:
7482         (gst_type_find_element_have_type), (gst_type_find_element_init),
7483         (stop_typefinding), (gst_type_find_element_handle_event),
7484         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7485         * gst/elements/gsttypefindelement.h:
7486           Set caps on all outgoing buffers, not just the first one.
7487
7488 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7489
7490         * gst/elements/gsttypefindelement.c:
7491         (gst_type_find_element_have_type),
7492         (gst_type_find_element_check_set_buffer_caps),
7493         (gst_type_find_element_init), (stop_typefinding),
7494         (gst_type_find_element_handle_event),
7495         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7496         * gst/elements/gsttypefindelement.h:
7497           Set caps on first outgoing buffer when we've found the type.
7498
7499 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7500
7501         * docs/gst/gstreamer-docs.sgml:
7502         * docs/gst/gstreamer-sections.txt:
7503         * docs/gst/tmpl/gstscheduler.sgml:
7504         * docs/gst/tmpl/gstschedulerfactory.sgml:
7505           Remove some old cruft from docs.
7506
7507 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7508
7509         * gst/gstpad.h:
7510           Fix inline docs for GstPadLinkReturn.
7511           
7512         * gst/gststructure.c: (gst_structure_has_name):
7513         * gst/gststructure.h:
7514         * docs/gst/gstreamer-sections.txt:
7515           New API: gst_structure_has_name().
7516
7517 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7518
7519         * configure.ac:
7520           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7521           and _LARGEFILE_SOURCE in config.h as required. Do not 
7522           export those flags in our .pc files any longer (#142209).
7523
7524           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7525
7526         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7527         (gst_file_sink_do_seek), (gst_file_sink_event),
7528         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7529           Redo seek/tell calls with large file support in mind; add some
7530           debugging messages; add log message that tells us when large
7531           file support is unavailable or not enabled for some reason.
7532
7533         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7534           Add log message that tells us when large file support 
7535           is unavailable or not enabled for some reason.
7536
7537 2005-07-29  Wim Taymans  <wim@fluendo.com>
7538
7539         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7540         Added test for removing an element with ghostpad from a bin.
7541         Fixed test as current implementation does the right thing.
7542
7543         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7544         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7545         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7546         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7547         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7548         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7549         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7550         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7551         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7552         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7553         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7554         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7555         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7556         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7557         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7558         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7559         * gst/gstghostpad.h:
7560         Clean up ghostpads, remove properties for internal stuff.
7561         Make threadsafe.
7562         Fix refcounting.
7563         Prepare for switching targets, not all use cases work yet.
7564
7565 2005-07-29  Wim Taymans  <wim@fluendo.com>
7566
7567         * docs/design/part-gstghostpad.txt:
7568         Small update.
7569
7570         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7571         (gst_bin_remove_func):
7572         Unlinking pads while holding the bin LOCK is not a good
7573         idea.
7574
7575         * gst/gstpad.c: (gst_pad_class_init),
7576         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7577         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7578         No prob setting template after creating the pad.
7579
7580 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7581
7582         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7583         (gst_bus_peek), (gst_bus_source_dispatch),
7584         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7585         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7586           gst_bus_poll may be called from other threads. Handle
7587           this nicely by not making poll_data disappear off the
7588           stack once gst_bus_poll returns.
7589           gst_bus_peek now increments the refcount on the returned
7590           message.
7591
7592 2005-07-29  Wim Taymans  <wim@fluendo.com>
7593
7594         * docs/design/part-gstghostpad.txt:
7595         Overview of current GhostPad datastructures and use
7596         cases for changing the target.
7597
7598 2005-07-28  Wim Taymans  <wim@fluendo.com>
7599
7600         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7601         Added checks for hierarchy consistency whan adding linked
7602         elements to bins.
7603
7604         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7605         Added check to test element scheduling without bin/pipeline.
7606
7607         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7608         First add elements to bin, then link.
7609         
7610         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7611         (gst_bin_remove_func):
7612         Unlink pads from elements added/removed from bin to maintain
7613         hierarchy consistency.
7614
7615 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7616
7617         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7618         (gst_base_transform_handle_buffer):
7619         * gst/base/gstbasetransform.h:
7620           Remove broken delay_configure (fixes renegotiation of software
7621           scaling pipelines); remove some leftover printf()s.
7622
7623 2005-07-28  Wim Taymans  <wim@fluendo.com>
7624
7625         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7626         Added some more tests for wrong hierarchy
7627
7628         * docs/design/part-overview.txt:
7629         Some updates.
7630
7631         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7632         Cleanups.
7633
7634         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7635         (gst_element_dispose):
7636         Some more cleanups.
7637
7638         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7639         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7640         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7641         (gst_pad_set_caps), (gst_pad_send_event):
7642         Check for correct hierarchy when linking pads. Moving to
7643         strict requirement for ghostpads when linking elements in
7644         different bins.
7645
7646         * gst/gstpad.h:
7647         Clean ups. Added WRONG_HIERARCHY return value.
7648
7649 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7650
7651         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7652           Better debug if no transform is possible.
7653
7654 2005-07-27  Wim Taymans  <wim@fluendo.com>
7655
7656         * docs/random/wtay/network-transp:
7657         Some old doc I had.
7658
7659 2005-07-27  Wim Taymans  <wim@fluendo.com>
7660
7661         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7662         (gst_dp_event_from_packet):
7663         Fix serialization of seek events.
7664
7665 2005-07-27  Wim Taymans  <wim@fluendo.com>
7666
7667         * check/gst-libs/gdp.c: (GST_START_TEST):
7668         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7669         Fix compilation and fix event serialization.
7670
7671 2005-07-27  Wim Taymans  <wim@fluendo.com>
7672
7673         * CHANGES-0.9:
7674         * docs/design/part-TODO.txt:
7675         * docs/design/part-events.txt:
7676         Some docs updates
7677
7678         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7679         (gst_base_sink_event), (gst_base_sink_do_sync),
7680         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7681         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7682         (gst_base_src_do_seek), (gst_base_src_event_handler),
7683         (gst_base_src_loop):
7684         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7685         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7686         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7687         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7688         (gst_base_transform_set_passthrough),
7689         (gst_base_transform_is_passthrough):
7690         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7691         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7692         Event updates.
7693
7694         * gst/gstbuffer.h:
7695         Use faster casts.
7696
7697         * gst/gstelement.c: (gst_element_seek):
7698         * gst/gstelement.h:
7699         Update gst_element_seek.
7700
7701         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7702         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7703         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7704         (gst_event_new_eos), (gst_event_new_newsegment),
7705         (gst_event_parse_newsegment), (gst_event_new_tag),
7706         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7707         (gst_event_parse_qos), (gst_event_new_seek),
7708         (gst_event_parse_seek), (gst_event_new_navigation):
7709         * gst/gstevent.h:
7710         Make GstEvent use GstStructure. Add parsing code, make sure the
7711         API is sufficiently generic.
7712         Mark possible directions of events and serialization.
7713
7714         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7715         (_gst_message_copy), (gst_message_new_segment_start),
7716         (gst_message_new_segment_done), (gst_message_new_custom),
7717         (gst_message_parse_segment_start),
7718         (gst_message_parse_segment_done):
7719         Small cleanups.
7720
7721         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7722         (gst_pad_set_caps), (gst_pad_send_event):
7723         Update for new events. 
7724         Catch events sent in wrong directions.
7725
7726         * gst/gstqueue.c: (gst_queue_link_src),
7727         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7728         (gst_queue_handle_src_query):
7729         Event updates.
7730
7731         * gst/gsttag.c:
7732         * gst/gsttag.h:
7733         Remove event code from this file.
7734
7735         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7736         (gst_dp_event_from_packet):
7737         Event updates.
7738
7739 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7740
7741         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7742         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7743         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7744           Make debugging actually useful.
7745
7746 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7747
7748         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7749         (gst_pad_fixate_caps):
7750           Implement default fixation once again, so that gst_pad_fixate()
7751           actually does anything at all. This probably needs to be some
7752           sort of a last resort, and use profile-based fixation first, but
7753           since that doesn't exist yet, this is the best we have. Fixes
7754           visualization in Totem.
7755
7756 2005-07-22  Wim Taymans  <wim@fluendo.com>
7757
7758         * docs/design/part-events.txt:
7759         Small update.
7760
7761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7762         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7763         (gst_base_sink_activate_pull):
7764         Some more comments.
7765
7766         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7767         (gst_fake_src_create):
7768         Fix handoff marshall.
7769
7770         * gst/elements/gstidentity.c: (gst_identity_class_init),
7771         (gst_identity_transform_ip):
7772         We're a real inplace element.
7773
7774         * gst/gstbus.c: (gst_bus_post):
7775         Added some comments.
7776
7777         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7778         * tests/muxing/case1.c: (main):
7779         * tests/sched/dynamic-pipeline.c: (main):
7780         * tests/sched/interrupt1.c: (main):
7781         * tests/sched/interrupt2.c: (main):
7782         * tests/sched/interrupt3.c: (main):
7783         * tests/sched/runxml.c: (main):
7784         * tests/sched/sched-stress.c: (main):
7785         * tests/seeking/seeking1.c: (event_received), (main):
7786         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7787         (main):
7788         * tests/threadstate/threadstate3.c: (main):
7789         * tests/threadstate/threadstate4.c: (main):
7790         * tests/threadstate/threadstate5.c: (main):
7791         Fix the tests.
7792
7793 2005-07-21  Wim Taymans  <wim@fluendo.com>
7794
7795         * docs/design/part-seeking.txt:
7796         Some small additions.
7797
7798         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7799         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7800         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7801         * gst/base/gstbasesink.h:
7802         discont values are gint64, handle the math correctly.
7803
7804         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7805         Make the basesrc report error if the source pad is not linked.
7806
7807         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7808         (gst_queue_loop), (gst_queue_handle_src_query),
7809         (gst_queue_src_activate_push):
7810         Make queue collect data even if the srcpad is not linked.
7811         Start pushing out data as soon as it is linked.
7812
7813         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7814         * gst/gstutils.h:
7815         Added gst_flow_get_name() to ease error reporting.
7816
7817 2005-07-20  Wim Taymans  <wim@fluendo.com>
7818
7819         * gst/gstmessage.c: (gst_message_new_segment_start),
7820         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7821         (gst_message_parse_segment_done):
7822         * gst/gstmessage.h:
7823         Added a bunch of messages for advanced seeking.
7824
7825         * gst/parse/grammar.y:
7826         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7827         (gst_dpman_state_changed):
7828         Fix some new-pad -> pad-added signals
7829
7830 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7831
7832         * docs/manual/appendix-porting.xml:
7833         * docs/pwg/appendix-porting.xml:
7834           Document new-pad/state-change signal renames and the FixedList
7835           type rename.
7836
7837 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7838
7839         * docs/manual/advanced-autoplugging.xml:
7840         * docs/manual/basics-helloworld.xml:
7841         * docs/manual/basics-pads.xml:
7842         * docs/random/ds/0.9-suggested-changes:
7843         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7844         * gst/gstelement.h:
7845         * gst/gstevent.h:
7846         * gst/gstformat.h:
7847         * gst/gstquery.h:
7848         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7849         (gst_structure_parse_array), (gst_structure_parse_value):
7850         * gst/gstvalue.c: (gst_type_is_fixed),
7851         (gst_value_list_prepend_value), (gst_value_list_append_value),
7852         (gst_value_list_get_size), (gst_value_list_get_value),
7853         (gst_value_transform_array_string), (gst_value_serialize_array),
7854         (gst_value_deserialize_array), (gst_value_intersect_array),
7855         (gst_value_is_fixed), (_gst_value_initialize):
7856         * gst/gstvalue.h:
7857           GstElement::new-pad -> pad-added, GstElement::state-change ->
7858           state-changed, GstValueFixedList -> GstValueArray, add format and
7859           flags as their own arguments in gst_element_seek() (should improve
7860           "bindeability"), remove function generators since they don't work
7861           under a whole bunch of compilers (they were deprecated already
7862           anyway).
7863
7864 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7865
7866         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7867         (_gst_debug_register_funcptr):
7868         * gst/gstinfo.h:
7869           Fix illegal cast on some platforms (#309253).
7870
7871 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7872
7873         * gst/gstmessage.c: (gst_message_new_custom):
7874         * gst/gstmessage.h:
7875           Add _new_custom, make _new_application a macro to _new_custom.
7876
7877 2005-07-20  Wim Taymans  <wim@fluendo.com>
7878
7879         * gst/base/gstbasesrc.c: (gst_base_src_init),
7880         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7881         * gst/base/gstbasesrc.h:
7882         Add a gboolean to decide when to push out a discont.
7883
7884         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7885         (gst_queue_loop), (gst_queue_handle_src_query),
7886         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7887         (gst_queue_set_property), (gst_queue_get_property):
7888         Some cleanups.
7889
7890         * tests/threadstate/threadstate1.c: (main):
7891         Make a thread test compile and run... very silly..
7892
7893
7894 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7895
7896         * docs/manual/appendix-porting.xml:
7897           Mention removal of libgstgconf-0.9.la and existence of gconf
7898           elements.
7899
7900 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7901
7902         * docs/pwg/advanced-clock.xml:
7903         * docs/pwg/appendix-porting.xml:
7904         * docs/pwg/intro-preface.xml:
7905         * docs/pwg/other-base.xml:
7906         * docs/pwg/other-manager.xml:
7907         * docs/pwg/other-nton.xml:
7908         * docs/pwg/other-ntoone.xml:
7909         * docs/pwg/other-oneton.xml:
7910         * docs/pwg/pwg.xml:
7911           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7912           demuxer), remove n-to-n (was never written), fix some code examples
7913           and links and update the porting section to include all this.
7914
7915 2005-07-19  Wim Taymans  <wim@fluendo.com>
7916
7917         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7918         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7919         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7920         (gst_queue_src_activate_push), (gst_queue_change_state),
7921         (gst_queue_get_property):
7922         * gst/gstqueue.h:
7923         Propagate GstFlowReturn more intelligently upstream and output
7924         an ERROR/EOS when streaming stopped due to fatal error.
7925
7926 2005-07-19  Wim Taymans  <wim@fluendo.com>
7927
7928         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7929         Don't block forever for the state change to complete, the
7930         pipeline already did with a sensible timeout.
7931
7932 2005-07-19  Wim Taymans  <wim@fluendo.com>
7933
7934         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7935         Make sure we never call the create function is we
7936         got deactivated.
7937
7938 2005-07-19  Andy Wingo  <wingo@pobox.com>
7939
7940         * gst/parse/parse.l: Attempt to solve bug #172815.
7941
7942 2005-07-19  Wim Taymans  <wim@fluendo.com>
7943
7944         * docs/design/part-clocks.txt:
7945         * docs/design/part-events.txt:
7946         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7947         Small docs updates.
7948         Only update the seeking values when we are not
7949         busy streaming.
7950
7951 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7952
7953         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7954           Oops, ignore the result of gst_pad_push_event here.
7955
7956 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7957
7958         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7959         (gst_base_src_activate_push):
7960           Send discont event from the loop function, as pads
7961           aren't activated yet in the activate_push handler.
7962
7963         * gst/gstbin.c: (bin_bus_handler):
7964           Don't leak element name.
7965
7966 2005-07-18  Andy Wingo  <wingo@pobox.com>
7967
7968         * configure.ac: Use AS_LIBTOOL_TAGS.
7969
7970 2005-07-18  Wim Taymans  <wim@fluendo.com>
7971
7972         * docs/gst/gstreamer.types:
7973         Remove deleted types.
7974
7975 2005-07-18  Wim Taymans  <wim@fluendo.com>
7976
7977         * check/elements/gstfakesrc.c: (GST_START_TEST):
7978         * configure.ac:
7979         * gst/Makefile.am:
7980         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7981         (init_popt_callback):
7982         * gst/gst.h:
7983         * gst/gst_private.h:
7984         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7985         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7986         * gst/gstbin.h:
7987         * gst/gstbus.h:
7988         * gst/gstconfig.h.in:
7989         * gst/gstelement.c: (gst_element_class_init),
7990         (gst_element_set_base_time), (gst_element_get_base_time),
7991         (iterator_fold_with_resync), (gst_element_change_state),
7992         (gst_element_dispose), (gst_element_get_bus):
7993         * gst/gstelement.h:
7994         * gst/gstelementfactory.h:
7995         * gst/gsterror.c: (_gst_core_errors_init):
7996         * gst/gsterror.h:
7997         * gst/gstevent.h:
7998         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7999         * gst/gstindex.c:
8000         * gst/gstinfo.c: (_gst_debug_init):
8001         * gst/gstmessage.c: (_gst_message_copy):
8002         * gst/gstmessage.h:
8003         * gst/gstminiobject.h:
8004         * gst/gstobject.c:
8005         * gst/gstobject.h:
8006         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8007         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8008         * gst/gstpad.h:
8009         * gst/gstparse.h:
8010         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8011         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8012         (gst_pipeline_get_last_stream_time):
8013         * gst/gstpipeline.h:
8014         * gst/gstpluginfeature.h:
8015         * gst/gstquery.h:
8016         * gst/gstscheduler.c:
8017         * gst/gstscheduler.h:
8018         * gst/gststructure.h:
8019         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8020         (gst_task_finalize), (gst_task_func), (gst_task_create),
8021         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8022         (gst_task_stop), (gst_task_pause):
8023         * gst/gsttask.h:
8024         * gst/gsttypefind.h:
8025         * gst/gsttypes.h:
8026         * gst/registries/gstlibxmlregistry.c: (load_feature),
8027         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8028         * gst/registries/gstxmlregistry.c:
8029         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8030         * gst/schedulers/threadscheduler.c:
8031         * libs/gst/control/dparammanager.h:
8032         * tools/gst-inspect.c: (print_element_list),
8033         (print_plugin_features), (print_element_features):
8034         * tools/gst-xmlinspect.c: (print_element_list),
8035         (print_plugin_info), (main):
8036         Removed plugable schedulers.
8037         Removed Scheduler/Manager from elements.
8038         Removed gsttypes.h, rearranged includes.
8039         Removed dependency pad<->element, element<>pipeline, and
8040         various others,  fix includes.
8041         implement gst_pad_get_parent() with gst_object_get_parent()
8042         Make GstTask sefcontained.
8043         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8044         timeout.
8045         Fix endless loop in iterator_fold_with_resync.
8046
8047
8048 2005-07-18  Wim Taymans  <wim@fluendo.com>
8049
8050         * gst/Makefile.am:
8051         * gst/gstarch.h:
8052         Remove old file.
8053
8054 2005-07-18  Wim Taymans  <wim@fluendo.com>
8055
8056         * gst/Makefile.am:
8057         No more cothreads.h
8058
8059 2005-07-18  Wim Taymans  <wim@fluendo.com>
8060
8061         * gst/cothreads.c:
8062         * gst/cothreads.h:
8063         Let's remove these.
8064
8065 2005-07-18  Wim Taymans  <wim@fluendo.com>
8066
8067         * docs/design/part-dynamic.txt:
8068         * docs/design/part-events.txt:
8069         * docs/design/part-seeking.txt:
8070         Some more docs in the works.
8071
8072         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8073         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8074         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8075         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8076         (gst_base_transform_handle_buffer),
8077         (gst_base_transform_sink_activate_push),
8078         (gst_base_transform_src_activate_pull),
8079         (gst_base_transform_set_passthrough),
8080         (gst_base_transform_is_passthrough):
8081         Refcounting fixes.
8082
8083         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8084         Cleanups.
8085
8086         * gst/gstevent.c: (gst_event_finalize):
8087         Set SRC to NULL.
8088
8089         * gst/gstutils.c: (gst_element_unlink),
8090         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8091         (gst_pad_proxy_setcaps):
8092         * gst/gstutils.h:
8093         Add _get_parent_element() to get a pads parent as an element.
8094
8095 2005-07-18  Wim Taymans  <wim@fluendo.com>
8096
8097         * check/gst/gstbin.c: (GST_START_TEST):
8098         Remove bogus test.
8099
8100 2005-07-18  Wim Taymans  <wim@fluendo.com>
8101
8102         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8103         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8104         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8105         (gst_base_sink_event), (gst_base_sink_do_sync),
8106         (gst_base_sink_chain), (gst_base_sink_loop),
8107         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8108         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8109         Refcounting fixes.
8110         Fix logic for returning ASYNC when not prerolled.
8111
8112 2005-07-18  Wim Taymans  <wim@fluendo.com>
8113
8114         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8115         Fix nasty refcount bug.
8116
8117 2005-07-16 Philippe Khalaf <burger@speedy.org>
8118
8119         * gst/elements/gstfdsrc.c:
8120         * gst/elements/gstfdsrc.h:
8121         * gst/elements/gstelements.c:
8122         * gst/elements/Makefile.am:
8123         Ported fdsrc to 0.9.
8124
8125 2005-07-16  Wim Taymans  <wim@fluendo.com>
8126
8127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8128         (gst_base_sink_do_sync):
8129         Fix compile error.
8130
8131 2005-07-16  Wim Taymans  <wim@fluendo.com>
8132
8133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8134         (gst_base_sink_event), (gst_base_sink_get_times),
8135         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8136         * gst/base/gstbasesink.h:
8137         Store and use discont values when syncing buffers as described
8138         in design docs.
8139         
8140         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8141         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8142         (gst_base_src_activate_push):
8143         Push discont event when starting.
8144
8145         * gst/elements/gstidentity.c: (gst_identity_transform):
8146         Small cleanups.
8147
8148         * gst/gstbin.c: (gst_bin_change_state):
8149         Small cleanups in base_time  distribution.
8150
8151         * gst/gstelement.c: (gst_element_set_base_time),
8152         (gst_element_get_base_time), (gst_element_change_state):
8153         * gst/gstelement.h:
8154         Added methods for the base_time of the element.
8155         Some MT fixes.
8156
8157         * gst/gstpipeline.c: (gst_pipeline_send_event),
8158         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8159         (gst_pipeline_get_last_stream_time):
8160         * gst/gstpipeline.h:
8161         MT fixes.
8162         Handle seeking as described in design doc, remove stream_time
8163         hack.
8164         Cleanups clock and stream_time selection code. Added accessors
8165         for the stream_time.
8166         
8167
8168 2005-07-16  Andy Wingo  <wingo@pobox.com>
8169
8170         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8171         (#305291).
8172
8173 2005-07-16  Wim Taymans  <wim@fluendo.com>
8174
8175         * check/gst/gstbin.c: (GST_START_TEST):
8176         Make elements silent as the deep_notify refs the
8177         parent, which might make the test fail.
8178
8179         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8180         Don't hold the lock for too long.
8181
8182 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8183
8184         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8185           Don't unref the caps we passed to gst_caps_make_writable() after
8186           passing them. gst_caps_make_writable() will do that for us.
8187
8188 2005-07-15  Andy Wingo  <wingo@pobox.com>
8189
8190         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8191         (#157311).
8192
8193         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8194         own marshalling function for the handoff signal. Properly type the
8195         buffer as a buffer. Fixes some warnings. Should do a more general
8196         solution.
8197         (gst_identity_class_init): Plug into the right marshaller.
8198
8199 2005-07-15  Wim Taymans  <wim@fluendo.com>
8200
8201         * docs/design/part-TODO.txt:
8202         * docs/design/part-clocks.txt:
8203         * docs/design/part-element-sink.txt:
8204         * docs/design/part-events.txt:
8205         * docs/design/part-gstpipeline.txt:
8206         Updated docs, mostly DISCONT related.
8207
8208 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8209
8210         * docs/pwg/building-pads.xml:
8211           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8212
8213 2005-07-15  Andy Wingo  <wingo@pobox.com>
8214
8215         * tools/gst-typefind.c: Update, add copyright block.
8216
8217         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8218         Normalize and truncate caps before fixation.
8219
8220         * gst/gstcaps.h:
8221         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8222         discards all but the first structure from its argument.
8223
8224 2005-07-15  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8227         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8228         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8229         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8230         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8231         (gst_base_transform_chain), (gst_base_transform_change_state),
8232         (gst_base_transform_set_passthrough),
8233         (gst_base_transform_is_passthrough):
8234         * gst/base/gstbasetransform.h:
8235         Make passthrough work using the bufferpools.
8236         Changed API a bit, subclasses have to write into a buffer
8237         provided by the base class.
8238         More debug info in nego functions.
8239         
8240         * gst/elements/gstidentity.c: (gst_identity_init),
8241         (gst_identity_transform):
8242         Port to new base class.
8243
8244 2005-07-15  Wim Taymans  <wim@fluendo.com>
8245
8246         * gst/gstmessage.c: (gst_message_new_state_changed):
8247         * tools/gst-launch.c: (event_loop), (main):
8248         Totally dump messages in -launch with the -m option.
8249         Fix message name for State messages,
8250
8251 2005-07-14  Wim Taymans  <wim@fluendo.com>
8252
8253         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8254         Post error messages on errors.
8255
8256 2005-07-14  Wim Taymans  <wim@fluendo.com>
8257
8258         * gst/gstcaps.c: (gst_caps_do_simplify):
8259         Remove debug info.
8260
8261         * gst/gsterror.h:
8262         Define error for stream stopped.
8263
8264         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8265         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8266         Do proper return values.
8267
8268         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8269         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8270         (gst_pad_get_range):
8271         Better return values.
8272
8273         * gst/gstpad.h:
8274         Reorganise return values, add macro to check for fatal errors.
8275
8276         * gst/gstqueue.c: (gst_queue_chain):
8277         Return proper GstFlowReturn values,
8278
8279 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8280
8281         * docs/gst/gstreamer-sections.txt:
8282         * docs/gst/gstreamer.types:
8283         * docs/gst/tmpl/gst.sgml:
8284         * docs/gst/tmpl/gstbasesink.sgml:
8285         * docs/gst/tmpl/gstbasesrc.sgml:
8286         * docs/gst/tmpl/gstbasetransform.sgml:
8287         * docs/gst/tmpl/gstbin.sgml:
8288         * docs/gst/tmpl/gstbuffer.sgml:
8289         * docs/gst/tmpl/gstcaps.sgml:
8290         * docs/gst/tmpl/gstclock.sgml:
8291         * docs/gst/tmpl/gstcompat.sgml:
8292         * docs/gst/tmpl/gstconfig.sgml:
8293         * docs/gst/tmpl/gstelement.sgml:
8294         * docs/gst/tmpl/gstelementdetails.sgml:
8295         * docs/gst/tmpl/gstelementfactory.sgml:
8296         * docs/gst/tmpl/gstenumtypes.sgml:
8297         * docs/gst/tmpl/gsterror.sgml:
8298         * docs/gst/tmpl/gstevent.sgml:
8299         * docs/gst/tmpl/gstfakesink.sgml:
8300         * docs/gst/tmpl/gstfakesrc.sgml:
8301         * docs/gst/tmpl/gstfilesink.sgml:
8302         * docs/gst/tmpl/gstfilesrc.sgml:
8303         * docs/gst/tmpl/gstfilter.sgml:
8304         * docs/gst/tmpl/gstformat.sgml:
8305         * docs/gst/tmpl/gstghostpad.sgml:
8306         * docs/gst/tmpl/gstimplementsinterface.sgml:
8307         * docs/gst/tmpl/gstindex.sgml:
8308         * docs/gst/tmpl/gstindexfactory.sgml:
8309         * docs/gst/tmpl/gstinfo.sgml:
8310         * docs/gst/tmpl/gstiterator.sgml:
8311         * docs/gst/tmpl/gstmacros.sgml:
8312         * docs/gst/tmpl/gstmemchunk.sgml:
8313         * docs/gst/tmpl/gstminiobject.sgml:
8314         * docs/gst/tmpl/gstobject.sgml:
8315         * docs/gst/tmpl/gstpad.sgml:
8316         * docs/gst/tmpl/gstpadtemplate.sgml:
8317         * docs/gst/tmpl/gstparse.sgml:
8318         * docs/gst/tmpl/gstpipeline.sgml:
8319         * docs/gst/tmpl/gstplugin.sgml:
8320         * docs/gst/tmpl/gstpluginfeature.sgml:
8321         * docs/gst/tmpl/gstquery.sgml:
8322         * docs/gst/tmpl/gstqueue.sgml:
8323         * docs/gst/tmpl/gstregistry.sgml:
8324         * docs/gst/tmpl/gstregistrypool.sgml:
8325         * docs/gst/tmpl/gstscheduler.sgml:
8326         * docs/gst/tmpl/gstschedulerfactory.sgml:
8327         * docs/gst/tmpl/gststructure.sgml:
8328         * docs/gst/tmpl/gstsystemclock.sgml:
8329         * docs/gst/tmpl/gsttaglist.sgml:
8330         * docs/gst/tmpl/gsttagsetter.sgml:
8331         * docs/gst/tmpl/gsttrace.sgml:
8332         * docs/gst/tmpl/gsttrashstack.sgml:
8333         * docs/gst/tmpl/gsttypefind.sgml:
8334         * docs/gst/tmpl/gsttypefindfactory.sgml:
8335         * docs/gst/tmpl/gsttypes.sgml:
8336         * docs/gst/tmpl/gsturihandler.sgml:
8337         * docs/gst/tmpl/gsturitype.sgml:
8338         * docs/gst/tmpl/gstutils.sgml:
8339         * docs/gst/tmpl/gstvalue.sgml:
8340         * docs/gst/tmpl/gstversion.sgml:
8341         * docs/gst/tmpl/gstxml.sgml:
8342         * docs/libs/tmpl/gstcontrol.sgml:
8343         * docs/libs/tmpl/gstdataprotocol.sgml:
8344         * docs/libs/tmpl/gstdparam.sgml:
8345         * docs/libs/tmpl/gstdplinint.sgml:
8346         * docs/libs/tmpl/gstdpman.sgml:
8347         * docs/libs/tmpl/gstdpsmooth.sgml:
8348         * docs/libs/tmpl/gstgetbits.sgml:
8349         * docs/libs/tmpl/gstunitconvert.sgml:
8350         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8351         (gst_push_src_base_init), (gst_push_src_class_init),
8352         (gst_push_src_init), (gst_push_src_create):
8353         * gst/base/gstpushsrc.h:
8354         * gst/elements/gstelements.c:
8355         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8356         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8357         (gst_fake_sink_init), (gst_fake_sink_set_property),
8358         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8359         (gst_fake_sink_event), (gst_fake_sink_preroll),
8360         (gst_fake_sink_render), (gst_fake_sink_change_state):
8361         * gst/elements/gstfakesink.h:
8362         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8363         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8364         (gst_fake_src_base_init), (gst_fake_src_class_init),
8365         (gst_fake_src_init), (gst_fake_src_event_handler),
8366         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8367         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8368         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8369         (gst_fake_src_create_buffer), (gst_fake_src_create),
8370         (gst_fake_src_start), (gst_fake_src_stop):
8371         * gst/elements/gstfakesrc.h:
8372         * gst/elements/gstfilesink.c: (_do_init),
8373         (gst_file_sink_base_init), (gst_file_sink_class_init),
8374         (gst_file_sink_init), (gst_file_sink_dispose),
8375         (gst_file_sink_set_location), (gst_file_sink_set_property),
8376         (gst_file_sink_get_property), (gst_file_sink_open_file),
8377         (gst_file_sink_close_file), (gst_file_sink_query),
8378         (gst_file_sink_event), (gst_file_sink_render),
8379         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8380         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8381         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8382         * gst/elements/gstfilesink.h:
8383         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8384         (gst_file_src_class_init), (gst_file_src_init),
8385         (gst_file_src_finalize), (gst_file_src_set_location),
8386         (gst_file_src_set_property), (gst_file_src_get_property),
8387         (gst_file_src_map_region), (gst_file_src_map_small_region),
8388         (gst_file_src_create_mmap), (gst_file_src_create_read),
8389         (gst_file_src_create), (gst_file_src_is_seekable),
8390         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8391         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8392         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8393         (gst_file_src_uri_handler_init):
8394         * gst/elements/gstfilesrc.h:
8395           more autistic cleanliness in functions/names/defines
8396
8397 2005-07-13  Andy Wingo  <wingo@pobox.com>
8398
8399         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8400         source couldn't negotiate.
8401
8402         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8403         connections again.
8404
8405         * gst/gstutils.h:
8406         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8407         function. I am channeling Hades. Put your boots on suckers!!!
8408
8409 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8410
8411         * testsuite/caps/Makefile.am:
8412         * testsuite/caps/value_compare.c:
8413         * testsuite/caps/value_intersect.c:
8414         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8415           move two testsuite apps over to the check dir
8416
8417 2005-07-12  Wim Taymans  <wim@fluendo.com>
8418
8419         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8420         Added more debug info in the negotiate process.
8421
8422         * gst/gstmessage.h:
8423         Prepare for segment playback.
8424
8425         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8426         Better debugging.
8427
8428         * gst/gstutils.c:
8429         Some more docs.
8430
8431         * tools/gst-launch.c: (main):
8432         NULL pipeline on errors.
8433
8434 2005-07-12  Andy Wingo  <wingo@pobox.com>
8435
8436         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8437         not it comes from a malloc region. Make sure our copy gets freed.
8438
8439 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8440
8441         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8442         * check/gst/gstmessage.c: (GST_START_TEST):
8443         * check/gst/gststructure.c: (GST_START_TEST),
8444         (gst_structure_suite), (main):
8445           more testing
8446         * gst/gstelement.c: (gst_element_message_full):
8447           clean up GError and debug string now that they get copied
8448         * gst/gstmessage.c: (gst_message_new_error),
8449         (gst_message_new_warning), (gst_message_parse_error),
8450         (gst_message_parse_warning):
8451           use GST_TYPE_G_ERROR for structure_new, and take copies of
8452           arguments, so that we don't mess up refcounting
8453
8454 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8455
8456         * check/Makefile.am:
8457           add per-test valgrind targets
8458         * check/gst-libs/gdp.c: (GST_START_TEST),
8459         (gst_data_protocol_suite), (main):
8460           clean up
8461
8462 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * check/Makefile.am:
8465           instate more valgrindable tests
8466         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8467         (GST_START_TEST), (fakesrc_suite):
8468         * check/gst/gstpad.c: (GST_START_TEST):
8469         * check/gst/gststructure.c: (GST_START_TEST):
8470           fix test leaks
8471         * docs/gst/tmpl/gstminiobject.sgml:
8472         * gst/gstpad.c: (gst_pad_finalize):
8473           fix the static mutex leak
8474
8475 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8476
8477         * check/Makefile.am:
8478           add two more tests for valgrinding
8479         * check/gst/gstvalue.c: (GST_START_TEST):
8480           test refcount of deserialized buffer, found a leak
8481         * docs/gst/gstreamer-docs.sgml:
8482         * docs/gst/gstreamer-sections.txt:
8483         * docs/gst/gstreamer.types:
8484         * docs/gst/tmpl/gstminiobject.sgml:
8485           add miniobject to docs
8486         * gst/gstminiobject.c:
8487           add some docs
8488         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8489         (gst_string_unwrap):
8490           fix a hard-to-find invalid write for one of the tests
8491           fix a leak for deserialized buffers
8492
8493 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8494
8495         * docs/pwg/advanced-events.xml:
8496         * docs/pwg/advanced-request.xml:
8497         * docs/pwg/advanced-scheduling.xml:
8498         * docs/pwg/appendix-porting.xml:
8499         * docs/pwg/building-boiler.xml:
8500         * docs/pwg/intro-preface.xml:
8501         * docs/pwg/other-ntoone.xml:
8502           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8503           of example code and explanation for pad activation, loop() and
8504           getrange() functions and a bit more. Remove old comments pointing
8505           to loop-functions.
8506         * examples/pwg/Makefile.am:
8507           Add loop/getrange examples.
8508
8509 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8510
8511         * configure.ac:
8512           check for valgrind binary + some fixes
8513         * check/gst.supp:
8514           valgrind suppressions for the tests
8515         * check/Makefile.am:
8516           add a valgrind: target that valgrinds the unit tests
8517         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8518         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8519         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8520         * check/gst/gstghostpad.c:
8521           added some cleanup
8522         * check/gst/gstdata.c:
8523           removed
8524         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8525         (thread_unref), (gst_mini_object_suite), (main):
8526           added
8527         * gst/gst.c: (gst_deinit):
8528         * gst/gst.h:
8529           add a method to clean up.
8530         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8531         (gst_system_clock_obtain):
8532           allow for disposing the system clock.
8533         * tools/gst-launch.c: (main):
8534           deinit
8535
8536 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8537
8538         * docs/gst/tmpl/gstbasesrc.sgml:
8539         * docs/gst/tmpl/gstfakesrc.sgml:
8540         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8541         (gst_base_src_init), (gst_base_src_set_property),
8542         (gst_base_src_get_property), (gst_base_src_get_range),
8543         (gst_base_src_start):
8544         * gst/base/gstbasesrc.h:
8545           add num-buffers property
8546         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8547         (gst_fakesrc_init), (gst_fakesrc_set_property),
8548         (gst_fakesrc_get_property), (gst_fakesrc_create),
8549         (gst_fakesrc_start):
8550           remove num-buffers property
8551
8552 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8553
8554         * docs/gst/gstreamer-sections.txt:
8555         * docs/gst/tmpl/gstbasesink.sgml:
8556         * docs/gst/tmpl/gstbasesrc.sgml:
8557         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8558         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8559         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8560         (gst_base_sink_set_property), (gst_base_sink_get_property),
8561         (gst_base_sink_handle_object), (gst_base_sink_event),
8562         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8563         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8564         (gst_base_sink_loop), (gst_base_sink_deactivate),
8565         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8566         (gst_base_sink_change_state):
8567         * gst/base/gstbasesink.h:
8568         * gst/base/gstbasesrc.h:
8569         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8570         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8571         (gst_filesink_init):
8572           more macro splitting
8573
8574 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8575
8576         * gst/gstelement.c: (gst_element_get_bus):
8577           add debug
8578         * tools/gst-launch.c: (check_intr), (event_loop):
8579           fix bus leaks
8580
8581 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8582
8583         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8584           fix a caps leak
8585
8586 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8587
8588         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8589         (gst_base_src_finalize):
8590           add finalize method and clean up properly
8591         * gst/gstpipeline.c: (gst_pipeline_dispose):
8592           add debug
8593
8594 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8595
8596         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8597         (gst_bin_suite):
8598           add more things to check
8599         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8600         * gst/gstelement.c:
8601           more debug
8602
8603 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8604
8605         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8606         (GST_START_TEST), (fakesrc_suite):
8607         * check/gst-libs/gdp.c: (GST_START_TEST):
8608         * check/gst/gst.c: (GST_START_TEST):
8609         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8610         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8611         * check/gst/gstbus.c: (GST_START_TEST):
8612         * check/gst/gstcaps.c: (GST_START_TEST):
8613         * check/gst/gstdata.c: (GST_START_TEST):
8614         * check/gst/gstelement.c: (GST_START_TEST):
8615         * check/gst/gstghostpad.c: (GST_START_TEST):
8616         * check/gst/gstiterator.c: (GST_START_TEST):
8617         * check/gst/gstmessage.c: (GST_START_TEST):
8618         * check/gst/gstobject.c: (GST_START_TEST):
8619         * check/gst/gstpad.c: (GST_START_TEST):
8620         * check/gst/gststructure.c: (GST_START_TEST):
8621         * check/gst/gstsystemclock.c: (GST_START_TEST),
8622         (gst_systemclock_suite):
8623         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8624         * check/gst/gstvalue.c: (GST_START_TEST):
8625         * check/pipelines/cleanup.c: (GST_START_TEST):
8626         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8627         * check/states/sinks.c: (GST_START_TEST):
8628         * check/gstcheck.c: (gst_check_init):
8629         * check/gstcheck.h:
8630           add debugging category
8631           use GST_START_TEST now, so we add a debug line
8632
8633 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8634
8635         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8636           add test for state change message on a bin
8637         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8638           add another test
8639         * gst/gstbin.c: (gst_bin_init):
8640         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8641         * gst/gstelement.c: (gst_element_post_message),
8642         (gst_element_set_state):
8643         * gst/gstelementfactory.c: (gst_element_factory_create):
8644         * gst/gstmessage.c: (gst_message_new):
8645         * gst/gstscheduler.c:
8646           various debugging additions and cleanups
8647
8648 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * check/Makefile.am:
8651         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8652         (main):
8653           adding tests for elements
8654         * gst/gstelement.c: (gst_element_dispose):
8655
8656 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8657
8658         * gst/registries/gstlibxmlregistry.c: (load_feature):
8659           plug more leaks.  A simple gst_init() now is leakfree, yay.
8660
8661 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8662
8663         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8664         (gst_xml_registry_load):
8665           plug another memleak
8666
8667 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8668
8669         * configure.ac:
8670           use GST_SET_ERROR_CFLAGS
8671         * docs/faq/cvs.xml:
8672           change to ERROR_CFLAGS
8673
8674 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * configure.ac:
8677           make GST_ERROR_CFLAGS overridable and re-enable Werror
8678         * docs/faq/cvs.xml:
8679           add a note about error CFLAGS
8680         * docs/gst/tmpl/gstfakesrc.sgml:
8681         * gst/elements/gstfakesrc.c:
8682           comment out some unused code
8683         * gst/gst.c: (split_and_iterate):
8684         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8685         (load_feature):
8686           plug some memleaks
8687
8688 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8689
8690         * common/Makefile.am:
8691         * common/gtk-doc.mak:
8692         * docs/gst/Makefile.am:
8693           factor out gtk-doc.mak
8694
8695 2005-07-07  Wim Taymans  <wim@fluendo.com>
8696
8697         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8698         (gst_thread_scheduler_dispose):
8699         Unlock the STREAM_LOCK completely.
8700
8701 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8702
8703         * check/Makefile.am:
8704         * check/elements/.cvsignore:
8705         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8706         (START_TEST), (fakesrc_suite), (main):
8707         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8708         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8709         (gst_fakesrc_create), (gst_fakesrc_start):
8710         * gst/elements/gstfakesrc.h:
8711           adding a first element test
8712
8713 2005-07-07  Andy Wingo  <wingo@pobox.com>
8714
8715         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8716         debug message.
8717
8718 2005-07-07  Wim Taymans  <wim@fluendo.com>
8719
8720         * gst/gstquery.c:
8721         * gst/gstquery.h:
8722         Remove old types
8723
8724 2005-07-07  Wim Taymans  <wim@fluendo.com>
8725
8726         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8727         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8728         Allow subclasses to implement their own negotiation.
8729
8730 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8731
8732         * docs/design/part-gstbin.txt:
8733         * docs/design/part-gstpipeline.txt:
8734           Update design notes to reflect the movement of
8735           responsibility for bus handling from GstPipeline to
8736           GstBin
8737
8738 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8739
8740         * configure.ac:
8741           Remove unnecessary queue2/3/4 examples.
8742
8743 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8744
8745         * examples/Makefile.am:
8746         * examples/helloworld/helloworld.c: (event_loop), (main):
8747         * examples/queue/queue.c: (event_loop), (main):
8748         * examples/queue2/queue2.c: (main):
8749           Update a couple of the examples to work again.
8750
8751         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8752         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8753          Spelling corrections and extra debug.
8754         
8755         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8756         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8757         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8758         * gst/gstbin.h:
8759         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8760         (gst_pipeline_change_state):
8761         * gst/gstpipeline.h:
8762           Move the bus handler for children to the GstBin, and create a
8763           separate bus for receiving messages from children to the one the
8764           bus sends 'upwards' on.
8765
8766 2005-07-06  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/base/README:
8769         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8770         (gst_base_sink_handle_object), (gst_base_sink_loop),
8771         (gst_base_sink_change_state):
8772         * gst/base/gstbasesink.h:
8773         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8774         (gst_base_src_init), (gst_base_src_setcaps),
8775         (gst_base_src_getcaps), (gst_base_src_loop),
8776         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8777         (gst_base_src_start), (gst_base_src_change_state):
8778         * gst/base/gstbasesrc.h:
8779         Make basesrc negotiate.
8780         Handle the case where preroll fails in basesink.
8781         Update README.
8782
8783 2005-07-06  Wim Taymans  <wim@fluendo.com>
8784
8785         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8786         Implement the fixate function.
8787         Clean up acceptcaps.
8788
8789 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8790
8791         * docs/pwg/building-filterfactory.xml:
8792         * docs/pwg/pwg.xml:
8793           Remove never-written filter-factory chapter; I'll add the various
8794           base classes to part 4 ("other element types") later on.
8795
8796 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8797
8798         * docs/pwg/advanced-negotiation.xml:
8799         * docs/pwg/building-boiler.xml:
8800         * docs/pwg/building-pads.xml:
8801         * docs/pwg/pwg.xml:
8802         * examples/pwg/Makefile.am:
8803           Add a chapter on caps negotiation, simplify the original code
8804           samples a bit w.r.t. caps negotiation, add link to the advanced
8805           section. Add a bunch of examples showing different use cases of
8806           different types of caps negotiation. Upstream renegotiation isn't
8807           fully documented yet since nobody knows how that works.
8808
8809 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8810
8811         * check/gst/gstpad.c:
8812         * check/gstcheck.c:
8813         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8814           if pad has no parent, return NULL as list of internal links
8815
8816 2005-07-05  Andy Wingo  <wingo@pobox.com>
8817
8818         * gst/elements/gstfilesrc.c:
8819         * gst/elements/gstfakesrc.c: 
8820         * gst/base/gstpushsrc.c:
8821         * gst/base/gstbasesrc.h: 
8822         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8823         
8824 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8825
8826         * Makefile.am:
8827           better report generation target (lcov needs a patch)
8828
8829 2005-07-05  Andy Wingo  <wingo@pobox.com>
8830
8831         * gst/elements, testsuite: Null if we got it...
8832
8833 2005-07-05  Wim Taymans  <wim@fluendo.com>
8834
8835         * configure.ac:
8836         * libs/gst/dataprotocol/Makefile.am:
8837         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8838         * libs/gst/dataprotocol/dataprotocol.h:
8839         * pkgconfig/Makefile.am:
8840         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8841         * pkgconfig/gstreamer-dataprotocol.pc.in:
8842         Ported dataprotol to 0.9. 
8843         Added pkgconfig files.
8844
8845 2005-07-05  Andy Wingo  <wingo@pobox.com>
8846
8847         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8848         Default to returning TRUE for the case when tranform_caps returns
8849         a fixed caps, like for identity or volume.
8850
8851         * check/gst/gstbus.c (pound_bus_with_messages): 
8852         * check/gst/gstmessage.c (START_TEST): 
8853         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8854         message API change.
8855
8856         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8857         logic weaks here: always run transform_caps, trying passthrough
8858         operation only if the original caps intersects with the transform.
8859
8860         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8861         source and sink caps.
8862
8863         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8864         Intersect the peer caps with the pad template before going into
8865         transform_caps.
8866         (gst_base_transform_transform_caps): More debugging.
8867
8868         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8869         src argument.
8870
8871 2005-07-04  Edward Hervey  <edward@fluendo.com>
8872
8873         * gst/gstutils.c:
8874         * gst/gstutils.h:
8875         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8876         in bindings.
8877
8878 2005-07-04  Andy Wingo  <wingo@pobox.com>
8879
8880         * check/gst/gstpad.c: Only set explicit caps on pads.
8881
8882 2005-07-01  Andy Wingo  <wingo@pobox.com>
8883
8884         * tests/network-clock.scm: Commentary update.
8885
8886         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8887         Didn't really make sense, not implementable with basetransform,
8888         etc.
8889         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8890         attempt at implementing the sync property, needs an unlock method.
8891
8892         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8893         New func, by default returns the same caps (the identity
8894         transformation).
8895         (gst_base_transform_getcaps): Uses transform_caps to return
8896         something sensible.
8897         (gst_base_transform_setcaps): Complicated logic to get caps on
8898         both pads, even if they are different, and to call set_caps once
8899         for every time both pads get their caps set.
8900         (gst_base_transform_handle_buffer): Give the ref to the transform
8901         function. Allows in-place modification of the buffer.
8902
8903         * gst/base/gstbasetransform.h (transform_caps): New class method.
8904         Given caps on one side, what can I do on the other.
8905         (set_caps): Take two caps, one for each side of the element.
8906
8907         * gst/gstpad.h:
8908         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8909         caps in place. This is safe because we can check the mutability of
8910         the caps, and a good idea because fixate functions are just called
8911         as a matter of last resort. (Not actually implemented.)
8912         (gst_pad_set_caps): If the caps we're setting is actually the same
8913         as the existing pad caps, just update the pointer without calling
8914         setcaps. Assert that caps is either NULL or fixed, as per the
8915         docs.
8916
8917         * gst/gstghostpad.c: Update for fixate changes.
8918
8919 2005-07-02  Andy Wingo  <wingo@pobox.com>
8920
8921         * gst/gstcaps.c:
8922         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8923         two refcounts makes it immutable, which is enough. Doc more.
8924
8925 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8926
8927         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8928           Put the mini_object into GValue as a mini_object,
8929           not a gpointer, since that's how we declared
8930           the signal.
8931
8932 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8933
8934         * examples/pwg/Makefile.am:
8935           Fix buildbot again.
8936
8937 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8938
8939         * docs/pwg/building-testapp.xml:
8940           Add extra check.
8941         * examples/pwg/Makefile.am:
8942           Fix buildbot.
8943
8944 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8945
8946         * configure.ac:
8947         * examples/Makefile.am:
8948         * examples/pwg/Makefile.am:
8949         * examples/pwg/extract.pl:
8950           Enable building the PWG examples.
8951         * docs/pwg/advanced-interfaces.xml:
8952           Add URI interface stub.
8953         * docs/pwg/advanced-types.xml:
8954         * docs/pwg/other-autoplugger.xml:
8955         * docs/pwg/appendix-porting.xml:
8956         * docs/pwg/pwg.xml:
8957           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8958         * docs/pwg/building-boiler.xml:
8959         * docs/pwg/building-chainfn.xml:
8960         * docs/pwg/building-pads.xml:
8961         * docs/pwg/building-props.xml:
8962         * docs/pwg/building-state.xml:
8963         * docs/pwg/building-testapp.xml:
8964           Update the building-*.xml parts for 0.9 changes. All examples
8965           code blocks compile in examples/pwg/*.
8966
8967 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8968
8969         * docs/manual/advanced-autoplugging.xml:
8970         * docs/manual/appendix-checklist.xml:
8971         * docs/manual/appendix-integration.xml:
8972         * docs/manual/highlevel-components.xml:
8973           Fix playbin/decodebin examples, update docs a bit, mention bus
8974           instead of signals in various places, mention kmplayer and
8975           kaffeine since they have a working GStreamer backend in the KDE
8976           section.
8977
8978 2005-06-30  Wim Taymans  <wim@fluendo.com>
8979
8980         * CHANGES-0.9:
8981         * docs/design/draft-ghostpads.txt:
8982         * docs/design/draft-push-pull.txt:
8983         * docs/design/draft-query.txt:
8984         * docs/design/part-TODO.txt:
8985         * docs/design/part-query.txt:
8986         Added CHANGES-0.9 doc, updated status of other docs.
8987         
8988         * gst/gstquery.h:
8989         Remove "hmm" macro
8990
8991 2005-06-30  Wim Taymans  <wim@fluendo.com>
8992
8993         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8994         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8995         (gst_base_sink_change_state):
8996         * gst/base/gstbasesink.h:
8997         Some tweaks, only EOS and a buffer complete a preroll.
8998
8999 2005-06-30  Andy Wingo  <wingo@pobox.com>
9000
9001         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9002         activate_push down to the internal pad as well.
9003
9004 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9005
9006         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9007
9008         * gst/gsttaginterface.c:
9009           Some documentation fixes (#307394 and #307397).
9010
9011 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9012
9013         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9014
9015         * gst/gstvalue.c: (gst_value_intersect_list):
9016           Fix memleak (#309125).
9017
9018 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9019
9020         * docs/manual/advanced-dataaccess.xml:
9021           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9022         * docs/manual/basics-pads.xml:
9023           Add reference for filtered caps to above chapter.
9024
9025 2005-06-30  Wim Taymans  <wim@fluendo.com>
9026
9027         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9028         (gst_bin_change_state):
9029         Probes are gone.
9030         Lame attempt at making the state change function a bit
9031         more readable.
9032
9033 2005-06-30  Wim Taymans  <wim@fluendo.com>
9034
9035         * docs/design/part-clocks.txt:
9036         * docs/design/part-element-sink.txt:
9037         * docs/design/part-events.txt:
9038         * docs/design/part-preroll.txt:
9039         * docs/design/part-states.txt:
9040         Some more tweeks and additions to the docs.
9041
9042 2005-06-30  Wim Taymans  <wim@fluendo.com>
9043
9044         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9045         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9046         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9047         (gst_pad_check_pull_range), (gst_pad_get_range),
9048         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9049         * gst/gstpad.h:
9050         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9051         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9052         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9053         (gst_pad_remove_buffer_probe):
9054         Removed atomic operations, use existing LOCK.
9055         Move exception handling out of main code path.
9056
9057 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9058
9059         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9060         (silly_return_true_function), (gst_pad_class_init),
9061         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9062         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9063         (gst_pad_send_event):
9064           Fix accumulator, add default value by using _emitv() instead
9065           of _emit() for signal emission.
9066
9067 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9068
9069         * docs/manual/advanced-dataaccess.xml:
9070         * examples/manual/Makefile.am:
9071           Add probe example.
9072         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9073           Make work (??).
9074
9075 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9076
9077         * gst/elements/gstfilesink.c: (gst_filesink_render):
9078           Simplify code so that we don't have to handle short
9079           writes and return GST_FLOW_ERROR if an error occured.
9080
9081 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9082
9083         * docs/gst/gstreamer-docs.sgml:
9084           Remove probes more.
9085
9086 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9087
9088         * docs/gst/gstreamer-sections.txt:
9089         * docs/gst/tmpl/gstpad.sgml:
9090         * docs/gst/tmpl/gstprobe.sgml:
9091         * gst/Makefile.am:
9092         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9093         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9094         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9095         (gst_pad_push_event), (gst_pad_send_event):
9096         * gst/gstpad.h:
9097         * gst/gstutils.c: (gst_pad_add_data_probe),
9098         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9099         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9100         (gst_pad_remove_buffer_probe):
9101         * gst/gstutils.h:
9102           Remove old probes, add new g-signal-based probes and some utility
9103           functions.
9104
9105 2005-06-29  Edward Hervey  <edward@fluendo.com>
9106
9107         * gst/gstelementfactory.c:
9108         * gst/gstutils.h:
9109         * gst/gstutils.c:
9110         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9111         the definition to the header file.
9112
9113 2005-06-29  Andy Wingo  <wingo@pobox.com>
9114
9115         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9116         plugins from the source directory.
9117
9118 2005-06-29  Wim Taymans  <wim@fluendo.com>
9119
9120         * docs/gst/tmpl/gstbuffer.sgml:
9121         * docs/gst/tmpl/gstclock.sgml:
9122         Some fixings for blantently wrong text.
9123
9124 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9125
9126         * check/Makefile.am:
9127         * gst/gst.c: (add_path_func), (init_pre):
9128         * gst/gstregistry.c: (gst_registry_add_path):
9129           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9130           only scan the GST_PLUGIN_PATH locations, and not add
9131           system locations
9132
9133 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9134
9135         * docs/gst/gstreamer-sections.txt:
9136         * docs/gst/tmpl/gstbasesrc.sgml:
9137         * gst/gstelement.c:
9138         * gst/gstelement.h:
9139         * gst/gstevent.c:
9140         * gst/gstutils.c:
9141           doc fixes
9142
9143 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9144
9145         * docs/manual/advanced-autoplugging.xml:
9146           Fix autoplugging example.
9147
9148 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9149
9150         * docs/manual/advanced-autoplugging.xml:
9151         * docs/manual/mime-world.fig:
9152           Try to get autoplugging working, fix type detection. Fix text
9153           in hello-world image.
9154
9155 2005-06-29  Wim Taymans  <wim@fluendo.com>
9156
9157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9158         (gst_base_sink_change_state):
9159         Small debug line.
9160
9161         * gst/gstclock.h:
9162         map SIGNAL and BROADCAST to the right function.
9163
9164         * gst/gstobject.h:
9165         Remove redundant braces.
9166
9167         * gst/gstpad.c: (gst_pad_set_caps):
9168         Don't call setcaps function when reseting caps to NULL.
9169
9170         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9171         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9172         (gst_system_clock_id_unschedule):
9173         Use BROADCAST as this is what we do.
9174
9175 2005-06-29  Wim Taymans  <wim@fluendo.com>
9176
9177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9178         We are actually prerolling before commiting the state
9179         change. 
9180
9181 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9182
9183         * docs/manual/advanced-clocks.xml:
9184         * docs/manual/advanced-interfaces.xml:
9185         * docs/manual/advanced-metadata.xml:
9186         * docs/manual/advanced-position.xml:
9187         * docs/manual/advanced-schedulers.xml:
9188         * docs/manual/advanced-threads.xml:
9189         * docs/manual/appendix-porting.xml:
9190         * docs/manual/basics-bins.xml:
9191         * docs/manual/basics-bus.xml:
9192         * docs/manual/basics-elements.xml:
9193         * docs/manual/basics-helloworld.xml:
9194         * docs/manual/basics-pads.xml:
9195         * docs/manual/highlevel-components.xml:
9196         * docs/manual/manual.xml:
9197         * docs/manual/thread.fig:
9198           Update (until threads/scheduling) Application Development Manual;
9199           remove GstThread, add GstBus, add simple porting checklist, add
9200           documentation for tag writing, clocks, make all examples until this
9201           part compile and run.
9202         * examples/manual/Makefile.am:
9203           Update from changes to Application Development Manual; add bus
9204           example, remove thread example.
9205
9206 2005-06-28  Wim Taymans  <wim@fluendo.com>
9207
9208         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9209         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9210         (gst_bus_source_dispatch):
9211         Add debugging messages.
9212         Make internal methods static.
9213         Handle the case where the bus is flushed in the handler.
9214         
9215         * gst/gstelement.c: (gst_element_get_bus):
9216         Fix refcount in _get_bus();
9217
9218         * gst/gstpipeline.c: (gst_pipeline_change_state),
9219         (gst_pipeline_get_clock_func):
9220         Clock refcounting fixes.
9221         Handle the case where preroll timed out more gracefully.
9222         
9223         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9224         Clean up the internal thread in dispose. This is needed
9225         for subclasses that actually get disposed.
9226         
9227         * gst/schedulers/threadscheduler.c:
9228         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9229         (gst_thread_scheduler_dispose):
9230         Free thread pool in dispose.
9231
9232 2005-06-28  Andy Wingo  <wingo@pobox.com>
9233
9234         * tests/network-clock-utils.scm (debug, print-event): New utils.
9235
9236         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9237         (*packet-loss*): Unified loss probability.
9238         (network-time): Report out-of-band events.
9239
9240         * tests/plot-data: Add support for out-of-band events. Hack it
9241         into this script instead of passing it down the pipe; should fix
9242         this later.
9243
9244 2005-06-28  Wim Taymans  <wim@fluendo.com>
9245
9246         * docs/gst/gstreamer.types:
9247         * docs/gst/tmpl/gstbasesrc.sgml:
9248         * docs/gst/tmpl/gstpad.sgml:
9249         Docs fixes.
9250
9251 2005-06-28  Wim Taymans  <wim@fluendo.com>
9252
9253         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9254         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9255         (gst_proxy_pad_do_fixatecaps):
9256         Correctly proxy the check_pull_range function.
9257
9258 2005-06-28  Andy Wingo  <wingo@pobox.com>
9259
9260         * tests/network-clock.scm: Removed need for slib.
9261         
9262 2005-06-28  Wim Taymans  <wim@fluendo.com>
9263
9264         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9265         (gst_basesink_preroll_queue_flush):
9266         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9267         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9268         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9269         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9270         (gst_proxy_pad_set_property):
9271         * gst/gstpad.c:
9272         * gst/gstpad.h:
9273         * gst/gstqueue.c: (gst_queue_init):
9274         The deprecated pad loop function is removed now.
9275
9276 2005-06-28  Andy Wingo  <wingo@pobox.com>
9277
9278         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9279         New parameters, simulate network packet loss.
9280
9281         * tests/network-clock-utils.scm: Initialize the RNG.
9282
9283 2005-06-28  Wim Taymans  <wim@fluendo.com>
9284
9285         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9286         (gst_basesink_event), (gst_basesink_deactivate):
9287         Flushing the preroll queue always needs to unlock the waiters.
9288
9289 2005-06-28  Edward Hervey  <edward@fluendo.com>
9290
9291         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9292         Wheen a seek was successful on a pipeline, set the stream_time to the
9293         seek offset in order to have a synchronized stream_time.
9294
9295 2005-06-28  Wim Taymans  <wim@fluendo.com>
9296
9297         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9298         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9299         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9300         (gst_proxy_pad_do_fixatecaps):
9301         Call wrapper function instead of just calling the function
9302         pointers. This takes care of any locking and whatmore.
9303
9304 2005-06-28  Wim Taymans  <wim@fluendo.com>
9305
9306         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9307         (gst_pad_pull_range):
9308         * gst/gstpad.h:
9309         CONNECTED -> LINKED.
9310
9311 2005-06-28  Andy Wingo  <wingo@pobox.com>
9312
9313         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9314         source-munging commit!!!
9315
9316         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9317         (gst_object_sink): Take gpointer arguments, not GstObject --
9318         avoids casts. Like GLib.
9319
9320         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9321         activate.
9322
9323 2005-06-27  Andy Wingo  <wingo@pobox.com>
9324
9325         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9326         remaining buffer.
9327
9328         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9329         returns a sorted copy of the trace list.
9330         (gst_alloc_trace_print_live): New API, only prints traces with
9331         live objects. Sort the list.
9332         (gst_alloc_trace_print_all): Sort the list.
9333         (gst_alloc_trace_print): Align columns.
9334
9335         * gst/elements/gstttypefindelement.c:
9336         * gst/elements/gsttee.c:
9337         * gst/base/gstbasesrc.c:
9338         * gst/base/gstbasesink.c:
9339         * gst/base/gstbasetransform.c:
9340         * gst/gstqueue.c: Adapt for pad activation changes.
9341
9342         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9343         sched.
9344         (gst_pipeline_dispose): Drop ref on sched.
9345
9346         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9347         (gst_pad_activate_default): Push mode by default.
9348         (pre_activate_switch, post_activate_switch): New stubs, things to
9349         do before and after switching activation modes on pads.
9350         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9351         the pad's activate function to choose which mode to activate.
9352         Shortcut on deactivation and call the right function directly.
9353         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9354         mode.
9355         (gst_pad_activate_push): New API, same for push mode.
9356         (gst_pad_set_activate_function) 
9357         (gst_pad_set_activatepull_function) 
9358         (gst_pad_set_activatepush_function): Setters for new API.
9359
9360         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9361         Trace all miniobjects.
9362         (gst_mini_object_make_writable): Unref the arg if we copy, like
9363         gst_caps_make_writable.
9364
9365         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9366
9367         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9368         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9369         Adapt for new pad API.
9370
9371         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9372
9373         * gst/gstelement.h:
9374         * gst/gstelement.c (gst_element_iterate_src_pads) 
9375         (gst_element_iterate_sink_pads): New API functions.
9376         
9377         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9378         should fold into gstiterator.c in some form.
9379         (gst_element_pads_activate): Simplified via use of fold and
9380         delegation of decisions to gstpad->activate.
9381
9382         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9383         help in debugging.
9384
9385         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9386         class once in init, like gstmessage. Didn't run into this issue
9387         but it seems correct. Don't initialize a trace, gstminiobject does
9388         that.
9389
9390         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9391         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9392         to the bus.
9393         (assert_live_count): New util function, uses alloc traces to check
9394         cleanup.
9395
9396         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9397         To be modified when unlink drops the internal pad.
9398
9399 2005-06-27  Wim Taymans  <wim@fluendo.com>
9400
9401         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9402         (gst_bin_change_state):
9403         Cleanup the get_state() function a little, make sure it
9404         iterates the same set of elements.
9405         Added stub iterate_state_order().
9406
9407 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9408
9409         * docs/gst/gstreamer-docs.sgml:
9410         * docs/gst/gstreamer-sections.txt:
9411         * docs/gst/gstreamer.types:
9412         * docs/gst/tmpl/gstbasesink.sgml:
9413         * docs/gst/tmpl/gstbasesrc.sgml:
9414         * docs/gst/tmpl/gstbasetransform.sgml:
9415         * docs/gst/tmpl/gstelement.sgml:
9416         * docs/gst/tmpl/gstiterator.sgml:
9417         * gst/base/gstbasesrc.c:
9418         * gst/base/gstbasesrc.h:
9419         * gst/base/gstbasetransform.h:
9420         * gst/gstelement.c:
9421         * gst/gstiterator.h:
9422           adding basetransform and iterator docs
9423
9424 2005-06-27  Andy Wingo  <wingo@pobox.com>
9425
9426         * docs/design/part-activation.txt: Notes on how activation should
9427         work -- not quite implemented yet.
9428
9429 2005-06-25  Wim Taymans  <wim@fluendo.com>
9430
9431         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9432         At least get the chain function correct, needs more
9433         fixing.
9434
9435 2005-06-25  Wim Taymans  <wim@fluendo.com>
9436
9437         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9438         (gst_basesink_handle_object), (gst_basesink_event),
9439         (gst_basesink_do_sync), (gst_basesink_handle_event),
9440         (gst_basesink_change_state):
9441         * gst/gsttask.h:
9442         Right, two problems here: ghostpads don't take locks and
9443         glib _rec_mutex_lock_full() with depth==0 still locks.
9444         Catch illegal locking and g_warn them.
9445
9446 2005-06-25  Wim Taymans  <wim@fluendo.com>
9447
9448         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9449         Have to check for completion now...
9450
9451 2005-06-25  Wim Taymans  <wim@fluendo.com>
9452
9453         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9454         (gst_basesink_handle_object), (gst_basesink_event),
9455         (gst_basesink_do_sync), (gst_basesink_handle_event),
9456         (gst_basesink_change_state):
9457         * gst/gstpad.h:
9458         Unlock STREAM_LOCK whatever the recursion was.
9459
9460 2005-06-25  Wim Taymans  <wim@fluendo.com>
9461
9462         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9463         (gst_basesink_preroll_queue_empty),
9464         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9465         (gst_basesink_event), (gst_basesink_do_sync),
9466         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9467         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9468         (gst_basesink_change_state):
9469         Reworked the base sink, handle event and buffer serialisation
9470         correctly and removed possible deadlock.
9471         Handle EOS correctly.
9472
9473 2005-06-25  Wim Taymans  <wim@fluendo.com>
9474
9475         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9476         (gst_pipeline_change_state):
9477         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9478         Allow elements to post EOS in the state change function.
9479         Fix up -launch, make it exit the poll loop when the
9480         pipeline actually changed state.
9481         Fix up warning parsing in -launch.
9482
9483 2005-06-25  Wim Taymans  <wim@fluendo.com>
9484
9485         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9486         (gst_tee_sink_activate):
9487         Core takes STREAM_LOCK for us now.
9488
9489 2005-06-25  Wim Taymans  <wim@fluendo.com>
9490
9491         * gst/gstelement.c: (gst_element_get_state_func),
9492         (gst_element_set_state):
9493         * gst/gstelement.h:
9494         * gst/gstmessage.c: (gst_message_parse_error),
9495         (gst_message_parse_warning):
9496         Keep track of current target state while performing a state
9497         change so that subclasses can do something interesting.
9498         Fix parsing of warning/error messages when GError is NULL.
9499
9500 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9501
9502         * docs/gst/Makefile.am:
9503         * docs/gst/gstreamer-docs.sgml:
9504         * docs/gst/gstreamer-sections.txt:
9505         * docs/gst/gstreamer.types:
9506         * docs/gst/tmpl/gstbasesink.sgml:
9507         * docs/gst/tmpl/gstbasesrc.sgml:
9508         * docs/gst/tmpl/gstbin.sgml:
9509         * docs/gst/tmpl/gstcompat.sgml:
9510         * docs/gst/tmpl/gstfakesink.sgml:
9511         * docs/gst/tmpl/gstfakesrc.sgml:
9512         * docs/gst/tmpl/gstfilesink.sgml:
9513         * docs/gst/tmpl/gstfilesrc.sgml:
9514         * docs/gst/tmpl/gstindex.sgml:
9515         * docs/manual/appendix-quotes.xml:
9516         * gst/base/gstbasesrc.h:
9517         * gst/elements/gstfakesrc.h:
9518         * gst/gstmessage.h:
9519           start pulling in base classes and elements in our docs
9520
9521 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9522
9523         * docs/gst/Makefile.am:
9524         * docs/libs/Makefile.am:
9525           fixed make distcheck with gtk-doc 1.3
9526
9527 2005-06-23  Wim Taymans  <wim@fluendo.com>
9528
9529         * gst/gstelement.c: (gst_element_get_state_func),
9530         (gst_element_set_state), (gst_element_change_state):
9531         When the state did not change, also report NO_PREROLL
9532         when it matters.
9533
9534 2005-06-23  Wim Taymans  <wim@fluendo.com>
9535
9536         * gst/gstpad.c: (gst_pad_event_default):
9537         * gst/gstqueue.c: (gst_queue_loop):
9538         No unsafe task pausing please.
9539
9540 2005-06-23  Wim Taymans  <wim@fluendo.com>
9541
9542         * gst/schedulers/threadscheduler.c:
9543         (gst_thread_scheduler_task_start),
9544         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9545         Ref the task before pushing it on the threadpool. This
9546         makes sure that we have a ref when the threadfunction is
9547         actually called.
9548
9549 2005-06-23  Andy Wingo  <wingo@pobox.com>
9550
9551         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9552         offset is greater than the file's size.
9553
9554         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9555         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9556         * gst/gstobject.c (gst_object_class_init): Make the class lock
9557         recursive. Wim won't let me drop deep_notify. Decodebin works
9558         again, whoopdy doo.
9559
9560         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9561         internal pad, and hacks accordingly. Doesn't do it on the target
9562         pad because we change its caps. Probably catches all cases of
9563         interest tho.
9564         (gst_ghost_pad_set_property): Connect to notify::caps as
9565         appropritate.
9566
9567         * tests/network-clock.scm (plot-simulation): Pipe data to the
9568         elite python skript.
9569
9570         * tests/network-clock-utils.scm (define-parameter): New macro,
9571         defines a parameter that can be set via the command line.
9572         (set-parameter!, parse-parameter-arguments): Command line args
9573         parser.
9574
9575         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9576         stdin.
9577
9578 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9579
9580         * gst/elements/gsttypefindelement.c:
9581         (gst_type_find_element_handle_event):
9582           Don't restart typefinding on a discont.
9583         * gst/gstelement.c: (gst_element_set_state):
9584           Debug spelling fix.
9585         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9586           Allow changing mode of an active pad.
9587           Debug output fixes.
9588         * gst/registries/gstlibxmlregistry.c: (load_feature):
9589           Don't cast a static pad template to a normal pad template.
9590
9591 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9592
9593         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9594         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9595           remove gst_strtoll completely, since it didn't actually do
9596           anything more than what g_ascii_strtoull already does.
9597           check for range errors when deserializing
9598           do a cast for the unsigned cases; but further fixing needs
9599           a decision on what the interpretation of "(int)" and
9600           deserialization should be for values that fall outside the
9601           type's boundaries (ie, refuse, or interpret as casting)
9602
9603 2005-06-23  Wim Taymans  <wim@fluendo.com>
9604
9605         * check/Makefile.am:
9606         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9607         * docs/design/part-live-source.txt:
9608         * docs/design/part-states.txt:
9609         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9610         (gst_basesrc_set_live), (gst_basesrc_is_live),
9611         (gst_basesrc_get_range), (gst_basesrc_activate),
9612         (gst_basesrc_change_state):
9613         * gst/base/gstbasesrc.h:
9614         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9615         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9616         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9617         * gst/gstelement.c: (gst_element_get_state_func),
9618         (gst_element_set_state):
9619         * gst/gstelement.h:
9620         * gst/gsttypes.h:
9621         * tools/gst-launch.c: (event_loop), (main):
9622         Added support for live sources and other elements that
9623         cannot do preroll.
9624         Updated design docs, added live-source design doc.
9625         Implemented live source functionality in basesrc
9626         Fix error condition in _bin_get_state()
9627         Implement live source handling in -launch.
9628         Added check for live sources.
9629         Fixed case in GstBin where elements were changed state
9630         multiple times.
9631
9632
9633 2005-06-23  Andy Wingo  <wingo@pobox.com>
9634
9635         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9636         borken refcounting.
9637
9638         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9639         gst_caps_replace takes care of this for us.
9640
9641         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9642         gst_pad_set_caps on the target, not just its setcaps() function.
9643
9644         * tests/network-clock.scm: 
9645         * tests/network-clock-utils.scm: A network clock simulator.
9646         Something of an algorithmic testbed before doing something in C.
9647
9648 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9649
9650         * check/Makefile.am:
9651         * check/gst/capslist.h:
9652           copy over from 0.8, and add two with bitmasks specified with
9653           (int) 0xFF...
9654         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9655           add test to parse everything from capslist.h
9656         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9657         (main):
9658           add test for structure deserialization
9659         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9660           add tests for deserialization of strings to int types
9661         * gst/gststructure.c: (gst_structure_nth_field_name):
9662         * gst/gststructure.h:
9663           add a way to get the name of a field referenced by index
9664         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9665           instead of checking if the resulting long long lies between
9666           min and max, we check if the long long would fit into
9667           a number of bytes for the final type.
9668           This fixes cases where a string represents 2^32 - 1, which
9669           when cast to int would be the (valid) -1, but is bigger than
9670           G_MAXINT
9671
9672 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9673
9674         * gst/parse/grammar.y:
9675           add a log line for type deserialization
9676
9677 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9678
9679         * check/gst/gstvalue.c: (START_TEST):
9680         * gst/gstvalue.c: (gst_value_deserialize):
9681           return long long, not int, so gint64 deserialization actually
9682           works.  Is there any flag that makes the compiler check this ?
9683           Fixes #308559
9684
9685 2005-06-22  Wim Taymans  <wim@fluendo.com>
9686
9687         * gst/gstbuffer.h:
9688         Added convenience macros for setting buffers in GValue.
9689
9690 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9691
9692         * check/gst/.cvsignore:
9693         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9694           add a test deserializing int64, and comment part out because
9695           it fails, yay !
9696
9697 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9698
9699         * check/Makefile.am:
9700         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9701         * testsuite/Makefile.am:
9702         * testsuite/caps/Makefile.am:
9703         * testsuite/caps/value_serialize.c:
9704         * testsuite/test_gst_init.c:
9705           move a value_serialize test over
9706
9707 2005-06-20  Wim Taymans  <wim@fluendo.com>
9708
9709         * gst/gstpad.c:
9710         Small doc updates.
9711         
9712         * gst/gstvalue.c: (gst_value_compare_buffer),
9713         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9714         (gst_value_compare_flags), (gst_value_serialize_flags),
9715         (gst_value_deserialize_flags), (_gst_value_initialize):
9716         Fix serialisation of buffers, they are not boxed types anymore
9717
9718 2005-06-20  Wim Taymans  <wim@fluendo.com>
9719
9720         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9721         Testcase to show error in buffer-on-caps serialisation.
9722
9723 2005-06-20  Andy Wingo  <wingo@pobox.com>
9724
9725         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9726         will be adding to later.
9727
9728         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9729         if its socks fill with rocks.
9730         (gst_system_clock_obtain): Set the name on object construction.
9731         Avoid double-checked locking.
9732
9733 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9734
9735         * gst/gsturi.c: (gst_element_make_from_uri):
9736           Fix potential endless loop.
9737
9738 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9739
9740         * check/Makefile.am:
9741           add gsttag
9742         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9743         (main):
9744           move over from testsuite dir and clean up
9745         * configure.ac:
9746         * gst/gsttag.c:
9747         * testsuite/Makefile.am:
9748         * testsuite/tags/.cvsignore:
9749         * testsuite/tags/Makefile.am:
9750         * testsuite/tags/merge.c:
9751           remove testsuite/tags
9752
9753 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9754
9755         * docs/gst/gstreamer-sections.txt:
9756         * docs/gst/tmpl/gstenumtypes.sgml:
9757         * win32/gstenumtypes.c:
9758           clean up documentation build a little
9759
9760 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9761
9762         * check/gstcheck.h:
9763           add macros for checking refcounts on objects and caps
9764         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9765           add some more unit tests
9766         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9767         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9768           fix leaked refcounts (I hope :)) so unittest works
9769         * gst/gstpad.h:
9770           whitespace removal
9771
9772 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9773
9774         * configure.ac: back to HEAD
9775
9776 === release 0.9.1 ===
9777
9778 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9779
9780         * NEWS:
9781         * RELEASE:
9782           updated
9783
9784 2005-06-17  Andy Wingo  <wingo@pobox.com>
9785
9786         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9787         assert; it's always possible that the pad gets deactivated in
9788         between the checks in gstpad.c and the implementation. Rely on
9789         finish_preroll() to return a FLUSHING or similar instead of on the
9790         assert.
9791         
9792         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9793         clock and post an EOS message if we come out of finish_preroll in
9794         the playing state.
9795
9796 2005-06-16  David Schleef  <ds@schleef.org>
9797
9798         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9799         (gst_capsfilter_set_property): Allow NULL as possible value
9800         for filter_caps property, indicating GST_CAPS_ANY.
9801
9802 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9803
9804         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9805           fix debug output
9806         * gst/schedulers/Makefile.am:
9807           use libgst prefix
9808         * gstreamer.spec.in:
9809           fix spec for it
9810
9811 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9812
9813         * gstreamer.spec.in:
9814           clean up
9815
9816 2005-06-08  Andy Wingo  <wingo@pobox.com>
9817
9818         * gst/gstutils.c: RPAD fixes all around.
9819         (gst_element_link_pads): Refcounting fixes.
9820
9821         * tools/gst-inspect.c:
9822         * tools/gst-xmlinspect.c:
9823         * parse/grammar.y:
9824         * gst/base/gsttypefindhelper.c:
9825         * gst/base/gstbasesink.c:
9826         * gst/gstqueue.c: RPAD fixes.
9827
9828         * gst/gstghostpad.h:
9829         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9830         pads. The tricky thing is they provide both source and sink
9831         interfaces, since they proxy the internal pad for the external
9832         pad, and vice versa. Implement with lower-level ProxyPad objects,
9833         with the interior proxy pad as a child of the exterior ghost pad.
9834         Should write a doc on this.
9835         
9836         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9837         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9838         gst_object API.
9839         
9840         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9841         pads are real pads. No ghost pads in this file. Not documenting
9842         the myriad s/RPAD/PAD/ and REALIZE fixes.
9843         (gst_pad_class_init): Add properties for "direction" and
9844         "template". Both are construct-only, so they can't change during
9845         the life of the pad. Fixes properly deriving from GstPad.
9846         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9847         derived objects, just set properties when creating the objects via
9848         g_object_new.
9849         (gst_pad_get_parent): Implement as a function, return NULL if the
9850         parent is not an element.
9851         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9852         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9853         
9854         * gst/gstobject.c (gst_object_class_init): Make name a construct
9855         property. Don't set it in the object init.
9856
9857         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9858         with UNKNOWN direction.
9859         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9860         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9861         (gst_element_remove_pad): Remove ghost-pad special cases.
9862         (gst_element_pads_activate): Remove rpad cruft.
9863
9864         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9865         catch the pad's-parent-not-an-element case.
9866
9867         * gst/gst.h: Include gstghostpad.h.
9868
9869         * gst/gst.c (init_post): No more real, ghost pads.
9870
9871         * gst/Makefile.am: Add gstghostpad.[ch].
9872
9873         * check/Makefile.am:
9874         * check/gst/gstbin.c:
9875         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9876         into a bin creates ghost pads, and that the refcounts are right.
9877         Partly moved from gstbin.c.
9878
9879 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9880
9881         * check/gst-libs/.cvsignore:
9882         * check/gst/.cvsignore:
9883         * check/pipelines/.cvsignore:
9884           ignore more
9885         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9886         (START_TEST), (cleanup_suite), (main):
9887           add some tests related to cleanup after running pipelines
9888
9889 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9890
9891         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9892           add a testsuite for GstBuffer
9893
9894 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9895
9896         * gst/gstminiobject.h:
9897           add defines for accessing the refcount
9898
9899 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9900
9901         * Makefile.am: added support for html unit test coverage reports
9902
9903 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9904
9905         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9906           Free existing caps if the capsfilter changes. Add a FIXME about
9907           setting those caps on the pads.
9908
9909         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9910           Before adding a ghost pad to a parent bin, check that there isn't
9911           already one for the element on the bin. Prevents infinite recursion
9912           when using decodebin in parse pipelines. Andy says he'll rewrite the
9913           way this works anyway, so ignore the hack.
9914
9915 2005-06-02  Andy Wingo  <wingo@pobox.com>
9916
9917         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9918         file size, pass it on to the type find helper.
9919
9920         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9921         segment_start and segment_end properly according to the seek
9922         method. Segment_end is still a bit flaky because offset can be
9923         negative for CUR and END cases, but it takes -1 as an "unset"
9924         value.
9925
9926 2005-06-02  Wim Taymans  <wim@fluendo.com>
9927
9928         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9929         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9930         (gst_basesink_activate):
9931         * gst/base/gstbasesink.h:
9932         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9933         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9934         (gst_pad_query), (gst_pad_start_task):
9935         * gst/gstpad.h:
9936         * gst/gstqueue.c: (gst_queue_bufferalloc),
9937         (gst_queue_handle_sink_event), (gst_queue_chain):
9938         Bufferalloc: return GstFlowReturn to more accuratly report
9939         why allocation failed.
9940
9941 2005-06-02  Wim Taymans  <wim@fluendo.com>
9942
9943         * gst/gstpipeline.c: (gst_pipeline_send_event):
9944         Take snapshot of state without blocking.
9945
9946 2005-06-02  Wim Taymans  <wim@fluendo.com>
9947
9948         * docs/design/part-TODO.txt:
9949         * docs/design/part-caps.txt:
9950         * docs/design/part-clocks.txt:
9951         * docs/design/part-negotiation.txt:
9952         * docs/design/part-preroll.txt:
9953         Small doc updates 
9954
9955 2005-05-30  Wim Taymans  <wim@fluendo.com>
9956
9957         * gst/elements/gstidentity.c: (gst_identity_event),
9958         (gst_identity_transform), (gst_identity_get_property):
9959         Protect last_message property as it is accessed from
9960         multiple threads.
9961
9962 2005-05-30  Wim Taymans  <wim@fluendo.com>
9963
9964         * gst/gstelement.c: (gst_element_init),
9965         (gst_element_pads_activate), (gst_element_change_state):
9966         Slicker pad activation code.
9967
9968 2005-05-30  Wim Taymans  <wim@fluendo.com>
9969
9970         * gst/Makefile.am:
9971         * gst/gstelement.h:
9972         * gst/gstelementfactory.h:
9973         * gst/gsttypes.h:
9974         Move elementfactory methods to separate .h file.
9975
9976 2005-05-30  Wim Taymans  <wim@fluendo.com>
9977
9978         * docs/design/part-overview.txt:
9979         * gst/gstsystemclock.h:
9980         Small typo fixes, doc updates.
9981
9982 2005-05-30  Wim Taymans  <wim@fluendo.com>
9983
9984         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9985         (init_popt_callback):
9986         Remove cpu-opt flag.
9987
9988 2005-05-30  Wim Taymans  <wim@fluendo.com>
9989
9990         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9991         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9992         * gst/gstbuffer.h:
9993         Avoid typechecking in places where not needed.
9994         Added accessor for malloc_data.
9995
9996 2005-05-30  Wim Taymans  <wim@fluendo.com>
9997
9998         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9999         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10000         (gst_pad_configure_sink), (gst_pad_configure_src),
10001         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10002         (gst_pad_start_task):
10003         Propagate errors from _set_caps() in configure_src/sink
10004         functions instead of returning TRUE.
10005         FLUSH events can travel up and downstream
10006
10007
10008 2005-05-30  Wim Taymans  <wim@fluendo.com>
10009
10010         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10011         (gst_basesink_activate):
10012         Handle EOS in preroll.
10013
10014 2005-05-30  Wim Taymans  <wim@fluendo.com>
10015
10016         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10017         (gst_queue_loop), (gst_queue_handle_src_event):
10018         Remove old pieces of code
10019         Flushing the queue in an upstream event is a very bad idea.
10020
10021 2005-05-26  Andy Wingo  <wingo@pobox.com>
10022
10023         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10024         gst_value_set_mini_object so as to add a ref on the object (which
10025         will be removed when the value is unset).
10026
10027         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10028         arg type in ::handoff.
10029
10030         * gst/gstelement.c (gst_element_change_state): Also deactivate
10031         pads in READY->NULL, just in case the element didn't make it to
10032         PAUSED. Wingo tested, Wim approved.
10033
10034 2005-05-26  Wim Taymans  <wim@fluendo.com>
10035
10036         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10037         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10038         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10039         A flushing pad cannot be used to alloc_buffer from.
10040
10041 2005-05-26  Wim Taymans  <wim@fluendo.com>
10042
10043         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10044         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10045         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10046         (gst_bus_create_watch), (gst_bus_add_watch_full):
10047         * gst/gstbus.h:
10048         Implement a real GSource and use g_main_context_wakeup() to
10049         signal new messages instead of the socketpair.
10050
10051 2005-05-25  Wim Taymans  <wim@fluendo.com>
10052
10053         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10054         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10055         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10056         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10057         (gst_pad_send_event), (gst_pad_start_task):
10058         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10059         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10060         (gst_queue_sink_activate), (gst_queue_src_activate),
10061         (gst_queue_change_state):
10062         * gst/gstqueue.h:
10063         Fix state changes for non sinks. We now change sinks, then elements
10064         with unconnected srcpads, then the rest.
10065         More efficient queue unlocking in flush and state changes.
10066         Set the pad activate mode even if it does not have an activate
10067         function.
10068
10069 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10070
10071         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10072           Don't go in pull mode for non-seekable sources.
10073         * gst/elements/gsttypefindelement.h:
10074         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10075         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10076         (free_entry), (stop_typefinding),
10077         (gst_type_find_element_handle_event), (find_peek),
10078         (gst_type_find_element_chain), (do_pull_typefind),
10079         (gst_type_find_element_change_state):
10080           Allow typefinding (w/o seeking) in push-mode, simplified version
10081           of what was in 0.8.
10082         * gst/gstutils.c: (gst_buffer_join):
10083         * gst/gstutils.h:
10084           gst_buffer_join() from 0.8.
10085
10086 2005-05-25  Wim Taymans  <wim@fluendo.com>
10087
10088         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10089         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10090         (gst_pad_send_event), (gst_pad_start_task):
10091         Disable attempt at mode switching until it is figured out.
10092
10093 2005-05-25  Wim Taymans  <wim@fluendo.com>
10094
10095         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10096         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10097         (gst_basesink_finish_preroll), (gst_basesink_chain),
10098         (gst_basesink_loop), (gst_basesink_activate),
10099         (gst_basesink_change_state):
10100         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10101         (gst_basesrc_get_range), (gst_basesrc_loop),
10102         (gst_basesrc_activate):
10103         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10104         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10105         (gst_real_pad_init), (gst_real_pad_set_property),
10106         (gst_real_pad_get_property), (gst_pad_set_active),
10107         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10108         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10109         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10110         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10111         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10112         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10113         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10114         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10115         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10116         (gst_pad_stop_task):
10117         * gst/gstpad.h:
10118         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10119         (gst_queue_loop), (gst_queue_src_activate):
10120         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10121         (gst_task_get_state):
10122         * gst/gsttask.h:
10123         * gst/schedulers/threadscheduler.c:
10124         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10125         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10126         in task function.
10127         Remove ACTIVE pad flag, use FLUSHING everywhere
10128         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10129         functions.
10130         Add locks around IS_FLUSHING when reading.
10131         Take STREAM lock in chain(), get_range() functions so plugins
10132         don't need to take it anymore.
10133         
10134
10135
10136 2005-05-25  Wim Taymans  <wim@fluendo.com>
10137
10138         * tools/gst-launch.c: (event_loop):
10139         Unref message after using its contents instead of
10140         before.
10141
10142 2005-05-24  Wim Taymans  <wim@fluendo.com>
10143
10144         * docs/design/draft-ghostpads.txt:
10145         * docs/design/draft-push-pull.txt:
10146         * docs/design/draft-query.txt:
10147         * docs/design/part-overview.txt:
10148         Docs updates, added general overview doc.
10149
10150 2005-05-21  David Schleef  <ds@schleef.org>
10151
10152         * docs/gst/tmpl/old/GstBin.sgml:
10153         * docs/gst/tmpl/old/GstBuffer.sgml:
10154         * docs/gst/tmpl/old/GstCaps.sgml:
10155         * docs/gst/tmpl/old/GstClock.sgml:
10156         * docs/gst/tmpl/old/GstCompat.sgml:
10157         * docs/gst/tmpl/old/GstData.sgml:
10158         * docs/gst/tmpl/old/GstElement.sgml:
10159         * docs/gst/tmpl/old/GstEvent.sgml:
10160         * docs/gst/tmpl/old/GstIndex.sgml:
10161         * docs/gst/tmpl/old/GstStructure.sgml:
10162         * docs/gst/tmpl/old/GstTag.sgml:
10163         * docs/gst/tmpl/old/cothreads.sgml:
10164         * docs/gst/tmpl/old/cothreads_compat.sgml:
10165         * docs/gst/tmpl/old/gettext.sgml:
10166         * docs/gst/tmpl/old/gobject2gtk.sgml:
10167         * docs/gst/tmpl/old/grammar.tab.sgml:
10168         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10169         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10170         * docs/gst/tmpl/old/gst_private.sgml:
10171         * docs/gst/tmpl/old/gstaggregator.sgml:
10172         * docs/gst/tmpl/old/gstarch.sgml:
10173         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10174         * docs/gst/tmpl/old/gstbufferstore.sgml:
10175         * docs/gst/tmpl/old/gstdata_private.sgml:
10176         * docs/gst/tmpl/old/gstdisksink.sgml:
10177         * docs/gst/tmpl/old/gstdisksrc.sgml:
10178         * docs/gst/tmpl/old/gstelementfactory.sgml:
10179         * docs/gst/tmpl/old/gstextratypes.sgml:
10180         * docs/gst/tmpl/old/gstfakesink.sgml:
10181         * docs/gst/tmpl/old/gstfakesrc.sgml:
10182         * docs/gst/tmpl/old/gstfdsink.sgml:
10183         * docs/gst/tmpl/old/gstfdsrc.sgml:
10184         * docs/gst/tmpl/old/gstfilesink.sgml:
10185         * docs/gst/tmpl/old/gstfilesrc.sgml:
10186         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10187         * docs/gst/tmpl/old/gstidentity.sgml:
10188         * docs/gst/tmpl/old/gstindexfactory.sgml:
10189         * docs/gst/tmpl/old/gstmarshal.sgml:
10190         * docs/gst/tmpl/old/gstmd5sink.sgml:
10191         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10192         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10193         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10194         * docs/gst/tmpl/old/gstpipefilter.sgml:
10195         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10196         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10197         * docs/gst/tmpl/old/gstshaper.sgml:
10198         * docs/gst/tmpl/old/gstspider.sgml:
10199         * docs/gst/tmpl/old/gstspideridentity.sgml:
10200         * docs/gst/tmpl/old/gststatistics.sgml:
10201         * docs/gst/tmpl/old/gsttee.sgml:
10202         * docs/gst/tmpl/old/gsttimecache.sgml:
10203         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10204         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10205         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10206         * docs/gst/tmpl/old/types.sgml:
10207           I didn't intend to add these or check them in.
10208
10209 2005-05-19  David Schleef  <ds@schleef.org>
10210
10211         * configure.ac: Use -no-common everywhere.  In a sane world, it
10212           would be the default in libtool, because without it, you can't
10213           build DLLs on Windows.
10214         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10215         * docs/gst/gstreamer-sections.txt:
10216         * docs/gst/tmpl/gstcpu.sgml:
10217         * docs/gst/tmpl/gstdata.sgml:
10218         * docs/gst/tmpl/gstthread.sgml:
10219
10220 2005-05-19  David Schleef  <ds@schleef.org>
10221
10222         * gst/gstminiobject.c: (gst_value_set_mini_object),
10223         (gst_value_take_mini_object), (gst_value_get_mini_object):
10224         * gst/gstminiobject.h: Add GValue set/get functions.
10225
10226 2005-05-19  Wim Taymans  <wim@fluendo.com>
10227
10228         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10229         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10230         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10231         * gst/gstbuffer.h:
10232         * gst/gstbus.c: (gst_bus_post):
10233         * gst/gstelement.c: (gst_element_get_random_pad):
10234         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10235         Make subbufer unref the parent in finalize.
10236         some more debugging info.
10237
10238
10239 2005-05-19  Wim Taymans  <wim@fluendo.com>
10240
10241         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10242         (gst_basesink_init), (gst_basesink_finalize),
10243         (gst_basesink_activate), (gst_basesink_change_state):
10244         Don't free preroll queue too early.
10245
10246 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10247
10248         * gst/Makefile.am:
10249         * gst/ROADMAP:
10250           Hi, I'm outdated. Please shoot me.
10251
10252 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10253
10254         * gst/gstpipeline.c: (gst_pipeline_send_event):
10255           Do not access variables after they have been deleted.
10256
10257 2005-05-19  Wim Taymans  <wim@fluendo.com>
10258
10259         * tools/gst-inspect.c: (print_plugin_features):
10260         A plugin feature does unfortunatly not use the
10261         object name yet...
10262
10263 2005-05-18  Wim Taymans  <wim@fluendo.com>
10264
10265         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10266         Port _span() functions to new subbuffers.
10267
10268 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10269
10270         * gst/gstbin.c: (gst_bin_add_func):
10271           Fix clock settery in bins when adding kids after the clock has
10272           been selected.
10273
10274 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10275
10276         * gst/elements/gstidentity.c: (gst_identity_class_init):
10277           Workaround until signals support GstMiniObject.
10278
10279 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10280
10281         * gst/gstbuffer.c:
10282         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10283
10284 2005-05-18  Wim Taymans  <wim@fluendo.com>
10285
10286         * gst/base/Makefile.am:
10287         * gst/base/gstadapter.c: (gst_adapter_base_init),
10288         (gst_adapter_class_init), (gst_adapter_init),
10289         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10290         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10291         (gst_adapter_flush), (gst_adapter_available),
10292         (gst_adapter_available_fast):
10293         * gst/base/gstadapter.h:
10294         Ported and added adapter to the base classes.
10295
10296 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10297
10298         * gst/gst.c:
10299         * gst/gstmessage.c:
10300           Make sure the class is reffed/unreffed once before threads can be
10301           used.  Fixes #304551.
10302
10303 2005-05-17  Wim Taymans  <wim@fluendo.com>
10304
10305         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10306         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10307         * gst/gstminiobject.c: (gst_mini_object_get_type),
10308         (gst_mini_object_free):
10309         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10310         (gst_pad_push), (gst_pad_push_event):
10311         * gst/gstqueue.c: (gst_queue_change_state):
10312         Don't queue buffers in basesink when we are flushing.
10313         Unref buffer when flushing in basesink.
10314         Flush queue when going to READY
10315         Unref buffer when _push() returns an error.
10316         Don't free MiniObject instance when refcount is incremented
10317         in _finalize() so that we can recover objects.
10318
10319 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10320
10321         * docs/manual/advanced-schedulers.xml:
10322         * docs/manual/appendix-checklist.xml:
10323         * docs/pwg/advanced-clock.xml:
10324         * docs/pwg/advanced-interfaces.xml:
10325         * docs/pwg/advanced-request.xml:
10326         * docs/pwg/advanced-types.xml:
10327         * docs/pwg/intro-preface.xml:
10328         * examples/plugins/example.c: (gst_example_get_type),
10329         (gst_example_class_init), (gst_example_chain),
10330         (gst_example_set_property), (gst_example_get_property),
10331         (gst_example_change_state), (plugin_init):
10332         * examples/plugins/example.h:
10333           small doc fixes
10334
10335 2005-05-17  Wim Taymans  <wim@fluendo.com>
10336
10337         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10338         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10339         * gst/gstqueue.c: (gst_queue_change_state):
10340         Clear queue when going to READY.
10341         Remove IN_SETCAPS flag too.
10342
10343 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10344
10345         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10346           Remove implicit cast from gboolean to GstElementStateReturn;
10347           make sure we still return failure in paused => ready case if
10348           the parent class fails to change state and our own stop 
10349           vfunc succeeds.
10350
10351 2005-05-17  Wim Taymans  <wim@fluendo.com>
10352
10353         * tools/gst-launch.c: (event_loop):
10354         Message was unreffed too soon.
10355
10356 2005-05-16  Andy Wingo  <wingo@pobox.com>
10357
10358         * gst/gstbin.c (sink_iterator_filter): Err... um...
10359
10360         * check/gst/gstbin.c (test_ghost_pads): New test for the
10361         ghosting-if-elements-not-in-same-bin behavior.
10362
10363 2005-05-16  David Schleef  <ds@schleef.org>
10364
10365         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10366         accessing refcount directly.
10367
10368 2005-05-15  David Schleef  <ds@schleef.org>
10369
10370         * check/Makefile.am: remove GstData checks
10371         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10372         * gst/Makefile.am: add miniobject, remove data
10373         * gst/gst.h: add miniobject, remove data
10374         * gst/gstdata.c: remove
10375         * gst/gstdata.h: remove
10376         * gst/gstdata_private.h: remove
10377         * gst/gsttypes.h: remove GstEvent and GstMessage
10378         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10379         * gst/gstmarshal.list: change BOXED -> OBJECT
10380
10381         Implement GstMiniObject.
10382         * gst/gstminiobject.c:
10383         * gst/gstminiobject.h:
10384
10385         Modify to be subclasses of GstMiniObject.
10386         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10387         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10388         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10389         (gst_subbuffer_get_type), (gst_subbuffer_init),
10390         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10391         (gst_buffer_span):
10392         * gst/gstbuffer.h:
10393         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10394         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10395         (_gst_event_copy), (gst_event_new):
10396         * gst/gstevent.h:
10397         * gst/gstmessage.c: (_gst_message_initialize),
10398         (gst_message_get_type), (gst_message_class_init),
10399         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10400         (gst_message_new), (gst_message_new_error),
10401         (gst_message_new_warning), (gst_message_new_tag),
10402         (gst_message_new_state_changed), (gst_message_new_application):
10403         * gst/gstmessage.h:
10404         * gst/gstprobe.c: (gst_probe_perform),
10405         (gst_probe_dispatcher_dispatch):
10406         * gst/gstprobe.h:
10407         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10408         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10409         (_gst_query_copy), (gst_query_new):
10410
10411         Update elements for GstData -> GstMiniObject changes
10412         * gst/gstquery.h:
10413         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10414         (gst_queue_chain), (gst_queue_loop):
10415         * gst/elements/gstbufferstore.c:
10416         (gst_buffer_store_add_buffer_func),
10417         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10418         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10419         (gst_fakesink_render):
10420         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10421         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10422         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10423         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10424         (gst_filesrc_create_read):
10425         * gst/elements/gstidentity.c: (gst_identity_class_init):
10426         * gst/elements/gsttypefindelement.c:
10427         (gst_type_find_element_src_event), (free_entry_buffers),
10428         (gst_type_find_element_handle_event):
10429         * libs/gst/dataprotocol/dataprotocol.c:
10430         (gst_dp_header_from_buffer):
10431         * libs/gst/dataprotocol/dataprotocol.h:
10432         * libs/gst/dataprotocol/dp-private.h:
10433
10434 2005-05-15  David Schleef  <ds@schleef.org>
10435
10436         * gst/elements/gstelements.c: Don't include headers that were
10437         just removed.
10438
10439 2005-05-15  David Schleef  <ds@schleef.org>
10440
10441         * gst/elements/Makefile.am: Remove some elements that don't
10442         need to be in the core (or even exist at all).
10443         * gst/elements/gstaggregator.c:
10444         * gst/elements/gstaggregator.h:
10445         * gst/elements/gstmd5sink.c:
10446         * gst/elements/gstmd5sink.h:
10447         * gst/elements/gstmultifilesrc.c:
10448         * gst/elements/gstmultifilesrc.h:
10449         * gst/elements/gstpipefilter.c:
10450         * gst/elements/gstpipefilter.h:
10451         * gst/elements/gstshaper.c:
10452         * gst/elements/gstshaper.h:
10453         * gst/elements/gststatistics.c:
10454         * gst/elements/gststatistics.h:
10455         * po/POTFILES.in: Remove above files.
10456
10457 2005-05-14  Andy Wingo  <wingo@pobox.com>
10458
10459         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10460         so as to get the refs right.
10461         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10462         unreffing objects that don't pass the filter.
10463
10464         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10465         gst_element_set_bus.
10466         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10467         normal cases, this will destroy the bus.
10468
10469         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10470         object.
10471
10472         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10473         has no sinks.
10474
10475 2005-05-13  Andy Wingo  <wingo@pobox.com>
10476
10477         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10478         gst_pad_link, call pad_link_maybe_ghosting,
10479         (pad_link_maybe_ghosting): Links pads, making sure that the
10480         elements being linked are in the same bin.
10481         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10482         Helpers for pad_link_maybe_ghosting.
10483
10484 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10485
10486         * configure.ac:
10487           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10488
10489 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10490
10491         * docs/design/part-element-source.txt:
10492           Mention GstPushSrc
10493
10494 2005-05-12  Wim Taymans  <wim@fluendo.com>
10495
10496         * gst/base/gstbasesink.c: (gst_basesink_init),
10497         (gst_basesink_activate):
10498         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10499         (gst_basesrc_is_seekable):
10500         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10501         (bin_element_is_sink), (gst_bin_change_state):
10502         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10503         * gst/gstelement.h:
10504         Identify sinks by their flag to avoid overly complicated
10505         checks (fow now).
10506         Do state changes even for elements not reachable from the
10507         sinks.
10508         BaseSink is a sink now :)
10509         Some more debugging info in the basesrc.
10510
10511
10512 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10513
10514         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10515           Implement _query on a bin, similar to _send_event.
10516
10517 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10518
10519         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10520           Discont event offset format should be GST_FORMAT_BYTES,
10521           not GST_FORMAT_TIME.
10522
10523 2005-05-12  Wim Taymans  <wim@fluendo.com>
10524
10525         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10526         Same fix as Ronald's but without the signal. 
10527
10528 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10529
10530         * gst/gstutils.c: (gst_element_query_position):
10531           No, an element is not a pad.
10532
10533 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10534
10535         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10536         (gst_bin_get_state):
10537           If a child is removed from a bin while we remove the child from
10538           the bin and while we're retrieving its state, signal this to the
10539           get_state function so we abort the wait (instead of waiting for
10540           a timeout) and can immediately re-iterate over all other elements.
10541
10542 2005-05-12  Wim Taymans  <wim@fluendo.com>
10543
10544         * gst/base/Makefile.am:
10545         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10546         (gst_basesrc_start):
10547         * gst/base/gstbasesrc.h:
10548         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10549         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10550         (gst_pushsrc_init), (gst_pushsrc_create):
10551         * gst/base/gstpushsrc.h:
10552         Added is_seekable to BaseSrc
10553         Added simple PushSrc.
10554
10555 2005-05-11  Wim Taymans  <wim@fluendo.com>
10556
10557         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10558         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10559         (gst_element_link_pads), (gst_element_query_position),
10560         (gst_element_query_convert), (intersect_caps_func),
10561         (gst_pad_query_position), (gst_pad_query_convert):
10562         Fix refcounting in utils function.
10563         No point in trying to activate a pad when it's added, it could
10564         be added from the state change function and then we deadlock, the
10565         element has to decide what to do.
10566
10567 2005-05-10  Andy Wingo  <wingo@pobox.com>
10568
10569         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10570         *all* the arguments.
10571
10572         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10573         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10574         lock (according to the docs -- if this is wrong change the docs).
10575
10576         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10577         flush messages in the NULL state.
10578
10579         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10580         message immediately and return.
10581         (gst_bus_set_flushing): New function. If a bus is flushing, it
10582         flushes out any queued messages and immediately unrefs new
10583         messages. This is so when an element goes to NULL, all of the
10584         unhandled messages coming from it can be freed, and their
10585         references to the element dropped. In other words: message source
10586         ref considered harmful :P
10587
10588         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10589         we're finished with it.
10590
10591         * gst/gstmessage.c (gst_message_new_state_changed): 
10592
10593 2005-05-10  Wim Taymans  <wim@fluendo.com>
10594
10595         * gst/gstvalue.c: (gst_value_compare_flags),
10596         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10597         (_gst_value_initialize):
10598         Added flags serialize/deserialize/compare code.
10599
10600 2005-05-09  Andy Wingo  <wingo@pobox.com>
10601
10602         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10603         Intersect the peer's caps with our caps.
10604
10605 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10606
10607         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10608         * gst/elements/gsttypefindelement.c: (find_peek):
10609           Handle negative offsets better. Fixes decodebin.
10610
10611 2005-05-09  Wim Taymans  <wim@fluendo.com>
10612
10613         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10614         (gst_base_transform_event):
10615         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10616         Implement accept_caps.
10617         Fix silly lock/unlock mismatch in base class.
10618
10619 2005-05-09  Wim Taymans  <wim@fluendo.com>
10620
10621         * docs/design/draft-push-pull.txt:
10622         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10623         * gst/elements/gstfilesink.c: (gst_filesink_init),
10624         (gst_filesink_query):
10625         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10626         (gst_type_find_handle_src_query), (find_element_get_length):
10627         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10628         * gst/gstelement.h:
10629         * gst/gstmessage.c:
10630         * gst/gstmessage.h:
10631         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10632         (gst_real_pad_get_caps_unlocked),
10633         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10634         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10635         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10636         (gst_real_pad_dispose), (gst_real_pad_finalize),
10637         (gst_pad_load_and_link), (gst_pad_save_thyself),
10638         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10639         (gst_pad_check_pull_range), (gst_pad_pull_range),
10640         (gst_pad_template_get_type), (gst_pad_template_class_init),
10641         (gst_pad_template_init), (gst_pad_template_dispose),
10642         (name_is_valid), (gst_static_pad_template_get),
10643         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10644         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10645         (gst_pad_get_element_private), (gst_pad_start_task),
10646         (gst_pad_pause_task), (gst_pad_stop_task),
10647         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10648         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10649         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10650         (gst_ghost_pad_new):
10651         * gst/gstpad.h:
10652         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10653         (gst_query_new_position), (gst_query_set_position),
10654         (gst_query_parse_position), (gst_query_new_convert),
10655         (gst_query_set_convert), (gst_query_parse_convert):
10656         * gst/gstquery.h:
10657         * gst/gstqueryutils.c:
10658         * gst/gstqueryutils.h:
10659         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10660         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10661         (gst_queue_handle_src_query):
10662         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10663         (gst_element_query_position), (gst_element_query_convert),
10664         (intersect_caps_func), (gst_pad_query_position),
10665         (gst_pad_query_convert):
10666         * gst/gstutils.h:
10667         * tools/gst-inspect.c: (print_pad_info):
10668         * tools/gst-xmlinspect.c: (print_element_info):
10669         Remove old query functions. Ported old code.
10670         Added position/convert helper functions to gstutils.
10671         Reordered gstpad.c code, grouping relevant things.
10672         Remove gst_message_new(), always need to speficy a specific
10673         message.
10674
10675
10676 2005-05-09  Andy Wingo  <wingo@pobox.com>
10677
10678         * gst/gstiterator.h: Add some includes.
10679
10680         * gst/gstqueryutils.h: Include more headers.
10681
10682         * gst/gstpad.h:
10683         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10684         some uses of gst_pad_query.
10685
10686         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10687         NULL out parameters.
10688         (gst_query_new_position): New proc, allocates a new position
10689         query.
10690
10691         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10692         gstqueryutils.c to the build.
10693
10694         * gst/gststructure.c (gst_structure_set_valist): Implement with
10695         the generic G_VALUE_COLLECT.
10696         
10697 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10698
10699         * gst/Makefile.am: (gst_headers):
10700         Added gstqueryutils.h to the list of headers to install, that was
10701         a 'nachty' move wingo :)
10702
10703 2005-05-06  Andy Wingo  <wingo@pobox.com>
10704
10705         * gst/gstquery.h
10706         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10707         GstData, init a memchunk.
10708         (standard_definitions): Add a few query types, deprecate a few.
10709         (gst_query_get_type): New proc.
10710         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10711         implementation.
10712         (gst_query_new_application, gst_query_get_structure): New public
10713         procs.
10714
10715         * docs/design/draft-query.txt: Removed LINKS from the query types,
10716         because all the rest can be dispatched to other pads -- seemed
10717         ugly to have a query that couldn't be dispatched. internal_links
10718         is fine as a pad method.
10719
10720         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10721         in gstpad.c, but maintain binary compatibility for the moment.
10722         Will fix before 0.9 is out.
10723
10724         * gst/gstqueryutils.c: 
10725         * gst/gstqueryutils.h: New files, implement 3 methods for each
10726         query type: parse_query, parse_response, and set. Probably need an
10727         allocator as well.
10728
10729         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10730
10731         * gst/elements/gstfilesink.c (gst_filesink_query2):
10732         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10733         query_types, and formats methods.
10734
10735         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10736         (gst_pad_set_query2_function): New functions.
10737         (gst_real_pad_init): Set query2_default as the default query2
10738         function. Basically just dispatches to internally linked pads.
10739
10740         Needs review!
10741         
10742         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10743         without using the atomic operations. Only one thread can possibly
10744         be accessing the data at this point. Changed so as to avoid
10745         gst_atomic operations.
10746
10747 2005-05-06  Wim Taymans  <wim@fluendo.com>
10748
10749         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10750         Also set caps if we use the fallback buffer alloc.
10751
10752 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10753
10754         * docs/gst/Makefile.am:
10755         * docs/gst/gstreamer-docs.sgml:
10756         * docs/gst/gstreamer-sections.txt:
10757         * docs/gst/tmpl/gstatomic.sgml:
10758         * docs/gst/tmpl/gstmemchunk.sgml:
10759         * testsuite/elements/struct_i386.h:
10760         * win32/GStreamer.vcproj:
10761         * win32/Makefile:
10762           Purge GstAtomic stuff from docs and win32 makefiles as well
10763
10764 2005-05-06  Wim Taymans  <wim@fluendo.com>
10765
10766         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10767         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10768         * gst/gstpad.c: (gst_pad_peer_get_caps):
10769         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10770         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10771         (gst_queue_src_activate), (gst_queue_change_state):
10772         * gst/gstqueue.h:
10773         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10774         (intersect_caps_func):
10775         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10776         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10777         Some fixes for the peer_get_caps() change.
10778
10779 2005-05-06  Wim Taymans  <wim@fluendo.com>
10780
10781         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10782         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10783         (gst_basesink_activate):
10784         Actually do something with error codes returned from the push
10785         functions.
10786
10787 2005-05-06  Wim Taymans  <wim@fluendo.com>
10788
10789         * docs/design/part-element-sink.txt:
10790         * docs/design/part-element-source.txt:
10791         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10792         (gst_basesink_event), (gst_basesink_activate):
10793         * gst/base/gstbasesink.h:
10794         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10795         (gst_basesrc_activate):
10796         * gst/base/gstbasesrc.h:
10797         * gst/gstelement.c: (gst_element_pads_activate):
10798         Some more documentation.
10799         Fixed scheduling decision in _pads_activate().
10800
10801 2005-05-05  Andy Wingo  <wingo@pobox.com>
10802
10803         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10804         the test suite.
10805
10806 2005-05-05  Wim Taymans  <wim@fluendo.com>
10807
10808         * gst/base/Makefile.am:
10809         * gst/base/gstbasesink.h:
10810         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10811         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10812         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10813         (gst_collectpads_class_init), (gst_collectpads_init),
10814         (gst_collectpads_finalize), (gst_collectpads_new),
10815         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10816         (find_pad), (gst_collectpads_remove_pad),
10817         (gst_collectpads_is_active), (gst_collectpads_collect),
10818         (gst_collectpads_collect_range), (gst_collectpads_start),
10819         (gst_collectpads_stop), (gst_collectpads_peek),
10820         (gst_collectpads_pop), (gst_collectpads_available),
10821         (gst_collectpads_read), (gst_collectpads_flush),
10822         (gst_collectpads_chain):
10823         * gst/base/gstcollectpads.h:
10824         * gst/elements/Makefile.am:
10825         * gst/elements/gstelements.c:
10826         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10827         (gst_fakesink_get_times), (gst_fakesink_event),
10828         (gst_fakesink_preroll), (gst_fakesink_render):
10829         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10830         (gst_filesink_init), (gst_filesink_set_location),
10831         (gst_filesink_open_file), (gst_filesink_close_file),
10832         (gst_filesink_pad_query), (gst_filesink_event),
10833         (gst_filesink_render), (gst_filesink_change_state):
10834         * gst/elements/gstfilesink.h:
10835         Added object to help in making collect pad based elements.
10836         Ported filesink.
10837         Make event function in sink baseclass return gboolean.
10838
10839 2005-05-05  Wim Taymans  <wim@fluendo.com>
10840
10841         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10842         (gst_bin_get_by_name):
10843         * gst/gstbuffer.h:
10844         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10845         (gst_clock_finalize):
10846         * gst/gstdata.c: (gst_data_replace):
10847         * gst/gstdata.h:
10848         * gst/gstelement.c: (gst_element_request_pad),
10849         (gst_element_pads_activate):
10850         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10851         (gst_object_unref):
10852         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10853         (gst_pad_set_checkgetrange_function),
10854         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10855         (gst_pad_check_pull_range), (gst_pad_pull_range),
10856         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10857         (gst_pad_pause_task), (gst_pad_stop_task):
10858         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10859         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10860         Fix name lookup in GstBin.
10861         Added _data_replace() function and _buffer_replace()
10862         Use finalize method to clean up clock.
10863         Fix refcounting on request pads.
10864         Fix pad schedule mode error.
10865         Some more object refcounting debug info,
10866
10867
10868 2005-05-04  Andy Wingo <wingo@pobox.com>
10869
10870         * check/Makefile.am:
10871         * docs/gst/tmpl/gstatomic.sgml:
10872         * docs/gst/tmpl/gstplugin.sgml:
10873         * gst/base/gstbasesink.c: (gst_basesink_activate):
10874         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10875         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10876         (gst_basesrc_query), (gst_basesrc_set_property),
10877         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10878         (gst_basesrc_activate):
10879         * gst/base/gstbasesrc.h:
10880         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10881         (gst_base_transform_src_activate):
10882         * gst/elements/gstelements.c:
10883         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10884         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10885         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10886         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10887         (gst_type_find_element_checkgetrange),
10888         (gst_type_find_element_activate):
10889         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10890         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10891         (gst_caps_load_thyself):
10892         * gst/gstelement.c: (gst_element_pads_activate),
10893         (gst_element_save_thyself), (gst_element_restore_thyself):
10894         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10895         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10896         * gst/gstpad.h:
10897         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10898         (gst_xml_parse_file), (gst_xml_parse_memory),
10899         (gst_xml_get_element), (gst_xml_make_element):
10900         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10901         (_file_index_id_save_xml), (gst_file_index_commit):
10902         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10903         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10904         (load_paths):
10905         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10906         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10907         * tools/gst-complete.c: (main):
10908         * tools/gst-compprep.c: (main):
10909         * tools/gst-inspect.c: (print_element_properties_info):
10910         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10911         * tools/gst-xmlinspect.c: (print_element_properties):
10912         GCC 4 fixen.
10913         
10914 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10915
10916         * gst/gstplugin.c: (gst_plugin_check_module),
10917         (gst_plugin_check_file), (gst_plugin_load_file):
10918             apply patch from #172526 to make register work on MacOSX
10919
10920 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10921
10922         * docs/gst/tmpl/gstconfig.sgml:
10923         * gst/gstconfig.h.in:
10924           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10925         * testsuite/debug/printf_extension.c: (main):
10926           Do not use GST_PTR_FORMAT on pointers to types with
10927           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10928         * testsuite/elements/property.h:
10929           use correct printf format
10930
10931 2005-05-02  Wim Taymans  <wim@fluendo.com>
10932
10933         * docs/design/draft-push-pull.txt:
10934         * docs/design/draft-query.txt:
10935         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10936         (gst_basesrc_start):
10937         Added draft for new query API.
10938         Added draft for better selecting scheduling methods.
10939         Make basesrc ignore length if the subclass does not support
10940         it.
10941
10942 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10943
10944         * gst/Makefile.am:
10945           possible fixes for automake-1.5 - _LIBADD is reserved
10946
10947 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10948
10949         * docs/faq/Makefile.am:
10950         * docs/manual/Makefile.am:
10951         * docs/manuals.mak:
10952         * docs/pwg/Makefile.am:
10953         * gst/Makefile.am:
10954           possible fixes for automake-1.5
10955
10956 2005-04-28  Wim Taymans  <wim@fluendo.com>
10957
10958         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10959         (gst_basesink_pad_getcaps), (gst_basesink_init),
10960         (gst_basesink_do_sync):
10961         * gst/gstclock.c: (gst_clock_entry_new):
10962         * gst/gstevent.c: (gst_event_discont_get_value):
10963         * gst/gstpipeline.c: (pipeline_bus_handler),
10964         (gst_pipeline_change_state):
10965         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10966         Better debugging of clocking info.
10967         Allow NULL values when getting discont values.
10968
10969 2005-04-27  Wim Taymans  <wim@fluendo.com>
10970
10971         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10972         * check/gst/gstpad.c: (gst_pad_suite):
10973         Increase timeout for checks.
10974
10975 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10976
10977         * check/Makefile.am:
10978           fix the broken rule for cleanup.  Apparently this rule is
10979           only needed on FC2, so maybe this warrants further autotool
10980           inspection.
10981
10982 2005-04-26  Wim Taymans  <wim@fluendo.com>
10983
10984         * gst/gsttrashstack.h:
10985         Ooohh. a nasty one! After having a failed pop() from the stack,
10986         it's possible that the stack is empty. In that case, don't
10987         follow the NULL pointer.
10988
10989 2005-04-25  Wim Taymans  <wim@fluendo.com>
10990
10991         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10992         (gst_pad_set_checkgetrange_function),
10993         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10994         (gst_pad_check_pull_range), (gst_pad_pull_range),
10995         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10996         (gst_pad_pause_task), (gst_pad_stop_task):
10997         * gst/gstplugin.c: (gst_plugin_load):
10998         * gst/gstplugin.h:
10999         Remove gst_library_load as it does more harm than good with
11000         the new g_module flags.
11001         Revert bogus caps template check in pad linking, pad caps
11002         are important when linking not the template, which is more
11003         general than the current caps.
11004
11005 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11006
11007         * gst/autoplug/.cvsignore:
11008         * gst/autoplug/Makefile.am:
11009         * gst/autoplug/gstsearchfuncs.c:
11010         * gst/autoplug/gstsearchfuncs.h:
11011         * gst/autoplug/gstspider.c:
11012         * gst/autoplug/gstspider.h:
11013         * gst/autoplug/gstspideridentity.c:
11014         * gst/autoplug/gstspideridentity.h:
11015         * gst/autoplug/spidertest.c:
11016           Die, spider, die.
11017
11018 2005-04-25  Wim Taymans  <wim@fluendo.com>
11019
11020         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11021         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11022         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11023         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11024         * gst/gstpad.h:
11025         Added stubs for unimplemented functions. 
11026
11027 2005-04-24  David Schleef  <ds@schleef.org>
11028
11029         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11030         please fix.
11031
11032 2005-04-24  David Schleef  <ds@schleef.org>
11033
11034         Convert everything from GstAtomicInt to g_atomic_int_*, and
11035         remove gstatomic.
11036         * gst/Makefile.am:
11037         * gst/gstatomic.c:
11038         * gst/gstatomic.h:
11039         * gst/gstatomic_impl.h:
11040         * gst/gstbuffer.c:
11041         * gst/gstcaps.c:
11042         * gst/gstcaps.h:
11043         * gst/gstclock.c:
11044         * gst/gstclock.h:
11045         * gst/gstdata.c:
11046         * gst/gstdata.h:
11047         * gst/gstdata_private.h:
11048         * gst/gstevent.c:
11049         * gst/gstinfo.c:
11050         * gst/gstinfo.h:
11051         * gst/gstmessage.c:
11052         * gst/gstobject.c:
11053         * gst/gstobject.h:
11054         * gst/gststructure.c:
11055         * gst/gststructure.h:
11056         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11057         * gst/gstutils.h:
11058
11059 2005-04-24  David Schleef  <ds@schleef.org>
11060
11061         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11062         make the regressions tests work.  Remove some code that is no
11063         longer true.
11064         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11065         Disable warning for pads without templates.
11066
11067 2005-04-24  David Schleef  <ds@schleef.org>
11068
11069         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11070         functions that handle filtered links.
11071         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11072         removed functions.
11073         * gst/gstutils.c: Fix/remove utility functions that handle
11074         filtered caps.
11075         * gst/gstutils.h:
11076         * gst/gstvalue.c: Add serialization/deserialization of caps
11077         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11078         requires fixing so that the filter caps notation creates
11079         a capsfilter element and sets the filter_caps property.  I
11080         think everyone probably wants to keep the shorthand notation.
11081         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11082         * docs/gst/tmpl/gstpad.sgml:
11083
11084         * gst/elements/gstelements.c: Register capsfilter element.
11085         * gst/Makefile.am: fix spacing
11086         * docs/random/ds/0.9-suggested-changes: random
11087
11088 2005-04-23  David Schleef  <ds@schleef.org>
11089
11090         * gst/elements/Makefile.am:
11091         * gst/elements/gstcapsfilter.c: New element that acts like an
11092         identity, but filters caps.  Will eventually replace filtered
11093         caps in pad linking.
11094         * gst/gstutils.c: (gst_element_create_all_pads): New function
11095         to create all the ALWAYS pads that are registered with an
11096         element class.  This functionality should eventually be
11097         merged in with GstElement initialization.
11098         * gst/gstutils.h:
11099         * testsuite/trigger/README: part of trigger test code that should
11100         have been checked in a long time ago.
11101
11102 2005-04-23  David Schleef  <ds@schleef.org>
11103
11104         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11105         needed with new versions of libtool (nobody will confirm this),
11106         and hard to carry around.
11107         * gst/autoplug/Makefile.am:
11108         * gst/base/Makefile.am:
11109         * gst/elements/Makefile.am:
11110         * gst/indexers/Makefile.am:
11111         * gst/schedulers/Makefile.am:
11112         * libs/gst/bytestream/Makefile.am:
11113         * libs/gst/control/Makefile.am:
11114         * libs/gst/dataprotocol/Makefile.am:
11115         * libs/gst/getbits/Makefile.am:
11116
11117 2005-04-21  Wim Taymans  <wim@fluendo.com>
11118
11119         * docs/design/draft-push-pull.txt:
11120         * docs/design/part-MT-refcounting.txt:
11121         * docs/design/part-TODO.txt:
11122         * docs/design/part-caps.txt:
11123         * docs/design/part-events.txt:
11124         * docs/design/part-gstbus.txt:
11125         * docs/design/part-gstpipeline.txt:
11126         * docs/design/part-messages.txt:
11127         * docs/design/part-push-pull.txt:
11128         * docs/design/part-query.txt:
11129         Some more docs.
11130
11131 2005-04-21  Wim Taymans  <wim@fluendo.com>
11132
11133         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11134         (gst_message_new), (gst_message_new_error),
11135         (gst_message_new_warning), (gst_message_new_tag),
11136         (gst_message_new_state_changed), (gst_message_new_application),
11137         (gst_message_get_structure):
11138         * gst/gstmessage.h:
11139         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11140         (gst_structure_copy_conditional):
11141         Use parent refcount in GstMessage to ensure GstStructure
11142         consistency.
11143         Cleaned up headers a bit.
11144         
11145
11146 2005-04-20  Wim Taymans  <wim@fluendo.com>
11147
11148         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11149         (gst_basesink_pad_getcaps), (gst_basesink_init),
11150         (gst_basesink_chain_unlocked):
11151         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11152         (gst_type_find_helper):
11153         * gst/elements/gsttypefindelement.c:
11154         (gst_type_find_element_have_type), (gst_type_find_element_init),
11155         (stop_typefinding), (gst_type_find_element_handle_event),
11156         (find_suggest), (gst_type_find_element_chain),
11157         (gst_type_find_element_checkgetrange),
11158         (gst_type_find_element_getrange), (do_typefind),
11159         (gst_type_find_element_activate):
11160         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11161         (gst_buffer_default_free), (gst_buffer_default_copy),
11162         (gst_buffer_set_caps):
11163         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11164         (gst_caps_replace):
11165         * gst/gstmessage.c: (gst_message_new),
11166         (gst_message_new_state_changed):
11167         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11168         (gst_pad_set_checkgetrange_function),
11169         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11170         (gst_pad_set_caps), (gst_pad_check_pull_range),
11171         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11172         * gst/gstpad.h:
11173         * gst/gsttypefind.c: (gst_type_find_register):
11174         Make gst_caps_replace() work like other _replace() functions.
11175         Use _caps_replace() where possible.
11176         Make sure _message_new() initialises its field.
11177         Add gst_static_pad_template_get_caps()
11178
11179
11180 2005-04-18  Andy Wingo  <wingo@pobox.com>
11181
11182         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11183         on the peer, not the pad. I think that was a typo. Pass an extra
11184         arg to see if random access is possible. Activate the pads as
11185         PULL_RANGE if possible.
11186
11187         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11188
11189         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11190         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11191         to PROP_....
11192
11193 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11194
11195         * docs/faq/using.xml:
11196           Add note on gstreamer-properties (#154996).
11197
11198 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11199
11200         * docs/random/bbb/optional-properties:
11201           Some analysis on optional properties.
11202
11203 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11204
11205         * docs/gst/tmpl/gstelementfactory.sgml:
11206         * gst/gstelement.h:
11207         * gst/gstelementfactory.c: (gst_element_factory_init),
11208         (gst_element_factory_cleanup), (gst_element_register),
11209         (__gst_element_factory_add_static_pad_template),
11210         (gst_element_factory_get_static_pad_templates),
11211         (gst_element_factory_can_src_caps),
11212         (gst_element_factory_can_sink_caps):
11213         * gst/registries/Makefile.am:
11214         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11215         (gst_xml_registry_class_init), (gst_xml_registry_init),
11216         (gst_xml_registry_new), (gst_xml_registry_set_property),
11217         (gst_xml_registry_get_property), (get_time), (make_dir),
11218         (gst_xml_registry_get_perms_func),
11219         (plugin_times_older_than_recurse), (plugin_times_older_than),
11220         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11221         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11222         (add_to_char_array), (read_string), (read_uint), (read_enum),
11223         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11224         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11225         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11226         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11227         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11228         (gst_xml_registry_rebuild):
11229         * gst/registries/gstlibxmlregistry.h:
11230         * tools/gst-compprep.c: (main):
11231         * tools/gst-inspect.c: (print_pad_templates_info):
11232         * tools/gst-xmlinspect.c: (print_element_info):
11233           Use libxml2 for registry parsing, use staticpadtemplates in
11234           elementfactories. Makes gst_init() +/- 10x faster.
11235
11236 2005-04-12  Wim Taymans  <wim@fluendo.com>
11237
11238         * gst/base/Makefile.am:
11239         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11240         (gst_basesink_pad_getcaps), (gst_basesink_init),
11241         (gst_basesink_event), (gst_basesink_change_state):
11242         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11243         (gst_basesrc_init), (gst_basesrc_query),
11244         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11245         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11246         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11247         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11248         (gst_basesrc_stop), (gst_basesrc_activate),
11249         (gst_basesrc_change_state):
11250         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11251         (helper_find_suggest), (gst_type_find_helper):
11252         * gst/base/gsttypefindhelper.h:
11253         * gst/elements/Makefile.am:
11254         * gst/elements/gstelements.c:
11255         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11256         (gst_fakesink_get_times), (gst_fakesink_event),
11257         (gst_fakesink_preroll), (gst_fakesink_render):
11258         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11259         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11260         (gst_fakesrc_get_property), (gst_fakesrc_create),
11261         (gst_fakesrc_start), (gst_fakesrc_stop):
11262         * gst/elements/gstfakesrc.h:
11263         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11264         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11265         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11266         (gst_filesrc_create_read), (gst_filesrc_create),
11267         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11268         (gst_filesrc_start):
11269         * gst/elements/gsttypefindelement.c:
11270         (gst_type_find_element_have_type), (gst_type_find_element_init),
11271         (start_typefinding), (stop_typefinding), (push_buffer_store),
11272         (gst_type_find_element_handle_event),
11273         (gst_type_find_element_chain),
11274         (gst_type_find_element_checkgetrange),
11275         (gst_type_find_element_getrange), (do_typefind),
11276         (gst_type_find_element_activate),
11277         (gst_type_find_element_change_state):
11278         * gst/elements/gsttypefindelement.h:
11279         * gst/gstpipeline.c: (pipeline_bus_handler):
11280         Added typefind helper.
11281         Small preroll fix in the base sink.
11282         Disable typefind code in basesrc.
11283         Crude port of typefindelement.
11284         Fakesrc cleanups.
11285
11286
11287 2005-04-11  Wim Taymans  <wim@fluendo.com>
11288
11289         * check/gst/gstbus.c: (gstbus_suite):
11290         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11291         * check/gstcheck.h:
11292           Fix up the timeout so that the test does not fail.
11293
11294 2005-04-06  Wim Taymans  <wim@fluendo.com>
11295
11296         * gst/base/README:
11297         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11298         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11299         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11300         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11301         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11302         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11303         (gst_basesrc_stop), (gst_basesrc_activate),
11304         (gst_basesrc_change_state), (basesrc_find_peek),
11305         (basesrc_find_suggest), (gst_basesrc_type_find):
11306         * gst/base/gstbasesrc.h:
11307         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11308         (gst_filesrc_class_init), (gst_filesrc_init),
11309         (gst_filesrc_finalize), (gst_filesrc_set_location),
11310         (gst_filesrc_set_property), (gst_filesrc_get_property),
11311         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11312         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11313         (gst_filesrc_create_read), (gst_filesrc_create),
11314         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11315         * gst/elements/gstfilesrc.h:
11316         * gst/gstelement.c: (gst_element_get_state_func),
11317         (gst_element_lost_state), (gst_element_pads_activate):
11318         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11319         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11320         (gst_pad_pull_range):
11321         * gst/gstpad.h:
11322         More work on the generic source base class, implement seeking,
11323         query.
11324         Make filesrc extend the base source class.
11325         Added gst_pad_set_checkgetrange_function to GstPad.
11326
11327 2005-04-06  Andy Wingo  <wingo@pobox.com>
11328
11329         * pkgconfig/gstreamer-base.pc.in:
11330         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11331
11332         * pkgconfig/Makefile.am:
11333         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11334
11335 2005-04-04  Wim Taymans  <wim@fluendo.com>
11336
11337         * gst/base/Makefile.am:
11338         * gst/base/README:
11339         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11340         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11341         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11342         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11343         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11344         (gst_basesrc_base_init), (gst_basesrc_class_init),
11345         (gst_basesrc_init), (gst_basesrc_get_formats),
11346         (gst_basesrc_get_query_types), (gst_basesrc_query),
11347         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11348         (gst_basesrc_set_property), (gst_basesrc_get_property),
11349         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11350         (gst_basesrc_loop), (gst_basesrc_activate),
11351         (gst_basesrc_change_state):
11352         * gst/base/gstbasesrc.h:
11353         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11354         (gst_fakesrc_class_init), (gst_fakesrc_init),
11355         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11356         (gst_fakesrc_get_property), (gst_fakesrc_create):
11357         * gst/elements/gstfakesrc.h:
11358         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11359         (gst_filesrc_open_file), (gst_filesrc_loop),
11360         (gst_filesrc_activate), (filesrc_find_peek),
11361         (gst_filesrc_type_find):
11362         Made base source class, make fakesrc extend it.
11363         Add comments to basesink class.
11364         Some filesrc cleanup.
11365
11366 2005-03-31  David Schleef  <ds@schleef.org>
11367
11368         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11369         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11370         expected to link against libgstreamer.
11371         * gst/base/Makefile.am: link against libgstreamer
11372         * gst/elements/Makefile.am: same
11373
11374 2005-03-31  Andy Wingo  <wingo@pobox.com>
11375
11376         * tests/instantiate/Makefile.am:
11377         * tests/instantiate/caps.c: Add test to test speed of caps copy
11378         and free.
11379
11380         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11381         GMemChunk to be fair.
11382
11383         * gst/gsttrashstack.h: Remove warning about using the fallback
11384         trash stack implementation, it's still faster than malloc.
11385
11386 2005-03-30  Andy Wingo  <wingo@pobox.com>
11387
11388         * tests/complexity.c: Add a copyright.
11389
11390 2005-03-31  Wim Taymans  <wim@fluendo.com>
11391
11392         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11393         (gst_base_transform_class_init), (gst_base_transform_init),
11394         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11395         (gst_base_transform_get_property),
11396         (gst_base_transform_sink_activate),
11397         (gst_base_transform_src_activate),
11398         (gst_base_transform_change_state):
11399         * gst/base/gstbasetransform.h:
11400         * gst/elements/gstidentity.c: (gst_identity_class_init),
11401         (gst_identity_event), (gst_identity_check_perfect),
11402         (gst_identity_transform), (gst_identity_start),
11403         (gst_identity_stop):
11404         Added start/stop methods to transform base class so subclasses 
11405         don't need to deal with state changes even.
11406
11407 2005-03-31  Wim Taymans  <wim@fluendo.com>
11408
11409         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11410         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11411         * gst/gstevent.h:
11412         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11413         (gst_pad_pull_range):
11414         Added rate to the discont event to prepare for variable speed
11415         and reverse playback.
11416
11417 2005-03-29  David Schleef  <ds@schleef.org>
11418
11419         * configure.ac:
11420         * testsuite/trigger/Makefile.am:
11421         * testsuite/trigger/trigger.c: A little example program to show
11422         how trigger-based elements can work.
11423
11424 2005-03-29  Wim Taymans  <wim@fluendo.com>
11425
11426         * gst/base/Makefile.am:
11427         * gst/base/README:
11428         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11429         (gst_basesink_base_init), (gst_basesink_class_init),
11430         (gst_basesink_pad_getcaps), (gst_basesink_init),
11431         (gst_basesink_activate), (gst_basesink_change_state):
11432         * gst/base/gstbasesink.h:
11433         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11434         (gst_base_transform_base_init), (gst_base_transform_finalize),
11435         (gst_base_transform_class_init), (gst_base_transform_init),
11436         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11437         (gst_base_transform_event), (gst_base_transform_getrange),
11438         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11439         (gst_base_transform_set_property),
11440         (gst_base_transform_get_property),
11441         (gst_base_transform_sink_activate),
11442         (gst_base_transform_src_activate),
11443         (gst_base_transform_change_state):
11444         * gst/base/gstbasetransform.h:
11445         * gst/elements/gstidentity.c: (gst_identity_finalize),
11446         (gst_identity_class_init), (gst_identity_init),
11447         (gst_identity_event), (gst_identity_check_perfect),
11448         (gst_identity_transform), (gst_identity_set_property),
11449         (gst_identity_get_property), (gst_identity_change_state):
11450         * gst/elements/gstidentity.h:
11451         * gst/gstelement.c: (gst_element_get_state_func),
11452         (gst_element_lost_state), (gst_element_pads_activate):
11453         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11454         (gst_pad_check_pull_range), (gst_pad_pull_range):
11455         * gst/gstpad.h:
11456         Simplify pad activation.
11457         Added function to check if pull_range can be performed.
11458         Error out when pulling inactive or flushing pads.
11459         Removed const from refcounted types as it does not make sense.
11460         Simplify pad templates in basesink
11461         Added base class for simple 1-to-1 transforms.
11462         Make identity subclass the base transform.
11463
11464 2005-03-29  Andy Wingo  <wingo@pobox.com>
11465
11466         * docs/libs/gstreamer-libs-overrides.txt: 
11467         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11468         really don't understand what's going on, but like whatever. I want
11469         green buildbot!
11470
11471         * docs/gst/Makefile.am:
11472         * docs/libs/Makefile.am: Dist the overrides files.
11473
11474         * check/Makefile.am (clean-local): Remove .libs directories.
11475
11476         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11477         elements to EXTRA_DIST, so po/ files are happy.
11478
11479         * po/POTFILES.in: Er, remove it here.
11480
11481         * po/POTFILES: Remove gstspider.c.
11482
11483         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11484
11485         * docs/libs/gstreamer-libs-docs.sgml: 
11486         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11487         bytestream.
11488
11489         * tests/complexity.c (main): Set the length of the preroll queue
11490         on the sinks to prevent a lockup.
11491
11492         * libs/gst/dataprotocol/Makefile.am: 
11493         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11494         the same as the one in check/gst-libs/gdp.c.
11495
11496         * po/, docs/gst/: Commit automatic changes to docs and po files.
11497
11498         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11499         the versioned libgstbase.
11500
11501         * check/Makefile.am: Depend on an unversioned gst-register, seems
11502         to make autoconf happier.
11503
11504         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11505
11506 2005-03-28  Wim Taymans  <wim@fluendo.com>
11507
11508         * configure.ac:
11509         * docs/design/part-gstelement.txt:
11510         * docs/design/part-negotiation.txt:
11511         * docs/design/part-preroll.txt:
11512         * docs/design/part-scheduling.txt:
11513         * docs/design/part-states.txt:
11514         * gst/Makefile.am:
11515         * gst/base/Makefile.am:
11516         * gst/base/README:
11517         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11518         (gst_basesink_base_init), (gst_basesink_class_init),
11519         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11520         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11521         (gst_basesink_set_pad_functions),
11522         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11523         (gst_basesink_set_property), (gst_basesink_get_property),
11524         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11525         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11526         (gst_basesink_preroll_queue_push),
11527         (gst_basesink_preroll_queue_empty),
11528         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11529         (gst_basesink_event), (gst_basesink_get_times),
11530         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11531         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11532         (gst_basesink_loop), (gst_basesink_activate),
11533         (gst_basesink_change_state):
11534         * gst/base/gstbasesink.h:
11535         * gst/elements/Makefile.am:
11536         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11537         (gst_fakesink_class_init), (gst_fakesink_init),
11538         (gst_fakesink_set_property), (gst_fakesink_get_property),
11539         (gst_fakesink_get_times), (gst_fakesink_event),
11540         (gst_fakesink_preroll), (gst_fakesink_render),
11541         (gst_fakesink_change_state):
11542         * gst/elements/gstfakesink.h:
11543         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11544         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11545         * gst/gstelement.c: (gst_element_add_pad),
11546         (gst_element_get_state_func), (gst_element_abort_state),
11547         (gst_element_commit_state), (gst_element_lost_state),
11548         (gst_element_set_state), (gst_element_pads_activate):
11549         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11550         * gst/gstpipeline.c: (gst_pipeline_send_event),
11551         (gst_pipeline_change_state):
11552         Added state change code.
11553         Added/updated docs.
11554         Added sink base class, make fakesink extend the base class.
11555         Small cleanups in GstPipeline.
11556
11557 2005-03-26  David Schleef  <ds@schleef.org>
11558
11559         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11560         is broken and should be implemented in a different library.
11561         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11562         * gst/gst.h: remove gstcpu.h
11563         * gst/gstcpu.c: remove
11564         * gst/gstcpu.h: remove
11565         * gst/Makefile.am.future: Remove this file.  It's ancient.
11566
11567 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11568
11569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11570         (gst_bin_send_event):
11571           Add default event/set_manager handlers. The set_manager handler
11572           takes care that the manager is distributed over kids that were
11573           already in the bin before the manager was set. The event handler
11574           is a utility virtual function that sends the event over all sinks,
11575           so that gst_element_send_event (bin, event); has the expected
11576           behaviour.
11577         * gst/gstpad.c: (gst_pad_event_default):
11578           Re-install default event handling for discontinuities, so that
11579           seeking works without requiring hacks in applications or extra
11580           code in sinks.
11581         * gst/gstpipeline.c: (gst_pipeline_class_init),
11582         (gst_pipeline_send_event):
11583           Half hack, half utility: set a pipeline to PAUSED for seek events,
11584           since that is the only way we can guarantee a/v sync. Means that
11585           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11586           and it "just works".
11587
11588 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11589
11590         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11591           Lock/unlock mismatch.
11592
11593 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11594
11595         * docs/faq/gst-uninstalled:
11596           add gst-plugins-base
11597         * docs/gst/Makefile.am:
11598           don't error out until docs are fixed
11599         * docs/gst/gstreamer.types:
11600           remove thread
11601
11602 2005-03-22  Wim Taymans  <wim@fluendo.com>
11603
11604         * check/Makefile.am:
11605         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11606         * gst/gststructure.c: (gst_structure_set_valist),
11607         (gst_structure_copy_conditional):
11608         Activated more tests.
11609         Added message test.
11610         Added G_TYPE_POINTER to GstStructure.
11611         
11612
11613 2005-03-22  Wim Taymans  <wim@fluendo.com>
11614
11615         * docs/design/part-TODO.txt:
11616         * docs/design/part-events.txt:
11617         * docs/design/part-gstbin.txt:
11618         * docs/design/part-gstbus.txt:
11619         * docs/design/part-gstpipeline.txt:
11620         * docs/design/part-messages.txt:
11621         * gst/gstbus.c:
11622         * gst/gstmessage.c:
11623         Docs updates
11624
11625 2005-03-21  Wim Taymans  <wim@fluendo.com>
11626
11627         * gst/gstbus.c: (gst_bus_post):
11628         Fix copy-and-paste error.
11629
11630 2005-03-21  Wim Taymans  <wim@fluendo.com>
11631
11632         * check/Makefile.am:
11633         * gst/Makefile.am:
11634         * gst/elements/Makefile.am:
11635         * gst/elements/gstelements.c:
11636         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11637         (gst_fakesink_event), (gst_fakesink_chain):
11638         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11639         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11640         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11641         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11642         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11643         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11644         (gst_fakesrc_loop), (gst_fakesrc_activate),
11645         (gst_fakesrc_change_state):
11646         * gst/elements/gstfakesrc.h:
11647         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11648         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11649         (gst_filesrc_open_file), (gst_filesrc_loop),
11650         (gst_filesrc_activate), (gst_filesrc_change_state),
11651         (filesrc_find_peek), (filesrc_find_suggest),
11652         (gst_filesrc_type_find):
11653         * gst/elements/gstidentity.c: (gst_identity_finalize),
11654         (gst_identity_class_init), (gst_identity_init),
11655         (gst_identity_proxy_getcaps), (identity_queue_push),
11656         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11657         (gst_identity_getrange), (gst_identity_chain),
11658         (gst_identity_sink_loop), (gst_identity_src_loop),
11659         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11660         (gst_identity_set_property), (gst_identity_get_property),
11661         (gst_identity_change_state):
11662         * gst/elements/gstidentity.h:
11663         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11664         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11665         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11666         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11667         (gst_tee_sink_activate):
11668         * gst/elements/gsttee.h:
11669         * gst/gst.c: (gst_register_core_elements), (init_post):
11670         * gst/gst.h:
11671         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11672         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11673         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11674         (gst_bin_change_state):
11675         * gst/gstbin.h:
11676         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11677         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11678         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11679         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11680         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11681         (bus_watch_callback), (bus_watch_destroy),
11682         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11683         (poll_timeout), (gst_bus_poll):
11684         * gst/gstbus.h:
11685         * gst/gstcaps.h:
11686         * gst/gstdata.h:
11687         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11688         (gst_element_post_message), (gst_element_message_full),
11689         (gst_element_get_state_func), (gst_element_get_state),
11690         (gst_element_abort_state), (gst_element_commit_state),
11691         (gst_element_lost_state), (gst_element_set_state),
11692         (gst_element_pads_activate), (gst_element_change_state),
11693         (gst_element_dispose), (gst_element_set_manager_func),
11694         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11695         (gst_element_set_manager), (gst_element_get_manager),
11696         (gst_element_set_bus), (gst_element_get_bus),
11697         (gst_element_set_scheduler), (gst_element_get_scheduler):
11698         * gst/gstelement.h:
11699         * gst/gstevent.c: (gst_event_new_segment_seek),
11700         (gst_event_new_flush):
11701         * gst/gstevent.h:
11702         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11703         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11704         (gst_message_new_eos), (gst_message_new_error),
11705         (gst_message_new_warning), (gst_message_new_tag),
11706         (gst_message_new_state_changed), (gst_message_new_application),
11707         (gst_message_get_structure), (gst_message_parse_tag),
11708         (gst_message_parse_state_changed), (gst_message_parse_error),
11709         (gst_message_parse_warning):
11710         * gst/gstmessage.h:
11711         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11712         (gst_real_pad_set_property), (gst_pad_set_active),
11713         (gst_pad_is_active), (gst_pad_set_blocked_async),
11714         (gst_pad_set_blocked), (gst_pad_is_blocked),
11715         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11716         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11717         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11718         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11719         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11720         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11721         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11722         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11723         (gst_pad_set_caps), (gst_pad_configure_sink),
11724         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11725         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11726         (gst_real_pad_dispose), (gst_real_pad_finalize),
11727         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11728         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11729         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11730         * gst/gstpad.h:
11731         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11732         (pipeline_bus_handler), (gst_pipeline_change_state),
11733         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11734         * gst/gstpipeline.h:
11735         * gst/gstprobe.h:
11736         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11737         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11738         (gst_queue_link_src), (gst_queue_bufferalloc),
11739         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11740         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11741         (gst_queue_loop), (gst_queue_handle_src_event),
11742         (gst_queue_handle_src_query), (gst_queue_src_activate),
11743         (gst_queue_change_state):
11744         * gst/gstqueue.h:
11745         * gst/gstscheduler.c: (gst_scheduler_init),
11746         (gst_scheduler_dispose), (gst_scheduler_create_task),
11747         (gst_scheduler_factory_create):
11748         * gst/gstscheduler.h:
11749         * gst/gststructure.c: (gst_structure_get_type),
11750         (gst_structure_copy_conditional):
11751         * gst/gststructure.h:
11752         * gst/gsttaginterface.h:
11753         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11754         (gst_task_init), (gst_task_dispose), (gst_task_create),
11755         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11756         (gst_task_pause):
11757         * gst/gsttask.h:
11758         * gst/gstthread.c:
11759         * gst/gstthread.h:
11760         * gst/gsttypes.h:
11761         * gst/schedulers/Makefile.am:
11762         * gst/schedulers/cothreads_compat.h:
11763         * gst/schedulers/entryscheduler.c:
11764         * gst/schedulers/faircothreads.c:
11765         * gst/schedulers/faircothreads.h:
11766         * gst/schedulers/fairscheduler.c:
11767         * gst/schedulers/gstbasicscheduler.c:
11768         * gst/schedulers/gstoptimalscheduler.c:
11769         * gst/schedulers/gthread-cothreads.h:
11770         * gst/schedulers/threadscheduler.c:
11771         (gst_thread_scheduler_task_get_type),
11772         (gst_thread_scheduler_task_class_init),
11773         (gst_thread_scheduler_task_init),
11774         (gst_thread_scheduler_task_start),
11775         (gst_thread_scheduler_task_stop),
11776         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11777         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11778         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11779         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11780         (plugin_init):
11781         * libs/gst/Makefile.am:
11782         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11783         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11784         (gst_file_pad_parent_set):
11785         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11786         (gst_dp_event_from_packet):
11787         * tests/complexity.c: (main):
11788         * tests/mass_elements.c: (main):
11789         * testsuite/states/locked.c: (message_received), (main):
11790         * testsuite/states/parent.c: (main):
11791         * tools/gst-inspect.c: (print_element_flag_info),
11792         (print_implementation_info), (print_pad_info):
11793         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11794         (main):
11795         * tools/gst-md5sum.c: (event_loop), (main):
11796         * tools/gst-typefind.c: (main):
11797         * tools/gst-xmlinspect.c: (print_element_info):
11798         Next big merge.
11799         Added GstBus for mainloop integration.
11800         Added GstMessage for sending notifications on the bus.
11801         Added GstTask as an abstraction for pipeline entry points.
11802         Removed GstThread.
11803         Removed Schedulers.
11804         Simplified GstQueue for multithreaded core.
11805         Made _link threadsafe, removed old capsnego.
11806         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11807         Added pad blocking functions.
11808         Reworked scheduling functions in GstPad to prepare for
11809         scheduling updates soon.
11810         Moved events out of data stream.
11811         Simplified GstEvent types.
11812         Added return values to push/pull.
11813         Removed clocking from GstElement.
11814         Added prototypes for state change function for next merge.
11815         Removed iterate from bins and state change management.
11816         Fixed some elements, disabled others for now.
11817         Fixed -inspect and -launch.
11818         Added check for GstBus.
11819
11820 2005-03-10  Wim Taymans  <wim@fluendo.com>
11821
11822         * docs/design/part-MT-refcounting.txt:
11823         * docs/design/part-clocks.txt:
11824         * docs/design/part-gstelement.txt:
11825         * docs/design/part-gstobject.txt:
11826         * docs/design/part-standards.txt:
11827         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11828         (gst_bin_remove_func), (gst_bin_remove):
11829         * gst/gstbin.h:
11830         * gst/gstbuffer.c:
11831         * gst/gstcaps.h:
11832         * testsuite/clock/clock1.c: (main):
11833         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11834         (main):
11835         * testsuite/dlopen/loadgst.c: (do_test):
11836         * testsuite/refcounting/bin.c: (add_remove_test1),
11837         (add_remove_test2), (main):
11838         * testsuite/refcounting/element.c: (main):
11839         * testsuite/refcounting/element_pad.c: (main):
11840         * testsuite/refcounting/pad.c: (main):
11841         * tools/gst-launch.c: (sigint_handler_sighandler):
11842         * tools/gst-typefind.c: (main):
11843         Doc updates.
11844         Added doc about clock.
11845         removed gst_bin_iterate_recurse_up(), marked methods
11846         for removal.
11847         Fix more testsuites.
11848
11849 2005-03-09  Wim Taymans  <wim@fluendo.com>
11850
11851         * gst/gstpad.c: (gst_pad_get_direction),
11852         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11853         (gst_pad_collect_valist):
11854         * testsuite/bins/interface.c: (main):
11855         * testsuite/caps/audioscale.c: (test_caps):
11856         * testsuite/caps/caps.c: (test1), (test2), (test3):
11857         * testsuite/caps/deserialize.c: (main):
11858         * testsuite/caps/enumcaps.c: (main):
11859         * testsuite/caps/filtercaps.c: (main):
11860         * testsuite/caps/intersect2.c: (main):
11861         * testsuite/caps/random.c: (main):
11862         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11863         * testsuite/caps/sets.c: (check_caps):
11864         * testsuite/caps/simplify.c: (check_caps), (main):
11865         * testsuite/caps/subtract.c: (check_caps):
11866         Fix _pad_get_direction wrt ghostpads.
11867         Fix caps testsuite.
11868
11869 2005-03-09  Wim Taymans  <wim@fluendo.com>
11870
11871         * check/Makefile.am:
11872         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11873         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11874         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11875         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11876         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11877         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11878         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11879         (bin_element_is_sink), (gst_bin_iterate_sinks),
11880         (gst_bin_iterate_all_by_interface):
11881         * gst/gstbin.h:
11882         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11883         (gst_element_change_state), (gst_element_dispose),
11884         (gst_element_finalize), (gst_element_set_loop_function):
11885         * gst/gstelement.h:
11886         * gst/gstiterator.c: (find_custom_fold_func):
11887         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11888         (gst_pad_collectv), (gst_pad_collect_valist),
11889         (gst_pad_template_new):
11890         * gst/gstpipeline.c: (gst_pipeline_class_init),
11891         (gst_pipeline_dispose), (gst_pipeline_set_property),
11892         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11893         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11894         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11895         * gst/gstutils.h:
11896         * gst/schedulers/entryscheduler.c:
11897         * gst/schedulers/gstbasicscheduler.c:
11898         (gst_basic_scheduler_cothreaded_chain),
11899         (gst_basic_scheduler_chain_add_element):
11900         * testsuite/bins/interface.c: (main):
11901         Added GstBin test.
11902         Added GstSystemClock test.
11903         Implemented clock distribution code in GstBin.
11904         Implemented iterate sinks method for future use.
11905         Rearranged gstelement.h
11906         Fix GstIterator comparison bug.
11907         Moved some code to GstPipeline, mostly clocking related.
11908
11909 2005-03-09  Wim Taymans  <wim@fluendo.com>
11910
11911         * configure.ac:
11912         * gst/gst_private.h:
11913         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11914         (gst_bin_remove_func), (gst_bin_remove),
11915         (gst_bin_get_by_name_recurse_up):
11916         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11917         (gst_clock_id_compare_func), (gst_clock_id_wait),
11918         (gst_clock_id_wait_async), (gst_clock_init),
11919         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11920         * gst/gstelement.h:
11921         * gst/gstinfo.c: (_gst_debug_init):
11922         * gst/gstobject.h:
11923         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11924         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11925         * gst/gstpad.h:
11926         Bump version number, we're now 0.9.0
11927         Add future debugging category.
11928         Fix NULL _unref() in _get_by_name_recurse_up
11929         Rearrange gstpad.h.
11930         Update some docs.
11931
11932 2005-03-08  Wim Taymans  <wim@fluendo.com>
11933
11934         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11935         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11936         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11937         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11938         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11939         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11940         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11941         * gst/elements/gstidentity.c: (gst_identity_class_init):
11942         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11943         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11944         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11945         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11946         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11947         (gst_tee_link):
11948         * gst/gstelement.c: (gst_element_class_init),
11949         (gst_element_base_class_init), (gst_element_init),
11950         (gst_element_get_random_pad), (gst_element_wait_state_change),
11951         (gst_element_change_state), (gst_element_dispose),
11952         (gst_element_finalize), (gst_element_set_loop_function):
11953         * gst/gstelement.h:
11954         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11955         * gst/gstthread.c: (gst_thread_class_init),
11956         (gst_thread_release_children_locks), (gst_thread_change_state):
11957         * gst/schedulers/gstbasicscheduler.c:
11958         (gst_basic_scheduler_loopfunc_wrapper),
11959         (gst_basic_scheduler_chain_wrapper),
11960         (gst_basic_scheduler_src_wrapper),
11961         (gst_basic_scheduler_remove_element):
11962         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11963         Remove threadsafe properties. Fix elements because GObject
11964         complains when installing a property before declaring a
11965         set/get_property handler.
11966         Rearrange gstelement.h file, use STATE macros for state locks.
11967         Free mutexes in the finalize method instead of dispose.
11968
11969 2005-03-08  Wim Taymans  <wim@fluendo.com>
11970
11971         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11972         * gst/gstthread.c: (gst_thread_release_children_locks):
11973         Added parentage check.
11974         Fix build og GstThread again.
11975
11976 2005-03-08  Wim Taymans  <wim@fluendo.com>
11977
11978         * docs/design/part-MT-refcounting.txt:
11979         * docs/design/part-conventions.txt:
11980         * docs/design/part-gstobject.txt:
11981         * docs/design/part-relations.txt:
11982         * docs/design/part-standards.txt:
11983         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11984         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11985         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11986         (gst_bin_iterate_all_by_interface):
11987         * gst/gstbuffer.h:
11988         * gst/gstclock.h:
11989         * gst/gstelement.c: (gst_element_class_init),
11990         (gst_element_change_state), (gst_element_set_loop_function):
11991         * gst/gstelement.h:
11992         * gst/gstiterator.c:
11993         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11994         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11995         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11996         (gst_object_set_parent), (gst_object_unparent),
11997         (gst_object_check_uniqueness):
11998         * gst/gstobject.h:
11999         Docs updates, clean up some headers.
12000
12001 2005-03-07  Wim Taymans  <wim@fluendo.com>
12002
12003         * check/.cvsignore:
12004         * check/Makefile.am:
12005         * check/gst-libs/.cvsignore:
12006         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12007         * check/gst/.cvsignore:
12008         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12009         (START_TEST), (gstbus_suite), (main):
12010         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12011         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12012         (gst_data_suite), (main):
12013         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12014         (add_fold_func), (gstiterator_suite), (main):
12015         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12016         (thread_name_object), (thread_name_object_default),
12017         (gst_object_name_compare), (gst_object_suite), (main):
12018         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12019         (gst_pad_suite), (main):
12020         * check/gstcheck.c: (gst_check_log_message_func),
12021         (gst_check_log_critical_func), (gst_check_init):
12022         * check/gstcheck.h:
12023         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12024         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12025         Added checks.
12026
12027 2005-03-07  Wim Taymans  <wim@fluendo.com>
12028
12029         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12030         (gst_list_iterator_next), (gst_list_iterator_resync),
12031         (gst_list_iterator_free), (gst_iterator_new_list),
12032         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12033         (gst_iterator_free), (gst_iterator_push), (filter_next),
12034         (filter_resync), (filter_uninit), (filter_free),
12035         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12036         (gst_iterator_foreach), (find_custom_fold_func),
12037         (gst_iterator_find_custom):
12038         * gst/gstiterator.h:
12039         Added missing files.
12040
12041 2005-03-07  Wim Taymans  <wim@fluendo.com>
12042
12043         * Makefile.am:
12044         * configure.ac:
12045         * docs/design/part-MT-refcounting.txt:
12046         * docs/design/part-conventions.txt:
12047         * docs/design/part-gstobject.txt:
12048         * docs/design/part-relations.txt:
12049         * examples/mixer/mixer.c: (main):
12050         * examples/thread/thread.c: (eos), (main):
12051         * gst/Makefile.am:
12052         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12053         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12054         (gst_spider_plug_from_srcpad):
12055         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12056         (gst_spider_identity_change_state),
12057         (gst_spider_identity_sink_loop_type_finding):
12058         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12059         * gst/elements/gstidentity.c: (gst_identity_init):
12060         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12061         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12062         * gst/elements/gsttypefindelement.c: (free_entry):
12063         * gst/gst.c:
12064         * gst/gst.h:
12065         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12066         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12067         (gst_bin_set_index), (gst_bin_set_element_sched),
12068         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12069         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12070         (gst_bin_iterate_elements), (iterate_child_recurse),
12071         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12072         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12073         (compare_interface), (gst_bin_get_by_interface),
12074         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12075         * gst/gstbin.h:
12076         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12077         (gst_buffer_default_free), (gst_buffer_default_copy),
12078         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12079         (gst_buffer_create_sub):
12080         * gst/gstbuffer.h:
12081         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12082         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12083         (gst_caps_unref), (gst_static_caps_get),
12084         (gst_caps_remove_and_get_structure), (gst_caps_append),
12085         (gst_caps_append_structure), (gst_caps_remove_structure),
12086         (gst_caps_copy_nth), (gst_caps_set_simple),
12087         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12088         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12089         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12090         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12091         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12092         (gst_caps_structure_figure_out_union),
12093         (gst_caps_switch_structures), (gst_caps_do_simplify),
12094         (gst_caps_replace), (gst_caps_from_string),
12095         (gst_caps_copy_conditional):
12096         * gst/gstcaps.h:
12097         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12098         (_gst_clock_id_free), (gst_clock_id_unref),
12099         (gst_clock_id_compare_func), (gst_clock_id_wait),
12100         (gst_clock_id_wait_async), (gst_clock_class_init),
12101         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12102         (gst_clock_get_time), (gst_clock_set_time_adjust),
12103         (gst_clock_set_property), (gst_clock_get_property):
12104         * gst/gstclock.h:
12105         * gst/gstcompat.h:
12106         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12107         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12108         * gst/gstdata.h:
12109         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12110         (gst_element_requires_clock), (gst_element_provides_clock),
12111         (gst_element_set_clock), (gst_element_clock_wait),
12112         (gst_element_wait), (gst_element_set_time_delay),
12113         (gst_element_is_indexable), (gst_element_add_pad),
12114         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12115         (pad_compare_name), (gst_element_get_static_pad),
12116         (gst_element_request_pad), (gst_element_get_request_pad),
12117         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12118         (gst_element_class_get_pad_template_list),
12119         (gst_element_class_get_pad_template), (gst_element_error_func),
12120         (gst_element_get_random_pad), (gst_element_get_event_masks),
12121         (gst_element_send_event), (gst_element_seek),
12122         (gst_element_get_query_types), (gst_element_query),
12123         (gst_element_get_formats), (gst_element_convert),
12124         (gst_element_is_locked_state), (gst_element_set_locked_state),
12125         (gst_element_sync_state_with_parent), (gst_element_change_state),
12126         (gst_element_finalize), (gst_element_yield),
12127         (gst_element_interrupt), (gst_element_set_scheduler),
12128         (gst_element_get_scheduler), (gst_element_set_loop_function):
12129         * gst/gstelement.h:
12130         * gst/gstevent.h:
12131         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12132         (gst_format_get_by_nick), (gst_format_get_details),
12133         (gst_format_iterate_definitions):
12134         * gst/gstformat.h:
12135         * gst/gstindex.c: (gst_index_gtype_resolver):
12136         * gst/gstinfo.c:
12137         * gst/gstinfo.h:
12138         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12139         (gst_mem_chunk_free):
12140         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12141         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12142         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12143         (gst_object_dispatch_properties_changed),
12144         (gst_object_set_name_default), (gst_object_set_name),
12145         (gst_object_get_name), (gst_object_set_name_prefix),
12146         (gst_object_get_name_prefix), (gst_object_set_parent),
12147         (gst_object_get_parent), (gst_object_unparent),
12148         (gst_object_check_uniqueness), (gst_object_save_thyself),
12149         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12150         (gst_object_set_property), (gst_object_get_property),
12151         (gst_object_get_path_string):
12152         * gst/gstobject.h:
12153         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12154         (gst_real_pad_init), (gst_real_pad_get_property),
12155         (gst_pad_custom_new), (gst_pad_get_direction),
12156         (gst_pad_set_active), (gst_pad_is_active),
12157         (gst_pad_set_event_function), (gst_pad_is_linked),
12158         (gst_pad_link_free), (gst_pad_link_intersect),
12159         (gst_pad_link_fixate), (gst_pad_set_caps),
12160         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12161         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12162         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12163         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12164         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12165         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12166         (gst_pad_realize), (gst_pad_get_allowed_caps),
12167         (gst_real_pad_dispose), (gst_real_pad_finalize),
12168         (gst_pad_collectv), (gst_pad_collect_valist),
12169         (gst_pad_template_dispose), (gst_pad_template_new),
12170         (gst_pad_get_internal_links):
12171         * gst/gstpad.h:
12172         * gst/gstpipeline.c: (gst_pipeline_dispose),
12173         (gst_pipeline_change_state):
12174         * gst/gstpipeline.h:
12175         * gst/gstplugin.c:
12176         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12177         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12178         * gst/gstpluginfeature.h:
12179         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12180         * gst/gstquery.c: (_gst_query_type_initialize),
12181         (gst_query_type_register), (gst_query_type_get_by_nick),
12182         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12183         * gst/gstquery.h:
12184         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12185         * gst/gstscheduler.c: (gst_scheduler_add_element),
12186         (gst_scheduler_factory_create):
12187         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12188         (gst_structure_free), (gst_structure_set_name),
12189         (gst_structure_id_set_value), (gst_structure_set_value),
12190         (gst_structure_set_valist), (gst_structure_remove_field),
12191         (gst_structure_remove_fields),
12192         (gst_structure_remove_fields_valist),
12193         (gst_structure_remove_all_fields), (gst_structure_foreach),
12194         (gst_structure_map_in_place),
12195         (gst_caps_structure_fixate_field_nearest_int),
12196         (gst_caps_structure_fixate_field_nearest_double):
12197         * gst/gststructure.h:
12198         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12199         (gst_system_clock_init), (gst_system_clock_dispose),
12200         (gst_system_clock_async_thread),
12201         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12202         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12203         * gst/gstsystemclock.h:
12204         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12205         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12206         * gst/gsttaginterface.c:
12207         * gst/gstthread.c: (gst_thread_dispose),
12208         (gst_thread_release_children_locks), (gst_thread_change_state),
12209         (gst_thread_main_loop):
12210         * gst/gsttrashstack.h:
12211         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12212         * gst/gsttypes.h:
12213         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12214         (gst_element_request_pad), (gst_element_get_pad_from_template),
12215         (gst_element_request_compatible_pad),
12216         (gst_element_get_compatible_pad_filtered),
12217         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12218         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12219         (gst_element_link_many), (gst_element_link),
12220         (gst_element_link_pads), (gst_element_unlink_pads),
12221         (gst_element_unlink_many), (gst_element_unlink),
12222         (gst_pad_can_link_filtered), (gst_pad_can_link),
12223         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12224         (gst_object_default_error), (gst_bin_add_many),
12225         (gst_bin_remove_many), (gst_element_populate_std_props),
12226         (gst_element_class_install_std_props), (gst_buffer_merge),
12227         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12228         (link_fold_func), (gst_pad_proxy_setcaps):
12229         * gst/gstutils.h:
12230         * gst/gstvalue.c: (gst_value_deserialize_string):
12231         * gst/parse/grammar.y:
12232         * gst/schedulers/gstbasicscheduler.c:
12233         (gst_basic_scheduler_cothreaded_chain),
12234         (gst_basic_scheduler_chain_recursive_add),
12235         (gst_basic_scheduler_pad_link):
12236         * gst/schedulers/gstoptimalscheduler.c:
12237         (get_group_schedule_function),
12238         (gst_opt_scheduler_state_transition),
12239         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12240         * libs/gst/bytestream/bytestream.c:
12241         * libs/gst/dataprotocol/dataprotocol.c:
12242         (gst_dp_header_from_buffer):
12243         * po/nb.po:
12244         * po/ru.po:
12245         * tests/threadstate/threadstate2.c: (eos):
12246         * tools/gst-compprep.c: (main):
12247         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12248         (print_pad_info), (print_children_info):
12249         * tools/gst-launch.c: (idle_func), (main):
12250         * tools/gst-md5sum.c: (idle_func), (main):
12251         * tools/gst-xmlinspect.c: (print_element_info):
12252         First THREADED backport attempt, focusing on adding locks and
12253         making sure the API is threadsafe. Needs more work. More docs
12254         follow this week.
12255
12256 2005-02-24  Andy Wingo  <wingo@pobox.com>
12257
12258         * tests/bench-complexity.scm:
12259         * tests/complexity.gnuplot: New files, good for running complexity
12260         benchmarks.
12261
12262         * tests/Makefile.am:
12263         * tests/complexity.c: New test, sets up N elements, at each level
12264         teeing into M streams per element. Eeeenteresting.
12265
12266         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12267         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12268         running bench-mass_elements.scm.
12269
12270         * tests/bench-mass_elements.scm: New script, runs mass_elements
12271         for various numbers of identities, outputting the results to a
12272         file. Requires guile 1.6. Just for testing.
12273
12274 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12275
12276         * gst/schedulers/fairscheduler.c:
12277           compile with debug disabled
12278
12279 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12280
12281         * configure.ac:
12282           hunting season on 0.9 is now OPEN