Skip to content

cvedia::rt::solution::DefaultSolutionManager

Inherits from SolutionManagerImpl, SolutionManager, std::enable_shared_from_this< SolutionManager >

Public Functions

Name
std::shared_ptr< iface::SolutionManager > create()

Protected Functions

Name
virtual bool _loadInstanceCallback() override
virtual bool _unloadInstanceCallback() override

Additional inherited members

Public Functions inherited from SolutionManagerImpl

Name
SolutionManagerImpl()
virtual Uuid getInstanceUuid() const override
virtual std::string getInstanceName() const override
virtual std::string getVersion() const override
virtual int64_t getStartTime() const override
virtual int getTrackCount() const override
virtual int getRecentMaxTracks() const override
virtual int getInputQueueSize() const override
virtual int getDroppedFramesCount() const override
virtual std::string getInputResolution() const override
virtual std::string getInputFormat() const override
virtual float getInputFramerate() const override
virtual float getActualFramerate() const override
virtual float getAppSrcFramerate() const
expected< std::pair< int, int > > getAppSrcResolution() const
virtual uint64_t getFramesProcessed() const override
virtual float getLatency() const override
virtual float getCurrentFrameRate() const override
Returns the current frame rate of the solution based on the speed of frames being supplied, the frame rate limit and processing limitations.
virtual std::optional< cvedia::rt::Codec > getInputCodec() const override
virtual InstanceStatistics getInstanceStatistics() const override
Returns the current instance statistic state.
virtual void setFrameRateLimit(int frameRateLimit) override
virtual int getFrameRateLimit() const override
Returns the user specified frame rate processing limit.
virtual void setInputPixelLimit(int pixels) override
virtual int getInputPixelLimit() const override
virtual int getRecommendedFrameRate() const override
Returns the recommended frame rate as specified by the solution for best results.
virtual bool needData(std::chrono::milliseconds const currentFrameTime) override
Returns whether the solution is currently throttling the frame rate and data should be dropped.
virtual expected< void > pushRawFrame(const rt::cbuffer & image) override
virtual expected< void > pushRawFrame(void const * buffer, int width, int height, RawFrameType type, std::chrono::milliseconds timestamp) override
virtual expected< void > pushEncodedFrame(unsigned char const * data, size_t dataSize, EncodingType type, std::chrono::milliseconds timestamp) override
virtual std::unique_ptr< solution::Event > consumeEvents() override
virtual std::vector< std::unique_ptr< solution::Event > > consumeAllEvents() override
virtual std::set< std::string > getInternalSchemaEventTypes() const override
expected< void > submitSchemaEvents(std::vector< solution::SchemaEvent > events) override
virtual void setMetadataMode(bool enable) override
virtual void setStatisticsMode(bool enable) override
virtual void setDiagnosticsMode(bool enable) override
virtual void setDebugMode(bool enableDebug) override
virtual bool getMetadataMode() const override
virtual bool getStatisticsMode() const override
virtual bool getDiagnosticsMode() const override
virtual bool getDebugMode() const override
virtual void setTentativeTracks(bool enable) const override
virtual bool getTentativeTracks() const override
virtual bool isDebugMode() const override
virtual bool isMetadataEnabled() const override
virtual bool isStatisticsEnabled() const override
virtual bool isDiagnosticsEnabled() const override
virtual types::DetectorMode getDetectorMode() const override
Get the operating mode of the AI detector.
virtual void setDetectorMode(types::DetectorMode mode) const override
Change the operating mode of the AI detector.
virtual types::Modality getSensorModality() const override
virtual void setSensorModality(types::Modality const modality) const override
Change the modality of the AI detector.
virtual types::Sensitivity getDetectionSensitivity() const override
virtual void setDetectionSensitivity(types::Sensitivity mode) const override
virtual types::Sensitivity getMovementSensitivity() const override
virtual void setMovementSensitivity(types::Sensitivity mode) const override
virtual std::string getConfigurationFile() const override
virtual bool setInputToManual() override
virtual bool setInputToRtsp(std::string const & rtspUri) override
virtual int getInputOrientation() const override
virtual bool setInputOrientation(int orientation) override
virtual std::string enableHlsOutput() override
virtual bool disableHlsOutput() override
virtual bool enableRtspOutput(std::string const & uri) override
virtual bool disableRtspOutput(std::string const & uri) override
virtual bool setRenderPreset(std::string const & preset) override
virtual void setBlockingReadaheadQueue(bool enable) override
virtual NODISCARD expected< void > attachToInstanceController(iface::InstanceController *const instanceController) override
virtual pCValue getConfigValue(std::string const & path) const override
virtual bool setStateValue(std::string const & path, CValue value) const override
virtual expected< bool > setConfigValue(std::string const & path, CValue value) const override
virtual expected< bool > setConfigValues(std::vector< std::pair< std::string, CValue > > const & pathsToValues) const override
virtual bool deleteStateValue(std::string const & path) const override
virtual expected< bool > deleteConfigValue(std::string const & path) const override
virtual expected< bool > deleteConfigValues(std::vector< std::string > const & paths) const override
virtual nlohmann::json extractInfo() const override
virtual void pushStatisticsEvent() override
virtual bool isOverloaded() override
virtual uint64_t getEventsEmitted() const override
void releaseInputReferences()

