Tim-Philipp Müller
c7eca5ca15
plugin: use GstObject flags for plugin flags
2012-04-29 17:46:32 +01:00
Tim-Philipp Müller
1fbcc71dbd
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gstreamer-plugins.hierarchy
docs/plugins/inspect/plugin-coreelements.xml
libs/gst/base/gstcollectpads.c
libs/gst/base/gstcollectpads2.c
plugins/elements/gstfdsink.c
win32/common/config.h
win32/common/gstenumtypes.c
win32/common/gstversion.h
2012-02-27 00:08:39 +00:00
Tim-Philipp Müller
031514faeb
registry: fix lseek() return code handling
...
lseek() returns the offset if successful, and this is != 0 and
does not indicate an error. And if it does actually fail, don't
return FALSE (0) as an int, but -1. None of these things are
likely to have made a difference, ever. I don't think the offset
seek can ever actually happen, the current file position and the
current offset should always be increased in lock step, unless
there was an error in which case we'd just error out.
2012-02-24 23:49:54 +00:00
Tim-Philipp Müller
c25b8e153d
registry: don't forget to clean up registry temp file in another error case
...
Also clean up temp file if we get an error during write() rather
than just when doing fsync() or close().
2012-02-24 23:49:54 +00:00
Tim-Philipp Müller
be04f3945c
index: remove GstIndex and GstIndexFactory for now
...
There are many good use cases for GstIndex and we want
to add it back again in some form, but possibly not with
the current API, which is very powerful (maybe too powerful),
but also a bit confusing. At the very least we'd need to
make the API bindings-friendly.
2011-12-30 18:32:57 +00:00
Tim-Philipp Müller
95bd31443b
registry: move private bits into private struct
2011-12-26 18:41:13 +00:00
Wim Taymans
4145598972
gst: add some _priv prefixes to private methods
2011-08-29 13:27:26 +02:00
Wim Taymans
238b9a57cc
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst/gstelement.c
gst/gstelement.h
gst/gstpad.c
gst/gstutils.c
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
win32/common/libgstreamer.def
2011-02-22 14:11:59 +01:00
Stefan Kost
f0b3839677
registry: remove dead code
...
The GError is only used for the mmap operations. If we have an error we handle
and clean it there already.
2011-01-25 16:17:14 +02:00
Wim Taymans
993eda5004
remove deprecated symbols and methods
2010-12-06 19:18:31 +01:00
David Schleef
5cdcdaee07
registry: Fix permissions if umask is broken
...
Fixes : #564056 .
2010-12-04 21:08:21 -08:00
Tim-Philipp Müller
f4e57cee5d
binaryregistry: use function introduced in GLib 2.22 unconditionally
2010-12-03 14:55:50 +00:00
Vincent Penquerc'h
0bb4fafd30
registry: g_mapped_file_unref exists already since GLib 2.21.3
2010-10-10 18:30:58 +02:00
Tim-Philipp Müller
b987febf09
registry: use GStatBuf unconditionally and add typedef for backwards compatibility
...
No need to clutter the code with #if #else #endif.
See #623875 .
2010-07-16 17:55:07 +01:00
David Hoyt
c53457976e
registrybinary: Fix compatibility with GLib 2.25 when using MSVC
...
Newer GLib uses a new type for g_stat() and friends to improve
Windows compatibility. On POSIX this is a typedef to struct stat.
Fixes bug #623875 .
2010-07-16 17:27:54 +02:00
Tim-Philipp Müller
3410d665d7
binaryregistry: ignore the plugin cache if the filter environment has changed
...
Make sure that we properly update the registry and the cache file whenever
the filter environment changes or there's no more filter set.
2010-06-23 17:56:51 +01:00
Sebastian Dröge
fd68dbc08f
gst: Use GSlice instead of normal g_malloc in more places
2010-03-28 19:48:45 +02:00
Benjamin Otte
7e7f51f617
Fixes for -Wmissing-declarations -Wmissing-prototypes
...
Also adds those flags to the configure warning flags
https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-11 10:59:57 +01:00
Benjamin Otte
0d4d5a57da
Revert "registry: remove unused function"
...
Turns out the function is not unused, but was in an #ifdef WIN32
section.
Whoops.
This reverts commit 57d5db424c
.
2010-03-10 19:17:42 +01:00
Benjamin Otte
57d5db424c
registry: remove unused function
...
Actually, there was two functions with the same name, but only one was
used.
https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 15:24:11 +01:00
Tim-Philipp Müller
c6554049de
registry: deprecate useless gst_registry_xml_{read|write}_cache()
...
The only reason these two functions are still around is that at some
point in the past they were in a public header, so we can't really
remove them now even though they should have been private all along
(and aren't really particularly useful). Since these are just empty
stubs now that do nothing but return FALSE and will be removed in
0.11 anyway, we may just as well deprecate them formally.
2010-01-06 19:19:40 +00:00
Sebastian Dröge
08ae8a1afb
registry: Use GMappedFile for reading the registry
...
Fixes bug #603787 .
2009-12-04 15:19:11 +01:00
Javier Jardón
ca974b1a8f
registry: Substitute deprecated GLib symbol: g_mapped_file_free
...
Use g_mapped_file_unref if Glib >= 2.22 is available
Fixes bug #560442 .
2009-12-04 14:50:46 +01:00
Jan Schmidt
51675e0c2a
registry: Add registry helper phase 1
...
Phase 1 of adding the registry scan helper
2009-10-06 19:51:42 +01:00
Stefan Kost
1949360f9b
binaryregistry: don't crash in cleaning up on error.
...
Don't dereference NULL pointers.
2009-09-11 21:20:57 +03:00
Stefan Kost
e4ee7831e3
registry: add filename to debug message, like elsewhere
2009-08-06 15:30:32 +03:00
Stefan Kost
1a44bd93d6
gstregistrybinary: add +1 after error checking
...
The current code made the error checking pointless by changing -1 to 0 in error
cases. Also don't leak a pad template on error.
2009-07-20 20:59:29 +03:00
Stefan Kost
de1e991dec
binaryregistry: don't unref NULL if we have an early read error
2009-07-20 11:06:22 +03:00
Edward Hervey
b50ba09164
binaryregistry: Use local values in while/for loops, use branch prediction macros
2009-06-30 16:30:07 +02:00
Edward Hervey
3c21f2d86c
Spread branch prediction macros.
...
These are based on profiling several playback scenarios using playbin2.
2009-06-30 16:29:58 +02:00
Edward Hervey
923913984e
Use local variables in for/while loops.
...
This makes the generated code faster since:
* It won't have to read an undirect value (which will most likely be
outside of the L1/L2 cache)
* We know that value never changes (the compiler has no clue that it doesn't).
2009-06-30 16:29:50 +02:00
Stefan Kost
ed88db818b
registry: allow plugins to cache extra data in registry. Fixes #570233
...
Add a GstStructure to GstPlugin. Plugins can retieve it in plugin_init and
access the cached info or build the cache and store it there.
2009-06-07 23:48:59 +03:00
Stefan Kost
158895f56b
registry: don't free node-date and deref again. Fixes #580579
...
When writing a cache chunk fails, we were freeing the node and jump to a final
cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
code in fail_free_list. (sorry for committing wrong fix before).
2009-05-22 23:16:00 +03:00
Stefan Kost
4faa75ab35
registry: don't free node-date and deref again. Fixes #580579
...
When writing a cache chunk fails, we were freeing the node and jump to a final
cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
code in fail_free_list.
2009-05-22 23:10:00 +03:00
Wim Taymans
761b0e39c1
Avoid unneeded type checks
2009-05-11 22:35:09 +02:00
Edward Hervey
9557542722
gstregistrybinary: remove variable only used for a check.
...
that variable isn't used anywhere else within that block.
2009-04-03 12:57:24 +02:00
Stefan Kost
2806a409ed
binaryregistry: init variable, that is referenced in error case below the fail: label
2009-03-27 17:32:29 +02:00
Stefan Kost
82c9b78f86
binaryregistry: check for not reading beyond the data area. Fixes #576842
...
Check all reads against the end of the data region. Roll back registration of
partial reads.
2009-03-27 15:34:25 +02:00
Tim-Philipp Müller
cc0978bd85
registry: do fsync() before close() and rename()
...
This helps prevent filesystem/data inconsistencies in certain
circumstances on certain filesystems (like ext4, xfs, ubifs).
Also see bug #562976 .
2009-03-26 14:51:49 +00:00
Stefan Kost
6911aa59be
binary registry: Don't attempt to parse empty caps
2009-02-25 16:03:25 +02:00
Sebastian Dröge
70fcf4a201
registry: Set typefind factory caps to NULL instead of empty caps if they originally were NULL
2009-02-25 14:19:54 +01:00
Sebastian Dröge
fdc03c2841
registrybinary: Check if typefind factory caps are NULL before copying them
2009-02-24 15:10:15 +01:00
Stefan Kost
b87960ae5d
binary registry: Rewrite sanity check to actualy catch something.
...
The previous commit was bogus, as was the check before. We just point m to the file data,
so neither it nor its members will be NULL. Better check if we have enough data.
2009-02-06 10:51:28 +02:00
Stefan Kost
c69a262889
binary registry: comparing arrays against NULL is useless
2009-02-05 15:56:19 +02:00
Stefan Kost
9cda224a0d
leak: Don't leak type name in failure cases.
2009-02-04 16:17:34 +02:00
Peter Kjellerstedt
846d56b865
gstregistrybinary: Make it compile with GST_DISABLE_GST_DEBUG.
2009-02-02 14:19:57 +01:00
Sebastian Dröge
1af5d201fc
Allocate everything that is written to the registry with g_malloc0()
...
Allocate every structure that is directly written to the binary
registry with g_malloc0(). Otherwise some parts of it will be
uninitialized (struct padding because of alignment, etc) and
valgrind will complain about it.
2009-01-30 10:31:30 +01:00
Jan Schmidt
a626dff72c
Make sure to take a copy of the strings we're going to free later.
2009-01-29 15:54:45 +00:00
Tim-Philipp Müller
2ae03ba72f
Add API for making a GStreamer plugin 'dependent' on external files, directories or environment variables, so that GS...
...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt::
* gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate):
* gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize),
(gst_plugin_class_init), (gst_plugin_list_free),
(gst_plugin_ext_dep_get_env_vars_hash),
(_priv_plugin_deps_env_vars_changed),
(gst_plugin_ext_dep_extract_env_vars_paths),
(gst_plugin_ext_dep_get_hash_from_stat_entry),
(gst_plugin_ext_dep_direntry_matches),
(gst_plugin_ext_dep_scan_dir_and_match_names),
(gst_plugin_ext_dep_scan_path_with_filenames),
(gst_plugin_ext_dep_get_stat_hash),
(_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free),
(gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals),
(gst_plugin_add_dependency), (gst_plugin_add_dependency_simple):
* gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags),
(GST_PLUGIN_DEPENDENCY_FLAG_NONE),
(GST_PLUGIN_DEPENDENCY_FLAG_RECURSE),
(GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY),
(GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX),
(GstPluginDependencyFlags), (GstPluginFilter):
* gst/gstregistry.c: (gst_registry_scan_path_level):
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin_dep),
(gst_registry_binary_save_plugin),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin_dep_strv),
(gst_registry_binary_load_plugin_dep),
(gst_registry_binary_load_plugin):
* gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR),
(GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep):
* gst/gstregistryxml.c: (gst_registry_xml_save_plugin):
Add API for making a GStreamer plugin 'dependent' on external files,
directories or environment variables, so that GStreamer knows when
it needs to re-load GStreamer plugins that wrap other plugin systems.
Fixes bug #350477 .
API: add gst_plugin_add_dependency()
API: add gst_plugin_add_dependency_simple()
2009-01-06 17:58:59 +00:00
Tim-Philipp Müller
13089a438a
gst/gstregistrybinary.c: Wrap multi-line macros in G_STMT_{START|END}.
...
Original commit message from CVS:
* gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
(unpack_string)::
Wrap multi-line macros in G_STMT_{START|END}.
2008-12-27 16:23:12 +00:00