int64_t data_size; ///< raw data size, in bytes
} CafContext;
-static int probe(AVProbeData *p)
+static int probe(const AVProbeData *p)
{
if (AV_RB32(p->buf) == MKBETAG('c','a','f','f') && AV_RB16(&p->buf[4]) == 1)
return AVPROBE_SCORE_MAX;
{
AVIOContext *pb = s->pb;
AVStream *st = s->streams[0];
+ int ret;
if (size < 0 || size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE)
return -1;
return AVERROR_INVALIDDATA;
}
- av_freep(&st->codecpar->extradata);
- if (ff_alloc_extradata(st->codecpar, ALAC_HEADER))
- return AVERROR(ENOMEM);
+ if ((ret = ff_alloc_extradata(st->codecpar, ALAC_HEADER)) < 0)
+ return ret;
/* For the old style cookie, we skip 12 bytes, then read 36 bytes.
* The new style cookie only contains the last 24 bytes of what was
return AVERROR_PATCHWELCOME;
}
avio_skip(pb, size);
- } else {
- av_freep(&st->codecpar->extradata);
- if (ff_get_extradata(s, st->codecpar, pb, size) < 0)
- return AVERROR(ENOMEM);
+ } else if ((ret = ff_get_extradata(s, st->codecpar, pb, size)) < 0) {
+ return ret;
}
return 0;