Commit graph

79 commits

Author SHA1 Message Date
Sebastian Dröge
550392c6da gst/gstregistrybinary.*: Add crc32 checksum to the binary registry file and check this before accepting a registry file.
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.
2008-04-16 14:18:58 +00:00
Sebastian Dröge
dc71d29b62 gst/gstregistrybinary.c: If an element supports the Uri interface, returns a valid pointer to the supported URI proto...
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.
2008-04-16 13:16:44 +00:00
Sebastian Dröge
42a2ece0d2 gst/gstregistrybinary.c: Fix a typo in a debug message and revert change from yesterday as gst_registry_add_plugin() ...
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.
2008-04-14 12:12:22 +00:00
Sebastian Dröge
938da2d4e2 gst/gstregistrybinary.c: If gst_registry_add_plugin() fails our reference to the plugin is invalid so don't try to us...
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.
2008-04-13 13:54:55 +00:00
Sebastian Dröge
c375cef8c0 gst/gstregistrybinary.c: Rename constant everywhere and don't forget one occurence.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write):
Rename constant everywhere and don't forget one occurence.
2008-03-23 11:40:54 +00:00
Sebastian Dröge
6c85176725 gst/gstregistrybinary.c: Align memory to the pointer size even if the architecture allows unaligned memory access. Un...
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.
2008-03-23 11:29:54 +00:00
Sebastian Dröge
79bd94558c gst/gstregistrybinary.c: Align memory to the pointer size instead of always 32 bit. Fixes unaligned memory accesses o...
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.
2008-03-23 11:23:30 +00:00
Sebastian Dröge
520791d270 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent and add it to the (private part) of the docs to f...
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.
2008-03-21 16:11:51 +00:00
Sebastian Dröge
63c01eeacb gst/gstregistrybinary.*: Don't use GST_MAJORMINOR for the binary registry version. Instead hardcode a value that must...
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.
2008-03-21 15:52:14 +00:00
Ole André Vadla Ravnås
7185de8a67 gst/gstregistrybinary.c: Include io.h for write() and close() when building with MSVC. Fixes bug #520877.
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.
2008-03-07 13:19:12 +00:00
Stefan Kost
3c9dda6df9 Move registry backend API to private headers where we can. Add fixme-0.11 comments for the others. Add stubs for the ...
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.
2008-03-07 11:12:59 +00:00
Edward Hervey
fdeea4f9dc Switch to using portabl gsize/gssize instead of size_t/ssize_t
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_read_cache):
* gst/gstregistryxml.c: (gst_registry_save):
* gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
* plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
* plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
(gst_file_src_map_small_region), (gst_file_src_create_mmap):
Switch to using portabl gsize/gssize instead of size_t/ssize_t
Fixes #520152
2008-03-03 18:42:04 +00:00
Tim-Philipp Müller
af471ed6cd gst/gstregistrybinary.c: Use g_remove() and g_rename(). Check result of g_rename(), and don't leak the open file desc...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
Use g_remove() and g_rename(). Check result of g_rename(), and
don't leak the open file descriptor if we error out when writing.
* gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
Must check the return value of close() after writing out the new
registry file.  Sometimes write problems such as out-of-diskspace
are only reported when the file is closed and not already during
the write.  This may have caused partial/broken registry files in
some rare circumstances. Should fix #503675.
2007-12-16 18:29:25 +00:00
Tim-Philipp Müller
f134968058 gst/: Use already-interned string for the private GstPluginFeature plugin_name field.
Original commit message from CVS:
* gst/gstelementfactory.c:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
* gst/gsttypefind.c:
Use already-interned string for the private GstPluginFeature
plugin_name field.
2007-10-13 17:20:09 +00:00
Tim-Philipp Müller
a90dc9f01a gst/: Put more strings into the GLib quark table. No need to keep a hundred-something copies of identical version str...
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
Put more strings into the GLib quark table. No need to keep
a hundred-something copies of identical version strings,
license strings, package name strings and package origin
strings around.
2007-10-09 14:18:39 +00:00
Tim-Philipp Müller
7a478fbdbd gst/glib-compat-private.h: Add compatibility macro for g_intern_string() for
Original commit message from CVS:
* gst/glib-compat-private.h:
Add compatibility macro for g_intern_string() for
GLib-2.8 (any reason we can't just bump the
requirement to at least 2.10?)
* gst/gstpadtemplate.h:
* gst/gstelementfactory.c:
* gst/gstregistryxml.c:
* gst/gstregistrybinary.c:
Make GstStaticPadTemplate's templ_name field a const gchar * and fix
up the internal code accordingly.  This shouldn't be a problem, since
there is no reason external code could ever assume the string in such
a structure is dynamically allocated unless it did that itself;  the
use of g_strdup() is private to element factories.  The new code also
saves some memory by putting pad template name strings into the GLib
quark table instead of allocating them dynamically.
Declaring this field constant fixes warnings with g++-4.2 when using
the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
2007-09-19 13:28:40 +00:00
Sebastian Dröge
9564757cfb gst/gstregistrybinary.c: Always destroy the timer, also in error cases.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
Always destroy the timer, also in error cases.
2007-09-07 04:50:23 +00:00
Stefan Kost
d53d6fb8a8 Another conditional doc check.
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer.types.in:
Another conditional doc check.
* gst/gstmessage.c:
* gst/gstparamspecs.h:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
* gst/gstvalue.c:
* gst/gstxml.h:
API-doc fixes.
2007-07-25 13:00:23 +00:00
Stefan Kost
f1235bdbd8 gst/gstregistrybinary.c: Print error just once and with additional info.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
Print error just once and with additional info.
2007-07-24 13:44:04 +00:00
Stefan Kost
2a643f27d1 gst/gstregistrybinary.c: Fix memory leak. Be less verbose in the log.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
Fix memory leak. Be less verbose in the log.
2007-07-17 09:44:51 +00:00
Stefan Kost
14999bf0f5 gst/gstregistrybinary.*: Implement no-mmap alternative for registry reading. Do code cleanups.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Implement no-mmap alternative for registry reading. Do code cleanups.
Add more comments about avoiding strdups for all text data. Comments
welcome.
2007-04-26 07:32:08 +00:00
Stefan Kost
577034f170 gst/gstregistrybinary.*: Refactor so that we can implement multiple features. Add support for
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_load_feature):
* gst/gstregistrybinary.h:
Refactor so that we can implement multiple features. Add support for
TypeFindFactory features.
2007-04-25 11:44:29 +00:00
Tim-Philipp Müller
6c5fabe2eb gst/gstregistrybinary.*: Remove unnecessary <sys/mman.h> include which broke the win32 build with MingW; move include...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Remove unnecessary <sys/mman.h> include which broke the win32 build
with MingW; move includes from header file to .c file, even if the
header file isn't installed; use g_strerror() where UTF-8 strings
are expected, such as in GST_DEBUG messages.
2007-04-16 19:45:31 +00:00
Tim-Philipp Müller
a6510349d4 gst/: Remove newlines at end of debug log strings.
Original commit message from CVS:
* gst/gst.c: (load_plugin_func):
* gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
* gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
Remove newlines at end of debug log strings.
2007-03-07 17:26:49 +00:00
Stefan Kost
ea55e1357e configure.ac: comment about refining the xml deps
Original commit message from CVS:
* configure.ac:
comment about refining the xml deps
* docs/manuals.mak:
comments about moving away from jade for docs
* gst/gst.c:
recommit the ifdefs to use the binary registry
* gst/gstbin.c: (gst_bin_change_state_func):
this break is obsolete
* gst/gstelementfactory.h:
better GST_ELEMENT_DETAILS docs, add comment about translation
* gst/gstinfo.h:
remove eol slash
* gst/gstobject.c: (gst_signal_object_get_type):
add G_UNLIKELY as usual
* gst/gstpad.c: (gst_pad_event_default):
add fall trhu comment
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
comment typo and formatting
* gst/gstutils.c: (gst_element_state_get_name),
(gst_element_state_change_return_get_name):
remove obsolete breaks
* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
add FIXME 0.11 and remove cpp comment
2007-01-29 15:54:09 +00:00
Edward Hervey
b7d6efdbd5 gst/gstregistrybinary.c: Fix print statement in an even more portable way.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
Fix print statement in an even more portable way.
2007-01-29 15:02:11 +00:00
Edward Hervey
00a8f6ac84 gst/gstregistrybinary.c: In print statements, "%x" is for guint. Fixes build on macosx.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
In print statements, "%x" is for guint. Fixes build on macosx.
2007-01-25 10:14:09 +00:00
Stefan Kost
616cb1862a gst/gstregistrybinary.*: use glib types, cleanup comments, impement interfaces and uri-types
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string), (gst_registry_binary_make_data),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
use glib types, cleanup comments, impement interfaces and uri-types
2007-01-15 12:18:46 +00:00
Stefan Kost
ebf0c9d353 commit binary registry (disabled by default, see #359653)
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstregistry.c: (gst_registry_lookup_feature_locked),
(gst_registry_lookup_locked):
* gst/gstregistry.h:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache):
commit binary registry (disabled by default, see #359653)
2007-01-11 13:45:51 +00:00