| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 | 115 |
| 116 private: | 116 private: |
| 117 DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcm16B); | 117 DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcm16B); |
| 118 }; | 118 }; |
| 119 | 119 |
| 120 // This class handles all four types (i.e., sample rates) of PCM16B codecs. | 120 // This class handles all four types (i.e., sample rates) of PCM16B codecs. |
| 121 // The type is specified in the constructor parameter |type|, and the number | 121 // The type is specified in the constructor parameter |type|, and the number |
| 122 // of channels is derived from the type. | 122 // of channels is derived from the type. |
| 123 class AudioDecoderPcm16BMultiCh : public AudioDecoderPcm16B { | 123 class AudioDecoderPcm16BMultiCh : public AudioDecoderPcm16B { |
| 124 public: | 124 public: |
| 125 explicit AudioDecoderPcm16BMultiCh(int num_channels); | 125 explicit AudioDecoderPcm16BMultiCh(size_t num_channels); |
| 126 size_t Channels() const override; | 126 size_t Channels() const override; |
| 127 | 127 |
| 128 private: | 128 private: |
| 129 const size_t channels_; | 129 const size_t channels_; |
| 130 DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcm16BMultiCh); | 130 DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcm16BMultiCh); |
| 131 }; | 131 }; |
| 132 #endif | 132 #endif |
| 133 | 133 |
| 134 #ifdef WEBRTC_CODEC_ILBC | 134 #ifdef WEBRTC_CODEC_ILBC |
| 135 class AudioDecoderIlbc : public AudioDecoder { | 135 class AudioDecoderIlbc : public AudioDecoder { |
| 136 public: | 136 public: |
| 137 AudioDecoderIlbc(); | 137 AudioDecoderIlbc(); |
| 138 ~AudioDecoderIlbc() override; | 138 ~AudioDecoderIlbc() override; |
| 139 bool HasDecodePlc() const override; | 139 bool HasDecodePlc() const override; |
| 140 int DecodePlc(int num_frames, int16_t* decoded) override; | 140 size_t DecodePlc(size_t num_frames, int16_t* decoded) override; |
| 141 int Init() override; | 141 int Init() override; |
| 142 size_t Channels() const override; | 142 size_t Channels() const override; |
| 143 | 143 |
| 144 protected: | 144 protected: |
| 145 int DecodeInternal(const uint8_t* encoded, | 145 int DecodeInternal(const uint8_t* encoded, |
| 146 size_t encoded_len, | 146 size_t encoded_len, |
| 147 int sample_rate_hz, | 147 int sample_rate_hz, |
| 148 int16_t* decoded, | 148 int16_t* decoded, |
| 149 SpeechType* speech_type) override; | 149 SpeechType* speech_type) override; |
| 150 | 150 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 G722DecInst* dec_state_left_; | 202 G722DecInst* dec_state_left_; |
| 203 G722DecInst* dec_state_right_; | 203 G722DecInst* dec_state_right_; |
| 204 | 204 |
| 205 DISALLOW_COPY_AND_ASSIGN(AudioDecoderG722Stereo); | 205 DISALLOW_COPY_AND_ASSIGN(AudioDecoderG722Stereo); |
| 206 }; | 206 }; |
| 207 #endif | 207 #endif |
| 208 | 208 |
| 209 #ifdef WEBRTC_CODEC_OPUS | 209 #ifdef WEBRTC_CODEC_OPUS |
| 210 class AudioDecoderOpus : public AudioDecoder { | 210 class AudioDecoderOpus : public AudioDecoder { |
| 211 public: | 211 public: |
| 212 explicit AudioDecoderOpus(int num_channels); | 212 explicit AudioDecoderOpus(size_t num_channels); |
| 213 ~AudioDecoderOpus() override; | 213 ~AudioDecoderOpus() override; |
| 214 | 214 |
| 215 int Init() override; | 215 int Init() override; |
| 216 int PacketDuration(const uint8_t* encoded, size_t encoded_len) const override; | 216 int PacketDuration(const uint8_t* encoded, size_t encoded_len) const override; |
| 217 int PacketDurationRedundant(const uint8_t* encoded, | 217 int PacketDurationRedundant(const uint8_t* encoded, |
| 218 size_t encoded_len) const override; | 218 size_t encoded_len) const override; |
| 219 bool PacketHasFec(const uint8_t* encoded, size_t encoded_len) const override; | 219 bool PacketHasFec(const uint8_t* encoded, size_t encoded_len) const override; |
| 220 size_t Channels() const override; | 220 size_t Channels() const override; |
| 221 | 221 |
| 222 protected: | 222 protected: |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 // Returns the sample rate for |codec_type|. | 307 // Returns the sample rate for |codec_type|. |
| 308 int CodecSampleRateHz(NetEqDecoder codec_type); | 308 int CodecSampleRateHz(NetEqDecoder codec_type); |
| 309 | 309 |
| 310 // Creates an AudioDecoder object of type |codec_type|. Returns NULL for for | 310 // Creates an AudioDecoder object of type |codec_type|. Returns NULL for for |
| 311 // unsupported codecs, and when creating an AudioDecoder is not applicable | 311 // unsupported codecs, and when creating an AudioDecoder is not applicable |
| 312 // (e.g., for RED and DTMF/AVT types). | 312 // (e.g., for RED and DTMF/AVT types). |
| 313 AudioDecoder* CreateAudioDecoder(NetEqDecoder codec_type); | 313 AudioDecoder* CreateAudioDecoder(NetEqDecoder codec_type); |
| 314 | 314 |
| 315 } // namespace webrtc | 315 } // namespace webrtc |
| 316 #endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_AUDIO_DECODER_IMPL_H_ | 316 #endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_AUDIO_DECODER_IMPL_H_ |
| OLD | NEW |