diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-08-06 19:40:50 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-08-06 19:40:50 +0200 |
commit | aa24729c213538f2f378696d40c5f5b38dc78d7e (patch) | |
tree | e66b92f4a95257f66e025c4d95d9d885ba1c93c2 | |
parent | 66328da700c73246e2d4c5254905f9e5b4e0fa31 (diff) | |
parent | 1c6d2bb9a9279d8df4e8bcdc1e1e2741723dc7c9 (diff) | |
download | ffmpeg-aa24729c213538f2f378696d40c5f5b38dc78d7e.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
pcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors
Conflicts:
libavcodec/pcm-mpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-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 aec056aa55..0061bc9315 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 FFmpeg. * @@ -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 == 16 || avctx->bits_per_coded_sample == 24)) { av_log(avctx, AV_LOG_ERROR, "unsupported sample depth (%d)\n", avctx->bits_per_coded_sample); - return -1; + return AVERROR_INVALIDDATA; } avctx->sample_fmt = avctx->bits_per_coded_sample == 16 ? AV_SAMPLE_FMT_S16 : AV_SAMPLE_FMT_S32; @@ -94,7 +94,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; } /* @@ -108,7 +108,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 * @@ -136,11 +136,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; |