X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fdfa.c;h=9808c9b617c4591bfe28753785c860f98cb7e8a1;hb=bc70684e74a185d7b80c8b80bdedda659cb581b8;hp=9858ee7941a75ce65b16bddba18d8e65193d33d0;hpb=0dda0f3bdb7e8a2d5bef7457375f72f38a100ccb;p=ffmpeg diff --git a/libavformat/dfa.c b/libavformat/dfa.c index 9858ee7941a..9808c9b617c 100644 --- a/libavformat/dfa.c +++ b/libavformat/dfa.c @@ -25,7 +25,7 @@ #include "avformat.h" #include "internal.h" -static int dfa_probe(AVProbeData *p) +static int dfa_probe(const AVProbeData *p) { if (p->buf_size < 4 || AV_RL32(p->buf) != MKTAG('D', 'F', 'I', 'A')) return 0; @@ -40,7 +40,7 @@ static int dfa_read_header(AVFormatContext *s) { AVIOContext *pb = s->pb; AVStream *st; - int frames; + int frames, ret; int version; uint32_t mspf; @@ -69,8 +69,8 @@ static int dfa_read_header(AVFormatContext *s) avio_skip(pb, 128 - 16); // padding st->duration = frames; - if (ff_alloc_extradata(st->codecpar, 2)) - return AVERROR(ENOMEM); + if ((ret = ff_alloc_extradata(st->codecpar, 2)) < 0) + return ret; AV_WL16(st->codecpar->extradata, version); if (version == 0x100) st->sample_aspect_ratio = (AVRational){2, 1}; @@ -93,7 +93,6 @@ static int dfa_read_packet(AVFormatContext *s, AVPacket *pkt) if (!first) { ret = av_append_packet(pb, pkt, 12); if (ret < 0) { - av_packet_unref(pkt); return ret; } } else @@ -101,7 +100,6 @@ static int dfa_read_packet(AVFormatContext *s, AVPacket *pkt) frame_size = AV_RL32(pkt->data + pkt->size - 8); if (frame_size > INT_MAX - 4) { av_log(s, AV_LOG_ERROR, "Too large chunk size: %"PRIu32"\n", frame_size); - av_packet_unref(pkt); return AVERROR(EIO); } if (AV_RL32(pkt->data + pkt->size - 12) == MKTAG('E', 'O', 'F', 'R')) { @@ -115,7 +113,6 @@ static int dfa_read_packet(AVFormatContext *s, AVPacket *pkt) } ret = av_append_packet(pb, pkt, frame_size); if (ret < 0) { - av_packet_unref(pkt); return ret; } } @@ -123,7 +120,7 @@ static int dfa_read_packet(AVFormatContext *s, AVPacket *pkt) return 0; } -AVInputFormat ff_dfa_demuxer = { +const AVInputFormat ff_dfa_demuxer = { .name = "dfa", .long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"), .read_probe = dfa_probe,