}
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) {
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) {
: 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 {
<< " -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"
{ "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;
case 'v':
verbose = true;
break;
+ case 'n':
+ options.mxf_names_can_differ = true;
+ break;
}
}