Index: webrtc/media/engine/simulcast_encoder_adapter_unittest.cc |
diff --git a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc b/webrtc/media/engine/simulcast_encoder_adapter_unittest.cc |
similarity index 94% |
rename from webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc |
rename to webrtc/media/engine/simulcast_encoder_adapter_unittest.cc |
index b8ece616813836fa637933ad156c6782bf43bb56..7865e5f1bae40bfe01b4804722e51219e9d2f713 100644 |
--- a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc |
+++ b/webrtc/media/engine/simulcast_encoder_adapter_unittest.cc |
@@ -13,8 +13,8 @@ |
#include <vector> |
#include "webrtc/common_video/include/video_frame_buffer.h" |
-#include "webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.h" |
-#include "webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.h" |
+#include "webrtc/media/engine/simulcast_encoder_adapter.h" |
+#include "webrtc/modules/video_coding/codecs/vp8/simulcast_test_utility.h" |
#include "webrtc/modules/video_coding/include/video_codec_interface.h" |
#include "webrtc/test/gmock.h" |
@@ -23,22 +23,39 @@ namespace testing { |
class TestSimulcastEncoderAdapter : public TestVp8Simulcast { |
public: |
- TestSimulcastEncoderAdapter() |
- : TestVp8Simulcast(new SimulcastEncoderAdapter(new Vp8EncoderFactory()), |
- VP8Decoder::Create()) {} |
+ TestSimulcastEncoderAdapter() : factory_(new Vp8EncoderFactory()) {} |
protected: |
- class Vp8EncoderFactory : public VideoEncoderFactory { |
+ class Vp8EncoderFactory : public cricket::WebRtcVideoEncoderFactory { |
public: |
- VideoEncoder* Create() override { return VP8Encoder::Create(); } |
+ Vp8EncoderFactory() { |
+ supported_codecs_.push_back(cricket::VideoCodec("VP8")); |
+ } |
+ |
+ const std::vector<cricket::VideoCodec>& supported_codecs() const override { |
+ return supported_codecs_; |
+ } |
- void Destroy(VideoEncoder* encoder) override { delete encoder; } |
+ VideoEncoder* CreateVideoEncoder( |
+ const cricket::VideoCodec& codec) override { |
+ return VP8Encoder::Create(); |
+ } |
+ |
+ void DestroyVideoEncoder(VideoEncoder* encoder) override { delete encoder; } |
virtual ~Vp8EncoderFactory() {} |
+ |
+ private: |
+ std::vector<cricket::VideoCodec> supported_codecs_; |
}; |
- virtual void SetUp() { TestVp8Simulcast::SetUp(); } |
- virtual void TearDown() { TestVp8Simulcast::TearDown(); } |
+ VP8Encoder* CreateEncoder() override { |
+ return new SimulcastEncoderAdapter(factory_.get()); |
+ } |
+ VP8Decoder* CreateDecoder() override { return VP8Decoder::Create(); } |
+ |
+ private: |
+ std::unique_ptr<Vp8EncoderFactory> factory_; |
}; |
TEST_F(TestSimulcastEncoderAdapter, TestKeyFrameRequestsOnAllStreams) { |
@@ -167,11 +184,18 @@ class MockVideoEncoder : public VideoEncoder { |
EncodedImageCallback* callback_; |
}; |
-class MockVideoEncoderFactory : public VideoEncoderFactory { |
+class MockVideoEncoderFactory : public cricket::WebRtcVideoEncoderFactory { |
public: |
- VideoEncoder* Create() override { |
- MockVideoEncoder* encoder = new |
- ::testing::NiceMock<MockVideoEncoder>(); |
+ MockVideoEncoderFactory() { |
+ supported_codecs_.push_back(cricket::VideoCodec("VP8")); |
+ } |
+ |
+ const std::vector<cricket::VideoCodec>& supported_codecs() const override { |
+ return supported_codecs_; |
+ } |
+ |
+ VideoEncoder* CreateVideoEncoder(const cricket::VideoCodec& codec) override { |
+ MockVideoEncoder* encoder = new ::testing::NiceMock<MockVideoEncoder>(); |
encoder->set_init_encode_return_value(init_encode_return_value_); |
const char* encoder_name = encoder_names_.empty() |
? "codec_implementation_name" |
@@ -181,7 +205,7 @@ class MockVideoEncoderFactory : public VideoEncoderFactory { |
return encoder; |
} |
- void Destroy(VideoEncoder* encoder) override { |
+ void DestroyVideoEncoder(VideoEncoder* encoder) override { |
for (size_t i = 0; i < encoders_.size(); ++i) { |
if (encoders_[i] == encoder) { |
encoders_.erase(encoders_.begin() + i); |
@@ -202,6 +226,7 @@ class MockVideoEncoderFactory : public VideoEncoderFactory { |
} |
private: |
+ std::vector<cricket::VideoCodec> supported_codecs_; |
int32_t init_encode_return_value_ = 0; |
std::vector<MockVideoEncoder*> encoders_; |
std::vector<const char*> encoder_names_; |
@@ -215,7 +240,7 @@ class TestSimulcastEncoderAdapterFakeHelper { |
// Can only be called once as the SimulcastEncoderAdapter will take the |
// ownership of |factory_|. |
VP8Encoder* CreateMockEncoderAdapter() { |
- return new SimulcastEncoderAdapter(factory_); |
+ return new SimulcastEncoderAdapter(factory_.get()); |
} |
void ExpectCallSetChannelParameters(uint32_t packetLoss, int64_t rtt) { |
@@ -227,10 +252,10 @@ class TestSimulcastEncoderAdapterFakeHelper { |
} |
} |
- MockVideoEncoderFactory* factory() { return factory_; } |
+ MockVideoEncoderFactory* factory() { return factory_.get(); } |
private: |
- MockVideoEncoderFactory* factory_; |
+ std::unique_ptr<MockVideoEncoderFactory> factory_; |
}; |
static const int kTestTemporalLayerProfile[3] = {3, 2, 1}; |