blob: 17261ff8aea53d2913eac53765eb03a853a98935 [file] [log] [blame]
Peter Boströmeb66e802015-06-05 11:08:03 +02001/*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020010#ifndef TEST_FAKE_TEXTURE_FRAME_H_
11#define TEST_FAKE_TEXTURE_FRAME_H_
Peter Boströmeb66e802015-06-05 11:08:03 +020012
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020013#include "api/video/i420_buffer.h"
14#include "api/video/video_frame.h"
15#include "common_video/include/video_frame_buffer.h"
16#include "rtc_base/checks.h"
Peter Boströmeb66e802015-06-05 11:08:03 +020017
18namespace webrtc {
19namespace test {
20
Magnus Jedvert90e31902017-06-07 11:32:50 +020021class FakeNativeBuffer : public VideoFrameBuffer {
Peter Boström13f61df2016-01-04 22:36:38 +010022 public:
Magnus Jedvert90e31902017-06-07 11:32:50 +020023 static VideoFrame CreateFrame(int width,
Peter Boström13f61df2016-01-04 22:36:38 +010024 int height,
25 uint32_t timestamp,
26 int64_t render_time_ms,
27 VideoRotation rotation);
Peter Boströmeb66e802015-06-05 11:08:03 +020028
Magnus Jedvert90e31902017-06-07 11:32:50 +020029 FakeNativeBuffer(int width, int height) : width_(width), height_(height) {}
Peter Boströmeb66e802015-06-05 11:08:03 +020030
Magnus Jedvert90e31902017-06-07 11:32:50 +020031 Type type() const override { return Type::kNative; }
32 int width() const override { return width_; }
33 int height() const override { return height_; }
Peter Boströmeb66e802015-06-05 11:08:03 +020034
35 private:
Magnus Jedvert90e31902017-06-07 11:32:50 +020036 rtc::scoped_refptr<I420BufferInterface> ToI420() override {
nisse1996e3f2016-09-19 00:34:46 -070037 rtc::scoped_refptr<I420Buffer> buffer = I420Buffer::Create(width_, height_);
nisseaf916892017-01-10 07:44:26 -080038 I420Buffer::SetBlack(buffer);
Peter Boströmeb66e802015-06-05 11:08:03 +020039 return buffer;
40 }
Magnus Jedvert90e31902017-06-07 11:32:50 +020041
42 const int width_;
43 const int height_;
Peter Boströmeb66e802015-06-05 11:08:03 +020044};
45
Peter Boströmeb66e802015-06-05 11:08:03 +020046} // namespace test
47} // namespace webrtc
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020048#endif // TEST_FAKE_TEXTURE_FRAME_H_