projects
/
asdcplib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Forgot a fix.
[asdcplib.git]
/
src
/
AS_DCP_PCM.cpp
diff --git
a/src/AS_DCP_PCM.cpp
b/src/AS_DCP_PCM.cpp
index 38bf8e478c09781f2a1338cfed0fac3617e5487b..e32445ba2462bcdb3929747e912067558b2f033d 100755
(executable)
--- a/
src/AS_DCP_PCM.cpp
+++ b/
src/AS_DCP_PCM.cpp
@@
-67,7
+67,8
@@
MD_to_PCM_ADesc(MXF::WaveAudioDescriptor* ADescObj, PCM::AudioDescriptor& ADesc)
ADesc.BlockAlign = ADescObj->BlockAlign;
ADesc.AvgBps = ADescObj->AvgBps;
ADesc.LinkedTrackID = ADescObj->LinkedTrackID;
ADesc.BlockAlign = ADescObj->BlockAlign;
ADesc.AvgBps = ADescObj->AvgBps;
ADesc.LinkedTrackID = ADescObj->LinkedTrackID;
- ADesc.ContainerDuration = ADescObj->ContainerDuration;
+ assert(ADescObj->ContainerDuration <= 0xFFFFFFFFL);
+ ADesc.ContainerDuration = (ui32_t) ADescObj->ContainerDuration;
return RESULT_OK;
}
return RESULT_OK;
}
@@
-160,7
+161,8
@@
ASDCP::PCM::MXFReader::h__Reader::OpenRead(const char* filename)
}
// check for sample/frame rate sanity
}
// check for sample/frame rate sanity
- if ( m_ADesc.SampleRate != EditRate_24
+ if ( ASDCP_SUCCESS(result)
+ && m_ADesc.SampleRate != EditRate_24
&& m_ADesc.SampleRate != EditRate_48
&& m_ADesc.SampleRate != EditRate_23_98 )
{
&& m_ADesc.SampleRate != EditRate_48
&& m_ADesc.SampleRate != EditRate_23_98 )
{
@@
-202,7
+204,7
@@
ASDCP::PCM::MXFReader::h__Reader::ReadFrame(ui32_t FrameNum, FrameBuffer& FrameB
if ( ! m_File.IsOpen() )
return RESULT_INIT;
if ( ! m_File.IsOpen() )
return RESULT_INIT;
- return ReadEKLV
Packet
(FrameNum, FrameBuf, Dict::ul(MDD_WAVEssence), Ctx, HMAC);
+ return ReadEKLV
Frame
(FrameNum, FrameBuf, Dict::ul(MDD_WAVEssence), Ctx, HMAC);
}
//------------------------------------------------------------------------------------------
}
//------------------------------------------------------------------------------------------
@@
-449,14
+451,12
@@
ASDCP::PCM::MXFWriter::OpenWrite(const char* filename, const WriterInfo& Info,
const AudioDescriptor& ADesc, ui32_t HeaderSize)
{
m_Writer = new h__Writer;
const AudioDescriptor& ADesc, ui32_t HeaderSize)
{
m_Writer = new h__Writer;
+ m_Writer->m_Info = Info;
Result_t result = m_Writer->OpenWrite(filename, HeaderSize);
if ( ASDCP_SUCCESS(result) )
Result_t result = m_Writer->OpenWrite(filename, HeaderSize);
if ( ASDCP_SUCCESS(result) )
- {
- m_Writer->m_Info = Info;
- result = m_Writer->SetSourceStream(ADesc);
- }
+ result = m_Writer->SetSourceStream(ADesc);
if ( ASDCP_FAILURE(result) )
m_Writer.release();
if ( ASDCP_FAILURE(result) )
m_Writer.release();