summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_subtitle_stream.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-05-12 16:13:48 +0100
committerCarl Hetherington <cth@carlh.net>2015-05-12 16:13:48 +0100
commit2bfd531137f1a4874493186015046e33c5a07c1e (patch)
tree76f753a5307e8e37c9802aed765f2c93ca911ac2 /src/lib/ffmpeg_subtitle_stream.cc
parent120c587cffb540d18b519f53615dd73e33df177c (diff)
Assorted image subtitle fixes.
Diffstat (limited to 'src/lib/ffmpeg_subtitle_stream.cc')
-rw-r--r--src/lib/ffmpeg_subtitle_stream.cc20
1 files changed, 19 insertions, 1 deletions
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 <libxml++/libxml++.h>
+#include <boost/foreach.hpp>
+
+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<ContentTime::Type> ("From")),
+ ContentTime (node->number_child<ContentTime::Type> ("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<string> (i.from.get ()));
+ node->add_child("To")->add_child_text (raw_convert<string> (i.to.get ()));
+ }
}