From e0f46a5384974afa6f0be8a738e4989853323fbe Mon Sep 17 00:00:00 2001 From: jhurst Date: Fri, 3 Feb 2012 19:49:57 +0000 Subject: megachanges --- src/asdcp-test.cpp | 61 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 17 deletions(-) (limited to 'src/asdcp-test.cpp') diff --git a/src/asdcp-test.cpp b/src/asdcp-test.cpp index 624c18b..384324d 100755 --- a/src/asdcp-test.cpp +++ b/src/asdcp-test.cpp @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, John Hurst +Copyright (c) 2003-2012, John Hurst All rights reserved. Redistribution and use in source and binary forms, with or without @@ -103,7 +103,7 @@ banner(FILE* stream = stdout) { fprintf(stream, "\n\ %s (asdcplib %s)\n\n\ -Copyright (c) 2003-2011 John Hurst\n\n\ +Copyright (c) 2003-2012 John Hurst\n\n\ asdcplib may be copied only under the terms of the license found at\n\ the top of every file in the asdcplib distribution kit.\n\n\ Specify the -h (help) option for further information about %s\n\n", @@ -132,8 +132,9 @@ USAGE: %s -c [-3] [-a ] [-b ]\n\ \n\ %s -x [-3] [-b ] [-d ]\n\ [-f ] [-m] [-p ] [-R] [-s ] [-S|-1]\n\ - [-v] [-W] [-w] \n\ -\n", PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME); + [-v] [-W] [-w] \n\n", + PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, + PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME); fprintf(stream, "\ Major modes:\n\ @@ -1782,28 +1783,54 @@ show_file_info(CommandOptions& Options) return result; if ( EssenceType == ESS_MPEG2_VES ) - result = FileInfoWrapper::file_info(Options, "MPEG2 video"); - + { + result = FileInfoWrapper::file_info(Options, "MPEG2 video"); + } else if ( EssenceType == ESS_PCM_24b_48k || EssenceType == ESS_PCM_24b_96k ) - result = FileInfoWrapper::file_info(Options, "PCM audio"); + { + result = FileInfoWrapper::file_info(Options, "PCM audio"); + + if ( ASDCP_SUCCESS(result) ) + { + const Dictionary* Dict = &DefaultCompositeDict(); + PCM::MXFReader Reader; + MXF::OPAtomHeader OPAtomHeader(Dict); + MXF::WaveAudioDescriptor *descriptor = 0; + result = Reader.OpenRead(Options.filenames[0]); + + if ( ASDCP_SUCCESS(result) ) + result = Reader.OPAtomHeader().GetMDObjectByType(Dict->ul(MDD_WaveAudioDescriptor), reinterpret_cast(&descriptor)); + + if ( ASDCP_SUCCESS(result) ) + { + char buf[64]; + fprintf(stdout, " ChannelAssignment: %s\n", descriptor->ChannelAssignment.EncodeString(buf, 64)); + } + } + } else if ( EssenceType == ESS_JPEG_2000 ) { if ( Options.stereo_image_flag ) - result = FileInfoWrapper::file_info(Options, "JPEG 2000 stereoscopic pictures"); - + { + result = FileInfoWrapper::file_info(Options, "JPEG 2000 stereoscopic pictures"); + } else - result = FileInfoWrapper::file_info(Options, "JPEG 2000 pictures"); + { + result = FileInfoWrapper::file_info(Options, "JPEG 2000 pictures"); + } } else if ( EssenceType == ESS_JPEG_2000_S ) - result = FileInfoWrapper::file_info(Options, "JPEG 2000 stereoscopic pictures"); - + { + result = FileInfoWrapper::file_info(Options, "JPEG 2000 stereoscopic pictures"); + } else if ( EssenceType == ESS_TIMED_TEXT ) - result = FileInfoWrapper::file_info(Options, "Timed Text"); - + { + result = FileInfoWrapper::file_info(Options, "Timed Text"); + } else { fprintf(stderr, "File is not AS-DCP: %s\n", Options.filenames[0]); -- cgit v1.2.3