SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
i420_capturer_video_source.hpp
1//
2// i420_capturer_video_source.hpp
3// skyway
4//
5// Created by ogura on 2024/12/10.
6// Copyright © 2024 NTT Communications. All rights reserved.
7//
8
9#ifndef SKYWAY_MEDIA_I420_CAPTURER_VIDEO_SOURCE_HPP_
10#define SKYWAY_MEDIA_I420_CAPTURER_VIDEO_SOURCE_HPP_
11
12#include "skyway/media/interface/capturer_video_source.hpp"
13
14namespace skyway {
15namespace media {
16
19public:
21 class I420InternalCapturerVideoSource : public interface::InternalCapturerVideoSource {
22 public:
23 ~I420InternalCapturerVideoSource();
24
25 static rtc::scoped_refptr<I420InternalCapturerVideoSource> Create();
26
27 void Render(int width,
28 int height,
29 const uint8_t* y,
30 const uint8_t* u,
31 const uint8_t* v,
32 int stride_y,
33 int stride_u,
34 int stride_v);
35 bool is_screencast() const override;
36 absl::optional<bool> needs_denoising() const override;
37 webrtc::MediaSourceInterface::SourceState state() const override;
38 bool remote() const override;
39 void OnFrame(const webrtc::VideoFrame& frame) override;
40
41 protected:
42 I420InternalCapturerVideoSource();
43 };
47
49 void Render(int width,
50 int height,
51 const uint8_t* y,
52 const uint8_t* u,
53 const uint8_t* v,
54 int stride_y,
55 int stride_u,
56 int stride_v);
57
59 // Impl interface::InternalCapturerVideoSource
60 rtc::scoped_refptr<interface::InternalCapturerVideoSource> GetSource();
62
63private:
64 rtc::scoped_refptr<I420InternalCapturerVideoSource> source_;
65};
66} // namespace media
67} // namespace skyway
68
69#endif /* SKYWAY_MEDIA_I420_CAPTURER_VIDEO_SOURCE_HPP_ */
I420形式となっている映像の描画処理を行うクラス
Definition i420_capturer_video_source.hpp:18
void Render(int width, int height, const uint8_t *y, const uint8_t *u, const uint8_t *v, int stride_y, int stride_u, int stride_v)
I420形式の画像を描画、送信します。
Definition capturer_video_source.hpp:26
Definition capturer_video_source.hpp:21