SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
i420_video_renderer.hpp
1//
2// © NTT DOCOMO BUSINESS, Inc. All Rights Reserved.
3//
4
5#ifndef SKYWAY_MEDIA_I420_VIDEO_RENDERER_HPP_
6#define SKYWAY_MEDIA_I420_VIDEO_RENDERER_HPP_
7
8#include <mutex>
9#include <optional>
10
11#include "skyway/media/interface/i420_video_renderer.hpp"
12
13namespace skyway {
14namespace media {
17public:
22
26
29
32 void Render(std::shared_ptr<core::stream::remote::RemoteVideoStream> stream) override;
33
34 // rtc::VideoSinkInterface<webrtc::VideoFrame>
35 void OnFrame(const webrtc::VideoFrame& frame) override;
36
37protected:
38 std::optional<interface::I420Frame> ConvertI420Frame(const webrtc::VideoFrame& frame);
39
40private:
41 rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> track_;
42 std::mutex rendering_mtx_;
44 std::unordered_set<Listener*> listeners_;
45};
46
47} // namespace media
48} // namespace skyway
49
50#endif /* SKYWAY_MEDIA_I420_VIDEO_RENDERER_HPP_ */
SubscribeしたVideoStreamの映像を取得するクラス
Definition i420_video_renderer.hpp:16
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:54
SubscribeしたVideoStreamの映像を取得するインターフェース
Definition i420_video_renderer.hpp:51
映像の出力時の設定
Definition i420_video_renderer.hpp:19