Skip to content

cvedia::rt::iface::SolutionManager

Inherits from std::enable_shared_from_this< SolutionManager >

Inherited by SecuRT, SolutionManagerImpl

Public Types

Name
enum uint8_t RawFrameType
enum uint8_t EncodingType

Public Functions

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

Name
virtual bool load() =0
virtual bool unload() =0
virtual void setRecommendedFrameRate(int fps) const =0
virtual bool _loadInstanceCallback() =0
virtual bool _unloadInstanceCallback() =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

Name
class ::cvedia::rt::InstanceControllerImpl

Public Types Documentation

enum RawFrameType

Enumerator Value Description
BGR 1
NV12 2
YV12 3

enum EncodingType

Enumerator Value Description
IMAGE 1
H264 2
H265 3

Public Functions Documentation

function encodingTypeToCodec

static inline std::optional< Codec > encodingTypeToCodec(
    EncodingType encodingType
)

function ~SolutionManager

virtual ~SolutionManager() =default

function getInstanceUuid

virtual Uuid getInstanceUuid() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInstanceUuid

function getInstanceName

virtual std::string getInstanceName() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInstanceName

function getVersion

virtual std::string getVersion() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getVersion

function getStartTime

virtual int64_t getStartTime() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getStartTime

function getTrackCount

virtual int getTrackCount() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getTrackCount

function getRecentMaxTracks

virtual int getRecentMaxTracks() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getRecentMaxTracks

function getInputQueueSize

virtual int getInputQueueSize() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInputQueueSize

function getFramesProcessed

virtual uint64_t getFramesProcessed() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getFramesProcessed

function getDroppedFramesCount

virtual int getDroppedFramesCount() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getDroppedFramesCount

function getLatency

virtual float getLatency() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getLatency

function getCurrentFrameRate

virtual float getCurrentFrameRate() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getCurrentFrameRate

function getAppSrcFramerate

virtual float getAppSrcFramerate() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getAppSrcFramerate

function getInputCodec

virtual std::optional< Codec > getInputCodec() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInputCodec

function getInstanceStatistics

virtual InstanceStatistics getInstanceStatistics() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInstanceStatistics

function getInputResolution

virtual std::string getInputResolution() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInputResolution

function getInputFormat

virtual std::string getInputFormat() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInputFormat

function getInputFramerate

virtual float getInputFramerate() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInputFramerate

function getActualFramerate

virtual float getActualFramerate() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getActualFramerate

function setFrameRateLimit

