From d4da20221cd8d3b0b67ef626a4443e99b00b1c8e Mon Sep 17 00:00:00 2001 From: PacketVideo CM Date: Wed, 23 Jun 2010 14:06:52 -0700 Subject: RIO-9162: Fix for proper handling of MP4 clips with invalid edit list atoms Change-Id: I57fbab8e2751f8eb4cf627992e490c5f8b01a962 --- engines/2way/src/pv_2way_sdkinfo.h | 4 ++-- engines/author/src/pv_author_sdkinfo.h | 4 ++-- engines/player/src/pv_player_sdkinfo.h | 4 ++-- fileformats/mp4/parser/src/editatom.cpp | 7 ++++--- fileformats/mp4/parser/src/sampletableatom.cpp | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/engines/2way/src/pv_2way_sdkinfo.h b/engines/2way/src/pv_2way_sdkinfo.h index ef27d1d4f..f278f7f03 100644 --- a/engines/2way/src/pv_2way_sdkinfo.h +++ b/engines/2way/src/pv_2way_sdkinfo.h @@ -21,7 +21,7 @@ // This header file is automatically generated at build-time // *** OFFICIAL RELEASE INFO -- Will not auto update -#define PV2WAY_ENGINE_SDKINFO_LABEL "1503207" -#define PV2WAY_ENGINE_SDKINFO_DATE 0x20100617 +#define PV2WAY_ENGINE_SDKINFO_LABEL "1503703" +#define PV2WAY_ENGINE_SDKINFO_DATE 0x20100618 #endif //PV_2WAY_SDKINFO_H_INCLUDED diff --git a/engines/author/src/pv_author_sdkinfo.h b/engines/author/src/pv_author_sdkinfo.h index 865c0fac4..cd80edb48 100644 --- a/engines/author/src/pv_author_sdkinfo.h +++ b/engines/author/src/pv_author_sdkinfo.h @@ -21,7 +21,7 @@ // This header file is automatically generated at build-time // *** OFFICIAL RELEASE INFO -- Will not auto update -#define PVAUTHOR_ENGINE_SDKINFO_LABEL "1503207" -#define PVAUTHOR_ENGINE_SDKINFO_DATE 0x20100617 +#define PVAUTHOR_ENGINE_SDKINFO_LABEL "1503703" +#define PVAUTHOR_ENGINE_SDKINFO_DATE 0x20100618 #endif //PV_AUTHOR_SDKINFO_H_INCLUDED diff --git a/engines/player/src/pv_player_sdkinfo.h b/engines/player/src/pv_player_sdkinfo.h index b52e56330..0f9b60dd4 100644 --- a/engines/player/src/pv_player_sdkinfo.h +++ b/engines/player/src/pv_player_sdkinfo.h @@ -21,7 +21,7 @@ // This header file is automatically generated at build-time // *** OFFICIAL RELEASE INFO -- Will not auto update -#define PVPLAYER_ENGINE_SDKINFO_LABEL "1503207" -#define PVPLAYER_ENGINE_SDKINFO_DATE 0x20100617 +#define PVPLAYER_ENGINE_SDKINFO_LABEL "1503703" +#define PVPLAYER_ENGINE_SDKINFO_DATE 0x20100618 #endif //PV_PLAYER_SDKINFO_H_INCLUDED diff --git a/fileformats/mp4/parser/src/editatom.cpp b/fileformats/mp4/parser/src/editatom.cpp index 90bfe6c43..9001a8ca8 100644 --- a/fileformats/mp4/parser/src/editatom.cpp +++ b/fileformats/mp4/parser/src/editatom.cpp @@ -61,9 +61,10 @@ EditAtom::EditAtom(MP4_FF_FILE *fp, uint32 size, uint32 type) } else { - _success = false; - _mp4ErrorCode = READ_UNKNOWN_ATOM; - break; + dataLength -= atomSize; + atomSize -= DEFAULT_ATOM_SIZE; + AtomUtils::seekFromCurrPos(fp, atomSize); + } } diff --git a/fileformats/mp4/parser/src/sampletableatom.cpp b/fileformats/mp4/parser/src/sampletableatom.cpp index 2921aa194..85ebfbcfc 100644 --- a/fileformats/mp4/parser/src/sampletableatom.cpp +++ b/fileformats/mp4/parser/src/sampletableatom.cpp @@ -3578,7 +3578,7 @@ void SampleTableAtom::handleEditList(uint64 &ts) if ((_pEditListTimeVec == NULL) || (_pEditListDurationVec == NULL)) return; - if ((ts < _prevEditDuration) || (_editIndex > _pEditListTimeVec->size())) + if ((ts < _prevEditDuration) || (_editIndex >= _pEditListTimeVec->size())) return; if ((*_pEditListTimeVec)[_editIndex] == -1) -- cgit v1.2.3