summaryrefslogtreecommitdiff
path: root/libavformat/matroskadec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-06-11 09:16:13 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-06-11 09:16:13 +0200
commit045e371cf1f002cf75e9ef7b3e072723473f0c83 (patch)
tree8f07a0f5185ce2985f6375b376ee3d2332de32d7 /libavformat/matroskadec.c
parent529ebc90f2423aed54e5534427dc5901a3cc4a60 (diff)
parent8835c554ff506992c47f6e347c74216ae073f0fa (diff)
Merge commit '8835c554ff506992c47f6e347c74216ae073f0fa'
* commit '8835c554ff506992c47f6e347c74216ae073f0fa': matroskadec: introduce resync function. Conflicts: libavformat/matroskadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/matroskadec.c')
-rw-r--r--libavformat/matroskadec.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index b046e25d57..a1aa0ebd10 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -628,21 +628,20 @@ static int matroska_resync(MatroskaDemuxContext *matroska, int64_t last_pos)
matroska->current_id = 0;
matroska->num_levels = 0;
- // seek to next position to resync from
- if (avio_seek(pb, last_pos + 1, SEEK_SET) < 0 || avio_tell(pb) <= last_pos)
+ /* seek to next position to resync from */
+ if (avio_seek(pb, last_pos + 1, SEEK_SET) < 0)
goto eof;
id = avio_rb32(pb);
// try to find a toplevel element
while (!url_feof(pb)) {
- if (id == MATROSKA_ID_INFO || id == MATROSKA_ID_TRACKS ||
- id == MATROSKA_ID_CUES || id == MATROSKA_ID_TAGS ||
+ if (id == MATROSKA_ID_INFO || id == MATROSKA_ID_TRACKS ||
+ id == MATROSKA_ID_CUES || id == MATROSKA_ID_TAGS ||
id == MATROSKA_ID_SEEKHEAD || id == MATROSKA_ID_ATTACHMENTS ||
- id == MATROSKA_ID_CLUSTER || id == MATROSKA_ID_CHAPTERS)
- {
- matroska->current_id = id;
- return 0;
+ id == MATROSKA_ID_CLUSTER || id == MATROSKA_ID_CHAPTERS) {
+ matroska->current_id = id;
+ return 0;
}
id = (id << 8) | avio_r8(pb);
}