projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Accessor for ClosedCaptionsDialog.
[dcpomatic.git]
/
src
/
lib
/
dcp_content.cc
diff --git
a/src/lib/dcp_content.cc
b/src/lib/dcp_content.cc
index 4c4486a281e77c0be0656fa93cc2c5da80e32dd4..d0f434e5a87af1e0b0da304ca73c136620c7623e 100644
(file)
--- a/
src/lib/dcp_content.cc
+++ b/
src/lib/dcp_content.cc
@@
-55,6
+55,7
@@
using boost::optional;
using boost::function;
using boost::dynamic_pointer_cast;
using dcp::raw_convert;
using boost::function;
using boost::dynamic_pointer_cast;
using dcp::raw_convert;
+using namespace dcpomatic;
int const DCPContentProperty::NEEDS_ASSETS = 600;
int const DCPContentProperty::NEEDS_KDM = 601;
int const DCPContentProperty::NEEDS_ASSETS = 600;
int const DCPContentProperty::NEEDS_KDM = 601;
@@
-179,6
+180,7
@@
DCPContent::read_sub_directory (boost::filesystem::path p)
}
}
}
}
+/** @param film Film, or 0 */
void
DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
{
void
DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
{
@@
-197,7
+199,7
@@
DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
}
Content::examine (film, job);
}
Content::examine (film, job);
- shared_ptr<DCPExaminer> examiner (new DCPExaminer
(shared_from_this ()
));
+ shared_ptr<DCPExaminer> examiner (new DCPExaminer
(shared_from_this(), film ? film->tolerant() : true
));
if (examiner->has_video()) {
{
if (examiner->has_video()) {
{
@@
-225,7
+227,7
@@
DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
boost::mutex::scoped_lock lm (_mutex);
_name = examiner->name ();
for (int i = 0; i < TEXT_COUNT; ++i) {
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))));
}
}
text.push_back (shared_ptr<TextContent>(new TextContent(this, static_cast<TextType>(i), static_cast<TextType>(i))));
}
}
@@
-477,7
+479,7
@@
DCPContent::reels (shared_ptr<const Film> film) const
if (reel_lengths.empty ()) {
/* Old metadata with no reel lengths; get them here instead */
try {
if (reel_lengths.empty ()) {
/* Old metadata with no reel lengths; get them here instead */
try {
- scoped_ptr<DCPExaminer> examiner (new DCPExaminer
(shared_from_this
()));
+ scoped_ptr<DCPExaminer> examiner (new DCPExaminer
(shared_from_this(), film->tolerant
()));
reel_lengths = examiner->reel_lengths ();
} catch (...) {
/* Could not examine the DCP; guess reels */
reel_lengths = examiner->reel_lengths ();
} catch (...) {
/* Could not examine the DCP; guess reels */
@@
-624,7
+626,7
@@
DCPContent::can_reference_audio (shared_ptr<const Film> film, string& why_not) c
{
shared_ptr<DCPDecoder> decoder;
try {
{
shared_ptr<DCPDecoder> decoder;
try {
- decoder.reset (new DCPDecoder (film, shared_from_this(), false));
+ decoder.reset (new DCPDecoder (film, shared_from_this(), false
, film->tolerant(), shared_ptr<DCPDecoder>()
));
} catch (dcp::DCPReadError &) {
/* We couldn't read the DCP, so it's probably missing */
return false;
} catch (dcp::DCPReadError &) {
/* We couldn't read the DCP, so it's probably missing */
return false;
@@
-659,7
+661,7
@@
DCPContent::can_reference_text (shared_ptr<const Film> film, TextType type, stri
{
shared_ptr<DCPDecoder> decoder;
try {
{
shared_ptr<DCPDecoder> decoder;
try {
- decoder.reset (new DCPDecoder (film, shared_from_this(), false));
+ decoder.reset (new DCPDecoder (film, shared_from_this(), false
, film->tolerant(), shared_ptr<DCPDecoder>()
));
} catch (dcp::DCPReadError &) {
/* We couldn't read the DCP, so it's probably missing */
return false;
} catch (dcp::DCPReadError &) {
/* We couldn't read the DCP, so it's probably missing */
return false;