1. 27 Jan, 2018 1 commit
  2. 11 Jan, 2018 1 commit
    • Tim-Philipp Müller's avatar
      plugin: plugin_load() must return a ref even if it was loaded already · 5feff266
      Tim-Philipp Müller authored
      Fix refcounting issue when plugin was loaded already.
      gst_plugin_load() is supposed to return a ref, so it
      must always return a ref.
      
      This also fixes the gstplugin unit test on windows where
      fork is not available and where test_load_coreelements()
      would unref a plugin ref it didn't get and then mess up
      the internal registry plugin list state for the next test,
      in case where the test registry does not exist yet.
      5feff266
  3. 17 Dec, 2017 1 commit
  4. 03 Dec, 2017 1 commit
  5. 01 Dec, 2017 1 commit
  6. 27 Sep, 2017 1 commit
  7. 26 Sep, 2017 1 commit
  8. 05 Jul, 2017 1 commit
  9. 23 Jun, 2017 1 commit
  10. 21 May, 2017 1 commit
  11. 18 May, 2017 1 commit
  12. 17 May, 2017 1 commit
  13. 09 May, 2017 1 commit
    • Nicolas Dufresne's avatar
      plugin: Unify static and dynamic plugin interface · e7ede5a4
      Nicolas Dufresne authored
      This patch changes the entry point of each plugin in order to unify the
      interface for static and dynamic plugin. What we do is replace the
      current static plugin interface and extend the dymamic one. The plugin
      entry was a C structure, name "gst_plugin_desc". With this patch, the
      interface is now:
      
        GstPpluginDesc *gst_plugin_<name>_get_desc(void);
      
      The reason we change the C structure into function, is that it is
      potentially more common to have function pointers, avoiding possible
      binding language limitation. Additionally to that. This change prevents
      the symbols from clashing between plugins, allowing to build once the
      plugin (assuming you have -fPIC).
      
      On the plugin loader side, we symply derive the shared object basename
      to extract the plugin name. If this symbol is not found, we fallback to
      gst_plugin_desc for backward compatibility.
      
      This has one side effect, which is that the shared objects now need to
      be named after their plugin name. This is generally the case with few
      exceptions. The benifit of this limitation is that you can control the
      gst_plugin_<name>_desc clash at file level.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=779344
      e7ede5a4
  14. 08 Apr, 2017 1 commit
    • Tim-Philipp Müller's avatar
      Don't use deprecated g_object_newv() · 519d6488
      Tim-Philipp Müller authored
      Use g_object_new() instead which nowadays has a shortcut for the
      no-properties check. It still does an extra GType check in the
      function guard, but there's a pending patch to remove that
      and it's hardly going to be a performance issue in practice,
      even less so on a system that's compiled without run-time checks.
      
      Alternative would be to move to the new g_object_new_properties()
      with a fallback define for older glib versions, but it makes the
      code look more unwieldy and doesn't seem worth it.
      
      Fixes deprecation warnings when building against newer GLib versions.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=780903
      519d6488
  15. 27 Jan, 2017 1 commit
  16. 20 Feb, 2016 1 commit
  17. 25 Nov, 2015 3 commits
    • Nicolas Dufresne's avatar
      plugin: Add prefix support to dependencies · c47e1383
      Nicolas Dufresne authored
      This adds a new flags, GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX,
      which allow using the names as prefix for plugin depencies.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=758083
      c47e1383
    • Nicolas Dufresne's avatar
      plugin: Allow device nodes as dependency · 79b935b3
      Nicolas Dufresne authored
      This is useful for feature that are produced after probing a specific
      node. You want to reload this plugin if the specific node(s) have been
      removed, added, or reloaded.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=758080
      79b935b3
    • Nicolas Dufresne's avatar
      plugin: Don't do lossy shift on hash · 446b3e6d
      Nicolas Dufresne authored
      In plugin is responsible for calculating a hash of the dependencies
      in order to determine if the cache should be invalidated or not.
      Currently, the hash combining method removes a bit of the original
      have before combining with an addition. As we use 32bits for our hash
      and shift 1 bit for each file and directory, that resulting hash only
      account for the last 32 files. And is more affected by the last file.
      
      Rotating technique (shifting, and adding back the ending bit), can be
      use to make the addition non-commutative. In a way that different order
      gives different hashes. In this case, I don't preserve this behaviour
      because the order in which the files are provided by the OS is
      irrelevant.
      
      In most cases, the XOR operation is used to combine hashes. In this
      code we use the addition. I decided to preserve the addition because
      we make use of non-random hash ((guint) -1) in the algorithm for
      matching files that are not really part of the hash (symlinks, special
      files). Doing successive XOR on this value, will simply switch from
      full ones, to full zero. The XOR used with whitelist has been preserved
      as it's based on a fairly randomized hash (g_str_hash).
      
      https://bugzilla.gnome.org/show_bug.cgi?id=758078
      446b3e6d
  18. 05 Aug, 2015 1 commit
  19. 16 Jul, 2015 1 commit
  20. 02 Feb, 2015 1 commit
  21. 01 Dec, 2014 1 commit
  22. 26 Jun, 2014 1 commit
  23. 29 May, 2014 1 commit
  24. 08 May, 2014 1 commit
  25. 07 Dec, 2013 1 commit
  26. 03 Jul, 2013 1 commit
  27. 10 Dec, 2012 1 commit
  28. 03 Nov, 2012 1 commit
  29. 25 Sep, 2012 1 commit
  30. 02 Aug, 2012 1 commit
  31. 10 Jul, 2012 1 commit
  32. 29 Apr, 2012 4 commits
  33. 04 Apr, 2012 1 commit
    • Sebastian Dröge's avatar
      gst: Change versioning · b0d89da6
      Sebastian Dröge authored
      Remove GST_MAJORMINOR and replace it by GST_API_VERSION
      Also set GST_VERSION_{MAJOR,MINOR,MICRO,NANO} explicitely
      now.
      
      All versions are at 1.0.0 now for the release soon but
      API/ABI can still change until the 1.0.0 release.
      
      Next release versions until 1.0.0 will be 0.10.9X and
      these will be release candidates. GST_VERSION_* will
      nonetheless stay at 1.0.0.0.
      b0d89da6
  34. 27 Jan, 2012 1 commit
  35. 22 Jan, 2012 1 commit