Could not create WIC Decoder from filename



I am creating an application in which I am storing textures in a texture vector and creating a slideshow of those images. When it runs for first time it runs fine but when I recall the function to fill the vector with new images it gives me exception “Could not create WIC Decoder from filename” while loading images to form image texture.

for (int i = 0; i < limit; i++)
    gl::TextureRef	mImg = gl::Texture::create(loadImage(loadAsset(imgPath)));


What kind of files are you trying to load? Do they have proper file extensions (.png, .jpg, .jpeg)?


Just a wild guess, but I’ve run into some issues like this when the first time i’ve tried to use the image loading system has been from a secondary thread. I’ve had to load a dummy image on the main thread first, and then kick off my threaded loader after that.


I am using .jpg files @paul.houx


I think the best thing to do in these cases is to try to make a minimal app (like from tinderbox) and try to reproduce the issue in that. Many times you’ll stumble on the issue that way, or you’ll find out there is a real problem and you can post that code so others can reproduce / diagnose.


are you loading the same jpg file * limit times?