diff options
Diffstat (limited to 'webrtc/modules/audio_coding/codecs/g711')
-rw-r--r-- | webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.cc | 4 | ||||
-rw-r--r-- | webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h (renamed from webrtc/modules/audio_coding/codecs/g711/include/audio_decoder_pcm.h) | 6 | ||||
-rw-r--r-- | webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc | 34 | ||||
-rw-r--r-- | webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.h (renamed from webrtc/modules/audio_coding/codecs/g711/include/audio_encoder_pcm.h) | 20 | ||||
-rw-r--r-- | webrtc/modules/audio_coding/codecs/g711/g711.gypi | 20 | ||||
-rw-r--r-- | webrtc/modules/audio_coding/codecs/g711/g711_interface.h (renamed from webrtc/modules/audio_coding/codecs/g711/include/g711_interface.h) | 6 | ||||
-rw-r--r-- | webrtc/modules/audio_coding/codecs/g711/test/testG711.cc | 2 |
7 files changed, 35 insertions, 57 deletions
diff --git a/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.cc b/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.cc index 12306d9167..9757b4a010 100644 --- a/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.cc +++ b/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.cc @@ -8,9 +8,9 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "webrtc/modules/audio_coding/codecs/g711/include/audio_decoder_pcm.h" +#include "webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h" -#include "webrtc/modules/audio_coding/codecs/g711/include/g711_interface.h" +#include "webrtc/modules/audio_coding/codecs/g711/g711_interface.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/codecs/g711/include/audio_decoder_pcm.h b/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h index 7bc37d3b7a..9dc3a6fd7a 100644 --- a/webrtc/modules/audio_coding/codecs/g711/include/audio_decoder_pcm.h +++ b/webrtc/modules/audio_coding/codecs/g711/audio_decoder_pcm.h @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_INCLUDE_AUDIO_DECODER_PCM_H_ -#define WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_INCLUDE_AUDIO_DECODER_PCM_H_ +#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_AUDIO_DECODER_PCM_H_ +#define WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_AUDIO_DECODER_PCM_H_ #include "webrtc/base/checks.h" #include "webrtc/modules/audio_coding/codecs/audio_decoder.h" @@ -60,4 +60,4 @@ class AudioDecoderPcmA final : public AudioDecoder { } // namespace webrtc -#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_INCLUDE_AUDIO_DECODER_PCM_H_ +#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_AUDIO_DECODER_PCM_H_ diff --git a/webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc b/webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc index dde3cc6799..ff61db8e8d 100644 --- a/webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc +++ b/webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc @@ -8,27 +8,18 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "webrtc/modules/audio_coding/codecs/g711/include/audio_encoder_pcm.h" +#include "webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.h" #include <limits> #include "webrtc/base/checks.h" #include "webrtc/common_types.h" -#include "webrtc/modules/audio_coding/codecs/g711/include/g711_interface.h" +#include "webrtc/modules/audio_coding/codecs/g711/g711_interface.h" namespace webrtc { namespace { -int16_t NumSamplesPerFrame(int num_channels, - int frame_size_ms, - int sample_rate_hz) { - int samples_per_frame = num_channels * frame_size_ms * sample_rate_hz / 1000; - RTC_CHECK_LE(samples_per_frame, std::numeric_limits<int16_t>::max()) - << "Frame size too large."; - return static_cast<int16_t>(samples_per_frame); -} - template <typename T> typename T::Config CreateConfig(const CodecInst& codec_inst) { typename T::Config config; @@ -50,9 +41,8 @@ AudioEncoderPcm::AudioEncoderPcm(const Config& config, int sample_rate_hz) payload_type_(config.payload_type), num_10ms_frames_per_packet_( static_cast<size_t>(config.frame_size_ms / 10)), - full_frame_samples_(NumSamplesPerFrame(config.num_channels, - config.frame_size_ms, - sample_rate_hz_)), + full_frame_samples_( + config.num_channels * config.frame_size_ms * sample_rate_hz / 1000), first_timestamp_in_buffer_(0) { RTC_CHECK_GT(sample_rate_hz, 0) << "Sample rate must be larger than 0 Hz"; RTC_CHECK_EQ(config.frame_size_ms % 10, 0) @@ -70,7 +60,7 @@ int AudioEncoderPcm::SampleRateHz() const { return sample_rate_hz_; } -int AudioEncoderPcm::NumChannels() const { +size_t AudioEncoderPcm::NumChannels() const { return num_channels_; } @@ -83,21 +73,19 @@ size_t AudioEncoderPcm::Max10MsFramesInAPacket() const { } int AudioEncoderPcm::GetTargetBitrate() const { - return 8 * BytesPerSample() * SampleRateHz() * NumChannels(); + return static_cast<int>( + 8 * BytesPerSample() * SampleRateHz() * NumChannels()); } AudioEncoder::EncodedInfo AudioEncoderPcm::EncodeInternal( uint32_t rtp_timestamp, - const int16_t* audio, + rtc::ArrayView<const int16_t> audio, size_t max_encoded_bytes, uint8_t* encoded) { - const int num_samples = SampleRateHz() / 100 * NumChannels(); if (speech_buffer_.empty()) { first_timestamp_in_buffer_ = rtp_timestamp; } - for (int i = 0; i < num_samples; ++i) { - speech_buffer_.push_back(audio[i]); - } + speech_buffer_.insert(speech_buffer_.end(), audio.begin(), audio.end()); if (speech_buffer_.size() < full_frame_samples_) { return EncodedInfo(); } @@ -125,7 +113,7 @@ size_t AudioEncoderPcmA::EncodeCall(const int16_t* audio, return WebRtcG711_EncodeA(audio, input_len, encoded); } -int AudioEncoderPcmA::BytesPerSample() const { +size_t AudioEncoderPcmA::BytesPerSample() const { return 1; } @@ -138,7 +126,7 @@ size_t AudioEncoderPcmU::EncodeCall(const int16_t* audio, return WebRtcG711_EncodeU(audio, input_len, encoded); } -int AudioEncoderPcmU::BytesPerSample() const { +size_t AudioEncoderPcmU::BytesPerSample() const { return 1; } diff --git a/webrtc/modules/audio_coding/codecs/g711/include/audio_encoder_pcm.h b/webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.h index e532f9b1bc..b839488628 100644 --- a/webrtc/modules/audio_coding/codecs/g711/include/audio_encoder_pcm.h +++ b/webrtc/modules/audio_coding/codecs/g711/audio_encoder_pcm.h @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_INCLUDE_AUDIO_ENCODER_PCM_H_ -#define WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_INCLUDE_AUDIO_ENCODER_PCM_H_ +#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_AUDIO_ENCODER_PCM_H_ +#define WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_AUDIO_ENCODER_PCM_H_ #include <vector> @@ -25,7 +25,7 @@ class AudioEncoderPcm : public AudioEncoder { bool IsOk() const; int frame_size_ms; - int num_channels; + size_t num_channels; int payload_type; protected: @@ -37,12 +37,12 @@ class AudioEncoderPcm : public AudioEncoder { size_t MaxEncodedBytes() const override; int SampleRateHz() const override; - int NumChannels() const override; + size_t NumChannels() const override; size_t Num10MsFramesInNextPacket() const override; size_t Max10MsFramesInAPacket() const override; int GetTargetBitrate() const override; EncodedInfo EncodeInternal(uint32_t rtp_timestamp, - const int16_t* audio, + rtc::ArrayView<const int16_t> audio, size_t max_encoded_bytes, uint8_t* encoded) override; void Reset() override; @@ -54,11 +54,11 @@ class AudioEncoderPcm : public AudioEncoder { size_t input_len, uint8_t* encoded) = 0; - virtual int BytesPerSample() const = 0; + virtual size_t BytesPerSample() const = 0; private: const int sample_rate_hz_; - const int num_channels_; + const size_t num_channels_; const int payload_type_; const size_t num_10ms_frames_per_packet_; const size_t full_frame_samples_; @@ -83,7 +83,7 @@ class AudioEncoderPcmA final : public AudioEncoderPcm { size_t input_len, uint8_t* encoded) override; - int BytesPerSample() const override; + size_t BytesPerSample() const override; private: static const int kSampleRateHz = 8000; @@ -105,7 +105,7 @@ class AudioEncoderPcmU final : public AudioEncoderPcm { size_t input_len, uint8_t* encoded) override; - int BytesPerSample() const override; + size_t BytesPerSample() const override; private: static const int kSampleRateHz = 8000; @@ -114,4 +114,4 @@ class AudioEncoderPcmU final : public AudioEncoderPcm { } // namespace webrtc -#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_INCLUDE_AUDIO_ENCODER_PCM_H_ +#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_AUDIO_ENCODER_PCM_H_ diff --git a/webrtc/modules/audio_coding/codecs/g711/g711.gypi b/webrtc/modules/audio_coding/codecs/g711/g711.gypi index d35d7874e7..4b902809ea 100644 --- a/webrtc/modules/audio_coding/codecs/g711/g711.gypi +++ b/webrtc/modules/audio_coding/codecs/g711/g711.gypi @@ -14,25 +14,15 @@ 'dependencies': [ 'audio_encoder_interface', ], - 'include_dirs': [ - 'include', - '<(webrtc_root)', - ], - 'direct_dependent_settings': { - 'include_dirs': [ - 'include', - '<(webrtc_root)', - ], - }, 'sources': [ - 'include/g711_interface.h', - 'include/audio_decoder_pcm.h', - 'include/audio_encoder_pcm.h', + 'audio_decoder_pcm.cc', + 'audio_decoder_pcm.h', + 'audio_encoder_pcm.cc', + 'audio_encoder_pcm.h', 'g711_interface.c', + 'g711_interface.h', 'g711.c', 'g711.h', - 'audio_decoder_pcm.cc', - 'audio_encoder_pcm.cc', ], }, ], # targets diff --git a/webrtc/modules/audio_coding/codecs/g711/include/g711_interface.h b/webrtc/modules/audio_coding/codecs/g711/g711_interface.h index f9867f4504..00854bbb2c 100644 --- a/webrtc/modules/audio_coding/codecs/g711/include/g711_interface.h +++ b/webrtc/modules/audio_coding/codecs/g711/g711_interface.h @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#ifndef MODULES_AUDIO_CODING_CODECS_G711_MAIN_INCLUDE_G711_INTERFACE_H_ -#define MODULES_AUDIO_CODING_CODECS_G711_MAIN_INCLUDE_G711_INTERFACE_H_ +#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_G711_INTERFACE_H_ +#define WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_G711_INTERFACE_H_ #include "webrtc/typedefs.h" @@ -132,4 +132,4 @@ int16_t WebRtcG711_Version(char* version, int16_t lenBytes); } #endif -#endif /* MODULES_AUDIO_CODING_CODECS_G711_MAIN_INCLUDE_G711_INCLUDE_H_ */ +#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_G711_G711_INTERFACE_H_ diff --git a/webrtc/modules/audio_coding/codecs/g711/test/testG711.cc b/webrtc/modules/audio_coding/codecs/g711/test/testG711.cc index 94248f7a66..5675b1f8b0 100644 --- a/webrtc/modules/audio_coding/codecs/g711/test/testG711.cc +++ b/webrtc/modules/audio_coding/codecs/g711/test/testG711.cc @@ -17,7 +17,7 @@ #include <string.h> /* include API */ -#include "g711_interface.h" +#include "webrtc/modules/audio_coding/codecs/g711/g711_interface.h" /* Runtime statistics */ #include <time.h> |