From f168d7357aa97410e266ffdec08f397d70aae1ff Mon Sep 17 00:00:00 2001 From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> Date: Wed, 8 Jan 2014 17:41:02 -0500 Subject: [PATCH] * #38241: opus: add return code checking --- daemon/src/audio/codecs/opus.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/daemon/src/audio/codecs/opus.cpp b/daemon/src/audio/codecs/opus.cpp index f105465ee4..d714e6b08f 100644 --- a/daemon/src/audio/codecs/opus.cpp +++ b/daemon/src/audio/codecs/opus.cpp @@ -83,28 +83,40 @@ Opus::getSDPChannels() const int Opus::decode(SFLAudioSample *dst, unsigned char *buf, size_t buffer_size) { - return opus_decode(decoder_, buf, buffer_size, dst, FRAME_SIZE, 0); + const int ret = opus_decode(decoder_, buf, buffer_size, dst, FRAME_SIZE, 0); + if (ret < 0) + std::cerr << opus_strerror(ret) << std::endl; + return ret; } int Opus::encode(unsigned char *dst, SFLAudioSample *src, size_t buffer_size) { - return opus_encode(encoder_, src, FRAME_SIZE, dst, buffer_size * 2); + const int ret = opus_encode(encoder_, src, FRAME_SIZE, dst, buffer_size * 2); + if (ret < 0) + std::cerr << opus_strerror(ret) << std::endl; + return ret; } int Opus::decode(std::vector<std::vector<SFLAudioSample> > &dst, unsigned char *buf, size_t buffer_size) { if (buf == NULL) return 0; - unsigned samples = opus_decode(decoder_, buf, buffer_size, dst[0].data(), sizeof(SFLAudioSample) * FRAME_SIZE, 0); + const int ret = opus_decode(decoder_, buf, buffer_size, dst[0].data(), sizeof(SFLAudioSample) * FRAME_SIZE, 0); + if (ret < 0) + std::cerr << opus_strerror(ret) << std::endl; - return samples; + return ret; } int Opus::encode(unsigned char *dst, std::vector<std::vector<SFLAudioSample> > &src, size_t buffer_size) { if (dst == NULL) return 0; - return opus_encode(encoder_, src[0].data(), FRAME_SIZE, dst, buffer_size * sizeof(SFLAudioSample)); + const int ret = opus_encode(encoder_, src[0].data(), FRAME_SIZE, dst, buffer_size * sizeof(SFLAudioSample)); + if (ret < 0) + std::cerr << opus_strerror(ret) << std::endl; + + return ret; } -- GitLab