Protected Functions inherited from SolutionManagerImpl

Name
bool loadFromController()
bool unloadFromController()
virtual bool load() override
virtual bool unload() override
virtual void setRecommendedFrameRate(int fps) const override
virtual void setupCallbacks() override
virtual void removeCallbacks() override
virtual iface::InstanceController * getInstanceController() const override
virtual iface::InstanceController * getInstanceController() override
virtual std::shared_ptr< iface::Instance > getInstance() const override
virtual std::shared_ptr< iface::Instance > getInstance() override
virtual std::shared_ptr< iface::Solution > getSolution() const override
virtual std::shared_ptr< iface::Solution > getSolution() override
virtual void setInstanceController(iface::InstanceController *const instanceController) override
expected< void > _authorizeInputPixelLimit(int pixels) const
virtual expected< void > _handleInput()

Protected Attributes inherited from SolutionManagerImpl

Name
std::unique_ptr< solution::AnalyticsManager > analytics_
std::deque< std::unique_ptr< Event > > eventsQueue_
std::mutex eventsQueueMutex_
std::atomic< uint64_t > eventsEmitted_
bool isStatisticsRunning_

Friends inherited from SolutionManagerImpl

Name
class ::cvedia::rt::InstanceControllerImpl

Public Types inherited from SolutionManager

Name
enum uint8_t RawFrameType
enum uint8_t EncodingType

Public Functions inherited from SolutionManager

