=== release 0.10.11 === 2006-12-06 Jan Schmidt * configure.ac: releasing 0.10.11, "Love never runs on time" 2006-12-01 Jan Schmidt * win32/common/libgstbase.def: * win32/common/libgstreamer.def: * win32/vs8/libgstbase.vcproj: * win32/vs8/libgstcoreelements.vcproj: * win32/vs8/libgstreamer.vcproj: Fix compilation on win32 under VS8 Patch by: Sergey Scobich Partially fixes #381175 2006-11-29 Jan Schmidt * gst/gstvalue.c: (gst_value_compare_fraction): If someone is foolish enough to compare 2 fractions with denominator = 0, return UNORDERED rather than aborting. 2006-11-28 Edward Hervey * libs/gst/base/Makefile.am: * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type), (gst_data_queue_base_init), (gst_data_queue_class_init), (gst_data_queue_init), (gst_data_queue_new), (gst_data_queue_cleanup), (gst_data_queue_finalize), (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty), (gst_data_queue_locked_is_full), (gst_data_queue_flush), (gst_data_queue_is_empty), (gst_data_queue_is_full), (gst_data_queue_set_flushing), (gst_data_queue_push), (gst_data_queue_pop), (gst_data_queue_drop_head), (gst_data_queue_set_property), (gst_data_queue_get_property): * libs/gst/base/gstdataqueue.h: New GstDataQueue object for threadsafe queueing. Most useful for elements that need some queueing functionnality. * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: Insert documentation for GstDataQueue * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init), (gst_multi_queue_class_init), (gst_multi_queue_init), (gst_multi_queue_finalize), (gst_multi_queue_set_property), (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad), (gst_multi_queue_release_pad), (gst_single_queue_push_one), (gst_multi_queue_item_destroy), (gst_multi_queue_item_new), (gst_multi_queue_loop), (gst_multi_queue_chain), (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event), (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc), (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps), (gst_multi_queue_src_event), (gst_multi_queue_src_query), (wake_up_next_non_linked), (compute_next_non_linked), (single_queue_overrun_cb), (single_queue_underrun_cb), (single_queue_check_full), (gst_single_queue_new): * plugins/elements/gstmultiqueue.h: New multiqueue element, using GstDataQueue. Used for queuing multiple streams. Closes #344639 and #347785 2006-11-22 Stefan Kost * docs/pwg/advanced-types.xml: add more missing type details * tools/gst-run.c: (main): remove unused variable 2006-11-21 Stefan Kost * docs/libs/Makefile.am: * docs/libs/gstreamer-libs.types: add types of base classes to enable gobject specific stuff in the docs * docs/random/ensonic/embedded.txt: more ideas about isolating platform specific things 2006-11-20 Wim Taymans Patch by: Sebastian Droege * libs/gst/check/gstcheck.h: Fix compilation and running against 0.9.4. Fixes #377332. 2006-11-20 Wim Taymans * gst/gstsegment.c: (gst_segment_set_seek), (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time): Fix boundary checking in to_running_time() and to_stream_time(). Fixes #377183. * tests/check/gst/gstsegment.c: (GST_START_TEST): stream and running time can now be calculated for the complete clipped segment. 2006-11-15 Tim-Philipp Müller * gst/gstpad.c: (gst_pad_push_event): Can't access event structure after giving away ownership of the event. 2006-11-15 Stefan Kost * docs/random/ensonic/embedded.txt: * docs/random/ensonic/profiling.txt: * docs/random/ensonic/receipies.txt: more thinking 2006-11-13 Wim Taymans Patch by: Mark Nauwelaerts * gst/gstpad.c: Fix documentation for gst_pad_dispatcher. Fixes #374475. 2006-11-13 Wim Taymans Patch by: Jonathan Matthew * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length): Store new length in segment duration so we don't keep on calling the potentially expensize get_size() call. Fixes #370865. 2006-11-10 Tim-Philipp Müller Patch by: Sergey Scobich * win32/common/libgstreamer.def: Add two missing symbols (#366492). 2006-11-10 Jan Schmidt * libs/gst/base/gstadapter.c: (gst_adapter_flush), (gst_adapter_take_buffer): Fix format string to use all its arguments. Remove useless >= check on a guint 2006-11-09 Jan Schmidt * tests/examples/adapter/.cvsignore: Ignore build file as commanded by the build-bot 2006-11-09 Jan Schmidt * tests/examples/adapter/Makefile.am: * tests/examples/adapter/adapter_test.c: (run_test_take), (run_test_take_buffer), (run_tests), (main): Add new files from the previous commit 2006-11-09 Jan Schmidt * Makefile.am: * configure.ac: * libs/gst/base/gstadapter.c: (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek), (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer): * libs/gst/base/gstadapter.h: * tests/check/libs/adapter.c: (create_and_fill_adapter), (GST_START_TEST), (gst_adapter_suite): * tests/examples/Makefile.am: Do some optimisation work in GstAdapter to avoid copies in more cases. It could still do slightly better by merging buffers when gst_buffer_is_span_fast is true, but is already faster. Also, avoid traversing a single-linked list to append each incoming buffer inside the adapter. Add simple test app that times the adapter behaviour in different situations, and extend the unit test to check that bytes enter and exit the adapter in their original order. 2006-11-08 Tim-Philipp Müller * docs/random/draft-missing-plugins.txt: Update: use element message instead of adding a new message type to the core; don't provide GStreamer API to initiate the plugin download, just provide API to compose the strings needed and let an external libgimmestuff handle the rest. 2006-11-08 Jan Schmidt * tools/gst-inspect.c: (print_element_properties_info): Print a string instead of 'unknown type' for GValueArray properties 2006-11-08 Christian F.K. Schaller * docs/random/draft-missing-plugins.txt: More small fixes. 2006-11-07 Tim-Philipp Müller * tests/examples/typefind/typefind.c: (type_found), (main): Make typefind element example work again (#371894); add a license header. 2006-11-07 Tim-Philipp Müller * docs/random/draft-missing-plugins.txt: Commit initial draft about how to deal with missing plugins, needs work (API too). 2006-11-07 Stefan Kost * docs/pwg/advanced-types.xml: documents the new caps elements (see #363118) 2006-11-06 Tim-Philipp Müller * gst/gstplugin.c: (gst_plugin_load_file): * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize), (gst_file_src_map_region), (gst_file_src_start): * plugins/indexers/gstfileindex.c: (gst_file_index_load), (gst_file_index_commit): Use g_strerror() instead of strerror() - we want UTF-8. 2006-11-06 Tim-Philipp Müller Patch by: Peter Kjellerstedt * plugins/elements/gstfdsrc.c: (gst_fd_src_create): Another printf fix (#371493). 2006-11-06 Stefan Kost * tests/check/gst/gsttag.c: relicence (okay with author=company) 2006-11-06 Stefan Kost * gst/gstpad.c: (gst_pad_event_default_dispatch), (gst_pad_push_event): Enhance debug and improve docs * gst/gsturi.c: Fix docs 2006-11-06 Stefan Kost * docs/random/ensonic/distributed.txt: * docs/random/ensonic/profiling.txt: more ideas 2006-11-06 Stefan Kost * docs/gst/gstreamer-sections.txt: add new API and fix the build * gst/gstbin.c: (gst_bin_recalc_state): * gst/gstelement.c: (gst_element_message_full), (gst_element_get_state_func), (gst_element_set_state_func): use new API and improve logging * gst/gstutils.c: (gst_element_state_change_return_get_name): * gst/gstutils.h: API: add function to get StateChangereturn names to improve logs 2006-11-04 Thomas Vander Stichele * plugins/elements/gstfilesrc.c: (gst_file_src_start): I'm considering shooting the next person to put strerror stuff in the translateable part of the message. 2006-11-03 Wim Taymans * plugins/elements/gstfdsrc.c: (gst_fd_src_create): Get the type and printf conversion specifiers right. 2006-11-03 Wim Taymans Patch by: Mark Nauwelaerts * gst/gstpad.c: (gst_pad_init), (pre_activate), (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default), (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event): Some small cleanups. Improve debugging. * gst/gstpad.h: Signal all waiting threads with a broadcast instead of just one. Fixes #369942. 2006-11-03 Wim Taymans * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd), (gst_fd_src_create): Add some debugging. Only update fd when it's different from the old. 2006-11-02 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap): Printf fixes for PPC/OSX, take two (#369366). 2006-11-02 Tim-Philipp Müller Based on patch by: Jan David Mol * plugins/elements/gstfilesink.c: (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_class_init), (gst_file_src_map_small_region), (gst_file_src_create_mmap): Printf fixes for gsize parameters on PPC/OSX (#369366). Also, don't cast to long long for portability reasons, but use GLib's types instead. 2006-10-30 Michael Smith * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd): Get the arguments to lseek() the right way around. Fixes 367677. 2006-10-30 Wim Taymans Patch by: gorshkov * gst/gstinfo.h: _declspec should be __declspec (two underscores, not one). Fixes 366572. 2006-10-28 Tim-Philipp Müller Patch by: Kjartan Maraas * docs/design/part-MT-refcounting.txt: * docs/random/wtay/capsnego2-docs: * gst/gstclock.c: * gst/gstxml.c: Typo fixes (#366212). 2006-10-28 Wim Taymans Patch by: Sergey Scobich * gst/gst.c: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: * win32/vs8/libgstbase.vcproj: * win32/vs8/libgstcontroller.vcproj: Add needed entries in .def files. Use HAVE_UNISTD_H. Rearrange def files in vs8 solutions. Fixes #366286. 2006-10-28 Tim-Philipp Müller * win32/common/gstconfig.h: Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the hand-made win32 gstconfig.h. Fixes #366321. 2006-10-27 Wim Taymans * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps), (gst_ghost_pad_new_full): Make acceptcaps return TRUE when we don't have a target, just like setcaps does. 2006-10-27 Wim Taymans * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain): Revert previous commit, 0 sized buffers are allowed. Reopens #363095. 2006-10-26 Tim-Philipp Müller * gst/gststructure.c: (gst_structure_id_set_value): If someone tries to set a non-UTF8 string field on a structure, don't just print a warning, but also ignore the request and do not change/add that field to the structure. * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite): Test for the above. 2006-10-25 David Schleef * gst/gstinfo.c: g_hash_table_insert() needs a cast to a non-const pointer duh. 2006-10-25 David Schleef * gst/gstinfo.c: * gst/gstinfo.h: Change name parameter of _gst_debug_register_funcptr to const to reflect the constness of its use in the function as well as to quiet a gcc warning. 2006-10-25 Edward Hervey * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain): Don't push the buffer if it's empty. Closes #363095 2006-10-24 Wim Taymans * gst/gstevent.h: Add small comment. * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc): Debug segment values *after* updating them as this is more interesting. 2006-10-23 Wim Taymans * docs/design/part-events.txt: Update some docs. * docs/design/part-block.txt: * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block), (gst_pad_push_event): Revert BLOCKING patch, it tries to be smart without really having a clear idea what or how. So, now we discard all FLUSHING events again on a blocking pad. Should fix gnonlin again. 2006-10-23 Wim Taymans Patch by: Sergey Scobich * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_start), (gst_base_src_activate_push): Make sure size is always initialized. Fixes #364388. 2006-10-20 Stefan Kost * docs/random/ensonic/distributed.txt: add some ideas about doing distributed processing * docs/random/ensonic/profiling.txt: get_rusage look promising 2006-10-18 Stefan Kost * docs/manual/basics-helloworld.xml: Add a cast in example to fix compile warning 2006-10-18 Wim Taymans * gst/gstsegment.c: (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment_full): Relax arg checking again, -1 is allowed. 2006-10-18 Wim Taymans * gst/gstsegment.c: (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment_full): _set_last_stop() must be with a value != -1 A _TYPE_SET to -1 means seek to 0. Calc last_stop correctly for negative rates. Make sure we work with positive durations when updating a segment. 2006-10-18 Wim Taymans * docs/design/part-live-source.txt: * gst/gstclock.h: Small docs fixes. 2006-10-18 Tim-Philipp Müller * gst/gstbuffer.h: Add an explicit cast to GstBuffer** to keep old code that added an explicit cast to GstMiniObject** for gst_mini_object_replace() compiling without warning. 2006-10-18 Stefan Kost * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy): check for validity of dates 2006-10-17 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: Forgot this one, makes gtk-doc shut up. 2006-10-17 Tim-Philipp Müller Patch by: Peter Kjellerstedt * gst/gstobject.h: Don't define xmlNodePtr to gpointer if the core was built with --disable-loadsave and --disable-registry, this will break applications that want to use libxml2 but are buildling against a core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr instead so we don't have to mess with the libxml2 namespace (#361675). 2006-10-17 Tim-Philipp Müller * gst/gstbuffer.h: Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related type-punned pointer warnings. 2006-10-16 Tim-Philipp Müller * gst/gstelement.h: Add casts to the correct return type to state <=> state transition macros. 2006-10-16 Stefan Kost * docs/design/part-live-source.txt: describe howto handle latency * docs/random/ensonic/profiling.txt: more ideas * tools/gst-plot-timeline.py: fix log parsing for solaris, remove unused function 2006-10-16 Wim Taymans * docs/design/part-trickmodes.txt: * gst/gstevent.c: Update some docs regarding reverse playback. 2006-10-15 Tim-Philipp Müller Patch by: Marcus Granado * win32/vs8/grammar.vcproj: Error out with a warning if glib-genmarshal.exe is not in path, instead of creating bogus gstmarshal.[ch] files. Fixes #361720. 2006-10-13 Wim Taymans * gst/gstsegment.c: (gst_segment_set_seek): When seeking to stop -1, set last_stop (current position) to the duration of the segment. 2006-10-13 Wim Taymans * gst/gstelement.h: Clarify _NO_PREROLL a bit more. * gst/gstevent.c: Fix docs. * gst/gstpad.c: (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked), (gst_pad_save_thyself), (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event): Patch by: Yves Lefebvre Fix possible deadlock due to wrong locking order. Fixes #361769. Remove some redundant/misplaced checks in pad_block. * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position): For negative rates, count backwards from the duration. 2006-10-13 Tim-Philipp Müller * gst/gsterror.c: (_gst_library_errors_init): Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come up with something better). 2006-10-12 Tim-Philipp Müller * win32/vs6/libgstreamer.dsp: * win32/vs7/libgstreamer.vcproj: * win32/vs8/libgstreamer.vcproj: Don't reference glib-compat.c which is currently not used and not disted; add gstquark.c which was recently added. Fixes #361730. 2006-10-12 Tim-Philipp Müller * win32/common/libgstbase.def: * win32/common/libgstcontroller.def: * win32/common/libgstreamer.def: Add gst_caps_merge() and a bunch of other recently-added functions. Fixes #361732. 2006-10-11 Wim Taymans * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: Update element args. * gst/gstsystemclock.c: Small comment update. * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init), (gst_tee_request_new_pad), (gst_tee_release_pad), (gst_tee_buffer_alloc), (gst_tee_sink_activate_push), (gst_tee_sink_activate_pull): * plugins/elements/gsttee.h: Some tee loving: Add default property defines. Implement release pad function. Give properties better blubs etc. Activate pads before adding them to a running tee. Do simple buffer_alloc on the first requested pad. Post error when activation fails. 2006-10-11 Tim-Philipp Müller * gst/gst.c: (ensure_current_registry_forking): Check return value of write() to make compiler happy. 2006-10-11 Wim Taymans Patch by: Sjoerd Simons * plugins/elements/gstqueue.c: (gst_queue_chain): Recheck queue filledness after signalling the overrun when we're about to leak downstream because we released the lock when emitting the signal and the queue could be empty again. Fixes #352345. 2006-10-11 Tim-Philipp Müller * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): Fix refcounting here too, just like we did for _new_valist() a few days ago (#357180) (thanks to René Stadler). Also remove all those 'Since: 0.9' from the gtk-doc blobs. * tests/check/libs/controller.c: (controller_refcount_new_list), (gst_controller_suite): Unit test for the above. 2006-10-10 Wim Taymans Patch by: Sebastien Cote * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_save_thyself): Update some docs. Write pad direction in XML output. Fixes #345496. 2006-10-10 Wim Taymans Patch by: René Stadler * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist), (gst_controller_new_list), (_gst_controller_dispose), (_gst_controller_finalize), (_gst_controller_class_init): Take ref to controlled object so that it cannot disappear. Fixes #357432. 2006-10-10 Wim Taymans * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad), (gst_check_teardown_src_pad), (gst_check_setup_sink_pad), (gst_check_teardown_sink_pad): Activate/deactivate pads in setup/teardown respectively. 2006-10-10 Zaheer Abbas Merali Patch by: Josep Torre Valles * gst/Makefile.am: Cast values when making gstenumtypes.h. This pacifies Forte so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting in the enumeration. 2006-10-09 Wim Taymans * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek): Rename some more @cur to @start to fix docs. * gst/gstsegment.c: (gst_segment_set_seek): Fix typo. time and start must always stay in sync as defined in design doc. * gst/gsttaglist.c: (gst_tag_list_is_empty): Rename param to fix docs. * tests/check/gst/gstsegment.c: (GST_START_TEST): Check that start and time are in sync. * tests/check/pipelines/parse-launch.c: (gst_parse_test_element_change_state): Activate pad before adding to the element. 2006-10-09 Wim Taymans * docs/design/part-qos.txt: Fix typo. * gst/gstevent.c: * gst/gstevent.h: Update seek event docs regarding negative rates. Rename @cur to @start. * gst/gstsegment.c: (gst_segment_set_seek): * gst/gstsegment.h: Update set_seek docs regarding negative rates. Correctly update last_stop to @stop when dealing with negative rates. Rename @cur to @start. * tests/check/gst/gstpad.c: (GST_START_TEST): Activate pads before trying to use them. * tests/check/gst/gstsegment.c: (GST_START_TEST), (gst_segment_suite): Add simple check for segments and negative rates. 2006-10-09 Tim-Philipp Müller * gst/gsttaglist.c: (gst_tag_list_is_empty): * gst/gsttaglist.h: * docs/gst/gstreamer-sections.txt: API: add gst_tag_list_is_empty() (#360467). * tests/check/gst/gsttag.c: (GST_START_TEST): And a test case. 2006-10-09 Zaheer Abbas Merali * gst/gstmessage.h: Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having a value that doesn't fit on enumeration. 2006-10-09 Zaheer Abbas Merali * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread): Remove local debugging system and use Gstreamer's instead. 2006-10-09 Zaheer Abbas Merali Patch by: Josep Torre Valles * common/m4/gst-error.m4: Disable warning of statement not reached on Forte. * gst/gstmessage.h: Fix warning on Forte (value doesn't fit on enumeration). * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked): Fix warning on Forte (value doesn't fit on enumeration). * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread): DEBUG macro says it takes minimum of 2 args and so Forte complains about the use with just 1 arg. * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: Use correct return type for the uri handler implementations. All these fix warnings in Forte. Fixes bug #360860. 2006-10-08 Tim-Philipp Müller * gst/gstelement.h: gcc versions prior to gcc 3.3 apparently complain about a NULL printf format string, so don't use G_GNUC_PRINTF for those versions. 2006-10-07 Tim-Philipp Müller * gst/gsttaglist.c: (gst_is_tag_list): * gst/gsttaglist.h: Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list(). * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite): Small test for the above. 2006-10-07 Tim-Philipp Müller * gst/gsttaglist.h: Less tabs, more spaces. 2006-10-06 Tim-Philipp Müller * gst/gstinfo.h: Those two function declarations do actually belong there, revert commit from yesterday that turned them intro macros. 2006-10-06 Zaheer Abbas Merali Patch by: Josep Torre Valles * gst/gst.c: (gst_init_get_option_group): Fix empty declaration and type mismatch. * gst/gstbin.c: (gst_bin_change_state_func): Fix type mismatch. * gst/gstelement.c: (gst_element_continue_state), (gst_element_set_state_func), (gst_element_change_state), (gst_element_change_state_func): Fix type mismatches. * gst/gstinfo.c: (gst_debug_compare_log_function_by_func), (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr): Cast as appropriate. * gst/gstobject.c: (gst_class_signal_connect): Cast as appropriate. The function pointer parameter really has the wrong type but would break API if we change it. * gst/gstquery.c: Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt order of including string.h. * gst/gstutils.c: (gst_element_state_get_name): Remove unreachable line. * gst/gstxml.c: (gst_xml_parse_doc): Fix type mismatch. All these caught by Forte. 2006-10-06 Zaheer Abbas Merali Patch by: Josep Torre Valles * common/m4/gst-error.m4: Fixed bug #360151. We need to disable warnings on Forte for empty declarations due to gst-indent adding ;s to lines that just use macros where the macro actually doesn't need a ; at end to end statement. 2006-10-06 Wim Taymans * plugins/elements/gstfilesink.c: (gst_file_sink_open_file), (gst_file_sink_close_file), (gst_file_sink_event), (gst_file_sink_render): Add some FIXME for the NEWSEGMENT handling. 2006-10-05 Zaheer Abbas Merali * gst/parse/grammar.y: Remove static function gst_parse_element_lock as all it does is return. Looks like cruft from 0.8. 2006-10-05 Zaheer Abbas Merali Patch by: Josep Torre Valles * common/m4/gst-error.m4: * configure.ac: * libs/gst/net/Makefile.am: Fix a compilation issue with Forte on Solaris. inet_aton is in libresolv. 2006-10-05 Tim-Philipp Müller * gst/gstpad.c: (pre_activate): * gst/gstregistry.c: (gst_registry_scan_path_level): * gst/gstregistryxml.c: (load_plugin): * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode): * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event_1_0): * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_observe_times): * plugins/elements/gstfdsrc.c: (gst_fd_src_create): Printf fixes. 2006-10-05 Tim-Philipp Müller * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/gstconfig.h.in: * gst/gstelement.h: * gst/gstinfo.h: Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know whether we can use G_GNUC_PRINTF in other header files and at least check the printf format/arguments of debug messages and GST_ELEMENT_ERROR messages when the printf extension is not being used. Replace more tabs with spaces in gstinfo.h and remove two spurious function declarations in GST_DISABLE_DEBUG part with macros. 2006-10-03 Tim-Philipp Müller * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post): More docs for the sync-message signal (mention that it is not emitted by default); log message structures of messages posted on the bus as well. 2006-10-03 Jan Schmidt * gst/gst.c: (ensure_current_registry_forking): Use a pipe pair to receive status results from the forked child, and ignore the result from waitpid. Fixes #355499 2006-10-02 Wim Taymans * tests/check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Fix leak in check. 2006-10-02 Tim-Philipp Müller * gst/gstpad.c: Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb. 2006-10-02 Edward Hervey * docs/design/part-block.txt: Further explain the use of flushing on blocked pads. * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block), (gst_pad_push_event): * gst/gstpad.h: Added new GstPadFlag : GST_PAD_BLOCKING. Adds the notion of pads really blocking, which enables to properly handle FLUSH_START/FLUSH_STOP events on blocked pads. Fixes #358999 API: gst_pad_is_blocking() API: GST_PAD_IS_BLOCKING() macro API: GST_PAD_BLOCKING GstPadFlag 2006-10-02 Wim Taymans Patch by: mrcgran * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps): Filter the proxied caps against the padtemplate if we have one. * gst/gstquery.c: (gst_query_new_segment): Add include for gstinfo.h so that compilation with -DGST_DISABLE_GST_DEBUG works again. Fixes #358436. 2006-10-02 Wim Taymans Patch by: Alessandro Decina * plugins/elements/gstfilesink.c: (gst_file_sink_init), (gst_file_sink_set_location), (gst_file_sink_open_file), (gst_file_sink_close_file), (gst_file_sink_event), (gst_file_sink_render): Set file to NULL when closing filesink so that we can set a new filename in READY. Fixes #358613. 2006-10-02 Tim-Philipp Müller Patch by: Alessandro Decina * gst/gstevent.c: (_gst_event_copy): Fix gst_mini_object_make_writable() and gst_event_copy() for events with event structures by setting the parent refcount address of the copied structure to the address of the refcount member of the newly copied event rather than the address of the refcount member of the original event. Fixes #358737. * tests/check/gst/gstevent.c: (GST_START_TEST): Unit test for the above. 2006-09-29 Stefan Kost * docs/design/Makefile.am: Dist some more files. 2006-09-29 Tim-Philipp Müller * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): Add test for the previous fix; add some more tests for correct refcounting behaviour; fix a few leaks in test cases; call gst_controller_init() at start of all tests. 2006-09-29 Tim-Philipp Müller * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist), (gst_controller_set_from_list): Don't g_return_val_if_fail() on timed values with invalid timestamps inside a critical section without unlocking the mutex. Spotted by René Stadler. (#357617) Also, fix up refcounting properly: when returning an existing controller, we should increase the reference only once and not once per property and when trying to control a property again we should also increase the refcount. 2006-09-29 Wim Taymans * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_thread): Stop reading commands when EOF as well. * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_class_init): Unify description of the dump property. 2006-09-28 Jan Schmidt * tests/examples/manual/.cvsignore: OK, so it's actually cvsignore that needs changing. Stop laughing. 2006-09-28 Jan Schmidt * tests/examples/manual/Makefile.am: Gah, declare vars *before* using them 2006-09-28 Jan Schmidt * gst/gst.c: (init_pre), (scan_and_update_registry), (ensure_current_registry_nonforking), (ensure_current_registry_forking), (ensure_current_registry), (init_post), (gst_debug_help), (gst_deinit): * gst/gst_private.h: * gst/gstregistry.c: (gst_registry_finalize), (gst_registry_remove_features_for_plugin_unlocked), (gst_registry_remove_plugin), (gst_registry_scan_path_level), (gst_registry_scan_path), (_priv_gst_registry_remove_cache_plugins), (_priv_gst_registry_cleanup): * gst/gstregistry.h: Re-commit the registry changes, along with an extra fix: When a cached plugin is encountered at a different file path, update the stored path in the registry cache so that the parent process knows where it actually is now when it re-reads the registry cache. Fixes the thing that broke distcheck with the previous commit. * tests/check/Makefile.am: Clean up files named 'core' too when running make clean. * tests/examples/manual/Makefile.am: Set up a registry path for running these tests, and clean it properly for distcheck. 2006-09-28 Jan Schmidt * configure.ac: Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we want gmodule-no-export-2.0.pc instead so that we don't drag in --export-dynamic on every project that links to GStreamer. Also, make our export regex only match the start of symbols, rather than any symbol that contains '_gst' somewhere. * libs/gst/check/Makefile.am: The libgstcheck we build does however need export-dynamic, as it produces some symbols that don't match our _gst... style regex. Fixes: #318031 2006-09-27 Jan Schmidt * gst/gst.c: (init_pre), (scan_and_update_registry), (ensure_current_registry_nonforking), (ensure_current_registry_forking), (ensure_current_registry), (init_post), (gst_debug_help), (gst_deinit): * gst/gst_private.h: * gst/gstregistry.c: (gst_registry_finalize), (gst_registry_remove_plugin), (gst_registry_scan_path_level), (gst_registry_scan_path), (_gst_registry_remove_cache_plugins), (_gst_registry_cleanup): * gst/gstregistry.h: Revert previous change until I figure out why it breaks distcheck. 2006-09-27 Jan Schmidt * gst/gst.c: (init_pre), (scan_and_update_registry), (ensure_current_registry_nonforking), (ensure_current_registry_forking), (ensure_current_registry), (init_post), (gst_debug_help), (gst_deinit): Make init_pre and init_post take the full complement of GOptionFunc args so they can return useful GErrors. Make the registry updating functions do so. Call _priv_gst_registry_remove_cache_plugins after scanning files to ensure that the registry we're about to write out doesn't contain stale information about old-deleted plugin files. Make _priv_gst_registry_remove_cache_plugins return a boolean so that deletion of plugin files is considered a registry change. * gst/gst_private.h: * gst/gstregistry.c: (gst_registry_finalize), (gst_registry_remove_features_for_plugin_unlocked), (gst_registry_remove_plugin), (gst_registry_scan_path_level), (gst_registry_scan_path), (_priv_gst_registry_remove_cache_plugins), (_priv_gst_registry_cleanup): * gst/gstregistry.h: Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup by adding _priv prefix, so that they won't appear in the global symbol table. They still do atm though because of #318031. Move the prototypes to gst_private.h When removing a plugin, remove all features for that plugin too. Fixes #340878. 2006-09-27 Wim Taymans * docs/random/moving-plugins: Make it clear that the "compiled-in descriptions" really mean the element details. * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_wait_preroll): Update docs. * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_get_range), (gst_base_src_activate_push): * libs/gst/base/gstbasesrc.h: Added function to block while waiting for PLAYING, this function is used by live sources that block on the clock. API: gst_base_src_wait_playing() 2006-09-27 Tim-Philipp Müller Patch by: Peter Kjellerstedt * Makefile.am: gst-element-check.m4 is generated and should therefore be copied from the build dir rather than the source dir (#357593). 'make distcheck' hasn't noticed this because we were disting the file as well, so stop doing that. 2006-09-27 Tim-Philipp Müller * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite): Add some tests for gst_caps_intersect(). * tools/gst-launch.c: (event_loop): Print all buffering percentages we get, even the 100% one. 2006-09-26 Wim Taymans * tools/gst-inspect.c: (print_element_properties_info), (print_signal_info): Fix printing of flags to match the look of enums. 2006-09-25 Tim-Philipp Müller * gst/gstelementfactory.c: Fix typo in docs blurb. 2006-09-25 Tim-Philipp Müller * gst/gsturi.c: (search_by_entry): Don't assert/crash here if a uri handler doesn't return any supported protocols. The list of protocols could be generated dynamically at runtime or at plugin registration, and an error in the underlying library shouldn't be fatal (#353301). 2006-09-25 Tim-Philipp Müller * gst/gstinfo.c: Fix warning if HAVE_PRINTF_EXTENSION is undefined (spotted by Peter Kjellerstedt). 2006-09-23 Wim Taymans Based on patch by: Antoine Tremblay * libs/gst/base/gstbasesrc.c: (gst_base_src_default_check_get_range), (gst_base_src_start), (gst_base_src_activate_push), (gst_base_src_activate_pull), (gst_base_src_change_state): Match _start/_stop calls in the activate functions. Remove redundant _stop call from the state change function. Fixes #356910. Turn failure DEBUG into ERROR. 2006-09-22 Wim Taymans * docs/design/part-buffering.txt: * gst/gstmessage.c: (gst_message_new_buffering), (gst_message_parse_buffering): Update docs about buffering. * docs/design/part-trickmodes.txt: Fix typo. 2006-09-22 Stefan Kost * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist), (gst_controller_new_list): Ref instances when returning them again (fixes #357180) 2006-09-22 Tim-Philipp Müller * gst/gstghostpad.c: (gst_ghost_pad_set_target): Don't forget to release proxy lock when there's an error. 2006-09-20 Jan Schmidt * gst/gstcaps.h: Add extra initialisers for Caps things, to fix some plugin warnings when using -Wextra 2006-09-18 Wim Taymans * gst/gstghostpad.c: (gst_ghost_pad_new_full): Also set template on the internal pad so that a getcaps from the target pad returns the template caps. 2006-09-18 Wim Taymans * gst/gstelement.c: (gst_element_post_message), (gst_element_dispose): Use _DEBUG_OBJECT some more. * libs/gst/base/gstbasesrc.c: (gst_base_src_loop): Avoid typechecks. * tools/gst-launch.c: (main): If the toplevel element is not a GstPipeline, it must be put in a pipeline so that a bus and clock is selected. 2006-09-17 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query): JITTER, RATE, and LATENCY query should be handled by the default case and not by the CONVERT query code. 2006-09-17 Tim-Philipp Müller * gst/gstformat.c: (gst_format_register): Fix locking order (must take lock before using n_values). * gst/gstvalue.c: (gst_value_serialize_enum), (gst_value_deserialize_enum_iter_cmp), (gst_value_deserialize_enum): Fix serialisation/deserialisation of custom registered GstFormats. * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): Unit test for custom format serialisation/deserialisation. 2006-09-17 Stefan Kost * docs/pwg/building-boiler.xml: * plugins/elements/gstcapsfilter.c: More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp section. 2006-09-16 Edward Hervey * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Check if requested caps are the same as the sinks caps IF ->have_same_caps is TRUE. If they are not, act as if have_same_caps is FALSE. This fixes the renegotiation issues stated in #352827. 2006-09-16 Thomas Vander Stichele * configure.ac: * docs/manual/advanced-autoplugging.xml: * tests/examples/Makefile.am: * tests/examples/manual/.cvsignore: * tests/examples/manual/Makefile.am: * tests/examples/manual/extract.pl: Extract the manual examples again like we used to do. Fix one of them. 2006-09-16 Thomas Vander Stichele * win32/common/config.h: update for version 2006-09-16 Stefan Kost * gst/gsterror.c: Documents how to receive errors. 2006-09-15 Wim Taymans * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr), (event_loop), (main): Added some comments here and there. Post an application message when an interrupt is caught instead of doing an uncontrolled state change. Clean up the event loop. Handle buffering messages, pause/resume the pipeline. Make shutdown because of an interrupt more reliable. 2006-09-15 Wim Taymans * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_wait_preroll), (gst_base_sink_do_sync), (gst_base_sink_preroll_object): Make sure that our internal state is correct when we commit our state asynchronously. This solves a race where a state change to PLAYING could cause the sink to remain blocked in preroll in some situations. 2006-09-15 Wim Taymans * tools/gst-inspect.c: (print_element_properties_info), (print_signal_info): List flags as hex so it's easier to deal with. 2006-09-15 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll), (gst_base_sink_do_sync): * libs/gst/base/gstbasesink.h: Expose logic to wait for preroll so that subclasses such as audiosink can also use this method. API: gst_base_sink_wait_preroll() 2006-09-15 Wim Taymans * gst/gstobject.c: (gst_object_set_parent): * gst/gstpipeline.c: (do_pipeline_seek): Small cleanups in docs and code. * gst/gstsegment.c: (gst_segment_clip): * tests/check/gst/gstsegment.c: (GST_START_TEST): if stop == start and start is in the segment, no clipping should be done. Also add a test for this. 2006-09-15 Wim Taymans * docs/design/part-buffering.txt: * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: (gst_message_new_buffering), (gst_message_parse_buffering): * gst/gstmessage.h: Added methods to create and parse BUFFERING messages. Added preliminary docs about buffering. API: gst_message_new_buffering API: gst_message_parse_buffering 2006-09-06 Wim Taymans * gst/gstbin.c: Update documentation. * gst/gstelement.c: (gst_element_class_init), (gst_element_release_request_pad), (gst_element_set_clock), (gst_element_get_index), (gst_element_add_pad), (gst_element_remove_pad), (gst_element_get_random_pad), (gst_element_send_event), (gst_element_get_query_types), (gst_element_query), (gst_element_post_message), (gst_element_message_full), (gst_element_continue_state), (gst_element_lost_state), (gst_element_save_thyself), (gst_element_restore_thyself): Documentation updates. Rename last bit of the new-pad -> pad-added signal rename. Fix the case where an element query would only work if the source pad was linked. Avoid some useless type checking in message handling. * gst/gstevent.c: * gst/gstevent.h: * gst/gstutils.c: Documentation updates. 2006-09-14 Thomas Vander Stichele * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd): add an INFO line for when we actually update the fd 2006-09-14 Thomas Vander Stichele * configure.ac: back to TRUNK === release 0.10.10 === 2006-09-14 Thomas Vander Stichele * configure.ac: releasing 0.10.10, "Pais" 2006-09-05 Tim-Philipp Müller * docs/manual/advanced-position.xml: Fix typo in sample code. 2006-09-05 Wim Taymans * libs/gst/net/gstnetclientclock.c: (inet_aton), (gst_net_client_clock_init), (gst_net_client_clock_finalize), (gst_net_client_clock_do_select), (gst_net_client_clock_new): * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send): * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.c: (inet_aton), (gst_net_time_provider_init), (gst_net_time_provider_finalize), (gst_net_time_provider_thread), (gst_net_time_provider_new): * libs/gst/net/gstnettimeprovider.h: Make stuff compile on windows. Fixes #345295. 2006-09-03 Tim-Philipp Müller * gst/gst.c: (ensure_current_registry_forking): Print better details when child was terminated by signal. 2006-09-03 Tim-Philipp Müller * gst/gstregistryxml.c: (gst_registry_xml_save_feature): Print a warning rather than g_assert() if a plugin feature is a URI handler but returns no protocols (#353976). 2006-09-02 Stefan Kost * docs/random/moving-plugins: Fix two typos. 2006-09-01 Tim-Philipp Müller * gst/gstinfo.c: (_gst_debug_nameof_funcptr): Fix locking order, handle NULL function values properly. * gst/gstinfo.h: Fix docs. * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked): Initialise variable before using it and fix debug statement to print the address of the function rather than the address of the variable on the stack holding the address of the function. 2006-09-01 Wim Taymans * gst/gstghostpad.c: (gst_proxy_pad_do_event), (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset), (gst_ghost_pad_internal_do_activate_push), (gst_ghost_pad_internal_do_activate_pull), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull), (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink), (gst_ghost_pad_init), (gst_ghost_pad_dispose), (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target), (gst_ghost_pad_new), (gst_ghost_pad_new_from_template), (gst_ghost_pad_new_no_target_from_template), (gst_ghost_pad_get_target), (gst_ghost_pad_set_target): More cleanups. Avoid needless typechecking in macros. Since the internal pad is always present and never changes, there is no need to locking or ref when retrieving it. Improve debugging a bit. Handle link errors when setting the target. Fixes #341029. 2006-09-01 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * docs/plugins/gstreamer-plugins-sections.txt: Fix docs some more. * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad), (gst_collect_pads_event): * libs/gst/base/gstcollectpads.h: Documentation updates. Free queued buffer when removing a pad. 2006-08-31 Michael Smith * gst/gstutils.c: (gst_element_link_pads), (gst_element_link_pads_filtered): Ensure that we set a capsfilter to NULL if we failed to link it when doing filtered linking, to avoid criticals. No need to check for unreffing srcpad, which is explicly NULLed above (a trivial code cleanup). 2006-08-31 Wim Taymans * docs/design/part-gstghostpad.txt: Update ascii art in documentation. * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link), (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init), (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset), (gst_ghost_pad_internal_do_activate_push), (gst_ghost_pad_internal_do_activate_pull), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull), (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink), (gst_ghost_pad_dispose), (gst_ghost_pad_new_full), (gst_ghost_pad_set_target): Small cleanups and leak fixes. Remove some checks now that the internal pad is never NULL. Fix the case where linking pads without a target would create nasty criticals. Fixes #341029. Don't assign a GstPadLinkReturn to a gboolean and mess up the return value of _set_target(). * tests/check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Some more tests for creating and linking untargeted ghostpads. 2006-08-31 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_dispose), (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target), (gst_ghost_pad_new), (gst_ghost_pad_new_from_template), (gst_ghost_pad_new_no_target_from_template): * gst/gstghostpad.h: Refactored *_new() functions. Templates are now used as a g_object_new() parameter. Use template in _do_getcaps() if we don't have a target. Small documentation cleanups. Added two new constructors: gst_ghost_pad_new_from_template() gst_ghost_pad_new_no_target_from_template() * tests/check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Added tests for new ghostpad instanciation functions. API additions: gst_ghost_pad_new_from_template, gst_ghost_pad_new_no_target_from_template 2006-08-30 Stefan Kost * docs/random/ensonic/profiling.txt: Ideas about qos profiling. 2006-08-29 Wim Taymans * gst/gstcaps.c: (gst_caps_structure_is_subset_field): Code cleanups. Fix memleak. 2006-08-29 Tim-Philipp Müller * gst/gstxml.c: Improve and detypofy docs. * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite): Add a basic test suite for GstXML. 2006-08-29 Wim Taymans * gst/gstelement.c: (activate_pads), (clear_caps), (iterator_activate_fold_with_resync), (gst_element_pads_activate): Clear the pad caps when the element shut down all of the pads and is not streaming data that could modify the caps. Fixes #352958. 2006-08-28 Michael Smith * plugins/elements/gstidentity.c: (gst_identity_transform_ip): Revert previous change; I misunderstood single-segment mode. 2006-08-28 Michael Smith * plugins/elements/gstidentity.c: (gst_identity_transform_ip): Unset DISCONT on buffers when using single-segment mode. 2006-08-28 Wim Taymans * gst/gstcaps.c: (gst_caps_merge_structure): * gst/gstcaps.h: Fix docs and indentation again. * tests/check/gst/gstquery.c: (GST_START_TEST): Fix leak in tests and add some more tests. 2006-08-28 Edward Hervey * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times): Inform GstSegment of the last stop position in order for the current segment to have a proper duration if it doesn't have a specific stop position from which a duration could be calculated. This bug was noticeable when a non-flushing, non-update new segment was followed by another segment (all buffers from the new segment were being dropped). 2006-08-28 Wim Taymans * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek): Small comment update. * plugins/elements/gstidentity.c: (gst_identity_class_init), (gst_identity_transform_ip): Drop-probability is broken, mention this in the code with a FIXME and also in the property description. Make silent also be silent about the drop messages. 2006-08-28 Tim-Philipp Müller * docs/manual/appendix-win32.xml: Remove mention of popt, we don't depend on that any longer (#353136). Add some comments pointing out that this section is slightly outdated. 2006-08-28 Wim Taymans Patch by: Torsten Schoenfeld * gst/gstquery.c: (gst_query_new_segment): * tests/check/gst/gstquery.c: (GST_START_TEST): Initialize variables when creating a new segment query. Fixes #353121. 2006-08-28 Wim Taymans Patch by: Torsten Schoenfeld * gst/gstelement.c: (gst_element_get_bus): * tests/check/gst/gstelement.c: (GST_START_TEST): Check for NULL before _reffing the bus. Fixes #353122. 2006-08-25 Tim-Philipp Müller * docs/manual/basics-bus.xml: Docs update: fix wrong callback return value explanation; add some lines about the implicit relationship between main loop and main context; remove duplicate main loop variable declaration. 2006-08-24 Tim-Philipp Müller * tests/check/gst/gstcaps.c: (GST_START_TEST): Don't leak caps in unit test; add a few more simple checks. 2006-08-24 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: (gst_caps_structure_is_subset_field), (gst_caps_structure_is_subset), (gst_caps_merge), (gst_caps_merge_structure): * gst/gstcaps.h: * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps): * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite): implement caps merging (fixes #352580) 2006-08-23 Stefan Kost * tools/Makefile.am: * tools/gst-plot-timeline.py: add debug-log plotting developer tool (#340674) 2006-08-23 Wim Taymans * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task): Improve debugging for task functions. * gst/gsttask.c: (gst_task_func), (gst_task_set_lock), (gst_task_start), (gst_task_pause), (gst_task_join): Make sure that the task function started and finished after a join(). Don't try to push the task function on the threadpool multiple times. Improve the g_warning message with some useful suggestions about how to fix the problem. 2006-08-23 Wim Taymans * gst/gstutils.c: (gst_pad_proxy_getcaps): Handle RESYNC correctly in _proxy_getcaps. 2006-08-21 Tim-Philipp Müller * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file), (gst_xml_parse_memory), (gst_xml_get_element): Chain up to parent class in dispose function and also unref the elements in the toplevel_elements GList. Don't leak XmlDocPtr in _parse_file() and _parse_memory(). Always return a reference in gst_xml_get_element() rather than only sometimes. * tools/gst-launch.c: (xmllaunch_parse_cmdline): Don't leak GstXml object. 2006-08-21 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: (gst_structure_is_equal_foreach), (gst_caps_merge): * gst/gstcaps.h: * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps): API: Add gst_caps_merge() and use it in basetransform, fixes #345444 in a better way 2006-08-21 Edward Hervey * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose): Implement GObject::dispose virtual method in GstXML so we can free the top_elements GList. 2006-08-21 Wim Taymans * gst/gstbuffer.c: (gst_buffer_make_metadata_writable), (gst_buffer_create_sub): Copy duration/offset_end/caps when creating a subbuffer of the complete parent. Make the subbuffer read-only when we make the metadata writable for now. Fixes #351768. * tests/check/gst/gstbuffer.c: (GST_START_TEST): Added check for metadata copy when creating subbuffers. 2006-08-21 Edward Hervey * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Only call downstream buffer_alloc if transform element is passthrough or always_in_place. Closes #350449. 2006-08-20 Stefan Kost * ChangeLog: ChangeLog surgery to add comments to previous changes 2006-08-20 Stefan Kost * gst/gst.c: Add comments * gst/gstpad.c: (gst_pad_set_active): Be more verbose in the log * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps): Simplify caps to get rid of duplicates, fixes #345444 2006-08-20 Stefan Kost * gst/gstvalue.c: * gst/gstvalue.h: Use these optimizations only internally. 2006-08-20 Stefan Kost * gst/gstvalue.c: (gst_value_compare_list), (gst_value_compare_fraction_range), (gst_value_intersect_fraction_fraction_range), (gst_value_intersect_fraction_range_fraction_range), (gst_value_subtract_fraction_fraction_range), (gst_value_subtract_fraction_range_fraction_range), (gst_value_get_compare_func), (gst_value_compare), (gst_value_compare_with_func): * gst/gstvalue.h: Saves the expensive lookup of the compare function in many cases (#345444) 2006-08-18 Edward Hervey * tests/check/gst/gstinfo.c: (gst_info_suite): Disable test that require gstdebug if it wasn't built in core. 2006-08-18 Stefan Kost * docs/random/ensonic/logging.txt: update ideas * gst/gstinfo.c: (gst_debug_log_default): reorder fields, save some columns, add optional color codes for log levels 2006-08-18 Stefan Kost * docs/random/ensonic/logging.txt: add ideas about making the logs a bit more useful 2006-08-17 Tim-Philipp Müller * docs/pwg/advanced-events.xml: * docs/pwg/titlepage.xml: Update for 0.10 API (#340627). Add myself to authors list. 2006-08-17 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/gstbufferstraw.c: Make gstcheck stuff show up in docs (still needs to be documented properly though). 2006-08-16 Jan Schmidt * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: (init_post): * gst/gst_private.h: * gst/gstquark.c: (_priv_gst_quarks_initialize): * gst/gstquark.h: * gst/gstquery.c: (gst_query_new_position), (gst_query_set_position), (gst_query_parse_position), (gst_query_new_duration), (gst_query_set_duration), (gst_query_parse_duration), (gst_query_new_convert), (gst_query_set_convert), (gst_query_parse_convert), (gst_query_new_segment), (gst_query_set_segment), (gst_query_parse_segment), (gst_query_new_seeking), (gst_query_set_seeking), (gst_query_parse_seeking): Add internal helpers for pre-registering quarks from static strings and using the quark values directly instead of looking them up when creating and parsing queries. Can be used for event construction too. Closes #350432. 2006-08-16 Wim Taymans * gst/gstbin.c: Fix bogus docs. 2006-08-15 Tim-Philipp Müller * gst/gstutils.c: (gst_util_set_value_from_string): Fix memleak (#351502). * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): Add unit test for most of gst_util_set_value_from_string() (not that one would want to encourage use of this function). 2006-08-15 Tim-Philipp Müller * libs/gst/check/gstcheck.h: Use const gchar * variables in fail_unless_equals_string macro to avoid compiler warnings (and don't use tabs for indenting). 2006-08-15 Tim-Philipp Müller * tools/gst-launch.c: (print_tag): More space on the left for the tag names, to cater for the 'extended comment' tag (not touching the string for the first line since it's translated). 2006-08-15 Tim-Philipp Müller * libs/gst/check/gstcheck.h: Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually print something when they fail. 2006-08-14 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: (_gst_tag_initialize): * gst/gsttaglist.h: API: add GST_TAG_EXTENDED_COMMENT (#350935). Also change merge function for GST_TAG_COMMENT to use_first. 2006-08-14 Tim-Philipp Müller * gst/gstinfo.c: (gst_debug_print_object): Make GST_PTR_FORMAT print messages as well. * tests/check/gst/gstinfo.c: (printf_extension_log_func), (GST_START_TEST), (gst_info_suite): More tests. 2006-08-14 Edward Hervey * gst/gstelementfactory.c: (gst_element_register): If the GstElementClass doesn't have a GstElementDetails with all fields filled up correctly (longname, description AND author), then error out nicely instead of crashing. 2006-08-14 Tim-Philipp Müller * gst/gststructure.c: Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line. * gst/gstvalue.h: Expand on the difference between arrays and lists as we use them. 2006-08-14 Wim Taymans * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state): If the parent state change function failed, don't assume we can safely stop the source, this will be done when the pads are deactivated. 2006-08-14 Wim Taymans * gst/gstbuffer.c: * gst/gsttask.c: (gst_task_join): Small doc updates. * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push), (gst_pad_stop_task): When pad (de)activation failed for some reason, restore the old activation mode and set the pad to flushing instead of assuming the pad is deactivated. If the _task_join() failed, reinstall the task on the pad so that it can be stopped later and return an error. 2006-08-11 Andy Wingo * configure.ac: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new): * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED is only for users of API that don't want to see deprecated functions in the headers; people that want to compile out deprecated code should pass -DGST_REMOVE_DEPRECATED into the CFLAGS. Fixes the build of multifdsink, or will soon.. 2006-08-11 Wim Taymans * docs/gst/gstreamer-sections.txt: Add GstClockClass vmethod docs. * gst/gstcaps.h: Mark #endif with comment for associated #if * gst/gstclock.c: (gst_clock_id_wait): * gst/gstclock.h: Add vmethod wait_jitter to avoid an unneeded _get_time() for most clock implementations. Document vmethods. Flesh out docs about resolution methods. API: GstClockClass::wait_jitter * gst/gstsystemclock.c: (gst_system_clock_class_init), (gst_system_clock_async_thread), (gst_system_clock_id_wait_jitter_unlocked), (gst_system_clock_id_wait_jitter): Use base class wait_jitter variant for improved performance due to less clock polling. 2006-08-11 Edward Hervey * gst/gst.c: (gst_init_check), (init_post): Set gst as being initialized before scanning/updating the registry, since there might be my python plugin loader that calls gst_init() and we don't want to loop back in. Closes #350879 2006-08-11 Wim Taymans * docs/design/part-qos.txt: Bring docs in line with the code. Mostly the sign of the jitter was wrong in the docs. Fixes #349943. * gst/gstclock.c: Fix the docs for the jitter. * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_buffer_size), (gst_event_parse_buffer_size), (gst_event_parse_qos), (gst_event_new_seek), (gst_event_parse_seek), (gst_event_new_navigation): Make sure the GstStructure has no parent when creating custom events. Add some more argument checking so that we avoid 0.0 rates. Flesh out the docs for the QoS event some more. 2006-08-11 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gst.c: (gst_init_get_option_group), (gst_init_check), (ensure_current_registry_forking), (ensure_current_registry), (parse_one_option), (parse_goption_arg), (gst_deinit), (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled): * gst/gst.h: Doc updates. Added API and command line option to disable registry forking in addition to the environment variable. Constify some static arrays. Added some more debug. Don't deinit twice. API: gst_registry_fork_is_enabled() API: gst_registry_fork_set_enabled() API: --gst-disable-registry-fork command line option Fixes #348918. 2006-08-11 Tim-Philipp Müller * gst/gst.c: (gst_init): Fix typo in error message. 2006-08-10 Stefan Kost * libs/gst/controller/gstcontroller.h: fix ABI size-correction * tests/check/libs/gdp.c: (gst_dp_suite): make tests that use deprecated API conditional 2006-08-10 Stefan Kost * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/gstcontroller.c: (_gst_controller_get_property), (_gst_controller_set_property), (_gst_controller_init), (_gst_controller_class_init): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate), (gst_object_set_control_rate): API: add gst_object_{s,g}et_control_rate(), add private data section, fix docs * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new): * libs/gst/dataprotocol/dataprotocol.h: add deprecation guards to make gtk-doc happy and allow disabling cruft 2006-08-09 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/gst/.cvsignore: Let's enable the new unit test as well. 2006-08-08 Tim-Philipp Müller * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/gstconfig.h.in: * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment), (_gst_info_printf_extension_ptr), (_gst_info_printf_extension_segment): API: add GST_SEGMENT_FORMAT, which is a printf extension we register that lets us easily dump GstSegments into debug logs (#350419). * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func), (info_segment_format_printf_extension), (gst_info_suite): Add simple unit test that logs a bunch of different segments (not valgrinded at the moment because of leaks in gst_debug_add_log_function). 2006-08-09 Edward Hervey * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Even if we can't figure out the proper format to request downstream, call buffer_alloc() downstream with the input parameters without setting the caps on the srcpad. This will force negotiation in the chain function. Closes #350449 2006-08-08 Edward Hervey * gst/gstghostpad.c: (gst_ghost_pad_do_unlink): Unlinking from a pad without a target is now a perfectly valid case which should NOT raise an assertion. This case would happen if a linked ghostpad its target set to NULL after it was previously linked. 2006-08-08 Edward Hervey * tests/check/libs/gdp.c: Also comment out the test (see below). 2006-08-08 Edward Hervey * tests/check/libs/gdp.c: (gst_dp_suite): Use the architecture information from config.h and not gcc macros in order to properly disable a test that fails on PPC64. 2006-08-04 Tim-Philipp Müller * gst/gstelement.c: (gst_element_remove_pad): Don't crash printing the warning if the pad has no parent. 2006-08-02 Wim Taymans * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any), (gst_dp_crc), (gst_dp_header_payload_length), (gst_dp_header_payload_type), (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header), (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet), (gst_dp_validate_header), (gst_dp_validate_payload): Make debug category static Constify the crc table. Do some more arg checking in public functions. Fix some docs and do some small cleanups. * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite): Add some more checks to see if GDP deals with bogus input. 2006-07-31 Wim Taymans * gst/gstvalue.c: (gst_value_compare_list): Fix GstValueList comparison code. Fixes #347293. * tests/check/gst/gstvalue.c: (GST_START_TEST): Check to test GstValueList comparison. 2006-07-31 Jan Schmidt * gst/gstelementfactory.c: (gst_element_factory_create): Remove unnecessary ref/unref pair * gst/parse/grammar.y: Make sure to free the parse buffer on all code paths. Move a g_free up to the error handler where it's easier to see. * tests/check/gst/gstevent.c: (test_event): Extending timeout for downstream travelling events to 10 seconds to hopefully avoid intermittent failure on the buildbots. * tests/check/pipelines/parse-launch.c: (run_delayed_test): Don't manually set the state of the src element - it will happen as a natural consequence of the pipeline changing state, and that way it will do it in the right order too. 2006-07-31 Wim Taymans * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Use OBJECT_LOCK and refcounting to get the pad caps in the buffer_alloc function because the caps could change while we are busy with them. Fixes #349105 2006-07-31 Wim Taymans * gst/gstutils.c: (gst_pad_get_fixed_caps_func): Protect _PAD_CAPS with OBJECT_LOCK. 2006-07-31 Wim Taymans * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose), (gst_pad_get_property), (gst_pad_activate_pull), (gst_pad_activate_push), (gst_pad_set_blocked_async), (gst_pad_set_activate_function), (gst_pad_set_activatepull_function), (gst_pad_set_activatepush_function), (gst_pad_set_chain_function), (gst_pad_set_getrange_function), (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function), (gst_pad_set_query_function), (gst_pad_set_query_type_function), (gst_pad_set_internal_link_function), (gst_pad_set_link_function), (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function), (gst_pad_set_acceptcaps_function), (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function), (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked), (gst_pad_get_caps), (gst_pad_peer_get_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_allowed_caps), (gst_pad_get_negotiated_caps), (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full), (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block), (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range), (gst_pad_send_event): Use _DEBUG_OBJECT when it makes sense. Protect GST_PAD_CAPS with the OBJECT_LOCK. Small cleanups and code reflows. Avoid caps refcounting in _accept_caps. Refactor alloc_buffer so that the code performed on the peer is in a separate function. Also if the pad does not implement a buffer alloc function, we should still check if the pad is flushing before falling back to the default allocator. 2006-07-31 Jan Schmidt * tests/check/pipelines/parse-launch.c: (GST_START_TEST): Make all uses of identity and fakesink have silent=true to avoid serialising every passing data structure, which is breaking tests on FC4 for some unknown reason. 2006-07-30 Stefan Kost * gst/parse/Makefile.am: * gst/parse/grammar.y: * gst/parse/parse.l: Reverted previous patch as it required to bump the flex dependency to 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :( 2006-07-30 Stefan Kost Patch by: Marc-Andre Lureau * gst/parse/Makefile.am: * gst/parse/grammar.y: * gst/parse/parse.l: push & pop the state of the lexer for reentrant use case Fixes #349180 2006-07-29 Tim-Philipp Müller * libs/gst/base/gstbasesrc.h: Note in the docs that the ::newsegment vfunc is not actually used by GstBaseSrc. 2006-07-28 Wim Taymans * libs/gst/base/gstcollectpads.c: (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop), (gst_collect_pads_clear), (gst_collect_pads_flush), (gst_collect_pads_event), (gst_collect_pads_chain): When flushing a pad, also clear the queued buffer so that we don't accidentally use it when we shouldn't. Fix leaks by inreffing incomming buffer. Flush out queued buffers in case of errors. Fixes #347452. 2006-07-28 Wim Taymans * docs/random/phonon-gst: Random notes about a Phonon backend. 2006-07-27 Jan Schmidt * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps): Extra debug output * tests/check/libs/gdp.c: (gst_dp_suite): Take a whack at fixing the ppc compile using a different define to disable the broken test. * tests/check/pipelines/parse-launch.c: (GST_START_TEST): Remove excess g_print() 2006-07-27 Jan Schmidt * tests/check/pipelines/parse-launch.c: (expected_fail_pipe): Oops, meant to uncomment this line too to dampen the noise a bit. 2006-07-27 Jan Schmidt * gst/parse/grammar.y: * gst/parse/parse.l: * tests/check/pipelines/parse-launch.c: (expected_fail_pipe), (GST_START_TEST), (parse_suite): Fix some of the leaks exposed by extending the parse-launch testsuite, and move the 3 I can't figure out into a separate test that won't run the pipelines unless the appropriate line is uncommented. 2006-07-27 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: (gst_file_src_create_read): Requesting 0 bytes before the end of the file should result in FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you unit test. 2006-07-27 Wim Taymans * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure): Fix useless assert, a uint is always positive. * gst/gststructure.c: (gst_structure_nth_field_name), (gst_structure_foreach), (gst_structure_map_in_place): Check input arguments for public functions to avoid obvious crashes. * plugins/elements/gstfakesink.c: (gst_fake_sink_render): * plugins/elements/gstfakesink.h: Do less useless typechecking. 2006-07-27 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: (gst_file_src_class_init): Do not use mmap() by default since there are a number of error conditions that we would like to handle in a non-fatal way that will result in a SIGBUS if we use mmap(). Examples: external devices (USB harddrive, portable music player) being unplugged while in use; file on mounted CD/DVD that can't be read because the medium is partly damaged. Fixes #348455 and #348475. 2006-07-27 Jan Schmidt * gst/gstquery.h: Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN - rates are a gdouble 2006-07-26 Stefan Kost * gst/gstregistry.c: Move big documentation comment into class section header, so that it appears in the API docs. 2006-07-26 Jan Schmidt * docs/gst/gstreamer-sections.txt: Oops. Commit the docs additions too for new API. Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN 2006-07-26 Jan Schmidt * gst/gststructure.c: (gst_structure_id_set), (gst_structure_id_set_valist): * gst/gststructure.h: Add API for setting values into structures without performing a quark lookup, if the appropriate quark is already known. API: gst_structure_id_set API: gst_structure_id_set_valist * gst/parse/grammar.y: * gst/parse/parse.l: Remove some dead code shown by the coverage information. Don't throw a critical g_warning when encountering a syntax error, just warn and let the normal error path handle it. * plugins/elements/gstelements.c: Bump the rank of filesink up to PRIMARY so that it is preferred over gnomevfssink for file:// sink uri's * tests/check/pipelines/parse-launch.c: (expected_fail_pipe), (GST_START_TEST), (run_delayed_test), (gst_parse_test_element_base_init), (gst_parse_test_element_class_init), (gst_parse_test_element_init), (gst_parse_test_element_change_state), (gst_register_parse_element), (parse_suite): Beef up the tests for parse syntax to check that more error cases fail as they are supposed to. Increases the test coverage a bit. 2006-07-26 Tim-Philipp Müller * docs/manual/basics-elements.xml: Fix gst_element_link() example. * gst/gstutils.c: Mention in API docs that one should usually gst_bin_add() elements to a bin or pipeline before doing the linking. 2006-07-26 Wim Taymans * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new), (gst_subbuffer_get_type), (gst_buffer_create_sub): Avoid function call for known types by keeping the buffer and subbuffer GType global. * plugins/elements/gstfilesrc.c: (gst_file_src_create_read): Random silly optimisations in read() path. 2006-07-26 Jan Schmidt * tools/gst-launch.c: (main): If the top-level of the parse is a normal bin, it doesn't do the right logic to run as a top-level element, so place it inside a pipeline. 2006-07-25 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: (gst_file_src_set_property): Remove superfluous g_object_notify() calls, GObject does that for us automatically. 2006-07-25 Stefan Kost * gst/gstinfo.h: on Win32, use dllspec to export the debug category symbols 2006-07-24 Tim-Philipp Müller * gst/gsttaglist.c: (_gst_tag_initialize): Allow more than one GST_TAG_IMAGE per taglist. 2006-07-24 Thomas Vander Stichele * gst/gstminiobject.c: update docs * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property), (gst_fd_src_create): log recurring events at LOG level add more debug for when the fd gets set 2006-07-21 Stefan Kost * gst/gstparse.c: (gst_parse_launch): Also remove reentrance checks if flex is MT safe (#348179) Fix my empty ChangeLog entry below 2006-07-21 Andy Wingo * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot. * libs/gst/check/Makefile.am (libgstcheck_@GST_MAJORMINOR@include_HEADERS) (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): * libs/gst/check/gstbufferstraw.h: * libs/gst/check/gstbufferstraw.c: Add some new hype testing functions, thus proving I am still a GStreamer haxor. OK I wrote them a long time ago, but anyways. 2006-07-21 Stefan Kost * configure.ac: * gst/gstparse.c: (gst_parse_launch): Check for flex version and omit mutex if we have a MT save flex (fixes #348179) 2006-07-21 Wim Taymans * gst/gstparse.c: (gst_parse_launch): Protect recursive calls to _parse with a recursive mutex and busy flag. 2006-07-21 Wim Taymans * tests/check/gst/gstpad.c: (GST_START_TEST): Fix leak in test. 2006-07-20 Stefan Kost * gst/gstparse.c: (gst_parse_launch): Do not hang on recursive usage of gst_parse_launch() 2006-07-20 Tim-Philipp Müller * gst/gsttaglist.c: Add some more docs, comments and FIXME 0.11s here and there and also fix some typos. 2006-07-20 Tim-Philipp Müller * gst/gstsegment.h: Convert tabs to spaces for better readability. 2006-07-20 Edward Hervey * tests/check/libs/gdp.c: (gst_dp_suite): the test_buffer test fails at line 140 on ppc64 at the following check: fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS), "GST_BUFFER_IN_CAPS flag should have been copied !"); See bug #348114 for more details. 2006-07-19 Tim-Philipp Müller * docs/pwg/advanced-scheduling.xml: * gst/gstpad.c: Fix typos (#348000). 2006-07-18 Tim-Philipp Müller * docs/pwg/intro-basics.xml: Fix wrong links (#347927). 2006-07-18 Stefan Kost * gst/gstregistry.h: * gst/gstregistryxml.c: (load_feature), (gst_registry_xml_read_cache), (gst_registry_xml_save_feature): * win32/common/config.h: make --disable-index work (#342564) 2006-07-18 Wim Taymans Patch by: Peter Kjellerstedt * gst/Makefile.am: * gst/gsttrace.h: The attached patch adds two missing defines to gsttrace.h when tracing is disabled. It also corrects one existing define. Fixes #347756. 2006-07-17 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled): * gst/gst.h: * gst/gstplugin.c: (_gst_plugin_fault_handler_restore): Add two functions to check and change the SIGSEGV behaviour when loading plugins. Don't mess with the SIGSEGV handler when we were told not to. Fixes #347794. API: gst_segtrap_is_enabled API: gst_segtrap_set_enabled 2006-07-14 Wim Taymans * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length): * tests/check/elements/filesrc.c: (GST_START_TEST): Revert fix for regression in #347408 after release. 2006-07-14 Tim-Philipp Müller Patch by: Antoine Tremblay * gst/gstutils.c: (gst_element_unlink): Free iterator when done (#347311). * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): And add a test case for this. 2006-07-14 Jan Schmidt * configure.ac: Bump nano back to CVS === release 0.10.9 === 2006-07-13 Jan Schmidt * configure.ac: releasing 0.10.9, "On the road again" 2006-07-13 Wim Taymans * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length): * tests/check/elements/filesrc.c: (GST_START_TEST): Revert pull-0 fix for release. Disable check. Fixes #347408. 2006-07-13 Thomas Vander Stichele * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_event_from_packet_1_0): Fixes #347337: failure to deserialize event packets with empty payload (only event type) 2006-07-13 Thomas Vander Stichele * gst/Makefile.am: do not install a .c file in the header directory 2006-07-13 Edward Hervey * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked): GhostPad no longer implicitely use the padtemplates of the targets. Fixes #347384 2006-07-11 Jan Schmidt * gst/gstvalue.c: (gst_value_compare_list), (gst_value_compare_array), (_gst_value_initialize): * tests/check/gst/gstvalue.c: (GST_START_TEST): Make GstValueArray comparison be order dependent as designed. Add checks for value lists and value array comparisons. Fixes #347221 2006-07-11 Edward Hervey * gst/gstbin.c: (activate_pads), (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate), (gst_bin_change_state_func): (de)activate src pads before calling state_change on the childs. This is to avoid the case where a src ghostpad is blocked (holding the stream lock), which would block the deactivation of the ghostpad's target pad. * gst/gstghostpad.c: (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event), (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps), (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal), (gst_proxy_pad_dispose), (gst_proxy_pad_init), (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset), (gst_ghost_pad_class_init), (gst_ghost_pad_internal_do_activate_push), (gst_ghost_pad_internal_do_activate_pull), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull), (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink), (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target), (gst_ghost_pad_new), (gst_ghost_pad_set_target): GhostPads now create their internal GstProxyPad at creation (and not when they're linked, as it was being done previously). The internal and target pads are linked straight away. The data will also travel through the other pad in order to make pad blocking and probes non-hackish (the probe/block now really happens on the GhostPad and not on the target). * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_link_prepare), (gst_pad_push_event): Remove previous ghostpad cruft. * gst/gstutils.c: (gst_pad_add_data_probe), (gst_pad_add_event_probe), (gst_pad_add_buffer_probe), (gst_pad_remove_data_probe), (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe): Remove previous ghost pad cruft. Added more detailed debug statements. * tests/check/gst/gstghostpad.c: (GST_START_TEST): Fix the testsuite for refcounting changes. The comments about who has references were correct, but the refcount being checked wasn't the same (!?!). Fixes #341029 2006-07-10 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstconfig.h.in: More docs for configuration options, add docs to gtk-doc. 2006-07-10 Stefan Kost * gst/Makefile.am: * gst/gstconfig.h.in: * win32/common/config.h: Fix build when disabling tracing (fixes #344016). Also start to document the defines that disable the sub-systems. 2006-07-10 Edward Hervey * gst/gst.c: (ensure_current_registry_forking): let's make valgrind happy... 2006-07-09 Wim Taymans * gst/gstelement.c: (activate_pads), (iterator_activate_fold_with_resync), (gst_element_pads_activate): Better pad activation code: Reset the collect value too on resync. Add some comments. 2006-07-09 Wim Taymans * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull), (gst_pad_activate_push): Use some more macros where it makes sense. Allow pad mode switching instead of asserting. When a pad is activated in one mode and we activate it in another, deactivate it first before activating it in a different mode. Fixes #329198. 2006-07-08 Andy Wingo * tools/gst-launch.c (main): Handle err == NULL. * gst/gst.c (init_post, ensure_current_registry) (ensure_current_registry_forking) (ensure_current_registry_nonforking): Reduce #ifdef ratnest by factoring out the registry scanning into separate functions. Don't fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging. Better environment var name/interface suggestions accepted. 2006-07-07 Tim-Philipp Müller * gst/gstobject.c: (gst_object_set_name_default), (gst_object_set_name): Random micro-optimisation: don't use a hash table with strings as keys and the usual strdup/strcmp involved, but rather just use the GQuark of the type name as key, since it needs to be looked up anyway to get the type name string. * tests/check/gst/gstobject.c: (GST_START_TEST): Fix various leaks. 2006-07-07 Tim-Philipp Müller * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface), (gst_bin_iterate_all_by_interface): Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes. GTypes are gulongs and thus the top 4 bytes might be cut off on some platforms when doing GPOINTER_TO_INT, leading to invalid GTypes and bad things happening (see RH bug #179654). Also add a check to make sure the type passed in is really an interface type. 2006-07-07 Tim-Philipp Müller * .cvsignore: Ignore more. 2006-07-07 Tim-Philipp Müller * Makefile.am: * configure.ac: * gst-element-check.m4: * gst-element-check.m4.in: Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION instead of the unversioned gst-inspect (#324176, #168659). 2006-07-06 Wim Taymans * gst/gstmessage.h: Use a valid int for the _MESSAGE_ANY enum value to avoid compiler warnings. 2006-07-06 Wim Taymans * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_wait), (gst_base_src_update_length), (gst_base_src_get_range), (gst_base_src_default_check_get_range), (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range), (gst_base_src_loop), (gst_base_src_start), (gst_base_src_activate_pull): Update docs. blocksize == 0 now means the default blocksize when working in push based mode. Remove some pointless asserts in _wait function. Fix offset/length calculations and EOS handling. We can now pull 0 bytes as well, which is allowed. use _check_get_range() to decide if we can operate in _pull based mode. Fix refcounting leak when check_get_range function was not implemented. API GstBaseSrc::blocksize range can be 0 too now (default) * tests/check/elements/filesrc.c: (GST_START_TEST), (filesrc_suite): Added check to test _get_range() behaviour. 2006-07-06 Wim Taymans * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain), (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range), (gst_pad_pull_range): * gst/gstpad.h: Lots of comments and docs added to the pad functions. Flesh out the expected behaviour of the get_range() functions. 2006-07-06 Wim Taymans * gst/gstbus.h: * gst/gstclock.h: * gst/gstevent.h: * gst/gstiterator.h: * gst/gstpad.h: * gst/gstplugin.h: * gst/gsttask.h: Remove comma at end of enumerator list. 2006-07-05 Sebastien Moutte * win32/common/libgstbase.def: * win32/common/libgstdataprotocol.def: * win32/common/libsgtreamer.def: Add new exported functions. 2006-07-05 Wim Taymans * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range): Add some more docs here and there. 2006-07-05 Wim Taymans * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object), (gst_base_sink_loop), (gst_base_sink_get_position): When operating in pull mode update the offset so that we read sequentially. 2006-07-05 Wim Taymans * gst/gstregistryxml.c: (read_string): Avoid strdup. (will happen in libxml, but hey!) * gst/gsturi.c: Add some more docs. 2006-07-05 Wim Taymans * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub): * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_buffer_suite): No point in checking if the size of the subbuffer > 0, the code handles it correclty as demonstrated by unit test. Also add a unit test for the zero sized _new_and_alloc and _copy. Fixes #346663. 2006-07-05 Wim Taymans * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer), (gst_base_transform_buffer_alloc), (gst_base_transform_handle_buffer): Make sure the buffer we pass to transform_ip has a refcount of 1 and thus is writable. Fixes #343196 2006-07-04 Jan Schmidt * plugins/elements/gstfilesrc.c: (gst_file_src_class_init), (gst_file_src_init), (gst_file_src_set_property), (gst_file_src_get_property), (gst_file_src_map_region): * plugins/elements/gstfilesrc.h: Add "sequential" property, off by default, to use madvise and hint to the kernel that sequential access is desired. Touch all retrieved pages by default to ensure they are pulled into memory. (Closes #345720) 2006-07-03 Wim Taymans * docs/design/part-block.txt: * docs/design/part-dynamic.txt: Small docs updates. 2006-07-03 Wim Taymans * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free), (gst_caps_unref), (gst_static_caps_get), (gst_caps_append_structure): * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free): Use GSlice when the glib we build against is >= 2.10 2006-07-03 Wim Taymans * gst/gstelement.c: (gst_element_pads_activate): Small cleanup in pad activation code. 2006-07-03 Wim Taymans Patch by: Peter Kjellerstedt * gst/gst-i18n-app.h: * gst/gst-i18n-lib.h: * tools/gst-inspect.c: (print_signal_info): The attached patch will make the inclusion of gettext.h unconditional in gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of libintl.h in tools/gst-inspect.c. This allows use of --disable-nls again and fixes #344642. 2006-07-03 Edward Hervey * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event): Implement pad blocking on events according to part-block.txt. More comments on behaviour. * tests/check/gst/gstevent.c: (test_event): Send event to peer pad of blocked pad (else it will block). 2006-07-03 Thomas Vander Stichele * libs/gst/check/gstcheck.c: (gst_check_message_error), (gst_check_run_suite): if we get the wrong message, give us the types as string * plugins/elements/gstfilesrc.c: (gst_file_src_start): Fix a translatable * tests/check/elements/filesrc.c: (GST_START_TEST): add a test for trying to open a non-existing file 2006-07-03 Thomas Vander Stichele * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite): add a test for adding self 2006-07-03 Thomas Vander Stichele * libs/gst/check/gstcheck.h: add some assert_ as alias for fail_unless_* * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite): increase test coverage 2006-07-02 Thomas Vander Stichele * Makefile.am: include lcov.mak for lcov coverage generation * tools/Makefile.am: add to CLEANFILES 2006-07-02 Edward Hervey * tests/check/elements/.cvsignore: moaping 2006-07-02 Thomas Vander Stichele * configure.ac: don't set CFLAGS and friends for gcov, done from GST_GCOV now * tests/check/Makefile.am: clean up gcov files 2006-07-02 Thomas Vander Stichele * gst/gstcaps.c: (gst_caps_remove_and_get_structure): remove gst_caps_simplify; it was not declared and not used and deprecated in 0.8 2006-07-02 Thomas Vander Stichele * docs/faq/gst-uninstalled: don't put empty paths on PYTHONPATH * docs/gst/gstreamer-sections.txt: remove some symbols that are not there 2006-07-02 Thomas Vander Stichele * gst/gstcaps.c: (gst_caps_compare_structures): whitespace fixes * tests/check/gst/gstbuffer.c: (GST_START_TEST): * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite): add more tests 2006-07-02 Thomas Vander Stichele * libs/gst/dataprotocol/Makefile.am: build dataprotocol test by linking to the lib, instead of compiling the source, so we get coverage * tests/check/Makefile.am: * tests/check/elements/filesrc.c: (event_func), (setup_filesrc), (cleanup_filesrc), (GST_START_TEST), (filesrc_suite): add a test for filesrc 2006-07-02 Thomas Vander Stichele * tests/check/gst/gststructure.c: (GST_START_TEST), (gst_structure_suite): Push coverage from 59.04% to 70.00% 2006-07-02 Thomas Vander Stichele * tests/check/Makefile.am: gst-inspect every element; this makes sure that we also get coverage on element's get/set functions 2006-07-02 Thomas Vander Stichele * configure.ac: set CFLAGS and friends to -O0 if gcov is being used add GCOV LIBS * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: * plugins/elements/Makefile.am: * plugins/indexers/Makefile.am: add makefile rules to generate gcov data and clean up * tests/check/Makefile.am: add a coverage target that generates an html overview of coverage data 2006-07-01 Thomas Vander Stichele * tests/check/elements/fakesink.c: * tests/check/elements/fakesrc.c: * tests/check/elements/fdsrc.c: * tests/check/elements/identity.c: * tests/check/generic/sinks.c: (gst_sinks_suite): * tests/check/generic/states.c: * tests/check/gst/gst.c: * tests/check/gst/gstabi.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstbuffer.c: (gst_buffer_suite): * tests/check/gst/gstbus.c: (gst_bus_suite): * tests/check/gst/gstcaps.c: (GST_START_TEST): * tests/check/gst/gstelement.c: * tests/check/gst/gstevent.c: (gst_event_suite): * tests/check/gst/gstghostpad.c: * tests/check/gst/gstiterator.c: (gst_iterator_suite): * tests/check/gst/gstmessage.c: (gst_message_suite): * tests/check/gst/gstminiobject.c: * tests/check/gst/gstobject.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstpipeline.c: * tests/check/gst/gstplugin.c: * tests/check/gst/gstquery.c: (gst_query_suite): * tests/check/gst/gstsegment.c: (gst_segment_suite): * tests/check/gst/gststructure.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttag.c: * tests/check/gst/gsttask.c: (gst_task_suite): * tests/check/gst/gstutils.c: * tests/check/gst/gstvalue.c: * tests/check/libs/adapter.c: * tests/check/libs/basesrc.c: * tests/check/libs/collectpads.c: * tests/check/libs/controller.c: * tests/check/libs/gdp.c: (gst_dp_suite): * tests/check/libs/gstnetclientclock.c: * tests/check/libs/gstnettimeprovider.c: * tests/check/libs/libsabi.c: (libsabi_suite): * tests/check/libs/typefindhelper.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/parse-launch.c: * tests/check/pipelines/simple-launch-lines.c: * tests/check/pipelines/stress.c: (stress_suite): use the new macro 2006-07-01 Thomas Vander Stichele * libs/gst/check/gstcheck.c: (gst_check_run_suite): * libs/gst/check/gstcheck.h: create a macro and function so that the simple unit test case can be just one macro to create main() 2006-06-30 Tim-Philipp Müller * gst/gstbin.c: (gst_bin_restore_thyself): * gst/gstxml.c: (gst_xml_make_element): Fix deserialisation from XML. Set parent manually instead of using gst_bin_add(), since gst_bin_add() will unlink all pads of the element being added. Fixes #341667. 2006-06-28 Tim-Philipp Müller Patch by: Peter Kjellerstedt * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate): Fix missing g_strdup() and double free when using the --gst-plugin-load command line option (#346097). 2006-06-23 Tim-Philipp Müller * gst/gstinfo.c: Promote GST_DEBUG_CATEGORY_STATIC in example in docs. * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: Use GST_DEBUG_CATEGORY_STATIC here too (#342503). 2006-06-23 Tim-Philipp Müller * docs/manual/advanced-dataaccess.xml: Fix buffer probe example compilation in ADM (#345708). 2006-06-22 Edward Hervey * gst/gstelement.c: (gst_element_pads_activate): We need to deactivate src pads first and then sink pads. The reason is the src pads might be blocking while holding the streaming lock, so we need to deactivate them first so that deactivating the sink pads doesn't block (since it will require the streaming lock). 2006-06-22 Wim Taymans * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Forgot to remove two unneeded unrefs. Simplify a check _is_equal allready checks the obvious case. 2006-06-22 Wim Taymans * docs/design/part-block.txt: Some docs about what pad_block should do. 2006-06-22 Wim Taymans * gst/gstcaps.c: (gst_caps_replace): Fix crasher when passed NULL. Doc clarification. Optimize for the trivial case. * gst/gstpipeline.c: (gst_pipeline_change_state): Small cleanups. * libs/gst/base/gstbasesrc.c: (gst_base_src_loop): Small documentation cleanup. * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS is what we need and it avoids a whole lot of redundant refcount operations. 2006-06-22 Tim-Philipp Müller Patch by: Philip Jägenstedt * docs/manual/advanced-dataaccess.xml: Fix 'Embedding static elements' section to use GST_PLUGIN_DEFINE_STATIC (#345607). 2006-06-21 Tim-Philipp Müller * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app): Attempt to 'fix' spuriously failing test case: it seems like the timeout of half a second is simply too small when the system is under load otherwise, and the timeout doesn't really seem to serve any particular purpose here. Give the pipeline a few seconds to preroll first, and then give it another half a second to go from PAUSED to PLAYING and marshal the message into the main thread. 2006-06-21 Tim-Philipp Müller * tools/gst-feedback-m.m: Don't only use unversioned tools, try versioned tools as well (#345086). 2006-06-21 Tim-Philipp Müller * gst/gstbus.c: (gst_bus_class_init): Fix some typos, make docs more explicit. 2006-06-20 Wim Taymans * tests/check/gst/gstghostpad.c: (block_callback), (GST_START_TEST), (gst_ghost_pad_suite): Added some more ghostpad tests, mainly blocking and probes. 2006-06-16 Wim Taymans * plugins/elements/gstfilesink.c: (gst_file_sink_open_file), (gst_file_sink_close_file), (gst_file_sink_do_seek), (gst_file_sink_event), (gst_file_sink_render): * plugins/elements/gstfilesink.h: Check if we can seek in the file instead of assuming we always can. Post an error when we are asked to seek in a non-seekable file (like a fifo). Fixes #343312. Some cleanups. 2006-06-16 Tim-Philipp Müller * tools/gst-launch.1.in: Un-garble (fourcc) bit in filtered caps section. 2006-06-16 Tim-Philipp Müller * docs/manual/advanced-autoplugging.xml: * docs/manual/basics-helloworld.xml: * docs/manual/highlevel-components.xml: Don't leak bus reference in sample code. 2006-06-15 Tim-Philipp Müller * autogen.sh: Add default for new --enable-plugin-docs switch. * configure.ac: Use new GST_PLUGIN_DOCS macro to check for pyxml etc. Fixes #344039. * docs/Makefile.am: Use new ENABLE_PLUGIN_DOCS conditional. 2006-06-14 Wim Taymans * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query): Make it clear with a FIXME and a real define what the #if 0 previously disabled. 2006-06-14 Wim Taymans * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment), (gst_base_sink_preroll_object), (gst_base_sink_get_position): * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc): * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event): Don't randomly and silently reset a segment when the format changes as this is a bug somewhere upstream. Fixes #330379. 2006-06-14 Tim-Philipp Müller Patch by: Wouter Paesen * libs/gst/controller/gstcontroller.c: (gst_controlled_property_new): Fix controlling of float properties (#344849). * tests/check/libs/controller.c: (gst_test_mono_source_get_property), (gst_test_mono_source_set_property), (gst_test_mono_source_class_init), (GST_START_TEST): While we're at it, add some float stuff to unit test. 2006-06-13 Thomas Vander Stichele * docs/README: * docs/images/gdp-header.svg: add a gdp image * docs/libs/Makefile.am: * docs/libs/gdp-header.png: * libs/gst/dataprotocol/dataprotocol.c: add it to the API docs * docs/manual/intro-motivation.xml: fix typo 2006-06-13 Tim-Philipp Müller * gst/gst.c: (scan_and_update_registry), (init_post): If the fork()'ed child process can't write the updated registry cache file to disk for some reason, make it exit with a failure exit code, so that the parent can then re-scan the plugins itself and update the registry structures in memory and work with that (rather than failing when creating elements because seemingly no plugins are available). Refactor registry scanning code into separate function for this and also separate fork() and non-fork() code paths. Fixes #344748. 2006-06-13 Wim Taymans * docs/manual/advanced-dataaccess.xml: Fix wrong PluginDesc. Fixes #344755. 2006-06-13 Tim-Philipp Müller * gst/gstregistryxml.c: (gst_registry_xml_write_cache): Fix silly bug that prevented us from creating ~/.gstreamer-0.10 and writing the registry in one go (the first call to g_mkstemp() would overwrite the placeholder in the template string, so the second call to g_mkstemp() after creating the missing directory would then error out with 'invalid argument'). 2006-06-13 Edward Hervey * gst/gst.c: (init_post): Free string. 2006-06-13 Thomas Vander Stichele * gst/glib-compat-private.h: * gst/glib-compat.c: * gst/glib-compat.h: * gst/gstvalue.c: (gst_value_serialize_flags): remove GLib 2.6 compatibility code 2006-06-12 Tim-Philipp Müller * gst/parse/Makefile.am: Fix build with 'make -j N' even more (#340016). 2006-06-12 Wim Taymans * docs/gst/gstreamer-sections.txt: Fix docs. 2006-06-12 Wim Taymans * gst/gstsegment.c: (gst_segment_set_duration), (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time), (gst_segment_clip): Use G_UNLIKELY to help the compiler a bit. 2006-06-12 Wim Taymans Patch by: Stefan Kost * gst/gstevent.c: (gst_event_get_type): * gst/gstmessage.c: * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain), (gst_pad_push): constify quark registration strings. Fixes #344115 Avoid unneeded type checking is _pad_push() by internally calling gst_pad_chain_unchecked(). 2006-06-12 Wim Taymans * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize), (_gst_buffer_copy), (gst_buffer_is_metadata_writable), (gst_subbuffer_finalize), (gst_buffer_create_sub), (gst_buffer_is_span_fast), (gst_buffer_span): Init _type for consistency. Use _FLAGS macro to avoid type check. Avoid unneeded type checks in subbufer code. 2006-06-12 Wim Taymans * gst/gst.c: (gst_debug_help): * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free): * gst/gstpluginfeature.c: (gst_plugin_feature_finalize), (gst_plugin_feature_list_free): * gst/gstregistry.c: (gst_registry_add_plugin), (gst_registry_add_feature), (gst_registry_plugin_filter), (gst_registry_feature_filter), (gst_registry_find_plugin), (gst_registry_find_feature), (gst_registry_get_plugin_list), (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked): * gst/gstregistryxml.c: (load_feature), (gst_registry_xml_read_cache), (gst_registry_xml_write_cache): * gst/gstminiobject.c: (gst_mini_object_unref), (gst_mini_object_replace), (gst_value_mini_object_free), (gst_value_mini_object_copy): Use _CAST macros to avoid unneeded type checking. Added some more G_UNLIKELY. 2006-06-12 Wim Taymans * gst/gstbuffer.h: Avoid unneeded type checking. API: GST_BUFFER_IS_DISCONT * gst/gstminiobject.h: Avoid type check in flag accessor. * gst/gstelementfactory.h: * gst/gstplugin.h: * gst/gstpluginfeature.h: Add _CAST macros. API: GST_ELEMENT_FACTORY_CAST API: GST_PLUGIN_CAST API: GST_PLUGIN_FEATURE_CAST 2006-06-12 Wim Taymans * gst/gstobject.c: (gst_object_get_type), (gst_object_ref), (gst_object_unref): Add G_UNLIKELY in type registration. Avoid type check in _ref/_unref since that is also done in glib. 2006-06-12 Wim Taymans * gst/gsterror.c: (gst_g_error_get_type): * gst/gstpadtemplate.c: (gst_pad_template_get_type), (gst_static_pad_template_get_type): * gst/gsttaglist.c: (gst_tag_list_get_type): * gst/gsttagsetter.c: (gst_tag_setter_get_type): * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type): * gst/gsturi.c: (gst_uri_handler_get_type): * gst/gstvalue.c: (gst_date_get_type): * gst/gstxml.c: (gst_xml_get_type): * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type), (gst_base_sink_preroll_object), (gst_base_sink_get_position): * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type): Add G_UNLIKELY in type registration. 2006-06-12 Wim Taymans * tools/gst-inspect.c: (print_signal_info): Properly print enum values. 2006-06-12 Wim Taymans * gst/gstinfo.c: (gst_debug_set_active), (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr): * gst/gstinfo.h: Add some G_[UN]LIKELY. Maintain __gst_debug_min to avoid formatting the arguments of debug messages that will be dropped anyway to avoid a lot of overhead from the debugging system. 2006-06-11 Stefan Kost * po/POTFILES.in: * po/POTFILES.skip: add missing files containing translatable strings, tell intltool about one exception 2006-06-11 Stefan Kost * tests/check/libs/.cvsignore: add test-binary to ignore list 2006-06-11 Stefan Kost * docs/libs/gstreamer-libs-docs.sgml: reorder (put dp into a chapter) and indent 2006-06-10 Thomas Vander Stichele * configure.ac: back to HEAD