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