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