Accept V4+ styles as well as V4 ones in SSA.
[libsub.git] / test / dcp_to_stl_binary_test.cc
index aa6d1fb4885057bf4d8d06363fa3a428de1c0109..6199c692ecd37ef914f2fe69d676507dbc7650ae 100644 (file)
@@ -18,7 +18,8 @@
 */
 
 #include "test.h"
-#include "dcp_reader.h"
+#include "interop_dcp_reader.h"
+#include "smpte_dcp_reader.h"
 #include "stl_binary_writer.h"
 #include "collect.h"
 #include <boost/test/unit_test.hpp>
@@ -34,9 +35,8 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test1)
        }
 
        boost::filesystem::path p = private_test / "fd586c30-6d38-48f2-8241-27359acf184c_sub.xml";
-       ifstream f (p.string().c_str ());
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(f).subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::InteropDCPReader(p).subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -62,9 +62,8 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test2)
        }
 
        boost::filesystem::path p = private_test / "93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.xml";
-       ifstream f (p.string().c_str ());
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(f).subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::InteropDCPReader(p).subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -90,9 +89,8 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test3)
        }
 
        boost::filesystem::path p = private_test / "Paddington_FTR_Subs_DE-FR_24fps_R1.xml";
-       ifstream f (p.string().c_str ());
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(f).subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::InteropDCPReader(p).subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -113,10 +111,8 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test3)
 
 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test4)
 {
-       ifstream file ("test/data/test1.xml");
-
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(file).subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::InteropDCPReader("test/data/test1.xml").subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -129,3 +125,30 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test4)
                "build/test/test1.stl"
                );
 }
+
+BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test5)
+{
+       if (private_test.empty ()) {
+               return;
+       }
+
+       boost::filesystem::path p = private_test / "065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.mxf";
+       sub::write_stl_binary (
+               sub::collect<list<sub::Subtitle> > (sub::SMPTEDCPReader(p, true).subtitles ()),
+               25,
+               sub::LANGUAGE_FRENCH,
+               "", "",
+               "", "",
+               "", "",
+               "300514", "300514", 0,
+               "GBR",
+               "",
+               "", "",
+               "build/test/065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl"
+               );
+
+       check_file (
+               private_test / "065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl",
+               "build/test/065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl"
+               );
+}