[FFmpeg-cvslog] swresample/soxr_resample: fix error handling
Rob Sykes
git at videolan.org
Tue Jan 20 03:36:16 CET 2015
ffmpeg | branch: release/2.2 | Rob Sykes <aquegg at yahoo.co.uk> | Sat Dec 13 21:12:56 2014 +0100| [a40e6a214ec60b15e28b372739512a74bb64f79c] | committer: Michael Niedermayer
swresample/soxr_resample: fix error handling
Fixes CID1257659
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 4b6f2253741f3023928e61ae5105ccd4b1c515fb)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a40e6a214ec60b15e28b372739512a74bb64f79c
---
libswresample/soxr_resample.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libswresample/soxr_resample.c b/libswresample/soxr_resample.c
index 4c000db..7467f8d 100644
--- a/libswresample/soxr_resample.c
+++ b/libswresample/soxr_resample.c
@@ -76,8 +76,12 @@ static int process(
AudioData *src, int src_size, int *consumed){
size_t idone, odone;
soxr_error_t error = soxr_set_error((soxr_t)c, soxr_set_num_channels((soxr_t)c, src->ch_count));
- error = soxr_process((soxr_t)c, src->ch, (size_t)src_size,
- &idone, dst->ch, (size_t)dst_size, &odone);
+ if (!error)
+ error = soxr_process((soxr_t)c, src->ch, (size_t)src_size,
+ &idone, dst->ch, (size_t)dst_size, &odone);
+ else
+ idone = 0;
+
*consumed = (int)idone;
return error? -1 : odone;
}
More information about the ffmpeg-cvslog
mailing list