aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacketVideo CM <engbuild@pv.com>2010-06-23 14:06:52 -0700
committerPacketVideo CM <engbuild@pv.com>2010-06-23 14:31:04 -0700
commitd4da20221cd8d3b0b67ef626a4443e99b00b1c8e (patch)
treeb3fb12aad7ee13ba3e0c64b800c8d8816b0c073c
parent2136fdd17eebe4d37498bcb2993814e0f24c8d8a (diff)
downloadopencore-d4da20221cd8d3b0b67ef626a4443e99b00b1c8e.tar.gz
RIO-9162: Fix for proper handling of MP4 clips with invalid edit list atoms
Change-Id: I57fbab8e2751f8eb4cf627992e490c5f8b01a962
-rw-r--r--engines/2way/src/pv_2way_sdkinfo.h4
-rw-r--r--engines/author/src/pv_author_sdkinfo.h4
-rw-r--r--engines/player/src/pv_player_sdkinfo.h4
-rw-r--r--fileformats/mp4/parser/src/editatom.cpp7
-rw-r--r--fileformats/mp4/parser/src/sampletableatom.cpp2
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)