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