mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-06-19 19:03:00 +02:00
matroskadec: expand useless ebml_read_element_id() wrapper
Originally committed as revision 14610 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@@ -521,23 +521,6 @@ static int ebml_read_num(MatroskaDemuxContext *matroska, ByteIOContext *pb,
|
|||||||
return read;
|
return read;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Read: the element content data ID.
|
|
||||||
* 0 is success, < 0 is failure.
|
|
||||||
*/
|
|
||||||
static int ebml_read_element_id(MatroskaDemuxContext *matroska, uint32_t *id)
|
|
||||||
{
|
|
||||||
int read;
|
|
||||||
uint64_t total;
|
|
||||||
|
|
||||||
/* read out the "EBML number", include tag in ID */
|
|
||||||
if ((read = ebml_read_num(matroska, matroska->ctx->pb, 4, &total)) < 0)
|
|
||||||
return read;
|
|
||||||
*id = total | (1 << (read * 7));
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Read the next element as an unsigned int.
|
* Read the next element as an unsigned int.
|
||||||
* 0 is success, < 0 is failure.
|
* 0 is success, < 0 is failure.
|
||||||
@@ -683,8 +666,9 @@ static int ebml_parse_id(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
|
|||||||
static int ebml_parse(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
|
static int ebml_parse(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
uint32_t id;
|
uint64_t id;
|
||||||
int res = ebml_read_element_id(matroska, &id);
|
int res = ebml_read_num(matroska, matroska->ctx->pb, 4, &id);
|
||||||
|
id |= 1 << 7*res;
|
||||||
return res < 0 ? res : ebml_parse_id(matroska, syntax, id, data);
|
return res < 0 ? res : ebml_parse_id(matroska, syntax, id, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user