|
StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
|
Public media stream snapshot. More...
#include <StormByte/multimedia/stream.hxx>
Public Types | |
| using | Properties = std::variant< std::monostate, Property::Video, Property::Audio > |
| Per-stream typed properties. | |
Public Member Functions | |
| Stream (const Stream &)=default | |
| Copy constructor. | |
| Stream (Stream &&)=default | |
| Move constructor. | |
| ~Stream ()=default | |
| Destructor. | |
| Stream & | operator= (const Stream &)=delete |
| Copy assignment (deleted: Codec is a reference). | |
| Stream & | operator= (Stream &&)=delete |
| Move assignment (deleted: Codec is a reference). | |
| int | Index () const noexcept |
| Container stream index (avformat). | |
| const class Codec & | Codec () const noexcept |
| Codec of this stream. | |
| Type | Type () const noexcept |
| Media kind of the codec. | |
| const Metadata::Stream & | Metadata () const noexcept |
| Per-stream tags captured at Open. | |
| const std::optional< Property::Duration > & | Duration () const noexcept |
| Stream duration. | |
| const Property::Video * | Video () const noexcept |
| Video properties when this stream is video. | |
| const Property::Audio * | Audio () const noexcept |
| Audio properties when this stream is audio. | |
Friends | |
| class | File |
Public media stream snapshot.
One media stream: registry Codec, duration, properties and tags.
Copies share the same Codec instance. The Codec outlives every Stream. Assignment is deleted because Codec is held by reference.
| using StormByte::Multimedia::Stream::Properties = std::variant<std::monostate, Property::Video, Property::Audio> |
Per-stream typed properties.
|
default |
Copy constructor.
|
default |
Move constructor.
|
default |
Destructor.
|
inlinenoexcept |
Audio properties when this stream is audio.
|
inlinenoexcept |
|
inlinenoexcept |
Stream duration.
Header value from Open, or a value filled by File::Duration() after a packet scan. Empty if it cannot be determined.
|
inlinenoexcept |
Container stream index (avformat).
Not the position in File::Streams().
|
inlinenoexcept |
Per-stream tags captured at Open.
Copy assignment (deleted: Codec is a reference).
Move assignment (deleted: Codec is a reference).
|
inlinenoexcept |
Media kind of the codec.
|
inlinenoexcept |
Video properties when this stream is video.
|
friend |