43 #ifndef LIBDCP_VERIFY_INTERNAL_H
44 #define LIBDCP_VERIFY_INTERNAL_H
49 #include <boost/filesystem.hpp>
50 #include <boost/optional.hpp>
61 bool warning_length_exceeded =
false;
62 bool error_length_exceeded =
false;
63 bool line_count_exceeded =
false;
68 std::shared_ptr<const dcp::TextAsset> asset,
79 std::vector<VerificationNote>& notes_,
80 boost::filesystem::path xsd_dtd_directory_,
81 std::function<
void (std::string, boost::optional<boost::filesystem::path>)> stage_,
82 std::function<
void (
float)> progress_,
86 , xsd_dtd_directory(xsd_dtd_directory_)
95 template<
typename... Args>
98 add_note({dcp::VerificationNote::Type::OK, code, std::forward<Args>(args)...});
101 template<
typename... Args>
104 add_note({dcp::VerificationNote::Type::WARNING, code, std::forward<Args>(args)...});
107 template<
typename... Args>
113 template<
typename... Args>
116 add_note({dcp::VerificationNote::Type::ERROR, code, std::forward<Args>(args)...});
122 note.set_cpl_id(cpl->id());
124 notes.push_back(std::move(note));
129 if (find(notes.begin(), notes.end(), note) == notes.end()) {
134 std::vector<VerificationNote>& notes;
135 std::shared_ptr<const DCP>
dcp;
136 std::shared_ptr<const CPL> cpl;
137 boost::filesystem::path xsd_dtd_directory;
138 std::function<void (std::string, boost::optional<boost::filesystem::path>)> stage;
139 std::function<void (
float)> progress;
142 boost::optional<std::string> subtitle_language;
143 boost::optional<int> audio_channels;
147 extern void verify_extension_metadata(
dcp::Context& context);
@ BV21_ERROR
may not always be considered an error, but violates a "shall" requirement of Bv2.1
Namespace for everything in libdcp.
void verify_text_lines_and_characters(std::shared_ptr< const dcp::TextAsset > asset, int warning_length, int error_length, dcp::LinesCharactersResult *result)
dcp::verify() method and associated code