\r
bool is_valid_file(const std::wstring filename)\r
{ \r
- if(boost::filesystem::path(filename).extension() == ".m2t")\r
- return true;\r
+ {\r
+ static auto exts = boost::assign::list_of(L".m2t")(L".mov")(L".mp4")(L".dv")(L".flv")(L".mpg")(L".wav")(L".mp3")(L".dnxhd")(L".h264")(L".prores");\r
+\r
+ auto ext = boost::to_lower_copy(boost::filesystem::path(filename).extension().wstring());\r
+ \r
+ if(std::find(exts.begin(), exts.end(), ext) != exts.end())\r
+ return true;\r
+ }\r
+ \r
+ auto u8filename = u8(filename);\r
\r
+ int score = 0;\r
AVProbeData pb = {};\r
- pb.filename = u8(filename).c_str();\r
+ pb.filename = u8filename.c_str();\r
\r
- int score = 0;\r
if(av_probe_input_format2(&pb, false, &score) != nullptr)\r
return true;\r
\r
std::ifstream file(filename);\r
\r
std::vector<unsigned char> buf;\r
- for(auto file_it = std::istreambuf_iterator<char>(file); file_it != std::istreambuf_iterator<char>() && buf.size() < 2048; ++file_it)\r
+ for(auto file_it = std::istreambuf_iterator<char>(file); file_it != std::istreambuf_iterator<char>() && buf.size() < 1024; ++file_it)\r
buf.push_back(*file_it);\r
\r
if(buf.empty())\r