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