32 #include <api/video/i420_buffer.h>
33 #include <libyuv/convert.h>
34 #include <libyuv/video_common.h>
35 #include <media/base/video_broadcaster.h>
36 #include <media/base/video_common.h>
45 namespace visualization {
46 namespace webrtc_server {
48 class ImageCapturer :
public rtc::VideoSourceInterface<webrtc::VideoFrame> {
51 const std::map<std::string, std::string>& opts);
55 const std::string& url,
56 const std::map<std::string, std::string>& opts);
58 ImageCapturer(
const std::map<std::string, std::string>& opts);
61 rtc::VideoSinkInterface<webrtc::VideoFrame>* sink,
62 const rtc::VideoSinkWants& wants)
override;
65 rtc::VideoSinkInterface<webrtc::VideoFrame>* sink)
override;
77 static rtc::scoped_refptr<BitmapTrackSourceInterface>
Create(
78 const std::string& window_uid,
79 const std::map<std::string, std::string>& opts) {
80 std::unique_ptr<ImageCapturer> capturer =
85 rtc::scoped_refptr<BitmapTrackSourceInterface> video_source =
86 new rtc::RefCountedObject<ImageTrackSource>(
91 void OnFrame(
const std::shared_ptr<core::Tensor>&
frame)
final override {
92 capturer_->OnCaptureResult(
frame);
100 rtc::VideoSourceInterface<webrtc::VideoFrame>* source()
override {
101 return capturer_.get();
103 std::unique_ptr<ImageCapturer> capturer_;
Rect frame
Definition: BitmapWindowSystem.cpp:49
Definition: BitmapTrackSource.h:80
Definition: ImageCapturer.h:48
int width_
Definition: ImageCapturer.h:70
int height_
Definition: ImageCapturer.h:71
virtual void RemoveSink(rtc::VideoSinkInterface< webrtc::VideoFrame > *sink) override
Definition: ImageCapturer.cpp:122
virtual void AddOrUpdateSink(rtc::VideoSinkInterface< webrtc::VideoFrame > *sink, const rtc::VideoSinkWants &wants) override
Definition: ImageCapturer.cpp:116
virtual ~ImageCapturer()
Definition: ImageCapturer.cpp:48
static ImageCapturer * Create(const std::string &url, const std::map< std::string, std::string > &opts)
Definition: ImageCapturer.cpp:50
void OnCaptureResult(const std::shared_ptr< core::Tensor > &frame)
Definition: ImageCapturer.cpp:67
ImageCapturer(const std::string &url_, const std::map< std::string, std::string > &opts)
Definition: ImageCapturer.cpp:44
rtc::VideoBroadcaster broadcaster_
Definition: ImageCapturer.h:72
Definition: ImageCapturer.h:75
void OnFrame(const std::shared_ptr< core::Tensor > &frame) final override
Definition: ImageCapturer.h:91
ImageTrackSource(std::unique_ptr< ImageCapturer > capturer)
Definition: ImageCapturer.h:96
static rtc::scoped_refptr< BitmapTrackSourceInterface > Create(const std::string &window_uid, const std::map< std::string, std::string > &opts)
Definition: ImageCapturer.h:77
Definition: PinholeCameraIntrinsic.cpp:35