nx_cloud_storage_sdk  1.0
Cloud Storage SDK
Public Member Functions | Protected Member Functions | List of all members
nx::vms_server_plugins::cloud_storage::stub::StreamReader Class Reference
Inheritance diagram for nx::vms_server_plugins::cloud_storage::stub::StreamReader:
nx::sdk::RefCountable< nx::sdk::cloud_storage::IStreamReader > nx::sdk::cloud_storage::IStreamReader nx::sdk::Interface< IStreamReader > nx::sdk::IRefCountable

Public Member Functions

 StreamReader (const std::shared_ptr< DataManager > &dataManager, const std::string &deviceId, int streamIndex, int64_t startTimeMs, int64_t durationMs)
 
virtual nx::sdk::ErrorCode getNextData (nx::sdk::cloud_storage::IMediaDataPacket **packet) override
 
virtual int64_t startTimeUs () const override
 
virtual int64_t endTimeUs () const override
 
virtual nx::sdk::ErrorCode seek (int64_t timestampUs, bool findKeyFrame, int64_t *selectedPositionUs) override
 
- Public Member Functions inherited from nx::sdk::RefCountable< nx::sdk::cloud_storage::IStreamReader >
 RefCountable (const RefCountable &)=delete
 
 RefCountable (RefCountable &&)=delete
 
RefCountableoperator= (const RefCountable &)=delete
 
RefCountableoperator= (RefCountable &&)=delete
 
virtual int addRef () const override
 
virtual int releaseRef () const override
 
int refCount () const
 
- Public Member Functions inherited from nx::sdk::cloud_storage::IStreamReader
Result< const IString * > opaqueMetadata () const
 
Ptr< const IList< ICodecInfo > > codecInfoList () const
 
- Public Member Functions inherited from nx::sdk::Interface< IStreamReader >
virtual IRefCountablequeryInterface (const InterfaceId *id)
 
Ptr< RefCountablequeryInterface ()
 
Ptr< const RefCountablequeryInterface () const
 
- Public Member Functions inherited from nx::sdk::IRefCountable
virtual ~IRefCountable ()=default
 
template<class RefCountable >
Ptr< RefCountablequeryInterface ()
 
template<class RefCountable >
Ptr< const RefCountablequeryInterface () const
 
int refCountThreadUnsafe () const
 

Protected Member Functions

virtual void getOpaqueMetadata (nx::sdk::Result< const nx::sdk::IString *> *outResult) const override
 
virtual const nx::sdk::IList< nx::sdk::cloud_storage::ICodecInfo > * getCodecInfoList () const override
 
- Protected Member Functions inherited from nx::sdk::Interface< IStreamReader >
virtual IRefCountablequeryInterface (const IRefCountable::InterfaceId *id) override
 
IRefCountablequeryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId)
 

Additional Inherited Members

- Static Public Member Functions inherited from nx::sdk::cloud_storage::IStreamReader
static constexpr auto interfaceId ()
 
- Static Public Member Functions inherited from nx::sdk::IRefCountable
static auto interfaceId ()
 
- Static Protected Member Functions inherited from nx::sdk::IRefCountable
template<int len>
static constexpr const InterfaceIdmakeId (const char(&charArray)[len])
 
template<class TemplateInstance , class TemplateArg , int len>
static const InterfaceIdmakeIdForTemplate (const char(&baseIdCharArray)[len])
 
- Static Protected Attributes inherited from nx::sdk::IRefCountable
template<typename RefCountable >
static constexpr bool hasAlternativeInterfaceId = HasAlternativeInterfaceId<RefCountable>::value
 

Member Function Documentation

◆ getNextData()

nx::sdk::ErrorCode nx::vms_server_plugins::cloud_storage::stub::StreamReader::getNextData ( nx::sdk::cloud_storage::IMediaDataPacket **  packet)
overridevirtual

Attempts to read a next media data packet. Should return ErrorCode::noData if there is no data left to read.

Implements nx::sdk::cloud_storage::IStreamReader.

◆ seek()

nx::sdk::ErrorCode nx::vms_server_plugins::cloud_storage::stub::StreamReader::seek ( int64_t  timestampUs,
bool  findKeyFrame,
int64_t *  selectedPositionUs 
)
overridevirtual

Moves stream data cursor to the required position if possible. This position may be greater than requested if there is no media data packet with the exact timestamp. If 'findKeyFrame' is true, selected position should correspond to the media data packet which has 'isKeyFrame' flag set.

Implements nx::sdk::cloud_storage::IStreamReader.


The documentation for this class was generated from the following files: