summaryrefslogtreecommitdiff
path: root/gst/gstpluginloader.c
Commit message (Collapse)AuthorAgeFilesLines
* windows: Make GStreamer installation relocatableChun-wei Fan2014-02-061-0/+20
| | | | | | | | | | Use the technique that is now done in GTK+ so that the plugins do not have to be installed in c:\gstreamer\lib\<debug>\gstreamer-$(GSTApiVersion), but can be installed in <parent_folder_of_gstreamer_main_dll>\lib\<debug>\gstreamer-$(GSTApiVersion), or as per g_win32_get_package_installation_directory_of_module() allows. https://bugzilla.gnome.org/show_bug.cgi?id=679115
* pluginloader: check read/write before closedWim Taymans2013-11-181-6/+10
| | | | | first try to read or write on the socket before checking the closed state. This makes sure we handle all data on the socket before erroring out.
* pluginloader: Check errors on the proper fdEdward Hervey2013-09-281-1/+1
| | | | | | | Most likely a copy-paste error from the block before. If we're going to check for error/closed on the write fd... do it on the write fd
* pluginloader: Don't call memcpy() with NULL src and 0 lengthSebastian Dröge2013-08-201-1/+2
|
* Fix FSF addressTim-Philipp Müller2012-11-031-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=687520
* Add versioned variants of some environment variablesTim-Philipp Müller2012-07-041-1/+3
| | | | | | | | | | | | | | Improve parallel installability in setups like jhbuild by providing versioned variants of some environment variables: GST_REGISTRY_1_0 GST_PLUGIN_PATH_1_0 GST_PLUGIN_SYSTEM_PATH_1_0 GST_PLUGIN_SCANNER_1_0 will now be checked before checking the unversioned ones. https://bugzilla.gnome.org/show_bug.cgi?id=679407
* plugin: use GstObject flags for plugin flagsTim-Philipp Müller2012-04-291-2/+2
|
* registry: rename gst_registry_get_default() to gst_registry_get()Tim-Philipp Müller2012-01-021-1/+1
| | | | | | It's not really a default if there is only one that can't be changed. Should we return a ref like e.g. g_volume_monitor_get() does?
* pluginloader: only run gst-plugin-scanner with /usr/bin/arch wrapper on OS X ↵Tim-Philipp Müller2011-04-151-22/+62
| | | | | | | | | | | | >= 10.5 Based on patch by: Daniel Macks <dmacks@netspace.org> Earlier versions of OSX don't support proper multiarch and trying to use /usr/bin/arch -foo with those versions would just break things. https://bugzilla.gnome.org/show_bug.cgi?id=615357
* pluginloader: fix compiler warningsTim-Philipp Müller2011-04-111-4/+12
| | | | Cast string constants to make compiler happy.
* pluginloader: make sure gst-plugin-scanner is called with the right arch on OSXJan Schmidt2011-04-111-0/+19
| | | | | | | | | | | | | | | On OSX, GStreamer might be built as a 'fat/universal' binary containing both 32-bit and 64-bit code. We must take care that gst-plugin-scanner is executed with the same architecture as the GStreamer core, otherwise bad things may happen and core/scanner will not be able to communicate properly. Should fix issues with (32-bit) firefox using a 32-bit GStreamer core which then spawns a 'universal' gst-plugin-scanner binary which gets run in 64-bit mode, causing 100% cpu usage / busy loops or just hanging firefox until killed. https://bugzilla.gnome.org/show_bug.cgi?id=615357
* gstpluginloader: do not leak the description stringVincent Penquerc'h2011-01-241-3/+3
| | | | | | | | | The description string was changed to an inlined string a while back. (But: no need to intern the const strings here, we just use the interning to avoid allocating duplicates and make memory management easier, since the strings will be around for the life-time of the app anyway). https://bugzilla.gnome.org/show_bug.cgi?id=640071
* pluginloader: Always mark reception as complete after EXITEdward Hervey2011-01-041-3/+2
| | | | | | | Avoids waiting forever on gst_poll_wait when using the select backend. Fixes #637057
* pluginloader: don't leak entries for blacklisted filesStefan Kost2010-09-091-0/+2
|
* comments: add a few comments to the sparsely documented plugin loaderStefan Kost2010-06-091-0/+3
|
* gst: Use GSlice instead of normal g_malloc in more placesSebastian Dröge2010-03-281-12/+8
|
* logging: remove extra newlineStefan Kost2010-03-151-1/+1
|
* Fixes for -Wwrite-stringsBenjamin Otte2010-03-101-1/+1
| | | | | | | | | | | | 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
* Fixes for -Wold-style-definitionBenjamin Otte2010-03-101-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=611692
* pluginloader: fix compiler warning on win32Tim-Philipp Müller2010-01-201-18/+21
| | | | | | Move variable that's only used on unix into the unix block so that the compiler doesn't complain about the unused variable on win32 (see #597662).
* pluginloader: try scanner set via env var before using the installed oneTim-Philipp Müller2010-01-201-16/+19
| | | | | | | If the GST_PLUGIN_SCANNER environment variable is set, we should try the scanner specified there first, to make sure the right scanner binary is used for uninstalled setups and builds from source when there's already an installed version.
* pluginloader: disable external plugin loader on Windows until it is ported ↵Andoni Morales Alastruey2010-01-201-1/+5
| | | | | | properly See #597662.
* gst_private.h: make sure gst_private.h is included before glib.hTim-Philipp Müller2010-01-201-1/+2
| | | | | | For the reason outlined at the beginning of gst_private.h (inline functions in glib may need the g_log_domain variable). Also include gst_private.h before using any G_OS_* defines, esp. in plugin loader.
* plugin-scanner: rename plugin-scanner helper binary to gst-plugin-scannerTim-Philipp Müller2009-11-181-4/+4
| | | | | | | | | | | | | | and install into a different directory $(libexecdir/gstreamer-0.10) so that everything is versioned properly. NOTE: run 'make clean' after updating; if you are running an uninstalled setup, you will need to update your gst-uninstalled script (unless it's symlinked to gstreamer core master) and exit/enter your uninstalled environment to get the updated environment. If you are running an installed setup, you should run 'make uninstall' before merging this change or remove the old plugin-scanner binary manually. Fixes #601698.
* plugin loader: Don't fail after a short read/writeJan Schmidt2009-11-041-36/+46
| | | | | | | | | | The logic to handle short reads/writes was incorrect, causing the packet handler to attempt to handle incomplete packets. Grow the packet transmit buffer in proportion to observed usage, causing fewer reallocs. Add some more debug in the registry chunks code.
* plugin loader: Don't crash on bogus plugin detailsJan Schmidt2009-11-041-13/+28
| | | | | | When invalid registry chunks are received from the child, and parsing fails, don't access an invalid plugin pointer. Instead attempt to figure out which plugin caused the problem and blacklist it.
* optimisation : Use g_object_newv where possible.Edward Hervey2009-10-281-1/+1
| | | | | | | | This avoids: * triple-checking for the GType when type-checking is enabled (see #597260) * Avoids going through an expensive no-argument checking which landed in glib-2.22 * Avoids going through 2 extrac functions (g_object_new -> g_object_new_valist)
* pluginloader: When a plugin is blacklisted, output a GST_ERROR line.Jan Schmidt2009-10-191-1/+2
|
* gstpluginloader: Don't wait forever on gst_poll_wait.Edward Hervey2009-10-121-1/+1
| | | | | | | This allows the macosx versions to properly error out when fds are closed. This is only a temporary fix until the pluginloader is switched to not use GstPoll but GIOChannels.
* pluginloader: Fix valgrind warnings by zeroing padding bytes.Jan Schmidt2009-10-081-0/+3
|
* pluginloader: Move stdin and stdout out of harm's wayJan Schmidt2009-10-081-2/+29
| | | | | | | In the plugin loader subprocess, move stdin and stdout to new fd's so that plugins printing things during plugin init or (*gasp*) possibly reading from stdin don't interfere with the data sent to and from the parent.
* pluginloader: Add a magic number and maximum size limit.Jan Schmidt2009-10-061-8/+60
| | | | | | Guard against a hostile child process that sends bogus data due to memory corruption by adding a magic number to each packet, and limit the maximum size of any message to 32MB
* registry: Also check the binary registry chunk version of the child.Jan Schmidt2009-10-061-18/+40
| | | | | | When trying to find a function plugin-scanner, include a check on the version of the binary registry chunks it sends, to make sure it's what we understand.
* registry: Support installed/uninstalled plugin-scanner helperJan Schmidt2009-10-061-25/+87
| | | | | | | | | Add a simple version check when starting the plugin-scanner so we can verify we're talking to one that talks the same language. First try a plugin-scanner in the installed path, then try one via the GST_PLUGIN_SCANNER env var if that doesn't work. Update the uninstalled script. Install the plugin-scanner to the libexec dir
* Add restarting of the plugin loader and blacklisting of broken filesJan Schmidt2009-10-061-57/+185
|
* Plugin loader phase 2Jan Schmidt2009-10-061-6/+98
| | | | | | phase 2 - make the plugin loader receive the list of plugins to load and send back the results asynchronously, so we don't context switch back and forth so much.
* registry: Add registry helper phase 1Jan Schmidt2009-10-061-0/+536
Phase 1 of adding the registry scan helper