mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-12-20 02:28:17 +00:00
matroskadec: fix type of the length field in ebml_read_master()
Also use the correct value for unknown size (instead of a truncated and sign extended value). Originally committed as revision 23591 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
739178107c
commit
bddd1d93e5
@ -657,7 +657,7 @@ static int ebml_read_binary(ByteIOContext *pb, int length, EbmlBin *bin)
|
||||
* are supposed to be sub-elements which can be read separately.
|
||||
* 0 is success, < 0 is failure.
|
||||
*/
|
||||
static int ebml_read_master(MatroskaDemuxContext *matroska, int length)
|
||||
static int ebml_read_master(MatroskaDemuxContext *matroska, uint64_t length)
|
||||
{
|
||||
ByteIOContext *pb = matroska->ctx->pb;
|
||||
MatroskaLevel *level;
|
||||
@ -718,7 +718,7 @@ static int ebml_parse_id(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
|
||||
break;
|
||||
if (!syntax[i].id && id == MATROSKA_ID_CLUSTER &&
|
||||
matroska->num_levels > 0 &&
|
||||
matroska->levels[matroska->num_levels-1].length == 0xffffffffffffffff)
|
||||
matroska->levels[matroska->num_levels-1].length == 0xffffffffffffff)
|
||||
return 0; // we reached the end of an unknown size cluster
|
||||
if (!syntax[i].id && id != EBML_ID_VOID && id != EBML_ID_CRC32)
|
||||
av_log(matroska->ctx, AV_LOG_INFO, "Unknown entry 0x%X\n", id);
|
||||
|
Loading…
Reference in New Issue
Block a user