f304c909b0af5e9ec6bb8a8b494a57f219736a73
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/gstmessage.c:
4           remove include of gstmemchunk.h
5
6 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         * gst/gstclock.c: (_gst_clock_id_free):
9           Commit from the Political Party For More Atomic CVS Commits,
10           so that people don't waste too much of their day fishing
11           out obvious leaks out of massive commits.
12           Oh, and fix a pretty damn obvious leak in the memchunk
13           removal code.
14
15 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16
17         * check/Makefile.am:
18         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19           plug mem-leak, re-add to valgrindable tests
20
21 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22
23         * gst/gstplugin.h:
24           unbreak the build for those who have chronic arthritis
25           and typing "make check" is just too taxing on the hands
26
27 2005-09-20  Andy Wingo  <wingo@pobox.com>
28
29         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
30         really want it out, you should fix plugins at the same time.
31
32 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
33
34         * configure.ac:
35         * docs/gst/gstreamer-sections.txt:
36         * gst/gstobject.c:
37           added missing symbols to api docs
38           disable ref-count hack if we have glib >= 2.8
39
40 2005-09-19  David Schleef  <ds@schleef.org>
41
42         * docs/gst/Makefile.am: Ignore a few more internal headers
43         * docs/gst/gstreamer-docs.sgml: Remove old sections
44         * docs/gst/gstreamer-sections.txt: Remove old sections
45         * docs/gst/tmpl/gstobject.sgml: update
46         * docs/gst/tmpl/gstplugin.sgml: update
47         * docs/gst/tmpl/gstpluginfeature.sgml: update
48         * docs/random/ds/0.9-suggested-changes: update.
49         * gst/Makefile.am: remove memchunk and trashstack, since they're
50           not used.
51         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
52         * gst/gst.h: don't include some headers
53         * gst/gstchildproxy.c: add gstmarshal.h
54         * gst/gstclock.c: Don't use memchunks
55         * gst/gstminiobject.c: Add some docs
56         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
57         * gst/gstobject.h: same
58         * gst/gstplugin.c: include gstmacros.h
59         * gst/gstplugin.h: don't include gstmacros.h, since it's private
60         * gst/gstquery.c: don't use memchunks
61         * gst/gstregistry.c: rename gst_registry_deinit()
62         * gst/gstregistry.h: same
63
64 2005-09-19  David Schleef  <ds@schleef.org>
65
66         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
67         * docs/libs/gstreamer-libs-sections.txt:
68         * docs/libs/tmpl/gstgetbits.sgml:
69         * docs/libs/tmpl/gstputbits.sgml:
70
71 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
72
73         * win32/gstenumtypes.c:
74         * win32/gstenumtypes.h:
75           Update.
76
77 2005-09-19  Wim Taymans  <wim@fluendo.com>
78
79         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
80         Automatically PAUSE and RESUME a pipeline when a flushing seek
81         is performed.
82
83 2005-09-19  Andy Wingo  <wingo@pobox.com>
84
85         * gst/gstregistry.h: Spacing fixen.
86
87 2005-09-19  Wim Taymans  <wim@fluendo.com>
88
89         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
90         Handle state change failure more correctly.
91
92 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
93
94         * check/Makefile.am:
95         * check/pipelines/cleanup.c: (run_pipeline):
96         * check/pipelines/simple_launch_lines.c: (run_pipeline),
97         (GST_START_TEST):
98           enable cleanup again after fixing the leak
99         * docs/README:
100           some more info on docs
101
102 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
103
104         * check/Makefile.am:
105           re-enable tests now that leaks are plugged
106         * check/gst/gst.c:
107         * check/gst/gstbin.c:
108         * check/gst/gstpipeline.c:
109           add some more tests while fixing leaks
110         * common/check.mak:
111           make sure binaries are uptodate when valgrinding/gdbing
112         * gst/gst.c:
113         * gst/gstelementfactory.c:
114           remove a ref too many, and add a FIXME for when we get
115           round to disposing of classes
116         * gst/gstplugin.c:
117           fix the refcounting when loading a plugin from a file and
118           the code pretends that the pointer is the same even though
119           of course it can change
120         * gst/gstpluginfeature.c:
121           unref plugins marked cached (a bit confusing as a name)
122           as the docs state should be done
123           various doc additions to explain refcounting
124         * gst/gstregistry.c:
125         * gst/gstregistryxml.c:
126           debugging
127
128 2005-09-19  Wim Taymans  <wim@fluendo.com>
129
130         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
131         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
132         (send_messages), (GST_START_TEST), (gstbus_suite):
133         * check/gst/gstpipeline.c: (GST_START_TEST):
134         * check/pipelines/cleanup.c: (run_pipeline):
135         * check/pipelines/simple_launch_lines.c: (run_pipeline),
136         (GST_START_TEST):
137         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
138         (gst_bus_source_check), (gst_bus_source_dispatch),
139         (gst_bus_create_watch), (gst_bus_add_watch_full),
140         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
141         * gst/gstbus.h:
142         * tools/gst-launch.c: (event_loop):
143         * tools/gst-md5sum.c: (event_loop):
144         GstBusHandler -> GstBusFunc, return value has the same meaning as
145         any other GSource (FALSE == remove source).
146         _add_watch() and _add_watch_full() now take a MessageType mask to
147         only handle specific types of messages.
148         _poll() returns the GstMessage instead of the message type to avoid
149         race conditions.
150         _have_pending() takes a MessageType mask now too.
151         Added testsuite for multiple bus watches.
152         Fix testsuites and applications for new bus API.
153
154 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
155
156         * check/Makefile.am:
157           mark a bunch of the tests as to fix until we fix them
158
159 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
160
161         * common/check.mak:
162           use GST_PLUGIN settings for valgrind tests as well, so we're
163           valgrinding the correct thing
164         * gst/gst.c: (init_post):
165           plug another leak
166
167 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
168
169         * gst/gst.c: (init_post), (gst_deinit):
170         * gst/gstelementfactory.c: (gst_element_factory_class_init),
171         (gst_element_factory_finalize), (gst_element_factory_cleanup):
172         * gst/gstindex.c: (gst_index_factory_class_init),
173         (gst_index_factory_finalize):
174         * gst/gstobject.c: (gst_object_dispose):
175         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
176         (gst_plugin_load_file), (gst_plugin_desc_free):
177         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
178         (gst_plugin_feature_finalize):
179         * gst/gstregistry.c: (gst_registry_class_init),
180         (gst_registry_init), (gst_registry_finalize),
181         (gst_registry_get_default), (gst_registry_deinit):
182         * gst/gstregistry.h:
183         * gst/gstregistryxml.c: (load_feature), (load_plugin):
184           various cleanups and memleak plugging.  make valgrind is happy now.
185
186 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
187
188         * common/check.mak:
189           add a check-valgrind target
190
191 2005-09-18  David Schleef  <ds@schleef.org>
192
193         * tools/gst-inspect.c: Revert the GOption code.
194
195 2005-09-17  David Schleef  <ds@schleef.org>
196
197         * check/Makefile.am: Fix environment variables.
198         * check/gst/gstplugin.c: Fix for API changes.
199         * tools/gst-inspect.c: Fix for API changes.
200         * tools/gst-xmlinspect.c: Fix for API changes.
201         * gst/gstelementfactory.c:
202         * gst/gstplugin.c:
203         * gst/gstplugin.h:
204         * gst/gstpluginfeature.c:
205         * gst/gstpluginfeature.h:
206         * gst/gstregistry.c:
207         * gst/gstregistry.h:
208         * gst/gstregistryxml.c:
209         * gst/gsttypefind.c:
210         * gst/gsttypefindfactory.c:
211         * gst/indexers/gstfileindex.c:
212         * gst/indexers/gstmemindex.c:
213         * gst/schedulers/Makefile.am:
214           Change registry to keep track of both plugins and features,
215           removing the feature tracking from plugins themselves.
216
217 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
218
219         * check/Makefile.am:
220         * tools/gst-register.1.in:
221           remove gst-register
222
223 2005-09-15  David Schleef  <ds@schleef.org>
224
225         * check/gst/gstplugin.c:
226         * gst/gstelementfactory.c:
227         * gst/gstplugin.c:
228         * gst/gstpluginfeature.c:
229         * gst/gstregistry.c:
230           Getting tired of debugging.  Disabled all the unreffing of
231           plugins and features, which fixes the segfaults, but of
232           course leaks like crazy.  At least playbin works.
233
234 2005-09-15  David Schleef  <ds@schleef.org>
235
236         * check/gst/gstplugin.c: (register_check_elements),
237         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
238         More testing
239         * gst/elements/gsttypefindelement.c: Fix refcounting.
240         * gst/gsttypefind.c:
241         * gst/gsttypefindfactory.c:
242         * gst/gsttypefindfactory.h:
243
244 2005-09-15  David Schleef  <ds@schleef.org>
245
246         * gst/gstindex.c: get refcounting correct.
247         * gst/gstregistry.c: Handle the case where a feature/plugin is
248           not found.
249
250 2005-09-15  David Schleef  <ds@schleef.org>
251
252         * check/Makefile.am:
253         * check/gst/gstplugin.c: Add test
254         * gst/gstplugin.c: Fix problems noticed by testsuite
255         * gst/gstplugin.h:
256         * gst/gstregistry.c: 
257         * gst/gstregistry.h:
258
259 2005-09-15  David Schleef  <ds@schleef.org>
260
261         * gst/gstplugin.c: Implement semi-decent recounting and locking
262           in plugins and plugin features.
263         * gst/gstplugin.h:
264         * gst/gstpluginfeature.c:
265         * gst/gstpluginfeature.h:
266         * gst/gstregistry.c:
267
268 2005-09-15  Michael Smith <msmith@fluendo.com>
269
270         * gst/gstregistry.c: (gst_registry_get_feature_list):
271           Implement this. Makes oggdemux work; decodebin still broken.
272
273 2005-09-14  David Schleef  <ds@schleef.org>
274
275         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
276           #316076)
277         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
278         * gst/check/Makefile.am:
279         * libs/gst/controller/Makefile.am:
280         * libs/gst/dataprotocol/Makefile.am:
281
282 2005-09-14  David Schleef  <ds@schleef.org>
283
284         * configure.ac: Remove getbits library.  Nothing uses it, and
285           it should be in something like liboil if someone did want
286           to use it.
287         * libs/gst/Makefile.am:
288         * libs/gst/getbits/Makefile.am:
289         * libs/gst/getbits/gbtest.c:
290         * libs/gst/getbits/getbits.c:
291         * libs/gst/getbits/getbits.h:
292         * libs/gst/getbits/gstgetbits_generic.c:
293         * libs/gst/getbits/gstgetbits_i386.s:
294         * libs/gst/getbits/gstgetbits_inl.h:
295
296 2005-09-14  David Schleef  <ds@schleef.org>
297
298         * gst/Makefile.am: Dist glib-compat.h
299
300 2005-09-14  David Schleef  <ds@schleef.org>
301
302         * configure.ac: Remove gst/registries, since it's no longer used.
303         * gst/registries/Makefile.am:
304         * gst/registries/gstlibxmlregistry.c:
305         * gst/registries/gstlibxmlregistry.h:
306         * gst/registries/gstxmlregistry.c:
307         * gst/registries/gstxmlregistry.h:
308         * gst/registries/registrytest.c:
309
310 2005-09-14  David Schleef  <ds@schleef.org>
311
312         * gst/glib-compat.h:
313         * gst/gstregistryxml.c:
314           Convergence is near.  Seriously.
315
316 2005-09-14  David Schleef  <ds@schleef.org>
317
318         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
319         * gst/glib-compat.h:
320           Attempt #4 to appease the buildbots.
321
322 2005-09-14  David Schleef  <ds@schleef.org>
323
324         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
325           Attempt #3.
326
327 2005-09-14  David Schleef  <ds@schleef.org>
328
329         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
330         Attempt #2.
331
332 2005-09-14  David Schleef  <ds@schleef.org>
333
334         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
335           the new functions.
336
337 2005-09-14  David Schleef  <ds@schleef.org>
338
339         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
340         * gst/glib-compat.h: Add some functions that are in newer versions
341           of glib than we care to require.
342         * gst/gstregistryxml.c: Use them.
343
344 2005-09-14  David Schleef  <ds@schleef.org>
345
346         * po/POTFILES.in: remove gst-register.c
347
348 2005-09-14  David Schleef  <ds@schleef.org>
349
350         * docs/gst/gstreamer-docs.sgml:
351         * docs/gst/gstreamer-sections.txt:
352         * docs/gst/gstreamer.types:
353         * docs/gst/tmpl/gstelement.sgml:
354         * docs/gst/tmpl/gstplugin.sgml:
355         * docs/gst/tmpl/gstpluginfeature.sgml:
356           Documentation updates for registry changes.
357
358 2005-09-14  David Schleef  <ds@schleef.org>
359
360         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
361           because we don't require glib-2.8.
362
363 2005-09-14  David Schleef  <ds@schleef.org>
364
365         * gst/gstregistryxml.c: Added.  Essentially moved out of the
366           registries directory.
367
368 2005-09-14  David Schleef  <ds@schleef.org>
369
370         * check/Makefile.am:
371         * check/generic/states.c:
372         * gst/Makefile.am:
373         * gst/gst.c:
374         * gst/gst.h:
375         * gst/gst_private.h:
376         * gst/gstelementfactory.c:
377         * gst/gstindex.c:
378         * gst/gstinfo.c:
379         * gst/gstplugin.c:
380         * gst/gstplugin.h:
381         * gst/gstpluginfeature.c:
382         * gst/gstpluginfeature.h:
383         * gst/gstregistry.c:
384         * gst/gstregistry.h:
385         * gst/gstregistrypool.c: remove
386         * gst/gstregistrypool.h: remove
387         * gst/gsttypefind.c:
388         * gst/gsttypefindfactory.c:
389         * gst/gsturi.c:
390         * tools/Makefile.am:
391         * tools/gst-compprep.c:
392         * tools/gst-inspect.c:
393         * tools/gst-register.c: remove
394         * tools/gst-xmlinspect.c:
395           Registry rewrite.  Changes registry from being a file created
396           by a tool into a simple cache file created automatically by 
397           libgstreamer.  Removed gst-register (because it's no longer
398           needed).  Remove registry pools, because we only have one
399           registry implementation (XML).  Fix up other subsystems as
400           necessary.
401
402 2005-09-13  Michael Smith <msmith@fluendo.com>
403
404         * gst/gstconfig.h.in:
405           Don't Use windows linking attributes for MinGW. Fixes #316157
406
407 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
408
409         * gst/gstutils.c: (set_state_async_thread_func),
410         (gst_element_set_state_async):
411           Apparently people think it's better if this function doesn't
412           try to set the state to whatever state was asked for on the first
413           call to this function for any object.  Seriously.
414
415 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
416
417         * check/gst/gstpipeline.c: (GST_START_TEST):
418         * docs/gst/gstreamer-sections.txt:
419         * gst/gstutils.c: (set_state_async_thread_func),
420         (gst_element_set_state_async):
421         * gst/gstutils.h:
422           add a "gst_element_set_state_async" method that
423           sets the state and starts a thread to make sure the state
424           change completes as best as it can
425
426 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
427
428         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
429           codify design+behaviour in testsuite after discussion
430
431 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
432
433         * docs/gst/tmpl/gstelement.sgml:
434         * docs/manual/appendix-quotes.xml:
435           add a quote
436         * gst/gstelement.c: (gst_element_set_state):
437           add some debug
438
439 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
440
441         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
442         (gst_base_transform_prepare_output_buf),
443         (gst_base_transform_handle_buffer):
444         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
445         (gst_capsfilter_prepare_buf):
446           Remove the requirement for sub-classes to call the parent
447           implementation of prepare_output_buffer with a wrapper function.
448           
449         * gst/gsttaglist.h:
450         * gst/gsttagsetter.h:
451           Fix #define wrapper
452
453 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
454
455         * docs/gst/gstreamer-sections.txt:
456           more doc cleanups
457
458 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
459
460         * docs/gst/gstreamer-sections.txt:
461         * docs/gst/tmpl/gstelement.sgml:
462         * docs/gst/tmpl/gstplugin.sgml:
463         * gst/gstminiobject.c:
464         * gst/gstvalue.h:
465           docs now stop throwing warnings
466
467 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
468
469         * docs/gst/gstreamer-sections.txt:
470         * docs/gst/gstreamer.types:
471         * docs/gst/tmpl/gstpad.sgml:
472         * docs/gst/tmpl/gsttypes.sgml:
473         * gst/base/gstadapter.h:
474         * gst/base/gstbasesink.h:
475         * gst/base/gstbasesrc.h:
476         * gst/gstbin.h:
477         * gst/gstbuffer.h:
478         * gst/gstbus.h:
479         * gst/gstcaps.h:
480         * gst/gstclock.h:
481         * gst/gstelement.h:
482         * gst/gstevent.h:
483         * gst/gstmessage.h:
484         * gst/gstpad.h:
485         * gst/gststructure.c:
486         * gst/registries/gstlibxmlregistry.h:
487           various documentation fixes
488
489 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
490
491         * docs/gst/gstreamer-sections.txt:
492         * docs/gst/tmpl/gstvalue.sgml:
493           rearrange gstvalue section
494         * gst/gstutils.c: (gst_element_state_get_name):
495           NONE -> VOID
496         * gst/gstvalue.c: (_gst_value_initialize):
497         * gst/gstvalue.h:
498           doc updates
499
500 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
501
502         * check/gst-libs/controller.c:
503           Header include fix.
504         * gst/base/gstbasetransform.c:
505         (gst_base_transform_default_prepare_buf),
506         (gst_base_transform_handle_buffer):
507         * gst/base/gstbasetransform.h:
508           Some more basetransform changes and fixes to enable sub-classes
509           that modify buffer metadata only.
510         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
511         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
512         (gst_capsfilter_prepare_buf):
513           If the output pad has fixed allowed caps and input buffers 
514           don't have any, set the fixed caps on outgoing buffers.
515
516 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
517         * check/elements/identity.c: (GST_START_TEST):
518           Make the error a little clearer when the test fails because
519           identity made a copy of the buffer.
520         * docs/gst/gstreamer-sections.txt:
521           New symbols in gstbasetransform.h
522         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
523         (gst_base_transform_init), (gst_base_transform_transform_size),
524         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
525         (gst_base_transform_default_prepare_buf),
526         (gst_base_transform_get_unit_size),
527         (gst_base_transform_buffer_alloc),
528         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
529         (gst_base_transform_change_state),
530         (gst_base_transform_set_passthrough),
531         (gst_base_transform_set_in_place),
532         (gst_base_transform_is_in_place):
533         * gst/base/gstbasetransform.h:
534           Change BaseTransform to separate in_place operate from same_caps
535           output. in_place implies that the element can perform the transform
536           on incoming buffers in-place, even if the caps on the output are
537           different.
538           Sub-class elements can now implement special buffer allocation
539           methods for outgoing buffers if they wish to.
540           Big documentation addition.
541         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
542         * gst/elements/gstelements.c:
543           Changes for basetransform modifications.
544         * gst/elements/Makefile.am:
545         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
546           Compile fix. Extra debug output.
547
548 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
549
550         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
551         (gst_pad_suite):
552           add tests for valid pad naming
553         * gst/check/gstcheck.c: (gst_check_log_message_func),
554         (gst_check_log_critical_func):
555           add ASSERT_WARNING
556           remove printing of code, it is fragile when the code contains
557           % and the line number is enough info
558         * gst/check/gstcheck.h:
559         * gst/gstpad.c: (gst_pad_template_new):
560           fix memleaks
561
562 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
563
564         * configure.ac:
565           say what CHECK flags we use
566         * docs/libs/gstreamer-libs.types:
567         * libs/gst/controller/Makefile.am:
568         * libs/gst/controller/gst-controller.c:
569         * libs/gst/controller/gst-controller.h:
570         * libs/gst/controller/gst-helper.c:
571         * libs/gst/controller/gst-interpolation.c:
572         * libs/gst/controller/gstcontroller.c:
573         * libs/gst/controller/gsthelper.c:
574         * libs/gst/controller/gstinterpolation.c:
575         * tools/gst-inspect.c: (print_plugin_info):
576           we don't use dashes in header names
577
578 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
579
580         * check/Makefile.am:
581         * check/gst/.cvsignore:
582         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
583         (gst_pipeline_suite), (main):
584           adding a test for pipelines and state changes
585         * gst/gstutils.c: (get_state_func):
586           add some debugging
587         * gstreamer.spec.in:
588           fix up spec file
589
590 2005-09-08  Michael Smith <msmith@fluendo.com>
591
592         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
593         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
594         (gst_file_src_is_seekable), (gst_file_src_get_size),
595         (gst_file_src_start):
596         * gst/elements/gstfilesrc.h:
597           Various fixes for unseekable, unmmapable, and non-normal files, so
598           that fallback to read() rather than mmap() works.
599         * gst/gstevent.c: (gst_event_new_newsegment):
600           Allow newsegment events with segment_start == segment_end, as will
601           correctly happen if you use filesrc on a zero-size file, for
602           example.
603
604 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
605
606         * gst/gstplugin.c: (gst_plugin_load_file):
607           Call g_module_close when we don't load the module
608
609         * gst/registries/gstlibxmlregistry.c:
610         (gst_xml_registry_get_property):
611           Port leak fix from 0.8
612
613 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
614
615         * docs/gst/gstreamer-docs.sgml:
616         * docs/gst/tmpl/.cvsignore:
617         * docs/gst/tmpl/gsttrace.sgml:
618         * docs/gst/tmpl/gsttrashstack.sgml:
619         * gst/Makefile.am:
620         * gst/gst.h:
621         * gst/gstelement.h:
622         * gst/gstevent.h:
623         * gst/gstmessage.c:
624         * gst/gstmessage.h:
625         * gst/gsttag.c:
626         * gst/gsttag.h:
627         * gst/gsttaginterface.c:
628         * gst/gsttaginterface.h:
629         * gst/gsttaglist.c:
630         * gst/gsttaglist.h:
631         * gst/gsttagsetter.c:
632         * gst/gsttagsetter.h:
633         * gst/gsttrace.c:
634         * gst/gsttrace.h:
635         * gst/gsttrashstack.c:
636           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
637           inlined docs for gsttrace, gsttrashstack
638
639 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
640
641         * gst/Makefile.am:
642         * gst/elements/gstbufferstore.h:
643         * gst/elements/gsttypefindelement.c:
644         * gst/elements/gsttypefindelement.h:
645         * gst/gst.h:
646         * gst/gsttypefind.c:
647         * gst/gsttypefind.h:
648         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
649         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
650         (gst_type_find_factory_dispose),
651         (gst_type_find_factory_unload_thyself),
652         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
653         (gst_type_find_factory_get_caps),
654         (gst_type_find_factory_get_extensions),
655         (gst_type_find_factory_call_function):
656         * gst/gsttypefindfactory.h:
657         * gst/registries/gstlibxmlregistry.c:
658         * gst/registries/gstxmlregistry.c:
659           splitted gsttypefind into gsttypefind, gsttypefindfactory
660
661 2005-09-07  Andy Wingo  <wingo@pobox.com>
662
663         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
664         condition whereby the pad's task function is entered before the
665         pad_mode variable was set.
666
667 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
668
669         * gst/gstpad.c: (gst_pad_alloc_buffer):
670           Catch misbehaving pad_alloc functions that don't
671           set up caps and do it for them.
672
673 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
674
675         * check/pipelines/simple_launch_lines.c: (run_pipeline):
676           test for pipe!=NULL
677         * docs/gst/tmpl/.cvsignore:
678         * docs/gst/tmpl/gstmemchunk.sgml:
679         * docs/gst/tmpl/gstparse.sgml:
680         * docs/gst/tmpl/gsttaglist.sgml:
681         * docs/gst/tmpl/gsttagsetter.sgml:
682         * docs/gst/tmpl/gsttypefind.sgml:
683         * docs/gst/tmpl/gsttypefindfactory.sgml:
684         * gst/gstmemchunk.c:
685         * gst/gstparse.c:
686         * gst/gsttag.c:
687         * gst/gsttaginterface.c:
688         * gst/gsttypefind.c:
689         * gst/gsttypefind.h:
690           inlined more docs
691
692 === release 0.9.2 ===
693
694 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
695
696         * NEWS:
697         * RELEASE:
698         * configure.ac:
699           releasing 0.9.2, "South"
700
701 2005-09-05  Andy Wingo  <wingo@pobox.com>
702
703         * gst/registries/gstxmlregistry.h:
704         * gst/registries/gstxmlregistry.c: Um... resurrect...
705         
706         * gst/registries/gstxmlregistry.h:
707         * gst/registries/gstxmlregistry.c: and update to newer API.
708         Incidentally they should be a bit faster now that they don't have
709         to parse the caps.
710         
711 2005-09-05  Andy Wingo  <wingo@pobox.com>
712
713         * gst/registries/gstxmlregistry.h:
714         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
715         replaced by the libxml registry a while back
716
717 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
718
719         * docs/gst/tmpl/gstplugin.sgml:
720         * gst/elements/gstelements.c:
721         * gst/gst.c:
722         * gst/gstplugin.c: (gst_plugin_register_func),
723         (gst_plugin_desc_copy), (gst_plugin_desc_free),
724         (gst_plugin_get_source):
725         * gst/gstplugin.h:
726         * gst/registries/gstlibxmlregistry.c: (load_plugin),
727         (gst_xml_registry_save_plugin):
728         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
729         (gst_xml_registry_save_plugin):
730         * tools/gst-inspect.c: (print_plugin_info):
731           add a "source" plugin description field, to represent the source
732           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
733           will set it to PACKAGE, which is automake's idea of the name of
734           the source project.
735
736 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
737
738         * Makefile.am:
739         * autogen.sh:
740         * configure.ac:
741         * docs/Makefile.am:
742         * docs/faq/Makefile.am:
743         * docs/gst/tmpl/gstelement.sgml:
744         * docs/gst/tmpl/gsttypes.sgml:
745         * docs/htmlinstall.mak:
746         * docs/manual/Makefile.am:
747         * docs/pwg/Makefile.am:
748           reorganize doc build a little
749           split out docbook and gtk-doc stuff
750           have two separate --enable's and enable them through autogen
751           but disable by default in configure (to be similar to other
752           projects)
753         * gstreamer.spec.in:
754           clean up docs install
755         * po/af.po:
756         * po/az.po:
757         * po/ca.po:
758         * po/cs.po:
759         * po/de.po:
760         * po/en_GB.po:
761         * po/fr.po:
762         * po/it.po:
763         * po/nb.po:
764         * po/nl.po:
765         * po/ru.po:
766         * po/sq.po:
767         * po/sr.po:
768         * po/sv.po:
769         * po/tr.po:
770         * po/uk.po:
771         * po/vi.po:
772           translation updates
773
774 2005-09-03  Tim-Philipp M??ller  <tim at centricular dot net>
775
776         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
777           Add comment.
778           
779         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
780         (gst_fake_sink_change_state):
781           Make state change function thread-safe.
782           
783         * gst/gstpad.c: (gst_pad_alloc_buffer):
784           Set offset on generic buffer allocated by fallback.
785
786 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
787
788         * docs/gst/gstreamer-sections.txt:
789         * docs/gst/tmpl/gstelement.sgml:
790         * gst/gstpad.c:
791         * libs/gst/controller/gst-controller.c:
792         (gst_controlled_property_set_interpolation_mode),
793         (gst_controlled_property_new),
794         (gst_controller_find_controlled_property):
795          run the wingo-magic script against the docs
796
797 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
798
799         * docs/gst/gstreamer-docs.sgml:
800         * docs/gst/gstreamer-sections.txt:
801         * docs/gst/tmpl/.cvsignore:
802         * docs/gst/tmpl/gstelementdetails.sgml:
803         * docs/gst/tmpl/gstelementfactory.sgml:
804         * gst/gst.c:
805         * gst/gstbus.c:
806         * gst/gstelementfactory.c:
807         * gst/gstelementfactory.h:
808           merged elementdetails docs into elementfactory docs
809           inlined both
810
811 2005-09-02  Andy Wingo  <wingo@pobox.com>
812
813         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
814         consider this enum an enum and not a flags.
815
816 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
817
818         * docs/gst/gstreamer-docs.sgml:
819         * docs/gst/tmpl/.cvsignore:
820         * docs/gst/tmpl/gstghostpad.sgml:
821         * docs/gst/tmpl/gstiterator.sgml:
822         * docs/gst/tmpl/gstmacros.sgml:
823         * docs/gst/tmpl/gstrealpad.sgml:
824         * docs/gst/tmpl/gstregistry.sgml:
825         * docs/gst/tmpl/gstregistrypool.sgml:
826         * docs/gst/tmpl/gststructure.sgml:
827         * docs/gst/tmpl/gstsystemclock.sgml:
828         * docs/gst/tmpl/gsttrace.sgml:
829         * gst/gstghostpad.c:
830         * gst/gstmacros.h:
831         * gst/gstmemchunk.c:
832         * gst/gstmemchunk.h:
833         * gst/gstqueue.c:
834         * gst/gstregistry.c:
835         * gst/gstregistrypool.c:
836         * gst/gststructure.c:
837         * gst/gstsystemclock.c:
838           more docs inlined
839
840 2005-09-02  Andy Wingo  <wingo@pobox.com>
841
842         * gst/gstelement.h (GstState): Renamed from GstElementState,
843         changed to be a normal enum instead of flags.
844         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
845         munged to be GST_STATE_CHANGE_*.
846         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
847         work with the new state representation.
848         (GstStateChange): New enumeration of possible state transitions.
849         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
850         (GstElementClass::change_state): Pass the GstStateChange along as
851         an argument. Helps language bindings, so they don't have to use
852         tricky lock-needing macros like GST_STATE_CHANGE ().
853
854         * scripts/update-states (file): New script. Run it on a file to
855         update it for state naming and API changes. Updates files in
856         place.
857
858         * All files updated for the new API.
859
860 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
861
862         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
863         * gst/gstutils.c: (gst_util_set_value_from_string),
864         (gst_util_set_object_arg):
865           fix a bunch of unchecked return values
866         * tools/gst-complete.c: (main):
867         * gstreamer.spec.in:
868           clean up a little
869
870 2005-09-01  Wim Taymans  <wim@fluendo.com>
871
872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
873         (gst_base_sink_event), (gst_base_sink_do_sync),
874         (gst_base_sink_handle_event):
875         * gst/base/gstbasesink.h:
876         Handle newsegments more correctly.
877
878         * gst/gstbus.c:
879         Fix docs.
880
881         * gst/gstevent.c: (gst_event_new_newsegment):
882         A newsegment cannot have a start_time of -1
883
884 2005-09-01  Tim-Philipp M??ller  <tim at centricular dot net>
885
886         * win32/gstenumtypes.c:
887         * win32/gstenumtypes.h:
888           Update
889
890 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
891
892         * libs/gst/controller/gst-controller.c:
893         (gst_controlled_property_set_interpolation_mode),
894         (gst_controlled_property_new):
895          fixed boolean again
896
897 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
898
899         * docs/faq/gst-uninstalled:
900           add -good
901         * gst/gstevent.c:
902         * gst/gstevent.h:
903           remove wrong docs
904         * gst/gstutils.c: (gst_element_link_filtered):
905         * gst/gstutils.h:
906           add gst_element_link_filtered
907
908 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
909
910         * docs/gst/gstreamer-docs.sgml:
911         * docs/gst/gstreamer-sections.txt:
912         * docs/gst/tmpl/.cvsignore:
913         * docs/gst/tmpl/gsterror.sgml:
914         * docs/gst/tmpl/gstfilter.sgml:
915         * docs/gst/tmpl/gsturihandler.sgml:
916         * docs/gst/tmpl/gsturitype.sgml:
917         * docs/gst/tmpl/gstutils.sgml:
918         * docs/gst/tmpl/gstxml.sgml:
919         * gst/gsterror.c:
920         * gst/gsterror.h:
921         * gst/gstfilter.c:
922         * gst/gsturi.c:
923         * gst/gsturitype.c:
924         * gst/gstutils.c:
925         * gst/gstxml.c:
926           inlined more docs, fixed double id-ref
927
928 2005-08-31  Wim Taymans  <wim@fluendo.com>
929
930         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
931         (gst_base_transform_handle_buffer):
932         Passthrough elements don't need the caps as they don't care.
933
934 2005-08-31  Wim Taymans  <wim@fluendo.com>
935
936         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
937         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
938         Don't leak refcounts on buffers.
939
940 2005-08-31  Wim Taymans  <wim@fluendo.com>
941
942         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
943         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
944         (gst_base_transform_chain), (gst_base_transform_change_state):
945         * gst/base/gstbasetransform.h:
946         Handle the case where we are not negotiated more gracefully.
947
948 2005-08-31  Tim-Philipp M??ller  <tim at centricular dot net>
949
950         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
951         (gst_file_src_map_region):
952           Set READONLY flag on mmap'ed buffers, otherwise
953           gst_buffer_make_writable() won't work properly (#314708).
954
955 2005-08-31  Wim Taymans  <wim@fluendo.com>
956
957         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
958         passthrough elements can even do inplace on non writable
959         buffers (as they don't touch them).
960
961 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
962
963         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
964         (gst_test_mono_source_set_property),
965         (gst_test_mono_source_class_init), (GST_START_TEST),
966         (gst_controller_suite):
967           more tests (hehe I have the most)
968         * gst/gstbus.c:
969           describe popping messages whenusing mulltiple sources
970         * libs/gst/controller/gst-controller.c:
971         (gst_controlled_property_set_interpolation_mode),
972         (gst_controlled_property_new):
973         * libs/gst/controller/gst-controller.h:
974         * libs/gst/controller/gst-interpolation.c:
975           implement boolean properties
976
977 2005-08-31  Wim Taymans  <wim@fluendo.com>
978
979         * gst/gstminiobject.c: (gst_mini_object_ref):
980         Cannot assert that the refcount has to be positive
981         since a disposed object can be resurrected.
982
983 2005-08-31  Wim Taymans  <wim@fluendo.com>
984
985         * gst/gstpad.c: (gst_pad_init):
986         Revert change, need to first fix badly behaving 
987         apps.
988
989 2005-08-30  Wim Taymans  <wim@fluendo.com>
990
991         * check/elements/fakesrc.c: (setup_fakesrc):
992         * check/elements/identity.c: (setup_identity):
993         Activate pads before using them.
994
995 2005-08-30  Wim Taymans  <wim@fluendo.com>
996
997         * gst/base/gstadapter.c: (gst_adapter_flush):
998         Flushing out 0 bytes is ok for this function.
999
1000         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1001         no newsegment gives a warning and sets the start/stop to 
1002         invalid.
1003
1004         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
1005         (gst_base_transform_set_passthrough):
1006         Some debug info.
1007
1008         * gst/gstminiobject.c: (gst_mini_object_ref):
1009         Check refcount here too.
1010
1011         * gst/gstpad.c: (gst_pad_init):
1012         Pads are initially flushing and refusing data.
1013
1014         * gst/gstutils.c: (gst_element_link_pads_filtered):
1015         When adding a capsfilter element make sure it has the
1016         same state as the parent bin.
1017
1018 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
1019
1020         * docs/gst/tmpl/.cvsignore:
1021         * docs/gst/tmpl/gstformat.sgml:
1022         * docs/gst/tmpl/gstversion.sgml:
1023         * gst/gstbus.h:
1024         * gst/gstformat.c:
1025         * gst/gstformat.h:
1026         * gst/gstversion.h.in:
1027           more docs and two more inlined
1028
1029 2005-08-30  Wim Taymans  <wim@fluendo.com>
1030
1031         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
1032         Don't sync to clock.
1033
1034 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
1035
1036         * docs/gst/gstreamer-sections.txt:
1037           ultral33t func10ns deserve to appear in the docs actually
1038         * docs/gst/tmpl/.cvsignore:
1039         * docs/gst/tmpl/gstcompat.sgml:
1040         * docs/gst/tmpl/gstconfig.sgml:
1041         * gst/check/gstcheck.c:
1042         * gst/gstcompat.h:
1043         * gst/gstconfig.h.in:
1044           inlined more docs
1045
1046 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
1047
1048         * docs/gst/tmpl/.cvsignore:
1049         * docs/gst/tmpl/gstquery.sgml:
1050         * docs/gst/tmpl/gstutils.sgml:
1051         * gst/gstquery.c:
1052         * gst/gstquery.h:
1053           inlined and extended docs
1054
1055 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
1056
1057         * check/gst-libs/controller.c: (GST_START_TEST),
1058         (gst_controller_suite):
1059           more tests
1060         * docs/gst/tmpl/gstutils.sgml:
1061         * docs/libs/gstreamer-libs-sections.txt:
1062         * docs/libs/tmpl/gstdataprotocol.sgml:
1063           include path fixes
1064         * examples/controller/audio-example.c: (main):
1065           controller example works now
1066         * gst/gstclock.h:
1067           doc fixes
1068         * tools/gst-inspect.c: (print_element_properties_info):
1069           show param spec flags
1070
1071 2005-08-29  Andy Wingo  <wingo@pobox.com>
1072
1073         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
1074
1075 2005-08-28  Andy Wingo  <wingo@pobox.com>
1076
1077         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
1078         as having two arguments instead of just one. Allows superclasses
1079         to access information on subclasses -- see the terrible for() loop
1080         in gtype.c:g_type_create_instance for the reason why. All callers
1081         changed.
1082
1083 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
1084
1085         * docs/design/part-messages.txt:
1086           update info
1087         * docs/gst/tmpl/.cvsignore:
1088         * docs/gst/tmpl/gstcaps.sgml:
1089         * docs/gst/tmpl/gstclock.sgml:
1090         * gst/gstbus.c:
1091         * gst/gstcaps.c:
1092         * gst/gstcaps.h:
1093         * gst/gstclock.c:
1094         * gst/gstclock.h:
1095         * gst/gstmessage.c:
1096           added descriptions for bus and message
1097           inline caps and clock docs
1098
1099 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
1100
1101         * gst/gstmessage.c:
1102         * gst/gstmessage.h:
1103           doc fixes
1104
1105 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
1106
1107         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
1108           fix div-by-zero
1109
1110 2005-08-26  Andy Wingo  <wingo@pobox.com>
1111
1112         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
1113         element_set_state's return val.
1114         (test_2_elements): Add test that's been disabled for months.
1115
1116         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
1117         can-activate-pull properties.
1118
1119         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
1120         can-activate-pull properties. Implement is_seekable so fakesrc can
1121         operate in pull mode.
1122
1123         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
1124         properties.
1125         (gst_base_sink_activate, gst_base_sink_activate_pull)
1126         (gst_base_sink_activate_push): Make activation mode choosing work.
1127         Cleanups.
1128         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
1129         is right. Make pull mode work. Post an eos before pausing in pull
1130         mode.
1131         (gst_base_sink_change_state): Pay attention to the core's
1132         change_state() return val.
1133         
1134         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
1135         has-getrange properties. Cleanups.
1136         
1137         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
1138         has_getrange and replace with can_activate_pull and
1139         can_activate_push.
1140
1141         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
1142         locking comments. Remove has_loop, has_chain and replace with
1143         can_activate_pull and can_activate_push.
1144
1145 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
1146
1147         * configure.ac:
1148         * examples/Makefile.am:
1149         * examples/metadata/Makefile.am:
1150         * examples/metadata/read-metadata.c: (message_loop),
1151         (have_pad_handler), (make_pipeline), (print_tag), (main):
1152           Add metadata reading example that loops over a list of filenames,
1153           dumping any tags found.
1154
1155         * gst/gstbus.c: (gst_bus_dispose):
1156         * gst/gstelement.c: (gst_element_dispose):
1157           Release a few potentially-held references in dispose.
1158
1159 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
1160
1161         * docs/gst/tmpl/gstminiobject.sgml:
1162           do *not* add tmpl/*.sgml files to CVS!
1163
1164 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
1165
1166         * libs/gst/bytestream/.cvsignore:
1167         * libs/gst/bytestream/Makefile.am:
1168         * libs/gst/bytestream/adapter.c:
1169         * libs/gst/bytestream/adapter.h:
1170         * libs/gst/bytestream/bytestream.c:
1171         * libs/gst/bytestream/bytestream.h:
1172         * libs/gst/bytestream/filepad.c:
1173         * libs/gst/bytestream/filepad.h:
1174           removing obsolete files
1175
1176 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
1177
1178         * docs/gst/gstreamer-docs.sgml:
1179         * docs/libs/gstreamer-libs-docs.sgml:
1180           disabed additional index entries again, as this makes docs-gen just
1181           slow and they aren't useful yet
1182         * docs/libs/gstreamer-libs-sections.txt:
1183           little -section.txt cleanup for libs
1184
1185 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
1186
1187         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1188         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
1189           fix up some debugging
1190         (gst_base_transform_get_unit_size),
1191         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1192         (gst_base_transform_handle_buffer):
1193         * gst/base/gstbasetransform.h:
1194           handle and store timed NEWSEGMENT events so that subclasses that
1195           calculate time by counting samples have a segment_start time they
1196           need to add to their timestamps - see audioresample
1197
1198 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
1199
1200         * gst/gstbin.h:
1201           removed ';' from the end of macro defs
1202         * docs/gst/gstreamer-docs.sgml:
1203         * docs/gst/gstreamer-sections.txt:
1204         * docs/gst/tmpl/.cvsignore:
1205         * gst/gstbus.h:
1206         * gst/gstelement.c: (gst_element_class_init),
1207         (gst_element_set_state), (activate_pads),
1208         (gst_element_save_thyself):
1209         * gst/gstevent.c: (gst_event_new_newsegment):
1210         * gst/gstevent.h:
1211         * gst/gstiterator.c:
1212         * gst/gstiterator.h:
1213         * gst/gstpad.c:
1214         * gst/gstprobe.h:
1215         * gst/gstutils.c: (gst_pad_query_convert):
1216         * gst/gstutils.h:
1217           fixed parameter name mismatches between source, header and docs
1218           added some more docs, resolved the last batch of unused elements in
1219           docs (now someone needs to doc them)
1220
1221 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
1222
1223         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
1224         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
1225           don't walk through the plugins backwards.  Where is all this
1226           reversed logic coming from ?
1227
1228 2005-08-25  Wim Taymans  <wim@fluendo.com>
1229
1230         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1231         (gst_base_transform_transform_size),
1232         (gst_base_transform_configure_caps),
1233         (gst_base_transform_get_unit_size),
1234         (gst_base_transform_buffer_alloc),
1235         (gst_base_transform_change_state):
1236         * gst/base/gstbasetransform.h:
1237         Cache caps unit_size.
1238         Make sure we cannot negotiate up and downstream at the
1239         same time.
1240
1241 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
1242
1243         * gst/gst.c: (init_pre), (init_post):
1244           register the installed plugin path after the env var
1245         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
1246         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
1247           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
1248           directories, so the tests can prefer uninstalled over installed
1249
1250 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
1251
1252         * gst/base/gstbasetransform.h:
1253           comment
1254         * gst/gstpad.c:
1255           add to docs
1256
1257 2005-08-25  Wim Taymans  <wim@fluendo.com>
1258
1259         * gst/gstbin.c: (bin_bus_handler):
1260         Be a bit more conservative about the posted message.
1261         
1262         * gst/gstbus.c: (gst_bus_post):
1263         Some cleanups, warn wrong return values.
1264
1265 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
1266
1267         * check/gst/gstbin.c: (GST_START_TEST):
1268         * gst/gstbin.c: (bin_bus_handler):
1269         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
1270         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
1271         (gst_message_new_warning), (gst_message_new_tag),
1272         (gst_message_new_state_changed), (gst_message_new_segment_start),
1273         (gst_message_new_segment_done), (gst_message_new_custom):
1274         * gst/gstmessage.h:
1275         * tools/gst-launch.c: (event_loop):
1276         * tools/gst-md5sum.c: (event_loop):
1277           Revert unpopular change for GST_MESSAGE_SRC to GObject.
1278
1279 2005-08-25  Wim Taymans  <wim@fluendo.com>
1280
1281         * check/generic/states.c: (GST_START_TEST):
1282         Cleanup can be done at the end.
1283
1284         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
1285         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
1286         (gst_task_get_state), (gst_task_start), (gst_task_pause):
1287         Oh boy.. Thanks for finding this, Thomas. 
1288
1289 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
1290
1291         * docs/gst/gstreamer.types:
1292           added missing types
1293
1294 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
1295
1296         * docs/gst/gstreamer-docs.sgml:
1297         * docs/gst/gstreamer-sections.txt:
1298         * docs/gst/tmpl/.cvsignore:
1299         * gst/gstbin.c:
1300         * gst/gstiterator.c:
1301         * gst/gstutils.c:
1302         * gst/registries/gstxmlregistry.h:
1303           added missing classes and symbols (123 more to go)
1304           removed removed symbols from section file
1305           fixed many doc-comments
1306
1307 2005-08-24  Wim Taymans  <wim@fluendo.com>
1308
1309         * check/generic/states.c: (GST_START_TEST):
1310         Make sure all tasks are stopped.
1311
1312         * check/gst/gstbin.c: (GST_START_TEST):
1313         Unref after usage for proper valgrinding.
1314
1315         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
1316         Really wait for the task to stop before destroying the
1317         mutex.
1318
1319         * gst/gstqueue.c: (gst_queue_sink_activate_push),
1320         (gst_queue_src_activate_push):
1321         Small cleanups. Don't stop the task when we did not start
1322         it.
1323
1324         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
1325         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
1326         (gst_task_get_state), (gst_task_start), (gst_task_pause),
1327         (gst_task_join):
1328         * gst/gsttask.h:
1329         Protect the stream lock with the object lock.
1330         Disallow setting the stream lock when running.
1331         Add cleanup_all to wait for the threadpool to finish.
1332         Remove code to autoallocate a mutex if none was provided.
1333         Add _join() to wait for a task to stop.
1334         Protect the thread pool with a global lock.
1335
1336 2005-08-24  Wim Taymans  <wim@fluendo.com>
1337
1338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1339         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1340         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
1341         * gst/base/gstbasesink.h:
1342         Handle newsegment events correctly.
1343         Drop buffers out of the segment range.
1344
1345 2005-08-22  Andy Wingo  <wingo@pobox.com>
1346
1347         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
1348         macro, implements an interface and gstimplementsinterface for a
1349         new type.
1350
1351 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1352
1353         * check/Makefile.am:
1354         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
1355           add a test that does a bunch of state changes on elements
1356           needs some fixing for valgrind
1357         * check/states/sinks.c: (gst_object_suite):
1358           whitespace
1359         * gst/gstcaps.h:
1360           add prototype for gst_caps_is_equal_fixed
1361         * gst/gstplugin.c:
1362         * gst/gstregistrypool.c:
1363           doc fixes
1364
1365 2005-08-24  Andy Wingo  <wingo@pobox.com>
1366
1367         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
1368         convert a negative value. Doesn't make much sense. Mostly this is
1369         here to force callers to ensure -1 maps to -1.
1370
1371 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1372
1373         * docs/pwg/advanced-types.xml:
1374           Well done to Michael for catching my deliberate introduction
1375           of this spelling mistake. 
1376         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
1377         * gst/gstelement.h:
1378           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
1379           unlink pads before removing the element from the bin.
1380
1381 2005-08-24  Andy Wingo  <wingo@pobox.com>
1382
1383         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
1384         the same thing as GST_DEBUG=*:4.
1385         (parse_debug_level, parse_debug_category): New helper parsers.
1386
1387 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1388
1389         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1390         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
1391         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
1392         (gst_base_transform_buffer_alloc),
1393         (gst_base_transform_handle_buffer):
1394           use gboolean return values and pointers to size so we can use the
1395           full GST_BUFFER_SIZE range (guint) for buffer sizes
1396           use GstPadDirection for transform_caps
1397         * gst/base/gstbasetransform.h:
1398           rename get_size to get_unit_size since that's what it is
1399         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
1400           use GstPadDirection for transform_caps
1401         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
1402         * gst/gstutils.h:
1403           cleanup and debugging
1404
1405 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
1406
1407         * gst/gstelement.c: (gst_element_class_init),
1408         (gst_element_set_state), (activate_pads),
1409         (gst_element_save_thyself):
1410         * tools/gst-compprep.c: (main):
1411         * tools/gst-inspect.c: (print_element_properties_info):
1412         * tools/gst-xmlinspect.c: (print_element_properties):
1413           Fixed long standing mem-leak
1414
1415 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1416
1417         * check/gst/gstbin.c: (GST_START_TEST):
1418         * gst/gstbin.c: (bin_bus_handler):
1419         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
1420         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
1421         (gst_message_new_warning), (gst_message_new_tag),
1422         (gst_message_new_state_changed), (gst_message_new_segment_start),
1423         (gst_message_new_segment_done), (gst_message_new_custom):
1424         * gst/gstmessage.h:
1425         * tools/gst-launch.c: (event_loop):
1426         * tools/gst-md5sum.c: (event_loop):
1427           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
1428           that applications can sensibly post custom messages with references
1429           to their own objects.
1430
1431 2005-08-24  Andy Wingo  <wingo@pobox.com>
1432
1433         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
1434         already.
1435
1436 2005-08-24  Wim Taymans  <wim@fluendo.com>
1437
1438         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1439         (gst_base_transform_transform_caps),
1440         (gst_base_transform_transform_size),
1441         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1442         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1443         (gst_base_transform_handle_buffer):
1444         * gst/base/gstbasetransform.h:
1445         Many fixes and new features added by Thomas. Can now also do
1446         transforms with variable sizes and a custom fixate_caps function.
1447
1448 2005-08-24  Wim Taymans  <wim@fluendo.com>
1449
1450         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
1451         Some debugging.
1452
1453         * gst/gstclock.h:
1454         Cast to ClockTime before formatting to time.
1455
1456         * gst/gstutils.h:
1457         Cleanups.
1458
1459 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
1460
1461         * check/gst-libs/controller.c: (GST_START_TEST),
1462         (gst_controller_suite):
1463         * docs/gst/tmpl/gstcaps.sgml:
1464         * docs/gst/tmpl/gstghostpad.sgml:
1465         * docs/gst/tmpl/gstquery.sgml:
1466         * docs/gst/tmpl/gstutils.sgml:
1467         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
1468         (gst_object_sink_values), (gst_object_get_value_arrays),
1469         (gst_object_get_value_array):
1470           gracefully handle helper method calls to objects that are not beeing
1471           controlled, added test case for that          
1472
1473 2005-08-23  Wim Taymans  <wim@fluendo.com>
1474
1475         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
1476         (gst_event_new_newsegment), (gst_event_parse_newsegment),
1477         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
1478         (gst_event_parse_qos), (gst_event_new_seek),
1479         (gst_event_parse_seek):
1480         * gst/gstevent.h:
1481         Some more debugging output and doc cleanups.
1482
1483         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1484         Fix possible deadlock.
1485
1486 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
1487
1488         * docs/gst/gstreamer-docs.sgml:
1489         * docs/gst/gstreamer-sections.txt:
1490         * docs/gst/gstreamer.types:
1491         * docs/gst/tmpl/.cvsignore:
1492         * gst/gstbin.h:
1493         * gst/gstbus.c:
1494         * gst/gstelement.c:
1495         * gst/gstevent.h:
1496           added 100 symbols from gstreamer-unused.txt to the right sections
1497           fixed more broken comments
1498           added GstBus to docs
1499
1500 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
1501
1502         * docs/gst/gstreamer-sections.txt:
1503         * docs/gst/tmpl/.cvsignore:
1504         * docs/gst/tmpl/gstbin.sgml:
1505         * docs/gst/tmpl/gstbuffer.sgml:
1506         * gst/base/gstbasesrc.c:
1507         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
1508         * gst/gstbuffer.c:
1509         * gst/gstbuffer.h:
1510         * tools/gst-launch.1.in:
1511           inlined more doc comments, added missing comments and fixed comments
1512           fixed typos
1513
1514 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1515
1516         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
1517           some debugging
1518         * gst/gstcaps.h:
1519           whitespace fixes
1520         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
1521           more debugging
1522         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
1523         * gst/gststructure.h:
1524           add a fixate function for booleans; add a FIXME that these func
1525           names should probably be gst_structure_fixate_*
1526
1527 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
1528
1529         * docs/gst/gstreamer-docs.sgml:
1530         * docs/gst/gstreamer-sections.txt:
1531         * gst/Makefile.am:
1532         * gst/gstbin.c: (gst_bin_get_type),
1533         (gst_bin_child_proxy_get_child_by_index),
1534         (gst_bin_child_proxy_get_children_count),
1535         (gst_bin_child_proxy_init):
1536         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
1537         (gst_child_proxy_get_child_by_index),
1538         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
1539         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
1540         (gst_child_proxy_get), (gst_child_proxy_set_property),
1541         (gst_child_proxy_set_valist), (gst_child_proxy_set),
1542         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
1543         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
1544         * gst/gstchildproxy.h:
1545         * gst/parse/grammar.y:
1546         * tools/gst-inspect.c: (print_interfaces),
1547         (print_element_properties_info), (print_element_info):
1548           ported gstchildproxy over from 0.8
1549           ported gst-inspect fixes and enhancements over from 0.8
1550
1551 2005-08-22  Wim Taymans  <wim@fluendo.com>
1552
1553         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1554         (gst_base_transform_handle_buffer):
1555         Also call the transform function if we have ANY caps.
1556
1557         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
1558         Fix debug info.
1559
1560 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
1561
1562         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
1563           Don't pretend to handle seek events if the source is not seekable
1564
1565 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
1566
1567         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1568           Remove extra parameter to debug output
1569
1570         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1571         (gst_base_src_do_seek), (gst_base_src_activate_push):
1572           Fix seek event handling.
1573
1574         * gst/gstpipeline.c: (gst_pipeline_change_state):
1575         * gst/gstqueue.c: (gst_queue_handle_sink_event),
1576         (gst_queue_src_activate_push):
1577           Don't start the src pad task on FLUSH_STOP if the pad
1578           isn't linked.
1579           Debug changes.
1580
1581 2005-08-22  Wim Taymans  <wim@fluendo.com>
1582
1583         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1584         Added check for gst_static_caps_get() refcounting.
1585
1586 2005-08-22  Wim Taymans  <wim@fluendo.com>
1587
1588         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
1589         Make _static_caps_get() refcounting sane.
1590         
1591         * gst/gstelement.c: (gst_element_set_state):
1592         Add g_return_val_if_fail() to protect against segfaults.
1593
1594 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
1595
1596         * docs/gst/tmpl/gstevent.sgml:
1597         * gst/gstevent.c:
1598         * gst/gstevent.h:
1599           inlined remaining docs, added missing doc comments
1600
1601 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1602
1603         * check/gst/gstbin.c: (GST_START_TEST):
1604           since we don't know when preroll is done, use refcount range
1605           check for the sink
1606         * gst/check/gstcheck.h:
1607           add macro for checking refcount range
1608
1609 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1610
1611         * check/Makefile.am:
1612           clean up environment for when registry gets built versus
1613           when actual tests are run; valgrind seems to not report
1614           leaks if GST_PLUGIN_PATH is set to some specific values
1615         * check/gst/gstbin.c: (GST_START_TEST):
1616           add more refcounting checks; maybe this exposes a
1617           preroll lock bug ?
1618         * common/check.mak:
1619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1620         * gst/check/gstcheck.h:
1621         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
1622         (gst_bin_change_state):
1623         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
1624           add/fix debugging/whitespace
1625
1626 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
1627
1628         * check/gst/gstevent.c: (event_probe), (test_event),
1629         (GST_START_TEST):
1630          Er, don't call gst_bin_watch_for_state_change you idiot.
1631
1632 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
1633
1634         * check/Makefile.am:
1635           Use CHECK_CFLAGS and CHECK_LIBS
1636         * check/gst/gstevent.c: (event_probe), (test_event),
1637         (GST_START_TEST):
1638           Don't leak events.
1639         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1640         (gst_base_src_start), (gst_base_src_stop),
1641         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1642         (gst_base_src_change_state):
1643           Sprinkle gst_base_src_stop liberally around error paths to fix
1644           problems reusing a source after failed state changes.
1645         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1646         (helper_find_suggest), (gst_type_find_helper):
1647           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
1648         * gst/gstevent.h:
1649         * docs/gst/tmpl/gstevent.sgml:
1650           Migrate part of the docs from the SGML file. Wait for ensonic to
1651           tell me how I did it wrong ;)
1652         * tools/gst-typefind.c: (main):
1653           Extra robustness to state changes between files.
1654
1655 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1656
1657         * check/Makefile.am:
1658           don't valgrind the controller test - it's leaking - Stefan, HELP
1659         * gst/check/gstcheck.c: (gst_check_message_error),
1660         (gst_check_chain_func), (gst_check_setup_element),
1661         (gst_check_teardown_element), (gst_check_setup_src_pad),
1662         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1663         (gst_check_teardown_sink_pad):
1664         * gst/check/gstcheck.h:
1665           add a bunch of methods to set up elements, and src and sink pads
1666         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
1667         * check/elements/identity.c: (setup_identity), (cleanup_identity),
1668         (GST_START_TEST):
1669           use them
1670         * gst/gstmessage.c:
1671         * gst/gsttag.h:
1672           whitespace/doc fixes
1673
1674 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1675
1676         * gst/gstelement.h:
1677           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
1678           be handled by the application and not always printed as well
1679
1680 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1681
1682         * check/Makefile.am:
1683           set GST_TOOLS_DIR
1684         * gst/check/gstcheck.c: (gst_check_message_error):
1685         * gst/check/gstcheck.h:
1686           add a fail_unless_equals_int
1687           add fail_unless for error messages
1688
1689 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1690
1691         * check/Makefile.am:
1692         * check/gst.supp:
1693         * common/Makefile.am:
1694         * common/check.mak:
1695         * common/gst.supp:
1696           factor out some of the common stuff so we can use it
1697
1698 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1699
1700         * check/Makefile.am:
1701         * check/gst/gstiterator.c: (GST_START_TEST):
1702         * check/gst/gstsystemclock.c: (GST_START_TEST),
1703         (gst_systemclock_suite):
1704         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1705         * gst/gstclock.c:
1706           valgrind more tests
1707
1708 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1709
1710         * check/elements/.cvsignore:
1711         * check/elements/gstfakesrc.c:
1712           rename to name of element
1713         * check/elements/identity.c: (chain_func), (event_func),
1714         (setup_identity), (cleanup_identity), (GST_START_TEST),
1715         (identity_suite), (main):
1716           add a test for identity
1717         * check/Makefile.am:
1718         * pkgconfig/Makefile.am:
1719         * pkgconfig/gstreamer-check.pc.in:
1720         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1721         * gst/check:
1722         * gst/Makefile.am:
1723         * configure.ac:
1724           move the check stuff to a library that gets installed
1725         * check/gst-libs/controller.c: (GST_START_TEST):
1726         * check/gst-libs/gdp.c:
1727         * check/gst/gst.c: (GST_START_TEST):
1728         * check/gst/gstbin.c:
1729         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1730         * check/gst/gstbus.c:
1731         * check/gst/gstcaps.c: (GST_START_TEST):
1732         * check/gst/gstelement.c:
1733         * check/gst/gstghostpad.c:
1734         * check/gst/gstiterator.c:
1735         * check/gst/gstmessage.c:
1736         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
1737         * check/gst/gstobject.c:
1738         * check/gst/gstpad.c: (GST_START_TEST):
1739         * check/gst/gststructure.c: (GST_START_TEST):
1740         * check/gst/gstsystemclock.c: (GST_START_TEST),
1741         (gst_systemclock_suite):
1742         * check/gst/gsttag.c: (gst_tag_suite):
1743         * check/gst/gstvalue.c:
1744         * check/pipelines/cleanup.c:
1745         * check/pipelines/simple_launch_lines.c:
1746         * check/states/sinks.c:
1747           change include statement
1748
1749         * docs/gst/gstreamer-sections.txt:
1750         * docs/gst/tmpl/gstpad.sgml:
1751           document more pad stuff
1752         * gst/gstminiobject.c: (gst_mini_object_ref),
1753         (gst_mini_object_unref):
1754           debug refcounting
1755
1756 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
1757
1758         * docs/gst/tmpl/gst.sgml:
1759         * gst/gst.c:
1760           eliminate another tmpl file, fix spelling in the long-description
1761
1762 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
1763
1764         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
1765         (test_event), (timediff), (gstevents_suite):
1766           Should fix build on 64-bit arch's
1767
1768 2005-08-18  Andy Wingo  <wingo@pobox.com>
1769
1770         Make sure that when a pipeline goes to PLAYING, that data has
1771         actually hit the sink.
1772
1773         * check/states/sinks.c (test_sink): A sink that doesn't get any
1774         data shouldn't return SUCCESS for going to either PLAYING or
1775         PAUSED. Test also the return values on the way back down.
1776
1777         * gst/gstelement.c (gst_element_set_state): When changing the
1778         state of an element currently changing state asynchronously, go to
1779         lost-state after commiting the pending state. Makes future calls
1780         to get_state continue to return ASYNC.
1781
1782         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
1783         ASYNC when going to PLAYING if we still don't have preroll, as can
1784         happen with live sources.
1785
1786 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
1787
1788         * docs/pwg/advanced-types.xml:
1789           Hack long paragraph into 2 chunks as a workaround for buggy
1790           jadetex version in sid and breezy that loops infinitely and
1791           eats all RAM.
1792
1793 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
1794
1795         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
1796         (test_event), (timediff), (gstevents_suite):
1797           Provide more error margin in clock measurements to allow for 
1798           g_get_current_time inaccuracies.
1799
1800 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
1801
1802         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
1803         (test_event), (timediff), (gstevents_suite):
1804            Fix error message output so I might be able to tell why the
1805            test works here but fails on the build farm.
1806
1807 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
1808
1809         * check/Makefile.am:
1810         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
1811         (test_event), (timediff), (gstevents_suite), (main):
1812           I wrote a test!
1813
1814         * docs/design/part-seeking.txt:
1815           Spelling correction
1816
1817         * docs/gst/tmpl/gstevent.sgml:
1818         * docs/gst/tmpl/gstfakesrc.sgml:
1819           Docs updates.
1820
1821         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1822           Treat a buffer-without-newsegment the same as a receiving 
1823           a newsegment not in time format, and disable syncing to the clock
1824           with a warning.
1825
1826         * gst/gstbus.c: (gst_bus_set_sync_handler):
1827           Assert if anyone tries to replace the existing sync_handler for bus, 
1828           as only the owner should be setting it.
1829
1830         * gst/gstevent.h:
1831           Have a fixed set of custom event enums with events identified by
1832           their structure name (as in 0.8), rather than a free-for-all
1833           allowing collisions between enum values from different plugins.
1834
1835         * gst/gstpad.c: (gst_pad_class_init):
1836           Docs change.
1837           
1838         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1839           Handle out-of-band downstream events from the sending thread.
1840
1841 2005-08-17  Andy Wingo  <wingo@pobox.com>
1842
1843         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
1844         play-timeout==0 to mean no timeout at all. In that case, don't
1845         bother with a get_state or a warning, just return directly, even
1846         if it's ASYNC.
1847
1848         * gst/base/gstbasetransform.c: Debug changes.
1849
1850         * gst/gstutils.h:
1851         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
1852         ensure bins post state change messages. A bit of a hack but I can't
1853         think of a way to avoid it.
1854
1855         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
1856
1857 2005-08-16  Andy Wingo  <wingo@pobox.com>
1858
1859         * gst/base/gstadapter.h:
1860         * gst/base/gstadapter.c (gst_adapter_take): New function, like
1861         peek() but you own the data. Not terribly efficient atm.
1862
1863 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1864
1865         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
1866         (gst_element_found_tags):
1867         * gst/gstutils.h:
1868           Add two utility functions for tag handling.
1869
1870 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1871
1872         * docs/manual/advanced-dataaccess.xml:
1873         * docs/manual/basics-helloworld.xml:
1874           Fix docs to use _bin_add() before _link(), which fixes the examples
1875           with recent core versions (reported by Madhan Raj M
1876           <raj_madan@rediffmail.com>, #313199).
1877
1878 2005-08-16  Wim Taymans  <wim@fluendo.com>
1879
1880         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1881         Added subtract checks.
1882
1883         * docs/design/part-events.txt:
1884         Some more docs about newsegment
1885
1886         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1887         Fix FIXME
1888
1889         * gst/gstcaps.c: (gst_caps_to_string):
1890         Add comments, cleanups.
1891         
1892         * gst/gstelement.c: (gst_element_save_thyself):
1893         cleanups
1894         
1895         * gst/gstvalue.c: (gst_value_collect_int_range),
1896         (gst_string_unwrap), (gst_value_union_int_int_range),
1897         (gst_value_union_int_range_int_range),
1898         (gst_value_intersect_int_int_range),
1899         (gst_value_intersect_int_range_int_range),
1900         (gst_value_intersect_double_double_range),
1901         (gst_value_intersect_double_range_double_range),
1902         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
1903         (gst_value_subtract_int_range_int),
1904         (gst_value_subtract_double_range_double),
1905         (gst_value_subtract_double_range_double_range),
1906         (gst_value_subtract_from_list), (gst_value_subtract_list),
1907         (gst_value_can_compare), (gst_value_compare_fraction):
1908         Cleanups, add comments, remove unneeded asserts.
1909
1910 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1911
1912         * tools/gst-launch.c: (event_loop):
1913           don't convert NULL structures to strings
1914
1915 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
1916
1917         * docs/gst/gstreamer-sections.txt:
1918           made some defines private
1919         * docs/gst/tmpl/gstconfig.sgml:
1920         * docs/gst/tmpl/gstqueue.sgml:
1921         * docs/gst/tmpl/gsttaglist.sgml:
1922         * docs/gst/tmpl/gsttypes.sgml:
1923         * docs/gst/tmpl/gstutils.sgml:
1924         * docs/pwg/appendix-porting.xml:
1925         * gst/base/gstbasesink.h:
1926         * gst/base/gstbasesrc.c:
1927         * gst/base/gstbasesrc.h:
1928         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
1929         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
1930         * gst/gstelement.c: (gst_element_class_init):
1931         * gst/gstpad.c: (gst_pad_class_init):
1932         * gst/gstqueue.c: (gst_queue_class_init):
1933         * gst/gstxml.c: (gst_xml_class_init):
1934           documented all undocumented signal inline
1935         * libs/gst/controller/gst-controller.h:
1936           added padding
1937
1938 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1939
1940         * docs/pwg/appendix-porting.xml:
1941           Document _set_link_function -> _set_setcaps_function.
1942
1943 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1944
1945         * check/Makefile.am:
1946           add a .check target for running the check
1947         * check/gst-libs/controller.c: (GST_START_TEST):
1948           cosmetic fixups
1949         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1950           complete checks for gstbuffer; would be nice if I could get the
1951           gcov stuff to work so I can see if I actually completed gstbuffer.c
1952         * check/gstcheck.h:
1953           add ASSERT_BUFFER_REFCOUNT
1954
1955 2005-08-13  Tim-Philipp M??ller  <tim at centricular dot net>
1956
1957         * docs/gst/gstreamer-sections.txt:
1958         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
1959         * gst/gsttag.h:
1960           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
1961           spew out a warning if a tag that is already registered
1962           is re-registered, unless it is re-registered with a 
1963           different type (#308438).
1964
1965 2005-08-12  Tim-Philipp M??ller  <tim at centricular dot net>
1966
1967         * docs/pwg/appendix-porting.xml:
1968         * docs/pwg/building-state.xml:
1969           Add some paragraphs about state changes in 0.9 to the PWG
1970           and the porting guide, in particular about the new meaning
1971           of GST_STATE_PAUSED and how to write state change functions
1972           with concurrent access by multiple threads in mind.
1973
1974 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
1975
1976         * docs/gst/gstreamer-docs.sgml:
1977         * docs/libs/gstreamer-libs-docs.sgml:
1978           added deprecation and since indexes
1979         * libs/gst/controller/gst-controller.c:
1980         * libs/gst/controller/gst-helper.c:
1981           added since tags
1982
1983
1984 2005-08-11  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
1987         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
1988         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
1989         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
1990         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
1991         (gst_ghost_pad_set_target):
1992         Actually implement (re)setting the target on a ghostpad
1993         as described in the docs.
1994
1995 2005-08-10  Tim-Philipp M??ller  <tim at centricular dot net>
1996
1997         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
1998           Check whether GST_DEBUG_NO_COLOR environment variable is
1999           set and disable coloured debug output if that is the case.
2000
2001 2005-08-10  Tim-Philipp M??ller  <tim at centricular dot net>
2002
2003         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2004         (gst_type_find_helper):
2005           The memory returned by gst_type_find_peek() needs to
2006           stay valid until the end of a typefind function, and
2007           typefind functions may keep results from different 
2008           offsets around, so we can't just unref the buffer from
2009           the previous _peek(), but have to save all buffers 
2010           returned by _peek() until typefinding is done and only
2011           free them then.
2012
2013 2005-08-09  Tim-Philipp M??ller  <tim at centricular dot net>
2014
2015         * docs/gst/gstreamer-sections.txt:
2016         * gst/gstutils.h:
2017           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
2018
2019 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2020
2021         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2022           Fix a pretty good memleak.
2023
2024 2005-08-08  Tim-Philipp M??ller  <tim at centricular dot net>
2025
2026         * gst/gstiterator.h:
2027           Fix wrong include and 'make distcheck'.
2028
2029 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2030
2031         * gst/gstbin.c: (bin_bus_handler):
2032           Use gst_element_post_message() instead.
2033
2034 2005-08-08  Tim-Philipp M??ller  <tim at centricular dot net>
2035
2036         * gst/base/gstadapter.h:
2037         * gst/base/gstbasesink.h:
2038         * gst/base/gstbasesrc.h:
2039         * gst/base/gstbasetransform.h:
2040         * gst/base/gstcollectpads.h:
2041         * gst/base/gstpushsrc.h:
2042         * gst/gstiterator.h:
2043           Add padding to our base elements' class and instance structs and
2044           to GstIterator (you will need to rebuild all plugins and apps!)
2045
2046 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2047
2048         * gst/gstbin.c: (bin_bus_handler):
2049           Make default message forwarding from child->bus to bin->bus
2050           threadsafe and make it not emit warnings if the parent has no bus.
2051
2052 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2053
2054         * gst/gstelement.c: (activate_pads):
2055           On paused->ready, set pad->caps to NULL, as is the documented
2056           behaviour in this state change. Fixes playback of series of
2057           media files when visualization is enabled in Totem.
2058
2059 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2060
2061         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2062           Allow NULL as filter-caps (which means "any").
2063
2064 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
2065
2066         * docs/libs/gstreamer-libs-sections.txt:
2067         * libs/gst/controller/gst-controller.c:
2068         * libs/gst/controller/gst-controller.h:
2069         * libs/gst/controller/gst-helper.c:
2070           adding more entries to the docs and fix small doc-bugs
2071
2072 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
2073
2074         * docs/gst/gstreamer-docs.sgml:
2075         * docs/gst/gstreamer-sections.txt:
2076         * docs/gst/gstreamer.types:
2077         * docs/gst/tmpl/gstbasesink.sgml:
2078         * docs/gst/tmpl/gstbasesrc.sgml:
2079         * docs/gst/tmpl/gstbasetransform.sgml:
2080         * docs/gst/tmpl/gstfakesrc.sgml:
2081         * gst/base/gstcollectpads.c:
2082         * gst/base/gstcollectpads.h:
2083         * libs/gst/controller/gst-controller.c:
2084         * libs/gst/controller/gst-controller.h:
2085         * libs/gst/controller/gst-helper.c:
2086         * libs/gst/controller/gst-interpolation.c:
2087         * libs/gst/controller/lib.c:
2088           added long/short desc for controller docs
2089           added collectpads base class docs
2090           added correct includes to base-class docs
2091
2092 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
2093
2094         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
2095         (gst_test_mono_source_set_property),
2096         (gst_test_mono_source_class_init), (GST_START_TEST),
2097         (gst_controller_suite):
2098         * docs/gst/gstreamer-docs.sgml:
2099         * docs/gst/gstreamer-sections.txt:
2100         * docs/gst/gstreamer.types:
2101         * docs/libs/gstreamer-libs-docs.sgml:
2102         * docs/libs/gstreamer-libs-sections.txt:
2103         * gst/base/gstadapter.c:
2104         * libs/gst/controller/gst-controller.c:
2105         (gst_controlled_property_new), (gst_controlled_property_free),
2106         (gst_controller_new_valist),
2107         (gst_controller_remove_properties_valist),
2108         (gst_controller_sink_values), (_gst_controller_finalize):
2109         * libs/gst/controller/gst-controller.h:
2110         * libs/gst/controller/gst-helper.c:
2111         (gst_object_control_properties), (gst_object_uncontrol_properties),
2112         (gst_object_get_controller), (gst_object_set_controller),
2113         (gst_object_sink_values), (gst_object_get_value_arrays),
2114         (gst_object_get_value_array):
2115           more tests (and fixes) for the controller
2116           more docs for the controller
2117           integrated companies docs for the adapter 
2118
2119 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2120
2121         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
2122         (GST_START_TEST), (fakesrc_suite):
2123           add tests for sizetype
2124
2125 2005-08-04  Andy Wingo  <wingo@pobox.com>
2126
2127         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
2128         fixes buffer_alloc proxying among other things.
2129
2130         * gst/base/gstbasetransform.c:
2131         * gst/base/gstbasetransform.h:
2132         Revert patch to gstbasetransform from 7-28 removing
2133         delay_configure.
2134
2135         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
2136         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
2137         Semantics changed, should return not the size of the output buffer
2138         but the byte size of a buffer with a given caps.
2139
2140         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
2141         debug object.
2142         (gst_base_transform_configure_caps): Don't set out_size here: (in,
2143         out) are not the pad caps until setcaps finishes.
2144         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
2145         not-in-place case as well. Deal with changing from in-place to
2146         not-in-place within calling pad_alloc_buffer. Still a bit
2147         concerned about the overhead here...
2148
2149 2005-08-03  Andy Wingo  <wingo@pobox.com>
2150
2151         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
2152         fixating is an error.
2153
2154 2005-08-04  Edward Hervey  <edward@fluendo.com>
2155
2156         * gst/base/gstadapter.h: 
2157         Added gst_adapter_get_type() to the header
2158
2159 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
2160
2161         * check/Makefile.am:
2162         * check/gst-libs/controller.c:
2163         * libs/gst/controller/gst-controller.c:
2164         (gst_controller_new_valist):
2165           added check test suite for the controller
2166         * gst/base/gstpushsrc.c:
2167           fixed a doc typo
2168
2169 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
2170
2171         * docs/gst/Makefile.am:
2172         * docs/gst/gstreamer-docs.sgml:
2173         * docs/gst/gstreamer-sections.txt:
2174         * docs/gst/gstreamer.types:
2175         * docs/gst/tmpl/gstfakesrc.sgml:
2176         * gst/base/README:
2177         * gst/base/gstbasesink.c:
2178         * gst/base/gstbasesink.h:
2179         * gst/base/gstbasesrc.c:
2180         * gst/base/gstbasesrc.h:
2181         * gst/base/gstbasetransform.c:
2182         * gst/base/gstpushsrc.c:
2183         * gst/base/gstpushsrc.h:
2184           add short/long description docs to base classes
2185           add pushsrc to the docs
2186           remove consolidated doc fragments
2187
2188 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
2189
2190         * configure.ac:
2191         * docs/libs/Makefile.am:
2192         * docs/libs/gstreamer-libs-docs.sgml:
2193         * docs/libs/gstreamer-libs-sections.txt:
2194         * docs/libs/gstreamer-libs.types:
2195         * examples/Makefile.am:
2196         * examples/controller/.cvsignore:
2197         * examples/controller/Makefile.am:
2198         * examples/controller/audio-example.c: (main):
2199         * libs/gst/Makefile.am:
2200         * libs/gst/controller/.cvsignore:
2201         * libs/gst/controller/Makefile.am:
2202         * libs/gst/controller/gst-controller.c:
2203         (on_object_controlled_property_changed), (gst_timed_value_compare),
2204         (gst_timed_value_find),
2205         (gst_controlled_property_set_interpolation_mode),
2206         (gst_controlled_property_new), (gst_controlled_property_free),
2207         (gst_controller_find_controlled_property),
2208         (gst_controller_new_valist), (gst_controller_new),
2209         (gst_controller_remove_properties_valist),
2210         (gst_controller_remove_properties), (gst_controller_set),
2211         (gst_controller_set_from_list), (gst_controller_unset),
2212         (gst_controller_get), (gst_controller_get_all),
2213         (gst_controller_sink_values), (gst_controller_get_value_arrays),
2214         (gst_controller_get_value_array),
2215         (gst_controller_set_interpolation_mode),
2216         (_gst_controller_finalize), (_gst_controller_init),
2217         (_gst_controller_class_init), (gst_controller_get_type):
2218         * libs/gst/controller/gst-controller.h:
2219         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
2220         (g_object_uncontrol_properties), (g_object_get_controller),
2221         (g_object_set_controller), (g_object_sink_values),
2222         (g_object_get_value_arrays), (g_object_get_value_array):
2223         * libs/gst/controller/gst-interpolation.c:
2224         (gst_controlled_property_find_timed_value_node),
2225         (interpolate_none_get), (interpolate_trigger_get),
2226         (interpolate_trigger_get_value_array):
2227         * libs/gst/controller/lib.c: (gst_controller_init):
2228         * pkgconfig/Makefile.am:
2229         * pkgconfig/gstreamer-control-uninstalled.pc.in:
2230         * pkgconfig/gstreamer-control.pc.in:
2231         * testsuite/Makefile.am:
2232         * testsuite/controller/.cvsignore:
2233         * testsuite/controller/Makefile.am:
2234         * testsuite/controller/interpolator.c: (main):
2235           added controller code
2236           removed dparam pc files
2237
2238 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
2239         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
2240         (gst_collectpads_stop):
2241           Broadcast the condition when shutting down, to make sure we wake all
2242           threads up. Shut down pads on finalize, for safety.
2243
2244 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
2245         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2246         (gst_base_transform_handle_buffer),
2247         (gst_base_transform_change_state):
2248           Handle PAUSED->READY->PAUSED transition after negotiation
2249           occurred already.
2250         * gst/gstmessage.c: (gst_message_init):
2251           Extra piece of debug for new messages.
2252
2253 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
2254
2255         * configure.ac:
2256         * docs/gst/tmpl/gstbasesrc.sgml:
2257         * docs/gst/tmpl/gstelement.sgml:
2258         * docs/gst/tmpl/gstevent.sgml:
2259         * docs/gst/tmpl/gstfakesrc.sgml:
2260         * docs/gst/tmpl/gstformat.sgml:
2261         * docs/gst/tmpl/gstghostpad.sgml:
2262         * docs/gst/tmpl/gstpad.sgml:
2263         * docs/gst/tmpl/gstquery.sgml:
2264         * docs/gst/tmpl/gststructure.sgml:
2265         * docs/gst/tmpl/gsttaglist.sgml:
2266         * docs/gst/tmpl/gstvalue.sgml:
2267         * docs/libs/gstreamer-libs-docs.sgml:
2268         * docs/libs/gstreamer-libs-sections.txt:
2269         * docs/libs/gstreamer-libs.types:
2270         * libs/gst/Makefile.am:
2271         * libs/gst/control/.cvsignore:
2272         * libs/gst/control/Makefile.am:
2273         * libs/gst/control/control.c:
2274         * libs/gst/control/control.h:
2275         * libs/gst/control/dparam.c:
2276         * libs/gst/control/dparam.h:
2277         * libs/gst/control/dparam_smooth.c:
2278         * libs/gst/control/dparam_smooth.h:
2279         * libs/gst/control/dparamcommon.h:
2280         * libs/gst/control/dparammanager.c:
2281         * libs/gst/control/dparammanager.h:
2282         * libs/gst/control/dplinearinterp.c:
2283         * libs/gst/control/dplinearinterp.h:
2284         * libs/gst/control/unitconvert.c:
2285         * libs/gst/control/unitconvert.h:
2286         * testsuite/Makefile.am:
2287         * testsuite/dynparams/.cvsignore:
2288         * testsuite/dynparams/Makefile.am:
2289         * testsuite/dynparams/dparamstest.c:
2290         * tools/Makefile.am:
2291         * tools/gst-inspect.c: (print_element_info), (main):
2292         * tools/gst-xmlinspect.c: (print_element_info), (main):
2293           deactivate and remove dparams (libgstcontrol)
2294
2295 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
2296
2297         * gst/elements/gsttypefindelement.c:
2298         (gst_type_find_element_have_type), (gst_type_find_element_init),
2299         (stop_typefinding), (gst_type_find_element_handle_event),
2300         (gst_type_find_element_chain), (gst_type_find_element_getrange):
2301         * gst/elements/gsttypefindelement.h:
2302           Set caps on all outgoing buffers, not just the first one.
2303
2304 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
2305
2306         * gst/elements/gsttypefindelement.c:
2307         (gst_type_find_element_have_type),
2308         (gst_type_find_element_check_set_buffer_caps),
2309         (gst_type_find_element_init), (stop_typefinding),
2310         (gst_type_find_element_handle_event),
2311         (gst_type_find_element_chain), (gst_type_find_element_getrange):
2312         * gst/elements/gsttypefindelement.h:
2313           Set caps on first outgoing buffer when we've found the type.
2314
2315 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
2316
2317         * docs/gst/gstreamer-docs.sgml:
2318         * docs/gst/gstreamer-sections.txt:
2319         * docs/gst/tmpl/gstscheduler.sgml:
2320         * docs/gst/tmpl/gstschedulerfactory.sgml:
2321           Remove some old cruft from docs.
2322
2323 2005-07-31  Tim-Philipp M??ller  <tim at centricular dot net>
2324
2325         * gst/gstpad.h:
2326           Fix inline docs for GstPadLinkReturn.
2327           
2328         * gst/gststructure.c: (gst_structure_has_name):
2329         * gst/gststructure.h:
2330         * docs/gst/gstreamer-sections.txt:
2331           New API: gst_structure_has_name().
2332
2333 2005-07-30  Tim-Philipp M??ller  <tim at centricular dot net>
2334
2335         * configure.ac:
2336           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
2337           and _LARGEFILE_SOURCE in config.h as required. Do not 
2338           export those flags in our .pc files any longer (#142209).
2339
2340           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
2341
2342         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
2343         (gst_file_sink_do_seek), (gst_file_sink_event),
2344         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2345           Redo seek/tell calls with large file support in mind; add some
2346           debugging messages; add log message that tells us when large
2347           file support is unavailable or not enabled for some reason.
2348
2349         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
2350           Add log message that tells us when large file support 
2351           is unavailable or not enabled for some reason.
2352
2353 2005-07-29  Wim Taymans  <wim@fluendo.com>
2354
2355         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2356         Added test for removing an element with ghostpad from a bin.
2357         Fixed test as current implementation does the right thing.
2358
2359         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
2360         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
2361         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
2362         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
2363         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
2364         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
2365         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
2366         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2367         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
2368         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
2369         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
2370         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
2371         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
2372         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
2373         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
2374         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
2375         * gst/gstghostpad.h:
2376         Clean up ghostpads, remove properties for internal stuff.
2377         Make threadsafe.
2378         Fix refcounting.
2379         Prepare for switching targets, not all use cases work yet.
2380
2381 2005-07-29  Wim Taymans  <wim@fluendo.com>
2382
2383         * docs/design/part-gstghostpad.txt:
2384         Small update.
2385
2386         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
2387         (gst_bin_remove_func):
2388         Unlinking pads while holding the bin LOCK is not a good
2389         idea.
2390
2391         * gst/gstpad.c: (gst_pad_class_init),
2392         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
2393         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
2394         No prob setting template after creating the pad.
2395
2396 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
2397
2398         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
2399         (gst_bus_peek), (gst_bus_source_dispatch),
2400         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
2401         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
2402           gst_bus_poll may be called from other threads. Handle
2403           this nicely by not making poll_data disappear off the
2404           stack once gst_bus_poll returns.
2405           gst_bus_peek now increments the refcount on the returned
2406           message.
2407
2408 2005-07-29  Wim Taymans  <wim@fluendo.com>
2409
2410         * docs/design/part-gstghostpad.txt:
2411         Overview of current GhostPad datastructures and use
2412         cases for changing the target.
2413
2414 2005-07-28  Wim Taymans  <wim@fluendo.com>
2415
2416         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2417         Added checks for hierarchy consistency whan adding linked
2418         elements to bins.
2419
2420         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2421         Added check to test element scheduling without bin/pipeline.
2422
2423         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2424         First add elements to bin, then link.
2425         
2426         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
2427         (gst_bin_remove_func):
2428         Unlink pads from elements added/removed from bin to maintain
2429         hierarchy consistency.
2430
2431 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2432
2433         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
2434         (gst_base_transform_handle_buffer):
2435         * gst/base/gstbasetransform.h:
2436           Remove broken delay_configure (fixes renegotiation of software
2437           scaling pipelines); remove some leftover printf()s.
2438
2439 2005-07-28  Wim Taymans  <wim@fluendo.com>
2440
2441         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2442         Added some more tests for wrong hierarchy
2443
2444         * docs/design/part-overview.txt:
2445         Some updates.
2446
2447         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
2448         Cleanups.
2449
2450         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
2451         (gst_element_dispose):
2452         Some more cleanups.
2453
2454         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2455         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
2456         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
2457         (gst_pad_set_caps), (gst_pad_send_event):
2458         Check for correct hierarchy when linking pads. Moving to
2459         strict requirement for ghostpads when linking elements in
2460         different bins.
2461
2462         * gst/gstpad.h:
2463         Clean ups. Added WRONG_HIERARCHY return value.
2464
2465 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2466
2467         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2468           Better debug if no transform is possible.
2469
2470 2005-07-27  Wim Taymans  <wim@fluendo.com>
2471
2472         * docs/random/wtay/network-transp:
2473         Some old doc I had.
2474
2475 2005-07-27  Wim Taymans  <wim@fluendo.com>
2476
2477         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2478         (gst_dp_event_from_packet):
2479         Fix serialization of seek events.
2480
2481 2005-07-27  Wim Taymans  <wim@fluendo.com>
2482
2483         * check/gst-libs/gdp.c: (GST_START_TEST):
2484         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
2485         Fix compilation and fix event serialization.
2486
2487 2005-07-27  Wim Taymans  <wim@fluendo.com>
2488
2489         * CHANGES-0.9:
2490         * docs/design/part-TODO.txt:
2491         * docs/design/part-events.txt:
2492         Some docs updates
2493
2494         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2495         (gst_base_sink_event), (gst_base_sink_do_sync),
2496         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
2497         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
2498         (gst_base_src_do_seek), (gst_base_src_event_handler),
2499         (gst_base_src_loop):
2500         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
2501         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2502         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
2503         (gst_base_transform_event), (gst_base_transform_handle_buffer),
2504         (gst_base_transform_set_passthrough),
2505         (gst_base_transform_is_passthrough):
2506         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
2507         * gst/elements/gstfilesink.c: (gst_file_sink_event):
2508         Event updates.
2509
2510         * gst/gstbuffer.h:
2511         Use faster casts.
2512
2513         * gst/gstelement.c: (gst_element_seek):
2514         * gst/gstelement.h:
2515         Update gst_element_seek.
2516
2517         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
2518         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
2519         (gst_event_new_flush_start), (gst_event_new_flush_stop),
2520         (gst_event_new_eos), (gst_event_new_newsegment),
2521         (gst_event_parse_newsegment), (gst_event_new_tag),
2522         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
2523         (gst_event_parse_qos), (gst_event_new_seek),
2524         (gst_event_parse_seek), (gst_event_new_navigation):
2525         * gst/gstevent.h:
2526         Make GstEvent use GstStructure. Add parsing code, make sure the
2527         API is sufficiently generic.
2528         Mark possible directions of events and serialization.
2529
2530         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
2531         (_gst_message_copy), (gst_message_new_segment_start),
2532         (gst_message_new_segment_done), (gst_message_new_custom),
2533         (gst_message_parse_segment_start),
2534         (gst_message_parse_segment_done):
2535         Small cleanups.
2536
2537         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
2538         (gst_pad_set_caps), (gst_pad_send_event):
2539         Update for new events. 
2540         Catch events sent in wrong directions.
2541
2542         * gst/gstqueue.c: (gst_queue_link_src),
2543         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2544         (gst_queue_handle_src_query):
2545         Event updates.
2546
2547         * gst/gsttag.c:
2548         * gst/gsttag.h:
2549         Remove event code from this file.
2550
2551         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2552         (gst_dp_event_from_packet):
2553         Event updates.
2554
2555 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2556
2557         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
2558         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2559         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
2560           Make debugging actually useful.
2561
2562 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2563
2564         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
2565         (gst_pad_fixate_caps):
2566           Implement default fixation once again, so that gst_pad_fixate()
2567           actually does anything at all. This probably needs to be some
2568           sort of a last resort, and use profile-based fixation first, but
2569           since that doesn't exist yet, this is the best we have. Fixes
2570           visualization in Totem.
2571
2572 2005-07-22  Wim Taymans  <wim@fluendo.com>
2573
2574         * docs/design/part-events.txt:
2575         Small update.
2576
2577         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2578         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
2579         (gst_base_sink_activate_pull):
2580         Some more comments.
2581
2582         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
2583         (gst_fake_src_create):
2584         Fix handoff marshall.
2585
2586         * gst/elements/gstidentity.c: (gst_identity_class_init),
2587         (gst_identity_transform_ip):
2588         We're a real inplace element.
2589
2590         * gst/gstbus.c: (gst_bus_post):
2591         Added some comments.
2592
2593         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
2594         * tests/muxing/case1.c: (main):
2595         * tests/sched/dynamic-pipeline.c: (main):
2596         * tests/sched/interrupt1.c: (main):
2597         * tests/sched/interrupt2.c: (main):
2598         * tests/sched/interrupt3.c: (main):
2599         * tests/sched/runxml.c: (main):
2600         * tests/sched/sched-stress.c: (main):
2601         * tests/seeking/seeking1.c: (event_received), (main):
2602         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
2603         (main):
2604         * tests/threadstate/threadstate3.c: (main):
2605         * tests/threadstate/threadstate4.c: (main):
2606         * tests/threadstate/threadstate5.c: (main):
2607         Fix the tests.
2608
2609 2005-07-21  Wim Taymans  <wim@fluendo.com>
2610
2611         * docs/design/part-seeking.txt:
2612         Some small additions.
2613
2614         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2615         (gst_base_sink_get_times), (gst_base_sink_do_sync),
2616         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
2617         * gst/base/gstbasesink.h:
2618         discont values are gint64, handle the math correctly.
2619
2620         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2621         Make the basesrc report error if the source pad is not linked.
2622
2623         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2624         (gst_queue_loop), (gst_queue_handle_src_query),
2625         (gst_queue_src_activate_push):
2626         Make queue collect data even if the srcpad is not linked.
2627         Start pushing out data as soon as it is linked.
2628
2629         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
2630         * gst/gstutils.h:
2631         Added gst_flow_get_name() to ease error reporting.
2632
2633 2005-07-20  Wim Taymans  <wim@fluendo.com>
2634
2635         * gst/gstmessage.c: (gst_message_new_segment_start),
2636         (gst_message_new_segment_done), (gst_message_parse_segment_start),
2637         (gst_message_parse_segment_done):
2638         * gst/gstmessage.h:
2639         Added a bunch of messages for advanced seeking.
2640
2641         * gst/parse/grammar.y:
2642         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
2643         (gst_dpman_state_changed):
2644         Fix some new-pad -> pad-added signals
2645
2646 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2647
2648         * docs/manual/appendix-porting.xml:
2649         * docs/pwg/appendix-porting.xml:
2650           Document new-pad/state-change signal renames and the FixedList
2651           type rename.
2652
2653 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2654
2655         * docs/manual/advanced-autoplugging.xml:
2656         * docs/manual/basics-helloworld.xml:
2657         * docs/manual/basics-pads.xml:
2658         * docs/random/ds/0.9-suggested-changes:
2659         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
2660         * gst/gstelement.h:
2661         * gst/gstevent.h:
2662         * gst/gstformat.h:
2663         * gst/gstquery.h:
2664         * gst/gststructure.c: (gst_structure_value_get_generic_type),
2665         (gst_structure_parse_array), (gst_structure_parse_value):
2666         * gst/gstvalue.c: (gst_type_is_fixed),
2667         (gst_value_list_prepend_value), (gst_value_list_append_value),
2668         (gst_value_list_get_size), (gst_value_list_get_value),
2669         (gst_value_transform_array_string), (gst_value_serialize_array),
2670         (gst_value_deserialize_array), (gst_value_intersect_array),
2671         (gst_value_is_fixed), (_gst_value_initialize):
2672         * gst/gstvalue.h:
2673           GstElement::new-pad -> pad-added, GstElement::state-change ->
2674           state-changed, GstValueFixedList -> GstValueArray, add format and
2675           flags as their own arguments in gst_element_seek() (should improve
2676           "bindeability"), remove function generators since they don't work
2677           under a whole bunch of compilers (they were deprecated already
2678           anyway).
2679
2680 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2681
2682         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
2683         (_gst_debug_register_funcptr):
2684         * gst/gstinfo.h:
2685           Fix illegal cast on some platforms (#309253).
2686
2687 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2688
2689         * gst/gstmessage.c: (gst_message_new_custom):
2690         * gst/gstmessage.h:
2691           Add _new_custom, make _new_application a macro to _new_custom.
2692
2693 2005-07-20  Wim Taymans  <wim@fluendo.com>
2694
2695         * gst/base/gstbasesrc.c: (gst_base_src_init),
2696         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2697         * gst/base/gstbasesrc.h:
2698         Add a gboolean to decide when to push out a discont.
2699
2700         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2701         (gst_queue_loop), (gst_queue_handle_src_query),
2702         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
2703         (gst_queue_set_property), (gst_queue_get_property):
2704         Some cleanups.
2705
2706         * tests/threadstate/threadstate1.c: (main):
2707         Make a thread test compile and run... very silly..
2708
2709
2710 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2711
2712         * docs/manual/appendix-porting.xml:
2713           Mention removal of libgstgconf-0.9.la and existence of gconf
2714           elements.
2715
2716 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2717
2718         * docs/pwg/advanced-clock.xml:
2719         * docs/pwg/appendix-porting.xml:
2720         * docs/pwg/intro-preface.xml:
2721         * docs/pwg/other-base.xml:
2722         * docs/pwg/other-manager.xml:
2723         * docs/pwg/other-nton.xml:
2724         * docs/pwg/other-ntoone.xml:
2725         * docs/pwg/other-oneton.xml:
2726         * docs/pwg/pwg.xml:
2727           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
2728           demuxer), remove n-to-n (was never written), fix some code examples
2729           and links and update the porting section to include all this.
2730
2731 2005-07-19  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
2734         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
2735         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
2736         (gst_queue_src_activate_push), (gst_queue_change_state),
2737         (gst_queue_get_property):
2738         * gst/gstqueue.h:
2739         Propagate GstFlowReturn more intelligently upstream and output
2740         an ERROR/EOS when streaming stopped due to fatal error.
2741
2742 2005-07-19  Wim Taymans  <wim@fluendo.com>
2743
2744         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2745         Don't block forever for the state change to complete, the
2746         pipeline already did with a sensible timeout.
2747
2748 2005-07-19  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2751         Make sure we never call the create function is we
2752         got deactivated.
2753
2754 2005-07-19  Andy Wingo  <wingo@pobox.com>
2755
2756         * gst/parse/parse.l: Attempt to solve bug #172815.
2757
2758 2005-07-19  Wim Taymans  <wim@fluendo.com>
2759
2760         * docs/design/part-clocks.txt:
2761         * docs/design/part-events.txt:
2762         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
2763         Small docs updates.
2764         Only update the seeking values when we are not
2765         busy streaming.
2766
2767 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
2768
2769         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2770           Oops, ignore the result of gst_pad_push_event here.
2771
2772 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
2773
2774         * gst/base/gstbasesrc.c: (gst_base_src_loop),
2775         (gst_base_src_activate_push):
2776           Send discont event from the loop function, as pads
2777           aren't activated yet in the activate_push handler.
2778
2779         * gst/gstbin.c: (bin_bus_handler):
2780           Don't leak element name.
2781
2782 2005-07-18  Andy Wingo  <wingo@pobox.com>
2783
2784         * configure.ac: Use AS_LIBTOOL_TAGS.
2785
2786 2005-07-18  Wim Taymans  <wim@fluendo.com>
2787
2788         * docs/gst/gstreamer.types:
2789         Remove deleted types.
2790
2791 2005-07-18  Wim Taymans  <wim@fluendo.com>
2792
2793         * check/elements/gstfakesrc.c: (GST_START_TEST):
2794         * configure.ac:
2795         * gst/Makefile.am:
2796         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
2797         (init_popt_callback):
2798         * gst/gst.h:
2799         * gst/gst_private.h:
2800         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
2801         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
2802         * gst/gstbin.h:
2803         * gst/gstbus.h:
2804         * gst/gstconfig.h.in:
2805         * gst/gstelement.c: (gst_element_class_init),
2806         (gst_element_set_base_time), (gst_element_get_base_time),
2807         (iterator_fold_with_resync), (gst_element_change_state),
2808         (gst_element_dispose), (gst_element_get_bus):
2809         * gst/gstelement.h:
2810         * gst/gstelementfactory.h:
2811         * gst/gsterror.c: (_gst_core_errors_init):
2812         * gst/gsterror.h:
2813         * gst/gstevent.h:
2814         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
2815         * gst/gstindex.c:
2816         * gst/gstinfo.c: (_gst_debug_init):
2817         * gst/gstmessage.c: (_gst_message_copy):
2818         * gst/gstmessage.h:
2819         * gst/gstminiobject.h:
2820         * gst/gstobject.c:
2821         * gst/gstobject.h:
2822         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
2823         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
2824         * gst/gstpad.h:
2825         * gst/gstparse.h:
2826         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2827         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
2828         (gst_pipeline_get_last_stream_time):
2829         * gst/gstpipeline.h:
2830         * gst/gstpluginfeature.h:
2831         * gst/gstquery.h:
2832         * gst/gstscheduler.c:
2833         * gst/gstscheduler.h:
2834         * gst/gststructure.h:
2835         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2836         (gst_task_finalize), (gst_task_func), (gst_task_create),
2837         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
2838         (gst_task_stop), (gst_task_pause):
2839         * gst/gsttask.h:
2840         * gst/gsttypefind.h:
2841         * gst/gsttypes.h:
2842         * gst/registries/gstlibxmlregistry.c: (load_feature),
2843         (gst_xml_registry_load), (gst_xml_registry_save_feature):
2844         * gst/registries/gstxmlregistry.c:
2845         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
2846         * gst/schedulers/threadscheduler.c:
2847         * libs/gst/control/dparammanager.h:
2848         * tools/gst-inspect.c: (print_element_list),
2849         (print_plugin_features), (print_element_features):
2850         * tools/gst-xmlinspect.c: (print_element_list),
2851         (print_plugin_info), (main):
2852         Removed plugable schedulers.
2853         Removed Scheduler/Manager from elements.
2854         Removed gsttypes.h, rearranged includes.
2855         Removed dependency pad<->element, element<>pipeline, and
2856         various others,  fix includes.
2857         implement gst_pad_get_parent() with gst_object_get_parent()
2858         Make GstTask sefcontained.
2859         Fix _get_state() on GstBin, it did not return ASYNC with a 0
2860         timeout.
2861         Fix endless loop in iterator_fold_with_resync.
2862
2863
2864 2005-07-18  Wim Taymans  <wim@fluendo.com>
2865
2866         * gst/Makefile.am:
2867         * gst/gstarch.h:
2868         Remove old file.
2869
2870 2005-07-18  Wim Taymans  <wim@fluendo.com>
2871
2872         * gst/Makefile.am:
2873         No more cothreads.h
2874
2875 2005-07-18  Wim Taymans  <wim@fluendo.com>
2876
2877         * gst/cothreads.c:
2878         * gst/cothreads.h:
2879         Let's remove these.
2880
2881 2005-07-18  Wim Taymans  <wim@fluendo.com>
2882
2883         * docs/design/part-dynamic.txt:
2884         * docs/design/part-events.txt:
2885         * docs/design/part-seeking.txt:
2886         Some more docs in the works.
2887
2888         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
2889         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
2890         (gst_base_transform_setcaps), (gst_base_transform_get_size),
2891         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
2892         (gst_base_transform_handle_buffer),
2893         (gst_base_transform_sink_activate_push),
2894         (gst_base_transform_src_activate_pull),
2895         (gst_base_transform_set_passthrough),
2896         (gst_base_transform_is_passthrough):
2897         Refcounting fixes.
2898
2899         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
2900         Cleanups.
2901
2902         * gst/gstevent.c: (gst_event_finalize):
2903         Set SRC to NULL.
2904
2905         * gst/gstutils.c: (gst_element_unlink),
2906         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
2907         (gst_pad_proxy_setcaps):
2908         * gst/gstutils.h:
2909         Add _get_parent_element() to get a pads parent as an element.
2910
2911 2005-07-18  Wim Taymans  <wim@fluendo.com>
2912
2913         * check/gst/gstbin.c: (GST_START_TEST):
2914         Remove bogus test.
2915
2916 2005-07-18  Wim Taymans  <wim@fluendo.com>
2917
2918         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2919         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2920         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2921         (gst_base_sink_event), (gst_base_sink_do_sync),
2922         (gst_base_sink_chain), (gst_base_sink_loop),
2923         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
2924         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2925         Refcounting fixes.
2926         Fix logic for returning ASYNC when not prerolled.
2927
2928 2005-07-18  Wim Taymans  <wim@fluendo.com>
2929
2930         * gst/gstqueue.c: (gst_queue_handle_sink_event):
2931         Fix nasty refcount bug.
2932
2933 2005-07-16 Philippe Khalaf <burger@speedy.org>
2934
2935         * gst/elements/gstfdsrc.c:
2936         * gst/elements/gstfdsrc.h:
2937         * gst/elements/gstelements.c:
2938         * gst/elements/Makefile.am:
2939         Ported fdsrc to 0.9.
2940
2941 2005-07-16  Wim Taymans  <wim@fluendo.com>
2942
2943         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2944         (gst_base_sink_do_sync):
2945         Fix compile error.
2946
2947 2005-07-16  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2950         (gst_base_sink_event), (gst_base_sink_get_times),
2951         (gst_base_sink_do_sync), (gst_base_sink_change_state):
2952         * gst/base/gstbasesink.h:
2953         Store and use discont values when syncing buffers as described
2954         in design docs.
2955         
2956         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
2957         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
2958         (gst_base_src_activate_push):
2959         Push discont event when starting.
2960
2961         * gst/elements/gstidentity.c: (gst_identity_transform):
2962         Small cleanups.
2963
2964         * gst/gstbin.c: (gst_bin_change_state):
2965         Small cleanups in base_time  distribution.
2966
2967         * gst/gstelement.c: (gst_element_set_base_time),
2968         (gst_element_get_base_time), (gst_element_change_state):
2969         * gst/gstelement.h:
2970         Added methods for the base_time of the element.
2971         Some MT fixes.
2972
2973         * gst/gstpipeline.c: (gst_pipeline_send_event),
2974         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
2975         (gst_pipeline_get_last_stream_time):
2976         * gst/gstpipeline.h:
2977         MT fixes.
2978         Handle seeking as described in design doc, remove stream_time
2979         hack.
2980         Cleanups clock and stream_time selection code. Added accessors
2981         for the stream_time.
2982         
2983
2984 2005-07-16  Andy Wingo  <wingo@pobox.com>
2985
2986         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
2987         (#305291).
2988
2989 2005-07-16  Wim Taymans  <wim@fluendo.com>
2990
2991         * check/gst/gstbin.c: (GST_START_TEST):
2992         Make elements silent as the deep_notify refs the
2993         parent, which might make the test fail.
2994
2995         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
2996         Don't hold the lock for too long.
2997
2998 2005-07-16  Tim-Philipp M??ller  <tim at centricular dot net>
2999
3000         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3001           Don't unref the caps we passed to gst_caps_make_writable() after
3002           passing them. gst_caps_make_writable() will do that for us.
3003
3004 2005-07-15  Andy Wingo  <wingo@pobox.com>
3005
3006         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
3007         (#157311).
3008
3009         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
3010         own marshalling function for the handoff signal. Properly type the
3011         buffer as a buffer. Fixes some warnings. Should do a more general
3012         solution.
3013         (gst_identity_class_init): Plug into the right marshaller.
3014
3015 2005-07-15  Wim Taymans  <wim@fluendo.com>
3016
3017         * docs/design/part-TODO.txt:
3018         * docs/design/part-clocks.txt:
3019         * docs/design/part-element-sink.txt:
3020         * docs/design/part-events.txt:
3021         * docs/design/part-gstpipeline.txt:
3022         Updated docs, mostly DISCONT related.
3023
3024 2005-07-15  Tim-Philipp M??ller  <tim at centricular dot net>
3025
3026         * docs/pwg/building-pads.xml:
3027           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
3028
3029 2005-07-15  Andy Wingo  <wingo@pobox.com>
3030
3031         * tools/gst-typefind.c: Update, add copyright block.
3032
3033         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
3034         Normalize and truncate caps before fixation.
3035
3036         * gst/gstcaps.h:
3037         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
3038         discards all but the first structure from its argument.
3039
3040 2005-07-15  Wim Taymans  <wim@fluendo.com>
3041
3042         * gst/base/gstbasetransform.c: (gst_base_transform_init),
3043         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
3044         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3045         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
3046         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
3047         (gst_base_transform_chain), (gst_base_transform_change_state),
3048         (gst_base_transform_set_passthrough),
3049         (gst_base_transform_is_passthrough):
3050         * gst/base/gstbasetransform.h:
3051         Make passthrough work using the bufferpools.
3052         Changed API a bit, subclasses have to write into a buffer
3053         provided by the base class.
3054         More debug info in nego functions.
3055         
3056         * gst/elements/gstidentity.c: (gst_identity_init),
3057         (gst_identity_transform):
3058         Port to new base class.
3059
3060 2005-07-15  Wim Taymans  <wim@fluendo.com>
3061
3062         * gst/gstmessage.c: (gst_message_new_state_changed):
3063         * tools/gst-launch.c: (event_loop), (main):
3064         Totally dump messages in -launch with the -m option.
3065         Fix message name for State messages,
3066
3067 2005-07-14  Wim Taymans  <wim@fluendo.com>
3068
3069         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3070         Post error messages on errors.
3071
3072 2005-07-14  Wim Taymans  <wim@fluendo.com>
3073
3074         * gst/gstcaps.c: (gst_caps_do_simplify):
3075         Remove debug info.
3076
3077         * gst/gsterror.h:
3078         Define error for stream stopped.
3079
3080         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3081         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
3082         Do proper return values.
3083
3084         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
3085         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
3086         (gst_pad_get_range):
3087         Better return values.
3088
3089         * gst/gstpad.h:
3090         Reorganise return values, add macro to check for fatal errors.
3091
3092         * gst/gstqueue.c: (gst_queue_chain):
3093         Return proper GstFlowReturn values,
3094
3095 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3096
3097         * docs/gst/gstreamer-sections.txt:
3098         * docs/gst/gstreamer.types:
3099         * docs/gst/tmpl/gst.sgml:
3100         * docs/gst/tmpl/gstbasesink.sgml:
3101         * docs/gst/tmpl/gstbasesrc.sgml:
3102         * docs/gst/tmpl/gstbasetransform.sgml:
3103         * docs/gst/tmpl/gstbin.sgml:
3104         * docs/gst/tmpl/gstbuffer.sgml:
3105         * docs/gst/tmpl/gstcaps.sgml:
3106         * docs/gst/tmpl/gstclock.sgml:
3107         * docs/gst/tmpl/gstcompat.sgml:
3108         * docs/gst/tmpl/gstconfig.sgml:
3109         * docs/gst/tmpl/gstelement.sgml:
3110         * docs/gst/tmpl/gstelementdetails.sgml:
3111         * docs/gst/tmpl/gstelementfactory.sgml:
3112         * docs/gst/tmpl/gstenumtypes.sgml:
3113         * docs/gst/tmpl/gsterror.sgml:
3114         * docs/gst/tmpl/gstevent.sgml:
3115         * docs/gst/tmpl/gstfakesink.sgml:
3116         * docs/gst/tmpl/gstfakesrc.sgml:
3117         * docs/gst/tmpl/gstfilesink.sgml:
3118         * docs/gst/tmpl/gstfilesrc.sgml:
3119         * docs/gst/tmpl/gstfilter.sgml:
3120         * docs/gst/tmpl/gstformat.sgml:
3121         * docs/gst/tmpl/gstghostpad.sgml:
3122         * docs/gst/tmpl/gstimplementsinterface.sgml:
3123         * docs/gst/tmpl/gstindex.sgml:
3124         * docs/gst/tmpl/gstindexfactory.sgml:
3125         * docs/gst/tmpl/gstinfo.sgml:
3126         * docs/gst/tmpl/gstiterator.sgml:
3127         * docs/gst/tmpl/gstmacros.sgml:
3128         * docs/gst/tmpl/gstmemchunk.sgml:
3129         * docs/gst/tmpl/gstminiobject.sgml:
3130         * docs/gst/tmpl/gstobject.sgml:
3131         * docs/gst/tmpl/gstpad.sgml:
3132         * docs/gst/tmpl/gstpadtemplate.sgml:
3133         * docs/gst/tmpl/gstparse.sgml:
3134         * docs/gst/tmpl/gstpipeline.sgml:
3135         * docs/gst/tmpl/gstplugin.sgml:
3136         * docs/gst/tmpl/gstpluginfeature.sgml:
3137         * docs/gst/tmpl/gstquery.sgml:
3138         * docs/gst/tmpl/gstqueue.sgml:
3139         * docs/gst/tmpl/gstregistry.sgml:
3140         * docs/gst/tmpl/gstregistrypool.sgml:
3141         * docs/gst/tmpl/gstscheduler.sgml:
3142         * docs/gst/tmpl/gstschedulerfactory.sgml:
3143         * docs/gst/tmpl/gststructure.sgml:
3144         * docs/gst/tmpl/gstsystemclock.sgml:
3145         * docs/gst/tmpl/gsttaglist.sgml:
3146         * docs/gst/tmpl/gsttagsetter.sgml:
3147         * docs/gst/tmpl/gsttrace.sgml:
3148         * docs/gst/tmpl/gsttrashstack.sgml:
3149         * docs/gst/tmpl/gsttypefind.sgml:
3150         * docs/gst/tmpl/gsttypefindfactory.sgml:
3151         * docs/gst/tmpl/gsttypes.sgml:
3152         * docs/gst/tmpl/gsturihandler.sgml:
3153         * docs/gst/tmpl/gsturitype.sgml:
3154         * docs/gst/tmpl/gstutils.sgml:
3155         * docs/gst/tmpl/gstvalue.sgml:
3156         * docs/gst/tmpl/gstversion.sgml:
3157         * docs/gst/tmpl/gstxml.sgml:
3158         * docs/libs/tmpl/gstcontrol.sgml:
3159         * docs/libs/tmpl/gstdataprotocol.sgml:
3160         * docs/libs/tmpl/gstdparam.sgml:
3161         * docs/libs/tmpl/gstdplinint.sgml:
3162         * docs/libs/tmpl/gstdpman.sgml:
3163         * docs/libs/tmpl/gstdpsmooth.sgml:
3164         * docs/libs/tmpl/gstgetbits.sgml:
3165         * docs/libs/tmpl/gstunitconvert.sgml:
3166         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
3167         (gst_push_src_base_init), (gst_push_src_class_init),
3168         (gst_push_src_init), (gst_push_src_create):
3169         * gst/base/gstpushsrc.h:
3170         * gst/elements/gstelements.c:
3171         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
3172         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
3173         (gst_fake_sink_init), (gst_fake_sink_set_property),
3174         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
3175         (gst_fake_sink_event), (gst_fake_sink_preroll),
3176         (gst_fake_sink_render), (gst_fake_sink_change_state):
3177         * gst/elements/gstfakesink.h:
3178         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3179         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3180         (gst_fake_src_base_init), (gst_fake_src_class_init),
3181         (gst_fake_src_init), (gst_fake_src_event_handler),
3182         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
3183         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
3184         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
3185         (gst_fake_src_create_buffer), (gst_fake_src_create),
3186         (gst_fake_src_start), (gst_fake_src_stop):
3187         * gst/elements/gstfakesrc.h:
3188         * gst/elements/gstfilesink.c: (_do_init),
3189         (gst_file_sink_base_init), (gst_file_sink_class_init),
3190         (gst_file_sink_init), (gst_file_sink_dispose),
3191         (gst_file_sink_set_location), (gst_file_sink_set_property),
3192         (gst_file_sink_get_property), (gst_file_sink_open_file),
3193         (gst_file_sink_close_file), (gst_file_sink_query),
3194         (gst_file_sink_event), (gst_file_sink_render),
3195         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
3196         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
3197         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
3198         * gst/elements/gstfilesink.h:
3199         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
3200         (gst_file_src_class_init), (gst_file_src_init),
3201         (gst_file_src_finalize), (gst_file_src_set_location),
3202         (gst_file_src_set_property), (gst_file_src_get_property),
3203         (gst_file_src_map_region), (gst_file_src_map_small_region),
3204         (gst_file_src_create_mmap), (gst_file_src_create_read),
3205         (gst_file_src_create), (gst_file_src_is_seekable),
3206         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
3207         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
3208         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
3209         (gst_file_src_uri_handler_init):
3210         * gst/elements/gstfilesrc.h:
3211           more autistic cleanliness in functions/names/defines
3212
3213 2005-07-13  Andy Wingo  <wingo@pobox.com>
3214
3215         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
3216         source couldn't negotiate.
3217
3218         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
3219         connections again.
3220
3221         * gst/gstutils.h:
3222         * gst/gstutils.c (gst_element_link_pads_filtered): New old
3223         function. I am channeling Hades. Put your boots on suckers!!!
3224
3225 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3226
3227         * testsuite/caps/Makefile.am:
3228         * testsuite/caps/value_compare.c:
3229         * testsuite/caps/value_intersect.c:
3230         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3231           move two testsuite apps over to the check dir
3232
3233 2005-07-12  Wim Taymans  <wim@fluendo.com>
3234
3235         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
3236         Added more debug info in the negotiate process.
3237
3238         * gst/gstmessage.h:
3239         Prepare for segment playback.
3240
3241         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
3242         Better debugging.
3243
3244         * gst/gstutils.c:
3245         Some more docs.
3246
3247         * tools/gst-launch.c: (main):
3248         NULL pipeline on errors.
3249
3250 2005-07-12  Andy Wingo  <wingo@pobox.com>
3251
3252         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
3253         not it comes from a malloc region. Make sure our copy gets freed.
3254
3255 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3256
3257         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3258         * check/gst/gstmessage.c: (GST_START_TEST):
3259         * check/gst/gststructure.c: (GST_START_TEST),
3260         (gst_structure_suite), (main):
3261           more testing
3262         * gst/gstelement.c: (gst_element_message_full):
3263           clean up GError and debug string now that they get copied
3264         * gst/gstmessage.c: (gst_message_new_error),
3265         (gst_message_new_warning), (gst_message_parse_error),
3266         (gst_message_parse_warning):
3267           use GST_TYPE_G_ERROR for structure_new, and take copies of
3268           arguments, so that we don't mess up refcounting
3269
3270 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3271
3272         * check/Makefile.am:
3273           add per-test valgrind targets
3274         * check/gst-libs/gdp.c: (GST_START_TEST),
3275         (gst_data_protocol_suite), (main):
3276           clean up
3277
3278 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3279
3280         * check/Makefile.am:
3281           instate more valgrindable tests
3282         * check/elements/gstfakesrc.c: (chain_func), (event_func),
3283         (GST_START_TEST), (fakesrc_suite):
3284         * check/gst/gstpad.c: (GST_START_TEST):
3285         * check/gst/gststructure.c: (GST_START_TEST):
3286           fix test leaks
3287         * docs/gst/tmpl/gstminiobject.sgml:
3288         * gst/gstpad.c: (gst_pad_finalize):
3289           fix the static mutex leak
3290
3291 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3292
3293         * check/Makefile.am:
3294           add two more tests for valgrinding
3295         * check/gst/gstvalue.c: (GST_START_TEST):
3296           test refcount of deserialized buffer, found a leak
3297         * docs/gst/gstreamer-docs.sgml:
3298         * docs/gst/gstreamer-sections.txt:
3299         * docs/gst/gstreamer.types:
3300         * docs/gst/tmpl/gstminiobject.sgml:
3301           add miniobject to docs
3302         * gst/gstminiobject.c:
3303           add some docs
3304         * gst/gstvalue.c: (gst_value_deserialize_buffer),
3305         (gst_string_unwrap):
3306           fix a hard-to-find invalid write for one of the tests
3307           fix a leak for deserialized buffers
3308
3309 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3310
3311         * docs/pwg/advanced-events.xml:
3312         * docs/pwg/advanced-request.xml:
3313         * docs/pwg/advanced-scheduling.xml:
3314         * docs/pwg/appendix-porting.xml:
3315         * docs/pwg/building-boiler.xml:
3316         * docs/pwg/intro-preface.xml:
3317         * docs/pwg/other-ntoone.xml:
3318           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
3319           of example code and explanation for pad activation, loop() and
3320           getrange() functions and a bit more. Remove old comments pointing
3321           to loop-functions.
3322         * examples/pwg/Makefile.am:
3323           Add loop/getrange examples.
3324
3325 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3326
3327         * configure.ac:
3328           check for valgrind binary + some fixes
3329         * check/gst.supp:
3330           valgrind suppressions for the tests
3331         * check/Makefile.am:
3332           add a valgrind: target that valgrinds the unit tests
3333         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
3334         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
3335         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3336         * check/gst/gstghostpad.c:
3337           added some cleanup
3338         * check/gst/gstdata.c:
3339           removed
3340         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
3341         (thread_unref), (gst_mini_object_suite), (main):
3342           added
3343         * gst/gst.c: (gst_deinit):
3344         * gst/gst.h:
3345           add a method to clean up.
3346         * gst/gstsystemclock.c: (gst_system_clock_dispose),
3347         (gst_system_clock_obtain):
3348           allow for disposing the system clock.
3349         * tools/gst-launch.c: (main):
3350           deinit
3351
3352 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3353
3354         * docs/gst/tmpl/gstbasesrc.sgml:
3355         * docs/gst/tmpl/gstfakesrc.sgml:
3356         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3357         (gst_base_src_init), (gst_base_src_set_property),
3358         (gst_base_src_get_property), (gst_base_src_get_range),
3359         (gst_base_src_start):
3360         * gst/base/gstbasesrc.h:
3361           add num-buffers property
3362         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3363         (gst_fakesrc_init), (gst_fakesrc_set_property),
3364         (gst_fakesrc_get_property), (gst_fakesrc_create),
3365         (gst_fakesrc_start):
3366           remove num-buffers property
3367
3368 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3369
3370         * docs/gst/gstreamer-sections.txt:
3371         * docs/gst/tmpl/gstbasesink.sgml:
3372         * docs/gst/tmpl/gstbasesrc.sgml:
3373         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
3374         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
3375         (gst_base_sink_finalize), (gst_base_sink_set_clock),
3376         (gst_base_sink_set_property), (gst_base_sink_get_property),
3377         (gst_base_sink_handle_object), (gst_base_sink_event),
3378         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3379         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
3380         (gst_base_sink_loop), (gst_base_sink_deactivate),
3381         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
3382         (gst_base_sink_change_state):
3383         * gst/base/gstbasesink.h:
3384         * gst/base/gstbasesrc.h:
3385         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
3386         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3387         (gst_filesink_init):
3388           more macro splitting
3389
3390 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3391
3392         * gst/gstelement.c: (gst_element_get_bus):
3393           add debug
3394         * tools/gst-launch.c: (check_intr), (event_loop):
3395           fix bus leaks
3396
3397 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3398
3399         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3400           fix a caps leak
3401
3402 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3403
3404         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3405         (gst_base_src_finalize):
3406           add finalize method and clean up properly
3407         * gst/gstpipeline.c: (gst_pipeline_dispose):
3408           add debug
3409
3410 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3411
3412         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
3413         (gst_bin_suite):
3414           add more things to check
3415         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
3416         * gst/gstelement.c:
3417           more debug
3418
3419 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3420
3421         * check/elements/gstfakesrc.c: (chain_func), (event_func),
3422         (GST_START_TEST), (fakesrc_suite):
3423         * check/gst-libs/gdp.c: (GST_START_TEST):
3424         * check/gst/gst.c: (GST_START_TEST):
3425         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3426         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3427         * check/gst/gstbus.c: (GST_START_TEST):
3428         * check/gst/gstcaps.c: (GST_START_TEST):
3429         * check/gst/gstdata.c: (GST_START_TEST):
3430         * check/gst/gstelement.c: (GST_START_TEST):
3431         * check/gst/gstghostpad.c: (GST_START_TEST):
3432         * check/gst/gstiterator.c: (GST_START_TEST):
3433         * check/gst/gstmessage.c: (GST_START_TEST):
3434         * check/gst/gstobject.c: (GST_START_TEST):
3435         * check/gst/gstpad.c: (GST_START_TEST):
3436         * check/gst/gststructure.c: (GST_START_TEST):
3437         * check/gst/gstsystemclock.c: (GST_START_TEST),
3438         (gst_systemclock_suite):
3439         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3440         * check/gst/gstvalue.c: (GST_START_TEST):
3441         * check/pipelines/cleanup.c: (GST_START_TEST):
3442         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3443         * check/states/sinks.c: (GST_START_TEST):
3444         * check/gstcheck.c: (gst_check_init):
3445         * check/gstcheck.h:
3446           add debugging category
3447           use GST_START_TEST now, so we add a debug line
3448
3449 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3450
3451         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
3452           add test for state change message on a bin
3453         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
3454           add another test
3455         * gst/gstbin.c: (gst_bin_init):
3456         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
3457         * gst/gstelement.c: (gst_element_post_message),
3458         (gst_element_set_state):
3459         * gst/gstelementfactory.c: (gst_element_factory_create):
3460         * gst/gstmessage.c: (gst_message_new):
3461         * gst/gstscheduler.c:
3462           various debugging additions and cleanups
3463
3464 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3465
3466         * check/Makefile.am:
3467         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
3468         (main):
3469           adding tests for elements
3470         * gst/gstelement.c: (gst_element_dispose):
3471
3472 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3473
3474         * gst/registries/gstlibxmlregistry.c: (load_feature):
3475           plug more leaks.  A simple gst_init() now is leakfree, yay.
3476
3477 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3478
3479         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
3480         (gst_xml_registry_load):
3481           plug another memleak
3482
3483 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3484
3485         * configure.ac:
3486           use GST_SET_ERROR_CFLAGS
3487         * docs/faq/cvs.xml:
3488           change to ERROR_CFLAGS
3489
3490 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3491
3492         * configure.ac:
3493           make GST_ERROR_CFLAGS overridable and re-enable Werror
3494         * docs/faq/cvs.xml:
3495           add a note about error CFLAGS
3496         * docs/gst/tmpl/gstfakesrc.sgml:
3497         * gst/elements/gstfakesrc.c:
3498           comment out some unused code
3499         * gst/gst.c: (split_and_iterate):
3500         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
3501         (load_feature):
3502           plug some memleaks
3503
3504 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3505
3506         * common/Makefile.am:
3507         * common/gtk-doc.mak:
3508         * docs/gst/Makefile.am:
3509           factor out gtk-doc.mak
3510
3511 2005-07-07  Wim Taymans  <wim@fluendo.com>
3512
3513         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
3514         (gst_thread_scheduler_dispose):
3515         Unlock the STREAM_LOCK completely.
3516
3517 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3518
3519         * check/Makefile.am:
3520         * check/elements/.cvsignore:
3521         * check/elements/gstfakesrc.c: (chain_func), (event_func),
3522         (START_TEST), (fakesrc_suite), (main):
3523         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3524         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3525         (gst_fakesrc_create), (gst_fakesrc_start):
3526         * gst/elements/gstfakesrc.h:
3527           adding a first element test
3528
3529 2005-07-07  Andy Wingo  <wingo@pobox.com>
3530
3531         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
3532         debug message.
3533
3534 2005-07-07  Wim Taymans  <wim@fluendo.com>
3535
3536         * gst/gstquery.c:
3537         * gst/gstquery.h:
3538         Remove old types
3539
3540 2005-07-07  Wim Taymans  <wim@fluendo.com>
3541
3542         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
3543         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
3544         Allow subclasses to implement their own negotiation.
3545
3546 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
3547
3548         * docs/design/part-gstbin.txt:
3549         * docs/design/part-gstpipeline.txt:
3550           Update design notes to reflect the movement of
3551           responsibility for bus handling from GstPipeline to
3552           GstBin
3553
3554 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
3555
3556         * configure.ac:
3557           Remove unnecessary queue2/3/4 examples.
3558
3559 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
3560
3561         * examples/Makefile.am:
3562         * examples/helloworld/helloworld.c: (event_loop), (main):
3563         * examples/queue/queue.c: (event_loop), (main):
3564         * examples/queue2/queue2.c: (main):
3565           Update a couple of the examples to work again.
3566
3567         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3568         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
3569          Spelling corrections and extra debug.
3570         
3571         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
3572         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
3573         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
3574         * gst/gstbin.h:
3575         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
3576         (gst_pipeline_change_state):
3577         * gst/gstpipeline.h:
3578           Move the bus handler for children to the GstBin, and create a
3579           separate bus for receiving messages from children to the one the
3580           bus sends 'upwards' on.
3581
3582 2005-07-06  Wim Taymans  <wim@fluendo.com>
3583
3584         * gst/base/README:
3585         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3586         (gst_base_sink_handle_object), (gst_base_sink_loop),
3587         (gst_base_sink_change_state):
3588         * gst/base/gstbasesink.h:
3589         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3590         (gst_base_src_init), (gst_base_src_setcaps),
3591         (gst_base_src_getcaps), (gst_base_src_loop),
3592         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
3593         (gst_base_src_start), (gst_base_src_change_state):
3594         * gst/base/gstbasesrc.h:
3595         Make basesrc negotiate.
3596         Handle the case where preroll fails in basesink.
3597         Update README.
3598
3599 2005-07-06  Wim Taymans  <wim@fluendo.com>
3600
3601         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
3602         Implement the fixate function.
3603         Clean up acceptcaps.
3604
3605 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3606
3607         * docs/pwg/building-filterfactory.xml:
3608         * docs/pwg/pwg.xml:
3609           Remove never-written filter-factory chapter; I'll add the various
3610           base classes to part 4 ("other element types") later on.
3611
3612 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3613
3614         * docs/pwg/advanced-negotiation.xml:
3615         * docs/pwg/building-boiler.xml:
3616         * docs/pwg/building-pads.xml:
3617         * docs/pwg/pwg.xml:
3618         * examples/pwg/Makefile.am:
3619           Add a chapter on caps negotiation, simplify the original code
3620           samples a bit w.r.t. caps negotiation, add link to the advanced
3621           section. Add a bunch of examples showing different use cases of
3622           different types of caps negotiation. Upstream renegotiation isn't
3623           fully documented yet since nobody knows how that works.
3624
3625 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3626
3627         * check/gst/gstpad.c:
3628         * check/gstcheck.c:
3629         * gst/gstpad.c: (gst_pad_get_internal_links_default):
3630           if pad has no parent, return NULL as list of internal links
3631
3632 2005-07-05  Andy Wingo  <wingo@pobox.com>
3633
3634         * gst/elements/gstfilesrc.c:
3635         * gst/elements/gstfakesrc.c: 
3636         * gst/base/gstpushsrc.c:
3637         * gst/base/gstbasesrc.h: 
3638         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
3639         
3640 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
3641
3642         * Makefile.am:
3643           better report generation target (lcov needs a patch)
3644
3645 2005-07-05  Andy Wingo  <wingo@pobox.com>
3646
3647         * gst/elements, testsuite: Null if we got it...
3648
3649 2005-07-05  Wim Taymans  <wim@fluendo.com>
3650
3651         * configure.ac:
3652         * libs/gst/dataprotocol/Makefile.am:
3653         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
3654         * libs/gst/dataprotocol/dataprotocol.h:
3655         * pkgconfig/Makefile.am:
3656         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
3657         * pkgconfig/gstreamer-dataprotocol.pc.in:
3658         Ported dataprotol to 0.9. 
3659         Added pkgconfig files.
3660
3661 2005-07-05  Andy Wingo  <wingo@pobox.com>
3662
3663         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
3664         Default to returning TRUE for the case when tranform_caps returns
3665         a fixed caps, like for identity or volume.
3666
3667         * check/gst/gstbus.c (pound_bus_with_messages): 
3668         * check/gst/gstmessage.c (START_TEST): 
3669         * check/pipelines/simple_launch_lines.c (got_handoff): Application
3670         message API change.
3671
3672         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
3673         logic weaks here: always run transform_caps, trying passthrough
3674         operation only if the original caps intersects with the transform.
3675
3676         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
3677         source and sink caps.
3678
3679         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
3680         Intersect the peer caps with the pad template before going into
3681         transform_caps.
3682         (gst_base_transform_transform_caps): More debugging.
3683
3684         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
3685         src argument.
3686
3687 2005-07-04  Edward Hervey  <edward@fluendo.com>
3688
3689         * gst/gstutils.c:
3690         * gst/gstutils.h:
3691         (gst_pad_add_*_probe): now returns the signal id for better wrapping
3692         in bindings.
3693
3694 2005-07-04  Andy Wingo  <wingo@pobox.com>
3695
3696         * check/gst/gstpad.c: Only set explicit caps on pads.
3697
3698 2005-07-01  Andy Wingo  <wingo@pobox.com>
3699
3700         * tests/network-clock.scm: Commentary update.
3701
3702         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
3703         Didn't really make sense, not implementable with basetransform,
3704         etc.
3705         (gst_identity_transform): Unref inbuf via make_writable. Feeble
3706         attempt at implementing the sync property, needs an unlock method.
3707
3708         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
3709         New func, by default returns the same caps (the identity
3710         transformation).
3711         (gst_base_transform_getcaps): Uses transform_caps to return
3712         something sensible.
3713         (gst_base_transform_setcaps): Complicated logic to get caps on
3714         both pads, even if they are different, and to call set_caps once
3715         for every time both pads get their caps set.
3716         (gst_base_transform_handle_buffer): Give the ref to the transform
3717         function. Allows in-place modification of the buffer.
3718
3719         * gst/base/gstbasetransform.h (transform_caps): New class method.
3720         Given caps on one side, what can I do on the other.
3721         (set_caps): Take two caps, one for each side of the element.
3722
3723         * gst/gstpad.h:
3724         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
3725         caps in place. This is safe because we can check the mutability of
3726         the caps, and a good idea because fixate functions are just called
3727         as a matter of last resort. (Not actually implemented.)
3728         (gst_pad_set_caps): If the caps we're setting is actually the same
3729         as the existing pad caps, just update the pointer without calling
3730         setcaps. Assert that caps is either NULL or fixed, as per the
3731         docs.
3732
3733         * gst/gstghostpad.c: Update for fixate changes.
3734
3735 2005-07-02  Andy Wingo  <wingo@pobox.com>
3736
3737         * gst/gstcaps.c:
3738         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
3739         two refcounts makes it immutable, which is enough. Doc more.
3740
3741 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
3742
3743         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
3744           Put the mini_object into GValue as a mini_object,
3745           not a gpointer, since that's how we declared
3746           the signal.
3747
3748 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3749
3750         * examples/pwg/Makefile.am:
3751           Fix buildbot again.
3752
3753 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3754
3755         * docs/pwg/building-testapp.xml:
3756           Add extra check.
3757         * examples/pwg/Makefile.am:
3758           Fix buildbot.
3759
3760 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3761
3762         * configure.ac:
3763         * examples/Makefile.am:
3764         * examples/pwg/Makefile.am:
3765         * examples/pwg/extract.pl:
3766           Enable building the PWG examples.
3767         * docs/pwg/advanced-interfaces.xml:
3768           Add URI interface stub.
3769         * docs/pwg/advanced-types.xml:
3770         * docs/pwg/other-autoplugger.xml:
3771         * docs/pwg/appendix-porting.xml:
3772         * docs/pwg/pwg.xml:
3773           Add porting guide (mostly stubs), remove autoplugging (see ADM).
3774         * docs/pwg/building-boiler.xml:
3775         * docs/pwg/building-chainfn.xml:
3776         * docs/pwg/building-pads.xml:
3777         * docs/pwg/building-props.xml:
3778         * docs/pwg/building-state.xml:
3779         * docs/pwg/building-testapp.xml:
3780           Update the building-*.xml parts for 0.9 changes. All examples
3781           code blocks compile in examples/pwg/*.
3782
3783 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3784
3785         * docs/manual/advanced-autoplugging.xml:
3786         * docs/manual/appendix-checklist.xml:
3787         * docs/manual/appendix-integration.xml:
3788         * docs/manual/highlevel-components.xml:
3789           Fix playbin/decodebin examples, update docs a bit, mention bus
3790           instead of signals in various places, mention kmplayer and
3791           kaffeine since they have a working GStreamer backend in the KDE
3792           section.
3793
3794 2005-06-30  Wim Taymans  <wim@fluendo.com>
3795
3796         * CHANGES-0.9:
3797         * docs/design/draft-ghostpads.txt:
3798         * docs/design/draft-push-pull.txt:
3799         * docs/design/draft-query.txt:
3800         * docs/design/part-TODO.txt:
3801         * docs/design/part-query.txt:
3802         Added CHANGES-0.9 doc, updated status of other docs.
3803         
3804         * gst/gstquery.h:
3805         Remove "hmm" macro
3806
3807 2005-06-30  Wim Taymans  <wim@fluendo.com>
3808
3809         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3810         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
3811         (gst_base_sink_change_state):
3812         * gst/base/gstbasesink.h:
3813         Some tweaks, only EOS and a buffer complete a preroll.
3814
3815 2005-06-30  Andy Wingo  <wingo@pobox.com>
3816
3817         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
3818         activate_push down to the internal pad as well.
3819
3820 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
3821
3822         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3823
3824         * gst/gsttaginterface.c:
3825           Some documentation fixes (#307394 and #307397).
3826
3827 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
3828
3829         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3830
3831         * gst/gstvalue.c: (gst_value_intersect_list):
3832           Fix memleak (#309125).
3833
3834 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3835
3836         * docs/manual/advanced-dataaccess.xml:
3837           Fix fakesrc example to compile; doesn't work, bug somewhere...?
3838         * docs/manual/basics-pads.xml:
3839           Add reference for filtered caps to above chapter.
3840
3841 2005-06-30  Wim Taymans  <wim@fluendo.com>
3842
3843         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
3844         (gst_bin_change_state):
3845         Probes are gone.
3846         Lame attempt at making the state change function a bit
3847         more readable.
3848
3849 2005-06-30  Wim Taymans  <wim@fluendo.com>
3850
3851         * docs/design/part-clocks.txt:
3852         * docs/design/part-element-sink.txt:
3853         * docs/design/part-events.txt:
3854         * docs/design/part-preroll.txt:
3855         * docs/design/part-states.txt:
3856         Some more tweeks and additions to the docs.
3857
3858 2005-06-30  Wim Taymans  <wim@fluendo.com>
3859
3860         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
3861         (default_have_data), (gst_pad_class_init), (gst_pad_init),
3862         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
3863         (gst_pad_check_pull_range), (gst_pad_get_range),
3864         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
3865         * gst/gstpad.h:
3866         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
3867         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3868         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3869         (gst_pad_remove_buffer_probe):
3870         Removed atomic operations, use existing LOCK.
3871         Move exception handling out of main code path.
3872
3873 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3874
3875         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
3876         (silly_return_true_function), (gst_pad_class_init),
3877         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
3878         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
3879         (gst_pad_send_event):
3880           Fix accumulator, add default value by using _emitv() instead
3881           of _emit() for signal emission.
3882
3883 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3884
3885         * docs/manual/advanced-dataaccess.xml:
3886         * examples/manual/Makefile.am:
3887           Add probe example.
3888         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
3889           Make work (??).
3890
3891 2005-06-29  Tim-Philipp M??ller  <tim at centricular dot net>
3892
3893         * gst/elements/gstfilesink.c: (gst_filesink_render):
3894           Simplify code so that we don't have to handle short
3895           writes and return GST_FLOW_ERROR if an error occured.
3896
3897 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3898
3899         * docs/gst/gstreamer-docs.sgml:
3900           Remove probes more.
3901
3902 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3903
3904         * docs/gst/gstreamer-sections.txt:
3905         * docs/gst/tmpl/gstpad.sgml:
3906         * docs/gst/tmpl/gstprobe.sgml:
3907         * gst/Makefile.am:
3908         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
3909         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
3910         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3911         (gst_pad_push_event), (gst_pad_send_event):
3912         * gst/gstpad.h:
3913         * gst/gstutils.c: (gst_pad_add_data_probe),
3914         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3915         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3916         (gst_pad_remove_buffer_probe):
3917         * gst/gstutils.h:
3918           Remove old probes, add new g-signal-based probes and some utility
3919           functions.
3920
3921 2005-06-29  Edward Hervey  <edward@fluendo.com>
3922
3923         * gst/gstelementfactory.c:
3924         * gst/gstutils.h:
3925         * gst/gstutils.c:
3926         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
3927         the definition to the header file.
3928
3929 2005-06-29  Andy Wingo  <wingo@pobox.com>
3930
3931         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
3932         plugins from the source directory.
3933
3934 2005-06-29  Wim Taymans  <wim@fluendo.com>
3935
3936         * docs/gst/tmpl/gstbuffer.sgml:
3937         * docs/gst/tmpl/gstclock.sgml:
3938         Some fixings for blantently wrong text.
3939
3940 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3941
3942         * check/Makefile.am:
3943         * gst/gst.c: (add_path_func), (init_pre):
3944         * gst/gstregistry.c: (gst_registry_add_path):
3945           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
3946           only scan the GST_PLUGIN_PATH locations, and not add
3947           system locations
3948
3949 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3950
3951         * docs/gst/gstreamer-sections.txt:
3952         * docs/gst/tmpl/gstbasesrc.sgml:
3953         * gst/gstelement.c:
3954         * gst/gstelement.h:
3955         * gst/gstevent.c:
3956         * gst/gstutils.c:
3957           doc fixes
3958
3959 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3960
3961         * docs/manual/advanced-autoplugging.xml:
3962           Fix autoplugging example.
3963
3964 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3965
3966         * docs/manual/advanced-autoplugging.xml:
3967         * docs/manual/mime-world.fig:
3968           Try to get autoplugging working, fix type detection. Fix text
3969           in hello-world image.
3970
3971 2005-06-29  Wim Taymans  <wim@fluendo.com>
3972
3973         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3974         (gst_base_sink_change_state):
3975         Small debug line.
3976
3977         * gst/gstclock.h:
3978         map SIGNAL and BROADCAST to the right function.
3979
3980         * gst/gstobject.h:
3981         Remove redundant braces.
3982
3983         * gst/gstpad.c: (gst_pad_set_caps):
3984         Don't call setcaps function when reseting caps to NULL.
3985
3986         * gst/gstsystemclock.c: (gst_system_clock_dispose),
3987         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
3988         (gst_system_clock_id_unschedule):
3989         Use BROADCAST as this is what we do.
3990
3991 2005-06-29  Wim Taymans  <wim@fluendo.com>
3992
3993         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3994         We are actually prerolling before commiting the state
3995         change. 
3996
3997 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3998
3999         * docs/manual/advanced-clocks.xml:
4000         * docs/manual/advanced-interfaces.xml:
4001         * docs/manual/advanced-metadata.xml:
4002         * docs/manual/advanced-position.xml:
4003         * docs/manual/advanced-schedulers.xml:
4004         * docs/manual/advanced-threads.xml:
4005         * docs/manual/appendix-porting.xml:
4006         * docs/manual/basics-bins.xml:
4007         * docs/manual/basics-bus.xml:
4008         * docs/manual/basics-elements.xml:
4009         * docs/manual/basics-helloworld.xml:
4010         * docs/manual/basics-pads.xml:
4011         * docs/manual/highlevel-components.xml:
4012         * docs/manual/manual.xml:
4013         * docs/manual/thread.fig:
4014           Update (until threads/scheduling) Application Development Manual;
4015           remove GstThread, add GstBus, add simple porting checklist, add
4016           documentation for tag writing, clocks, make all examples until this
4017           part compile and run.
4018         * examples/manual/Makefile.am:
4019           Update from changes to Application Development Manual; add bus
4020           example, remove thread example.
4021
4022 2005-06-28  Wim Taymans  <wim@fluendo.com>
4023
4024         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
4025         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
4026         (gst_bus_source_dispatch):
4027         Add debugging messages.
4028         Make internal methods static.
4029         Handle the case where the bus is flushed in the handler.
4030         
4031         * gst/gstelement.c: (gst_element_get_bus):
4032         Fix refcount in _get_bus();
4033
4034         * gst/gstpipeline.c: (gst_pipeline_change_state),
4035         (gst_pipeline_get_clock_func):
4036         Clock refcounting fixes.
4037         Handle the case where preroll timed out more gracefully.
4038         
4039         * gst/gstsystemclock.c: (gst_system_clock_dispose):
4040         Clean up the internal thread in dispose. This is needed
4041         for subclasses that actually get disposed.
4042         
4043         * gst/schedulers/threadscheduler.c:
4044         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4045         (gst_thread_scheduler_dispose):
4046         Free thread pool in dispose.
4047
4048 2005-06-28  Andy Wingo  <wingo@pobox.com>
4049
4050         * tests/network-clock-utils.scm (debug, print-event): New utils.
4051
4052         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
4053         (*packet-loss*): Unified loss probability.
4054         (network-time): Report out-of-band events.
4055
4056         * tests/plot-data: Add support for out-of-band events. Hack it
4057         into this script instead of passing it down the pipe; should fix
4058         this later.
4059
4060 2005-06-28  Wim Taymans  <wim@fluendo.com>
4061
4062         * docs/gst/gstreamer.types:
4063         * docs/gst/tmpl/gstbasesrc.sgml:
4064         * docs/gst/tmpl/gstpad.sgml:
4065         Docs fixes.
4066
4067 2005-06-28  Wim Taymans  <wim@fluendo.com>
4068
4069         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4070         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
4071         (gst_proxy_pad_do_fixatecaps):
4072         Correctly proxy the check_pull_range function.
4073
4074 2005-06-28  Andy Wingo  <wingo@pobox.com>
4075
4076         * tests/network-clock.scm: Removed need for slib.
4077         
4078 2005-06-28  Wim Taymans  <wim@fluendo.com>
4079
4080         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
4081         (gst_basesink_preroll_queue_flush):
4082         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
4083         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
4084         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4085         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4086         (gst_proxy_pad_set_property):
4087         * gst/gstpad.c:
4088         * gst/gstpad.h:
4089         * gst/gstqueue.c: (gst_queue_init):
4090         The deprecated pad loop function is removed now.
4091
4092 2005-06-28  Andy Wingo  <wingo@pobox.com>
4093
4094         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
4095         New parameters, simulate network packet loss.
4096
4097         * tests/network-clock-utils.scm: Initialize the RNG.
4098
4099 2005-06-28  Wim Taymans  <wim@fluendo.com>
4100
4101         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
4102         (gst_basesink_event), (gst_basesink_deactivate):
4103         Flushing the preroll queue always needs to unlock the waiters.
4104
4105 2005-06-28  Edward Hervey  <edward@fluendo.com>
4106
4107         * gst/gstpipeline.c: (gst_pipeline_send_event): 
4108         Wheen a seek was successful on a pipeline, set the stream_time to the
4109         seek offset in order to have a synchronized stream_time.
4110
4111 2005-06-28  Wim Taymans  <wim@fluendo.com>
4112
4113         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4114         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
4115         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
4116         (gst_proxy_pad_do_fixatecaps):
4117         Call wrapper function instead of just calling the function
4118         pointers. This takes care of any locking and whatmore.
4119
4120 2005-06-28  Wim Taymans  <wim@fluendo.com>
4121
4122         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
4123         (gst_pad_pull_range):
4124         * gst/gstpad.h:
4125         CONNECTED -> LINKED.
4126
4127 2005-06-28  Andy Wingo  <wingo@pobox.com>
4128
4129         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
4130         source-munging commit!!!
4131
4132         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
4133         (gst_object_sink): Take gpointer arguments, not GstObject --
4134         avoids casts. Like GLib.
4135
4136         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
4137         activate.
4138
4139 2005-06-27  Andy Wingo  <wingo@pobox.com>
4140
4141         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
4142         remaining buffer.
4143
4144         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
4145         returns a sorted copy of the trace list.
4146         (gst_alloc_trace_print_live): New API, only prints traces with
4147         live objects. Sort the list.
4148         (gst_alloc_trace_print_all): Sort the list.
4149         (gst_alloc_trace_print): Align columns.
4150
4151         * gst/elements/gstttypefindelement.c:
4152         * gst/elements/gsttee.c:
4153         * gst/base/gstbasesrc.c:
4154         * gst/base/gstbasesink.c:
4155         * gst/base/gstbasetransform.c:
4156         * gst/gstqueue.c: Adapt for pad activation changes.
4157
4158         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
4159         sched.
4160         (gst_pipeline_dispose): Drop ref on sched.
4161
4162         * gst/gstpad.c (gst_pad_init): Set the default activate func.
4163         (gst_pad_activate_default): Push mode by default.
4164         (pre_activate_switch, post_activate_switch): New stubs, things to
4165         do before and after switching activation modes on pads.
4166         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
4167         the pad's activate function to choose which mode to activate.
4168         Shortcut on deactivation and call the right function directly.
4169         (gst_pad_activate_pull): New API, (de)activates a pad in pull
4170         mode.
4171         (gst_pad_activate_push): New API, same for push mode.
4172         (gst_pad_set_activate_function) 
4173         (gst_pad_set_activatepull_function) 
4174         (gst_pad_set_activatepush_function): Setters for new API.
4175
4176         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
4177         Trace all miniobjects.
4178         (gst_mini_object_make_writable): Unref the arg if we copy, like
4179         gst_caps_make_writable.
4180
4181         * gst/gstmessage.c (_gst_message_initialize): No trace init.
4182
4183         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
4184         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
4185         Adapt for new pad API.
4186
4187         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
4188
4189         * gst/gstelement.h:
4190         * gst/gstelement.c (gst_element_iterate_src_pads) 
4191         (gst_element_iterate_sink_pads): New API functions.
4192         
4193         * gst/gstelement.c (iterator_fold_with_resync): New utility,
4194         should fold into gstiterator.c in some form.
4195         (gst_element_pads_activate): Simplified via use of fold and
4196         delegation of decisions to gstpad->activate.
4197
4198         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
4199         help in debugging.
4200
4201         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
4202         class once in init, like gstmessage. Didn't run into this issue
4203         but it seems correct. Don't initialize a trace, gstminiobject does
4204         that.
4205
4206         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
4207         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
4208         to the bus.
4209         (assert_live_count): New util function, uses alloc traces to check
4210         cleanup.
4211
4212         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
4213         To be modified when unlink drops the internal pad.
4214
4215 2005-06-27  Wim Taymans  <wim@fluendo.com>
4216
4217         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
4218         (gst_bin_change_state):
4219         Cleanup the get_state() function a little, make sure it
4220         iterates the same set of elements.
4221         Added stub iterate_state_order().
4222
4223 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4224
4225         * docs/gst/gstreamer-docs.sgml:
4226         * docs/gst/gstreamer-sections.txt:
4227         * docs/gst/gstreamer.types:
4228         * docs/gst/tmpl/gstbasesink.sgml:
4229         * docs/gst/tmpl/gstbasesrc.sgml:
4230         * docs/gst/tmpl/gstbasetransform.sgml:
4231         * docs/gst/tmpl/gstelement.sgml:
4232         * docs/gst/tmpl/gstiterator.sgml:
4233         * gst/base/gstbasesrc.c:
4234         * gst/base/gstbasesrc.h:
4235         * gst/base/gstbasetransform.h:
4236         * gst/gstelement.c:
4237         * gst/gstiterator.h:
4238           adding basetransform and iterator docs
4239
4240 2005-06-27  Andy Wingo  <wingo@pobox.com>
4241
4242         * docs/design/part-activation.txt: Notes on how activation should
4243         work -- not quite implemented yet.
4244
4245 2005-06-25  Wim Taymans  <wim@fluendo.com>
4246
4247         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
4248         At least get the chain function correct, needs more
4249         fixing.
4250
4251 2005-06-25  Wim Taymans  <wim@fluendo.com>
4252
4253         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4254         (gst_basesink_handle_object), (gst_basesink_event),
4255         (gst_basesink_do_sync), (gst_basesink_handle_event),
4256         (gst_basesink_change_state):
4257         * gst/gsttask.h:
4258         Right, two problems here: ghostpads don't take locks and
4259         glib _rec_mutex_lock_full() with depth==0 still locks.
4260         Catch illegal locking and g_warn them.
4261
4262 2005-06-25  Wim Taymans  <wim@fluendo.com>
4263
4264         * check/states/sinks.c: (START_TEST), (gst_object_suite):
4265         Have to check for completion now...
4266
4267 2005-06-25  Wim Taymans  <wim@fluendo.com>
4268
4269         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4270         (gst_basesink_handle_object), (gst_basesink_event),
4271         (gst_basesink_do_sync), (gst_basesink_handle_event),
4272         (gst_basesink_change_state):
4273         * gst/gstpad.h:
4274         Unlock STREAM_LOCK whatever the recursion was.
4275
4276 2005-06-25  Wim Taymans  <wim@fluendo.com>
4277
4278         * gst/base/gstbasesink.c: (gst_basesink_set_property),
4279         (gst_basesink_preroll_queue_empty),
4280         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
4281         (gst_basesink_event), (gst_basesink_do_sync),
4282         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
4283         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
4284         (gst_basesink_change_state):
4285         Reworked the base sink, handle event and buffer serialisation
4286         correctly and removed possible deadlock.
4287         Handle EOS correctly.
4288
4289 2005-06-25  Wim Taymans  <wim@fluendo.com>
4290
4291         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
4292         (gst_pipeline_change_state):
4293         * tools/gst-launch.c: (check_intr), (event_loop), (main):
4294         Allow elements to post EOS in the state change function.
4295         Fix up -launch, make it exit the poll loop when the
4296         pipeline actually changed state.
4297         Fix up warning parsing in -launch.
4298
4299 2005-06-25  Wim Taymans  <wim@fluendo.com>
4300
4301         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
4302         (gst_tee_sink_activate):
4303         Core takes STREAM_LOCK for us now.
4304
4305 2005-06-25  Wim Taymans  <wim@fluendo.com>
4306
4307         * gst/gstelement.c: (gst_element_get_state_func),
4308         (gst_element_set_state):
4309         * gst/gstelement.h:
4310         * gst/gstmessage.c: (gst_message_parse_error),
4311         (gst_message_parse_warning):
4312         Keep track of current target state while performing a state
4313         change so that subclasses can do something interesting.
4314         Fix parsing of warning/error messages when GError is NULL.
4315
4316 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4317
4318         * docs/gst/Makefile.am:
4319         * docs/gst/gstreamer-docs.sgml:
4320         * docs/gst/gstreamer-sections.txt:
4321         * docs/gst/gstreamer.types:
4322         * docs/gst/tmpl/gstbasesink.sgml:
4323         * docs/gst/tmpl/gstbasesrc.sgml:
4324         * docs/gst/tmpl/gstbin.sgml:
4325         * docs/gst/tmpl/gstcompat.sgml:
4326         * docs/gst/tmpl/gstfakesink.sgml:
4327         * docs/gst/tmpl/gstfakesrc.sgml:
4328         * docs/gst/tmpl/gstfilesink.sgml:
4329         * docs/gst/tmpl/gstfilesrc.sgml:
4330         * docs/gst/tmpl/gstindex.sgml:
4331         * docs/manual/appendix-quotes.xml:
4332         * gst/base/gstbasesrc.h:
4333         * gst/elements/gstfakesrc.h:
4334         * gst/gstmessage.h:
4335           start pulling in base classes and elements in our docs
4336
4337 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
4338
4339         * docs/gst/Makefile.am:
4340         * docs/libs/Makefile.am:
4341           fixed make distcheck with gtk-doc 1.3
4342
4343 2005-06-23  Wim Taymans  <wim@fluendo.com>
4344
4345         * gst/gstelement.c: (gst_element_get_state_func),
4346         (gst_element_set_state), (gst_element_change_state):
4347         When the state did not change, also report NO_PREROLL
4348         when it matters.
4349
4350 2005-06-23  Wim Taymans  <wim@fluendo.com>
4351
4352         * gst/gstpad.c: (gst_pad_event_default):
4353         * gst/gstqueue.c: (gst_queue_loop):
4354         No unsafe task pausing please.
4355
4356 2005-06-23  Wim Taymans  <wim@fluendo.com>
4357
4358         * gst/schedulers/threadscheduler.c:
4359         (gst_thread_scheduler_task_start),
4360         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
4361         Ref the task before pushing it on the threadpool. This
4362         makes sure that we have a ref when the threadfunction is
4363         actually called.
4364
4365 2005-06-23  Andy Wingo  <wingo@pobox.com>
4366
4367         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
4368         offset is greater than the file's size.
4369
4370         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
4371         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
4372         * gst/gstobject.c (gst_object_class_init): Make the class lock
4373         recursive. Wim won't let me drop deep_notify. Decodebin works
4374         again, whoopdy doo.
4375
4376         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
4377         internal pad, and hacks accordingly. Doesn't do it on the target
4378         pad because we change its caps. Probably catches all cases of
4379         interest tho.
4380         (gst_ghost_pad_set_property): Connect to notify::caps as
4381         appropritate.
4382
4383         * tests/network-clock.scm (plot-simulation): Pipe data to the
4384         elite python skript.
4385
4386         * tests/network-clock-utils.scm (define-parameter): New macro,
4387         defines a parameter that can be set via the command line.
4388         (set-parameter!, parse-parameter-arguments): Command line args
4389         parser.
4390
4391         * tests/plot-data: Simple matplotlib-based plotter, takes input on
4392         stdin.
4393
4394 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
4395
4396         * gst/elements/gsttypefindelement.c:
4397         (gst_type_find_element_handle_event):
4398           Don't restart typefinding on a discont.
4399         * gst/gstelement.c: (gst_element_set_state):
4400           Debug spelling fix.
4401         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
4402           Allow changing mode of an active pad.
4403           Debug output fixes.
4404         * gst/registries/gstlibxmlregistry.c: (load_feature):
4405           Don't cast a static pad template to a normal pad template.
4406
4407 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4408
4409         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
4410         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4411           remove gst_strtoll completely, since it didn't actually do
4412           anything more than what g_ascii_strtoull already does.
4413           check for range errors when deserializing
4414           do a cast for the unsigned cases; but further fixing needs
4415           a decision on what the interpretation of "(int)" and
4416           deserialization should be for values that fall outside the
4417           type's boundaries (ie, refuse, or interpret as casting)
4418
4419 2005-06-23  Wim Taymans  <wim@fluendo.com>
4420
4421         * check/Makefile.am:
4422         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
4423         * docs/design/part-live-source.txt:
4424         * docs/design/part-states.txt:
4425         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4426         (gst_basesrc_set_live), (gst_basesrc_is_live),
4427         (gst_basesrc_get_range), (gst_basesrc_activate),
4428         (gst_basesrc_change_state):
4429         * gst/base/gstbasesrc.h:
4430         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4431         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4432         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
4433         * gst/gstelement.c: (gst_element_get_state_func),
4434         (gst_element_set_state):
4435         * gst/gstelement.h:
4436         * gst/gsttypes.h:
4437         * tools/gst-launch.c: (event_loop), (main):
4438         Added support for live sources and other elements that
4439         cannot do preroll.
4440         Updated design docs, added live-source design doc.
4441         Implemented live source functionality in basesrc
4442         Fix error condition in _bin_get_state()
4443         Implement live source handling in -launch.
4444         Added check for live sources.
4445         Fixed case in GstBin where elements were changed state
4446         multiple times.
4447
4448
4449 2005-06-23  Andy Wingo  <wingo@pobox.com>
4450
4451         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
4452         borken refcounting.
4453
4454         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
4455         gst_caps_replace takes care of this for us.
4456
4457         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
4458         gst_pad_set_caps on the target, not just its setcaps() function.
4459
4460         * tests/network-clock.scm: 
4461         * tests/network-clock-utils.scm: A network clock simulator.
4462         Something of an algorithmic testbed before doing something in C.
4463
4464 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4465
4466         * check/Makefile.am:
4467         * check/gst/capslist.h:
4468           copy over from 0.8, and add two with bitmasks specified with
4469           (int) 0xFF...
4470         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
4471           add test to parse everything from capslist.h
4472         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
4473         (main):
4474           add test for structure deserialization
4475         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
4476           add tests for deserialization of strings to int types
4477         * gst/gststructure.c: (gst_structure_nth_field_name):
4478         * gst/gststructure.h:
4479           add a way to get the name of a field referenced by index
4480         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4481           instead of checking if the resulting long long lies between
4482           min and max, we check if the long long would fit into
4483           a number of bytes for the final type.
4484           This fixes cases where a string represents 2^32 - 1, which
4485           when cast to int would be the (valid) -1, but is bigger than
4486           G_MAXINT
4487
4488 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4489
4490         * gst/parse/grammar.y:
4491           add a log line for type deserialization
4492
4493 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4494
4495         * check/gst/gstvalue.c: (START_TEST):
4496         * gst/gstvalue.c: (gst_value_deserialize):
4497           return long long, not int, so gint64 deserialization actually
4498           works.  Is there any flag that makes the compiler check this ?
4499           Fixes #308559
4500
4501 2005-06-22  Wim Taymans  <wim@fluendo.com>
4502
4503         * gst/gstbuffer.h:
4504         Added convenience macros for setting buffers in GValue.
4505
4506 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4507
4508         * check/gst/.cvsignore:
4509         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
4510           add a test deserializing int64, and comment part out because
4511           it fails, yay !
4512
4513 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4514
4515         * check/Makefile.am:
4516         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
4517         * testsuite/Makefile.am:
4518         * testsuite/caps/Makefile.am:
4519         * testsuite/caps/value_serialize.c:
4520         * testsuite/test_gst_init.c:
4521           move a value_serialize test over
4522
4523 2005-06-20  Wim Taymans  <wim@fluendo.com>
4524
4525         * gst/gstpad.c:
4526         Small doc updates.
4527         
4528         * gst/gstvalue.c: (gst_value_compare_buffer),
4529         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
4530         (gst_value_compare_flags), (gst_value_serialize_flags),
4531         (gst_value_deserialize_flags), (_gst_value_initialize):
4532         Fix serialisation of buffers, they are not boxed types anymore
4533
4534 2005-06-20  Wim Taymans  <wim@fluendo.com>
4535
4536         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
4537         Testcase to show error in buffer-on-caps serialisation.
4538
4539 2005-06-20  Andy Wingo  <wingo@pobox.com>
4540
4541         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
4542         will be adding to later.
4543
4544         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
4545         if its socks fill with rocks.
4546         (gst_system_clock_obtain): Set the name on object construction.
4547         Avoid double-checked locking.
4548
4549 2005-06-20  Tim-Philipp M??ller  <tim at centricular dot net>
4550
4551         * gst/gsturi.c: (gst_element_make_from_uri):
4552           Fix potential endless loop.
4553
4554 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4555
4556         * check/Makefile.am:
4557           add gsttag
4558         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
4559         (main):
4560           move over from testsuite dir and clean up
4561         * configure.ac:
4562         * gst/gsttag.c:
4563         * testsuite/Makefile.am:
4564         * testsuite/tags/.cvsignore:
4565         * testsuite/tags/Makefile.am:
4566         * testsuite/tags/merge.c:
4567           remove testsuite/tags
4568
4569 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4570
4571         * docs/gst/gstreamer-sections.txt:
4572         * docs/gst/tmpl/gstenumtypes.sgml:
4573         * win32/gstenumtypes.c:
4574           clean up documentation build a little
4575
4576 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4577
4578         * check/gstcheck.h:
4579           add macros for checking refcounts on objects and caps
4580         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
4581           add some more unit tests
4582         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4583         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
4584           fix leaked refcounts (I hope :)) so unittest works
4585         * gst/gstpad.h:
4586           whitespace removal
4587
4588 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4589
4590         * configure.ac: back to HEAD
4591
4592 === release 0.9.1 ===
4593
4594 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4595
4596         * NEWS:
4597         * RELEASE:
4598           updated
4599
4600 2005-06-17  Andy Wingo  <wingo@pobox.com>
4601
4602         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
4603         assert; it's always possible that the pad gets deactivated in
4604         between the checks in gstpad.c and the implementation. Rely on
4605         finish_preroll() to return a FLUSHING or similar instead of on the
4606         assert.
4607         
4608         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
4609         clock and post an EOS message if we come out of finish_preroll in
4610         the playing state.
4611
4612 2005-06-16  David Schleef  <ds@schleef.org>
4613
4614         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4615         (gst_capsfilter_set_property): Allow NULL as possible value
4616         for filter_caps property, indicating GST_CAPS_ANY.
4617
4618 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4619
4620         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
4621           fix debug output
4622         * gst/schedulers/Makefile.am:
4623           use libgst prefix
4624         * gstreamer.spec.in:
4625           fix spec for it
4626
4627 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4628
4629         * gstreamer.spec.in:
4630           clean up
4631
4632 2005-06-08  Andy Wingo  <wingo@pobox.com>
4633
4634         * gst/gstutils.c: RPAD fixes all around.
4635         (gst_element_link_pads): Refcounting fixes.
4636
4637         * tools/gst-inspect.c:
4638         * tools/gst-xmlinspect.c:
4639         * parse/grammar.y:
4640         * gst/base/gsttypefindhelper.c:
4641         * gst/base/gstbasesink.c:
4642         * gst/gstqueue.c: RPAD fixes.
4643
4644         * gst/gstghostpad.h:
4645         * gst/gstghostpad.c: New ghost pad implementation as full proxy
4646         pads. The tricky thing is they provide both source and sink
4647         interfaces, since they proxy the internal pad for the external
4648         pad, and vice versa. Implement with lower-level ProxyPad objects,
4649         with the interior proxy pad as a child of the exterior ghost pad.
4650         Should write a doc on this.
4651         
4652         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
4653         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
4654         gst_object API.
4655         
4656         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
4657         pads are real pads. No ghost pads in this file. Not documenting
4658         the myriad s/RPAD/PAD/ and REALIZE fixes.
4659         (gst_pad_class_init): Add properties for "direction" and
4660         "template". Both are construct-only, so they can't change during
4661         the life of the pad. Fixes properly deriving from GstPad.
4662         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
4663         derived objects, just set properties when creating the objects via
4664         g_object_new.
4665         (gst_pad_get_parent): Implement as a function, return NULL if the
4666         parent is not an element.
4667         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
4668         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
4669         
4670         * gst/gstobject.c (gst_object_class_init): Make name a construct
4671         property. Don't set it in the object init.
4672
4673         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
4674         with UNKNOWN direction.
4675         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
4676         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
4677         (gst_element_remove_pad): Remove ghost-pad special cases.
4678         (gst_element_pads_activate): Remove rpad cruft.
4679
4680         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
4681         catch the pad's-parent-not-an-element case.
4682
4683         * gst/gst.h: Include gstghostpad.h.
4684
4685         * gst/gst.c (init_post): No more real, ghost pads.
4686
4687         * gst/Makefile.am: Add gstghostpad.[ch].
4688
4689         * check/Makefile.am:
4690         * check/gst/gstbin.c:
4691         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
4692         into a bin creates ghost pads, and that the refcounts are right.
4693         Partly moved from gstbin.c.
4694
4695 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4696
4697         * check/gst-libs/.cvsignore:
4698         * check/gst/.cvsignore:
4699         * check/pipelines/.cvsignore:
4700           ignore more
4701         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
4702         (START_TEST), (cleanup_suite), (main):
4703           add some tests related to cleanup after running pipelines
4704
4705 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4706
4707         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
4708           add a testsuite for GstBuffer
4709
4710 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4711
4712         * gst/gstminiobject.h:
4713           add defines for accessing the refcount
4714
4715 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
4716
4717         * Makefile.am: added support for html unit test coverage reports
4718
4719 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
4720
4721         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
4722           Free existing caps if the capsfilter changes. Add a FIXME about
4723           setting those caps on the pads.
4724
4725         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
4726           Before adding a ghost pad to a parent bin, check that there isn't
4727           already one for the element on the bin. Prevents infinite recursion
4728           when using decodebin in parse pipelines. Andy says he'll rewrite the
4729           way this works anyway, so ignore the hack.
4730
4731 2005-06-02  Andy Wingo  <wingo@pobox.com>
4732
4733         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
4734         file size, pass it on to the type find helper.
4735
4736         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
4737         segment_start and segment_end properly according to the seek
4738         method. Segment_end is still a bit flaky because offset can be
4739         negative for CUR and END cases, but it takes -1 as an "unset"
4740         value.
4741
4742 2005-06-02  Wim Taymans  <wim@fluendo.com>
4743
4744         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
4745         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
4746         (gst_basesink_activate):
4747         * gst/base/gstbasesink.h:
4748         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
4749         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
4750         (gst_pad_query), (gst_pad_start_task):
4751         * gst/gstpad.h:
4752         * gst/gstqueue.c: (gst_queue_bufferalloc),
4753         (gst_queue_handle_sink_event), (gst_queue_chain):
4754         Bufferalloc: return GstFlowReturn to more accuratly report
4755         why allocation failed.
4756
4757 2005-06-02  Wim Taymans  <wim@fluendo.com>
4758
4759         * gst/gstpipeline.c: (gst_pipeline_send_event):
4760         Take snapshot of state without blocking.
4761
4762 2005-06-02  Wim Taymans  <wim@fluendo.com>
4763
4764         * docs/design/part-TODO.txt:
4765         * docs/design/part-caps.txt:
4766         * docs/design/part-clocks.txt:
4767         * docs/design/part-negotiation.txt:
4768         * docs/design/part-preroll.txt:
4769         Small doc updates 
4770
4771 2005-05-30  Wim Taymans  <wim@fluendo.com>
4772
4773         * gst/elements/gstidentity.c: (gst_identity_event),
4774         (gst_identity_transform), (gst_identity_get_property):
4775         Protect last_message property as it is accessed from
4776         multiple threads.
4777
4778 2005-05-30  Wim Taymans  <wim@fluendo.com>
4779
4780         * gst/gstelement.c: (gst_element_init),
4781         (gst_element_pads_activate), (gst_element_change_state):
4782         Slicker pad activation code.
4783
4784 2005-05-30  Wim Taymans  <wim@fluendo.com>
4785
4786         * gst/Makefile.am:
4787         * gst/gstelement.h:
4788         * gst/gstelementfactory.h:
4789         * gst/gsttypes.h:
4790         Move elementfactory methods to separate .h file.
4791
4792 2005-05-30  Wim Taymans  <wim@fluendo.com>
4793
4794         * docs/design/part-overview.txt:
4795         * gst/gstsystemclock.h:
4796         Small typo fixes, doc updates.
4797
4798 2005-05-30  Wim Taymans  <wim@fluendo.com>
4799
4800         * gst/gst.c: (gst_init_get_popt_table), (init_post),
4801         (init_popt_callback):
4802         Remove cpu-opt flag.
4803
4804 2005-05-30  Wim Taymans  <wim@fluendo.com>
4805
4806         * gst/gstbuffer.c: (gst_subbuffer_finalize),
4807         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
4808         * gst/gstbuffer.h:
4809         Avoid typechecking in places where not needed.
4810         Added accessor for malloc_data.
4811
4812 2005-05-30  Wim Taymans  <wim@fluendo.com>
4813
4814         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
4815         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
4816         (gst_pad_configure_sink), (gst_pad_configure_src),
4817         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
4818         (gst_pad_start_task):
4819         Propagate errors from _set_caps() in configure_src/sink
4820         functions instead of returning TRUE.
4821         FLUSH events can travel up and downstream
4822
4823
4824 2005-05-30  Wim Taymans  <wim@fluendo.com>
4825
4826         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
4827         (gst_basesink_activate):
4828         Handle EOS in preroll.
4829
4830 2005-05-30  Wim Taymans  <wim@fluendo.com>
4831
4832         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4833         (gst_queue_loop), (gst_queue_handle_src_event):
4834         Remove old pieces of code
4835         Flushing the queue in an upstream event is a very bad idea.
4836
4837 2005-05-26  Andy Wingo  <wingo@pobox.com>
4838
4839         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
4840         gst_value_set_mini_object so as to add a ref on the object (which
4841         will be removed when the value is unset).
4842
4843         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
4844         arg type in ::handoff.
4845
4846         * gst/gstelement.c (gst_element_change_state): Also deactivate
4847         pads in READY->NULL, just in case the element didn't make it to
4848         PAUSED. Wingo tested, Wim approved.
4849
4850 2005-05-26  Wim Taymans  <wim@fluendo.com>
4851
4852         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
4853         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
4854         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
4855         A flushing pad cannot be used to alloc_buffer from.
4856
4857 2005-05-26  Wim Taymans  <wim@fluendo.com>
4858
4859         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
4860         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
4861         (gst_bus_source_dispatch), (gst_bus_source_finalize),
4862         (gst_bus_create_watch), (gst_bus_add_watch_full):
4863         * gst/gstbus.h:
4864         Implement a real GSource and use g_main_context_wakeup() to
4865         signal new messages instead of the socketpair.
4866
4867 2005-05-25  Wim Taymans  <wim@fluendo.com>
4868
4869         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
4870         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
4871         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
4872         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
4873         (gst_pad_send_event), (gst_pad_start_task):
4874         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
4875         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
4876         (gst_queue_sink_activate), (gst_queue_src_activate),
4877         (gst_queue_change_state):
4878         * gst/gstqueue.h:
4879         Fix state changes for non sinks. We now change sinks, then elements
4880         with unconnected srcpads, then the rest.
4881         More efficient queue unlocking in flush and state changes.
4882         Set the pad activate mode even if it does not have an activate
4883         function.
4884
4885 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4886
4887         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
4888           Don't go in pull mode for non-seekable sources.
4889         * gst/elements/gsttypefindelement.h:
4890         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4891         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
4892         (free_entry), (stop_typefinding),
4893         (gst_type_find_element_handle_event), (find_peek),
4894         (gst_type_find_element_chain), (do_pull_typefind),
4895         (gst_type_find_element_change_state):
4896           Allow typefinding (w/o seeking) in push-mode, simplified version
4897           of what was in 0.8.
4898         * gst/gstutils.c: (gst_buffer_join):
4899         * gst/gstutils.h:
4900           gst_buffer_join() from 0.8.
4901
4902 2005-05-25  Wim Taymans  <wim@fluendo.com>
4903
4904         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
4905         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
4906         (gst_pad_send_event), (gst_pad_start_task):
4907         Disable attempt at mode switching until it is figured out.
4908
4909 2005-05-25  Wim Taymans  <wim@fluendo.com>
4910
4911         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
4912         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
4913         (gst_basesink_finish_preroll), (gst_basesink_chain),
4914         (gst_basesink_loop), (gst_basesink_activate),
4915         (gst_basesink_change_state):
4916         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
4917         (gst_basesrc_get_range), (gst_basesrc_loop),
4918         (gst_basesrc_activate):
4919         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4920         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4921         (gst_real_pad_init), (gst_real_pad_set_property),
4922         (gst_real_pad_get_property), (gst_pad_set_active),
4923         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
4924         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
4925         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
4926         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
4927         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4928         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
4929         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
4930         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
4931         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
4932         (gst_pad_stop_task):
4933         * gst/gstpad.h:
4934         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4935         (gst_queue_loop), (gst_queue_src_activate):
4936         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
4937         (gst_task_get_state):
4938         * gst/gsttask.h:
4939         * gst/schedulers/threadscheduler.c:
4940         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
4941         Implement gst_pad_pause/start/stop_task(), take STREAM lock
4942         in task function.
4943         Remove ACTIVE pad flag, use FLUSHING everywhere
4944         Added _pad_chain(), _pad_get_range() to call chain/getrange 
4945         functions.
4946         Add locks around IS_FLUSHING when reading.
4947         Take STREAM lock in chain(), get_range() functions so plugins
4948         don't need to take it anymore.
4949         
4950
4951
4952 2005-05-25  Wim Taymans  <wim@fluendo.com>
4953
4954         * tools/gst-launch.c: (event_loop):
4955         Unref message after using its contents instead of
4956         before.
4957
4958 2005-05-24  Wim Taymans  <wim@fluendo.com>
4959
4960         * docs/design/draft-ghostpads.txt:
4961         * docs/design/draft-push-pull.txt:
4962         * docs/design/draft-query.txt:
4963         * docs/design/part-overview.txt:
4964         Docs updates, added general overview doc.
4965
4966 2005-05-21  David Schleef  <ds@schleef.org>
4967
4968         * docs/gst/tmpl/old/GstBin.sgml:
4969         * docs/gst/tmpl/old/GstBuffer.sgml:
4970         * docs/gst/tmpl/old/GstCaps.sgml:
4971         * docs/gst/tmpl/old/GstClock.sgml:
4972         * docs/gst/tmpl/old/GstCompat.sgml:
4973         * docs/gst/tmpl/old/GstData.sgml:
4974         * docs/gst/tmpl/old/GstElement.sgml:
4975         * docs/gst/tmpl/old/GstEvent.sgml:
4976         * docs/gst/tmpl/old/GstIndex.sgml:
4977         * docs/gst/tmpl/old/GstStructure.sgml:
4978         * docs/gst/tmpl/old/GstTag.sgml:
4979         * docs/gst/tmpl/old/cothreads.sgml:
4980         * docs/gst/tmpl/old/cothreads_compat.sgml:
4981         * docs/gst/tmpl/old/gettext.sgml:
4982         * docs/gst/tmpl/old/gobject2gtk.sgml:
4983         * docs/gst/tmpl/old/grammar.tab.sgml:
4984         * docs/gst/tmpl/old/gst-i18n-app.sgml:
4985         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
4986         * docs/gst/tmpl/old/gst_private.sgml:
4987         * docs/gst/tmpl/old/gstaggregator.sgml:
4988         * docs/gst/tmpl/old/gstarch.sgml:
4989         * docs/gst/tmpl/old/gstatomic_impl.sgml:
4990         * docs/gst/tmpl/old/gstbufferstore.sgml:
4991         * docs/gst/tmpl/old/gstdata_private.sgml:
4992         * docs/gst/tmpl/old/gstdisksink.sgml:
4993         * docs/gst/tmpl/old/gstdisksrc.sgml:
4994         * docs/gst/tmpl/old/gstelementfactory.sgml:
4995         * docs/gst/tmpl/old/gstextratypes.sgml:
4996         * docs/gst/tmpl/old/gstfakesink.sgml:
4997         * docs/gst/tmpl/old/gstfakesrc.sgml:
4998         * docs/gst/tmpl/old/gstfdsink.sgml:
4999         * docs/gst/tmpl/old/gstfdsrc.sgml:
5000         * docs/gst/tmpl/old/gstfilesink.sgml:
5001         * docs/gst/tmpl/old/gstfilesrc.sgml:
5002         * docs/gst/tmpl/old/gsthttpsrc.sgml:
5003         * docs/gst/tmpl/old/gstidentity.sgml:
5004         * docs/gst/tmpl/old/gstindexfactory.sgml:
5005         * docs/gst/tmpl/old/gstmarshal.sgml:
5006         * docs/gst/tmpl/old/gstmd5sink.sgml:
5007         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
5008         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
5009         * docs/gst/tmpl/old/gstpadtemplate.sgml:
5010         * docs/gst/tmpl/old/gstpipefilter.sgml:
5011         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
5012         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
5013         * docs/gst/tmpl/old/gstshaper.sgml:
5014         * docs/gst/tmpl/old/gstspider.sgml:
5015         * docs/gst/tmpl/old/gstspideridentity.sgml:
5016         * docs/gst/tmpl/old/gststatistics.sgml:
5017         * docs/gst/tmpl/old/gsttee.sgml:
5018         * docs/gst/tmpl/old/gsttimecache.sgml:
5019         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
5020         * docs/gst/tmpl/old/gstxmlregistry.sgml:
5021         * docs/gst/tmpl/old/gthread-cothreads.sgml:
5022         * docs/gst/tmpl/old/types.sgml:
5023           I didn't intend to add these or check them in.
5024
5025 2005-05-19  David Schleef  <ds@schleef.org>
5026
5027         * configure.ac: Use -no-common everywhere.  In a sane world, it
5028           would be the default in libtool, because without it, you can't
5029           build DLLs on Windows.
5030         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
5031         * docs/gst/gstreamer-sections.txt:
5032         * docs/gst/tmpl/gstcpu.sgml:
5033         * docs/gst/tmpl/gstdata.sgml:
5034         * docs/gst/tmpl/gstthread.sgml:
5035
5036 2005-05-19  David Schleef  <ds@schleef.org>
5037
5038         * gst/gstminiobject.c: (gst_value_set_mini_object),
5039         (gst_value_take_mini_object), (gst_value_get_mini_object):
5040         * gst/gstminiobject.h: Add GValue set/get functions.
5041
5042 2005-05-19  Wim Taymans  <wim@fluendo.com>
5043
5044         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
5045         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
5046         (gst_subbuffer_init), (gst_buffer_is_span_fast):
5047         * gst/gstbuffer.h:
5048         * gst/gstbus.c: (gst_bus_post):
5049         * gst/gstelement.c: (gst_element_get_random_pad):
5050         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
5051         Make subbufer unref the parent in finalize.
5052         some more debugging info.
5053
5054
5055 2005-05-19  Wim Taymans  <wim@fluendo.com>
5056
5057         * gst/base/gstbasesink.c: (gst_basesink_class_init),
5058         (gst_basesink_init), (gst_basesink_finalize),
5059         (gst_basesink_activate), (gst_basesink_change_state):
5060         Don't free preroll queue too early.
5061
5062 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5063
5064         * gst/Makefile.am:
5065         * gst/ROADMAP:
5066           Hi, I'm outdated. Please shoot me.
5067
5068 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5069
5070         * gst/gstpipeline.c: (gst_pipeline_send_event):
5071           Do not access variables after they have been deleted.
5072
5073 2005-05-19  Wim Taymans  <wim@fluendo.com>
5074
5075         * tools/gst-inspect.c: (print_plugin_features):
5076         A plugin feature does unfortunatly not use the
5077         object name yet...
5078
5079 2005-05-18  Wim Taymans  <wim@fluendo.com>
5080
5081         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
5082         Port _span() functions to new subbuffers.
5083
5084 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5085
5086         * gst/gstbin.c: (gst_bin_add_func):
5087           Fix clock settery in bins when adding kids after the clock has
5088           been selected.
5089
5090 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5091
5092         * gst/elements/gstidentity.c: (gst_identity_class_init):
5093           Workaround until signals support GstMiniObject.
5094
5095 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5096
5097         * gst/gstbuffer.c:
5098         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
5099
5100 2005-05-18  Wim Taymans  <wim@fluendo.com>
5101
5102         * gst/base/Makefile.am:
5103         * gst/base/gstadapter.c: (gst_adapter_base_init),
5104         (gst_adapter_class_init), (gst_adapter_init),
5105         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
5106         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
5107         (gst_adapter_flush), (gst_adapter_available),
5108         (gst_adapter_available_fast):
5109         * gst/base/gstadapter.h:
5110         Ported and added adapter to the base classes.
5111
5112 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5113
5114         * gst/gst.c:
5115         * gst/gstmessage.c:
5116           Make sure the class is reffed/unreffed once before threads can be
5117           used.  Fixes #304551.
5118
5119 2005-05-17  Wim Taymans  <wim@fluendo.com>
5120
5121         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
5122         (gst_basesink_chain_unlocked), (gst_basesink_activate):
5123         * gst/gstminiobject.c: (gst_mini_object_get_type),
5124         (gst_mini_object_free):
5125         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
5126         (gst_pad_push), (gst_pad_push_event):
5127         * gst/gstqueue.c: (gst_queue_change_state):
5128         Don't queue buffers in basesink when we are flushing.
5129         Unref buffer when flushing in basesink.
5130         Flush queue when going to READY
5131         Unref buffer when _push() returns an error.
5132         Don't free MiniObject instance when refcount is incremented
5133         in _finalize() so that we can recover objects.
5134
5135 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5136
5137         * docs/manual/advanced-schedulers.xml:
5138         * docs/manual/appendix-checklist.xml:
5139         * docs/pwg/advanced-clock.xml:
5140         * docs/pwg/advanced-interfaces.xml:
5141         * docs/pwg/advanced-request.xml:
5142         * docs/pwg/advanced-types.xml:
5143         * docs/pwg/intro-preface.xml:
5144         * examples/plugins/example.c: (gst_example_get_type),
5145         (gst_example_class_init), (gst_example_chain),
5146         (gst_example_set_property), (gst_example_get_property),
5147         (gst_example_change_state), (plugin_init):
5148         * examples/plugins/example.h:
5149           small doc fixes
5150
5151 2005-05-17  Wim Taymans  <wim@fluendo.com>
5152
5153         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
5154         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
5155         * gst/gstqueue.c: (gst_queue_change_state):
5156         Clear queue when going to READY.
5157         Remove IN_SETCAPS flag too.
5158
5159 2005-05-17  Tim-Philipp M??ller  <tim at centricular dot net>
5160
5161         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
5162           Remove implicit cast from gboolean to GstElementStateReturn;
5163           make sure we still return failure in paused => ready case if
5164           the parent class fails to change state and our own stop 
5165           vfunc succeeds.
5166
5167 2005-05-17  Wim Taymans  <wim@fluendo.com>
5168
5169         * tools/gst-launch.c: (event_loop):
5170         Message was unreffed too soon.
5171
5172 2005-05-16  Andy Wingo  <wingo@pobox.com>
5173
5174         * gst/gstbin.c (sink_iterator_filter): Err... um...
5175
5176         * check/gst/gstbin.c (test_ghost_pads): New test for the
5177         ghosting-if-elements-not-in-same-bin behavior.
5178
5179 2005-05-16  David Schleef  <ds@schleef.org>
5180
5181         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
5182         accessing refcount directly.
5183
5184 2005-05-15  David Schleef  <ds@schleef.org>
5185
5186         * check/Makefile.am: remove GstData checks
5187         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
5188         * gst/Makefile.am: add miniobject, remove data
5189         * gst/gst.h: add miniobject, remove data
5190         * gst/gstdata.c: remove
5191         * gst/gstdata.h: remove
5192         * gst/gstdata_private.h: remove
5193         * gst/gsttypes.h: remove GstEvent and GstMessage
5194         * gst/gstelement.c: (gst_element_post_message): fix for API changes
5195         * gst/gstmarshal.list: change BOXED -> OBJECT
5196
5197         Implement GstMiniObject.
5198         * gst/gstminiobject.c:
5199         * gst/gstminiobject.h:
5200
5201         Modify to be subclasses of GstMiniObject.
5202         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
5203         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
5204         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
5205         (gst_subbuffer_get_type), (gst_subbuffer_init),
5206         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
5207         (gst_buffer_span):
5208         * gst/gstbuffer.h:
5209         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
5210         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
5211         (_gst_event_copy), (gst_event_new):
5212         * gst/gstevent.h:
5213         * gst/gstmessage.c: (_gst_message_initialize),
5214         (gst_message_get_type), (gst_message_class_init),
5215         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
5216         (gst_message_new), (gst_message_new_error),
5217         (gst_message_new_warning), (gst_message_new_tag),
5218         (gst_message_new_state_changed), (gst_message_new_application):
5219         * gst/gstmessage.h:
5220         * gst/gstprobe.c: (gst_probe_perform),
5221         (gst_probe_dispatcher_dispatch):
5222         * gst/gstprobe.h:
5223         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
5224         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
5225         (_gst_query_copy), (gst_query_new):
5226
5227         Update elements for GstData -> GstMiniObject changes
5228         * gst/gstquery.h:
5229         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
5230         (gst_queue_chain), (gst_queue_loop):
5231         * gst/elements/gstbufferstore.c:
5232         (gst_buffer_store_add_buffer_func),
5233         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
5234         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
5235         (gst_fakesink_render):
5236         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5237         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
5238         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
5239         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
5240         (gst_filesrc_create_read):
5241         * gst/elements/gstidentity.c: (gst_identity_class_init):
5242         * gst/elements/gsttypefindelement.c:
5243         (gst_type_find_element_src_event), (free_entry_buffers),
5244         (gst_type_find_element_handle_event):
5245         * libs/gst/dataprotocol/dataprotocol.c:
5246         (gst_dp_header_from_buffer):
5247         * libs/gst/dataprotocol/dataprotocol.h:
5248         * libs/gst/dataprotocol/dp-private.h:
5249
5250 2005-05-15  David Schleef  <ds@schleef.org>
5251
5252         * gst/elements/gstelements.c: Don't include headers that were
5253         just removed.
5254
5255 2005-05-15  David Schleef  <ds@schleef.org>
5256
5257         * gst/elements/Makefile.am: Remove some elements that don't
5258         need to be in the core (or even exist at all).
5259         * gst/elements/gstaggregator.c:
5260         * gst/elements/gstaggregator.h:
5261         * gst/elements/gstmd5sink.c:
5262         * gst/elements/gstmd5sink.h:
5263         * gst/elements/gstmultifilesrc.c:
5264         * gst/elements/gstmultifilesrc.h:
5265         * gst/elements/gstpipefilter.c:
5266         * gst/elements/gstpipefilter.h:
5267         * gst/elements/gstshaper.c:
5268         * gst/elements/gstshaper.h:
5269         * gst/elements/gststatistics.c:
5270         * gst/elements/gststatistics.h:
5271         * po/POTFILES.in: Remove above files.
5272
5273 2005-05-14  Andy Wingo  <wingo@pobox.com>
5274
5275         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
5276         so as to get the refs right.
5277         (sink_iterator_filter): New function, wraps bin_element_is_sink,
5278         unreffing objects that don't pass the filter.
5279
5280         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
5281         gst_element_set_bus.
5282         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
5283         normal cases, this will destroy the bus.
5284
5285         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
5286         object.
5287
5288         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
5289         has no sinks.
5290
5291 2005-05-13  Andy Wingo  <wingo@pobox.com>
5292
5293         * gst/gstutils.c (gst_element_link_pads): Instead of calling
5294         gst_pad_link, call pad_link_maybe_ghosting,
5295         (pad_link_maybe_ghosting): Links pads, making sure that the
5296         elements being linked are in the same bin.
5297         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
5298         Helpers for pad_link_maybe_ghosting.
5299
5300 2005-05-13  Tim-Philipp M??ller  <tim at centricular dot net>
5301
5302         * configure.ac:
5303           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
5304
5305 2005-05-13  Tim-Philipp M??ller  <tim at centricular dot net>
5306
5307         * docs/design/part-element-source.txt:
5308           Mention GstPushSrc
5309
5310 2005-05-12  Wim Taymans  <wim@fluendo.com>
5311
5312         * gst/base/gstbasesink.c: (gst_basesink_init),
5313         (gst_basesink_activate):
5314         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
5315         (gst_basesrc_is_seekable):
5316         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5317         (bin_element_is_sink), (gst_bin_change_state):
5318         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
5319         * gst/gstelement.h:
5320         Identify sinks by their flag to avoid overly complicated
5321         checks (fow now).
5322         Do state changes even for elements not reachable from the
5323         sinks.
5324         BaseSink is a sink now :)
5325         Some more debugging info in the basesrc.
5326
5327
5328 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5329
5330         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
5331           Implement _query on a bin, similar to _send_event.
5332
5333 2005-05-12  Tim-Philipp M??ller  <tim at centricular dot net>
5334
5335         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
5336           Discont event offset format should be GST_FORMAT_BYTES,
5337           not GST_FORMAT_TIME.
5338
5339 2005-05-12  Wim Taymans  <wim@fluendo.com>
5340
5341         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
5342         Same fix as Ronald's but without the signal. 
5343
5344 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5345
5346         * gst/gstutils.c: (gst_element_query_position):
5347           No, an element is not a pad.
5348
5349 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5350
5351         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
5352         (gst_bin_get_state):
5353           If a child is removed from a bin while we remove the child from
5354           the bin and while we're retrieving its state, signal this to the
5355           get_state function so we abort the wait (instead of waiting for
5356           a timeout) and can immediately re-iterate over all other elements.
5357
5358 2005-05-12  Wim Taymans  <wim@fluendo.com>
5359
5360         * gst/base/Makefile.am:
5361         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
5362         (gst_basesrc_start):
5363         * gst/base/gstbasesrc.h:
5364         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
5365         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
5366         (gst_pushsrc_init), (gst_pushsrc_create):
5367         * gst/base/gstpushsrc.h:
5368         Added is_seekable to BaseSrc
5369         Added simple PushSrc.
5370
5371 2005-05-11  Wim Taymans  <wim@fluendo.com>
5372
5373         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
5374         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5375         (gst_element_link_pads), (gst_element_query_position),
5376         (gst_element_query_convert), (intersect_caps_func),
5377         (gst_pad_query_position), (gst_pad_query_convert):
5378         Fix refcounting in utils function.
5379         No point in trying to activate a pad when it's added, it could
5380         be added from the state change function and then we deadlock, the
5381         element has to decide what to do.
5382
5383 2005-05-10  Andy Wingo  <wingo@pobox.com>
5384
5385         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
5386         *all* the arguments.
5387
5388         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
5389         stream lock if it's a FLUSH_DONE; normal flushes don't get the
5390         lock (according to the docs -- if this is wrong change the docs).
5391
5392         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
5393         flush messages in the NULL state.
5394
5395         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
5396         message immediately and return.
5397         (gst_bus_set_flushing): New function. If a bus is flushing, it
5398         flushes out any queued messages and immediately unrefs new
5399         messages. This is so when an element goes to NULL, all of the
5400         unhandled messages coming from it can be freed, and their
5401         references to the element dropped. In other words: message source
5402         ref considered harmful :P
5403
5404         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
5405         we're finished with it.
5406
5407         * gst/gstmessage.c (gst_message_new_state_changed): 
5408
5409 2005-05-10  Wim Taymans  <wim@fluendo.com>
5410
5411         * gst/gstvalue.c: (gst_value_compare_flags),
5412         (gst_value_serialize_flags), (gst_value_deserialize_flags),
5413         (_gst_value_initialize):
5414         Added flags serialize/deserialize/compare code.
5415
5416 2005-05-09  Andy Wingo  <wingo@pobox.com>
5417
5418         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
5419         Intersect the peer's caps with our caps.
5420
5421 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5422
5423         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5424         * gst/elements/gsttypefindelement.c: (find_peek):
5425           Handle negative offsets better. Fixes decodebin.
5426
5427 2005-05-09  Wim Taymans  <wim@fluendo.com>
5428
5429         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
5430         (gst_base_transform_event):
5431         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
5432         Implement accept_caps.
5433         Fix silly lock/unlock mismatch in base class.
5434
5435 2005-05-09  Wim Taymans  <wim@fluendo.com>
5436
5437         * docs/design/draft-push-pull.txt:
5438         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
5439         * gst/elements/gstfilesink.c: (gst_filesink_init),
5440         (gst_filesink_query):
5441         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5442         (gst_type_find_handle_src_query), (find_element_get_length):
5443         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
5444         * gst/gstelement.h:
5445         * gst/gstmessage.c:
5446         * gst/gstmessage.h:
5447         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
5448         (gst_real_pad_get_caps_unlocked),
5449         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
5450         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5451         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
5452         (gst_real_pad_dispose), (gst_real_pad_finalize),
5453         (gst_pad_load_and_link), (gst_pad_save_thyself),
5454         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
5455         (gst_pad_check_pull_range), (gst_pad_pull_range),
5456         (gst_pad_template_get_type), (gst_pad_template_class_init),
5457         (gst_pad_template_init), (gst_pad_template_dispose),
5458         (name_is_valid), (gst_static_pad_template_get),
5459         (gst_pad_template_new), (gst_static_pad_template_get_caps),
5460         (gst_pad_template_get_caps), (gst_pad_set_element_private),
5461         (gst_pad_get_element_private), (gst_pad_start_task),
5462         (gst_pad_pause_task), (gst_pad_stop_task),
5463         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
5464         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
5465         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
5466         (gst_ghost_pad_new):
5467         * gst/gstpad.h:
5468         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
5469         (gst_query_new_position), (gst_query_set_position),
5470         (gst_query_parse_position), (gst_query_new_convert),
5471         (gst_query_set_convert), (gst_query_parse_convert):
5472         * gst/gstquery.h:
5473         * gst/gstqueryutils.c:
5474         * gst/gstqueryutils.h:
5475         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5476         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
5477         (gst_queue_handle_src_query):
5478         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5479         (gst_element_query_position), (gst_element_query_convert),
5480         (intersect_caps_func), (gst_pad_query_position),
5481         (gst_pad_query_convert):
5482         * gst/gstutils.h:
5483         * tools/gst-inspect.c: (print_pad_info):
5484         * tools/gst-xmlinspect.c: (print_element_info):
5485         Remove old query functions. Ported old code.
5486         Added position/convert helper functions to gstutils.
5487         Reordered gstpad.c code, grouping relevant things.
5488         Remove gst_message_new(), always need to speficy a specific
5489         message.
5490
5491
5492 2005-05-09  Andy Wingo  <wingo@pobox.com>
5493
5494         * gst/gstiterator.h: Add some includes.
5495
5496         * gst/gstqueryutils.h: Include more headers.
5497
5498         * gst/gstpad.h:
5499         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
5500         some uses of gst_pad_query.
5501
5502         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
5503         NULL out parameters.
5504         (gst_query_new_position): New proc, allocates a new position
5505         query.
5506
5507         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
5508         gstqueryutils.c to the build.
5509
5510         * gst/gststructure.c (gst_structure_set_valist): Implement with
5511         the generic G_VALUE_COLLECT.
5512         
5513 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
5514
5515         * gst/Makefile.am: (gst_headers):
5516         Added gstqueryutils.h to the list of headers to install, that was
5517         a 'nachty' move wingo :)
5518
5519 2005-05-06  Andy Wingo  <wingo@pobox.com>
5520
5521         * gst/gstquery.h
5522         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
5523         GstData, init a memchunk.
5524         (standard_definitions): Add a few query types, deprecate a few.
5525         (gst_query_get_type): New proc.
5526         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
5527         implementation.
5528         (gst_query_new_application, gst_query_get_structure): New public
5529         procs.
5530
5531         * docs/design/draft-query.txt: Removed LINKS from the query types,
5532         because all the rest can be dispatched to other pads -- seemed
5533         ugly to have a query that couldn't be dispatched. internal_links
5534         is fine as a pad method.
5535
5536         * gst/gstpad.h: Add query2 as a pad method, add the new functions
5537         in gstpad.c, but maintain binary compatibility for the moment.
5538         Will fix before 0.9 is out.
5539
5540         * gst/gstqueryutils.c: 
5541         * gst/gstqueryutils.h: New files, implement 3 methods for each
5542         query type: parse_query, parse_response, and set. Probably need an
5543         allocator as well.
5544
5545         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
5546
5547         * gst/elements/gstfilesink.c (gst_filesink_query2):
5548         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
5549         query_types, and formats methods.
5550
5551         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
5552         (gst_pad_set_query2_function): New functions.
5553         (gst_real_pad_init): Set query2_default as the default query2
5554         function. Basically just dispatches to internally linked pads.
5555
5556         Needs review!
5557         
5558         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
5559         without using the atomic operations. Only one thread can possibly
5560         be accessing the data at this point. Changed so as to avoid
5561         gst_atomic operations.
5562
5563 2005-05-06  Wim Taymans  <wim@fluendo.com>
5564
5565         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
5566         Also set caps if we use the fallback buffer alloc.
5567
5568 2005-05-06  Tim-Philipp M??ller  <tim at centricular dot net>
5569
5570         * docs/gst/Makefile.am:
5571         * docs/gst/gstreamer-docs.sgml:
5572         * docs/gst/gstreamer-sections.txt:
5573         * docs/gst/tmpl/gstatomic.sgml:
5574         * docs/gst/tmpl/gstmemchunk.sgml:
5575         * testsuite/elements/struct_i386.h:
5576         * win32/GStreamer.vcproj:
5577         * win32/Makefile:
5578           Purge GstAtomic stuff from docs and win32 makefiles as well
5579
5580 2005-05-06  Wim Taymans  <wim@fluendo.com>
5581
5582         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
5583         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
5584         * gst/gstpad.c: (gst_pad_peer_get_caps):
5585         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5586         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
5587         (gst_queue_src_activate), (gst_queue_change_state):
5588         * gst/gstqueue.h:
5589         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5590         (intersect_caps_func):
5591         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
5592         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
5593         Some fixes for the peer_get_caps() change.
5594
5595 2005-05-06  Wim Taymans  <wim@fluendo.com>
5596
5597         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
5598         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
5599         (gst_basesink_activate):
5600         Actually do something with error codes returned from the push
5601         functions.
5602
5603 2005-05-06  Wim Taymans  <wim@fluendo.com>
5604
5605         * docs/design/part-element-sink.txt:
5606         * docs/design/part-element-source.txt:
5607         * gst/base/gstbasesink.c: (gst_basesink_class_init),
5608         (gst_basesink_event), (gst_basesink_activate):
5609         * gst/base/gstbasesink.h:
5610         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
5611         (gst_basesrc_activate):
5612         * gst/base/gstbasesrc.h:
5613         * gst/gstelement.c: (gst_element_pads_activate):
5614         Some more documentation.
5615         Fixed scheduling decision in _pads_activate().
5616
5617 2005-05-05  Andy Wingo  <wingo@pobox.com>
5618
5619         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
5620         the test suite.
5621
5622 2005-05-05  Wim Taymans  <wim@fluendo.com>
5623
5624         * gst/base/Makefile.am:
5625         * gst/base/gstbasesink.h:
5626         * gst/base/gstbasesrc.c: (gst_basesrc_init),
5627         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
5628         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
5629         (gst_collectpads_class_init), (gst_collectpads_init),
5630         (gst_collectpads_finalize), (gst_collectpads_new),
5631         (gst_collectpads_set_function), (gst_collectpads_add_pad),
5632         (find_pad), (gst_collectpads_remove_pad),
5633         (gst_collectpads_is_active), (gst_collectpads_collect),
5634         (gst_collectpads_collect_range), (gst_collectpads_start),
5635         (gst_collectpads_stop), (gst_collectpads_peek),
5636         (gst_collectpads_pop), (gst_collectpads_available),
5637         (gst_collectpads_read), (gst_collectpads_flush),
5638         (gst_collectpads_chain):
5639         * gst/base/gstcollectpads.h:
5640         * gst/elements/Makefile.am:
5641         * gst/elements/gstelements.c:
5642         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
5643         (gst_fakesink_get_times), (gst_fakesink_event),
5644         (gst_fakesink_preroll), (gst_fakesink_render):
5645         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
5646         (gst_filesink_init), (gst_filesink_set_location),
5647         (gst_filesink_open_file), (gst_filesink_close_file),
5648         (gst_filesink_pad_query), (gst_filesink_event),
5649         (gst_filesink_render), (gst_filesink_change_state):
5650         * gst/elements/gstfilesink.h:
5651         Added object to help in making collect pad based elements.
5652         Ported filesink.
5653         Make event function in sink baseclass return gboolean.
5654
5655 2005-05-05  Wim Taymans  <wim@fluendo.com>
5656
5657         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
5658         (gst_bin_get_by_name):
5659         * gst/gstbuffer.h:
5660         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
5661         (gst_clock_finalize):
5662         * gst/gstdata.c: (gst_data_replace):
5663         * gst/gstdata.h:
5664         * gst/gstelement.c: (gst_element_request_pad),
5665         (gst_element_pads_activate):
5666         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
5667         (gst_object_unref):
5668         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5669         (gst_pad_set_checkgetrange_function),
5670         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
5671         (gst_pad_check_pull_range), (gst_pad_pull_range),
5672         (gst_static_pad_template_get_caps), (gst_pad_start_task),
5673         (gst_pad_pause_task), (gst_pad_stop_task):
5674         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5675         (gst_element_request_pad), (gst_pad_proxy_getcaps):
5676         Fix name lookup in GstBin.
5677         Added _data_replace() function and _buffer_replace()
5678         Use finalize method to clean up clock.
5679         Fix refcounting on request pads.
5680         Fix pad schedule mode error.
5681         Some more object refcounting debug info,
5682
5683
5684 2005-05-04  Andy Wingo <wingo@pobox.com>
5685
5686         * check/Makefile.am:
5687         * docs/gst/tmpl/gstatomic.sgml:
5688         * docs/gst/tmpl/gstplugin.sgml:
5689         * gst/base/gstbasesink.c: (gst_basesink_activate):
5690         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
5691         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
5692         (gst_basesrc_query), (gst_basesrc_set_property),
5693         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
5694         (gst_basesrc_activate):
5695         * gst/base/gstbasesrc.h:
5696         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
5697         (gst_base_transform_src_activate):
5698         * gst/elements/gstelements.c:
5699         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5700         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
5701         * gst/elements/gsttee.c: (gst_tee_sink_activate):
5702         * gst/elements/gsttypefindelement.c: (find_element_get_length),
5703         (gst_type_find_element_checkgetrange),
5704         (gst_type_find_element_activate):
5705         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
5706         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
5707         (gst_caps_load_thyself):
5708         * gst/gstelement.c: (gst_element_pads_activate),
5709         (gst_element_save_thyself), (gst_element_restore_thyself):
5710         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
5711         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
5712         * gst/gstpad.h:
5713         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
5714         (gst_xml_parse_file), (gst_xml_parse_memory),
5715         (gst_xml_get_element), (gst_xml_make_element):
5716         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5717         (_file_index_id_save_xml), (gst_file_index_commit):
5718         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
5719         (read_enum), (load_pad_template), (load_feature), (load_plugin),
5720         (load_paths):
5721         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
5722         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
5723         * tools/gst-complete.c: (main):
5724         * tools/gst-compprep.c: (main):
5725         * tools/gst-inspect.c: (print_element_properties_info):
5726         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
5727         * tools/gst-xmlinspect.c: (print_element_properties):
5728         GCC 4 fixen.
5729         
5730 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * gst/gstplugin.c: (gst_plugin_check_module),
5733         (gst_plugin_check_file), (gst_plugin_load_file):
5734             apply patch from #172526 to make register work on MacOSX
5735
5736 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5737
5738         * docs/gst/tmpl/gstconfig.sgml:
5739         * gst/gstconfig.h.in:
5740           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
5741         * testsuite/debug/printf_extension.c: (main):
5742           Do not use GST_PTR_FORMAT on pointers to types with
5743           sizeof < sizeof(gpointer).  Fixes test on 64-bit
5744         * testsuite/elements/property.h:
5745           use correct printf format
5746
5747 2005-05-02  Wim Taymans  <wim@fluendo.com>
5748
5749         * docs/design/draft-push-pull.txt:
5750         * docs/design/draft-query.txt:
5751         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
5752         (gst_basesrc_start):
5753         Added draft for new query API.
5754         Added draft for better selecting scheduling methods.
5755         Make basesrc ignore length if the subclass does not support
5756         it.
5757
5758 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5759
5760         * gst/Makefile.am:
5761           possible fixes for automake-1.5 - _LIBADD is reserved
5762
5763 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5764
5765         * docs/faq/Makefile.am:
5766         * docs/manual/Makefile.am:
5767         * docs/manuals.mak:
5768         * docs/pwg/Makefile.am:
5769         * gst/Makefile.am:
5770           possible fixes for automake-1.5
5771
5772 2005-04-28  Wim Taymans  <wim@fluendo.com>
5773
5774         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5775         (gst_basesink_pad_getcaps), (gst_basesink_init),
5776         (gst_basesink_do_sync):
5777         * gst/gstclock.c: (gst_clock_entry_new):
5778         * gst/gstevent.c: (gst_event_discont_get_value):
5779         * gst/gstpipeline.c: (pipeline_bus_handler),
5780         (gst_pipeline_change_state):
5781         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5782         Better debugging of clocking info.
5783         Allow NULL values when getting discont values.
5784
5785 2005-04-27  Wim Taymans  <wim@fluendo.com>
5786
5787         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5788         * check/gst/gstpad.c: (gst_pad_suite):
5789         Increase timeout for checks.
5790
5791 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5792
5793         * check/Makefile.am:
5794           fix the broken rule for cleanup.  Apparently this rule is
5795           only needed on FC2, so maybe this warrants further autotool
5796           inspection.
5797
5798 2005-04-26  Wim Taymans  <wim@fluendo.com>
5799
5800         * gst/gsttrashstack.h:
5801         Ooohh. a nasty one! After having a failed pop() from the stack,
5802         it's possible that the stack is empty. In that case, don't
5803         follow the NULL pointer.
5804
5805 2005-04-25  Wim Taymans  <wim@fluendo.com>
5806
5807         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5808         (gst_pad_set_checkgetrange_function),
5809         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
5810         (gst_pad_check_pull_range), (gst_pad_pull_range),
5811         (gst_static_pad_template_get_caps), (gst_pad_start_task),
5812         (gst_pad_pause_task), (gst_pad_stop_task):
5813         * gst/gstplugin.c: (gst_plugin_load):
5814         * gst/gstplugin.h:
5815         Remove gst_library_load as it does more harm than good with
5816         the new g_module flags.
5817         Revert bogus caps template check in pad linking, pad caps
5818         are important when linking not the template, which is more
5819         general than the current caps.
5820
5821 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5822
5823         * gst/autoplug/.cvsignore:
5824         * gst/autoplug/Makefile.am:
5825         * gst/autoplug/gstsearchfuncs.c:
5826         * gst/autoplug/gstsearchfuncs.h:
5827         * gst/autoplug/gstspider.c:
5828         * gst/autoplug/gstspider.h:
5829         * gst/autoplug/gstspideridentity.c:
5830         * gst/autoplug/gstspideridentity.h:
5831         * gst/autoplug/spidertest.c:
5832           Die, spider, die.
5833
5834 2005-04-25  Wim Taymans  <wim@fluendo.com>
5835
5836         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5837         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
5838         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
5839         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
5840         * gst/gstpad.h:
5841         Added stubs for unimplemented functions. 
5842
5843 2005-04-24  David Schleef  <ds@schleef.org>
5844
5845         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
5846         please fix.
5847
5848 2005-04-24  David Schleef  <ds@schleef.org>
5849
5850         Convert everything from GstAtomicInt to g_atomic_int_*, and
5851         remove gstatomic.
5852         * gst/Makefile.am:
5853         * gst/gstatomic.c:
5854         * gst/gstatomic.h:
5855         * gst/gstatomic_impl.h:
5856         * gst/gstbuffer.c:
5857         * gst/gstcaps.c:
5858         * gst/gstcaps.h:
5859         * gst/gstclock.c:
5860         * gst/gstclock.h:
5861         * gst/gstdata.c:
5862         * gst/gstdata.h:
5863         * gst/gstdata_private.h:
5864         * gst/gstevent.c:
5865         * gst/gstinfo.c:
5866         * gst/gstinfo.h:
5867         * gst/gstmessage.c:
5868         * gst/gstobject.c:
5869         * gst/gstobject.h:
5870         * gst/gststructure.c:
5871         * gst/gststructure.h:
5872         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
5873         * gst/gstutils.h:
5874
5875 2005-04-24  David Schleef  <ds@schleef.org>
5876
5877         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
5878         make the regressions tests work.  Remove some code that is no
5879         longer true.
5880         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
5881         Disable warning for pads without templates.
5882
5883 2005-04-24  David Schleef  <ds@schleef.org>
5884
5885         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
5886         functions that handle filtered links.
5887         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
5888         removed functions.
5889         * gst/gstutils.c: Fix/remove utility functions that handle
5890         filtered caps.
5891         * gst/gstutils.h:
5892         * gst/gstvalue.c: Add serialization/deserialization of caps
5893         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
5894         requires fixing so that the filter caps notation creates
5895         a capsfilter element and sets the filter_caps property.  I
5896         think everyone probably wants to keep the shorthand notation.
5897         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
5898         * docs/gst/tmpl/gstpad.sgml:
5899
5900         * gst/elements/gstelements.c: Register capsfilter element.
5901         * gst/Makefile.am: fix spacing
5902         * docs/random/ds/0.9-suggested-changes: random
5903
5904 2005-04-23  David Schleef  <ds@schleef.org>
5905
5906         * gst/elements/Makefile.am:
5907         * gst/elements/gstcapsfilter.c: New element that acts like an
5908         identity, but filters caps.  Will eventually replace filtered
5909         caps in pad linking.
5910         * gst/gstutils.c: (gst_element_create_all_pads): New function
5911         to create all the ALWAYS pads that are registered with an
5912         element class.  This functionality should eventually be
5913         merged in with GstElement initialization.
5914         * gst/gstutils.h:
5915         * testsuite/trigger/README: part of trigger test code that should
5916         have been checked in a long time ago.
5917
5918 2005-04-23  David Schleef  <ds@schleef.org>
5919
5920         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
5921         needed with new versions of libtool (nobody will confirm this),
5922         and hard to carry around.
5923         * gst/autoplug/Makefile.am:
5924         * gst/base/Makefile.am:
5925         * gst/elements/Makefile.am:
5926         * gst/indexers/Makefile.am:
5927         * gst/schedulers/Makefile.am:
5928         * libs/gst/bytestream/Makefile.am:
5929         * libs/gst/control/Makefile.am:
5930         * libs/gst/dataprotocol/Makefile.am:
5931         * libs/gst/getbits/Makefile.am:
5932
5933 2005-04-21  Wim Taymans  <wim@fluendo.com>
5934
5935         * docs/design/draft-push-pull.txt:
5936         * docs/design/part-MT-refcounting.txt:
5937         * docs/design/part-TODO.txt:
5938         * docs/design/part-caps.txt:
5939         * docs/design/part-events.txt:
5940         * docs/design/part-gstbus.txt:
5941         * docs/design/part-gstpipeline.txt:
5942         * docs/design/part-messages.txt:
5943         * docs/design/part-push-pull.txt:
5944         * docs/design/part-query.txt:
5945         Some more docs.
5946
5947 2005-04-21  Wim Taymans  <wim@fluendo.com>
5948
5949         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
5950         (gst_message_new), (gst_message_new_error),
5951         (gst_message_new_warning), (gst_message_new_tag),
5952         (gst_message_new_state_changed), (gst_message_new_application),
5953         (gst_message_get_structure):
5954         * gst/gstmessage.h:
5955         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5956         (gst_structure_copy_conditional):
5957         Use parent refcount in GstMessage to ensure GstStructure
5958         consistency.
5959         Cleaned up headers a bit.
5960         
5961
5962 2005-04-20  Wim Taymans  <wim@fluendo.com>
5963
5964         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5965         (gst_basesink_pad_getcaps), (gst_basesink_init),
5966         (gst_basesink_chain_unlocked):
5967         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
5968         (gst_type_find_helper):
5969         * gst/elements/gsttypefindelement.c:
5970         (gst_type_find_element_have_type), (gst_type_find_element_init),
5971         (stop_typefinding), (gst_type_find_element_handle_event),
5972         (find_suggest), (gst_type_find_element_chain),
5973         (gst_type_find_element_checkgetrange),
5974         (gst_type_find_element_getrange), (do_typefind),
5975         (gst_type_find_element_activate):
5976         * gst/gstbuffer.c: (_gst_buffer_sub_free),
5977         (gst_buffer_default_free), (gst_buffer_default_copy),
5978         (gst_buffer_set_caps):
5979         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
5980         (gst_caps_replace):
5981         * gst/gstmessage.c: (gst_message_new),
5982         (gst_message_new_state_changed):
5983         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5984         (gst_pad_set_checkgetrange_function),
5985         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
5986         (gst_pad_set_caps), (gst_pad_check_pull_range),
5987         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
5988         * gst/gstpad.h:
5989         * gst/gsttypefind.c: (gst_type_find_register):
5990         Make gst_caps_replace() work like other _replace() functions.
5991         Use _caps_replace() where possible.
5992         Make sure _message_new() initialises its field.
5993         Add gst_static_pad_template_get_caps()
5994
5995
5996 2005-04-18  Andy Wingo  <wingo@pobox.com>
5997
5998         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
5999         on the peer, not the pad. I think that was a typo. Pass an extra
6000         arg to see if random access is possible. Activate the pads as
6001         PULL_RANGE if possible.
6002
6003         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
6004
6005         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
6006         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
6007         to PROP_....
6008
6009 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6010
6011         * docs/faq/using.xml:
6012           Add note on gstreamer-properties (#154996).
6013
6014 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6015
6016         * docs/random/bbb/optional-properties:
6017           Some analysis on optional properties.
6018
6019 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6020
6021         * docs/gst/tmpl/gstelementfactory.sgml:
6022         * gst/gstelement.h:
6023         * gst/gstelementfactory.c: (gst_element_factory_init),
6024         (gst_element_factory_cleanup), (gst_element_register),
6025         (__gst_element_factory_add_static_pad_template),
6026         (gst_element_factory_get_static_pad_templates),
6027         (gst_element_factory_can_src_caps),
6028         (gst_element_factory_can_sink_caps):
6029         * gst/registries/Makefile.am:
6030         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
6031         (gst_xml_registry_class_init), (gst_xml_registry_init),
6032         (gst_xml_registry_new), (gst_xml_registry_set_property),
6033         (gst_xml_registry_get_property), (get_time), (make_dir),
6034         (gst_xml_registry_get_perms_func),
6035         (plugin_times_older_than_recurse), (plugin_times_older_than),
6036         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
6037         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
6038         (add_to_char_array), (read_string), (read_uint), (read_enum),
6039         (load_pad_template), (load_feature), (load_plugin), (load_paths),
6040         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
6041         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
6042         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
6043         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
6044         (gst_xml_registry_rebuild):
6045         * gst/registries/gstlibxmlregistry.h:
6046         * tools/gst-compprep.c: (main):
6047         * tools/gst-inspect.c: (print_pad_templates_info):
6048         * tools/gst-xmlinspect.c: (print_element_info):
6049           Use libxml2 for registry parsing, use staticpadtemplates in
6050           elementfactories. Makes gst_init() +/- 10x faster.
6051
6052 2005-04-12  Wim Taymans  <wim@fluendo.com>
6053
6054         * gst/base/Makefile.am:
6055         * gst/base/gstbasesink.c: (gst_basesink_base_init),
6056         (gst_basesink_pad_getcaps), (gst_basesink_init),
6057         (gst_basesink_event), (gst_basesink_change_state):
6058         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
6059         (gst_basesrc_init), (gst_basesrc_query),
6060         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
6061         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
6062         (gst_basesrc_check_get_range), (gst_basesrc_loop),
6063         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
6064         (gst_basesrc_stop), (gst_basesrc_activate),
6065         (gst_basesrc_change_state):
6066         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6067         (helper_find_suggest), (gst_type_find_helper):
6068         * gst/base/gsttypefindhelper.h:
6069         * gst/elements/Makefile.am:
6070         * gst/elements/gstelements.c:
6071         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
6072         (gst_fakesink_get_times), (gst_fakesink_event),
6073         (gst_fakesink_preroll), (gst_fakesink_render):
6074         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6075         (gst_fakesrc_init), (gst_fakesrc_event_handler),
6076         (gst_fakesrc_get_property), (gst_fakesrc_create),
6077         (gst_fakesrc_start), (gst_fakesrc_stop):
6078         * gst/elements/gstfakesrc.h:
6079         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
6080         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
6081         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
6082         (gst_filesrc_create_read), (gst_filesrc_create),
6083         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
6084         (gst_filesrc_start):
6085         * gst/elements/gsttypefindelement.c:
6086         (gst_type_find_element_have_type), (gst_type_find_element_init),
6087         (start_typefinding), (stop_typefinding), (push_buffer_store),
6088         (gst_type_find_element_handle_event),
6089         (gst_type_find_element_chain),
6090         (gst_type_find_element_checkgetrange),
6091         (gst_type_find_element_getrange), (do_typefind),
6092         (gst_type_find_element_activate),
6093         (gst_type_find_element_change_state):
6094         * gst/elements/gsttypefindelement.h:
6095         * gst/gstpipeline.c: (pipeline_bus_handler):
6096         Added typefind helper.
6097         Small preroll fix in the base sink.
6098         Disable typefind code in basesrc.
6099         Crude port of typefindelement.
6100         Fakesrc cleanups.
6101
6102
6103 2005-04-11  Wim Taymans  <wim@fluendo.com>
6104
6105         * check/gst/gstbus.c: (gstbus_suite):
6106         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
6107         * check/gstcheck.h:
6108           Fix up the timeout so that the test does not fail.
6109
6110 2005-04-06  Wim Taymans  <wim@fluendo.com>
6111
6112         * gst/base/README:
6113         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
6114         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
6115         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
6116         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
6117         (gst_basesrc_check_get_range), (gst_basesrc_loop),
6118         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
6119         (gst_basesrc_stop), (gst_basesrc_activate),
6120         (gst_basesrc_change_state), (basesrc_find_peek),
6121         (basesrc_find_suggest), (gst_basesrc_type_find):
6122         * gst/base/gstbasesrc.h:
6123         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6124         (gst_filesrc_class_init), (gst_filesrc_init),
6125         (gst_filesrc_finalize), (gst_filesrc_set_location),
6126         (gst_filesrc_set_property), (gst_filesrc_get_property),
6127         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
6128         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
6129         (gst_filesrc_create_read), (gst_filesrc_create),
6130         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
6131         * gst/elements/gstfilesrc.h:
6132         * gst/gstelement.c: (gst_element_get_state_func),
6133         (gst_element_lost_state), (gst_element_pads_activate):
6134         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
6135         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
6136         (gst_pad_pull_range):
6137         * gst/gstpad.h:
6138         More work on the generic source base class, implement seeking,
6139         query.
6140         Make filesrc extend the base source class.
6141         Added gst_pad_set_checkgetrange_function to GstPad.
6142
6143 2005-04-06  Andy Wingo  <wingo@pobox.com>
6144
6145         * pkgconfig/gstreamer-base.pc.in:
6146         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
6147
6148         * pkgconfig/Makefile.am:
6149         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
6150
6151 2005-04-04  Wim Taymans  <wim@fluendo.com>
6152
6153         * gst/base/Makefile.am:
6154         * gst/base/README:
6155         * gst/base/gstbasesink.c: (gst_basesink_base_init),
6156         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
6157         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
6158         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
6159         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
6160         (gst_basesrc_base_init), (gst_basesrc_class_init),
6161         (gst_basesrc_init), (gst_basesrc_get_formats),
6162         (gst_basesrc_get_query_types), (gst_basesrc_query),
6163         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
6164         (gst_basesrc_set_property), (gst_basesrc_get_property),
6165         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
6166         (gst_basesrc_loop), (gst_basesrc_activate),
6167         (gst_basesrc_change_state):
6168         * gst/base/gstbasesrc.h:
6169         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6170         (gst_fakesrc_class_init), (gst_fakesrc_init),
6171         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
6172         (gst_fakesrc_get_property), (gst_fakesrc_create):
6173         * gst/elements/gstfakesrc.h:
6174         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
6175         (gst_filesrc_open_file), (gst_filesrc_loop),
6176         (gst_filesrc_activate), (filesrc_find_peek),
6177         (gst_filesrc_type_find):
6178         Made base source class, make fakesrc extend it.
6179         Add comments to basesink class.
6180         Some filesrc cleanup.
6181
6182 2005-03-31  David Schleef  <ds@schleef.org>
6183
6184         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
6185         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
6186         expected to link against libgstreamer.
6187         * gst/base/Makefile.am: link against libgstreamer
6188         * gst/elements/Makefile.am: same
6189
6190 2005-03-31  Andy Wingo  <wingo@pobox.com>
6191
6192         * tests/instantiate/Makefile.am:
6193         * tests/instantiate/caps.c: Add test to test speed of caps copy
6194         and free.
6195
6196         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
6197         GMemChunk to be fair.
6198
6199         * gst/gsttrashstack.h: Remove warning about using the fallback
6200         trash stack implementation, it's still faster than malloc.
6201
6202 2005-03-30  Andy Wingo  <wingo@pobox.com>
6203
6204         * tests/complexity.c: Add a copyright.
6205
6206 2005-03-31  Wim Taymans  <wim@fluendo.com>
6207
6208         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
6209         (gst_base_transform_class_init), (gst_base_transform_init),
6210         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6211         (gst_base_transform_get_property),
6212         (gst_base_transform_sink_activate),
6213         (gst_base_transform_src_activate),
6214         (gst_base_transform_change_state):
6215         * gst/base/gstbasetransform.h:
6216         * gst/elements/gstidentity.c: (gst_identity_class_init),
6217         (gst_identity_event), (gst_identity_check_perfect),
6218         (gst_identity_transform), (gst_identity_start),
6219         (gst_identity_stop):
6220         Added start/stop methods to transform base class so subclasses 
6221         don't need to deal with state changes even.
6222
6223 2005-03-31  Wim Taymans  <wim@fluendo.com>
6224
6225         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
6226         (gst_event_new_discontinuous), (gst_event_discont_get_value):
6227         * gst/gstevent.h:
6228         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
6229         (gst_pad_pull_range):
6230         Added rate to the discont event to prepare for variable speed
6231         and reverse playback.
6232
6233 2005-03-29  David Schleef  <ds@schleef.org>
6234
6235         * configure.ac:
6236         * testsuite/trigger/Makefile.am:
6237         * testsuite/trigger/trigger.c: A little example program to show
6238         how trigger-based elements can work.
6239
6240 2005-03-29  Wim Taymans  <wim@fluendo.com>
6241
6242         * gst/base/Makefile.am:
6243         * gst/base/README:
6244         * gst/base/gstbasesink.c: (gst_basesink_get_type),
6245         (gst_basesink_base_init), (gst_basesink_class_init),
6246         (gst_basesink_pad_getcaps), (gst_basesink_init),
6247         (gst_basesink_activate), (gst_basesink_change_state):
6248         * gst/base/gstbasesink.h:
6249         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
6250         (gst_base_transform_base_init), (gst_base_transform_finalize),
6251         (gst_base_transform_class_init), (gst_base_transform_init),
6252         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
6253         (gst_base_transform_event), (gst_base_transform_getrange),
6254         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
6255         (gst_base_transform_set_property),
6256         (gst_base_transform_get_property),
6257         (gst_base_transform_sink_activate),
6258         (gst_base_transform_src_activate),
6259         (gst_base_transform_change_state):
6260         * gst/base/gstbasetransform.h:
6261         * gst/elements/gstidentity.c: (gst_identity_finalize),
6262         (gst_identity_class_init), (gst_identity_init),
6263         (gst_identity_event), (gst_identity_check_perfect),
6264         (gst_identity_transform), (gst_identity_set_property),
6265         (gst_identity_get_property), (gst_identity_change_state):
6266         * gst/elements/gstidentity.h:
6267         * gst/gstelement.c: (gst_element_get_state_func),
6268         (gst_element_lost_state), (gst_element_pads_activate):
6269         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
6270         (gst_pad_check_pull_range), (gst_pad_pull_range):
6271         * gst/gstpad.h:
6272         Simplify pad activation.
6273         Added function to check if pull_range can be performed.
6274         Error out when pulling inactive or flushing pads.
6275         Removed const from refcounted types as it does not make sense.
6276         Simplify pad templates in basesink
6277         Added base class for simple 1-to-1 transforms.
6278         Make identity subclass the base transform.
6279
6280 2005-03-29  Andy Wingo  <wingo@pobox.com>
6281
6282         * docs/libs/gstreamer-libs-overrides.txt: 
6283         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
6284         really don't understand what's going on, but like whatever. I want
6285         green buildbot!
6286
6287         * docs/gst/Makefile.am:
6288         * docs/libs/Makefile.am: Dist the overrides files.
6289
6290         * check/Makefile.am (clean-local): Remove .libs directories.
6291
6292         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
6293         elements to EXTRA_DIST, so po/ files are happy.
6294
6295         * po/POTFILES.in: Er, remove it here.
6296
6297         * po/POTFILES: Remove gstspider.c.
6298
6299         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
6300
6301         * docs/libs/gstreamer-libs-docs.sgml: 
6302         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
6303         bytestream.
6304
6305         * tests/complexity.c (main): Set the length of the preroll queue
6306         on the sinks to prevent a lockup.
6307
6308         * libs/gst/dataprotocol/Makefile.am: 
6309         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
6310         the same as the one in check/gst-libs/gdp.c.
6311
6312         * po/, docs/gst/: Commit automatic changes to docs and po files.
6313
6314         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
6315         the versioned libgstbase.
6316
6317         * check/Makefile.am: Depend on an unversioned gst-register, seems
6318         to make autoconf happier.
6319
6320         * gst/base/Makefile.am: Make libgstbase a versioned lib.
6321
6322 2005-03-28  Wim Taymans  <wim@fluendo.com>
6323
6324         * configure.ac:
6325         * docs/design/part-gstelement.txt:
6326         * docs/design/part-negotiation.txt:
6327         * docs/design/part-preroll.txt:
6328         * docs/design/part-scheduling.txt:
6329         * docs/design/part-states.txt:
6330         * gst/Makefile.am:
6331         * gst/base/Makefile.am:
6332         * gst/base/README:
6333         * gst/base/gstbasesink.c: (gst_basesink_get_template),
6334         (gst_basesink_base_init), (gst_basesink_class_init),
6335         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
6336         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
6337         (gst_basesink_set_pad_functions),
6338         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
6339         (gst_basesink_set_property), (gst_basesink_get_property),
6340         (gst_base_sink_get_template), (gst_base_sink_get_caps),
6341         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
6342         (gst_basesink_preroll_queue_push),
6343         (gst_basesink_preroll_queue_empty),
6344         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
6345         (gst_basesink_event), (gst_basesink_get_times),
6346         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
6347         (gst_basesink_chain_unlocked), (gst_basesink_chain),
6348         (gst_basesink_loop), (gst_basesink_activate),
6349         (gst_basesink_change_state):
6350         * gst/base/gstbasesink.h:
6351         * gst/elements/Makefile.am:
6352         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6353         (gst_fakesink_class_init), (gst_fakesink_init),
6354         (gst_fakesink_set_property), (gst_fakesink_get_property),
6355         (gst_fakesink_get_times), (gst_fakesink_event),
6356         (gst_fakesink_preroll), (gst_fakesink_render),
6357         (gst_fakesink_change_state):
6358         * gst/elements/gstfakesink.h:
6359         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
6360         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
6361         * gst/gstelement.c: (gst_element_add_pad),
6362         (gst_element_get_state_func), (gst_element_abort_state),
6363         (gst_element_commit_state), (gst_element_lost_state),
6364         (gst_element_set_state), (gst_element_pads_activate):
6365         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
6366         * gst/gstpipeline.c: (gst_pipeline_send_event),
6367         (gst_pipeline_change_state):
6368         Added state change code.
6369         Added/updated docs.
6370         Added sink base class, make fakesink extend the base class.
6371         Small cleanups in GstPipeline.
6372
6373 2005-03-26  David Schleef  <ds@schleef.org>
6374
6375         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
6376         is broken and should be implemented in a different library.
6377         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
6378         * gst/gst.h: remove gstcpu.h
6379         * gst/gstcpu.c: remove
6380         * gst/gstcpu.h: remove
6381         * gst/Makefile.am.future: Remove this file.  It's ancient.
6382
6383 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6384
6385         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
6386         (gst_bin_send_event):
6387           Add default event/set_manager handlers. The set_manager handler
6388           takes care that the manager is distributed over kids that were
6389           already in the bin before the manager was set. The event handler
6390           is a utility virtual function that sends the event over all sinks,
6391           so that gst_element_send_event (bin, event); has the expected
6392           behaviour.
6393         * gst/gstpad.c: (gst_pad_event_default):
6394           Re-install default event handling for discontinuities, so that
6395           seeking works without requiring hacks in applications or extra
6396           code in sinks.
6397         * gst/gstpipeline.c: (gst_pipeline_class_init),
6398         (gst_pipeline_send_event):
6399           Half hack, half utility: set a pipeline to PAUSED for seek events,
6400           since that is the only way we can guarantee a/v sync. Means that
6401           you can do gst_element_seek (pipeline, method, pos); on a pipeline
6402           and it "just works".
6403
6404 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6405
6406         * gst/gstpipeline.c: (gst_pipeline_use_clock):
6407           Lock/unlock mismatch.
6408
6409 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6410
6411         * docs/faq/gst-uninstalled:
6412           add gst-plugins-base
6413         * docs/gst/Makefile.am:
6414           don't error out until docs are fixed
6415         * docs/gst/gstreamer.types:
6416           remove thread
6417
6418 2005-03-22  Wim Taymans  <wim@fluendo.com>
6419
6420         * check/Makefile.am:
6421         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
6422         * gst/gststructure.c: (gst_structure_set_valist),
6423         (gst_structure_copy_conditional):
6424         Activated more tests.
6425         Added message test.
6426         Added G_TYPE_POINTER to GstStructure.
6427         
6428
6429 2005-03-22  Wim Taymans  <wim@fluendo.com>
6430
6431         * docs/design/part-TODO.txt:
6432         * docs/design/part-events.txt:
6433         * docs/design/part-gstbin.txt:
6434         * docs/design/part-gstbus.txt:
6435         * docs/design/part-gstpipeline.txt:
6436         * docs/design/part-messages.txt:
6437         * gst/gstbus.c:
6438         * gst/gstmessage.c:
6439         Docs updates
6440
6441 2005-03-21  Wim Taymans  <wim@fluendo.com>
6442
6443         * gst/gstbus.c: (gst_bus_post):
6444         Fix copy-and-paste error.
6445
6446 2005-03-21  Wim Taymans  <wim@fluendo.com>
6447
6448         * check/Makefile.am:
6449         * gst/Makefile.am:
6450         * gst/elements/Makefile.am:
6451         * gst/elements/gstelements.c:
6452         * gst/elements/gstfakesink.c: (gst_fakesink_init),
6453         (gst_fakesink_event), (gst_fakesink_chain):
6454         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6455         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
6456         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
6457         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
6458         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6459         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
6460         (gst_fakesrc_loop), (gst_fakesrc_activate),
6461         (gst_fakesrc_change_state):
6462         * gst/elements/gstfakesrc.h:
6463         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
6464         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
6465         (gst_filesrc_open_file), (gst_filesrc_loop),
6466         (gst_filesrc_activate), (gst_filesrc_change_state),
6467         (filesrc_find_peek), (filesrc_find_suggest),
6468         (gst_filesrc_type_find):
6469         * gst/elements/gstidentity.c: (gst_identity_finalize),
6470         (gst_identity_class_init), (gst_identity_init),
6471         (gst_identity_proxy_getcaps), (identity_queue_push),
6472         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
6473         (gst_identity_getrange), (gst_identity_chain),
6474         (gst_identity_sink_loop), (gst_identity_src_loop),
6475         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
6476         (gst_identity_set_property), (gst_identity_get_property),
6477         (gst_identity_change_state):
6478         * gst/elements/gstidentity.h:
6479         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
6480         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
6481         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
6482         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
6483         (gst_tee_sink_activate):
6484         * gst/elements/gsttee.h:
6485         * gst/gst.c: (gst_register_core_elements), (init_post):
6486         * gst/gst.h:
6487         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
6488         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
6489         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
6490         (gst_bin_change_state):
6491         * gst/gstbin.h:
6492         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
6493         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
6494         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
6495         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
6496         (gst_bus_set_sync_handler), (gst_bus_create_watch),
6497         (bus_watch_callback), (bus_watch_destroy),
6498         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
6499         (poll_timeout), (gst_bus_poll):
6500         * gst/gstbus.h:
6501         * gst/gstcaps.h:
6502         * gst/gstdata.h:
6503         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
6504         (gst_element_post_message), (gst_element_message_full),
6505         (gst_element_get_state_func), (gst_element_get_state),
6506         (gst_element_abort_state), (gst_element_commit_state),
6507         (gst_element_lost_state), (gst_element_set_state),
6508         (gst_element_pads_activate), (gst_element_change_state),
6509         (gst_element_dispose), (gst_element_set_manager_func),
6510         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
6511         (gst_element_set_manager), (gst_element_get_manager),
6512         (gst_element_set_bus), (gst_element_get_bus),
6513         (gst_element_set_scheduler), (gst_element_get_scheduler):
6514         * gst/gstelement.h:
6515         * gst/gstevent.c: (gst_event_new_segment_seek),
6516         (gst_event_new_flush):
6517         * gst/gstevent.h:
6518         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
6519         (_gst_message_free), (gst_message_get_type), (gst_message_new),
6520         (gst_message_new_eos), (gst_message_new_error),
6521         (gst_message_new_warning), (gst_message_new_tag),
6522         (gst_message_new_state_changed), (gst_message_new_application),
6523         (gst_message_get_structure), (gst_message_parse_tag),
6524         (gst_message_parse_state_changed), (gst_message_parse_error),
6525         (gst_message_parse_warning):
6526         * gst/gstmessage.h:
6527         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
6528         (gst_real_pad_set_property), (gst_pad_set_active),
6529         (gst_pad_is_active), (gst_pad_set_blocked_async),
6530         (gst_pad_set_blocked), (gst_pad_is_blocked),
6531         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
6532         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
6533         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
6534         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
6535         (gst_pad_link_filtered), (gst_pad_relink_filtered),
6536         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
6537         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
6538         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
6539         (gst_pad_set_caps), (gst_pad_configure_sink),
6540         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
6541         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
6542         (gst_real_pad_dispose), (gst_real_pad_finalize),
6543         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
6544         (gst_pad_event_default_dispatch), (gst_pad_event_default),
6545         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
6546         * gst/gstpad.h:
6547         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
6548         (pipeline_bus_handler), (gst_pipeline_change_state),
6549         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
6550         * gst/gstpipeline.h:
6551         * gst/gstprobe.h:
6552         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6553         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
6554         (gst_queue_link_src), (gst_queue_bufferalloc),
6555         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6556         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
6557         (gst_queue_loop), (gst_queue_handle_src_event),
6558         (gst_queue_handle_src_query), (gst_queue_src_activate),
6559         (gst_queue_change_state):
6560         * gst/gstqueue.h:
6561         * gst/gstscheduler.c: (gst_scheduler_init),
6562         (gst_scheduler_dispose), (gst_scheduler_create_task),
6563         (gst_scheduler_factory_create):
6564         * gst/gstscheduler.h:
6565         * gst/gststructure.c: (gst_structure_get_type),
6566         (gst_structure_copy_conditional):
6567         * gst/gststructure.h:
6568         * gst/gsttaginterface.h:
6569         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
6570         (gst_task_init), (gst_task_dispose), (gst_task_create),
6571         (gst_task_get_state), (gst_task_start), (gst_task_stop),
6572         (gst_task_pause):
6573         * gst/gsttask.h:
6574         * gst/gstthread.c:
6575         * gst/gstthread.h:
6576         * gst/gsttypes.h:
6577         * gst/schedulers/Makefile.am:
6578         * gst/schedulers/cothreads_compat.h:
6579         * gst/schedulers/entryscheduler.c:
6580         * gst/schedulers/faircothreads.c:
6581         * gst/schedulers/faircothreads.h:
6582         * gst/schedulers/fairscheduler.c:
6583         * gst/schedulers/gstbasicscheduler.c:
6584         * gst/schedulers/gstoptimalscheduler.c:
6585         * gst/schedulers/gthread-cothreads.h:
6586         * gst/schedulers/threadscheduler.c:
6587         (gst_thread_scheduler_task_get_type),
6588         (gst_thread_scheduler_task_class_init),
6589         (gst_thread_scheduler_task_init),
6590         (gst_thread_scheduler_task_start),
6591         (gst_thread_scheduler_task_stop),
6592         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
6593         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
6594         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
6595         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
6596         (plugin_init):
6597         * libs/gst/Makefile.am:
6598         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
6599         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
6600         (gst_file_pad_parent_set):
6601         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6602         (gst_dp_event_from_packet):
6603         * tests/complexity.c: (main):
6604         * tests/mass_elements.c: (main):
6605         * testsuite/states/locked.c: (message_received), (main):
6606         * testsuite/states/parent.c: (main):
6607         * tools/gst-inspect.c: (print_element_flag_info),
6608         (print_implementation_info), (print_pad_info):
6609         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
6610         (main):
6611         * tools/gst-md5sum.c: (event_loop), (main):
6612         * tools/gst-typefind.c: (main):
6613         * tools/gst-xmlinspect.c: (print_element_info):
6614         Next big merge.
6615         Added GstBus for mainloop integration.
6616         Added GstMessage for sending notifications on the bus.
6617         Added GstTask as an abstraction for pipeline entry points.
6618         Removed GstThread.
6619         Removed Schedulers.
6620         Simplified GstQueue for multithreaded core.
6621         Made _link threadsafe, removed old capsnego.
6622         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
6623         Added pad blocking functions.
6624         Reworked scheduling functions in GstPad to prepare for
6625         scheduling updates soon.
6626         Moved events out of data stream.
6627         Simplified GstEvent types.
6628         Added return values to push/pull.
6629         Removed clocking from GstElement.
6630         Added prototypes for state change function for next merge.
6631         Removed iterate from bins and state change management.
6632         Fixed some elements, disabled others for now.
6633         Fixed -inspect and -launch.
6634         Added check for GstBus.
6635
6636 2005-03-10  Wim Taymans  <wim@fluendo.com>
6637
6638         * docs/design/part-MT-refcounting.txt:
6639         * docs/design/part-clocks.txt:
6640         * docs/design/part-gstelement.txt:
6641         * docs/design/part-gstobject.txt:
6642         * docs/design/part-standards.txt:
6643         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
6644         (gst_bin_remove_func), (gst_bin_remove):
6645         * gst/gstbin.h:
6646         * gst/gstbuffer.c:
6647         * gst/gstcaps.h:
6648         * testsuite/clock/clock1.c: (main):
6649         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
6650         (main):
6651         * testsuite/dlopen/loadgst.c: (do_test):
6652         * testsuite/refcounting/bin.c: (add_remove_test1),
6653         (add_remove_test2), (main):
6654         * testsuite/refcounting/element.c: (main):
6655         * testsuite/refcounting/element_pad.c: (main):
6656         * testsuite/refcounting/pad.c: (main):
6657         * tools/gst-launch.c: (sigint_handler_sighandler):
6658         * tools/gst-typefind.c: (main):
6659         Doc updates.
6660         Added doc about clock.
6661         removed gst_bin_iterate_recurse_up(), marked methods
6662         for removal.
6663         Fix more testsuites.
6664
6665 2005-03-09  Wim Taymans  <wim@fluendo.com>
6666
6667         * gst/gstpad.c: (gst_pad_get_direction),
6668         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
6669         (gst_pad_collect_valist):
6670         * testsuite/bins/interface.c: (main):
6671         * testsuite/caps/audioscale.c: (test_caps):
6672         * testsuite/caps/caps.c: (test1), (test2), (test3):
6673         * testsuite/caps/deserialize.c: (main):
6674         * testsuite/caps/enumcaps.c: (main):
6675         * testsuite/caps/filtercaps.c: (main):
6676         * testsuite/caps/intersect2.c: (main):
6677         * testsuite/caps/random.c: (main):
6678         * testsuite/caps/renegotiate.c: (my_fixate), (main):
6679         * testsuite/caps/sets.c: (check_caps):
6680         * testsuite/caps/simplify.c: (check_caps), (main):
6681         * testsuite/caps/subtract.c: (check_caps):
6682         Fix _pad_get_direction wrt ghostpads.
6683         Fix caps testsuite.
6684
6685 2005-03-09  Wim Taymans  <wim@fluendo.com>
6686
6687         * check/Makefile.am:
6688         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
6689         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
6690         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
6691         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
6692         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
6693         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
6694         (gst_bin_remove), (gst_bin_iterate_recurse_up),
6695         (bin_element_is_sink), (gst_bin_iterate_sinks),
6696         (gst_bin_iterate_all_by_interface):
6697         * gst/gstbin.h:
6698         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
6699         (gst_element_change_state), (gst_element_dispose),
6700         (gst_element_finalize), (gst_element_set_loop_function):
6701         * gst/gstelement.h:
6702         * gst/gstiterator.c: (find_custom_fold_func):
6703         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
6704         (gst_pad_collectv), (gst_pad_collect_valist),
6705         (gst_pad_template_new):
6706         * gst/gstpipeline.c: (gst_pipeline_class_init),
6707         (gst_pipeline_dispose), (gst_pipeline_set_property),
6708         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
6709         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
6710         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
6711         * gst/gstutils.h:
6712         * gst/schedulers/entryscheduler.c:
6713         * gst/schedulers/gstbasicscheduler.c:
6714         (gst_basic_scheduler_cothreaded_chain),
6715         (gst_basic_scheduler_chain_add_element):
6716         * testsuite/bins/interface.c: (main):
6717         Added GstBin test.
6718         Added GstSystemClock test.
6719         Implemented clock distribution code in GstBin.
6720         Implemented iterate sinks method for future use.
6721         Rearranged gstelement.h
6722         Fix GstIterator comparison bug.
6723         Moved some code to GstPipeline, mostly clocking related.
6724
6725 2005-03-09  Wim Taymans  <wim@fluendo.com>
6726
6727         * configure.ac:
6728         * gst/gst_private.h:
6729         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
6730         (gst_bin_remove_func), (gst_bin_remove),
6731         (gst_bin_get_by_name_recurse_up):
6732         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
6733         (gst_clock_id_compare_func), (gst_clock_id_wait),
6734         (gst_clock_id_wait_async), (gst_clock_init),
6735         (gst_clock_adjust_unlocked), (gst_clock_get_time):
6736         * gst/gstelement.h:
6737         * gst/gstinfo.c: (_gst_debug_init):
6738         * gst/gstobject.h:
6739         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
6740         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
6741         * gst/gstpad.h:
6742         Bump version number, we're now 0.9.0
6743         Add future debugging category.
6744         Fix NULL _unref() in _get_by_name_recurse_up
6745         Rearrange gstpad.h.
6746         Update some docs.
6747
6748 2005-03-08  Wim Taymans  <wim@fluendo.com>
6749
6750         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
6751         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6752         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
6753         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
6754         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
6755         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
6756         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
6757         * gst/elements/gstidentity.c: (gst_identity_class_init):
6758         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
6759         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
6760         * gst/elements/gstshaper.c: (gst_shaper_class_init):
6761         * gst/elements/gststatistics.c: (gst_statistics_class_init):
6762         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
6763         (gst_tee_link):
6764         * gst/gstelement.c: (gst_element_class_init),
6765         (gst_element_base_class_init), (gst_element_init),
6766         (gst_element_get_random_pad), (gst_element_wait_state_change),
6767         (gst_element_change_state), (gst_element_dispose),
6768         (gst_element_finalize), (gst_element_set_loop_function):
6769         * gst/gstelement.h:
6770         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
6771         * gst/gstthread.c: (gst_thread_class_init),
6772         (gst_thread_release_children_locks), (gst_thread_change_state):
6773         * gst/schedulers/gstbasicscheduler.c:
6774         (gst_basic_scheduler_loopfunc_wrapper),
6775         (gst_basic_scheduler_chain_wrapper),
6776         (gst_basic_scheduler_src_wrapper),
6777         (gst_basic_scheduler_remove_element):
6778         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6779         Remove threadsafe properties. Fix elements because GObject
6780         complains when installing a property before declaring a
6781         set/get_property handler.
6782         Rearrange gstelement.h file, use STATE macros for state locks.
6783         Free mutexes in the finalize method instead of dispose.
6784
6785 2005-03-08  Wim Taymans  <wim@fluendo.com>
6786
6787         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
6788         * gst/gstthread.c: (gst_thread_release_children_locks):
6789         Added parentage check.
6790         Fix build og GstThread again.
6791
6792 2005-03-08  Wim Taymans  <wim@fluendo.com>
6793
6794         * docs/design/part-MT-refcounting.txt:
6795         * docs/design/part-conventions.txt:
6796         * docs/design/part-gstobject.txt:
6797         * docs/design/part-relations.txt:
6798         * docs/design/part-standards.txt:
6799         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
6800         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
6801         (gst_bin_get_by_name), (gst_bin_get_by_interface),
6802         (gst_bin_iterate_all_by_interface):
6803         * gst/gstbuffer.h:
6804         * gst/gstclock.h:
6805         * gst/gstelement.c: (gst_element_class_init),
6806         (gst_element_change_state), (gst_element_set_loop_function):
6807         * gst/gstelement.h:
6808         * gst/gstiterator.c:
6809         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
6810         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
6811         (gst_object_dispatch_properties_changed), (gst_object_set_name),
6812         (gst_object_set_parent), (gst_object_unparent),
6813         (gst_object_check_uniqueness):
6814         * gst/gstobject.h:
6815         Docs updates, clean up some headers.
6816
6817 2005-03-07  Wim Taymans  <wim@fluendo.com>
6818
6819         * check/.cvsignore:
6820         * check/Makefile.am:
6821         * check/gst-libs/.cvsignore:
6822         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
6823         * check/gst/.cvsignore:
6824         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
6825         (START_TEST), (gstbus_suite), (main):
6826         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
6827         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
6828         (gst_data_suite), (main):
6829         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
6830         (add_fold_func), (gstiterator_suite), (main):
6831         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
6832         (thread_name_object), (thread_name_object_default),
6833         (gst_object_name_compare), (gst_object_suite), (main):
6834         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
6835         (gst_pad_suite), (main):
6836         * check/gstcheck.c: (gst_check_log_message_func),
6837         (gst_check_log_critical_func), (gst_check_init):
6838         * check/gstcheck.h:
6839         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6840         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
6841         Added checks.
6842
6843 2005-03-07  Wim Taymans  <wim@fluendo.com>
6844
6845         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6846         (gst_list_iterator_next), (gst_list_iterator_resync),
6847         (gst_list_iterator_free), (gst_iterator_new_list),
6848         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
6849         (gst_iterator_free), (gst_iterator_push), (filter_next),
6850         (filter_resync), (filter_uninit), (filter_free),
6851         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
6852         (gst_iterator_foreach), (find_custom_fold_func),
6853         (gst_iterator_find_custom):
6854         * gst/gstiterator.h:
6855         Added missing files.
6856
6857 2005-03-07  Wim Taymans  <wim@fluendo.com>
6858
6859         * Makefile.am:
6860         * configure.ac:
6861         * docs/design/part-MT-refcounting.txt:
6862         * docs/design/part-conventions.txt:
6863         * docs/design/part-gstobject.txt:
6864         * docs/design/part-relations.txt:
6865         * examples/mixer/mixer.c: (main):
6866         * examples/thread/thread.c: (eos), (main):
6867         * gst/Makefile.am:
6868         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
6869         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
6870         (gst_spider_plug_from_srcpad):
6871         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
6872         (gst_spider_identity_change_state),
6873         (gst_spider_identity_sink_loop_type_finding):
6874         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
6875         * gst/elements/gstidentity.c: (gst_identity_init):
6876         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
6877         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
6878         * gst/elements/gsttypefindelement.c: (free_entry):
6879         * gst/gst.c:
6880         * gst/gst.h:
6881         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
6882         (gst_bin_set_clock_func), (gst_bin_auto_clock),
6883         (gst_bin_set_index), (gst_bin_set_element_sched),
6884         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
6885         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
6886         (gst_bin_iterate_elements), (iterate_child_recurse),
6887         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
6888         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
6889         (compare_interface), (gst_bin_get_by_interface),
6890         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
6891         * gst/gstbin.h:
6892         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
6893         (gst_buffer_default_free), (gst_buffer_default_copy),
6894         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
6895         (gst_buffer_create_sub):
6896         * gst/gstbuffer.h:
6897         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
6898         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
6899         (gst_caps_unref), (gst_static_caps_get),
6900         (gst_caps_remove_and_get_structure), (gst_caps_append),
6901         (gst_caps_append_structure), (gst_caps_remove_structure),
6902         (gst_caps_copy_nth), (gst_caps_set_simple),
6903         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
6904         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
6905         (gst_caps_structure_intersect_field), (gst_caps_intersect),
6906         (gst_caps_structure_subtract_field), (gst_caps_subtract),
6907         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
6908         (gst_caps_structure_figure_out_union),
6909         (gst_caps_switch_structures), (gst_caps_do_simplify),
6910         (gst_caps_replace), (gst_caps_from_string),
6911         (gst_caps_copy_conditional):
6912         * gst/gstcaps.h:
6913         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
6914         (_gst_clock_id_free), (gst_clock_id_unref),
6915         (gst_clock_id_compare_func), (gst_clock_id_wait),
6916         (gst_clock_id_wait_async), (gst_clock_class_init),
6917         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
6918         (gst_clock_get_time), (gst_clock_set_time_adjust),
6919         (gst_clock_set_property), (gst_clock_get_property):
6920         * gst/gstclock.h:
6921         * gst/gstcompat.h:
6922         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
6923         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
6924         * gst/gstdata.h:
6925         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
6926         (gst_element_requires_clock), (gst_element_provides_clock),
6927         (gst_element_set_clock), (gst_element_clock_wait),
6928         (gst_element_wait), (gst_element_set_time_delay),
6929         (gst_element_is_indexable), (gst_element_add_pad),
6930         (gst_element_add_ghost_pad), (gst_element_remove_pad),
6931         (pad_compare_name), (gst_element_get_static_pad),
6932         (gst_element_request_pad), (gst_element_get_request_pad),
6933         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
6934         (gst_element_class_get_pad_template_list),
6935         (gst_element_class_get_pad_template), (gst_element_error_func),
6936         (gst_element_get_random_pad), (gst_element_get_event_masks),
6937         (gst_element_send_event), (gst_element_seek),
6938         (gst_element_get_query_types), (gst_element_query),
6939         (gst_element_get_formats), (gst_element_convert),
6940         (gst_element_is_locked_state), (gst_element_set_locked_state),
6941         (gst_element_sync_state_with_parent), (gst_element_change_state),
6942         (gst_element_finalize), (gst_element_yield),
6943         (gst_element_interrupt), (gst_element_set_scheduler),
6944         (gst_element_get_scheduler), (gst_element_set_loop_function):
6945         * gst/gstelement.h:
6946         * gst/gstevent.h:
6947         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
6948         (gst_format_get_by_nick), (gst_format_get_details),
6949         (gst_format_iterate_definitions):
6950         * gst/gstformat.h:
6951         * gst/gstindex.c: (gst_index_gtype_resolver):
6952         * gst/gstinfo.c:
6953         * gst/gstinfo.h:
6954         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
6955         (gst_mem_chunk_free):
6956         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
6957         (gst_object_ref), (gst_object_unref), (gst_object_sink),
6958         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
6959         (gst_object_dispatch_properties_changed),
6960         (gst_object_set_name_default), (gst_object_set_name),
6961         (gst_object_get_name), (gst_object_set_name_prefix),
6962         (gst_object_get_name_prefix), (gst_object_set_parent),
6963         (gst_object_get_parent), (gst_object_unparent),
6964         (gst_object_check_uniqueness), (gst_object_save_thyself),
6965         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
6966         (gst_object_set_property), (gst_object_get_property),
6967         (gst_object_get_path_string):
6968         * gst/gstobject.h:
6969         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
6970         (gst_real_pad_init), (gst_real_pad_get_property),
6971         (gst_pad_custom_new), (gst_pad_get_direction),
6972         (gst_pad_set_active), (gst_pad_is_active),
6973         (gst_pad_set_event_function), (gst_pad_is_linked),
6974         (gst_pad_link_free), (gst_pad_link_intersect),
6975         (gst_pad_link_fixate), (gst_pad_set_caps),
6976         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
6977         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
6978         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
6979         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
6980         (gst_pad_get_caps), (gst_pad_peer_get_caps),
6981         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
6982         (gst_pad_realize), (gst_pad_get_allowed_caps),
6983         (gst_real_pad_dispose), (gst_real_pad_finalize),
6984         (gst_pad_collectv), (gst_pad_collect_valist),
6985         (gst_pad_template_dispose), (gst_pad_template_new),
6986         (gst_pad_get_internal_links):
6987         * gst/gstpad.h:
6988         * gst/gstpipeline.c: (gst_pipeline_dispose),
6989         (gst_pipeline_change_state):
6990         * gst/gstpipeline.h:
6991         * gst/gstplugin.c:
6992         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
6993         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
6994         * gst/gstpluginfeature.h:
6995         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6996         * gst/gstquery.c: (_gst_query_type_initialize),
6997         (gst_query_type_register), (gst_query_type_get_by_nick),
6998         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
6999         * gst/gstquery.h:
7000         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
7001         * gst/gstscheduler.c: (gst_scheduler_add_element),
7002         (gst_scheduler_factory_create):
7003         * gst/gststructure.c: (gst_structure_set_parent_refcount),
7004         (gst_structure_free), (gst_structure_set_name),
7005         (gst_structure_id_set_value), (gst_structure_set_value),
7006         (gst_structure_set_valist), (gst_structure_remove_field),
7007         (gst_structure_remove_fields),
7008         (gst_structure_remove_fields_valist),
7009         (gst_structure_remove_all_fields), (gst_structure_foreach),
7010         (gst_structure_map_in_place),
7011         (gst_caps_structure_fixate_field_nearest_int),
7012         (gst_caps_structure_fixate_field_nearest_double):
7013         * gst/gststructure.h:
7014         * gst/gstsystemclock.c: (gst_system_clock_class_init),
7015         (gst_system_clock_init), (gst_system_clock_dispose),
7016         (gst_system_clock_async_thread),
7017         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
7018         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
7019         * gst/gstsystemclock.h:
7020         * gst/gsttag.c: (gst_tag_list_add_value_internal),
7021         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
7022         * gst/gsttaginterface.c:
7023         * gst/gstthread.c: (gst_thread_dispose),
7024         (gst_thread_release_children_locks), (gst_thread_change_state),
7025         (gst_thread_main_loop):
7026         * gst/gsttrashstack.h:
7027         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
7028         * gst/gsttypes.h:
7029         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7030         (gst_element_request_pad), (gst_element_get_pad_from_template),
7031         (gst_element_request_compatible_pad),
7032         (gst_element_get_compatible_pad_filtered),
7033         (gst_element_get_compatible_pad), (gst_element_state_get_name),
7034         (gst_element_link_pads_filtered), (gst_element_link_filtered),
7035         (gst_element_link_many), (gst_element_link),
7036         (gst_element_link_pads), (gst_element_unlink_pads),
7037         (gst_element_unlink_many), (gst_element_unlink),
7038         (gst_pad_can_link_filtered), (gst_pad_can_link),
7039         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
7040         (gst_object_default_error), (gst_bin_add_many),
7041         (gst_bin_remove_many), (gst_element_populate_std_props),
7042         (gst_element_class_install_std_props), (gst_buffer_merge),
7043         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
7044         (link_fold_func), (gst_pad_proxy_setcaps):
7045         * gst/gstutils.h:
7046         * gst/gstvalue.c: (gst_value_deserialize_string):
7047         * gst/parse/grammar.y:
7048         * gst/schedulers/gstbasicscheduler.c:
7049         (gst_basic_scheduler_cothreaded_chain),
7050         (gst_basic_scheduler_chain_recursive_add),
7051         (gst_basic_scheduler_pad_link):
7052         * gst/schedulers/gstoptimalscheduler.c:
7053         (get_group_schedule_function),
7054         (gst_opt_scheduler_state_transition),
7055         (gst_opt_scheduler_add_element), (element_get_reachables_func):
7056         * libs/gst/bytestream/bytestream.c:
7057         * libs/gst/dataprotocol/dataprotocol.c:
7058         (gst_dp_header_from_buffer):
7059         * po/nb.po:
7060         * po/ru.po:
7061         * tests/threadstate/threadstate2.c: (eos):
7062         * tools/gst-compprep.c: (main):
7063         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
7064         (print_pad_info), (print_children_info):
7065         * tools/gst-launch.c: (idle_func), (main):
7066         * tools/gst-md5sum.c: (idle_func), (main):
7067         * tools/gst-xmlinspect.c: (print_element_info):
7068         First THREADED backport attempt, focusing on adding locks and
7069         making sure the API is threadsafe. Needs more work. More docs
7070         follow this week.
7071
7072 2005-02-24  Andy Wingo  <wingo@pobox.com>
7073
7074         * tests/bench-complexity.scm:
7075         * tests/complexity.gnuplot: New files, good for running complexity
7076         benchmarks.
7077
7078         * tests/Makefile.am:
7079         * tests/complexity.c: New test, sets up N elements, at each level
7080         teeing into M streams per element. Eeeenteresting.
7081
7082         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
7083         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
7084         running bench-mass_elements.scm.
7085
7086         * tests/bench-mass_elements.scm: New script, runs mass_elements
7087         for various numbers of identities, outputting the results to a
7088         file. Requires guile 1.6. Just for testing.
7089
7090 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7091
7092         * gst/schedulers/fairscheduler.c:
7093           compile with debug disabled
7094
7095 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7096
7097         * configure.ac:
7098           hunting season on 0.9 is now OPEN