X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fh__02_Writer.cpp;h=ff8d000e71f668d3c77566c22bebb77f70f76086;hb=ab3e3df49a9d4a44a3bf11211e31bdeac3ef7bcf;hp=1de439214f363b48cf015cda61dc926855173278;hpb=8d24b6effb0377fc3041c2e024e7c5593caecc52;p=asdcplib.git diff --git a/src/h__02_Writer.cpp b/src/h__02_Writer.cpp index 1de4392..ff8d000 100644 --- a/src/h__02_Writer.cpp +++ b/src/h__02_Writer.cpp @@ -354,22 +354,26 @@ AS_02::h__AS02WriterClip::FinalizeClip(ui32_t bytes_per_frame) ui64_t current_position = m_File.Tell(); Result_t result = m_File.Seek(m_ClipStart+16); - if ( ASDCP_SUCCESS(result) ) + if ( KM_SUCCESS(result) ) { byte_t clip_buffer[8] = {0}; - bool check = Kumu::write_BER(clip_buffer, m_FramesWritten * bytes_per_frame, 8); + ui64_t size = static_cast(m_FramesWritten) * bytes_per_frame; + bool check = Kumu::write_BER(clip_buffer, size, 8); assert(check); result = m_File.Write(clip_buffer, 8); } - m_File.Seek(current_position); - m_ClipStart = 0; + if ( KM_SUCCESS(result) ) + { + result = m_File.Seek(current_position); + m_ClipStart = 0; + } + return result; } - // // end h__02_Writer.cpp //