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

Side by Side Diff: webrtc/modules/audio_coding/codecs/mock/mock_audio_encoder.h

Issue 1864993002: Remove the deprecated EncodeInternal interface from AudioEncoder (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 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
11 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_ 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_
12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_ 12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_
13 13
14 #include <string>
15
14 #include "webrtc/base/array_view.h" 16 #include "webrtc/base/array_view.h"
15 #include "webrtc/modules/audio_coding/codecs/audio_encoder.h" 17 #include "webrtc/modules/audio_coding/codecs/audio_encoder.h"
16 18
17 #include "testing/gmock/include/gmock/gmock.h" 19 #include "testing/gmock/include/gmock/gmock.h"
18 20
19 namespace webrtc { 21 namespace webrtc {
20 22
21 class MockAudioEncoderBase : public AudioEncoder { 23 class MockAudioEncoder : public AudioEncoder {
22 public: 24 public:
23 ~MockAudioEncoderBase() override { Die(); } 25 ~MockAudioEncoder() override { Die(); }
24 MOCK_METHOD0(Die, void()); 26 MOCK_METHOD0(Die, void());
25 MOCK_METHOD1(Mark, void(std::string desc)); 27 MOCK_METHOD1(Mark, void(std::string desc));
26 MOCK_CONST_METHOD0(MaxEncodedBytes, size_t());
27 MOCK_CONST_METHOD0(SampleRateHz, int()); 28 MOCK_CONST_METHOD0(SampleRateHz, int());
28 MOCK_CONST_METHOD0(NumChannels, size_t()); 29 MOCK_CONST_METHOD0(NumChannels, size_t());
29 MOCK_CONST_METHOD0(RtpTimestampRateHz, int()); 30 MOCK_CONST_METHOD0(RtpTimestampRateHz, int());
30 MOCK_CONST_METHOD0(Num10MsFramesInNextPacket, size_t()); 31 MOCK_CONST_METHOD0(Num10MsFramesInNextPacket, size_t());
31 MOCK_CONST_METHOD0(Max10MsFramesInAPacket, size_t()); 32 MOCK_CONST_METHOD0(Max10MsFramesInAPacket, size_t());
32 MOCK_CONST_METHOD0(GetTargetBitrate, int()); 33 MOCK_CONST_METHOD0(GetTargetBitrate, int());
33 MOCK_METHOD0(Reset, void()); 34 MOCK_METHOD0(Reset, void());
34 MOCK_METHOD1(SetFec, bool(bool enable)); 35 MOCK_METHOD1(SetFec, bool(bool enable));
35 MOCK_METHOD1(SetDtx, bool(bool enable)); 36 MOCK_METHOD1(SetDtx, bool(bool enable));
36 MOCK_METHOD1(SetApplication, bool(Application application)); 37 MOCK_METHOD1(SetApplication, bool(Application application));
37 MOCK_METHOD1(SetMaxPlaybackRate, void(int frequency_hz)); 38 MOCK_METHOD1(SetMaxPlaybackRate, void(int frequency_hz));
38 MOCK_METHOD1(SetProjectedPacketLossRate, void(double fraction)); 39 MOCK_METHOD1(SetProjectedPacketLossRate, void(double fraction));
39 MOCK_METHOD1(SetTargetBitrate, void(int target_bps)); 40 MOCK_METHOD1(SetTargetBitrate, void(int target_bps));
40 MOCK_METHOD1(SetMaxBitrate, void(int max_bps)); 41 MOCK_METHOD1(SetMaxBitrate, void(int max_bps));
41 MOCK_METHOD1(SetMaxPayloadSize, void(int max_payload_size_bytes)); 42 MOCK_METHOD1(SetMaxPayloadSize, void(int max_payload_size_bytes));
42 };
43 43
44 class MockAudioEncoder final : public MockAudioEncoderBase {
45 public:
46 // Note, we explicitly chose not to create a mock for the Encode method. 44 // Note, we explicitly chose not to create a mock for the Encode method.
47 MOCK_METHOD3(EncodeImpl, 45 MOCK_METHOD3(EncodeImpl,
48 EncodedInfo(uint32_t timestamp, 46 EncodedInfo(uint32_t timestamp,
49 rtc::ArrayView<const int16_t> audio, 47 rtc::ArrayView<const int16_t> audio,
50 rtc::Buffer* encoded)); 48 rtc::Buffer* encoded));
51 49
52 class FakeEncoding { 50 class FakeEncoding {
53 public: 51 public:
54 // Creates a functor that will return |info| and adjust the rtc::Buffer 52 // Creates a functor that will return |info| and adjust the rtc::Buffer
55 // given as input to it, so it is info.encoded_bytes larger. 53 // given as input to it, so it is info.encoded_bytes larger.
56 FakeEncoding(const AudioEncoder::EncodedInfo& info); 54 explicit FakeEncoding(const AudioEncoder::EncodedInfo& info);
57 55
58 // Shorthand version of the constructor above, for when only setting 56 // Shorthand version of the constructor above, for when only setting
59 // encoded_bytes in the EncodedInfo object matters. 57 // encoded_bytes in the EncodedInfo object matters.
60 FakeEncoding(size_t encoded_bytes); 58 explicit FakeEncoding(size_t encoded_bytes);
kwiberg-webrtc 2016/04/07 08:23:16 Commendable, but unrelated to this CL. Prefer to p
ossu 2016/04/07 08:52:53 Acknowledged.
61 59
62 AudioEncoder::EncodedInfo operator()(uint32_t timestamp, 60 AudioEncoder::EncodedInfo operator()(uint32_t timestamp,
63 rtc::ArrayView<const int16_t> audio, 61 rtc::ArrayView<const int16_t> audio,
64 rtc::Buffer* encoded); 62 rtc::Buffer* encoded);
65 63
66 private: 64 private:
67 AudioEncoder::EncodedInfo info_; 65 AudioEncoder::EncodedInfo info_;
68 }; 66 };
69 67
70 class CopyEncoding { 68 class CopyEncoding {
71 public: 69 public:
72 // Creates a functor that will return |info| and append the data in the 70 // Creates a functor that will return |info| and append the data in the
73 // payload to the buffer given as input to it. Up to info.encoded_bytes are 71 // payload to the buffer given as input to it. Up to info.encoded_bytes are
74 // appended - make sure the payload is big enough! Since it uses an 72 // appended - make sure the payload is big enough! Since it uses an
75 // ArrayView, it _does not_ copy the payload. Make sure it doesn't fall out 73 // ArrayView, it _does not_ copy the payload. Make sure it doesn't fall out
76 // of scope! 74 // of scope!
77 CopyEncoding(AudioEncoder::EncodedInfo info, 75 CopyEncoding(AudioEncoder::EncodedInfo info,
78 rtc::ArrayView<const uint8_t> payload); 76 rtc::ArrayView<const uint8_t> payload);
79 77
80 // Shorthand version of the constructor above, for when you wish to append 78 // Shorthand version of the constructor above, for when you wish to append
81 // the whole payload and do not care about any EncodedInfo attribute other 79 // the whole payload and do not care about any EncodedInfo attribute other
82 // than encoded_bytes. 80 // than encoded_bytes.
83 CopyEncoding(rtc::ArrayView<const uint8_t> payload); 81 explicit CopyEncoding(rtc::ArrayView<const uint8_t> payload);
84 82
85 AudioEncoder::EncodedInfo operator()(uint32_t timestamp, 83 AudioEncoder::EncodedInfo operator()(uint32_t timestamp,
86 rtc::ArrayView<const int16_t> audio, 84 rtc::ArrayView<const int16_t> audio,
87 rtc::Buffer* encoded); 85 rtc::Buffer* encoded);
86
88 private: 87 private:
89 AudioEncoder::EncodedInfo info_; 88 AudioEncoder::EncodedInfo info_;
90 rtc::ArrayView<const uint8_t> payload_; 89 rtc::ArrayView<const uint8_t> payload_;
91 };
92
93 };
94
95 class MockAudioEncoderDeprecated final : public MockAudioEncoderBase {
96 public:
97 // Note, we explicitly chose not to create a mock for the Encode method.
98 MOCK_METHOD4(EncodeInternal,
99 EncodedInfo(uint32_t timestamp,
100 rtc::ArrayView<const int16_t> audio,
101 size_t max_encoded_bytes,
102 uint8_t* encoded));
103
104 // A functor like MockAudioEncoder::CopyEncoding above, but which has the
105 // deprecated Encode signature. Currently only used in one test and should be
106 // removed once that backwards compatibility is.
107 class CopyEncoding {
108 public:
109 CopyEncoding(AudioEncoder::EncodedInfo info,
110 rtc::ArrayView<const uint8_t> payload);
111
112 CopyEncoding(rtc::ArrayView<const uint8_t> payload);
113
114 AudioEncoder::EncodedInfo operator()(uint32_t timestamp,
115 rtc::ArrayView<const int16_t> audio,
116 size_t max_bytes_encoded,
117 uint8_t* encoded);
118 private:
119 AudioEncoder::EncodedInfo info_;
120 rtc::ArrayView<const uint8_t> payload_;
121 }; 90 };
122 }; 91 };
123 92
124 } // namespace webrtc 93 } // namespace webrtc
125 94
126 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_ 95 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698