From 19b5ac5e09e204a9c22daff460f3cbb2137d265b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 16 Dec 2014 00:23:24 +0000 Subject: Use libdcp for DCP subtitle parsing so that we get support for MXF-wrapped SMPTE subtitles. --- src/reader_factory.cc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/reader_factory.cc') diff --git a/src/reader_factory.cc b/src/reader_factory.cc index fd19c0f..31a205b 100644 --- a/src/reader_factory.cc +++ b/src/reader_factory.cc @@ -31,19 +31,18 @@ using boost::shared_ptr; using namespace sub; shared_ptr -sub::reader_factory (string file_name) +sub::reader_factory (boost::filesystem::path file_name) { - ifstream f (file_name.c_str ()); - if (!f.good ()) { - return shared_ptr (); - } + string ext = file_name.extension().string(); + transform (ext.begin(), ext.end(), ext.begin(), ::tolower); - if (ends_with (file_name, ".xml") || ends_with (file_name, ".XML")) { - return shared_ptr (new DCPReader (f)); + if (ext == ".xml" || ext == ".mxf") { + return shared_ptr (new DCPReader (file_name)); } - if (ends_with (file_name, ".stl") || ends_with (file_name, ".STL")) { + if (ext == ".stl") { /* Check the start of the DFC */ + ifstream f (file_name.string().c_str ()); char buffer[11]; f.read (buffer, 11); f.seekg (0); -- cgit v1.2.3