Fold AudioEncoderMutable into AudioEncoder
It makes more sense to combine the two interfaces, since there wasn't a clear line separating them. The result is a combined interface with just over a dozen methods, half of which need to be implemented by every subclass, while the other half have sensible (and trivial) default implementations and are implemented only by the few subclasses that need non-default behavior. Review URL: https://codereview.webrtc.org/1322973004 Cr-Commit-Position: refs/heads/master@{#9894}
This commit is contained in:
@ -17,50 +17,32 @@
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
class MockAudioEncoder : public AudioEncoder {
|
||||
class MockAudioEncoder final : public AudioEncoder {
|
||||
public:
|
||||
virtual ~MockAudioEncoder() { Die(); }
|
||||
~MockAudioEncoder() override { Die(); }
|
||||
MOCK_METHOD0(Die, void());
|
||||
MOCK_CONST_METHOD0(MaxEncodedBytes, size_t());
|
||||
MOCK_CONST_METHOD0(SampleRateHz, int());
|
||||
MOCK_CONST_METHOD0(NumChannels, int());
|
||||
MOCK_CONST_METHOD0(MaxEncodedBytes, size_t());
|
||||
MOCK_CONST_METHOD0(RtpTimestampRateHz, int());
|
||||
MOCK_CONST_METHOD0(Num10MsFramesInNextPacket, size_t());
|
||||
MOCK_CONST_METHOD0(Max10MsFramesInAPacket, size_t());
|
||||
MOCK_CONST_METHOD0(GetTargetBitrate, int());
|
||||
MOCK_METHOD1(SetTargetBitrate, void(int));
|
||||
MOCK_METHOD1(SetProjectedPacketLossRate, void(double));
|
||||
// Note, we explicitly chose not to create a mock for the Encode method.
|
||||
MOCK_METHOD4(EncodeInternal,
|
||||
EncodedInfo(uint32_t timestamp,
|
||||
const int16_t* audio,
|
||||
size_t max_encoded_bytes,
|
||||
uint8_t* encoded));
|
||||
};
|
||||
|
||||
class MockAudioEncoderMutable : public AudioEncoderMutable {
|
||||
public:
|
||||
MOCK_CONST_METHOD0(SampleRateHz, int());
|
||||
MOCK_CONST_METHOD0(NumChannels, int());
|
||||
MOCK_CONST_METHOD0(MaxEncodedBytes, size_t());
|
||||
MOCK_CONST_METHOD0(Num10MsFramesInNextPacket, size_t());
|
||||
MOCK_CONST_METHOD0(Max10MsFramesInAPacket, size_t());
|
||||
MOCK_CONST_METHOD0(GetTargetBitrate, int());
|
||||
MOCK_METHOD1(SetTargetBitrate, void(int));
|
||||
MOCK_METHOD1(SetProjectedPacketLossRate, void(double));
|
||||
// Note, we explicitly chose not to create a mock for the Encode method.
|
||||
MOCK_METHOD4(EncodeInternal,
|
||||
EncodedInfo(uint32_t timestamp,
|
||||
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));
|
||||
MOCK_METHOD1(SetApplication, bool(Application application));
|
||||
MOCK_METHOD1(SetMaxPayloadSize, void(int max_payload_size_bytes));
|
||||
MOCK_METHOD1(SetMaxRate, void(int max_rate_bps));
|
||||
MOCK_METHOD1(SetMaxPlaybackRate, bool(int frequency_hz));
|
||||
MOCK_METHOD1(SetProjectedPacketLossRate, void(double fraction));
|
||||
MOCK_METHOD1(SetTargetBitrate, void(int target_bps));
|
||||
MOCK_METHOD1(SetMaxBitrate, void(int max_bps));
|
||||
MOCK_METHOD1(SetMaxPayloadSize, void(int max_payload_size_bytes));
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Reference in New Issue
Block a user