nx_cloud_storage_sdk
1.0
Cloud Storage SDK
|
#include <i_device_agent.h>
Public Member Functions | |
virtual Result< const IDeviceInfo * > | deviceInfo () const |
Result< IStreamWriter * > | createStreamWriter (nxcip::MediaStreamQuality quality, int64_t startTimeMs, const IList< ICodecInfo > *codecInfoList, const char *opaqueMetadata) |
Result< IStreamReader * > | createStreamReader (nxcip::MediaStreamQuality quality, int64_t startTimeMs, int64_t durationMs) |
![]() | |
virtual IRefCountable * | queryInterface (const InterfaceId *id) |
Ptr< RefCountable > | queryInterface () |
Ptr< const RefCountable > | queryInterface () const |
![]() | |
virtual | ~IRefCountable ()=default |
template<class RefCountable > | |
Ptr< RefCountable > | queryInterface () |
template<class RefCountable > | |
Ptr< const RefCountable > | queryInterface () const |
virtual int | addRef () const =0 |
virtual int | releaseRef () const =0 |
int | refCountThreadUnsafe () const |
Static Public Member Functions | |
static constexpr auto | interfaceId () |
![]() | |
static auto | interfaceId () |
Protected Member Functions | |
virtual void | getDeviceInfo (Result< const IDeviceInfo *> *outResult) const =0 |
virtual void | doCreateStreamWriter (nxcip::MediaStreamQuality quality, int64_t startTimeUs, const IList< ICodecInfo > *codecInfoList, const char *opaqueMetadata, Result< IStreamWriter *> *outResult)=0 |
virtual void | doCreateStreamReader (nxcip::MediaStreamQuality quality, int64_t startTimeUs, int64_t durationUs, Result< IStreamReader *> *outResult)=0 |
![]() | |
virtual IRefCountable * | queryInterface (const IRefCountable::InterfaceId *id) override |
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId) |
Additional Inherited Members | |
![]() | |
template<int len> | |
static constexpr const InterfaceId * | makeId (const char(&charArray)[len]) |
template<class TemplateInstance , class TemplateArg , int len> | |
static const InterfaceId * | makeIdForTemplate (const char(&baseIdCharArray)[len]) |
![]() | |
template<typename RefCountable > | |
static constexpr bool | hasAlternativeInterfaceId = HasAlternativeInterfaceId<RefCountable>::value |
An abstraction of the device agent. Used for obtaining of the stream writer and archive reader objects in the context of the given device.
|
inline |
Creates a StreamWriter object.
codecInfoList | Codec description list, one per stream. |
opaqueMetadata | Arbitrary null terminated string that should be returned unchanged by StreamReader::opaqueMetadata() for the corresponding chunk of media data. |
|
inline |
Obtain a StreamWriter object. It is used for media stream (a sequence of media packets) recording. Media stream may consist of several substreams (audio, video, metadata). Each of substream is described via codec info object. Those stream attributes should be stored by the plugin and returned back via the corresponding StreamReader object for the given chunk of media data.
codecInfoList | Codec description list, one per substream. |
opaqueMetadata | Arbitrary null terminated string that should be returned unchanged by StreamReader::opaqueMetadata() for the corresponding chunk of media data. |
|
protectedpure virtual |
Provides device description
Implemented in nx::vms_server_plugins::cloud_storage::stub::DeviceAgent, and nx::vms_server_plugins::cloud_storage::sample::DeviceAgent.