diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-12-06 17:46:24 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-12-26 17:20:25 +0100 |
| commit | 54e2644ed4dcc4faf5135e60926cfdda14886fea (patch) | |
| tree | ca1599fe32e3ace691dffcdb6ded45ad29baea59 /src/lib/content_factory.cc | |
| parent | 1f077d2b791a059ccef4069dca07ead990bd568e (diff) | |
Support FCP XML files containing subtitles (#2909).
Diffstat (limited to 'src/lib/content_factory.cc')
| -rw-r--r-- | src/lib/content_factory.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/content_factory.cc b/src/lib/content_factory.cc index 9f464896a..fa3f0876c 100644 --- a/src/lib/content_factory.cc +++ b/src/lib/content_factory.cc @@ -29,6 +29,7 @@ #include "dcp_content.h" #include "dcp_subtitle_content.h" #include "dcpomatic_log.h" +#include "fcpxml_content.h" #include "ffmpeg_audio_stream.h" #include "ffmpeg_content.h" #include "film.h" @@ -97,6 +98,8 @@ content_factory(cxml::ConstNodePtr node, boost::optional<boost::filesystem::path content = std::make_shared<VideoMXFContent>(node, film_directory, version); } else if (type == "AtmosMXF") { content = std::make_shared<AtmosMXFContent>(node, film_directory, version); + } else if (type == "FCPXML") { + content = std::make_shared<FCPXMLContent>(node, film_directory, version, notes); } return content; @@ -178,6 +181,8 @@ content_factory (boost::filesystem::path path) throw KDMAsContentError (); } single = std::make_shared<DCPSubtitleContent>(path); + } else if (ext == ".fcpxml") { + single = std::make_shared<FCPXMLContent>(path); } else if (ext == ".mxf" && dcp::SMPTETextAsset::valid_mxf(path)) { single = std::make_shared<DCPSubtitleContent>(path); } else if (ext == ".mxf" && VideoMXFContent::valid_mxf(path)) { |
