SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
i420_video_renderer.hpp
1//
2// i420_video_renderer.hpp
3// skyway
4//
5// Created by ogura on 2024/4/2.
6// Copyright © 2024 NTT Communications. All rights reserved.
7//
8
9#ifndef SKYWAY_MEDIA_I420_VIDEO_RENDERER_HPP_
10#define SKYWAY_MEDIA_I420_VIDEO_RENDERER_HPP_
11
12#include <mutex>
13#include <optional>
14
15#include "skyway/media/interface/i420_video_renderer.hpp"
16
17namespace skyway {
18namespace media {
21public:
26
30
33
36 void Render(std::shared_ptr<core::stream::remote::RemoteVideoStream> stream) override;
37
38 // rtc::VideoSinkInterface<webrtc::VideoFrame>
39 void OnFrame(const webrtc::VideoFrame& frame) override;
40
41protected:
42 std::optional<interface::I420Frame> ConvertI420Frame(const webrtc::VideoFrame& frame);
43
44private:
45 rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> track_;
46 std::mutex rendering_mtx_;
48 std::unordered_set<Listener*> listeners_;
49};
50
51} // namespace media
52} // namespace skyway
53
54#endif /* SKYWAY_MEDIA_I420_VIDEO_RENDERER_HPP_ */
SubscribeしたVideoStreamの映像を取得するクラス
Definition i420_video_renderer.hpp:20
void RegisterListener(interface::I420VideoRenderer::Listener *listener) override
I420VideoRenderer::Listenerを登録します。
I420VideoRenderer(const interface::I420VideoRendererOptions &options)
コンストラクタ
void Render(std::shared_ptr< core::stream::remote::RemoteVideoStream > stream) override
RemoteVideoStreamをRendererに登録します。
void UnregisterListener(interface::I420VideoRenderer::Listener *listener) override
イベントリスナーの登録を解除します。
RemoteVideoStreamにて映像フレームが更新された際に呼ばれるイベントリスナー
Definition i420_video_renderer.hpp:58
SubscribeしたVideoStreamの映像を取得するインターフェース
Definition i420_video_renderer.hpp:55
映像の出力時の設定
Definition i420_video_renderer.hpp:23