Original commit message from CVS:
* gst/gstpad.c: (gst_pad_event_default_dispatch):
The default event function on a sinkpad should return TRUE when
there are no internal links but should collect the return values from
the internal links otherwise.
Original commit message from CVS:
* gst/parse/grammar.y:
* tests/check/pipelines/parse-launch.c:
Get all missing elements from a parse launch string if possible
(ie. if the FATAL_ERRORS flag has been specified). Fixes#528178.
Original commit message from CVS:
* gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
* gst/gstutils.c: (gst_parse_bin_from_description):
* gst/parse/grammar.y: (graph):
More guards against bad input; typo fix; some minor clean-ups.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer_full):
Move size sanity check to the right place: downstream may return
a buffer with a smaller size if the buffer caps are different than
the requested ones, as may happen when doing reverse negotiation.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
Add sanity check to make sure we don't get smaller buffers
than requested (and fallback to normal buffer alloc if we do).
Original commit message from CVS:
* gst/gstevent.c:
Document that gst_event_new_tag() and gst_event_new_navigation()
take ownership of the taglist/structure passed to them. (#533635).
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_info):
* gst/gstmessage.h:
Mark the debug string parameters as const. Fixes bug #533490.
Original commit message from CVS:
* gst/gstinfo.c:
Explain why we copy the list.
* gst/gstpipeline.c:
Improve docs.
* gst/gstutils.c:
Add one debug-log statement to help tracing probelms with linking pads.
Original commit message from CVS:
* gst/parse/grammar.y:
Remove unneeded value unset.
* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Add unit test for de/serialization of caps.
Original commit message from CVS:
* gst/gstsegment.c:
* tests/check/gst/gstsegment.c:
No, let's not use g_slice_{dup|copy} here, since they only exist
since GLib 2.14 and we still depend only on >= 2.12. Also add
unit test for gst_segment_copy().
Original commit message from CVS:
* gst/gstutils.h: (GST_BOILERPLATE_FULL):
Try to fix 'dereferencing type-punned pointer will break strict
aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
changed the default GType typedef from gulong to gsize at some point,
but kept GType typedef'ed to gulong for C++ for ABI reasons; the
g_once_* functions all take a gsize * though, so work around the type
mismatch for C++ by doing everything in gsize and casting to GType
later.
Original commit message from CVS:
* gst/gstinfo.h (GST_FUNCTION):
Reverted GST_FUNCTION to the old version as we don't want the
full signature in C++ code. Also added support for MSVC.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon net>
* gst/gstbus.c: (gst_bus_source_dispatch):
Don't print a warning if the queue is empty when we try to pop
here. That could happen if another thread or callback set the
bus to flushing between the source's check/prepare and the
dispatch being called (#531538).
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_set_calibration):
Make some checks actually useful.
* gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
Remove some unused code. Unsigned integers tend to be >= 0.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_get_mini_object):
Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
function was not in the unscheduled 0.10.19 release.
Original commit message from CVS:
* gst/gstdebugutils.c: (debug_dump_element_pad):
Remove some code that is unused after Stefan's refactoring and uses
uninitialized variables now, resulting in a compiler warning.
Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_scan_path_level):
Run g_str_has_suffix() only on the file name, not the
entire file path.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstevent.c: (gst_event_has_name):
* gst/gstevent.h:
* tests/check/gst/gstevent.c: (GST_START_TEST):
Add method to conveniently check the name of a custom event with
gst_event_has_name().
Reformat the event docs so that related methods are put together instead
of the default alphabetical sort.
Update unit test with new method.
API: GstEvent::gst_event_has_name()
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(gst_bin_dispose):
Use the GLib stuff to create a private structure.
Add some locking around some dispose methods to make them a little
safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
Original commit message from CVS:
* gst/gst.c: (init_post), (gst_deinit):
* tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
(test_concurrent_create), (gst_pipeline_suite):
Ref some more classes in gst_init() to work around thread-safety
issues in pre-2.16 GLibs, and add basic unit test.
Original commit message from CVS:
patch by: Jason Zhao <e3423c@motorola.com>
* docs/gst/running.xml:
* gst/gst.c:
Enable/disable scan_and_update_registry() based on commandline switch
or environment variable. Fixes#520468.
* ChangeLog:
Fix typo in my previous commit.
Original commit message from CVS:
* gst/gstregistrybinary.c:
Add a warning of we hit unhandled factories when saving.
More debug logging detail, but move to LOG category.
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_make):
Unref the factory after it was used the last time, not before.
* gst/gstindexfactory.c: (gst_index_factory_make):
Improve debugging a bit and don't leak a ref to the index factory with
each call.
Original commit message from CVS:
* gst/gstsegment.c:
The glib macro seems to be borked. Use g_slice_copy directly and cast
in the hope that this fixes the warning on 64bit.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Move GParamSepc macros to standart section.
* gst/gstbin.c:
Dn't document _get_type - its in private section in docs anyway and
this doc-blob was incomplete.
* gst/gstclock.h:
Fix wrong symbol names in docs.
* gst/gstmacros.h:
Add once doc sentence.
* tests/check/gst/.cvsignore:
Ignore more.
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_get_protocol):
Fix leak: g_strdown operates on the string in place, while
g_ascii_strdown() returns a newly-allocated string.
Original commit message from CVS:
* gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
Use g_value_take_string() instead of the deprecated
g_value_set_string_take_ownership().
Original commit message from CVS:
* gst/gstregistrybinary.c: (_gst_crc32):
Return the old CRC instead of 0 if we give a NULL buffer
or a buffer with a length of 0.
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_protocol_check_internal),
(gst_uri_get_protocol), (gst_uri_has_protocol),
(gst_uri_construct), (gst_uri_handler_set_uri):
A valid URI scheme can also include '+', '-' and '.' additional
to alphanumeric characters as per RFC 3986 Section 3.1.
Handle URI schemes case insensitive in all places and convert
to lower-case when constructing an URI or setting an URI with
the GstURIHandler interface. Fixes bug #528868.
All elements can still assume (as before) that they will
get passed URIs with a lower-case URI scheme by the GstURIHandler
interface.
Original commit message from CVS:
* gst/gstcaps.c: (gst_static_caps_get):
* gst/gstclock.c: (gst_clock_entry_new):
Don't use g_atomic_set_int where it's not needed.
Original commit message from CVS:
* gst/gstutils.c:
* gst/gstutils.h:
API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
now that we depend on new enough GLib.
* gst/gstcaps.c: (gst_static_caps_get):
* gst/gstclock.c: (gst_clock_entry_new):
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
(gst_debug_set_default_threshold), (_gst_debug_category_new),
(gst_debug_category_set_threshold):
* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
(gst_base_sink_set_qos_enabled):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_set_property):
Use g_atomic_int_set() instead of gst_atomic_int_set().
Original commit message from CVS:
* gst/gstregistrybinary.c: (_gst_crc32),
(gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Add crc32 checksum to the binary registry file and check this before
accepting a registry file.
Also free the data list when writing to the registry file fails.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
If an element supports the Uri interface, returns a valid pointer
to the supported URI protocols but this pointer contains nothing
don't try to save that as it will corrupt the registry.
Don't unref the plugin if we added it to the registry already but
fail to load a feature as gst_registry_add_plugin() takes ownership
of the plugin.
Improve debugging a bit.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* gst/gstparamspecs.c:
* gst/gstparamspecs.h:
Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
docs to own section.
* gst/gstvalue.c:
This now only documents GValue.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/controller/gstcontroller.h:
Remove GST_PARAM_CONTROLLABLE.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
Fix a typo in a debug message and revert change from yesterday as
gst_registry_add_plugin() will only fail if something is really wrong
already and we can't survive it anyway.
Original commit message from CVS:
* gst/gst.c: (init_post), (gst_deinit):
Pre-register GstGError GType from a thread-safe context
(fixes#527967); unref enum type classes in deinit.
Original commit message from CVS:
Patch by: Rene Stadler <mail at renestadler de>
* gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
Merging an empty list with another list in KEEP_ALL mode should
yield an empty list as result and not the second list (#512578).
* tests/check/gst/gsttagsetter.c:
Add unit test for tag merge modes and the aforementioned bug.
Original commit message from CVS:
Patch by: Rene Stadler <mail at renestadler de>
* gst/gsttaglist.h:
Fix description to match the order in the table (#512577).
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
If gst_registry_add_plugin() fails our reference to the plugin is
invalid so don't try to use it anymore and instead error out.
Original commit message from CVS:
2008-04-11 Julien Moutte <julien@fluendo.com>
Mac OS X love...
* configure.ac: Merge platform specific defines, introduce a new
define on OS X to remember that forking when updating registry is
unsafe.
* docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
module.
* gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
is defined.
* gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
condition that leads to absolutely no plugins being registered on
OS X.
Original commit message from CVS:
Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstutils.c: (gst_pad_add_data_probe),
(gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
(gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
(gst_pad_add_buffer_probe_full):
* gst/gstutils.h:
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
Add gst_pad_add_*_probe_full() functions with a notify callback that
lets the caller free the data it passes to the probe functions. This
is useful for bindings such as gst-python or gstreamermm (#526814).
API: gst_pad_add_data_probe_full
API: gst_pad_add_buffer_probe_full
API: gst_pad_add_event_probe_full
* tests/check/gst/gstutils.c:
Add minimal unit test to make sure freeing the data actually works
as expected.
* tests/benchmarks/.cvsignore:
Random cvsignore addendum.
Original commit message from CVS:
* gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
(GST_DEBUG_BIN_TO_DOT_FILE):
Mention GstDebugGraphDetails enum type in doc blurb so we get a link
to it in the docs (since these are macros the types of the arguments
won't be shown in the docs otherwise).
Original commit message from CVS:
Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
* docs/gst/gstreamer-sections.txt:
* gst/gstsegment.c:
* gst/gstsegment.h:
* win32/common/libgstreamer.def:
Expose gst_segment_copy() to make things easier for the c++ bindings.
Fixes#518932.
API: gst_segment_copy()
Original commit message from CVS:
* gst/gst.c: (gst_init_get_option_group), (init_post):
Fix const position; ref GType classes for enum types to work
around thread-safety issues in GLib versions < 2.16.
Original commit message from CVS:
* docs/design/part-buffering.txt:
Fix some typos and set the estimated total for push mode to -1.
* gst/gstquery.c: (gst_query_new_buffering):
Set buffering-left to 0 as we're not buffering by default.
* libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
Implement BUFFERING query.
Original commit message from CVS:
Based on patch by: Milosz Derezynski <internalerror gmail com>
* gst/gsterror.c: (_gst_stream_errors_init):
* gst/gsterror.h:
Add two new error codes for encrypted content. Fixes#524659.
API: GST_STREAM_ERROR_DECRYPT
API: GST_STREAM_ERROR_DECRYPT_NOKEY
Original commit message from CVS:
* docs/design/part-buffering.txt:
* gst/gstquark.c:
* gst/gstquark.h:
* gst/gstquery.c: (gst_query_parse_latency),
(gst_query_new_buffering), (gst_query_set_buffering_percent),
(gst_query_parse_buffering_percent):
* gst/gstquery.h:
Add busy field and quark for the buffering query so that the app can
only use the query to see if buffering is in progress.
Original commit message from CVS:
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
Add some more quarks needed for messages and queries.
Original commit message from CVS:
* gst/gstindex.c: (gst_index_resolver_get_type):
Don't put descriptions into the nick field of a GEnumValue: it's not
meant for that and some language bindings rely on the nick field to
construct constants and the like. Fixes#526705.
Original commit message from CVS:
* gst/parse/Makefile.am:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c:
Require a new enough flex and bison and remove the parser hacks to use
a pre-regenerated version.
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:
* 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:
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:
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".