- if (flags & MXF_BITWISE) {
- if (filesystem::file_size (mxf_path()) != filesystem::file_size (other.mxf_path())) {
- notes.push_back (mxf_path().string() + " and " + other.mxf_path().string() + " sizes differ");
- return notes;
- }
-
- ifstream a (mxf_path().c_str(), ios::binary);
- ifstream b (other.mxf_path().c_str(), ios::binary);
-
- int buffer_size = 65536;
- char abuffer[buffer_size];
- char bbuffer[buffer_size];
-
- int n = filesystem::file_size (mxf_path ());
-
- while (n) {
- int const t = min (n, buffer_size);
- a.read (abuffer, t);
- b.read (bbuffer, t);
-
- for (int i = 0; i < t; ++i) {
- if (abuffer[i] != bbuffer[i]) {
- notes.push_back (mxf_path().string() + " and " + other.mxf_path().string() + " content differs");
- return notes;
- }
- }
-
- n -= t;
- }
+ if (_intrinsic_duration != other->_intrinsic_duration) {
+ note (ERROR, "asset intrinsic durations differ");
+ }
+
+ if (_duration != other->_duration) {
+ note (ERROR, "asset durations differ");