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