MXF::RGBAEssenceDescriptor* PDescObj = (MXF::RGBAEssenceDescriptor*)m_EssenceDescriptor;
PDesc.EditRate = m_EditRate;
- PDesc.ContainerDuration = PDescObj->ContainerDuration;
+ assert(PDescObj->ContainerDuration <= 0xFFFFFFFFL);
+ PDesc.ContainerDuration = (ui32_t) PDescObj->ContainerDuration;
PDesc.StoredWidth = PDescObj->StoredWidth;
PDesc.StoredHeight = PDescObj->StoredHeight;
PDesc.AspectRatio = PDescObj->AspectRatio;
VDesc.SampleRate = VDescObj->SampleRate;
VDesc.EditRate = VDescObj->SampleRate;
VDesc.FrameRate = VDescObj->SampleRate.Numerator;
- VDesc.ContainerDuration = VDescObj->ContainerDuration;
+ assert(VDescObj->ContainerDuration <= 0xFFFFFFFFL);
+ VDesc.ContainerDuration = (ui32_t) VDescObj->ContainerDuration;
VDesc.FrameLayout = VDescObj->FrameLayout;
VDesc.StoredWidth = VDescObj->StoredWidth;
// update the index manager
Entry.TemporalOffset = - FrameBuf.TemporalOffset();
- Entry.KeyFrameOffset = - m_GOPOffset;
+ Entry.KeyFrameOffset = 0 - m_GOPOffset;
Entry.Flags = Flags;
/*
fprintf(stderr, "to: %4hd ko: %4hd c1: %4hd c2: %4hd fl: 0x%02x\n",
ADesc.BlockAlign = ADescObj->BlockAlign;
ADesc.AvgBps = ADescObj->AvgBps;
ADesc.LinkedTrackID = ADescObj->LinkedTrackID;
+ assert(ADescObj->ContainerDuration <= 0xFFFFFFFFL);
ADesc.ContainerDuration = ADescObj->ContainerDuration;
return RESULT_OK;
}
MXF::TimedTextDescriptor* TDescObj = (MXF::TimedTextDescriptor*)m_EssenceDescriptor;
TDesc.EditRate = TDescObj->SampleRate;
- TDesc.ContainerDuration = TDescObj->ContainerDuration;
+ assert(TDescObj->ContainerDuration <= 0xFFFFFFFFL);
+ TDesc.ContainerDuration = (ui32_t) TDescObj->ContainerDuration;
memcpy(TDesc.AssetID, TDescObj->ResourceID.Value(), UUIDlen);
TDesc.NamespaceName = TDescObj->NamespaceURI;
TDesc.EncodingName = TDescObj->UCSEncoding;
result = RESULT_NOT_FOUND;
if ( ASDCP_SUCCESS(result) )
- result = TmpBuffer.Capacity(file_size);
+ {
+ assert(file_size <= 0xFFFFFFFFL);
+ result = TmpBuffer.Capacity((ui32_t) file_size);
+ }
if ( ASDCP_SUCCESS(result) )
result = Parser.OpenReadFrame((*m_CurrentFile).c_str(), TmpBuffer);
if ( ! Kumu::read_BER(buf + SMPTE_UL_LENGTH, &tmp_size) )
return RESULT_FAIL;
- m_ValueLength = tmp_size;
+ assert (tmp_size <= 0xFFFFFFFFL);
+ m_ValueLength = (ui32_t) tmp_size;
m_KLLength = SMPTE_UL_LENGTH + Kumu::BER_length(buf + SMPTE_UL_LENGTH);
m_KeyStart = buf;
m_ValueStart = buf + m_KLLength;
ui32_t remainder = 0;
ui32_t ber_len = Kumu::BER_length(tmp_data + SMPTE_UL_LENGTH);
m_KLLength = SMPTE_UL_LENGTH + ber_len;
- m_ValueLength = tmp_size;
+ assert(tmp_size <= 0xFFFFFFFFL);
+ m_ValueLength = (ui32_t) tmp_size;
ui32_t packet_length = m_ValueLength + m_KLLength;
result = m_Buffer.Capacity(packet_length);
return false;
else
- AddHours( (datestr[19] == '-' ? (-TZ_hh) : TZ_hh));
+ AddHours( (datestr[19] == '-' ? (0 - TZ_hh) : TZ_hh));
}
}
if ( ASDCP_SUCCESS(result) )
{
- m_ParamsDelegate.m_VDesc.ContainerDuration = m_FileReader.Size() / 65536; // a gross approximation
+ ui64_t tmp = m_FileReader.Size() / 65536; // a gross approximation
+ m_ParamsDelegate.m_VDesc.ContainerDuration = (ui32_t) tmp;
m_Parser.SetDelegate(&m_ParserDelegate);
m_FileReader.Seek(0);
}
if ( HeaderByteCount < 1024 )
DefaultLogSink().Warn("Improbably small HeaderByteCount value: %u\n", HeaderByteCount);
- result = m_Buffer.Capacity(HeaderByteCount);
+ assert (HeaderByteCount <= 0xFFFFFFFFL);
+ result = m_Buffer.Capacity((ui32_t) HeaderByteCount);
if ( ASDCP_SUCCESS(result) )
{
ASDCP::FrameBuffer HeaderBuffer;
HeaderByteCount = HeaderSize - ArchiveSize();
- Result_t result = HeaderBuffer.Capacity(HeaderByteCount);
+ assert (HeaderByteCount <= 0xFFFFFFFFL);
+ Result_t result = HeaderBuffer.Capacity((ui32_t) HeaderByteCount);
m_Preface->m_Lookup = &m_Primer;
std::list<InterchangeObject*>::iterator pl_i = m_PacketList->m_List.begin();
ui32_t read_count;
if ( ASDCP_SUCCESS(result) )
- result = m_Buffer.Capacity(IndexByteCount);
+ {
+ assert (IndexByteCount <= 0xFFFFFFFFL);
+ result = m_Buffer.Capacity((ui32_t) IndexByteCount);
+ }
if ( ASDCP_SUCCESS(result) )
result = Reader.Read(m_Buffer.Data(), m_Buffer.Capacity(), &read_count);
else if ( (ui64_t)frame_num >= start_pos
&& (ui64_t)frame_num < (start_pos + Segment->IndexDuration) )
{
- Entry = Segment->IndexEntryArray[frame_num-start_pos];
+ ui64_t tmp = frame_num - start_pos;
+ assert(tmp <= 0xFFFFFFFFL);
+ Entry = Segment->IndexEntryArray[(ui32_t) tmp];
return RESULT_OK;
}
}
ADesc.AudioSamplingRate = extended_to_Rat(sampleRate);
ADesc.QuantizationBits = sampleSize;
ADesc.BlockAlign = sampleSize / 8;
- ADesc.AvgBps = ADesc.BlockAlign * ADesc.AudioSamplingRate.Quotient();
+ ADesc.AvgBps = (ui32_t) (ADesc.BlockAlign * ADesc.AudioSamplingRate.Quotient());
ui32_t FrameBufferSize = ASDCP::PCM::CalcFrameBufferSize(ADesc);
ADesc.ContainerDuration = data_len / FrameBufferSize;
}
}
// read encrypted triplet value into internal buffer
- m_CtFrameBuf.Capacity(PacketLength);
+ assert(PacketLength <= 0xFFFFFFFFL);
+ m_CtFrameBuf.Capacity((ui32_t) PacketLength);
ui32_t read_count;
- result = m_File.Read(m_CtFrameBuf.Data(), PacketLength, &read_count);
+ result = m_File.Read(m_CtFrameBuf.Data(), (ui32_t) PacketLength,
+ &read_count);
if ( ASDCP_FAILURE(result) )
return result;
return RESULT_FORMAT;
}
- m_CtFrameBuf.Size(PacketLength);
+ m_CtFrameBuf.Size((ui32_t) PacketLength);
// should be const but mxflib::ReadBER is not
byte_t* ess_p = m_CtFrameBuf.Data();
// read the data into the supplied buffer
ui32_t read_count;
- result = m_File.Read(FrameBuf.Data(), PacketLength, &read_count);
+ assert(PacketLength <= 0xFFFFFFFFL);
+ result = m_File.Read(FrameBuf.Data(), (ui32_t) PacketLength, &read_count);
if ( ASDCP_FAILURE(result) )
return result;