summaryrefslogtreecommitdiff
path: root/src/cpl.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-08-13 00:10:19 +0100
committerCarl Hetherington <cth@carlh.net>2012-08-13 00:10:19 +0100
commit830d8e01713add5856f44a5246eb65781458d0b8 (patch)
tree736702d96029223cd3403f58bbbd9286dc5680c8 /src/cpl.cc
parenta1a33941351365cc371f468c6c9c8f0cf8ca32d2 (diff)
Tweaks for more real-life DCPs; beginning of subtitle support.
Diffstat (limited to 'src/cpl.cc')
-rw-r--r--src/cpl.cc18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/cpl.cc b/src/cpl.cc
index 9dfe446d..137d359f 100644
--- a/src/cpl.cc
+++ b/src/cpl.cc
@@ -8,7 +8,7 @@ CPL::CPL (string file)
: XMLFile (file, "CompositionPlaylist")
{
id = string_node ("Id");
- annotation_text = string_node ("AnnotationText");
+ annotation_text = optional_string_node ("AnnotationText");
issue_date = string_node ("IssueDate");
creator = string_node ("Creator");
content_title_text = string_node ("ContentTitleText");
@@ -46,6 +46,7 @@ CPLAssetList::CPLAssetList (xmlpp::Node const * node)
{
main_picture = sub_node<MainPicture> ("MainPicture");
main_sound = optional_sub_node<MainSound> ("MainSound");
+ main_subtitle = optional_sub_node<MainSubtitle> ("MainSubtitle");
done ();
}
@@ -91,3 +92,18 @@ MainSound::MainSound (xmlpp::Node const * node)
done ();
}
+
+MainSubtitle::MainSubtitle (xmlpp::Node const * node)
+ : XMLNode (node)
+{
+ id = string_node ("Id");
+ annotation_text = optional_string_node ("AnnotationText");
+ edit_rate = fraction_node ("EditRate");
+ intrinsic_duration = int64_node ("IntrinsicDuration");
+ entry_point = int64_node ("EntryPoint");
+ duration = int64_node ("Duration");
+
+ ignore_node ("Hash");
+
+ done ();
+}