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