From: dbullock Date: Fri, 14 Jun 2019 22:30:13 +0000 (-0700) Subject: Fix HMAC sequence count on MXF read. X-Git-Tag: rel_2_10_33^2~7 X-Git-Url: https://git.carlh.net/gitweb/?p=asdcplib.git;a=commitdiff_plain;h=5000f665e035e3ced7f190aca715de8d3288a6b2;hp=00da02605a461f0ebc59d398a67ec38afa340c0b Fix HMAC sequence count on MXF read. This fixes #4. --- diff --git a/src/AS_DCP_internal.h b/src/AS_DCP_internal.h index 83272c0..57ed006 100755 --- a/src/AS_DCP_internal.h +++ b/src/AS_DCP_internal.h @@ -414,17 +414,23 @@ namespace ASDCP // Count the sequence length in because this is the sequence // value needed to complete the HMAC. ASDCP::MXF::RIP::const_pair_iterator i; - for ( i = m_RIP.PairArray.begin(); i != m_RIP.PairArray.end(); ++i, ++sequence ) + for ( i = m_RIP.PairArray.begin(); i != m_RIP.PairArray.end(); ++i) { - if ( sid == i->BodySID ) - { - start_offset = i->ByteOffset; - } - else if ( start_offset != 0 ) - { - end_offset = i->ByteOffset; - break; - } + if ( sid == i->BodySID ) + { + assert( start_offset == 0); + start_offset = i->ByteOffset; + } + else if ( start_offset != 0 ) + { + end_offset = i->ByteOffset; + break; + } + + if ( i->BodySID > 0 ) + { + ++sequence; + } } if ( start_offset == 0 || end_offset == 0 )