avfilter_graph_parse frees inputs and outputs passed in, so we should not.
[dcpomatic.git] / src / lib / image_content.cc
index eb8b35210efd4a2a65cd4a4e02380438b3f05ba1..f9a772e00126c5d49162442ff68c5559820764bb 100644 (file)
@@ -29,6 +29,8 @@
 
 #include "i18n.h"
 
+#include "image_filename_sorter.cc"
+
 using std::string;
 using std::cout;
 using boost::shared_ptr;
@@ -38,7 +40,7 @@ ImageContent::ImageContent (shared_ptr<const Film> f, boost::filesystem::path p)
        , VideoContent (f)
 {
        bool have_j2k = false;
-       if (boost::filesystem::is_regular_file (p)) {
+       if (boost::filesystem::is_regular_file (p) && valid_image_file (p)) {
                _paths.push_back (p);
                if (valid_j2k_file (p)) {
                        have_j2k = true;
@@ -57,7 +59,7 @@ ImageContent::ImageContent (shared_ptr<const Film> f, boost::filesystem::path p)
                        throw FileError (_("No valid image files were found in the folder."), p);
                }
                                
-               sort (_paths.begin(), _paths.end());
+               sort (_paths.begin(), _paths.end(), ImageFilenameSorter ());
        }
 
        if (have_j2k) {