Browse Source

matroskadec: don't care about the number of bytes read by ebml_read_element_id()

Originally committed as revision 14595 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Aurelien Jacobs 17 years ago
parent
commit
c005b3f224
1 changed files with 5 additions and 6 deletions
  1. +5
    -6
      libavformat/matroskadec.c

+ 5
- 6
libavformat/matroskadec.c View File

@@ -527,7 +527,7 @@ static int ebml_read_num(MatroskaDemuxContext *matroska,

/*
* Read: the element content data ID.
* Return: the number of bytes read or < 0 on error.
* 0 is success, < 0 is failure.
*/
static int ebml_read_element_id(MatroskaDemuxContext *matroska, uint32_t *id)
{
@@ -545,7 +545,7 @@ static int ebml_read_element_id(MatroskaDemuxContext *matroska, uint32_t *id)
return read;
*id = matroska->peek_id = total | (1 << (read * 7));

return read;
return 0;
}

/*
@@ -908,7 +908,7 @@ static int ebml_parse_id(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
static int ebml_parse(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
void *data, int once)
{
int i, res = 0, res2;
int i, res = 0;
uint32_t id = 0;

for (i=0; syntax[i].id; i++)
@@ -926,9 +926,8 @@ static int ebml_parse(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
}

while (!res && !ebml_level_end(matroska)) {
res2 = ebml_read_element_id(matroska, &id);
if (res2 < 0)
break;
res = ebml_read_element_id(matroska, &id);
if (!res)
res = ebml_parse_id(matroska, syntax, id, data);
if (once)
break;


Loading…
Cancel
Save