summaryrefslogtreecommitdiff
path: root/src/klvwalk.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2007-06-08 02:24:37 +0000
committerjhurst <>2007-06-08 02:24:37 +0000
commit3a3aa48a5a4f7324a9e4c2273d0747d7f58a2813 (patch)
treebf218b1e6e4ee415ff94576e08b923801340c4a5 /src/klvwalk.cpp
parent27915a74438fcf264d8dfd621dd5e79fa4065813 (diff)
fixed encryption for timed text
Diffstat (limited to 'src/klvwalk.cpp')
-rwxr-xr-xsrc/klvwalk.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/klvwalk.cpp b/src/klvwalk.cpp
index 467eff9..bf9d9fb 100755
--- a/src/klvwalk.cpp
+++ b/src/klvwalk.cpp
@@ -192,7 +192,7 @@ main(int argc, const char** argv)
if (Options.verbose_flag)
fprintf(stderr, "Opening file %s\n", ((*fi).c_str()));
- if ( Options.read_mxf_flag )
+ if ( Options.read_mxf_flag ) // dump MXF
{
Kumu::FileReader Reader;
ASDCP::MXF::OPAtomHeader Header;
@@ -204,6 +204,25 @@ main(int argc, const char** argv)
Header.Dump(stdout);
+ if ( ASDCP_SUCCESS(result) && Header.m_RIP.PairArray.size() > 3 )
+ {
+ MXF::Array<MXF::RIP::Pair>::const_iterator pi = Header.m_RIP.PairArray.begin();
+
+ for ( pi++; pi != Header.m_RIP.PairArray.end() && ASDCP_SUCCESS(result); pi++ )
+ {
+ result = Reader.Seek((*pi).ByteOffset);
+
+ if ( ASDCP_SUCCESS(result) )
+ {
+ MXF::Partition TmpPart;
+ result = TmpPart.InitFromFile(Reader);
+
+ if ( ASDCP_SUCCESS(result) && TmpPart.BodySID > 0 )
+ TmpPart.Dump(stdout);
+ }
+ }
+ }
+
if ( ASDCP_SUCCESS(result) )
{
ASDCP::MXF::OPAtomIndexFooter Index;