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