From 26e5a82ec76ef150517899f59377b4a59cd2e359 Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Tue, 14 Nov 2023 14:57:23 +0100 Subject: [PATCH] Create MockTransformableFrame. Bug: webrtc:9620 Change-Id: I013b25800854ec6e808d00b6717114a4c4e4aa17 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327321 Reviewed-by: Harald Alvestrand Commit-Queue: Mirko Bonadei Cr-Commit-Position: refs/heads/main@{#41155} --- api/BUILD.gn | 13 +++++++++ api/test/compile_all_headers.cc | 1 + api/test/mock_transformable_frame.h | 45 +++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 api/test/mock_transformable_frame.h diff --git a/api/BUILD.gn b/api/BUILD.gn index ff461b8e73..e9e6887987 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -1280,6 +1280,18 @@ if (rtc_include_tests) { ] } + rtc_source_set("mock_transformable_frame") { + visibility = [ "*" ] + testonly = true + sources = [ "test/mock_transformable_frame.h" ] + deps = [ + ":array_view", + ":frame_transformer_interface", + "../test:test_support", + "units:timestamp", + ] + } + rtc_source_set("mock_async_dns_resolver") { visibility = [ "*" ] testonly = true @@ -1511,6 +1523,7 @@ if (rtc_include_tests) { ":mock_rtp", ":mock_session_description_interface", ":mock_transformable_audio_frame", + ":mock_transformable_frame", ":mock_transformable_video_frame", ":mock_video_bitrate_allocator", ":mock_video_bitrate_allocator_factory", diff --git a/api/test/compile_all_headers.cc b/api/test/compile_all_headers.cc index 1fcf63e97b..9d375a19f2 100644 --- a/api/test/compile_all_headers.cc +++ b/api/test/compile_all_headers.cc @@ -43,6 +43,7 @@ #include "api/test/mock_rtpreceiver.h" #include "api/test/mock_rtpsender.h" #include "api/test/mock_session_description_interface.h" +#include "api/test/mock_transformable_frame.h" #include "api/test/mock_transformable_video_frame.h" #include "api/test/mock_video_bitrate_allocator.h" #include "api/test/mock_video_bitrate_allocator_factory.h" diff --git a/api/test/mock_transformable_frame.h b/api/test/mock_transformable_frame.h new file mode 100644 index 0000000000..df20b62295 --- /dev/null +++ b/api/test/mock_transformable_frame.h @@ -0,0 +1,45 @@ +/* + * Copyright 2023 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef API_TEST_MOCK_TRANSFORMABLE_FRAME_H_ +#define API_TEST_MOCK_TRANSFORMABLE_FRAME_H_ + +#include + +#include +#include + +#include "api/array_view.h" +#include "api/frame_transformer_interface.h" +#include "api/units/timestamp.h" +#include "test/gmock.h" + +namespace webrtc { + +class MockTransformableFrame : public webrtc::TransformableFrameInterface { + public: + MOCK_METHOD(rtc::ArrayView, GetData, (), (const, override)); + MOCK_METHOD(void, SetData, (rtc::ArrayView), (override)); + MOCK_METHOD(uint8_t, GetPayloadType, (), (const, override)); + MOCK_METHOD(uint32_t, GetSsrc, (), (const, override)); + MOCK_METHOD(uint32_t, GetTimestamp, (), (const, override)); + MOCK_METHOD(void, SetRTPTimestamp, (uint32_t), (override)); + MOCK_METHOD(std::optional, + GetCaptureTimeIdentifier, + (), + (const, override)); + MOCK_METHOD(std::string, GetMimeType, (), (const, override)); +}; + +static_assert(!std::is_abstract_v, ""); + +} // namespace webrtc + +#endif // API_TEST_MOCK_TRANSFORMABLE_FRAME_H_