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

Public Member Functions

 StreamWriter (const std::string &deviceId, int streamIndex, int64_t startTimeMs, const nx::sdk::IList< nx::sdk::cloud_storage::ICodecInfo > *codecList, const char *opaqueMetadata)
 
virtual nx::sdk::ErrorCode putData (const nx::sdk::cloud_storage::IMediaDataPacket *packet) override
 
virtual nx::sdk::ErrorCode close (int64_t durationMs) override
 
virtual int size () const override
 
- Public Member Functions inherited from nx::sdk::RefCountable< nx::sdk::cloud_storage::IStreamWriter >
 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::Interface< IStreamWriter >
virtual IRefCountablequeryInterface (const InterfaceId *id)
 
Ptr< InterfacequeryInterface ()
 
Ptr< const InterfacequeryInterface () const
 
- Public Member Functions inherited from nx::sdk::IRefCountable
virtual ~IRefCountable ()=default
 
template<class Interface >
Ptr< InterfacequeryInterface ()
 
template<class Interface >
Ptr< const InterfacequeryInterface () const
 
int refCountThreadUnsafe () const
 

Additional Inherited Members

- Static Public Member Functions inherited from nx::sdk::cloud_storage::IStreamWriter
static auto interfaceId ()
 
- Static Public Member Functions inherited from nx::sdk::IRefCountable
static auto interfaceId ()
 
- Protected Member Functions inherited from nx::sdk::Interface< IStreamWriter >
virtual IRefCountablequeryInterface (const IRefCountable::InterfaceId *id) override
 
IRefCountablequeryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId)
 
- 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])
 

Member Function Documentation

◆ close()

nx::sdk::ErrorCode nx::vms_server_plugins::cloud_storage::sample::StreamWriter::close ( int64_t  durationMs)
overridevirtual

This function will be called just before destruction of the StreamWriter object and no other calls (except destructor) will follow.

Implements nx::sdk::cloud_storage::IStreamWriter.

◆ putData()

nx::sdk::ErrorCode nx::vms_server_plugins::cloud_storage::sample::StreamWriter::putData ( const nx::sdk::cloud_storage::IMediaDataPacket packet)
overridevirtual

Write a data packet. Implementation is discouraged to buffer packets. Instead, it should block until the data is completely processed.

packet->channelNumber() corresponds to ICodecInfo::channelNumber() i.e. if packet->type() == dptVideo && packet->channelNumber() == 1, then CodecInfo with mediaType == AVMEDIA_TYPE_VIDEO && channelNumber == 1 can be used to process this packet.

If packet->type() == dptAudio && packet->channelNumber() == 0, then CodecInfo with mediaType == AVMEDIA_TYPE_AUDIO && channelNumber == 0 can be used to process this packet.

If packet->type() == dptData && packet->channelNumber() == 0, then CodecInfo with mediaType == AVMEDIA_TYPE_DATA && channelNumber == 0 can be used to process this packet.

Implements nx::sdk::cloud_storage::IStreamWriter.

◆ size()

int nx::vms_server_plugins::cloud_storage::sample::StreamWriter::size ( ) const
overridevirtual

Total size of written data so far.

Implements nx::sdk::cloud_storage::IStreamWriter.


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