From aa1a3dae4f5eee2ccf6f03a005b24242986e1626 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 8 Jun 2015 10:43:32 +0100 Subject: [PATCH] Fix subs_in_out to support SMPTE. --- run/test/subs_in_out | 2 +- test/subs_in_out.cc | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/run/test/subs_in_out b/run/test/subs_in_out index cd464dac..2b43d856 100755 --- a/run/test/subs_in_out +++ b/run/test/subs_in_out @@ -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 "$@" diff --git a/test/subs_in_out.cc b/test/subs_in_out.cc index 2a662262..fce0bfec 100644 --- a/test/subs_in_out.cc +++ b/test/subs_in_out.cc @@ -18,18 +18,30 @@ */ #include "interop_subtitle_asset.h" +#include "smpte_subtitle_asset.h" #include 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] << " \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; } -- 2.30.2