X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Fsubs_in_out.cc;h=d3ba7e4311675720a5f98079a82ddd904ca347d5;hb=e6bbf120d575c392dd73f036821bba9a8fd4011c;hp=f0a7e96f1039d7c6ba7817203edccc008ef961d9;hpb=6b8fdf76aa221f037140bbf0ee1aa835df60778f;p=libdcp.git diff --git a/test/subs_in_out.cc b/test/subs_in_out.cc index f0a7e96f..d3ba7e43 100644 --- a/test/subs_in_out.cc +++ b/test/subs_in_out.cc @@ -1,17 +1,47 @@ +/* + Copyright (C) 2012-2015 Carl Hetherington + + This file is part of libdcp. + + libdcp is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + libdcp is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with libdcp. If not, see . +*/ + +#include "interop_subtitle_asset.h" +#include "smpte_subtitle_asset.h" #include -#include "subtitle_asset.h" 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); } - - libdcp::SubtitleAsset s ("foo", "bar", "baz"); - s.read_xml (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(); + } catch (exception& e) { + cerr << "Could not load as SMPTE (" << e.what() << ")\n"; + } + } return 0; }