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