Name
std::optional< Codec > encodingTypeToCodec(EncodingType encodingType)
virtual ~SolutionManager() =default
virtual Uuid getInstanceUuid() const =0
virtual std::string getInstanceName() const =0
virtual std::string getVersion() const =0
virtual int64_t getStartTime() const =0
virtual int getTrackCount() const =0
virtual int getRecentMaxTracks() const =0
virtual int getInputQueueSize() const =0
virtual uint64_t getFramesProcessed() const =0
virtual int getDroppedFramesCount() const =0
virtual float getLatency() const =0
virtual float getCurrentFrameRate() const =0
virtual float getAppSrcFramerate() const =0
virtual std::optional< Codec > getInputCodec() const =0
virtual InstanceStatistics getInstanceStatistics() const =0
virtual std::string getInputResolution() const =0
virtual std::string getInputFormat() const =0
virtual float getInputFramerate() const =0
virtual float getActualFramerate() const =0
virtual void setFrameRateLimit(int frameRateLimit) =0
virtual int getFrameRateLimit() const =0
virtual void setInputPixelLimit(int pixels) =0
virtual int getInputPixelLimit() const =0
virtual int getRecommendedFrameRate() const =0
virtual bool needData(std::chrono::milliseconds const currentFrameTime) =0
virtual expected< void > pushRawFrame(const rt::cbuffer & image) =0
virtual expected< void > pushRawFrame(void const * buffer, int width, int height, RawFrameType type, std::chrono::milliseconds timestamp) =0
virtual expected< void > pushEncodedFrame(unsigned char const * data, size_t dataSize, EncodingType type, std::chrono::milliseconds timestamp) =0
virtual std::unique_ptr< solution::Event > consumeEvents() =0
virtual std::vector< std::unique_ptr< solution::Event > > consumeAllEvents() =0
virtual std::set< std::string > getInternalSchemaEventTypes() const =0
virtual expected< void > submitSchemaEvents(std::vector< solution::SchemaEvent > events) =0
virtual void setMetadataMode(bool enable) =0
virtual void setStatisticsMode(bool enable) =0
virtual void setDiagnosticsMode(bool enable) =0
virtual void setDebugMode(bool enableDebug) =0
virtual bool getMetadataMode() const =0
virtual bool getStatisticsMode() const =0
virtual bool getDiagnosticsMode() const =0
virtual bool getDebugMode() const =0
virtual void setTentativeTracks(bool enable) const =0
virtual bool getTentativeTracks() const =0
virtual bool isDebugMode() const =0
virtual bool isMetadataEnabled() const =0
virtual bool isStatisticsEnabled() const =0
virtual bool isDiagnosticsEnabled() const =0
virtual std::string getConfigurationFile() const =0
virtual bool setInputToManual() =0
virtual bool setInputToRtsp(std::string const & rtspUri) =0
virtual bool setInputOrientation(int orientation) =0
virtual int getInputOrientation() const =0
virtual std::string enableHlsOutput() =0
virtual bool disableHlsOutput() =0
virtual bool enableRtspOutput(std::string const & uri) =0
virtual bool disableRtspOutput(std::string const & uri) =0
virtual bool setRenderPreset(std::string const & preset) =0
virtual void setBlockingReadaheadQueue(bool enable) =0
virtual expected< void > attachToInstanceController(iface::InstanceController *const instanceController) =0
virtual void setupCallbacks() =0
virtual void removeCallbacks() =0
virtual pCValue getConfigValue(std::string const & path) const =0
virtual bool setStateValue(std::string const & path, CValue value) const =0
virtual expected< bool > setConfigValue(std::string const & path, CValue value) const =0
virtual expected< bool > setConfigValues(std::vector< std::pair< std::string, CValue > > const & pathsToValues) const =0
virtual bool deleteStateValue(std::string const & path) const =0
virtual expected< bool > deleteConfigValue(std::string const & path) const =0
virtual expected< bool > deleteConfigValues(std::vector< std::string > const & paths) const =0
virtual types::DetectorMode getDetectorMode() const =0
virtual void setDetectorMode(types::DetectorMode mode) const =0
virtual types::Modality getSensorModality() const =0
virtual void setSensorModality(types::Modality const modality) const =0
virtual types::Sensitivity getDetectionSensitivity() const =0
virtual void setDetectionSensitivity(types::Sensitivity mode) const =0
virtual types::Sensitivity getMovementSensitivity() const =0
virtual void setMovementSensitivity(types::Sensitivity mode) const =0
virtual nlohmann::json extractInfo() const =0
virtual void pushStatisticsEvent() =0
virtual bool isOverloaded() =0
virtual uint64_t getEventsEmitted() const =0

Protected Functions inherited from SolutionManager

Name
virtual bool load() =0
virtual bool unload() =0
virtual void setRecommendedFrameRate(int fps) const =0
virtual expected< void > _handleInput() =0
virtual iface::InstanceController * getInstanceController() const =0
virtual iface::InstanceController * getInstanceController() =0
virtual std::shared_ptr< iface::Instance > getInstance() const =0
virtual std::shared_ptr< iface::Instance > getInstance() =0
virtual std::shared_ptr< iface::Solution > getSolution() const =0
virtual std::shared_ptr< iface::Solution > getSolution() =0
virtual void setInstanceController(iface::InstanceController *const instanceController) =0

Friends inherited from SolutionManager

Name
class ::cvedia::rt::InstanceControllerImpl

Public Functions Documentation

function create

static inline std::shared_ptr< iface::SolutionManager > create()

Protected Functions Documentation

function _loadInstanceCallback

inline virtual bool _loadInstanceCallback() override

Reimplements: cvedia::rt::iface::SolutionManager::_loadInstanceCallback

function _unloadInstanceCallback

inline virtual bool _unloadInstanceCallback() override

Reimplements: cvedia::rt::iface::SolutionManager::_unloadInstanceCallback