From 4eb8edfa1aea3aa932bcf0f7bb3f626460f58b3c Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 31 Jul 2012 12:54:03 +0100 Subject: Lazy digest building. --- src/asset.cc | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/asset.cc') diff --git a/src/asset.cc b/src/asset.cc index 8063603a..de299d34 100644 --- a/src/asset.cc +++ b/src/asset.cc @@ -51,7 +51,7 @@ Asset::write_to_pkl (ostream& s) const s << " \n" << " urn:uuid:" << _uuid << "\n" << " " << _mxf_name << "\n" - << " " << _digest << "\n" + << " " << digest() << "\n" << " " << filesystem::file_size(mxf_path()) << "\n" << " application/mxf\n" << " \n"; @@ -114,7 +114,7 @@ Asset::equals (shared_ptr other, EqualityFlags flags) const if (flags & MXF_BITWISE) { - if (_digest != other->_digest) { + if (digest() != other->digest()) { notes.push_back ("MXF digests differ"); } @@ -148,3 +148,17 @@ Asset::equals (shared_ptr other, EqualityFlags flags) const return notes; } + +string +Asset::digest () const +{ + if (_digest.empty ()) { + _digest = make_digest (mxf_path().string(), 0); + } + + return _digest; +} + + + + -- cgit v1.2.3