summaryrefslogtreecommitdiff
path: root/libavformat/bintext.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-12-10 22:59:53 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2019-12-12 19:25:33 +0100
commitc1e439d7e9abab3cebdc937636393b1656e095d9 (patch)
treebe0ae941a23b62c42b152e2b9aa0a22f8c793d4e /libavformat/bintext.c
parentcb88cdf7730e309df22ddbbc1ae4ebcd9ebc529e (diff)
avformat: Forward errors where possible
It is not uncommon to find code where the caller thinks to know better what the return value should be than the callee. E.g. something like "if (av_new_packet(pkt, size) < 0) return AVERROR(ENOMEM);". This commit changes several instances of this to instead forward the actual error. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/bintext.c')
-rw-r--r--libavformat/bintext.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/libavformat/bintext.c b/libavformat/bintext.c
index 61b89f56d6..7dab5f377d 100644
--- a/libavformat/bintext.c
+++ b/libavformat/bintext.c
@@ -177,14 +177,14 @@ static int bintext_read_header(AVFormatContext *s)
{
BinDemuxContext *bin = s->priv_data;
AVIOContext *pb = s->pb;
-
+ int ret;
AVStream *st = init_stream(s);
if (!st)
return AVERROR(ENOMEM);
st->codecpar->codec_id = AV_CODEC_ID_BINTEXT;
- if (ff_alloc_extradata(st->codecpar, 2))
- return AVERROR(ENOMEM);
+ if ((ret = ff_alloc_extradata(st->codecpar, 2)) < 0)
+ return ret;
st->codecpar->extradata[0] = 16;
st->codecpar->extradata[1] = 0;
@@ -222,7 +222,7 @@ static int xbin_read_header(AVFormatContext *s)
BinDemuxContext *bin = s->priv_data;
AVIOContext *pb = s->pb;
char fontheight, flags;
-
+ int ret;
AVStream *st = init_stream(s);
if (!st)
return AVERROR(ENOMEM);
@@ -241,8 +241,9 @@ static int xbin_read_header(AVFormatContext *s)
st->codecpar->extradata_size += fontheight * (flags & 0x10 ? 512 : 256);
st->codecpar->codec_id = flags & 4 ? AV_CODEC_ID_XBIN : AV_CODEC_ID_BINTEXT;
- if (ff_alloc_extradata(st->codecpar, st->codecpar->extradata_size))
- return AVERROR(ENOMEM);
+ ret = ff_alloc_extradata(st->codecpar, st->codecpar->extradata_size);
+ if (ret < 0)
+ return ret;
st->codecpar->extradata[0] = fontheight;
st->codecpar->extradata[1] = flags;
if (avio_read(pb, st->codecpar->extradata + 2, st->codecpar->extradata_size - 2) < 0)
@@ -264,6 +265,7 @@ static int adf_read_header(AVFormatContext *s)
BinDemuxContext *bin = s->priv_data;
AVIOContext *pb = s->pb;
AVStream *st;
+ int ret;
if (avio_r8(pb) != 1)
return AVERROR_INVALIDDATA;
@@ -273,8 +275,8 @@ static int adf_read_header(AVFormatContext *s)
return AVERROR(ENOMEM);
st->codecpar->codec_id = AV_CODEC_ID_BINTEXT;
- if (ff_alloc_extradata(st->codecpar, 2 + 48 + 4096))
- return AVERROR(ENOMEM);
+ if ((ret = ff_alloc_extradata(st->codecpar, 2 + 48 + 4096)) < 0)
+ return ret;
st->codecpar->extradata[0] = 16;
st->codecpar->extradata[1] = BINTEXT_PALETTE|BINTEXT_FONT;
@@ -318,7 +320,7 @@ static int idf_read_header(AVFormatContext *s)
BinDemuxContext *bin = s->priv_data;
AVIOContext *pb = s->pb;
AVStream *st;
- int got_width = 0;
+ int got_width = 0, ret;
if (!(pb->seekable & AVIO_SEEKABLE_NORMAL))
return AVERROR(EIO);
@@ -328,8 +330,8 @@ static int idf_read_header(AVFormatContext *s)
return AVERROR(ENOMEM);
st->codecpar->codec_id = AV_CODEC_ID_IDF;
- if (ff_alloc_extradata(st->codecpar, 2 + 48 + 4096))
- return AVERROR(ENOMEM);
+ if ((ret = ff_alloc_extradata(st->codecpar, 2 + 48 + 4096)) < 0)
+ return ret;
st->codecpar->extradata[0] = 16;
st->codecpar->extradata[1] = BINTEXT_PALETTE|BINTEXT_FONT;