TDataStreamInfo

primo::avblocks::modern::TDataStreamInfo

class TDataStreamInfo : public primo::avblocks::modern::TStreamInfo<TDataStreamInfo, primo::codecs::StreamInfo>

Fluent wrapper for a generic data stream.

Wraps primo::codecs::StreamInfo as returned by Library::createDataStreamInfo(). The media type is always MediaType::Data and cannot be changed. There are no subclass-specific properties beyond those exposed by the TStreamInfo CRTP base.

Unnamed Group

TDataStreamInfo(TDataStreamInfo&&) = default
TDataStreamInfo &operator=(TDataStreamInfo&&) = default

Move construction/assignment transfers ownership of the underlying object. The moved-from object no longer wraps anything.

Public Functions

inline TDataStreamInfo()

Creates a data stream info with default values.

inline explicit TDataStreamInfo(primo::ref<primo::codecs::StreamInfo> info)

Takes ownership of an existing StreamInfo reference.

inline explicit TDataStreamInfo(primo::codecs::StreamInfo *info)

Wraps a non-owned StreamInfo pointer, retaining it. Used by TMediaPin::streamInfo().

TDataStreamInfo(const TDataStreamInfo&) = delete
TDataStreamInfo &operator=(const TDataStreamInfo&) = delete
inline TDataStreamInfo clone() const

Creates a full independent clone. The returned object is always mutable.

inline bool copyTo(TDataStreamInfo &dst) const

Copies all fields to dst. Returns false if dst is null.