@@ -731,7 +731,7 @@ STATUS putFrame(PKinesisVideoStream pKinesisVideoStream, PFrame pFrame)
731
731
UINT64 remainingSize = 0 , remainingDuration = 0 , thresholdPercent = 0 , duration = 0 , viewByteSize = 0 , allocSize = 0 ;
732
732
PBYTE pAlloc = NULL ;
733
733
UINT32 trackIndex , packagedSize = 0 , packagedMetadataSize = 0 , overallSize = 0 , itemFlags = ITEM_FLAG_NONE ;
734
- BOOL streamLocked = FALSE, clientLocked = FALSE, freeOnError = TRUE;
734
+ BOOL streamLocked = FALSE, clientLocked = FALSE, freeOnError = TRUE, justStartedStreaming = FALSE ;
735
735
EncodedFrameInfo encodedFrameInfo ;
736
736
MKV_STREAM_STATE generatorState = MKV_STATE_START_BLOCK ;
737
737
UINT64 currentTime = INVALID_TIMESTAMP_VALUE ;
@@ -900,7 +900,7 @@ STATUS putFrame(PKinesisVideoStream pKinesisVideoStream, PFrame pFrame)
900
900
CHK_STATUS (mkvgenPackageFrame (pKinesisVideoStream -> pMkvGenerator , pFrame , pTrackInfo , pAlloc , & packagedSize , & encodedFrameInfo ));
901
901
902
902
// Package the metadata if specified
903
- if (packagedMetadataSize != 0 ) {
903
+ if (packagedMetadataSize != 0 && ! justStartedStreaming ) {
904
904
// Move the packaged bits out first to make room for the metadata
905
905
// NOTE: need to use MEMMOVE due to the overlapping ranges
906
906
MEMMOVE (pAlloc + encodedFrameInfo .dataOffset + packagedMetadataSize , pAlloc + encodedFrameInfo .dataOffset ,
0 commit comments