summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-04-16 09:54:23 +0100
committerCarl Hetherington <cth@carlh.net>2013-04-16 09:54:23 +0100
commit2ad4929f4b3fec0413633c00364f4a6fda3e6c0c (patch)
tree195430f4041620ad871703c32ad07e55fde82a0a
parent034abb6bb0f1d0382620bdcc43501ce0ba30b03a (diff)
Merge and add option to ignore differing MXF names.
-rw-r--r--src/mxf_asset.cc6
-rw-r--r--src/types.h2
-rw-r--r--tools/dcpdiff.cc7
3 files changed, 12 insertions, 3 deletions
diff --git a/src/mxf_asset.cc b/src/mxf_asset.cc
index 9b491dd7..144532f8 100644
--- a/src/mxf_asset.cc
+++ b/src/mxf_asset.cc
@@ -71,7 +71,7 @@ MXFAsset::fill_writer_info (ASDCP::WriterInfo* writer_info, string uuid)
}
bool
-MXFAsset::equals (shared_ptr<const Asset> other, EqualityOptions, boost::function<void (NoteType, string)> note) const
+MXFAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt, boost::function<void (NoteType, string)> note) const
{
shared_ptr<const MXFAsset> other_mxf = dynamic_pointer_cast<const MXFAsset> (other);
if (!other_mxf) {
@@ -81,7 +81,9 @@ MXFAsset::equals (shared_ptr<const Asset> other, EqualityOptions, boost::functio
if (_file_name != other_mxf->_file_name) {
note (ERROR, "MXF names differ");
- return false;
+ if (!opt.mxf_names_can_differ) {
+ return false;
+ }
}
if (_edit_rate != other_mxf->_edit_rate) {
diff --git a/src/types.h b/src/types.h
index 4c824080..b6372e9a 100644
--- a/src/types.h
+++ b/src/types.h
@@ -100,11 +100,13 @@ struct EqualityOptions {
: max_mean_pixel_error (0)
, max_std_dev_pixel_error (0)
, max_audio_sample_error (0)
+ , mxf_names_can_differ (false)
{}
double max_mean_pixel_error;
double max_std_dev_pixel_error;
int max_audio_sample_error;
+ bool mxf_names_can_differ;
};
enum NoteType {
diff --git a/tools/dcpdiff.cc b/tools/dcpdiff.cc
index 7913c533..6db45a1b 100644
--- a/tools/dcpdiff.cc
+++ b/tools/dcpdiff.cc
@@ -17,6 +17,7 @@ help (string n)
<< " -V, --version show libdcp version\n"
<< " -h, --help show this help\n"
<< " -v, --verbose be verbose\n"
+ << " -n, --names allow differing MXF names\n"
<< "\n"
<< "The <DCP>s are the DCP directories to compare.\n"
<< "Comparison is of metadata and content, ignoring timestamps\n"
@@ -42,10 +43,11 @@ main (int argc, char* argv[])
{ "version", no_argument, 0, 'V'},
{ "help", no_argument, 0, 'h'},
{ "verbose", no_argument, 0, 'v'},
+ { "names", no_argument, 0, 'n'},
{ 0, 0, 0, 0 }
};
- int c = getopt_long (argc, argv, "Vhv", long_options, &option_index);
+ int c = getopt_long (argc, argv, "Vhvn", long_options, &option_index);
if (c == -1) {
break;
@@ -61,6 +63,9 @@ main (int argc, char* argv[])
case 'v':
verbose = true;
break;
+ case 'n':
+ options.mxf_names_can_differ = true;
+ break;
}
}