Consolidate TransformableVideoFrame mocks used inside webrtc

Also move the frame_transformer_factory_unittest build target into the
if(rtc_include_tests) block, so it's not compiled without the mock.

Bug: chromium:1414370
Change-Id: I12653b173b419ec20bfad904e24a4d965e7e7830
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292863
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39288}
This commit is contained in:
Tony Herre 2023-02-09 15:39:19 +01:00 committed by WebRTC LUCI CQ
parent 168d11cba9
commit fd877d996f
3 changed files with 20 additions and 39 deletions

View File

@ -35,8 +35,11 @@ class MockTransformableVideoFrame
SetMetadata, SetMetadata,
(const webrtc::VideoFrameMetadata&), (const webrtc::VideoFrameMetadata&),
(override)); (override));
MOCK_METHOD(uint8_t, GetPayloadType, (), (const, override));
}; };
static_assert(!std::is_abstract_v<MockTransformableVideoFrame>, "");
} // namespace webrtc } // namespace webrtc
#endif // API_TEST_MOCK_TRANSFORMABLE_VIDEO_FRAME_H_ #endif // API_TEST_MOCK_TRANSFORMABLE_VIDEO_FRAME_H_

View File

@ -702,13 +702,13 @@ if (rtc_include_tests) {
"//third_party/abseil-cpp/absl/types:optional", "//third_party/abseil-cpp/absl/types:optional",
] ]
} }
}
rtc_source_set("frame_transformer_factory_unittest") { rtc_source_set("frame_transformer_factory_unittest") {
testonly = true testonly = true
sources = [ "source/frame_transformer_factory_unittest.cc" ] sources = [ "source/frame_transformer_factory_unittest.cc" ]
deps = [ deps = [
"../../api:frame_transformer_factory", "../../api:frame_transformer_factory",
"../../api:mock_transformable_video_frame",
"../../api:transport_api", "../../api:transport_api",
"../../call:video_stream_api", "../../call:video_stream_api",
"../../modules/rtp_rtcp", "../../modules/rtp_rtcp",
@ -718,4 +718,5 @@ rtc_source_set("frame_transformer_factory_unittest") {
"../../video", "../../video",
] ]
absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
}
} }

View File

@ -17,6 +17,7 @@
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "api/call/transport.h" #include "api/call/transport.h"
#include "api/test/mock_transformable_video_frame.h"
#include "call/video_receive_stream.h" #include "call/video_receive_stream.h"
#include "modules/rtp_rtcp/source/rtp_descriptor_authentication.h" #include "modules/rtp_rtcp/source/rtp_descriptor_authentication.h"
#include "rtc_base/event.h" #include "rtc_base/event.h"
@ -31,30 +32,6 @@ using testing::NiceMock;
using testing::Return; using testing::Return;
using testing::ReturnRef; using testing::ReturnRef;
class MockTransformableVideoFrame
: public webrtc::TransformableVideoFrameInterface {
public:
MOCK_METHOD(rtc::ArrayView<const uint8_t>, GetData, (), (const override));
MOCK_METHOD(void, SetData, (rtc::ArrayView<const uint8_t> data), (override));
MOCK_METHOD(uint8_t, GetPayloadType, (), (const, override));
MOCK_METHOD(uint32_t, GetSsrc, (), (const, override));
MOCK_METHOD(uint32_t, GetTimestamp, (), (const, override));
MOCK_METHOD(TransformableFrameInterface::Direction,
GetDirection,
(),
(const, override));
MOCK_METHOD(bool, IsKeyFrame, (), (const, override));
MOCK_METHOD(std::vector<uint8_t>, GetAdditionalData, (), (const, override));
MOCK_METHOD(const webrtc::VideoFrameMetadata&,
GetMetadata,
(),
(const, override));
MOCK_METHOD(void,
SetMetadata,
(const webrtc::VideoFrameMetadata&),
(override));
};
TEST(FrameTransformerFactory, CloneVideoFrame) { TEST(FrameTransformerFactory, CloneVideoFrame) {
NiceMock<MockTransformableVideoFrame> original_frame; NiceMock<MockTransformableVideoFrame> original_frame;
uint8_t data[10]; uint8_t data[10];