Banuba SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
libs
spal
bnb
spal
camera
video_mocker.hpp
1
2
#pragma once
3
4
#include <chrono>
5
#include <thread>
6
#include <optional>
7
8
#include <bnb/types/base_types.hpp>
9
#include <bnb/spal/camera/base_mocker.hpp>
10
#include <bnb/utils/defs.hpp>
11
#include <bnb/utils/warning_ingore.h>
12
13
#if !BNB_OS_EMSCRIPTEN
14
BNB_NO_WARN_BEGIN_GCC(
"-Wdeprecated-enum-enum-conversion"
)
15
#include <opencv2/core/core.hpp>
16
#include <opencv2/videoio.hpp>
17
BNB_NO_WARN_END_GCC()
18
19
20
namespace bnb
21
{
22
class
BNB_EXPORT camera_video_mocker final :
public
camera_base_mocker
23
{
24
public
:
25
typedef
std::optional<cv::Rect> rect_t;
26
27
public
:
28
camera_video_mocker(
const
camera_base::push_frame_cb_t& cb, uint32_t frame_rate,
const
std::string& input_file,
const
rect_t& clip_area);
29
camera_video_mocker(
const
camera_base::push_frame_cb_t& cb,
const
std::string& input_file,
const
rect_t& clip_area = std::nullopt);
30
~camera_video_mocker() final;
31
32
void
set_device_by_index(uint32_t device_index) override;
33
void
set_device_by_id(const std::
string
& device_id) override;
34
35
private:
36
void
update_image_content() final;
37
38
private:
39
uint32_t m_frame_width;
40
uint32_t m_frame_height;
41
uint32_t m_frame_size;
42
43
cv::VideoCapture m_capture;
44
std::optional<cv::Rect> m_clip_area;
45
};
46
47
}
// namespace bnb
48
49
#endif
Generated by
1.17.0