boost::mutex::scoped_lock lm (_mutex);
_name = examiner->name ();
for (int i = 0; i < TEXT_COUNT; ++i) {
- if (examiner->has_text(static_cast<TextType>(i))) {
+ for (int j = 0; j < examiner->text_count(static_cast<TextType>(i)); ++j) {
text.push_back (shared_ptr<TextContent>(new TextContent(this, static_cast<TextType>(i), static_cast<TextType>(i))));
}
}
/*
- Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2014-2019 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
shared_ptr<dcp::CPL> cpl;
for (int i = 0; i < TEXT_COUNT; ++i) {
- _has_text[i] = false;
+ _text_count[i] = 0;
}
if (content->cpl ()) {
return;
}
- _has_text[TEXT_OPEN_SUBTITLE] = true;
+ _text_count[TEXT_OPEN_SUBTITLE] = 1;
}
BOOST_FOREACH (shared_ptr<dcp::ReelClosedCaptionAsset> j, i->closed_captions()) {
return;
}
- _has_text[TEXT_CLOSED_CAPTION] = true;
+ _text_count[TEXT_CLOSED_CAPTION]++;
}
if (i->main_picture()) {
/*
- Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2014-2019 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
return _audio_frame_rate.get_value_or (48000);
}
- bool has_text (TextType type) const {
- return _has_text[type];
+ /** @param type TEXT_OPEN_SUBTITLE or TEXT_CLOSED_CAPTION.
+ * @return Number of assets of this type in this DCP.
+ */
+ int text_count (TextType type) const {
+ return _text_count[type];
}
bool kdm_valid () const {
bool _has_video;
/** true if this DCP has audio content (but false if it has unresolved references to audio content) */
bool _has_audio;
- bool _has_text[TEXT_COUNT];
+ /** number of different assets of each type (OCAP/CCAP) */
+ int _text_count[TEXT_COUNT];
bool _encrypted;
bool _needs_assets;
bool _kdm_valid;