#define AUDIO_FORMAT_SIGNED 401
-static int mv_probe(AVProbeData *p)
+static int mv_probe(const AVProbeData *p)
{
if (AV_RB32(p->buf) == MKBETAG('M', 'O', 'V', 'I') &&
AV_RB16(p->buf + 4) < 3)
} else if (!strcmp(name, "ORIENTATION")) {
if (var_read_int(pb, size) == 1101) {
st->codecpar->extradata = av_strdup("BottomUp");
+ if (!st->codecpar->extradata)
+ return AVERROR(ENOMEM);
st->codecpar->extradata_size = 9;
}
} else if (!strcmp(name, "Q_SPATIAL") || !strcmp(name, "Q_TEMPORAL")) {
if ((ret = read_table(avctx, NULL, parse_global_var)) < 0)
return ret;
+ if (mv->nb_audio_tracks < 0 || mv->nb_video_tracks < 0 ||
+ (mv->nb_audio_tracks == 0 && mv->nb_video_tracks == 0)) {
+ av_log(avctx, AV_LOG_ERROR, "Stream count is invalid.\n");
+ return AVERROR_INVALIDDATA;
+ }
+
if (mv->nb_audio_tracks > 1) {
avpriv_request_sample(avctx, "Multiple audio streams support");
return AVERROR_PATCHWELCOME;