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