Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
VirtualCameraSink.h
1#pragma once
2
3#include "Module.h"
4#include "declarative/PropertyMacros.h"
5
7{
8public:
9 // Default constructor for declarative pipeline
11 {
12 }
13
14 VirtualCameraSinkProps(std::string _device) : device(_device)
15 {
16 }
17
18 std::string device;
19
20 // ============================================================
21 // Property Binding for Declarative Pipeline
22 // ============================================================
23 template<typename PropsT>
24 static void applyProperties(
25 PropsT& props,
26 const std::map<std::string, apra::ScalarPropertyValue>& values,
27 std::vector<std::string>& missingRequired
28 ) {
29 apra::applyProp(props.device, "device", values, true, missingRequired);
30 }
31
32 apra::ScalarPropertyValue getProperty(const std::string& propName) const {
33 if (propName == "device") return device;
34 throw std::runtime_error("Unknown property: " + propName);
35 }
36
37 bool setProperty(const std::string& propName, const apra::ScalarPropertyValue& value) {
38 return false; // All properties are static
39 }
40
41 static std::vector<std::string> dynamicPropertyNames() {
42 return {};
43 }
44};
45
47{
48
49public:
51 virtual ~VirtualCameraSink();
52 bool init();
53 bool term();
54
55 void getImageSize(int &width, int &height);
56
57protected:
58 bool process(frame_container &frames);
59 bool processSOS(frame_sp &frame);
60 bool validateInputPins();
61 bool shouldTriggerSOS();
62 bool processEOS(string &pinId);
63
64private:
65 class Detail;
66 boost::shared_ptr<Detail> mDetail;
67};
Definition Module.h:33
Definition Module.h:151
Definition VirtualCameraSink.h:7
static void applyProperties(PropsT &props, const std::map< std::string, apra::ScalarPropertyValue > &values, std::vector< std::string > &missingRequired)
Definition VirtualCameraSink.h:24
VirtualCameraSinkProps()
Definition VirtualCameraSink.h:10
bool setProperty(const std::string &propName, const apra::ScalarPropertyValue &value)
Definition VirtualCameraSink.h:37
static std::vector< std::string > dynamicPropertyNames()
Definition VirtualCameraSink.h:41
VirtualCameraSinkProps(std::string _device)
Definition VirtualCameraSink.h:14
apra::ScalarPropertyValue getProperty(const std::string &propName) const
Definition VirtualCameraSink.h:32
std::string device
Definition VirtualCameraSink.h:18
Definition VirtualCameraSink.cpp:23
Definition VirtualCameraSink.h:47
void getImageSize(int &width, int &height)
Definition VirtualCameraSink.cpp:271
bool processEOS(string &pinId)
Definition VirtualCameraSink.cpp:265
boost::shared_ptr< Detail > mDetail
Definition VirtualCameraSink.h:66
bool shouldTriggerSOS()
Definition VirtualCameraSink.cpp:260
bool term()
Definition VirtualCameraSink.cpp:242
bool process(frame_container &frames)
Definition VirtualCameraSink.cpp:247
bool init()
Definition VirtualCameraSink.cpp:232
bool processSOS(frame_sp &frame)
Definition VirtualCameraSink.cpp:252
virtual ~VirtualCameraSink()
Definition VirtualCameraSink.cpp:204
VirtualCameraSink(VirtualCameraSinkProps _props)
Definition VirtualCameraSink.cpp:199
bool validateInputPins()
Definition VirtualCameraSink.cpp:206
void applyProp(T &member, const char *propName, const std::map< std::string, ScalarPropertyValue > &values, bool isRequired, std::vector< std::string > &missingRequired)
Definition PropertyMacros.h:36
std::variant< int64_t, double, bool, std::string > ScalarPropertyValue
Definition ModuleRegistry.h:30