cvedia::rt::solution::SolutionManagerImpl¶
Inherits from SolutionManager, std::enable_shared_from_this< SolutionManager >
Inherited by DefaultSolutionManager
Public Functions¶
| 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¶
| 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¶
| 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¶
| Name | |
|---|---|
| class | ::cvedia::rt::InstanceControllerImpl |
Additional inherited members¶
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 |
Protected Functions inherited from SolutionManager
| Name | |
|---|---|
| virtual bool | _loadInstanceCallback() =0 |
| virtual bool | _unloadInstanceCallback() =0 |
Public Functions Documentation¶
function SolutionManagerImpl¶
SolutionManagerImpl()
function getInstanceUuid¶
virtual Uuid getInstanceUuid() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInstanceUuid
function getInstanceName¶
virtual std::string getInstanceName() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInstanceName
function getVersion¶
virtual std::string getVersion() const override
Reimplements: cvedia::rt::iface::SolutionManager::getVersion
function getStartTime¶
virtual int64_t getStartTime() const override
Reimplements: cvedia::rt::iface::SolutionManager::getStartTime
function getTrackCount¶
virtual int getTrackCount() const override
Reimplements: cvedia::rt::iface::SolutionManager::getTrackCount
function getRecentMaxTracks¶
virtual int getRecentMaxTracks() const override
Reimplements: cvedia::rt::iface::SolutionManager::getRecentMaxTracks
function getInputQueueSize¶
virtual int getInputQueueSize() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInputQueueSize
function getDroppedFramesCount¶
virtual int getDroppedFramesCount() const override
Reimplements: cvedia::rt::iface::SolutionManager::getDroppedFramesCount
function getInputResolution¶
virtual std::string getInputResolution() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInputResolution
function getInputFormat¶
virtual std::string getInputFormat() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInputFormat
function getInputFramerate¶
virtual float getInputFramerate() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInputFramerate
function getActualFramerate¶
virtual float getActualFramerate() const override
Reimplements: cvedia::rt::iface::SolutionManager::getActualFramerate
function getAppSrcFramerate¶
virtual float getAppSrcFramerate() const
Reimplements: cvedia::rt::iface::SolutionManager::getAppSrcFramerate
function getAppSrcResolution¶
expected< std::pair< int, int > > getAppSrcResolution() const
function getFramesProcessed¶
virtual uint64_t getFramesProcessed() const override
Reimplements: cvedia::rt::iface::SolutionManager::getFramesProcessed
function getLatency¶
virtual float getLatency() const override
Reimplements: cvedia::rt::iface::SolutionManager::getLatency
function getCurrentFrameRate¶
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.
Return: Achieved frame rate in frames per second
Reimplements: cvedia::rt::iface::SolutionManager::getCurrentFrameRate
function getInputCodec¶
virtual std::optional< cvedia::rt::Codec > getInputCodec() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInputCodec
function getInstanceStatistics¶
virtual InstanceStatistics getInstanceStatistics() const override
Returns the current instance statistic state.
Return: Instance statistics state
Reimplements: cvedia::rt::iface::SolutionManager::getInstanceStatistics
function setFrameRateLimit¶
virtual void setFrameRateLimit(
int frameRateLimit
) override
Reimplements: cvedia::rt::iface::SolutionManager::setFrameRateLimit
function getFrameRateLimit¶
virtual int getFrameRateLimit() const override
Returns the user specified frame rate processing limit.
Return: Frame rate in frames per second
Reimplements: cvedia::rt::iface::SolutionManager::getFrameRateLimit
function setInputPixelLimit¶
virtual void setInputPixelLimit(
int pixels
) override
Reimplements: cvedia::rt::iface::SolutionManager::setInputPixelLimit
function getInputPixelLimit¶
virtual int getInputPixelLimit() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInputPixelLimit
function getRecommendedFrameRate¶
virtual int getRecommendedFrameRate() const override
Returns the recommended frame rate as specified by the solution for best results.
Return: Frame rate in frames per second
Reimplements: cvedia::rt::iface::SolutionManager::getRecommendedFrameRate
function needData¶
virtual bool needData(
std::chrono::milliseconds const currentFrameTime
) override
Returns whether the solution is currently throttling the frame rate and data should be dropped.
Return: Returns true if more data should be fed to the solution
Reimplements: cvedia::rt::iface::SolutionManager::needData
function pushRawFrame¶
virtual expected< void > pushRawFrame(
const rt::cbuffer & image
) override
Reimplements: cvedia::rt::iface::SolutionManager::pushRawFrame
function pushRawFrame¶
virtual expected< void > pushRawFrame(
void const * buffer,
int width,
int height,
RawFrameType type,
std::chrono::milliseconds timestamp
) override
Reimplements: cvedia::rt::iface::SolutionManager::pushRawFrame
function pushEncodedFrame¶
virtual expected< void > pushEncodedFrame(
unsigned char const * data,
size_t dataSize,
EncodingType type,
std::chrono::milliseconds timestamp
) override
Reimplements: cvedia::rt::iface::SolutionManager::pushEncodedFrame
function consumeEvents¶
virtual std::unique_ptr< solution::Event > consumeEvents() override
Reimplements: cvedia::rt::iface::SolutionManager::consumeEvents
function consumeAllEvents¶
virtual std::vector< std::unique_ptr< solution::Event > > consumeAllEvents() override
Reimplements: cvedia::rt::iface::SolutionManager::consumeAllEvents
function getInternalSchemaEventTypes¶
virtual std::set< std::string > getInternalSchemaEventTypes() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInternalSchemaEventTypes
function submitSchemaEvents¶
expected< void > submitSchemaEvents(
std::vector< solution::SchemaEvent > events
) override
function setMetadataMode¶
virtual void setMetadataMode(
bool enable
) override
Reimplements: cvedia::rt::iface::SolutionManager::setMetadataMode
function setStatisticsMode¶
virtual void setStatisticsMode(
bool enable
) override
Reimplements: cvedia::rt::iface::SolutionManager::setStatisticsMode
function setDiagnosticsMode¶
virtual void setDiagnosticsMode(
bool enable
) override
Reimplements: cvedia::rt::iface::SolutionManager::setDiagnosticsMode
function setDebugMode¶
virtual void setDebugMode(
bool enableDebug
) override
Reimplements: cvedia::rt::iface::SolutionManager::setDebugMode
function getMetadataMode¶
virtual bool getMetadataMode() const override
Reimplements: cvedia::rt::iface::SolutionManager::getMetadataMode
function getStatisticsMode¶
virtual bool getStatisticsMode() const override
Reimplements: cvedia::rt::iface::SolutionManager::getStatisticsMode
function getDiagnosticsMode¶
virtual bool getDiagnosticsMode() const override
Reimplements: cvedia::rt::iface::SolutionManager::getDiagnosticsMode
function getDebugMode¶
virtual bool getDebugMode() const override
Reimplements: cvedia::rt::iface::SolutionManager::getDebugMode
function setTentativeTracks¶
virtual void setTentativeTracks(
bool enable
) const override
Reimplements: cvedia::rt::iface::SolutionManager::setTentativeTracks
function getTentativeTracks¶
virtual bool getTentativeTracks() const override
Reimplements: cvedia::rt::iface::SolutionManager::getTentativeTracks
function isDebugMode¶
virtual bool isDebugMode() const override
Reimplements: cvedia::rt::iface::SolutionManager::isDebugMode
function isMetadataEnabled¶
virtual bool isMetadataEnabled() const override
Reimplements: cvedia::rt::iface::SolutionManager::isMetadataEnabled
function isStatisticsEnabled¶
virtual bool isStatisticsEnabled() const override
Reimplements: cvedia::rt::iface::SolutionManager::isStatisticsEnabled
function isDiagnosticsEnabled¶
virtual bool isDiagnosticsEnabled() const override
Reimplements: cvedia::rt::iface::SolutionManager::isDiagnosticsEnabled
function getDetectorMode¶
virtual types::DetectorMode getDetectorMode() const override
Get the operating mode of the AI detector.
Return: The operating mode of the detector, either SmartDetection or Detection.
Reimplements: cvedia::rt::iface::SolutionManager::getDetectorMode
function setDetectorMode¶
virtual void setDetectorMode(
types::DetectorMode mode
) const override
Change the operating mode of the AI detector.
Parameters:
- mode The operating mode to use, either SmartDetection or Detection.
Reimplements: cvedia::rt::iface::SolutionManager::setDetectorMode
Smart Detection is a mixture of motion detection and object detection. It provides better overall performance than just object detection, and should be used as the default for most use cases.
function getSensorModality¶
virtual types::Modality getSensorModality() const override
Reimplements: cvedia::rt::iface::SolutionManager::getSensorModality
function setSensorModality¶
virtual void setSensorModality(
types::Modality const modality
) const override
Change the modality of the AI detector.
Parameters:
- modality The modality to use, either RGB or Thermal.
Reimplements: cvedia::rt::iface::SolutionManager::setSensorModality
The modality of the detector can be either RGB or Thermal. This is used to determine which AI model to use for object detection.
function getDetectionSensitivity¶
virtual types::Sensitivity getDetectionSensitivity() const override
Reimplements: cvedia::rt::iface::SolutionManager::getDetectionSensitivity
function setDetectionSensitivity¶
virtual void setDetectionSensitivity(
types::Sensitivity mode
) const override
Reimplements: cvedia::rt::iface::SolutionManager::setDetectionSensitivity
function getMovementSensitivity¶
virtual types::Sensitivity getMovementSensitivity() const override
Reimplements: cvedia::rt::iface::SolutionManager::getMovementSensitivity
function setMovementSensitivity¶
virtual void setMovementSensitivity(
types::Sensitivity mode
) const override
Reimplements: cvedia::rt::iface::SolutionManager::setMovementSensitivity
function getConfigurationFile¶
virtual std::string getConfigurationFile() const override
Reimplements: cvedia::rt::iface::SolutionManager::getConfigurationFile
function setInputToManual¶
virtual bool setInputToManual() override
Reimplements: cvedia::rt::iface::SolutionManager::setInputToManual
function setInputToRtsp¶
virtual bool setInputToRtsp(
std::string const & rtspUri
) override
Reimplements: cvedia::rt::iface::SolutionManager::setInputToRtsp
function getInputOrientation¶
virtual int getInputOrientation() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInputOrientation
function setInputOrientation¶
virtual bool setInputOrientation(
int orientation
) override
Reimplements: cvedia::rt::iface::SolutionManager::setInputOrientation
function enableHlsOutput¶
virtual std::string enableHlsOutput() override
Reimplements: cvedia::rt::iface::SolutionManager::enableHlsOutput
function disableHlsOutput¶
virtual bool disableHlsOutput() override
Reimplements: cvedia::rt::iface::SolutionManager::disableHlsOutput
function enableRtspOutput¶
virtual bool enableRtspOutput(
std::string const & uri
) override
Reimplements: cvedia::rt::iface::SolutionManager::enableRtspOutput
function disableRtspOutput¶
virtual bool disableRtspOutput(
std::string const & uri
) override
Reimplements: cvedia::rt::iface::SolutionManager::disableRtspOutput
function setRenderPreset¶
virtual bool setRenderPreset(
std::string const & preset
) override
Reimplements: cvedia::rt::iface::SolutionManager::setRenderPreset
function setBlockingReadaheadQueue¶
virtual void setBlockingReadaheadQueue(
bool enable
) override
Reimplements: cvedia::rt::iface::SolutionManager::setBlockingReadaheadQueue
function attachToInstanceController¶
virtual NODISCARD expected< void > attachToInstanceController(
iface::InstanceController *const instanceController
) override
Reimplements: cvedia::rt::iface::SolutionManager::attachToInstanceController
function getConfigValue¶
virtual pCValue getConfigValue(
std::string const & path
) const override
Reimplements: cvedia::rt::iface::SolutionManager::getConfigValue
function setStateValue¶
virtual bool setStateValue(
std::string const & path,
CValue value
) const override
Reimplements: cvedia::rt::iface::SolutionManager::setStateValue
function setConfigValue¶
virtual expected< bool > setConfigValue(
std::string const & path,
CValue value
) const override
Reimplements: cvedia::rt::iface::SolutionManager::setConfigValue
function setConfigValues¶
virtual expected< bool > setConfigValues(
std::vector< std::pair< std::string, CValue > > const & pathsToValues
) const override
Reimplements: cvedia::rt::iface::SolutionManager::setConfigValues
function deleteStateValue¶
virtual bool deleteStateValue(
std::string const & path
) const override
Reimplements: cvedia::rt::iface::SolutionManager::deleteStateValue
function deleteConfigValue¶
virtual expected< bool > deleteConfigValue(
std::string const & path
) const override
Reimplements: cvedia::rt::iface::SolutionManager::deleteConfigValue
function deleteConfigValues¶
virtual expected< bool > deleteConfigValues(
std::vector< std::string > const & paths
) const override
Reimplements: cvedia::rt::iface::SolutionManager::deleteConfigValues
function extractInfo¶
virtual nlohmann::json extractInfo() const override
Reimplements: cvedia::rt::iface::SolutionManager::extractInfo
function pushStatisticsEvent¶
virtual void pushStatisticsEvent() override
Reimplements: cvedia::rt::iface::SolutionManager::pushStatisticsEvent
function isOverloaded¶
virtual bool isOverloaded() override
Reimplements: cvedia::rt::iface::SolutionManager::isOverloaded
function getEventsEmitted¶
virtual uint64_t getEventsEmitted() const override
Reimplements: cvedia::rt::iface::SolutionManager::getEventsEmitted
function releaseInputReferences¶
void releaseInputReferences()
Protected Functions Documentation¶
function loadFromController¶
bool loadFromController()
function unloadFromController¶
bool unloadFromController()
function load¶
virtual bool load() override
Reimplements: cvedia::rt::iface::SolutionManager::load
function unload¶
virtual bool unload() override
Reimplements: cvedia::rt::iface::SolutionManager::unload
function setRecommendedFrameRate¶
virtual void setRecommendedFrameRate(
int fps
) const override
Reimplements: cvedia::rt::iface::SolutionManager::setRecommendedFrameRate
function setupCallbacks¶
virtual void setupCallbacks() override
Reimplements: cvedia::rt::iface::SolutionManager::setupCallbacks
function removeCallbacks¶
virtual void removeCallbacks() override
Reimplements: cvedia::rt::iface::SolutionManager::removeCallbacks
function getInstanceController¶
virtual iface::InstanceController * getInstanceController() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInstanceController
function getInstanceController¶
virtual iface::InstanceController * getInstanceController() override
Reimplements: cvedia::rt::iface::SolutionManager::getInstanceController
function getInstance¶
virtual std::shared_ptr< iface::Instance > getInstance() const override
Reimplements: cvedia::rt::iface::SolutionManager::getInstance
function getInstance¶
virtual std::shared_ptr< iface::Instance > getInstance() override
Reimplements: cvedia::rt::iface::SolutionManager::getInstance
function getSolution¶
virtual std::shared_ptr< iface::Solution > getSolution() const override
Reimplements: cvedia::rt::iface::SolutionManager::getSolution
function getSolution¶
virtual std::shared_ptr< iface::Solution > getSolution() override
Reimplements: cvedia::rt::iface::SolutionManager::getSolution
function setInstanceController¶
virtual void setInstanceController(
iface::InstanceController *const instanceController
) override
Reimplements: cvedia::rt::iface::SolutionManager::setInstanceController
function _authorizeInputPixelLimit¶
expected< void > _authorizeInputPixelLimit(
int pixels
) const
function _handleInput¶
virtual expected< void > _handleInput()
Reimplements: cvedia::rt::iface::SolutionManager::_handleInput
Protected Attributes Documentation¶
variable analytics_¶
std::unique_ptr< solution::AnalyticsManager > analytics_;
variable eventsQueue_¶
std::deque< std::unique_ptr< Event > > eventsQueue_;
variable eventsQueueMutex_¶
std::mutex eventsQueueMutex_;
variable eventsEmitted_¶
std::atomic< uint64_t > eventsEmitted_ {0};
variable isStatisticsRunning_¶
bool isStatisticsRunning_ = false;
Friends¶
friend ::cvedia::rt::InstanceControllerImpl¶
friend class ::cvedia::rt::InstanceControllerImpl(
::cvedia::rt::InstanceControllerImpl
);