Create MockTransformableFrame.
Bug: webrtc:9620
Change-Id: I013b25800854ec6e808d00b6717114a4c4e4aa17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327321
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41155}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index ff461b8..e9e6887 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -1280,6 +1280,18 @@
]
}
+ 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 @@
":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 1fcf63e..9d375a1 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 0000000..df20b62
--- /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 <stdint.h>
+
+#include <optional>
+#include <string>
+
+#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<const uint8_t>, GetData, (), (const, override));
+ MOCK_METHOD(void, SetData, (rtc::ArrayView<const uint8_t>), (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<webrtc::Timestamp>,
+ GetCaptureTimeIdentifier,
+ (),
+ (const, override));
+ MOCK_METHOD(std::string, GetMimeType, (), (const, override));
+};
+
+static_assert(!std::is_abstract_v<MockTransformableFrame>, "");
+
+} // namespace webrtc
+
+#endif // API_TEST_MOCK_TRANSFORMABLE_FRAME_H_