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