summaryrefslogtreecommitdiff
path: root/src/h__Reader.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2009-05-18 05:18:32 +0000
committerjhurst <>2009-05-18 05:18:32 +0000
commit65a8ec13b66c700b74788d3fc7525e91cf62bab0 (patch)
tree15f588026b93aae7e65a4bf37ed4cffe8e4bc4ad /src/h__Reader.cpp
parent111e0170052b57fc128a37fa02736015edb8c60f (diff)
massive dictionary re-factoring
Diffstat (limited to 'src/h__Reader.cpp')
-rwxr-xr-xsrc/h__Reader.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/h__Reader.cpp b/src/h__Reader.cpp
index 3b954fb..1f41d95 100755
--- a/src/h__Reader.cpp
+++ b/src/h__Reader.cpp
@@ -36,7 +36,8 @@ using namespace ASDCP;
using namespace ASDCP::MXF;
//
-ASDCP::h__Reader::h__Reader() : m_EssenceStart(0)
+ASDCP::h__Reader::h__Reader(const Dictionary& d) :
+ m_HeaderPart(d), m_BodyPart(d), m_FooterPart(d), m_Dict(d), m_EssenceStart(0)
{
}
@@ -61,8 +62,8 @@ ASDCP::h__Reader::InitInfo()
InterchangeObject* Object;
m_Info.LabelSetType = LS_MXF_UNKNOWN;
- UL OPAtomUL(Dict::ul(MDD_OPAtom));
- UL Interop_OPAtomUL(Dict::ul(MDD_MXFInterop_OPAtom));
+ UL OPAtomUL(m_Dict.ul(MDD_OPAtom));
+ UL Interop_OPAtomUL(m_Dict.ul(MDD_MXFInterop_OPAtom));
if ( m_HeaderPart.OperationalPattern == Interop_OPAtomUL )
m_Info.LabelSetType = LS_MXF_INTEROP;
@@ -91,7 +92,7 @@ ASDCP::h__Reader::InitInfo()
Result_t cr_result = m_HeaderPart.GetMDObjectByType(OBJ_TYPE_ARGS(CryptographicContext), &Object);
if( ASDCP_SUCCESS(cr_result) )
- MD_to_CryptoInfo((CryptographicContext*)Object, m_Info);
+ MD_to_CryptoInfo((CryptographicContext*)Object, m_Info, m_Dict);
}
return result;
@@ -214,8 +215,8 @@ ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum, ui32_t SequenceNum, ASDCP::Fra
ui64_t PacketLength = Reader.Length();
m_LastPosition = m_LastPosition + Reader.KLLength() + PacketLength;
- if ( memcmp(Key.Value(), Dict::ul(MDD_CryptEssence), Key.Size() - 1) == 0 // ignore the stream numbers
- || memcmp(Key.Value(), Dict::ul(MDD_MXFInterop_CryptEssence), Key.Size() - 1) == 0 )
+ if ( memcmp(Key.Value(), m_Dict.ul(MDD_CryptEssence), Key.Size() - 1) == 0 // ignore the stream numbers
+ || memcmp(Key.Value(), m_Dict.ul(MDD_MXFInterop_CryptEssence), Key.Size() - 1) == 0 )
{
if ( ! m_Info.EncryptedEssence )
{
@@ -271,7 +272,7 @@ ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum, ui32_t SequenceNum, ASDCP::Fra
if ( memcmp(ess_p, EssenceUL, SMPTE_UL_LENGTH - 1) != 0 ) // ignore the stream number
{
char strbuf[IntBufferLen];
- const MDDEntry* Entry = Dict::FindUL(Key.Value());
+ const MDDEntry* Entry = m_Dict.FindUL(Key.Value());
if ( Entry == 0 )
DefaultLogSink().Warn("Unexpected Essence UL found: %s.\n", Key.EncodeString(strbuf, IntBufferLen));
else
@@ -382,7 +383,7 @@ ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum, ui32_t SequenceNum, ASDCP::Fra
else
{
char strbuf[IntBufferLen];
- const MDDEntry* Entry = Dict::FindUL(Key.Value());
+ const MDDEntry* Entry = m_Dict.FindUL(Key.Value());
if ( Entry == 0 )
DefaultLogSink().Warn("Unexpected Essence UL found: %s.\n", Key.EncodeString(strbuf, IntBufferLen));
else