- if (filesystem::is_directory (f->content_path ())) {
- /* Assume a directory contains TIFFs */
- return shared_ptr<Decoder> (new TIFFDecoder (f, o, j, minimal, ignore_length));
+ if (f->content().empty()) {
+ return Decoders ();
+ }
+
+ if (boost::filesystem::is_directory (f->content_path()) || f->content_type() == STILL) {
+ /* A single image file, or a directory of them */
+ return Decoders (
+ shared_ptr<VideoDecoder> (new ImageMagickDecoder (f, o)),
+ shared_ptr<AudioDecoder> (new SndfileDecoder (f, o))
+ );