Next big merge.
[platform/upstream/gstreamer.git] / ChangeLog
index 251c351..0ab61d5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,675 @@
+2005-03-21  Wim Taymans  <wim@fluendo.com>
+
+       * check/Makefile.am:
+       * gst/Makefile.am:
+       * gst/elements/Makefile.am:
+       * gst/elements/gstelements.c:
+       * gst/elements/gstfakesink.c: (gst_fakesink_init),
+       (gst_fakesink_event), (gst_fakesink_chain):
+       * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
+       (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
+       (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
+       (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
+       (gst_fakesrc_set_property), (gst_fakesrc_get_property),
+       (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
+       (gst_fakesrc_loop), (gst_fakesrc_activate),
+       (gst_fakesrc_change_state):
+       * gst/elements/gstfakesrc.h:
+       * gst/elements/gstfilesrc.c: (gst_filesrc_init),
+       (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
+       (gst_filesrc_open_file), (gst_filesrc_loop),
+       (gst_filesrc_activate), (gst_filesrc_change_state),
+       (filesrc_find_peek), (filesrc_find_suggest),
+       (gst_filesrc_type_find):
+       * gst/elements/gstidentity.c: (gst_identity_finalize),
+       (gst_identity_class_init), (gst_identity_init),
+       (gst_identity_proxy_getcaps), (identity_queue_push),
+       (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
+       (gst_identity_getrange), (gst_identity_chain),
+       (gst_identity_sink_loop), (gst_identity_src_loop),
+       (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
+       (gst_identity_set_property), (gst_identity_get_property),
+       (gst_identity_change_state):
+       * gst/elements/gstidentity.h:
+       * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
+       (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
+       (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
+       (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
+       (gst_tee_sink_activate):
+       * gst/elements/gsttee.h:
+       * gst/gst.c: (gst_register_core_elements), (init_post):
+       * gst/gst.h:
+       * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
+       (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
+       (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
+       (gst_bin_change_state):
+       * gst/gstbin.h:
+       * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
+       (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
+       (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
+       (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
+       (gst_bus_set_sync_handler), (gst_bus_create_watch),
+       (bus_watch_callback), (bus_watch_destroy),
+       (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
+       (poll_timeout), (gst_bus_poll):
+       * gst/gstbus.h:
+       * gst/gstcaps.h:
+       * gst/gstdata.h:
+       * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
+       (gst_element_post_message), (gst_element_message_full),
+       (gst_element_get_state_func), (gst_element_get_state),
+       (gst_element_abort_state), (gst_element_commit_state),
+       (gst_element_lost_state), (gst_element_set_state),
+       (gst_element_pads_activate), (gst_element_change_state),
+       (gst_element_dispose), (gst_element_set_manager_func),
+       (gst_element_set_bus_func), (gst_element_set_scheduler_func),
+       (gst_element_set_manager), (gst_element_get_manager),
+       (gst_element_set_bus), (gst_element_get_bus),
+       (gst_element_set_scheduler), (gst_element_get_scheduler):
+       * gst/gstelement.h:
+       * gst/gstevent.c: (gst_event_new_segment_seek),
+       (gst_event_new_flush):
+       * gst/gstevent.h:
+       * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
+       (_gst_message_free), (gst_message_get_type), (gst_message_new),
+       (gst_message_new_eos), (gst_message_new_error),
+       (gst_message_new_warning), (gst_message_new_tag),
+       (gst_message_new_state_changed), (gst_message_new_application),
+       (gst_message_get_structure), (gst_message_parse_tag),
+       (gst_message_parse_state_changed), (gst_message_parse_error),
+       (gst_message_parse_warning):
+       * gst/gstmessage.h:
+       * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
+       (gst_real_pad_set_property), (gst_pad_set_active),
+       (gst_pad_is_active), (gst_pad_set_blocked_async),
+       (gst_pad_set_blocked), (gst_pad_is_blocked),
+       (gst_pad_set_activate_function), (gst_pad_set_loop_function),
+       (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
+       (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
+       (gst_pad_unlink), (gst_pad_link_prepare_filtered),
+       (gst_pad_link_filtered), (gst_pad_relink_filtered),
+       (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
+       (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
+       (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
+       (gst_pad_set_caps), (gst_pad_configure_sink),
+       (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
+       (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
+       (gst_real_pad_dispose), (gst_real_pad_finalize),
+       (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
+       (gst_pad_event_default_dispatch), (gst_pad_event_default),
+       (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
+       * gst/gstpad.h:
+       * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
+       (pipeline_bus_handler), (gst_pipeline_change_state),
+       (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
+       * gst/gstpipeline.h:
+       * gst/gstprobe.h:
+       * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
+       (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
+       (gst_queue_link_src), (gst_queue_bufferalloc),
+       (gst_queue_locked_flush), (gst_queue_handle_sink_event),
+       (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
+       (gst_queue_loop), (gst_queue_handle_src_event),
+       (gst_queue_handle_src_query), (gst_queue_src_activate),
+       (gst_queue_change_state):
+       * gst/gstqueue.h:
+       * gst/gstscheduler.c: (gst_scheduler_init),
+       (gst_scheduler_dispose), (gst_scheduler_create_task),
+       (gst_scheduler_factory_create):
+       * gst/gstscheduler.h:
+       * gst/gststructure.c: (gst_structure_get_type),
+       (gst_structure_copy_conditional):
+       * gst/gststructure.h:
+       * gst/gsttaginterface.h:
+       * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
+       (gst_task_init), (gst_task_dispose), (gst_task_create),
+       (gst_task_get_state), (gst_task_start), (gst_task_stop),
+       (gst_task_pause):
+       * gst/gsttask.h:
+       * gst/gstthread.c:
+       * gst/gstthread.h:
+       * gst/gsttypes.h:
+       * gst/schedulers/Makefile.am:
+       * gst/schedulers/cothreads_compat.h:
+       * gst/schedulers/entryscheduler.c:
+       * gst/schedulers/faircothreads.c:
+       * gst/schedulers/faircothreads.h:
+       * gst/schedulers/fairscheduler.c:
+       * gst/schedulers/gstbasicscheduler.c:
+       * gst/schedulers/gstoptimalscheduler.c:
+       * gst/schedulers/gthread-cothreads.h:
+       * gst/schedulers/threadscheduler.c:
+       (gst_thread_scheduler_task_get_type),
+       (gst_thread_scheduler_task_class_init),
+       (gst_thread_scheduler_task_init),
+       (gst_thread_scheduler_task_start),
+       (gst_thread_scheduler_task_stop),
+       (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
+       (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
+       (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
+       (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
+       (plugin_init):
+       * libs/gst/Makefile.am:
+       * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
+       * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
+       (gst_file_pad_parent_set):
+       * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
+       (gst_dp_event_from_packet):
+       * tests/complexity.c: (main):
+       * tests/mass_elements.c: (main):
+       * testsuite/states/locked.c: (message_received), (main):
+       * testsuite/states/parent.c: (main):
+       * tools/gst-inspect.c: (print_element_flag_info),
+       (print_implementation_info), (print_pad_info):
+       * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
+       (main):
+       * tools/gst-md5sum.c: (event_loop), (main):
+       * tools/gst-typefind.c: (main):
+       * tools/gst-xmlinspect.c: (print_element_info):
+       Next big merge.
+       Added GstBus for mainloop integration.
+       Added GstMessage for sending notifications on the bus.
+       Added GstTask as an abstraction for pipeline entry points.
+       Removed GstThread.
+       Removed Schedulers.
+       Simplified GstQueue for multithreaded core.
+       Made _link threadsafe, removed old capsnego.
+       Added STREAM_LOCK and PREROLL_LOCK in GstPad.
+       Added pad blocking functions.
+       Reworked scheduling functions in GstPad to prepare for
+       scheduling updates soon.
+       Moved events out of data stream.
+       Simplified GstEvent types.
+       Added return values to push/pull.
+       Removed clocking from GstElement.
+       Added prototypes for state change function for next merge.
+       Removed iterate from bins and state change management.
+       Fixed some elements, disabled others for now.
+       Fixed -inspect and -launch.
+       Added check for GstBus.
+
+2005-03-10  Wim Taymans  <wim@fluendo.com>
+
+       * docs/design/part-MT-refcounting.txt:
+       * docs/design/part-clocks.txt:
+       * docs/design/part-gstelement.txt:
+       * docs/design/part-gstobject.txt:
+       * docs/design/part-standards.txt:
+       * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
+       (gst_bin_remove_func), (gst_bin_remove):
+       * gst/gstbin.h:
+       * gst/gstbuffer.c:
+       * gst/gstcaps.h:
+       * testsuite/clock/clock1.c: (main):
+       * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
+       (main):
+       * testsuite/dlopen/loadgst.c: (do_test):
+       * testsuite/refcounting/bin.c: (add_remove_test1),
+       (add_remove_test2), (main):
+       * testsuite/refcounting/element.c: (main):
+       * testsuite/refcounting/element_pad.c: (main):
+       * testsuite/refcounting/pad.c: (main):
+       * tools/gst-launch.c: (sigint_handler_sighandler):
+       * tools/gst-typefind.c: (main):
+       Doc updates.
+       Added doc about clock.
+       removed gst_bin_iterate_recurse_up(), marked methods
+       for removal.
+       Fix more testsuites.
+
+2005-03-09  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstpad.c: (gst_pad_get_direction),
+       (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
+       (gst_pad_collect_valist):
+       * testsuite/bins/interface.c: (main):
+       * testsuite/caps/audioscale.c: (test_caps):
+       * testsuite/caps/caps.c: (test1), (test2), (test3):
+       * testsuite/caps/deserialize.c: (main):
+       * testsuite/caps/enumcaps.c: (main):
+       * testsuite/caps/filtercaps.c: (main):
+       * testsuite/caps/intersect2.c: (main):
+       * testsuite/caps/random.c: (main):
+       * testsuite/caps/renegotiate.c: (my_fixate), (main):
+       * testsuite/caps/sets.c: (check_caps):
+       * testsuite/caps/simplify.c: (check_caps), (main):
+       * testsuite/caps/subtract.c: (check_caps):
+       Fix _pad_get_direction wrt ghostpads.
+       Fix caps testsuite.
+
+2005-03-09  Wim Taymans  <wim@fluendo.com>
+
+       * check/Makefile.am:
+       * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
+       * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
+       (ok_callback), (error_callback), (gst_systemclock_suite), (main):
+       * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
+       (gst_bin_set_clock_func), (gst_bin_get_clock_func),
+       (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
+       (gst_bin_remove), (gst_bin_iterate_recurse_up),
+       (bin_element_is_sink), (gst_bin_iterate_sinks),
+       (gst_bin_iterate_all_by_interface):
+       * gst/gstbin.h:
+       * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
+       (gst_element_change_state), (gst_element_dispose),
+       (gst_element_finalize), (gst_element_set_loop_function):
+       * gst/gstelement.h:
+       * gst/gstiterator.c: (find_custom_fold_func):
+       * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
+       (gst_pad_collectv), (gst_pad_collect_valist),
+       (gst_pad_template_new):
+       * gst/gstpipeline.c: (gst_pipeline_class_init),
+       (gst_pipeline_dispose), (gst_pipeline_set_property),
+       (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
+       (gst_pipeline_get_clock), (gst_pipeline_use_clock),
+       (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
+       * gst/gstutils.h:
+       * gst/schedulers/entryscheduler.c:
+       * gst/schedulers/gstbasicscheduler.c:
+       (gst_basic_scheduler_cothreaded_chain),
+       (gst_basic_scheduler_chain_add_element):
+       * testsuite/bins/interface.c: (main):
+       Added GstBin test.
+       Added GstSystemClock test.
+       Implemented clock distribution code in GstBin.
+       Implemented iterate sinks method for future use.
+       Rearranged gstelement.h
+       Fix GstIterator comparison bug.
+       Moved some code to GstPipeline, mostly clocking related.
+
+2005-03-09  Wim Taymans  <wim@fluendo.com>
+
+       * configure.ac:
+       * gst/gst_private.h:
+       * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
+       (gst_bin_remove_func), (gst_bin_remove),
+       (gst_bin_get_by_name_recurse_up):
+       * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
+       (gst_clock_id_compare_func), (gst_clock_id_wait),
+       (gst_clock_id_wait_async), (gst_clock_init),
+       (gst_clock_adjust_unlocked), (gst_clock_get_time):
+       * gst/gstelement.h:
+       * gst/gstinfo.c: (_gst_debug_init):
+       * gst/gstobject.h:
+       * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
+       (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
+       * gst/gstpad.h:
+       Bump version number, we're now 0.9.0
+       Add future debugging category.
+       Fix NULL _unref() in _get_by_name_recurse_up
+       Rearrange gstpad.h.
+       Update some docs.
+
+2005-03-08  Wim Taymans  <wim@fluendo.com>
+
+       * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
+       * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
+       * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
+       * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
+       * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
+       * gst/elements/gstfilesink.c: (gst_filesink_class_init):
+       * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
+       * gst/elements/gstidentity.c: (gst_identity_class_init):
+       * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
+       * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
+       * gst/elements/gstshaper.c: (gst_shaper_class_init):
+       * gst/elements/gststatistics.c: (gst_statistics_class_init):
+       * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
+       (gst_tee_link):
+       * gst/gstelement.c: (gst_element_class_init),
+       (gst_element_base_class_init), (gst_element_init),
+       (gst_element_get_random_pad), (gst_element_wait_state_change),
+       (gst_element_change_state), (gst_element_dispose),
+       (gst_element_finalize), (gst_element_set_loop_function):
+       * gst/gstelement.h:
+       * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
+       * gst/gstthread.c: (gst_thread_class_init),
+       (gst_thread_release_children_locks), (gst_thread_change_state):
+       * gst/schedulers/gstbasicscheduler.c:
+       (gst_basic_scheduler_loopfunc_wrapper),
+       (gst_basic_scheduler_chain_wrapper),
+       (gst_basic_scheduler_src_wrapper),
+       (gst_basic_scheduler_remove_element):
+       * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
+       Remove threadsafe properties. Fix elements because GObject
+       complains when installing a property before declaring a
+       set/get_property handler.
+       Rearrange gstelement.h file, use STATE macros for state locks.
+       Free mutexes in the finalize method instead of dispose.
+
+2005-03-08  Wim Taymans  <wim@fluendo.com>
+
+       * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
+       * gst/gstthread.c: (gst_thread_release_children_locks):
+       Added parentage check.
+       Fix build og GstThread again.
+
+2005-03-08  Wim Taymans  <wim@fluendo.com>
+
+       * docs/design/part-MT-refcounting.txt:
+       * docs/design/part-conventions.txt:
+       * docs/design/part-gstobject.txt:
+       * docs/design/part-relations.txt:
+       * docs/design/part-standards.txt:
+       * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
+       (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
+       (gst_bin_get_by_name), (gst_bin_get_by_interface),
+       (gst_bin_iterate_all_by_interface):
+       * gst/gstbuffer.h:
+       * gst/gstclock.h:
+       * gst/gstelement.c: (gst_element_class_init),
+       (gst_element_change_state), (gst_element_set_loop_function):
+       * gst/gstelement.h:
+       * gst/gstiterator.c:
+       * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
+       (gst_object_unref), (gst_object_sink), (gst_object_dispose),
+       (gst_object_dispatch_properties_changed), (gst_object_set_name),
+       (gst_object_set_parent), (gst_object_unparent),
+       (gst_object_check_uniqueness):
+       * gst/gstobject.h:
+       Docs updates, clean up some headers.
+
+2005-03-07  Wim Taymans  <wim@fluendo.com>
+
+       * check/.cvsignore:
+       * check/Makefile.am:
+       * check/gst-libs/.cvsignore:
+       * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
+       * check/gst/.cvsignore:
+       * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
+       (START_TEST), (gstbus_suite), (main):
+       * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
+       * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
+       (gst_data_suite), (main):
+       * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
+       (add_fold_func), (gstiterator_suite), (main):
+       * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
+       (thread_name_object), (thread_name_object_default),
+       (gst_object_name_compare), (gst_object_suite), (main):
+       * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
+       (gst_pad_suite), (main):
+       * check/gstcheck.c: (gst_check_log_message_func),
+       (gst_check_log_critical_func), (gst_check_init):
+       * check/gstcheck.h:
+       * check/pipelines/simple_launch_lines.c: (setup_pipeline),
+       (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
+       Added checks.
+
+2005-03-07  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
+       (gst_list_iterator_next), (gst_list_iterator_resync),
+       (gst_list_iterator_free), (gst_iterator_new_list),
+       (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
+       (gst_iterator_free), (gst_iterator_push), (filter_next),
+       (filter_resync), (filter_uninit), (filter_free),
+       (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
+       (gst_iterator_foreach), (find_custom_fold_func),
+       (gst_iterator_find_custom):
+       * gst/gstiterator.h:
+       Added missing files.
+
+2005-03-07  Wim Taymans  <wim@fluendo.com>
+
+       * Makefile.am:
+       * configure.ac:
+       * docs/design/part-MT-refcounting.txt:
+       * docs/design/part-conventions.txt:
+       * docs/design/part-gstobject.txt:
+       * docs/design/part-relations.txt:
+       * examples/mixer/mixer.c: (main):
+       * examples/thread/thread.c: (eos), (main):
+       * gst/Makefile.am:
+       * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
+       * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
+       (gst_spider_plug_from_srcpad):
+       * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
+       (gst_spider_identity_change_state),
+       (gst_spider_identity_sink_loop_type_finding):
+       * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
+       * gst/elements/gstidentity.c: (gst_identity_init):
+       * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
+       (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
+       * gst/elements/gsttypefindelement.c: (free_entry):
+       * gst/gst.c:
+       * gst/gst.h:
+       * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
+       (gst_bin_set_clock_func), (gst_bin_auto_clock),
+       (gst_bin_set_index), (gst_bin_set_element_sched),
+       (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
+       (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
+       (gst_bin_iterate_elements), (iterate_child_recurse),
+       (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
+       (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
+       (compare_interface), (gst_bin_get_by_interface),
+       (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
+       * gst/gstbin.h:
+       * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
+       (gst_buffer_default_free), (gst_buffer_default_copy),
+       (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
+       (gst_buffer_create_sub):
+       * gst/gstbuffer.h:
+       * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
+       (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
+       (gst_caps_unref), (gst_static_caps_get),
+       (gst_caps_remove_and_get_structure), (gst_caps_append),
+       (gst_caps_append_structure), (gst_caps_remove_structure),
+       (gst_caps_copy_nth), (gst_caps_set_simple),
+       (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
+       (gst_structure_is_equal_foreach), (gst_caps_is_subset),
+       (gst_caps_structure_intersect_field), (gst_caps_intersect),
+       (gst_caps_structure_subtract_field), (gst_caps_subtract),
+       (gst_caps_normalize_foreach), (gst_caps_compare_structures),
+       (gst_caps_structure_figure_out_union),
+       (gst_caps_switch_structures), (gst_caps_do_simplify),
+       (gst_caps_replace), (gst_caps_from_string),
+       (gst_caps_copy_conditional):
+       * gst/gstcaps.h:
+       * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
+       (_gst_clock_id_free), (gst_clock_id_unref),
+       (gst_clock_id_compare_func), (gst_clock_id_wait),
+       (gst_clock_id_wait_async), (gst_clock_class_init),
+       (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
+       (gst_clock_get_time), (gst_clock_set_time_adjust),
+       (gst_clock_set_property), (gst_clock_get_property):
+       * gst/gstclock.h:
+       * gst/gstcompat.h:
+       * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
+       * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
+       * gst/gstdata.h:
+       * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
+       (gst_element_requires_clock), (gst_element_provides_clock),
+       (gst_element_set_clock), (gst_element_clock_wait),
+       (gst_element_wait), (gst_element_set_time_delay),
+       (gst_element_is_indexable), (gst_element_add_pad),
+       (gst_element_add_ghost_pad), (gst_element_remove_pad),
+       (pad_compare_name), (gst_element_get_static_pad),
+       (gst_element_request_pad), (gst_element_get_request_pad),
+       (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
+       (gst_element_class_get_pad_template_list),
+       (gst_element_class_get_pad_template), (gst_element_error_func),
+       (gst_element_get_random_pad), (gst_element_get_event_masks),
+       (gst_element_send_event), (gst_element_seek),
+       (gst_element_get_query_types), (gst_element_query),
+       (gst_element_get_formats), (gst_element_convert),
+       (gst_element_is_locked_state), (gst_element_set_locked_state),
+       (gst_element_sync_state_with_parent), (gst_element_change_state),
+       (gst_element_finalize), (gst_element_yield),
+       (gst_element_interrupt), (gst_element_set_scheduler),
+       (gst_element_get_scheduler), (gst_element_set_loop_function):
+       * gst/gstelement.h:
+       * gst/gstevent.h:
+       * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
+       (gst_format_get_by_nick), (gst_format_get_details),
+       (gst_format_iterate_definitions):
+       * gst/gstformat.h:
+       * gst/gstindex.c: (gst_index_gtype_resolver):
+       * gst/gstinfo.c:
+       * gst/gstinfo.h:
+       * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
+       (gst_mem_chunk_free):
+       * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
+       (gst_object_ref), (gst_object_unref), (gst_object_sink),
+       (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
+       (gst_object_dispatch_properties_changed),
+       (gst_object_set_name_default), (gst_object_set_name),
+       (gst_object_get_name), (gst_object_set_name_prefix),
+       (gst_object_get_name_prefix), (gst_object_set_parent),
+       (gst_object_get_parent), (gst_object_unparent),
+       (gst_object_check_uniqueness), (gst_object_save_thyself),
+       (gst_object_restore_thyself), (gst_object_real_restore_thyself),
+       (gst_object_set_property), (gst_object_get_property),
+       (gst_object_get_path_string):
+       * gst/gstobject.h:
+       * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
+       (gst_real_pad_init), (gst_real_pad_get_property),
+       (gst_pad_custom_new), (gst_pad_get_direction),
+       (gst_pad_set_active), (gst_pad_is_active),
+       (gst_pad_set_event_function), (gst_pad_is_linked),
+       (gst_pad_link_free), (gst_pad_link_intersect),
+       (gst_pad_link_fixate), (gst_pad_set_caps),
+       (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
+       (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
+       (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
+       (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
+       (gst_pad_get_caps), (gst_pad_peer_get_caps),
+       (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
+       (gst_pad_realize), (gst_pad_get_allowed_caps),
+       (gst_real_pad_dispose), (gst_real_pad_finalize),
+       (gst_pad_collectv), (gst_pad_collect_valist),
+       (gst_pad_template_dispose), (gst_pad_template_new),
+       (gst_pad_get_internal_links):
+       * gst/gstpad.h:
+       * gst/gstpipeline.c: (gst_pipeline_dispose),
+       (gst_pipeline_change_state):
+       * gst/gstpipeline.h:
+       * gst/gstplugin.c:
+       * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
+       (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
+       * gst/gstpluginfeature.h:
+       * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
+       * gst/gstquery.c: (_gst_query_type_initialize),
+       (gst_query_type_register), (gst_query_type_get_by_nick),
+       (gst_query_type_get_details), (gst_query_type_iterate_definitions):
+       * gst/gstquery.h:
+       * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
+       * gst/gstscheduler.c: (gst_scheduler_add_element),
+       (gst_scheduler_factory_create):
+       * gst/gststructure.c: (gst_structure_set_parent_refcount),
+       (gst_structure_free), (gst_structure_set_name),
+       (gst_structure_id_set_value), (gst_structure_set_value),
+       (gst_structure_set_valist), (gst_structure_remove_field),
+       (gst_structure_remove_fields),
+       (gst_structure_remove_fields_valist),
+       (gst_structure_remove_all_fields), (gst_structure_foreach),
+       (gst_structure_map_in_place),
+       (gst_caps_structure_fixate_field_nearest_int),
+       (gst_caps_structure_fixate_field_nearest_double):
+       * gst/gststructure.h:
+       * gst/gstsystemclock.c: (gst_system_clock_class_init),
+       (gst_system_clock_init), (gst_system_clock_dispose),
+       (gst_system_clock_async_thread),
+       (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
+       (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
+       * gst/gstsystemclock.h:
+       * gst/gsttag.c: (gst_tag_list_add_value_internal),
+       (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
+       * gst/gsttaginterface.c:
+       * gst/gstthread.c: (gst_thread_dispose),
+       (gst_thread_release_children_locks), (gst_thread_change_state),
+       (gst_thread_main_loop):
+       * gst/gsttrashstack.h:
+       * gst/gsttypefind.c: (gst_type_find_factory_dispose):
+       * gst/gsttypes.h:
+       * gst/gstutils.c: (gst_element_get_compatible_pad_template),
+       (gst_element_request_pad), (gst_element_get_pad_from_template),
+       (gst_element_request_compatible_pad),
+       (gst_element_get_compatible_pad_filtered),
+       (gst_element_get_compatible_pad), (gst_element_state_get_name),
+       (gst_element_link_pads_filtered), (gst_element_link_filtered),
+       (gst_element_link_many), (gst_element_link),
+       (gst_element_link_pads), (gst_element_unlink_pads),
+       (gst_element_unlink_many), (gst_element_unlink),
+       (gst_pad_can_link_filtered), (gst_pad_can_link),
+       (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
+       (gst_object_default_error), (gst_bin_add_many),
+       (gst_bin_remove_many), (gst_element_populate_std_props),
+       (gst_element_class_install_std_props), (gst_buffer_merge),
+       (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
+       (link_fold_func), (gst_pad_proxy_setcaps):
+       * gst/gstutils.h:
+       * gst/gstvalue.c: (gst_value_deserialize_string):
+       * gst/parse/grammar.y:
+       * gst/schedulers/gstbasicscheduler.c:
+       (gst_basic_scheduler_cothreaded_chain),
+       (gst_basic_scheduler_chain_recursive_add),
+       (gst_basic_scheduler_pad_link):
+       * gst/schedulers/gstoptimalscheduler.c:
+       (get_group_schedule_function),
+       (gst_opt_scheduler_state_transition),
+       (gst_opt_scheduler_add_element), (element_get_reachables_func):
+       * libs/gst/bytestream/bytestream.c:
+       * libs/gst/dataprotocol/dataprotocol.c:
+       (gst_dp_header_from_buffer):
+       * po/nb.po:
+       * po/ru.po:
+       * tests/threadstate/threadstate2.c: (eos):
+       * tools/gst-compprep.c: (main):
+       * tools/gst-inspect.c: (print_field), (print_element_flag_info),
+       (print_pad_info), (print_children_info):
+       * tools/gst-launch.c: (idle_func), (main):
+       * tools/gst-md5sum.c: (idle_func), (main):
+       * tools/gst-xmlinspect.c: (print_element_info):
+       First THREADED backport attempt, focusing on adding locks and
+       making sure the API is threadsafe. Needs more work. More docs
+       follow this week.
+
+2005-02-24  Andy Wingo  <wingo@pobox.com>
+
+       * tests/bench-complexity.scm:
+       * tests/complexity.gnuplot: New files, good for running complexity
+       benchmarks.
+
+       * tests/Makefile.am:
+       * tests/complexity.c: New test, sets up N elements, at each level
+       teeing into M streams per element. Eeeenteresting.
+
+       * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
+       benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
+       running bench-mass_elements.scm.
+
+       * tests/bench-mass_elements.scm: New script, runs mass_elements
+       for various numbers of identities, outputting the results to a
+       file. Requires guile 1.6. Just for testing.
+
+2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * gst/schedulers/fairscheduler.c:
+         compile with debug disabled
+
+2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * configure.ac:
+         hunting season on 0.9 is now OPEN
+
+2005-02-22  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/libs/tmpl/gstcontrol.sgml:
+       * docs/libs/tmpl/gstdparam.sgml:
+       * docs/libs/tmpl/gstdplinint.sgml:
+       * docs/libs/tmpl/gstdpman.sgml:
+       * docs/libs/tmpl/gstdpsmooth.sgml:
+       * docs/libs/tmpl/gstunitconvert.sgml:
+         more docs for the state of dparams
+
+2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
+
+       * gst/gstelementfactory.c: (gst_element_factory_create):
+       * gst/gstobject.c: (gst_object_init),
+       (gst_object_set_name_default), (gst_object_set_name):
+         name objects by default, not in gst_element_factory_create. Allows
+         using elements created with g_object_new. (fixes #167283)
+
 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
 
        * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):