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