summaryrefslogtreecommitdiff
path: root/src/klvwalk.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2013-06-03 00:12:31 +0000
committerjhurst <>2013-06-03 00:12:31 +0000
commitf285ea055151fae2e13d71c2d0282201197a9143 (patch)
tree718615ffacefa98c498ec15dd9e373ccb8cba16b /src/klvwalk.cpp
parentdc0a23dd428b933040c9ff1602f5d35a27cbc8cb (diff)
the big-pre-as-02-refactor
Diffstat (limited to 'src/klvwalk.cpp')
-rwxr-xr-xsrc/klvwalk.cpp36
1 files changed, 31 insertions, 5 deletions
diff --git a/src/klvwalk.cpp b/src/klvwalk.cpp
index 92e7a3f..f87d2c5 100755
--- a/src/klvwalk.cpp
+++ b/src/klvwalk.cpp
@@ -194,21 +194,47 @@ main(int argc, const char** argv)
{
Kumu::FileReader Reader;
const Dictionary* Dict = &DefaultCompositeDict();
- ASDCP::MXF::OPAtomHeader Header(Dict);
+ ASDCP::MXF::OP1aHeader Header(Dict);
+ ASDCP::MXF::RIP RIP(Dict);
result = Reader.OpenRead((*fi).c_str());
if ( ASDCP_SUCCESS(result) )
+ result = MXF::SeekToRIP(Reader);
+
+ if ( ASDCP_SUCCESS(result) )
+ {
+ result = RIP.InitFromFile(Reader);
+ ui32_t test_s = RIP.PairArray.size();
+
+ if ( ASDCP_FAILURE(result) )
+ {
+ DefaultLogSink().Error("File contains no RIP\n");
+ result = RESULT_OK;
+ }
+ else if ( RIP.PairArray.empty() )
+ {
+ DefaultLogSink().Error("RIP contains no Pairs.\n");
+ }
+
+ Reader.Seek(0);
+ }
+ else
+ {
+ DefaultLogSink().Error("ASDCP::h__Reader::OpenMXFRead, SeekToRIP failed\n");
+ }
+
+ if ( ASDCP_SUCCESS(result) )
result = Header.InitFromFile(Reader);
if ( ASDCP_SUCCESS(result) )
Header.Dump(stdout);
- if ( ASDCP_SUCCESS(result) && Header.m_RIP.PairArray.size() > 2 )
+ if ( ASDCP_SUCCESS(result) && RIP.PairArray.size() > 2 )
{
- MXF::Array<MXF::RIP::Pair>::const_iterator pi = Header.m_RIP.PairArray.begin();
+ MXF::Array<MXF::RIP::Pair>::const_iterator pi = RIP.PairArray.begin();
- for ( pi++; pi != Header.m_RIP.PairArray.end() && ASDCP_SUCCESS(result); pi++ )
+ for ( pi++; pi != RIP.PairArray.end() && ASDCP_SUCCESS(result); pi++ )
{
result = Reader.Seek((*pi).ByteOffset);
@@ -239,7 +265,7 @@ main(int argc, const char** argv)
}
if ( ASDCP_SUCCESS(result) )
- Header.m_RIP.Dump(stdout);
+ RIP.Dump(stdout);
}
else // dump klv
{