diff --git a/daemon/src/audio/audiortp/audio_rtp_record_handler.cpp b/daemon/src/audio/audiortp/audio_rtp_record_handler.cpp index 2282f6cdac4c7ae57601e861b51c8483c48504ad..69c293c3585d0da5de6b2ba53a9f65eab86c3bd4 100644 --- a/daemon/src/audio/audiortp/audio_rtp_record_handler.cpp +++ b/daemon/src/audio/audiortp/audio_rtp_record_handler.cpp @@ -171,6 +171,7 @@ void AudioRtpRecordHandler::processDataDecode(unsigned char *spkrData, size_t si return; int inSamples = 0; + size = std::min(size, audioRtpRecord_.decData_.size()); SFLDataFormat *spkrDataDecoded = audioRtpRecord_.decData_.data(); { ost::MutexLock lock(audioRtpRecord_.audioCodecMutex_); diff --git a/daemon/src/audio/audiortp/audio_rtp_session.cpp b/daemon/src/audio/audiortp/audio_rtp_session.cpp index b0464cae86f4ef6f1572ee902a68300459a62cdb..5f4901048c5789825b63e50d8196327b44609247 100644 --- a/daemon/src/audio/audiortp/audio_rtp_session.cpp +++ b/daemon/src/audio/audiortp/audio_rtp_session.cpp @@ -156,7 +156,7 @@ void AudioRtpSession::receiveSpeakerData() return; unsigned char* spkrDataIn = (unsigned char*) adu->getData(); // data in char - unsigned int size = adu->getSize(); // size in char + size_t size = adu->getSize(); // size in char // DTMF over RTP, size must be over 4 in order to process it as voice data if (size > 4) diff --git a/daemon/src/audio/codecs/alaw.cpp b/daemon/src/audio/codecs/alaw.cpp index 39c6a6e6558cef689cf014a58495d4a81af9fa4a..7b7ffdd3785b89fb32cc8e2197ef2b6ae0e19b65 100644 --- a/daemon/src/audio/codecs/alaw.cpp +++ b/daemon/src/audio/codecs/alaw.cpp @@ -31,7 +31,6 @@ #include "sfl_types.h" #include "audiocodec.h" -#include <cassert> class Alaw : public sfl::AudioCodec { @@ -48,16 +47,14 @@ class Alaw : public sfl::AudioCodec { private: virtual int decode(SFLDataFormat *dst, unsigned char *src, size_t buf_size) { - assert(buf_size == frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat)); for (unsigned char* end = src + buf_size; src < end; ++src, ++dst) *dst = ALawDecode(*src); return frameSize_; } - virtual int encode(unsigned char *dst, SFLDataFormat *src, size_t buf_size) + virtual int encode(unsigned char *dst, SFLDataFormat *src, size_t /*buf_size*/) { - assert(buf_size >= frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat)); for (unsigned char *end = dst + frameSize_; dst < end; ++src, ++dst) *dst = ALawEncode(*src); diff --git a/daemon/src/audio/codecs/g722.cpp b/daemon/src/audio/codecs/g722.cpp index 1048db7f5c40cfd89989c742b83b6ae289172404..b452ff36534db98da0611470ee7d5139bfea0903 100644 --- a/daemon/src/audio/codecs/g722.cpp +++ b/daemon/src/audio/codecs/g722.cpp @@ -36,7 +36,6 @@ #include <cstdlib> #include <cstring> -#include <cassert> class G722 : public sfl::AudioCodec { @@ -55,14 +54,12 @@ class G722 : public sfl::AudioCodec { private: virtual int decode(SFLDataFormat *dst, unsigned char *src, size_t buf_size) { - assert(buf_size == frameSize_ / sizeof(SFLDataFormat) * encode_state_.bits_per_sample / 8); - return g722_decode(dst, (const uint8_t*) src, buf_size); + return g722_decode(dst, src, buf_size); } virtual int encode(unsigned char *dst, SFLDataFormat *src, size_t buf_size) { - int out = g722_encode((uint8_t*) dst, src, frameSize_); - assert((size_t) out <= buf_size); + int out = g722_encode(dst, src, frameSize_); return out; } diff --git a/daemon/src/audio/codecs/gsmcodec.cpp b/daemon/src/audio/codecs/gsmcodec.cpp index 7c1e68c22f090b7db2e2cf53b24c9c427e49f60a..5d7afe24fbc75e1d65439cedd1f7032f5215bbb0 100644 --- a/daemon/src/audio/codecs/gsmcodec.cpp +++ b/daemon/src/audio/codecs/gsmcodec.cpp @@ -33,7 +33,6 @@ #include "audiocodec.h" #include "sfl_types.h" #include "noncopyable.h" -#include <cassert> #include <stdexcept> extern "C" { @@ -70,8 +69,6 @@ class Gsm : public sfl::AudioCodec { virtual int decode(SFLDataFormat * dst, unsigned char * src, size_t buf_size) { - assert(buf_size == 33); - if (gsm_decode(decode_gsmhandle_, (gsm_byte*) src, (gsm_signal*) dst) < 0) throw std::runtime_error("ERROR: gsm_decode\n"); @@ -80,7 +77,6 @@ class Gsm : public sfl::AudioCodec { virtual int encode(unsigned char * dst, SFLDataFormat * src, size_t buf_size) { - assert(buf_size >= 33); gsm_encode(encode_gsmhandle_, (gsm_signal*) src, (gsm_byte*) dst); return 33; } diff --git a/daemon/src/audio/codecs/speexcodec.h b/daemon/src/audio/codecs/speexcodec.h index 7b53fcdce261ed1b24bb644341080f3faee599b9..20727a830e1bac5b09f12dcc1accd04b6496f1bd 100644 --- a/daemon/src/audio/codecs/speexcodec.h +++ b/daemon/src/audio/codecs/speexcodec.h @@ -32,7 +32,6 @@ #include "global.h" #include "audiocodec.h" #include "noncopyable.h" -#include <cstdio> #include <speex/speex.h> #include <cassert> @@ -71,8 +70,8 @@ class Speex : public sfl::AudioCodec { speex_frame_size_(0) { assert(payload >= 110 && payload <= 112); assert(110 == PAYLOAD_CODEC_SPEEX_8000 && - 111 == PAYLOAD_CODEC_SPEEX_16000 && - 112 == PAYLOAD_CODEC_SPEEX_32000); + 111 == PAYLOAD_CODEC_SPEEX_16000 && + 112 == PAYLOAD_CODEC_SPEEX_32000); int type = payload - 110; clockRate_ = clockRate[type]; diff --git a/daemon/src/audio/codecs/ulaw.cpp b/daemon/src/audio/codecs/ulaw.cpp index 2c2ea5a7ae22e163ae594e03da5b057e26330e03..51448e69990beb0f352291330864acdbfddada92 100644 --- a/daemon/src/audio/codecs/ulaw.cpp +++ b/daemon/src/audio/codecs/ulaw.cpp @@ -31,7 +31,6 @@ #include "audiocodec.h" #include "sfl_types.h" -#include <cassert> class Ulaw : public sfl::AudioCodec { public: @@ -45,7 +44,6 @@ class Ulaw : public sfl::AudioCodec { } virtual int decode(SFLDataFormat *dst, unsigned char *src, size_t buf_size) { - assert(buf_size == frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat)); for (unsigned char* end = src + buf_size; src < end; ++src, ++dst) *dst = ULawDecode(*src); @@ -53,8 +51,7 @@ class Ulaw : public sfl::AudioCodec { } virtual int encode(unsigned char *dst, SFLDataFormat *src, size_t buf_size) { - assert(buf_size >= frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat)); - for (uint8* end = dst + frameSize_; dst < end; ++src, ++dst) + for (unsigned char * end = dst + frameSize_; dst < end; ++src, ++dst) *dst = ULawEncode(*src); return frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat);;