Improve GstSegment, rename some fields. The idea is to have the GstSegment
structure represent the timing structure of the buffers as they are generated by
the source or demuxer element.
gst_segment_set_seek() -> gst_segment_do_seek()
Rename the NEWSEGMENT event to SEGMENT.
Make parsing of the SEGMENT event into a GstSegment structure.
Pass a GstSegment structure when making a new SEGMENT event. This allows us to
pass the timing info directly to the next element. No accumulation is needed in
the receiving element, all the info is inside the element.
Remove gst_segment_set_newsegment(): This function as used to accumulate
segments received from upstream, which is now not needed anymore because the
segment event contains the complete timing information.
Hide the GstStructure of the event in the implementation specific part so that
we can change it.
Add methods to check and make the event writable.
Add a new method to get a writable GstStructure of the element.
Avoid directly accising the event structure.
Add the sticky flag to events and a sticky index.
Keep sticky events in an array on each pad.
Remove GST_EVENT_SRC(), it is causing refcycles with sticky events, was not used
and is not very interesting anyway.
Make adding/removing gst_debug_log_default() work reliably in all
circumstances. The problem was that depending on platform and linker
flags the function argument might resolve to different addresses,
which made it impossible to remove the default log function added
in gst_init() from application code (because the pointer values
didn't match). The new approach should keep things simple by passing
NULL for the default function, which the code in libgstreamer can
then handle.
https://bugzilla.gnome.org/show_bug.cgi?id=625396https://bugzilla.gnome.org/show_bug.cgi?id=640771
Avoid unnecessary malloc/free to get the file basename on MSVC to avoid
unnecessary overhead when doing GST_DEBUG=foo:5 or so (since it would be
done before the category log level filtering).
The -Bsymbolic change causes us to get a different address when internaly
looking up the function than what application would get when the use the symbol
that they see. This made removing the default loghandler to fail, as it is set
internally and removed externaly.
The logging is not an atomic operation and because of the multi-threading we end
up with out-of-order log lines. Tools that present the log-file should probably
resort the lines. This change just takes the timestamp a bit closer to the
actual logging.
g_printerr() used to do this for us. Also use libc's fprintf() functions,
to make sure the stderr pointer we use is actually compatible with the
libc linked against by GStreamer (which apparently may not always be the
same as what GLib is linked against on windows), and we don't need the
functionality ensured by g_fprintf().
Fixes#625295.
This changes behaviour slightly in that we no longer output things
via g_printerr(), so any non-standard glib printerr handlers are no
longer called when GST_DEBUG is enabled. However, this seems not
really desirable in most cases anyway, and the GLib docs also say
that libraries should not use g_printerr() for logging.
Other stderr output (e.g. warnings, or application messages) will
of course not be captured in the log file this way.
GST_DEBUG_FILE=- will redirect debug output to stdout.
This makes it possible to easily get a *:5 debug log without all
the refcounting noise, and drastically reduces the number of lines
output for a normal log (46m to 28m for a 20min video). The full log
including refcounting information can still be gotten using *:7.
Fixes#620460.
This changes some APIs in compatible ways:
- Some functions now take "const char *" arguments, not "char *"
- Some structs now have "conts char *" members, not "char *"
The changes may cause warnings when compiling with the right warning
flags. You've been warned.
Also adds -Wwrite-strings as a warning flag in configure.ac.
https://bugzilla.gnome.org/show_bug.cgi?id=611692
Adds that warning to configure.ac
Includes a tiny change of the GST_BOILERPLATE_FULL() macro:
The get_type() function is no longer declared before being defined.
https://bugzilla.gnome.org/show_bug.cgi?id=611692
Add a new macro GST_DEBUG_CATEGORY_GET to get a log category by name. This
allows plugins to use e.g. core categories like PERFORMANCE or CLOCK.
API: GST_DEBUG_CATEGORY_GET
Don't dump hundreds of kB of hexdata into debug logs when converting
taglists containing huge images into a string. Instead, shorten the
buffer data so that the string is still readable and debug logs
stay managable. Can be turned off with GST_DEBUG_OPTIONS=full-tags.
See #584988.
The printf extension mechanism changed in glibc 2.10, and the older
register_printf_function is deprecated. Detect and use the new
mechanism where available.
When its disabled, we poison some symbols to force a build error if they are
used. Dunno how useful this acually is, but we need to disable the poisoning
when we include this ourself. Also don't define some of the dummies, as they
are getting replaced with defines and that creates code that does not compile.
Two new log levels to dump FIXMEs into the log and to log data
in form of a hex dump (#578114).
API: GST_CAT_FIXME_OBJECT
API: GST_CAT_MEMDUMP_OBJECT
API: GST_CAT_FIXME
API: GST_CAT_MEMDUMP
API: GST_FIXME_OBJECT
API: GST_MEMDUMP_OBJECT
API: GST_FIXME
API: GST_MEMDUMP
Running configure with e.g. --disable-dst-debug was compiling out the debug
system (ABI break). Now stubs are added and only if one does e.g.
make CFLAGS="-DGST_REMOVE_DISABLED" the symbols are ommitted.
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/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:
* Makefile.am:
Add check-exports target and run it as part of 'make check'
(see #499140 and #493983).
* gst/gst_private.h:
* gst/gstelementfactory.h:
* gst/gstghostpad.c: (gst_proxy_pad_class_init):
* gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
(_priv_gst_in_valgrind):
* gst/gstinfo.h: (GstLogFunction):
* gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
(gst_type_find_register):
* gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
(gst_type_find_factory_get_type):
* libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
(GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
(gst_controller_new_valist), (gst_controller_new_list),
(_gst_controller_dispose), (_gst_controller_class_init):
* libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
* libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
(GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
(gst_object_get_controller), (gst_object_set_controller),
(gst_object_suggest_next_sync), (gst_object_sync_values),
(gst_object_set_control_source), (gst_object_get_control_source),
(gst_object_get_value_arrays), (gst_object_get_value_array),
(gst_object_get_control_rate), (gst_object_set_control_rate):
* libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
* libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
Make some functions that should be static static; rename some
private symbols so that they don't get exported; add some FIXME
comments so we can move accidentally exported functions into
our private section in 0.11.
* win32/common/libgstreamer.def:
Add gst_utils_get_timestamp().
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
* gst/gstutils.c:
* gst/gstutils.h:
* libs/gst/base/gstbasesink.c:
* tools/gst-launch.c:
Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
uses as we don't have HAVE_POSIX_TIMERS in public headers.
Thanks Tim for spotting.
Original commit message from CVS:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Fix wrong order of args in GST_CLOCK_DIFF() usage.
* tools/gst-launch.c:
Use new API to get elapsed time.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Rename new API + ChangeLog surgery to remove old name from last entry..
API: GST_GET_TIMESTAMP
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Now hide the different clock stuff behind a macro.
API: GST_GET_CURRENT_TIME
Original commit message from CVS:
* configure.ac:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Apply the posix-timer check from #361155. Conditionally use the posix
timer for logging. This gives better timestamp precission, less
overhead and no ntp jitter.
Original commit message from CVS:
* gst/gst.c: (_gst_disable_segtrap):
Make _gst_disable_segtrap static, it's only used in gstplugin.c and
we can use gst_segtrap_is_enabled() there now that we have that API.
Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
to do the getenv here (and export the variable).
* gst/gstdebugutils.c: (debug_dump_element),
(_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
Don't use VLAs which is a C99ism and throws off MSVC (#493983).
* gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
(gst_debug_log_default):
Rename _gst_info_start_time to priv_gst_info_start_time so it
doesn't get exported (was never in any header).
* gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
(gst_plugin_loading_mutex):
Make static mutex gst_plugin_loading_mutex really static (was never
in any header), and use gst_segtrap_is_enabled() instead of
_gst_disable_segtrap.
* gst/gsttrace.c: (_gst_trace_default):
Make local _gst_trace_default static (was never in any header).
Original commit message from CVS:
* gst/gstinfo.c:
* gst/gstinfo.h:
Make some internal API take const gchar * instead of just
gchar * to avoid compiler warnings with g++-4.2.2 when
passing string constants (partially fixes#478092).
Original commit message from CVS:
* 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.
Original commit message from CVS:
2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
Patch by: Josep Torre Valles <josep@fluendo.com>
* 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.
Original commit message from CVS:
* 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):
Initialised 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.
Original commit message from CVS:
* docs/random/ensonic/logging.txt:
update ideas
* gst/gstinfo.c: (gst_debug_log_default):
reorder fields, save some columns, add optinal color codes for log-
levels
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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).
Original commit message from CVS:
* 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).
Original commit message from CVS:
* 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.
Original commit message from CVS:
2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
VALGRIND_PRINTF
Original commit message from CVS:
* configure.ac:
* win32/common/config.h:
* win32/common/config.h.in:
check for process.h, declares getpid() on Windows
* gst/gstinfo.c:
include process.h if we have it
* gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
* gst/gstmemchunk.h:
fix signedness issues
* win32/common/libgstreamer.def:
fix get_type's
Original commit message from CVS:
* gst/gst_private.h:
* gst/gstbus.c:
* gst/gstelement.c:
* gst/gstinfo.c:
* gst/gstpluginfeature.c:
widen the debug category in output to fit the biggest one we have
add a bus category and use it
play with the colors
fix up some categories
Original commit message from CVS:
* check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
add another check
* gst/gstbus.c:
add some doc
* gst/gstinfo.c: (_gst_debug_init):
slightly more readable color for refcount debugging
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/gstinfo.c: (_gst_debug_nameof_funcptr),
(_gst_debug_register_funcptr):
Add mutex to serialise access to the hash table with
the function pointer => function name string mapping;
make that hash table static scope (#316809).
* gst/registries/.cvsignore:
Remove left-over file.
Original commit message from CVS:
* check/Makefile.am:
* check/generic/states.c:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gst_private.h:
* gst/gstelementfactory.c:
* gst/gstindex.c:
* gst/gstinfo.c:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistry.c:
* gst/gstregistry.h:
* gst/gstregistrypool.c: remove
* gst/gstregistrypool.h: remove
* gst/gsttypefind.c:
* gst/gsttypefindfactory.c:
* gst/gsturi.c:
* tools/Makefile.am:
* tools/gst-compprep.c:
* tools/gst-inspect.c:
* tools/gst-register.c: remove
* tools/gst-xmlinspect.c:
Registry rewrite. Changes registry from being a file created
by a tool into a simple cache file created automatically by
libgstreamer. Removed gst-register (because it's no longer
needed). Remove registry pools, because we only have one
registry implementation (XML). Fix up other subsystems as
necessary.
Original commit message from CVS:
* gst/gstinfo.c: (_gst_debug_nameof_funcptr),
(_gst_debug_register_funcptr):
* gst/gstinfo.h:
Fix illegal cast on some platforms (#309253).
Original commit message from CVS:
Removed plugable schedulers.
Removed Scheduler/Manager from elements.
Removed gsttypes.h, rearranged includes.
Removed dependency pad<->element, element<>pipeline, and
various others, fix includes.
implement gst_pad_get_parent() with gst_object_get_parent()
Make GstTask sefcontained.
Fix _get_state() on GstBin, it did not return ASYNC with a 0
timeout.
Fix endless loop in iterator_fold_with_resync.
Original commit message from CVS:
First THREADED backport attempt, focusing on adding locks and
making sure the API is threadsafe. Needs more work. More docs
follow this week.
Original commit message from CVS:
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
make the time that debugging functions print relative to when
gst_init was called
Original commit message from CVS:
* docs/random/release:
updates
* gst/gst_private.h:
* gst/gstinfo.c:
* gst/gstobject.c:
move deep_notify logging to a new category
* gst/gstprobe.c:
* gst/gstprobe.h:
add stuff so bindings can wrap probes
Original commit message from CVS:
* docs/manual/quotes.xml:
add a quote
* configure.ac:
* gst/gst.c:
* gst/gstinfo.c:
add LIBDIR and move init message higher up so it's at the start
Original commit message from CVS:
* gst/gst.c: (gst_register_core_elements):
fix for G_DISABLE_ASSERT
* gst/gstinfo.c: (__gst_in_valgrind):
add for GST_DISABLE_DEBUG
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
extra debugging
* gst/gstevent.h:
* gst/gstinfo.c: (gst_debug_log_default):
print time nicely. add thread pointer until someone figures out
a completely portable way of getting at thread id's.
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
(_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
(gst_pad_call_chain_function):
extra debugging
* gst/schedulers/gstoptimalscheduler.c:
(get_group_schedule_function), (loop_group_schedule_function),
(gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
(pad_clear_queued), (gst_opt_scheduler_iterate):
rename BUFPEN and friends to DATAPEN since that's what they are.
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
compute mapsize correctly
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
use correct datatypes when calling a varargs function
* gst/elements/gsttypefindelement.c: (stop_typefinding):
push a DISCONT event as first thing
* gst/gst_private.h:
* gst/gstinfo.c: (_gst_debug_init):
remove GST_DATAFLOW debugging category
* gst/gstbin.c: (gst_bin_iterate):
use GST_SCHEDULING category
* gst/gstpad.c: (gst_pad_get_type), (_invent_event),
(gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
(gst_pad_call_get_function):
add GST_DATAFLOW to easily track flow of buffers or events.
* gst/gstqueue.c: (gst_queue_get_type),
(gst_queue_handle_pending_events), (gst_queue_chain),
(gst_queue_get), (gst_queue_handle_src_event):
use own static debugging category GST_DATAFLOW for dataflow,
use DEBUG category for showing which path events go, use LOG
category for buffers.
Original commit message from CVS:
A bunch of portability fixes, derived from Steve Lhomme's MSVC
patch (bug #141317):
* gst/gst-i18n-lib.h: Allow disabling gettext.
* gst/gstatomic_impl.h: disable warning when it's dumb.
* gst/gstclock.c: fix include
* gst/gstcompat.h: fix variadic macro
* gst/gstinfo.c: fix include
* gst/gstmacros.h: add defines for inlines on MSVC
* gst/gstplugin.c: fix includes
* gst/gstregistry.c: fix includes
* gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
* gst/gstsystemclock.c: fix include
* gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
S_IREAD if S_IRUSR isn't defined. fix use of non-portable functions
* gst/registries/gstxmlregistry.c:
(gst_xml_registry_parse_element_factory): fix use of non-portable
functions
* libs/gst/control/dparam.h: Remove trailing comma in enum definition
* libs/gst/control/dparammanager.h: same
Original commit message from CVS:
* gst/gstinfo.c: (_gst_debug_init): Change some internal
symbol names to not conflict with new gstinfo.h symbols.
* gst/gstinfo.h: Add inline functions for all those crazy
compilers that don't know how to handle variadic macros (MSVC).
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst_private.h:
* gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
add support for detecting if GStreamer runs inside valgrind.
requires valgrind (d'oh) and --enable-debug for correct cdetection.
print a big message in valgrind that GStreamer has detected it's
running inside and might now use different code.
* gst/gstmemchunk.c: (populate), (free_area),
(gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
(gst_mem_chunk_free):
flag memchunks for valgrind, so it can detect leaking of chunks.
This allows detecting leaks of GstBuffer and GstEvent correctly
inside valgrind.
Original commit message from CVS:
* gst/gstcaps.h: jdahlin, what are you smoking? We can't just
change API right now! Readd gst_caps_is_simple() macro.
* gst/gstelement.c: (gst_element_base_class_finalize): Fix
uninitialized variable. I'd bet this caused crashes.
* gst/gstinfo.c: (gst_debug_print_object): Fix 64-bit cleanliness.
Original commit message from CVS:
2004-02-20 Andy Wingo <wingo@pobox.com>
* gst/gstbin.c:
* gst/gstbuffer.c:
* gst/gstplugin.c:
* gst/registries/gstxmlregistry.c:
* gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
* gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
(gst_element_add_pad): DEBUG->INFO, some fixes.
(gst_element_get_compatible_pad_template): Just see if the
templates' caps intersect, not if one is a strict subset of the
other. This conforms more to what gst_pad_link_intersect() does.
(gst_element_class_add_pad_template): Don't memcpy the pad
template, just ref it.
(gst_element_get_compatible_pad_filtered): Clean up debug messages
* gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
(gst_pad_link_filtered): Debug changes.
(gst_pad_link_prepare): New function, consolidated from
can_link_filtered and link_filtered.
* gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
look more like that of the functions in gstelement.c
* gst/gstinfo.c (gst_debug_print_object): Put a space before the
object, and return the empty string if object is NULL.
* gst/parse/parse.l: Remove trailing newlines when calling PRINT.
* gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
LOG, not DEBUG. We still get flex info on debug.
* gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
debug string more verbose.
(plugin_times_older_than): DEBUG->LOG.
Original commit message from CVS:
Trying to fix the mess that I made with the two previous commits.
First commit, doing something wrong (fixing comparisons of signed and unsigned).
Second commit, trying to revert the previous, but changing other things and
reverting unrelated work of other people.
And this third, hopefully fixes it.
Original commit message from CVS:
* configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
GST_PRINTF_EXTENSION_FORMAT_DEFINE.
* docs/random/ds/0.9-suggested-changes: Notes from Company.
* gst/gstcaps.c: (gst_caps_to_string): Add comment.
* gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
(gst_debug_log_default), (_gst_info_printf_extension),
(_gst_info_printf_extension_arginfo): Add printf extension.
* gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
* gst/gststructure.c: (gst_structure_to_string),
(_gst_structure_parse_value): Use gst_value_deserialize() and
remove old code.
* gst/gstvalue.c: (gst_value_deserialize_fourcc),
(gst_value_deserialize_boolean), (gst_strtoi),
(gst_value_deserialize_int), (gst_value_deserialize_double),
(gst_value_deserialize_string), (gst_value_deserialize): Implement
a bunch of deserialize functions and gst_value_deserialize.
* gst/gstvalue.h: er, _de_serialize, not unserialize
* testsuite/caps/string-conversions.c: (main): We don't currently
handle (float) in caps, so convert these to (double).
* testsuite/debug/Makefile.am: Add new test for the printf extension
* testsuite/debug/printf_extension.c: (main): same
Original commit message from CVS:
2004-01-10 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
(gst_debug_message_get), (gst_debug_log_default):
* gst/gstinfo.h:
Change gst_debug_log(_valist) to take a const format string.
Change prototype of log function and functions using those to
take a GstDebugMessage instead of a string that requires using
gst_debug_message_get.
Original commit message from CVS:
merge in tagging
Includes:
- gsttag.[ch] - The definition of GstTagList and tag registering/querying
- gsttaginterface.[ch] - Interface for elements that can handle setting of tags
- updates and merges to gststructure.[ch] and gstvalue.[ch]
- testsuite/tags - some tests for tagging
- bugfixes
- updates to make make distcheck work
- updates the version number to 0.7.2.1
Does not include:
- including tagging stuff in docs
- extensive tests
Original commit message from CVS:
kill some memleaks, add ::signal-handoffs property to fakesrc/sink (default FALSE), cache return values of _gst_debug_nameof_funcptr
Original commit message from CVS:
optimized debugging.
good: - we're a lot faster than before (no more locking in debug printing)
bad : - we leak memory now when adding/removing debug handlers (which equals never for every current gstreamer app)
- gst_debug_set_active isn't threadsafe anymore
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug
expect breakage
Original commit message from CVS:
- Slight reorganisation of functions that should be disabled
- make sure _gst_debug_register_funcptr is #ifdeffed out when DEBUGGING is
disabled.
This should fix 106047. Please retest.
Original commit message from CVS:
Convert %lld and %llu in printf formats to G_G[U]INT64_FORMAT. Fix
pointer<->int conversion. Fixes warnings on alpha.