=== release 0.10.6 === 2006-05-14 Jan Schmidt * configure.ac: releasing 0.10.6, "Take the cannoli" 2006-05-13 Tim-Philipp Müller * tools/gst-launch.c: (print_tag): Fix use of uninitialized variable in the hypothetical case that some broken plugin creates a GST_TAG_IMAGE tag containing a NULL buffer (#341667). 2006-05-12 Tim-Philipp Müller * tools/gst-launch.c: (print_tag): Print something more intelligible for image tags when using the -t switch (#341556). 2006-05-12 Thomas Vander Stichele * Makefile.am: updates for win32 * configure.ac: define GST_MAJORMINOR so we have it available in win32/common/config.h Possibly remove it from our Makefile.am files later * win32/common/config.h: * win32/common/config.h.in: added GST_MAJORMINOR * win32/common/gstenumtypes.c: (register_gst_resource_error): * win32/common/gstversion.h: updated 2006-05-12 Sebastien Moutte * win32/MANIFEST: Update win32 files listing. * win32/common/gstversion.h: Add GST_MAJORMINOR definition. * win32/common/libgstreamer.def: Add new exported functions. 2006-05-12 Michael Smith * gst/gstplugin.c: (gst_plugin_load_file): If an so file has no plugin entry point, unload the module. 2006-05-11 Wim Taymans * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop), (gst_queue_set_property): Don't forget to signal the _chain or _loop function when the queue size or thresholds change since that might cause them to make progres again. 2006-05-11 Stefan Kost * gst/gstclock.c: (gst_clock_class_init): * gst/gstindex.c: (gst_index_class_init): * gst/gstobject.c: (gst_object_class_init): * gst/gstpad.c: (gst_pad_class_init): * gst/gstpipeline.c: (gst_pipeline_class_init): * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init): * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init): * libs/gst/base/gstbasetransform.c: (gst_base_transform_class_init): * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_class_init): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init): * plugins/elements/gstfilesink.c: (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_class_init): * plugins/elements/gsttee.c: (gst_tee_class_init): * tests/old/examples/plugins/example.c: (gst_example_class_init): * tests/old/testsuite/threads/signals.c: (gst_test_class_init): G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core 2006-05-11 Wim Taymans * gst/gstbuffer.c: (_gst_buffer_initialize): Register subbufer along with the buffer type so that it does not accidentally gets registered from N different streaming threads in a non threadsafe way. 2006-05-10 Tim-Philipp Müller * gst/gstbuffer.h: * gst/gstevent.h: * gst/gstmessage.h: Make gtk-doc generate docs for our inlined gst_buffer_ref(), gst_event_ref() and gst_message_ref() functions again (ugly hack, please do fix if there's a better way besides overrides.txt, which doesn't seem to work). 2006-05-10 Thomas Vander Stichele * libs/gst/check/gstcheck.h: add an assert for setting state to avoid lots of repetitive code in the future 2006-05-10 Thomas Vander Stichele * gst/gstvalue.c: (gst_value_serialize_flags): fix a leak if no flags are set * tests/check/gst/gstvalue.c: (GST_START_TEST): fix leak in tests 2006-05-10 Tim-Philipp Müller * docs/manual/basics-pads.xml: Expand a bit on caps and filtered links and update examples that were still using the no longer existing gst_pad_link_filtered() (#338206). 2006-05-10 Wim Taymans * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize), (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing), (gst_collect_pads_start), (gst_collect_pads_stop): * libs/gst/base/gstcollectpads.h: No need to call _stop in _finalize. Iterate the main pad list in _finalize. Added some more debug. Free lists and data in the right order. Also free data whem doing _remove_pad when stopped for backward compatibility protect ::started with PAD_LOCK as well. 2006-05-10 Thomas Vander Stichele * gst/gststructure.c: (gst_structure_gtype_from_abbr), (gst_structure_parse_value): add some comments rename a method so that it actually says what it does better 2006-05-10 Thomas Vander Stichele * gst/gstevent.c: (_gst_event_initialize): * gst/gstformat.c: (_gst_format_initialize): make sure some essential types used by events are registered as part of gst_init() * gst/gstvalue.c: (gst_value_serialize_flags): if no flags are set, serialize them to a value that represents NONE so that deserializing them works * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): add tests for serialization and deserialization of flags 2006-05-10 Wim Taymans * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect), (gst_collect_pads_collect_range), (gst_collect_pads_available), (gst_collect_pads_check_pads), (gst_collect_pads_check_collected), (gst_collect_pads_event), (gst_collect_pads_chain): Update docs. Better debug info. Catch and return errors from the collect function Refuse data on eos pads. 2006-05-10 Edward Hervey * gst/gstinterface.h: GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal GInterface type checking. They were previously using non-defined macros. 2006-05-09 Wim Taymans * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init), (gst_collect_pads_finalize), (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing), (gst_collect_pads_start), (gst_collect_pads_stop), (gst_collect_pads_peek), (gst_collect_pads_pop), (gst_collect_pads_available), (gst_collect_pads_read), (gst_collect_pads_flush), (gst_collect_pads_check_pads), (gst_collect_pads_is_collected), (gst_collect_pads_event), (gst_collect_pads_chain): * libs/gst/base/gstcollectpads.h: Clean up the mess that is collectpads, add comments and FIXMEs where needed. Maintain a separate pad list so we can add pads while collecting the other ones. For this we need a new separate lock (see comics). Fix memory leak in finalize. Refactor some weird code to set/unset pad flushing flags, mark with comments. Don't crash in _available, _read, _flush when we're EOS. * tests/check/libs/.cvsignore: Ignore adapter check binary. 2006-05-09 Tim-Philipp Müller * gst/gstindex.c: (gst_index_resolver_get_type): * plugins/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type): * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type), (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type): * plugins/elements/gstqueue.c: (queue_leaky_get_type): Const-ify GEnumValue arrays. 2006-05-09 Tim-Philipp Müller * tests/check/gst/gstbuffer.c: (GST_START_TEST): Add test case for flags + gst_buffer_make_metadata_writable(). 2006-05-09 Tim-Philipp Müller * gst/gstbuffer.c: (gst_buffer_make_metadata_writable): gst_buffer_make_metadata_writable() should maintain the buffer flags (those that make sense at least) (see #340859). 2006-05-09 Tim-Philipp Müller * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: * tools/gst-xmlinspect.c: * tools/tools.h: Fix up includes: need to include stdlib.h in tools.h for exit(). 2006-05-09 Tim-Philipp Müller * gst/gsttaglist.c: (_gst_tag_initialize): * gst/gsttaglist.h: API: add GST_TAG_IMAGE tag (#340721). 2006-05-08 Wim Taymans * gst/gstquery.c: Added some docs for the segment query. 2006-05-08 Wim Taymans * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_loop), (gst_base_src_change_state): Always push non-flushing serialized events in the streaming thread. 2006-05-08 Thomas Vander Stichele * gst/gsterror.c: (_gst_stream_errors_init): Add a missing error string. 2006-05-08 Jan Schmidt * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment): Add applied_rate to the debug * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek): Copy applied_rate into the outgoing NEWSEGMENT event 2006-05-08 Wim Taymans Patch by: Philippe Rouquier * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing), (gst_base_sink_change_state): call ::unlock before taking the PREROLL_LOCK so we can safely handle elements that lock in ::render. Fixes #340174. 2006-05-08 Edward Hervey * autogen.sh: (CONFIGURE_DEF_OPT): Darwin's libtoolize is in fact called glibtoolize. Adding glibtoolize to the list of accepted names for libtoolize. 2006-05-08 Wim Taymans * libs/gst/base/gstbasesrc.c: (gst_base_src_loop): Unify error handling, don't post an error message when a push() returns EOS but perform our normal EOS handling code. Fixes #340772. 2006-05-08 Wim Taymans * docs/design/part-overview.txt: Make upsteam/downstream concepts more clear. Give an example of serialized/non-serialized events. * docs/design/part-events.txt: * docs/design/part-streams.txt: Mention applied_rate. * docs/design/part-trickmodes.txt: Mention applied rate, flesh out some more use cases. * gst/gstevent.c: (gst_event_new_new_segment), (gst_event_parse_new_segment), (gst_event_new_new_segment_full), (gst_event_parse_new_segment_full), (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_buffer_size), (gst_event_parse_buffer_size), (gst_event_new_qos), (gst_event_parse_qos), (gst_event_parse_seek), (gst_event_new_navigation): * gst/gstevent.h: Add applied_rate field to NEWSEGMENT event. API: gst_event_new_new_segment_full() API: gst_event_parse_new_segment_full() * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek), (gst_segment_set_newsegment), (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time): * gst/gstsegment.h: Add applied_rate to GstSegment structure. Make calculation of stream_time and running_time more correct wrt rate/applied_rate. Add some more docs. API: GstSegment::applied_rate field API: gst_segment_set_newsegment_full(); * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment), (gst_base_sink_get_sync_times), (gst_base_sink_get_position): * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc), (gst_base_transform_handle_buffer): Parse and use applied_rate in the GstSegment field. * tests/check/gst/gstevent.c: (GST_START_TEST): Add check for applied_rate field. * tests/check/gst/gstsegment.c: (GST_START_TEST), (gstsegments_suite): Add more checks for various GstSegment operations. 2006-05-08 Wim Taymans * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times), (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked), (gst_base_sink_get_position), (gst_base_sink_change_state): Store the sync time of the buffer end position separatly in a new variable eos_rtime so we can properly sync the EOS event. Fixes #340697. Fix the docs for gst_base_sink_set_qos_enabled(). Don't set segment start to invalid value when we receive a non TIME newsegment. get closer to handling position reporting for negative rates correctly. 2006-05-07 Stefan Kost * gst/gstcaps.c: Docs about how to print caps for debug purposes. * gst/gstpadtemplate.c: (gst_static_pad_template_get): use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608 2006-05-07 Stefan Kost * gst/gstelement.c: use full enum names and preprend a '%' in docs strings to make recent gtk-doc turn that into a link 2006-05-05 Tim-Philipp Müller * docs/manual/basics-bins.xml: * docs/manual/basics-bus.xml: * docs/manual/basics-pads.xml: Some typo fixes, some additions, some clarifications. 2006-05-05 Tim-Philipp Müller * tools/gst-inspect.c: (main): * tools/gst-launch.c: (main): * tools/gst-run.c: (main): * tools/gst-typefind.c: (main): * tools/gst-xmlinspect.c: (main): Use the string passed to g_option_context_new() for what it's intended for - the program name is already printed elsewhere. 2006-05-05 Tim-Philipp Müller * tools/Makefile.am: * tools/gst-inspect.c: (main): * tools/gst-launch.c: (main): * tools/gst-xmlinspect.c: (main): * tools/tools.h: Add back --version command line option (#340460). * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main): Add --version option and use GOption for argument parsing; refactor a bit; accept directories as arguments and recurse into them; lastly, print a decent error message when things go wrong. 2006-05-05 Maciej Katafiasz * docs/manual/basics-bins.xml: Don't mention GstThread (#340611) * docs/manual/basics-elements.xml: Update link to GObject tutorial (#340607) 2006-05-05 Wim Taymans * gst/gstbuffer.h: * gst/gstminiobject.c: Add note about refcounting and miniobject/buffer writeability to docs. Fixes #340604 * gst/gstelementfactory.h: Added some explanation about @klass. 2006-05-05 Maciej Katafiasz * docs/manual/intro-motivation.xml: * docs/manual/manual.xml: Avoid CORBA & Bonobo references (#340598) 2006-05-05 Maciej Katafiasz * docs/manual/basics-bus.xml: * docs/manual/basics-pads.xml: Fix up some inaccuracies and omissions (#340609) 2006-05-05 Maciej Katafiasz * gst/gstghostpad.c: Small typo in docs (#340625) 2006-05-05 Tim-Philipp Müller * gst/parse/Makefile.am: Make 'make -j' proof (see #340698). 2006-05-05 Tim-Philipp Müller * configure.ac: Require GLib-2.8 here as well. 2006-05-05 Wim Taymans * gst/glib-compat.c: * gst/gst.c: (init_pre): * gst/gstobject.c: (gst_object_init), (gst_object_ref), (gst_object_unref), (gst_object_replace), (gst_object_dispose), (gst_object_dispatch_properties_changed): * gst/gstobject.h: * gst/gstregistryxml.c: (gst_registry_xml_read_cache): * gst/gststructure.c: (gst_structure_set_valist): * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize): Remove pre glib2.8 compatibility, fixes #340508 2006-05-04 Tim-Philipp Müller * gst/gsttaglist.h: Mention type of tags in doc blurbs. 2006-05-04 Jan Schmidt * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink), (gst_pad_configure_src), (gst_pad_push): Restore acceptcaps checking behaviour now that good plugins have been released. 2006-05-04 Tim-Philipp Müller Patch by: James Andrewartha * gst/gst.c: * gst/gstbus.c: * gst/gstclock.c: * gst/gstevent.c: * gst/gstformat.c: * gst/gstmessage.c: * gst/gstparse.c: * gst/gstquery.c: * gst/gstutils.c: * gst/parse/Makefile.am: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstpushsrc.c: * libs/gst/base/gsttypefindhelper.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: Make sure gstprivate.h and/or config.h are always included first, otherwise some of our defines (like _FILE_OFFSET_BITS) might be redefined in the system headers. Fixes build on opensolaris (#340016). 2006-05-04 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: API: addition: gst_adapter_take_buffer() * libs/gst/base/gstadapter.c: (gst_adapter_push), (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer), (gst_adapter_available_fast): * libs/gst/base/gstadapter.h: Prepare for optimizing the hell out of this hugely inefficient piece of code. Added gst_adapter_take_buffer() so we can at least start thinking about subbuffering and merging. Added some comments. * tests/check/Makefile.am: * tests/check/libs/adapter.c: (GST_START_TEST), (gst_adapter_suite), (main): Added GstAdapter check. 2006-05-04 Wim Taymans * docs/design/part-overview.txt: Fix some typos, add blurb about buffer flags. 2006-05-03 Thomas Vander Stichele * docs/libs/gstreamer-libs-sections.txt: make sure GstBaseTransformClass shows up in the docs * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: move docs so gtk-doc picks it up now 2006-05-02 Stefan Kost * docs/libs/gstreamer-libs-sections.txt: add missing symbols to docs 2006-05-02 Stefan Kost * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event): back out the newsegment handling change, see #340060 for ongoing discussion 2006-04-30 Tim-Philipp Müller * tools/gst-run.c: (get_candidates), (main): Fix wrong g_file_test() usage (see glib docs for why it doesn't work); fix typo in error message. Fixes #340079. 2006-04-29 Thomas Vander Stichele * common/Makefile.am: * docs/Makefile.am: * docs/faq/Makefile.am: * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/manual/Makefile.am: * docs/plugins/Makefile.am: * docs/pwg/Makefile.am: * docs/slides/Makefile.am: * docs/upload.mak: * common/upload.mak: move upload.mak to common 2006-04-29 Thomas Vander Stichele * tests/check/gst/gstghostpad.c: (GST_START_TEST): add more asserts on refcounts do more cleanup at end of tests fix test leaks showing in FC5 2006-04-29 Stefan Kost * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): reverted wrong change and reflowed code to avoid others falling into this trap 2006-04-28 Stefan Kost * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event): fix changelog entry about last collectpads change, add notes about proper fix 2006-04-28 Stefan Kost * gst/gst.c: * gst/gstregistry.c: (gst_registry_scan_path_level), (gst_registry_scan_path): * gst/gstregistry.h: only write out registry if it has changed, fixes #338339 2006-04-28 Stefan Kost * gst/gstbin.c: * gst/gstpipeline.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): make GstElementDetails const 2006-04-28 Stefan Kost * libs/gst/base/gstbasesink.c: (gst_base_sink_event): * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init), (gst_collect_pads_is_collected), (gst_collect_pads_event): more detailed debug and formatting cleanup, forward newsegments to src-pad (so that e.g. adder not eats them) 2006-04-28 Stefan Kost * gst/gstutils.c: (gst_element_link_pads): cleanup double code 2006-04-28 Stefan Kost * libs/gst/controller/gstcontroller.c: (gst_controller_sync_values): some little tuning * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): a new test for live value handling 2006-04-28 Wim Taymans * gst/gstutils.c: (push_and_ref): Added some more docs. Fix refcount issue whith gst_element_found_tags() helper function. Fixes #338335 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): Added testsuite for gst_element_found_tags(). 2006-04-28 Michael Smith * gst/gstvalue.c: (gst_value_serialize_flags): Avoid NULL dereference when trying to serialize flags containing invalid values. 2006-04-28 Michael Smith * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): If we get EOS before any data is accumulated, don't use uninitialised local variables. 2006-04-28 Michael Smith * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event), (gst_dp_event_from_packet): Fixes in reading/writing events over GDP (not currently used?) - dereferencing NULL events for unknown/invalid event types, memory leak, and change g_warning to GST_WARNING. 2006-04-28 Wim Taymans * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late), (gst_base_sink_do_render_stats), (gst_base_sink_render_object), (gst_base_sink_get_position), (gst_base_sink_change_state): When frame dropping is enabled, we should not ignore frames without a duration. Update some documentation. 2006-04-28 Wim Taymans * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_send_event), (gst_base_src_change_state): Documentation updates. 2006-04-28 Wim Taymans * plugins/elements/gstfdsink.c: (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_update_fd): handle EAGAIN, EINTR and short writes correctly. Also clean up some error cases, avoid a deadlock on bad file descriptors and use GST_DEBUG_OBJECT. Fixes #339843 2006-04-28 Wim Taymans * gst/gstvalue.c: (gst_value_serialize_buffer), (gst_value_deserialize_buffer): Don't try to serialize a GValue with a NULL buffer. Fixes #339821. * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): Added check for serialisation of NULL buffers. 2006-04-28 Wim Taymans * gst/gstminiobject.c: (gst_value_take_mini_object): Taking a NULL miniobject is valid, fix the case where we try to unref the NULL miniobject. 2006-04-28 Wim Taymans Patch by: Stefan Kost * gst/gstbin.c: (gst_bin_handle_message_func): Update docs. Don't leak bin refcount when a state recalc is in progress and we delay another one #339808. 2006-04-28 Wim Taymans * docs/design/part-TODO.txt: Mention QoS as an ongoing work item. * docs/design/part-buffering.txt: New doc about buffering that needs to be fleshed out at some point. * docs/design/part-qos.txt: More QoS policy for decoders/demuxers/transforms * docs/design/part-trickmodes.txt: Small update. 2006-04-28 Thomas Vander Stichele * configure.ac: back to HEAD