Original commit message from CVS:
2008-04-01 Julien Moutte <julien@fluendo.com>
patch by: Jason Zhao <E3423C@motorola.com>
* configure.ac: Add a configure switch to disable option parsing
in gst_init.
Fixes#522882.
Original commit message from CVS:
* configure.ac:
* gst/gstregistry.c:
MacOS has plugins under .so or under .dylib. Add detection for MacOS
and handle this case.
* gst/gst.c:
Add a comment here describing, why we stat each plugin and not try to
be smart.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer):
Also unset the GAP flag on buffers if we're working inplace but
the element is not GAP-aware.
Mark a comment as FIXME 0.11.
Original commit message from CVS:
* gst/gst.c:
Fix type in log message and add one to ease seeing how long registry
cache verification takes.
* gst/gstregistry.c:
Only test plugin filenames against G_MODULE_SUFFIX.
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_packet_from_event_1_0):
When calculating GDP body CRC, use the correct pointer.
Fixes part of #522401.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* plugins/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_prepare_output_buffer):
Identity is not always a passthrough element, it can modify the buffer
timestamps when it has a datarate and operates in single-segment mode.
We therefore make it an in_place filter with a custom buffer prepare
function that conditionally makes the input buffer metadata writable
when needed. Fixes#523985.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/gstclock.h:
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasetransform.c:
* libs/gst/check/gstcheck.c:
Small documentation fixes. Fixes#523978.
Original commit message from CVS:
* plugins/elements/gstfdsink.c: (gst_fd_sink_render):
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
Also retry our poll_wait when we get EAGAIN. Fixes#524041.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
(single_queue_underrun_cb):
When trying to make room in the queue, bump the max allowed buffers
bigger than the current amount of buffers in the queue. this fixes some
nasty deadlocks in multiqueue when dynamically changing the limits of
the queue.
Original commit message from CVS:
Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstcaps.c: (gst_caps_set_simple),
(gst_caps_set_simple_valist), (gst_caps_intersect):
* gst/gstcaps.h:
Constify the field gchar * params in set_simple and friends.
Fixes#522326.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_transform_object_string):
Transform a GstObject to a more meaningfull string that includes the
object type in addition to its name.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write):
Align memory to the pointer size even if the architecture allows
unaligned memory access. Unaligned memory access usually comes with
performance penality.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
Align memory to the pointer size instead of always 32 bit. Fixes
unaligned memory accesses on ia64 and friends.
* gst/gstregistrybinary.h:
Bump binary registry format version for this as it changes the
format on those architectures that don't have unaligned access
and 64 bit pointers.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_dup_mini_object),
(gst_param_spec_mini_object):
* gst/gstminiobject.h:
* win32/common/libgstreamer.def:
* docs/gst/gstreamer-sections.txt:
API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
GstParamSpecMiniObject into a public header for this.
This make GstMiniObject a bit more consistent with GObject and makes
it possible to extend the param specs.
gst_value_dup_mini_object is mainly useful for set_property methods.
Fixes bug #523798.
* tools/gst-inspect.c: (print_element_properties_info):
Print something useful for GstMiniObject properties and not just
"unknown type".
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
(gst_registry_binary_check_magic):
* gst/gstregistrybinary.h:
Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
and add it to the (private part) of the docs to fix the build.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
(gst_registry_binary_check_magic),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Don't use GST_MAJORMINOR for the binary registry version. Instead
hardcode a value that must be changed whenever the format changes
in an incompatible way.
Also don't GST_ERROR when there is a version mismatch, just
regenerate the registry silently.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
(gst_poll_update_winsock_event_mask),
(gst_poll_prepare_winsock_active_sets),
(gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
(gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
(gst_poll_check_ctrl_commands), (gst_poll_wait):
* gst/gstpoll.h:
* win32/common/libgstreamer.def:
Add new function gst_poll_fd_ignored() for improved Windows
compatibility.
Various minor fixes and cleanups. See #520808.
Original commit message from CVS:
* gst/gstindex.c: (gst_index_entry_free):
* gst/gstindex.h:
Don't free key strings which we don't own. Fixes crash in
gst_index_entry_free() (#522741).
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gstindex.c: (test_index_entries),
(gst_index_suite), (gst_index):
Add unit test for the above.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
(gst_poll_update_winsock_event_mask), (gst_poll_new),
(gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
(gst_net_time_provider_new):
* plugins/elements/gstfdsink.c: (gst_fd_sink_start):
* plugins/elements/gstfdsrc.c: (gst_fd_src_start):
* tests/benchmarks/gstpollstress.c: (main):
* tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
Remove GstPollMode from the API, it does not make sense to let the
application control this.
Add support for Win32.
Fix the testsuite. Fixes#520671.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* gst/gstregistrybinary.c:
Include io.h for write() and close() when building with MSVC. Fixes
bug #520877.
Original commit message from CVS:
* configure.ac:
* gst/gst_private.h:
* gst/gstconfig.h.in:
* gst/gstregistry.h:
* gst/gstregistrybinary.c:
* win32/common/gstconfig.h:
Move registry backend API to private headers where we can. Add
fixme-0.11 comments for the others. Add stubs for the xml backend when
using the binary to ensure they functions exists (they should not be
used though). Fixes#520756.
Original commit message from CVS:
* gst/gstminiobject.c:
Import gst_private.h before any other header that might include other
glib headers. This fixes the build on windows using native compilers.
Original commit message from CVS:
* configure.ac:
* gst/gstconfig.h.in:
* gst/gstregistry.h:
Fix broken use of config.h-defined preprocessor directive in a public
header file. Add a corresponding define to gstconfig.h, since we can't
really remove those function declarations from the header file now
(or can we? and why are they there in the first place?).
Original commit message from CVS:
2008-03-03 Andy Wingo <wingo@pobox.com>
* tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
the new warning.
* gst/gststructure.c (gst_structure_from_string): Warn if
structure_from_string didn't consume the whole string, but the
caller did not provide an end pointer.
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
* gst/gstregistryxml.c: (read_string), (load_feature):
Strings allocated by libxml2 should be freed with xmlFree(), not
with g_free(). Fixes issues on windows in certain contexts (#519698).
Original commit message from CVS:
* gst/gstinterface.c: (gst_element_implements_interface):
Don't crash if the element supports the interface queried, but does
not implement GstImplementsInterface. Fixes#519584.
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gstinterface.c:
Add unit test for the above.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_seek),
(gst_segment_to_stream_time):
Improve some comment.
Update variables where it makes more sense.
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_handler_get_protocols):
Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
URIHandlers implemented using language bindings.
Original commit message from CVS:
* plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
Don't reset GstPollFDs, this is not necessary at all.
* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
(delayed_restart), (delayed_control):
Use GST_POLL_FD_INIT.
Original commit message from CVS:
* gst/gstpoll.c: (gst_poll_fd_init):
* gst/gstpoll.h:
Added Since tags.
* plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
Use some more init macros.
Original commit message from CVS:
* plugins/elements/gstfdsink.c: (gst_fd_sink_start):
* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
Use init macros and functions.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (gst_poll_fd_init):
* gst/gstpoll.h:
Add INIT macro and _init method for initializing the GstPollFD.
Original commit message from CVS:
* configure.ac:
Add checks for poll, ppoll and pselect.
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
Add docs for GstPoll.
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpoll.c: (find_index), (selectable_fds),
(pollable_timeout), (choose_mode), (pollfd_to_fd_set),
(fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
(gst_poll_set_mode), (gst_poll_get_mode),
(gst_poll_add_fd_unlocked), (gst_poll_add_fd),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
(gst_poll_fd_has_closed), (gst_poll_fd_has_error),
(gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
Add generic poll abstraction. We ideally don't want to have this in core
here but in glib intead...
This code will be used in various network elements and ultimately for
the nanosecond precision monotonic clock (that's why it's here in core).
It'll allow us to implement cancelable socket operations for windows too.
* tests/check/Makefile.am:
* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
(delayed_stop), (delayed_restart), (delayed_flush),
(delayed_control), (gst_poll_suite):
Add GstPoll unit test.
Original commit message from CVS:
* plugins/elements/gstqueue.c:
* plugins/elements/gstqueue.h:
When dropping buffers in leaky modes, mark next buffers we sent as
DISCONT.
Original commit message from CVS:
* plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
Also, if mmap() fails that would be a READ error, not OPEN_READ.
Original commit message from CVS:
* plugins/elements/Makefile.am:
* plugins/elements/gstbufferstore.c:
* plugins/elements/gstbufferstore.h:
* plugins/elements/gsttypefindelement.h:
Remove GstBufferStore, no idea why we were still building it.
It's not used anywhere and superseded by GstAdapter.
* plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
(gst_file_src_create_mmap):
* plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
Printf format fixes for 64-bit integers.
Original commit message from CVS:
* configure.ac:
Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
We're not in 0.8 times anymore.
Original commit message from CVS:
* libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
(gst_check_element_push_buffer_list):
* libs/gst/check/gstcheck.h:
Make the declaration in the header for
gst_check_element_push_buffer_list match the implementation.
Fix up spelling, grammar and wording of the documentation in a few
places, and add the Since keyword to new API functions.
Use g_list_delete_link instead of g_list_remove in
gst_check_drop_buffers, since it's immeasurably more efficient.
* tests/check/elements/fakesrc.c: (GST_START_TEST):
Use new gst_check_drop_buffers function where appropriate.
* win32/common/libgstbase.def:
* win32/common/libgstreamer.def:
Add new symbols gst_collect_pads_take_buffer,
gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
exports
Changelog surgery to add API keyword to new gst_check API.
Original commit message from CVS:
* gst/gstminiobject.c:
Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
friendly to subclasses and not require them to know all internals
of their parent class.
Original commit message from CVS:
Patch by: Siavash Safi <siavash dot safi at gmail dot com>
* gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
(gst_index_set_resolver_full):
* gst/gstindex.h:
Add new function with option to dispose of user_data in resolver.
Actually call the dispose function when finalizing the object and not
just when changing the resolver/filter.
API: GstIndex::gst_index_set_resolver_full()
* docs/gst/gstreamer-sections.txt:
Add new function to docs. Fixes#515469.
Original commit message from CVS:
* gst/gstindex.c: (gst_index_finalize):
Chain up finalize to the parent class. Fixes leaking the GstObject
name and other things.
Original commit message from CVS:
* configure.ac:
Make DISABLE_DEPRECATED defined *only* during CVS, not during
pre-releases or releases.
* docs/faq/gst-uninstalled:
Add gst-plugins-gl
* docs/random/release:
Change one of the steps - we only upload core & base to Gnome FTP
Original commit message from CVS:
* gst/gstconfig.h.in:
Add 'id' for example.
* gst/gstpad.c:
* gst/gstutils.c:
* plugins/elements/gstfdsink.c:
Link to signals. Doc and comment fixes.
Original commit message from CVS:
* gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
* gst/gstpluginfeature.h: (GstPluginFeatureClass):
Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
unused and unimplemented; finally, it is plugin features, not
plugins, that have ranks.
Original commit message from CVS:
* gst/gst.c: Add a separate gst_deinitialized that prevents
gst_init() from being called after gst_deinit(). Fixes#509559
Original commit message from CVS:
* tools/gst-launch.c:
Dump one graph per pipeline state-change and state change name
(if GST_DEBUG_DUMP_DOT_DIR is set).
Original commit message from CVS:
* gst/gstpad.c:
* tests/check/gst/gstpad.c:
Be sure that we have a new copy of the caps and not
reffed caps from a template
Original commit message from CVS:
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_add_pad_template):
* gst/gstpadtemplate.c:
Make it possible (and recommended) to set element details and add
pad templates in the class_init functions by copying the details/pad
templates in GstElement's base_init.
Also make it possible to replace existing pad templates by adding
a new one with the same name. This was done in a hackish fashion
in same elements before already.
Don't reference pad templates that are added a second time. A
new pad template has a refcount of one and is not floating anymore
and to be owned by the element's class. Make this more explicit by
mentioning it in the docs of gst_element_class_add_pad_template().
These changes are backwards compatible. Fixes bug #491501.
* tests/check/gst/gstelement.c:
Add unit test for setting element details, adding pad templates and
replacing them in a subclass.
Original commit message from CVS:
* tools/gst-inspect.c: (print_interfaces),
(print_element_properties_info), (print_pad_info),
(print_signal_info), (print_element_info):
Fix a few memory leaks.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstcheck.h:
Add more functions for unit testing: gst_check_drop_buffers,
gst_check_caps_equal, gst_check_element_push_buffer_list,
gst_check_element_push_buffer
Original commit message from CVS:
* docs/README:
Some more details about how the plugin docs works.
* docs/plugins/gstreamer-plugins-sections.txt:
Whitespace cleanup.
Original commit message from CVS:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/grammar.y:
* gst/parse/lex._gst_parse_yy.pre.c:
Add delayed set-property. This allows to set properties on dynamicaly
created objects (pads in videomxer).
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
(gst_base_sink_get_position_paused):
Add fixme regarding EOS in pull mode.
Fix position reporting in PAUSED for negative rates.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_replace):
When replacing a miniobject, do a quick equality check first so that we
can avoid a ref/unref pair.
Original commit message from CVS:
* docs/design/part-synchronisation.txt:
Update some docs.
* docs/plugins/Makefile.am:
* docs/plugins/gstreamer-plugins-docs.sgml:
* docs/plugins/gstreamer-plugins-sections.txt:
* plugins/elements/gstmultiqueue.c:
Add multiqueue to the docs.
Original commit message from CVS:
* gst/gstutils.c:
Fix compilation on systems that have posix timers but no
monotonic clock.
Fixes: #512715
Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
dot net>
Original commit message from CVS:
* tools/gst-inspect.c: (print_interfaces),
(print_element_properties_info), (print_pad_info),
(print_signal_info), (print_element_info):
Fix a few memory leaks.