Sorry if this has been answered before, I can't find a relevant mail.

We've built oiio with embedded plugins and now we're attempting to override the 
exr plugin with a customized one.
Unfortunately the plugin_searchpath string passed to ImpageInput::create() does 
not appear to take precedence during the cataloging of available plugins which 
means the embedded openexr plugin appears to always be found first.

Is this the expected behavior or am I doing something wrong?

The custom exr plugin is handicapped so the plugin's open() method will produce 
an assert error, but no assert is occurring so I'm assuming the embedded 
openexr plugin is getting called instead.

>From my reading of imageioplugin.cpp the catalog_all_plugins() method first 
>calls catalog_builtin_plugins() before the searchpath string is being parsed 
>(I haven't yet built oiio with debug prints to see what's going on in there, 
>but that was going to be my next step.)


Thanks for any help,

-jonathan


#include <OpenImageIO/imageio.h>

using namespace OIIO_NAMESPACE;

const char* plugin_searchpath = "/tmp/oiio/plugins";
const char* read_path = "/tmp/oiio/plugins/test.exr";

int main(int argc, char* argv[]) {
   ImageSpec spec;
   ImageInput* reader = ImageInput::create(read_path, plugin_searchpath);
   if (!reader) return 1;
   if (!reader->open(read_path, spec)) {
      std::cerr << "Unable to open file '" << read_path << "'" << std::endl;
      return 1;
   }

   std::cout << spec.width << "x" << spec.height << std::endl;

   return 0;
}

_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to