- if ((*i)->asset_list->main_picture) {
- p = (*i)->asset_list->main_picture;
- } else {
- p = (*i)->asset_list->main_stereoscopic_picture;
- }
-
- assert (_fps == 0 || _fps == p->edit_rate.numerator);
- _fps = p->edit_rate.numerator;
- _length += p->duration;
-
- shared_ptr<PictureAsset> picture;
- shared_ptr<SoundAsset> sound;
- shared_ptr<SubtitleAsset> subtitle;
-
- if ((*i)->asset_list->main_picture) {
-
- try {
- picture.reset (new MonoPictureAsset (
- _directory,
- 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
- )
- );
- } catch (MXFFileError) {
- if (require_mxfs) {
- throw;
- }
- }
-
- } else if ((*i)->asset_list->main_stereoscopic_picture) {
-
- try {
- picture.reset (new StereoPictureAsset (
- _directory,
- 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
- )
- );
- } catch (MXFFileError) {
- if (require_mxfs) {
- throw;
- }
- }
-