Thank you for all your work on this, Carsten.
On Mon, 7 Mar 2016, Carsten Kurz via DCPomatic wrote:
Alright, now this issue has been fully resolved.
Turned out there is an optional feature in creating encrypted MXF files
that is called frame HMAC. The Barco ICMP would crash on trying to play
MXF files missing these HMAC tags.
Both DCP-o-matic and Colorfront Transkoder were not writing these
(optional) HMAC tags, and the Barco ICMP was the only server/media block
who would actually crash on these files.
As a result, I was not able to create encrypted INTEROP or SMPTE DCPs
for our Barco ICMP. The same DCPs would play without any issues on our
Sony.
So, this issue now was resolved from both sides: Barco issued a firmware
update for the ICMP (1.2.2.11) which will accept MXF files that do not
contain HMAC. Plus, Colorfront Transkoder AND DCP-o-matic are now
writing HMAC.
So, if you have trouble creating encrypted INTEROP or SMPTE DCPs for a
Barco Alchemy/ICMP, either have them update their ICMP software to at
least 1.2.2.11, and/or use DCP-o-matic from version 2.6.31 up.
Here is an explanation of what HMAC is from Mr. John Hurst:
'The HMAC (Hashed Message Authentication Code) is an optional set of
values appended to each encrypted picture frame. It allows the decoder
to detect altered or re-ordered frames. See SMPTE ST 429-6 for the
details. Not only is the HMAC optional in the MXF file, it is also
optional decoder behavior, i.e., the decoder can ignore it when it is
present.'
- Carsten