aboutsummaryrefslogtreecommitdiff
path: root/common/quicktime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/quicktime.cpp')
-rw-r--r--common/quicktime.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/common/quicktime.cpp b/common/quicktime.cpp
index 76880e1016..ecbf021e45 100644
--- a/common/quicktime.cpp
+++ b/common/quicktime.cpp
@@ -124,9 +124,8 @@ void QuickTimeParser::init() {
// If this track doesn't have an edit list (like in MPEG-4 files),
// fake an entry of one edit that takes up the entire sample
- if (_tracks[i]->editCount == 0) {
- _tracks[i]->editCount = 1;
- _tracks[i]->editList = new EditListEntry[1];
+ if (_tracks[i]->editList.size() == 0) {
+ _tracks[i]->editList.resize(1);
_tracks[i]->editList[0].trackDuration = _tracks[i]->duration;
_tracks[i]->editList[0].timeOffset = 0;
_tracks[i]->editList[0].mediaTime = 0;
@@ -434,14 +433,14 @@ int QuickTimeParser::readELST(Atom atom) {
_fd->readByte(); // version
_fd->readByte(); _fd->readByte(); _fd->readByte(); // flags
- track->editCount = _fd->readUint32BE();
- track->editList = new EditListEntry[track->editCount];
+ uint32 editCount = _fd->readUint32BE();
+ track->editList.resize(editCount);
- debug(2, "Track %d edit list count: %d", _tracks.size() - 1, track->editCount);
+ debug(2, "Track %d edit list count: %d", _tracks.size() - 1, editCount);
uint32 offset = 0;
- for (uint32 i = 0; i < track->editCount; i++) {
+ for (uint32 i = 0; i < editCount; i++) {
track->editList[i].trackDuration = _fd->readUint32BE();
track->editList[i].mediaTime = _fd->readSint32BE();
track->editList[i].mediaRate = Rational(_fd->readUint32BE(), 0x10000);
@@ -836,8 +835,6 @@ QuickTimeParser::Track::Track() {
width = 0;
height = 0;
codecType = CODEC_TYPE_MOV_OTHER;
- editCount = 0;
- editList = 0;
frameCount = 0;
duration = 0;
startTime = 0;
@@ -850,7 +847,6 @@ QuickTimeParser::Track::~Track() {
delete[] sampleToChunk;
delete[] sampleSizes;
delete[] keyframes;
- delete[] editList;
for (uint32 i = 0; i < sampleDescs.size(); i++)
delete sampleDescs[i];