diff options
author | Christian Schmidt <schmidt@digadd.de> | 2013-08-06 10:21:42 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2013-08-06 13:19:29 +0200 |
commit | 1c6d2bb9a9279d8df4e8bcdc1e1e2741723dc7c9 (patch) | |
tree | 3a191ebf213ddf5b9398391a141d6828d285b270 /libavcodec | |
parent | 6fb65973c9501d3fe94a5a9195c01cd20083066e (diff) | |
download | ffmpeg-1c6d2bb9a9279d8df4e8bcdc1e1e2741723dc7c9.tar.gz |
pcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/pcm-mpeg.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libavcodec/pcm-mpeg.c b/libavcodec/pcm-mpeg.c index e13e2b06c3..7b7afedf6f 100644 --- a/libavcodec/pcm-mpeg.c +++ b/libavcodec/pcm-mpeg.c @@ -1,6 +1,6 @@ /* * LPCM codecs for PCM formats found in MPEG streams - * Copyright (c) 2009 Christian Schmidt + * Copyright (c) 2009, 2013 Christian Schmidt * * This file is part of Libav. * @@ -72,7 +72,7 @@ static int pcm_bluray_parse_header(AVCodecContext *avctx, avctx->bits_per_coded_sample = bits_per_samples[header[3] >> 6]; if (!avctx->bits_per_coded_sample) { av_log(avctx, AV_LOG_ERROR, "reserved sample depth (0)\n"); - return -1; + return AVERROR_INVALIDDATA; } avctx->sample_fmt = avctx->bits_per_coded_sample == 16 ? AV_SAMPLE_FMT_S16 : AV_SAMPLE_FMT_S32; @@ -93,7 +93,7 @@ static int pcm_bluray_parse_header(AVCodecContext *avctx, avctx->sample_rate = 0; av_log(avctx, AV_LOG_ERROR, "reserved sample rate (%d)\n", header[2] & 0x0f); - return -1; + return AVERROR_INVALIDDATA; } /* @@ -107,7 +107,7 @@ static int pcm_bluray_parse_header(AVCodecContext *avctx, if (!avctx->channels) { av_log(avctx, AV_LOG_ERROR, "reserved channel configuration (%d)\n", channel_layout); - return -1; + return AVERROR_INVALIDDATA; } avctx->bit_rate = FFALIGN(avctx->channels, 2) * avctx->sample_rate * @@ -135,11 +135,11 @@ static int pcm_bluray_decode_frame(AVCodecContext *avctx, void *data, if (buf_size < 4) { av_log(avctx, AV_LOG_ERROR, "PCM packet too small\n"); - return -1; + return AVERROR_INVALIDDATA; } - if (pcm_bluray_parse_header(avctx, src)) - return -1; + if ((retval = pcm_bluray_parse_header(avctx, src))) + return retval; src += 4; buf_size -= 4; |