Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(192)

Unified Diff: webrtc/modules/audio_coding/codecs/mock/mock_audio_encoder.h

Issue 1725143003: Changed AudioEncoder::Encode to take an rtc::Buffer* instead of uint8_t* and a maximum size. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Reverted unnecessary change to buffer_unittest.cc Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698