Index: webrtc/modules/audio_coding/codecs/mock/mock_audio_encoder.h |
diff --git a/webrtc/modules/audio_coding/codecs/mock/mock_audio_encoder.h b/webrtc/modules/audio_coding/codecs/mock/mock_audio_encoder.h |
index 66adde4be159c3af8fd0b404d09f80e8cc95c021..218e404de4887c2fa9c60a1340e3c0e5a424a252 100644 |
--- a/webrtc/modules/audio_coding/codecs/mock/mock_audio_encoder.h |
+++ b/webrtc/modules/audio_coding/codecs/mock/mock_audio_encoder.h |
@@ -17,9 +17,9 @@ |
namespace webrtc { |
-class MockAudioEncoder final : public AudioEncoder { |
+class MockAudioEncoderBase : public AudioEncoder { |
public: |
- ~MockAudioEncoder() override { Die(); } |
+ ~MockAudioEncoderBase() override { Die(); } |
MOCK_METHOD0(Die, void()); |
MOCK_METHOD1(Mark, void(std::string desc)); |
MOCK_CONST_METHOD0(MaxEncodedBytes, size_t()); |
@@ -29,12 +29,6 @@ class MockAudioEncoder final : public AudioEncoder { |
MOCK_CONST_METHOD0(Num10MsFramesInNextPacket, size_t()); |
MOCK_CONST_METHOD0(Max10MsFramesInAPacket, size_t()); |
MOCK_CONST_METHOD0(GetTargetBitrate, int()); |
- // Note, we explicitly chose not to create a mock for the Encode method. |
- MOCK_METHOD4(EncodeInternal, |
- EncodedInfo(uint32_t timestamp, |
- rtc::ArrayView<const int16_t> audio, |
- size_t max_encoded_bytes, |
- uint8_t* encoded)); |
MOCK_METHOD0(Reset, void()); |
MOCK_METHOD1(SetFec, bool(bool enable)); |
MOCK_METHOD1(SetDtx, bool(bool enable)); |
@@ -46,6 +40,63 @@ class MockAudioEncoder final : public AudioEncoder { |
MOCK_METHOD1(SetMaxPayloadSize, void(int max_payload_size_bytes)); |
}; |
+class MockAudioEncoder final : public MockAudioEncoderBase { |
+ public: |
+ // Note, we explicitly chose not to create a mock for the Encode method. |
+ MOCK_METHOD3(EncodeInternal, |
+ EncodedInfo(uint32_t timestamp, |
+ rtc::ArrayView<const int16_t> audio, |
+ rtc::Buffer* encoded)); |
+}; |
+ |
+class MockAudioEncoderDeprecated final : public MockAudioEncoderBase { |
+ public: |
+ // Note, we explicitly chose not to create a mock for the Encode method. |
+ MOCK_METHOD4(EncodeInternal, |
+ EncodedInfo(uint32_t timestamp, |
+ rtc::ArrayView<const int16_t> audio, |
+ size_t max_encoded_bytes, |
+ uint8_t* encoded)); |
+}; |
+ |
+class MockAudioEncoderHelper { |
+ public: |
+ MockAudioEncoderHelper() : write_payload_(false), payload_(NULL) { |
kwiberg-webrtc
2016/02/25 00:29:04
nullptr
ossu
2016/02/25 10:39:51
Acknowledged.
|
+ memset(&info_, 0, sizeof(info_)); |
+ } |
+ |
+ AudioEncoder::EncodedInfo Encode(uint32_t timestamp, |
+ rtc::ArrayView<const int16_t> audio, |
+ rtc::Buffer* encoded) { |
+ RTC_CHECK(encoded); |
+ |
+ if (write_payload_) |
+ encoded->AppendData(payload_, info_.encoded_bytes); |
+ else |
+ encoded->SetSize(encoded->size() + info_.encoded_bytes); |
+ |
+ return info_; |
+ } |
+ |
+ AudioEncoder::EncodedInfo DEPRECATED_Encode( |
+ uint32_t timestamp, |
+ rtc::ArrayView<const int16_t> audio, |
+ size_t max_bytes_encoded, |
+ uint8_t* encoded) { |
+ |
+ if (write_payload_) { |
+ RTC_CHECK(encoded); |
+ std::memcpy(encoded, payload_, info_.encoded_bytes); |
+ } |
+ |
+ return info_; |
+ } |
+ |
+ AudioEncoder::EncodedInfo info_; |
+ bool write_payload_; |
+ const uint8_t* payload_; |
+}; |
+ |
} // namespace webrtc |
#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_ |