diff options
author | Anton Khirnov <anton@khirnov.net> | 2011-05-26 20:14:53 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2011-05-27 06:52:51 +0200 |
commit | 3577416212d992f63352f3695c6eb1b63567503d (patch) | |
tree | 566815af0a5704fdfcc66f15561286367a20d864 | |
parent | 86f868771bac89168086285b71186fd8cf934cc3 (diff) | |
download | ffmpeg-3577416212d992f63352f3695c6eb1b63567503d.tar.gz |
bktr: factorize returning error codes.
This will be useful in the following commit.
-rw-r--r-- | libavdevice/bktr.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/libavdevice/bktr.c b/libavdevice/bktr.c index 821567199e..810bdd67b9 100644 --- a/libavdevice/bktr.c +++ b/libavdevice/bktr.c @@ -249,9 +249,12 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap) int width, height; int frame_rate; int frame_rate_base; + int ret = 0; - if (ap->width <= 0 || ap->height <= 0 || ap->time_base.den <= 0) - return -1; + if (ap->width <= 0 || ap->height <= 0 || ap->time_base.den <= 0) { + ret = AVERROR(EINVAL); + goto out; + } width = ap->width; height = ap->height; @@ -259,8 +262,10 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap) frame_rate_base = ap->time_base.num; st = av_new_stream(s1, 0); - if (!st) - return AVERROR(ENOMEM); + if (!st) { + ret = AVERROR(ENOMEM); + goto out; + } av_set_pts_info(st, 64, 1, 1000000); /* 64 bits pts in use */ s->width = width; @@ -289,13 +294,16 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap) #endif if (bktr_init(s1->filename, width, height, s->standard, - &(s->video_fd), &(s->tuner_fd), -1, 0.0) < 0) - return AVERROR(EIO); + &(s->video_fd), &(s->tuner_fd), -1, 0.0) < 0) { + ret = AVERROR(EIO); + goto out; + } nsignals = 0; last_frame_time = 0; - return 0; +out: + return ret; } static int grab_read_close(AVFormatContext *s1) |