summaryrefslogtreecommitdiff
path: root/asdcplib/src/h__Writer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'asdcplib/src/h__Writer.cpp')
-rwxr-xr-xasdcplib/src/h__Writer.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/asdcplib/src/h__Writer.cpp b/asdcplib/src/h__Writer.cpp
index 5d3a1d5a..662e0f82 100755
--- a/asdcplib/src/h__Writer.cpp
+++ b/asdcplib/src/h__Writer.cpp
@@ -499,11 +499,13 @@ ASDCP::h__Writer::WriteMXFHeader(const std::string& PackageLabel, const UL& Wrap
// standard method of writing a plaintext or encrypted frame
Result_t
ASDCP::h__Writer::WriteEKLVPacket(const ASDCP::FrameBuffer& FrameBuf, const byte_t* EssenceUL,
- AESEncContext* Ctx, HMACContext* HMAC)
+ AESEncContext* Ctx, HMACContext* HMAC, std::string* hash)
{
Result_t result = RESULT_OK;
IntegrityPack IntPack;
+ m_File.StartHashing();
+
byte_t overhead[128];
Kumu::MemIOWriter Overhead(overhead, 128);
assert(m_Dict);
@@ -635,6 +637,10 @@ ASDCP::h__Writer::WriteEKLVPacket(const ASDCP::FrameBuffer& FrameBuf, const byte
if ( ASDCP_SUCCESS(result) )
result = m_File.Writev();
+ if (hash) {
+ *hash = m_File.StopHashing();
+ }
+
return result;
}