X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fsierravmd.c;h=531fc415316d6a58f3e4c14f510fa728095eaeeb;hb=dfb0b9370d3621ab1f603e7bb8e142b1f6996562;hp=6960c2868fbeefd0f249da42179e8fe5939e6b1d;hpb=5ca7eb36b7353f9e6af05a5a952eead5f6d326dd;p=ffmpeg diff --git a/libavformat/sierravmd.c b/libavformat/sierravmd.c index 6960c2868fb..531fc415316 100644 --- a/libavformat/sierravmd.c +++ b/libavformat/sierravmd.c @@ -62,7 +62,7 @@ typedef struct VmdDemuxContext { unsigned char vmd_header[VMD_HEADER_SIZE]; } VmdDemuxContext; -static int vmd_probe(AVProbeData *p) +static int vmd_probe(const AVProbeData *p) { int w, h, sample_rate; if (p->buf_size < 806) @@ -127,8 +127,8 @@ static int vmd_read_header(AVFormatContext *s) vst->codecpar->width >>= 1; vst->codecpar->height >>= 1; } - if (ff_alloc_extradata(vst->codecpar, VMD_HEADER_SIZE)) - return AVERROR(ENOMEM); + if ((ret = ff_alloc_extradata(vst->codecpar, VMD_HEADER_SIZE)) < 0) + return ret; memcpy(vst->codecpar->extradata, vmd->vmd_header, VMD_HEADER_SIZE); } @@ -283,8 +283,9 @@ static int vmd_read_packet(AVFormatContext *s, if(ffio_limit(pb, frame->frame_size) != frame->frame_size) return AVERROR(EIO); - if (av_new_packet(pkt, frame->frame_size + BYTES_PER_FRAME_RECORD)) - return AVERROR(ENOMEM); + ret = av_new_packet(pkt, frame->frame_size + BYTES_PER_FRAME_RECORD); + if (ret < 0) + return ret; pkt->pos= avio_tell(pb); memcpy(pkt->data, frame->frame_record, BYTES_PER_FRAME_RECORD); if(vmd->is_indeo3 && frame->frame_record[0] == 0x02) @@ -294,7 +295,6 @@ static int vmd_read_packet(AVFormatContext *s, frame->frame_size); if (ret != frame->frame_size) { - av_packet_unref(pkt); ret = AVERROR(EIO); } pkt->stream_index = frame->stream_index;