X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_subtitle_stream.cc;h=66b587209af7c55f2a5958bd3e16af9327e390da;hb=2bfd531137f1a4874493186015046e33c5a07c1e;hp=3d8fd4e8375466710cb51ffd4a6a7a4ac950c75e;hpb=120c587cffb540d18b519f53615dd73e33df177c;p=dcpomatic.git diff --git a/src/lib/ffmpeg_subtitle_stream.cc b/src/lib/ffmpeg_subtitle_stream.cc index 3d8fd4e83..66b587209 100644 --- a/src/lib/ffmpeg_subtitle_stream.cc +++ b/src/lib/ffmpeg_subtitle_stream.cc @@ -18,6 +18,11 @@ */ #include "ffmpeg_subtitle_stream.h" +#include "raw_convert.h" +#include +#include + +using std::string; /** Construct a SubtitleStream from a value returned from to_string(). * @param t String returned from to_string(). @@ -26,11 +31,24 @@ FFmpegSubtitleStream::FFmpegSubtitleStream (cxml::ConstNodePtr node) : FFmpegStream (node) { - + BOOST_FOREACH (cxml::NodePtr i, node->node_children ("Period")) { + periods.push_back ( + ContentTimePeriod ( + ContentTime (node->number_child ("From")), + ContentTime (node->number_child ("To")) + ) + ); + } } void FFmpegSubtitleStream::as_xml (xmlpp::Node* root) const { FFmpegStream::as_xml (root); + + BOOST_FOREACH (ContentTimePeriod const & i, periods) { + xmlpp::Node* node = root->add_child ("Period"); + node->add_child("From")->add_child_text (raw_convert (i.from.get ())); + node->add_child("To")->add_child_text (raw_convert (i.to.get ())); + } }