X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fbink.c;h=631b8c4d7dfe5fd2856940ca7d347fc1c871280d;hb=bb190ded678a0ad8fc365af897b042c9dd013936;hp=8a05082fcd8f368540918e864fd768c388d47801;hpb=b14761d1f8372dfe558193b8b754b9f1a858077d;p=ffmpeg diff --git a/libavformat/bink.c b/libavformat/bink.c index 8a05082fcd8..631b8c4d7df 100644 --- a/libavformat/bink.c +++ b/libavformat/bink.c @@ -59,7 +59,7 @@ typedef struct BinkDemuxContext { int smush_size; } BinkDemuxContext; -static int probe(AVProbeData *p) +static int probe(const AVProbeData *p) { const uint8_t *b = p->buf; int smush = AV_RN32(p->buf) == AV_RN32("SMUS"); @@ -92,6 +92,8 @@ static int read_header(AVFormatContext *s) uint16_t flags; int keyframe; int ret; + uint32_t signature; + uint8_t revision; vst = avformat_new_stream(s, NULL); if (!vst) @@ -160,14 +162,14 @@ static int read_header(AVFormatContext *s) return AVERROR(EIO); } - if (bink->num_audio_tracks) { - uint32_t signature = (vst->codecpar->codec_tag & 0xFFFFFF); - uint8_t revision = ((vst->codecpar->codec_tag >> 24) % 0xFF); + signature = (vst->codecpar->codec_tag & 0xFFFFFF); + revision = ((vst->codecpar->codec_tag >> 24) % 0xFF); - if ((signature == AV_RL32("BIK") && (revision == 0x6b)) || /* k */ - (signature == AV_RL32("KB2") && (revision == 0x69 || revision == 0x6a || revision == 0x6b))) /* i,j,k */ - avio_skip(pb, 4); /* unknown new field */ + if ((signature == AV_RL32("BIK") && (revision == 'k')) || + (signature == AV_RL32("KB2") && (revision == 'i' || revision == 'j' || revision == 'k'))) + avio_skip(pb, 4); /* unknown new field */ + if (bink->num_audio_tracks) { avio_skip(pb, 4 * bink->num_audio_tracks); /* max decoded size */ for (i = 0; i < bink->num_audio_tracks; i++) {