- for (map<string, ContentTimePeriod>::const_iterator i = _subtitles.begin(); i != _subtitles.end(); ++i) {
- xmlpp::Node* node = root->add_child ("Subtitle");
+ as_xml (root, _image_subtitles, "ImageSubtitle");
+ as_xml (root, _text_subtitles, "TextSubtitle");
+
+ for (map<RGBA, RGBA>::const_iterator i = _colours.begin(); i != _colours.end(); ++i) {
+ xmlpp::Node* node = root->add_child("Colour");
+ i->first.as_xml (node->add_child("From"));
+ i->second.as_xml (node->add_child("To"));
+ }
+}
+
+void
+FFmpegSubtitleStream::as_xml (xmlpp::Node* root, PeriodMap const & subs, string node_name) const
+{
+ for (PeriodMap::const_iterator i = subs.begin(); i != subs.end(); ++i) {
+ xmlpp::Node* node = root->add_child (node_name);