summaryrefslogtreecommitdiff
path: root/libavformat/sbgdec.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/sbgdec.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/sbgdec.c')
-rw-r--r--libavformat/sbgdec.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libavformat/sbgdec.c b/libavformat/sbgdec.c
index 4155395da0..de1de271bb 100644
--- a/libavformat/sbgdec.c
+++ b/libavformat/sbgdec.c
@@ -1327,7 +1327,7 @@ static int generate_intervals(void *log, struct sbg_script *s, int sample_rate,
static int encode_intervals(struct sbg_script *s, AVCodecParameters *par,
struct ws_intervals *inter)
{
- int i, edata_size = 4;
+ int i, edata_size = 4, ret;
uint8_t *edata;
for (i = 0; i < inter->nb_inter; i++) {
@@ -1336,8 +1336,8 @@ static int encode_intervals(struct sbg_script *s, AVCodecParameters *par,
if (edata_size < 0)
return AVERROR(ENOMEM);
}
- if (ff_alloc_extradata(par, edata_size))
- return AVERROR(ENOMEM);
+ if ((ret = ff_alloc_extradata(par, edata_size)) < 0)
+ return ret;
edata = par->extradata;
#define ADD_EDATA32(v) do { AV_WL32(edata, (v)); edata += 4; } while(0)
@@ -1446,6 +1446,7 @@ fail:
static int sbg_read_packet(AVFormatContext *avf, AVPacket *packet)
{
int64_t ts, end_ts;
+ int ret;
ts = avf->streams[0]->cur_dts;
end_ts = ts + avf->streams[0]->codecpar->frame_size;
@@ -1454,8 +1455,8 @@ static int sbg_read_packet(AVFormatContext *avf, AVPacket *packet)
end_ts);
if (end_ts <= ts)
return AVERROR_EOF;
- if (av_new_packet(packet, 12) < 0)
- return AVERROR(ENOMEM);
+ if ((ret = av_new_packet(packet, 12)) < 0)
+ return ret;
packet->dts = packet->pts = ts;
packet->duration = end_ts - ts;
AV_WL64(packet->data + 0, ts);