virtual void setFrameRateLimit(
    int frameRateLimit
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setFrameRateLimit

function getFrameRateLimit

virtual int getFrameRateLimit() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getFrameRateLimit

function setInputPixelLimit

virtual void setInputPixelLimit(
    int pixels
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setInputPixelLimit

function getInputPixelLimit

virtual int getInputPixelLimit() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInputPixelLimit

function getRecommendedFrameRate

virtual int getRecommendedFrameRate() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getRecommendedFrameRate

function needData

virtual bool needData(
    std::chrono::milliseconds const currentFrameTime
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::needData

function pushRawFrame

virtual expected< void > pushRawFrame(
    const rt::cbuffer & image
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::pushRawFrame

function pushRawFrame

virtual expected< void > pushRawFrame(
    void const * buffer,
    int width,
    int height,
    RawFrameType type,
    std::chrono::milliseconds timestamp
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::pushRawFrame

function pushEncodedFrame

virtual expected< void > pushEncodedFrame(
    unsigned char const * data,
    size_t dataSize,
    EncodingType type,
    std::chrono::milliseconds timestamp
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::pushEncodedFrame

function consumeEvents

virtual std::unique_ptr< solution::Event > consumeEvents() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::consumeEvents

function consumeAllEvents

virtual std::vector< std::unique_ptr< solution::Event > > consumeAllEvents() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::consumeAllEvents

function getInternalSchemaEventTypes

virtual std::set< std::string > getInternalSchemaEventTypes() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInternalSchemaEventTypes

function submitSchemaEvents

virtual expected< void > submitSchemaEvents(
    std::vector< solution::SchemaEvent > events
) =0

function setMetadataMode

virtual void setMetadataMode(
    bool enable
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setMetadataMode

function setStatisticsMode

virtual void setStatisticsMode(
    bool enable
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setStatisticsMode

function setDiagnosticsMode

virtual void setDiagnosticsMode(
    bool enable
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setDiagnosticsMode

function setDebugMode

virtual void setDebugMode(
    bool enableDebug
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setDebugMode

function getMetadataMode

virtual bool getMetadataMode() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getMetadataMode

function getStatisticsMode

virtual bool getStatisticsMode() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getStatisticsMode

function getDiagnosticsMode

virtual bool getDiagnosticsMode() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getDiagnosticsMode

function getDebugMode

virtual bool getDebugMode() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getDebugMode

function setTentativeTracks

virtual void setTentativeTracks(
    bool enable
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setTentativeTracks

function getTentativeTracks

virtual bool getTentativeTracks() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getTentativeTracks

function isDebugMode

virtual bool isDebugMode() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::isDebugMode

function isMetadataEnabled

virtual bool isMetadataEnabled() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::isMetadataEnabled

function isStatisticsEnabled

virtual bool isStatisticsEnabled() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::isStatisticsEnabled

function isDiagnosticsEnabled

virtual bool isDiagnosticsEnabled() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::isDiagnosticsEnabled

function getConfigurationFile

virtual std::string getConfigurationFile() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getConfigurationFile

function setInputToManual

virtual bool setInputToManual() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setInputToManual

function setInputToRtsp

virtual bool setInputToRtsp(
    std::string const & rtspUri
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setInputToRtsp

function setInputOrientation

virtual bool setInputOrientation(
    int orientation
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setInputOrientation

function getInputOrientation

virtual int getInputOrientation() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInputOrientation

function enableHlsOutput

virtual std::string enableHlsOutput() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::enableHlsOutput

function disableHlsOutput

virtual bool disableHlsOutput() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::disableHlsOutput

function enableRtspOutput

virtual bool enableRtspOutput(
    std::string const & uri
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::enableRtspOutput

function disableRtspOutput

virtual bool disableRtspOutput(
    std::string const & uri
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::disableRtspOutput

function setRenderPreset

virtual bool setRenderPreset(
    std::string const & preset
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setRenderPreset

function setBlockingReadaheadQueue

virtual void setBlockingReadaheadQueue(
    bool enable
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setBlockingReadaheadQueue

function attachToInstanceController

virtual expected< void > attachToInstanceController(
    iface::InstanceController *const instanceController
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::attachToInstanceController

function setupCallbacks

virtual void setupCallbacks() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setupCallbacks

function removeCallbacks

virtual void removeCallbacks() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::removeCallbacks

function getConfigValue

virtual pCValue getConfigValue(
    std::string const & path
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getConfigValue

function setStateValue

virtual bool setStateValue(
    std::string const & path,
    CValue value
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setStateValue

function setConfigValue

virtual expected< bool > setConfigValue(
    std::string const & path,
    CValue value
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setConfigValue

function setConfigValues

virtual expected< bool > setConfigValues(
    std::vector< std::pair< std::string, CValue > > const & pathsToValues
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setConfigValues

function deleteStateValue

virtual bool deleteStateValue(
    std::string const & path
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::deleteStateValue

function deleteConfigValue

virtual expected< bool > deleteConfigValue(
    std::string const & path
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::deleteConfigValue

function deleteConfigValues

virtual expected< bool > deleteConfigValues(
    std::vector< std::string > const & paths
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::deleteConfigValues

function getDetectorMode

virtual types::DetectorMode getDetectorMode() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getDetectorMode

function setDetectorMode

virtual void setDetectorMode(
    types::DetectorMode mode
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setDetectorMode

function getSensorModality

virtual types::Modality getSensorModality() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getSensorModality

function setSensorModality

virtual void setSensorModality(
    types::Modality const modality
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setSensorModality

function getDetectionSensitivity

virtual types::Sensitivity getDetectionSensitivity() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getDetectionSensitivity

function setDetectionSensitivity

virtual void setDetectionSensitivity(
    types::Sensitivity mode
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setDetectionSensitivity

function getMovementSensitivity

virtual types::Sensitivity getMovementSensitivity() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getMovementSensitivity

function setMovementSensitivity

virtual void setMovementSensitivity(
    types::Sensitivity mode
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setMovementSensitivity

function extractInfo

virtual nlohmann::json extractInfo() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::extractInfo

function pushStatisticsEvent

virtual void pushStatisticsEvent() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::pushStatisticsEvent

function isOverloaded

virtual bool isOverloaded() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::isOverloaded

function getEventsEmitted

virtual uint64_t getEventsEmitted() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getEventsEmitted

Protected Functions Documentation

function load

virtual bool load() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::load

function unload

virtual bool unload() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::unload

function setRecommendedFrameRate

virtual void setRecommendedFrameRate(
    int fps
) const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setRecommendedFrameRate

function _loadInstanceCallback

virtual bool _loadInstanceCallback() =0

Reimplemented by: cvedia::rt::solution::DefaultSolutionManager::_loadInstanceCallback

function _unloadInstanceCallback

virtual bool _unloadInstanceCallback() =0

Reimplemented by: cvedia::rt::solution::DefaultSolutionManager::_unloadInstanceCallback

function _handleInput

virtual expected< void > _handleInput() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::_handleInput

function getInstanceController

virtual iface::InstanceController * getInstanceController() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInstanceController

function getInstanceController

virtual iface::InstanceController * getInstanceController() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInstanceController

function getInstance

virtual std::shared_ptr< iface::Instance > getInstance() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInstance

function getInstance

virtual std::shared_ptr< iface::Instance > getInstance() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getInstance

function getSolution

virtual std::shared_ptr< iface::Solution > getSolution() const =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getSolution

function getSolution

virtual std::shared_ptr< iface::Solution > getSolution() =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::getSolution

function setInstanceController

virtual void setInstanceController(
    iface::InstanceController *const instanceController
) =0

Reimplemented by: cvedia::rt::solution::SolutionManagerImpl::setInstanceController

Friends

friend ::cvedia::rt::InstanceControllerImpl

friend class ::cvedia::rt::InstanceControllerImpl(
    ::cvedia::rt::InstanceControllerImpl 
);