X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fmusx.c;h=9dd721182a752f19e18f95ea8f49b9a4afbeed9f;hb=18b3deee2256a8861fd292653c8dd3ef191ef893;hp=aff6c31a86a22034810c6f5cdbcfcf1e739eae0a;hpb=ebdc5c419aef0d9eed8c1ec57b30238194c1db0a;p=ffmpeg diff --git a/libavformat/musx.c b/libavformat/musx.c index aff6c31a86a..9dd721182a7 100644 --- a/libavformat/musx.c +++ b/libavformat/musx.c @@ -20,12 +20,23 @@ */ #include "libavutil/avassert.h" +#include "libavutil/intreadwrite.h" #include "avformat.h" #include "internal.h" -static int musx_probe(AVProbeData *p) +static int musx_probe(const AVProbeData *p) { - if (memcmp(p->buf, "MUSX", 4)) + unsigned version; + + if (AV_RB32(p->buf) != MKBETAG('M','U','S','X')) + return 0; + + version = AV_RL32(p->buf + 8); + if (version != 10 && + version != 6 && + version != 5 && + version != 4 && + version != 201) return 0; return AVPROBE_SCORE_MAX / 5 * 2;