summaryrefslogtreecommitdiff
path: root/src/dcp.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/dcp.cc
parenta1a33941351365cc371f468c6c9c8f0cf8ca32d2 (diff)
Tweaks for more real-life DCPs; beginning of subtitle support.
Diffstat (limited to 'src/dcp.cc')
-rw-r--r--src/dcp.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/dcp.cc b/src/dcp.cc
index 5eadbca6..b478f18d 100644
--- a/src/dcp.cc
+++ b/src/dcp.cc
@@ -288,9 +288,9 @@ DCP::DCP (string directory)
_fps = cpl_assets->main_picture->frame_rate.numerator;
_length = cpl_assets->main_picture->duration;
- string n = cpl_assets->main_picture->annotation_text;
+ string n = pkl->asset_from_id(cpl_assets->main_picture->id)->original_file_name;
if (n.empty ()) {
- n = pkl->asset_from_id(cpl_assets->main_picture->id)->original_file_name;
+ n = cpl_assets->main_picture->annotation_text;
}
_assets.push_back (shared_ptr<PictureAsset> (
@@ -304,9 +304,9 @@ DCP::DCP (string directory)
if (cpl_assets->main_sound) {
- n = cpl_assets->main_sound->annotation_text;
+ n = pkl->asset_from_id(cpl_assets->main_sound->id)->original_file_name;
if (n.empty ()) {
- n = pkl->asset_from_id(cpl_assets->main_sound->id)->original_file_name;
+ n = cpl_assets->main_sound->annotation_text;
}
_assets.push_back (shared_ptr<SoundAsset> (
@@ -333,7 +333,7 @@ DCP::scan (Files& files, string directory) const
continue;
}
- if (ends_with (t, ".mxf")) {
+ if (ends_with (t, ".mxf") || ends_with (t, ".ttf")) {
continue;
}
@@ -373,6 +373,8 @@ DCP::scan (Files& files, string directory) const
throw DCPReadError ("duplicate AssetMaps found");
}
files.asset_map = t;
+ } else if (root == "DCSubtitle") {
+ files.subtitles.push_back (t);
}
}
}