From f0476a3789369459fb91076af4a29372d86d7622 Mon Sep 17 00:00:00 2001 From: jhurst Date: Tue, 21 Nov 2006 23:58:00 +0000 Subject: MPEG parser fixes: zero run-in patch, header buffer increase --- src/AS_DCP_MXF.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/AS_DCP_MXF.cpp') diff --git a/src/AS_DCP_MXF.cpp b/src/AS_DCP_MXF.cpp index 9b86b55..68d9d6b 100755 --- a/src/AS_DCP_MXF.cpp +++ b/src/AS_DCP_MXF.cpp @@ -32,6 +32,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include "AS_DCP_internal.h" #include "JP2K.h" +#include "MPEG.h" #include "Wav.h" @@ -189,8 +190,10 @@ ASDCP::RawEssenceType(const char* filename, EssenceType_t& type) if ( ASDCP_SUCCESS(result) ) { const byte_t* p = FB.RoData(); + ui32_t i = 0; + while ( p[i] == 0 ) i++; - if ( p[0] == 0 && p[1] == 0 && p[2] == 1 && (p[3] == 0xb3 || p[3] == 0) ) + if ( i > 1 && p[i] == 1 && (p[i+1] == ASDCP::MPEG2::SEQ_START || p[i+1] == ASDCP::MPEG2::PIC_START) ) type = ESS_MPEG2_VES; else if ( ASDCP_SUCCESS(WavHeader.ReadFromBuffer(p, read_count, &data_offset)) ) -- cgit v1.2.3