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