On Tue, 16 Oct 2018, Jim Dummett via DCPomatic wrote:
Hi Carl.
[snip]
I've checked that all the DCPs on that drive pass
a hash-check, but...
are the hashes calculated:
1. As the MXF files are created *before* they are written to disc?
or
2. Files written to disc first, and then read back from disc afterwards
to calculate hashes?
Number 2. Sadly you can't do it on the fly (as far as I can see) as when
the MXF is finished you have to write some stuff back to the header at the
start of the file.
I'm thinking that if any of the data got corrupted
between DCP-o-matic
writing it to disc and then reading it back again to calculate the
hashes, the hashes would reflect the corrupted data. And so the fact
that my hash-check passes wouldn't guarantee the DCP is as it should be.
Or is there some other integrity checking process which would make this
impossible?
You're right here, I think.
DCP-o-matic does save individual frame hashes as it writes the DCP, but
these are only used for resumption of encodes (to work out where the
previously encoded MXF stopped being "right").
It could re-check those hashes when it is making the new hash for the
CPL/PKL files. In fact it may not be much of a performance hit as that
operation is probably limited by disk IO.
https://dcpomatic.com/mantis/view.php?id=1380
Best,
Carl