#include "asset_map.h"
using namespace std;
+using namespace boost;
using namespace libdcp;
AssetMap::AssetMap (string file)
length = optional_int64_node ("Length");
}
+shared_ptr<AssetMapAsset>
+AssetMap::asset_from_id (string id) const
+{
+ for (list<shared_ptr<AssetMapAsset> >::const_iterator i = assets.begin (); i != assets.end(); ++i) {
+ if ((*i)->id == id) {
+ return *i;
+ }
+ }
+
+ return shared_ptr<AssetMapAsset> ();
+}
if ((*i)->asset_list->main_picture) {
- string n = pkl->asset_from_id (p->id)->original_file_name;
- if (n.empty ()) {
- n = p->annotation_text;
- }
-
try {
picture.reset (new MonoPictureAsset (
_directory,
- n,
+ asset_map->asset_from_id ((*i)->asset_list->main_picture->id)->chunks.front()->path,
_fps,
(*i)->asset_list->main_picture->entry_point,
(*i)->asset_list->main_picture->duration
} else if ((*i)->asset_list->main_stereoscopic_picture) {
- string n = pkl->asset_from_id (p->id)->original_file_name;
- if (n.empty ()) {
- n = p->annotation_text;
- }
-
try {
picture.reset (new StereoPictureAsset (
_directory,
- n,
+ asset_map->asset_from_id ((*i)->asset_list->main_stereoscopic_picture->id)->chunks.front()->path,
_fps,
(*i)->asset_list->main_stereoscopic_picture->entry_point,
(*i)->asset_list->main_stereoscopic_picture->duration
if ((*i)->asset_list->main_sound) {
- string n = pkl->asset_from_id ((*i)->asset_list->main_sound->id)->original_file_name;
- if (n.empty ()) {
- n = (*i)->asset_list->main_sound->annotation_text;
- }
-
try {
sound.reset (new SoundAsset (
_directory,
- n,
+ asset_map->asset_from_id ((*i)->asset_list->main_sound->id)->chunks.front()->path,
_fps,
(*i)->asset_list->main_sound->entry_point,
(*i)->asset_list->main_sound->duration
}
if ((*i)->asset_list->main_subtitle) {
-
- string n = pkl->asset_from_id ((*i)->asset_list->main_subtitle->id)->original_file_name;
- if (n.empty ()) {
- n = (*i)->asset_list->main_subtitle->annotation_text;
- }
subtitle.reset (new SubtitleAsset (
- _directory,
- n
- )
+ _directory,
+ asset_map->asset_from_id ((*i)->asset_list->main_subtitle->id)->chunks.front()->path
+ )
);
}
type = string_node ("Type");
original_file_name = optional_string_node ("OriginalFileName");
}
-
-shared_ptr<PKLAsset>
-PKL::asset_from_id (string id) const
-{
- for (list<shared_ptr<PKLAsset> >::const_iterator i = assets.begin (); i != assets.end(); ++i) {
- if ((*i)->id == id) {
- return *i;
- }
- }
-
- return shared_ptr<PKLAsset> ();
-}
-