SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
opencv_video_renderer.hpp
1//
2// © NTT DOCOMO BUSINESS, Inc. All Rights Reserved.
3//
4
5// Define “SKYWAY_ENABLE_OPENCV” if you want to use OpenCV functionality
6#ifdef SKYWAY_ENABLE_OPENCV
7
8#ifndef SKYWAY_MEDIA_OPENCV_VIDEO_RENDERER_HPP_
9#define SKYWAY_MEDIA_OPENCV_VIDEO_RENDERER_HPP_
10
11#include "skyway/media/i420_video_renderer.hpp"
12
13#include <thread>
14#include <unordered_set>
15
16#include <memory>
17
18#include <opencv2/opencv.hpp>
19
20namespace skyway {
21namespace media {
22namespace opencv {
23
27public:
28 class Listener {
29 public:
30 virtual ~Listener() = default;
31 virtual void OnFrame(cv::Mat mat) = 0;
32 };
33
37
40 void RegisterListener(Listener* listener);
44
45 // Impl I420VideoRenderer
46 void OnFrame(const webrtc::VideoFrame& frame) override;
47
48private:
49 cv::Mat I420ToMat(const interface::I420Frame& frame);
50 std::mutex listeners_mtx_;
51 std::unordered_set<Listener*> listeners_;
52};
53} // namespace opencv
54} // namespace media
55} // namespace skyway
56
57#endif /* SKYWAY_MEDIA_V4L2_VIDEO_RENDERER_HPP_ */
58#endif /* SKYWAY_ENABLE_OPENCV */
SubscribeしたVideoStreamの映像を取得するクラス
Definition i420_video_renderer.hpp:16
Definition opencv_video_renderer.hpp:28
映像の描画を行うクラス
Definition opencv_video_renderer.hpp:26
void RegisterListener(Listener *listener)
リスナーを登録します
void UnregisterListener(Listener *listener)
登録しているリスナーを解除します
OpenCVVideoRenderer()
コンストラクタ
映像フレーム
Definition i420_video_renderer.hpp:27