blob: 17261ff8aea53d2913eac53765eb03a853a98935 [file] [log] [blame]
Peter Boströmeb66e802015-06-05 09:08:031/*
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 04:47:3110#ifndef TEST_FAKE_TEXTURE_FRAME_H_
11#define TEST_FAKE_TEXTURE_FRAME_H_
Peter Boströmeb66e802015-06-05 09:08:0312
Mirko Bonadei92ea95e2017-09-15 04:47:3113#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 09:08:0317
18namespace webrtc {
19namespace test {
20
Magnus Jedvert90e31902017-06-07 09:32:5021class FakeNativeBuffer : public VideoFrameBuffer {
Peter Boström13f61df2016-01-04 21:36:3822 public:
Magnus Jedvert90e31902017-06-07 09:32:5023 static VideoFrame CreateFrame(int width,
Peter Boström13f61df2016-01-04 21:36:3824 int height,
25 uint32_t timestamp,
26 int64_t render_time_ms,
27 VideoRotation rotation);
Peter Boströmeb66e802015-06-05 09:08:0328
Magnus Jedvert90e31902017-06-07 09:32:5029 FakeNativeBuffer(int width, int height) : width_(width), height_(height) {}
Peter Boströmeb66e802015-06-05 09:08:0330
Magnus Jedvert90e31902017-06-07 09:32:5031 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 09:08:0334
35 private:
Magnus Jedvert90e31902017-06-07 09:32:5036 rtc::scoped_refptr<I420BufferInterface> ToI420() override {
nisse1996e3f2016-09-19 07:34:4637 rtc::scoped_refptr<I420Buffer> buffer = I420Buffer::Create(width_, height_);
nisseaf916892017-01-10 15:44:2638 I420Buffer::SetBlack(buffer);
Peter Boströmeb66e802015-06-05 09:08:0339 return buffer;
40 }
Magnus Jedvert90e31902017-06-07 09:32:5041
42 const int width_;
43 const int height_;
Peter Boströmeb66e802015-06-05 09:08:0344};
45
Peter Boströmeb66e802015-06-05 09:08:0346} // namespace test
47} // namespace webrtc
Mirko Bonadei92ea95e2017-09-15 04:47:3148#endif // TEST_FAKE_TEXTURE_FRAME_H_