Fix subs_in_out to support SMPTE.
authorCarl Hetherington <cth@carlh.net>
Mon, 8 Jun 2015 09:43:32 +0000 (10:43 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 8 Jun 2015 09:43:32 +0000 (10:43 +0100)
run/test/subs_in_out
test/subs_in_out.cc

index cd464dac9448e5d906be503c113ced1842c21ac7..2b43d856a7391f8b5ba49b53dfceec2015f61c71 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-export LD_LIBRARY_PATH=build/src
+export LD_LIBRARY_PATH=build/src:build/src/asdcplib:$LD_LIBRARY_PATH
 if [ "$1" == "--debug" ]; then
     shift
     gdb --args build/test/subs_in_out "$@"
index 2a662262dc0fae808a0de02fddb70151fdb57b6a..fce0bfec0ad869e8e1e27c1bacd709c74e38988b 100644 (file)
 */
 
 #include "interop_subtitle_asset.h"
+#include "smpte_subtitle_asset.h"
 #include <iostream>
 
 using namespace std;
 
-int main (int argc, char* argv[])
+int
+main (int argc, char* argv[])
 {
-       if (argc < 2) {
+       if (argc != 2) {
                cerr << "Syntax: " << argv[0] << " <subtitle file>\n";
                exit (EXIT_FAILURE);
        }
-       
-       dcp::InteropSubtitleAsset s (argv[1]);
-       cout << s.xml_as_string ();
+
+       try {
+               dcp::InteropSubtitleAsset sc (argv[1]);
+               cout << sc.xml_as_string ();
+       } catch (exception& e) {
+               cerr << "Could not load as interop: " << e.what() << "\n";
+               try {
+                       dcp::SMPTESubtitleAsset sc (argv[1]);
+                       cout << sc.xml_as_string().raw ();
+               } catch (exception& e) {
+                       cerr << "Could not load as SMPTE (" << e.what() << ")\n";
+               }
+       }
        return 0;
 }