Rialto  0.1
Rialto media pipeline API
Classes | Typedefs | Enumerations | Variables
MediaCommon.h File Reference
#include <limits>
#include <optional>
#include <stddef.h>
#include <stdint.h>
#include <utility>
#include <vector>
Include dependency graph for MediaCommon.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  firebolt::rialto::AudioConfig
 Audio specific configuration. More...
 
struct  firebolt::rialto::SubSamplePair
 A pair describing the clear and encrypted bytes in a sub-sample. More...
 
struct  firebolt::rialto::VideoRequirements
 Video decoder requirements used to allocate a suitable decoder for a MediaPipeline session. More...
 
struct  firebolt::rialto::MediaPlayerShmInfo
 Information about the shared memory required for writting data. More...
 
struct  firebolt::rialto::QosInfo
 The information provided in a QOS update. More...
 
struct  firebolt::rialto::WebAudioShmInfo
 Information about the shared memory required for writting data for the web audio playback. More...
 
struct  firebolt::rialto::WebAudioPcmConfig
 Pcm config information. More...
 
union  firebolt::rialto::WebAudioConfig
 Type dependent configuration data. More...
 
struct  firebolt::rialto::Fraction
 Fraction type. More...
 
struct  firebolt::rialto::CodecData
 Codec data with type. More...
 

Typedefs

typedef std::vector< std::pair< std::vector< unsigned char >, KeyStatus > > firebolt::rialto::KeyStatusVector
 A vector of key ID/key status pairs.
 

Enumerations

enum  firebolt::rialto::MediaSourceType { UNKNOWN, AUDIO, VIDEO, SUBTITLE }
 The supported types of media source.
 
enum  firebolt::rialto::SourceConfigType {
  UNKNOWN, AUDIO, VIDEO, VIDEO_DOLBY_VISION,
  SUBTITLE
}
 Shows the types of source configuration.
 
enum  firebolt::rialto::AudioEaseType { LINEAR = 0, INCUBIC, OUTCUBIC }
 The supported audio ease types.
 
enum  firebolt::rialto::MediaType { firebolt::rialto::MediaType::UNKNOWN, firebolt::rialto::MediaType::MSE }
 The media type of media to be played.
 
enum  firebolt::rialto::MediaSourceStatus {
  firebolt::rialto::MediaSourceStatus::OK, firebolt::rialto::MediaSourceStatus::EOS, firebolt::rialto::MediaSourceStatus::ERROR, firebolt::rialto::MediaSourceStatus::CODEC_CHANGED,
  firebolt::rialto::MediaSourceStatus::NO_AVAILABLE_SAMPLES
}
 The media source status. This is the status of the source after a read.
 
enum  firebolt::rialto::NetworkState {
  firebolt::rialto::NetworkState::UNKNOWN, firebolt::rialto::NetworkState::IDLE, firebolt::rialto::NetworkState::BUFFERING, firebolt::rialto::NetworkState::BUFFERING_PROGRESS,
  firebolt::rialto::NetworkState::BUFFERED, firebolt::rialto::NetworkState::STALLED, firebolt::rialto::NetworkState::FORMAT_ERROR, firebolt::rialto::NetworkState::NETWORK_ERROR,
  firebolt::rialto::NetworkState::DECODE_ERROR
}
 The Network State. More...
 
enum  firebolt::rialto::PlaybackState {
  firebolt::rialto::PlaybackState::UNKNOWN, firebolt::rialto::PlaybackState::IDLE, firebolt::rialto::PlaybackState::PLAYING, firebolt::rialto::PlaybackState::PAUSED,
  firebolt::rialto::PlaybackState::SEEKING, firebolt::rialto::PlaybackState::SEEK_DONE, firebolt::rialto::PlaybackState::STOPPED, firebolt::rialto::PlaybackState::END_OF_STREAM,
  firebolt::rialto::PlaybackState::FAILURE
}
 The Playback State. More...
 
enum  firebolt::rialto::Format {
  S8, U8, S16LE, S16BE,
  U16LE, U16BE, S24_32LE, S24_32BE,
  U24_32LE, U24_32BE, S32LE, S32BE,
  U32LE, U32BE, S24LE, S24BE,
  U24LE, U24BE, S20LE, S20BE,
  U20LE, U20BE, S18LE, S18BE,
  U18LE, U18BE, F32LE, F32BE,
  F64LE, F64BE
}
 The Format of the audio samples. Used by the raw audio media types.
 
enum  firebolt::rialto::Layout { INTERLEAVED, NON_INTERLEAVED }
 The layout of channels within a buffer. Used by the raw audio media types.
 
enum  firebolt::rialto::AddSegmentStatus { firebolt::rialto::AddSegmentStatus::OK, firebolt::rialto::AddSegmentStatus::NO_SPACE, firebolt::rialto::AddSegmentStatus::ERROR }
 AddSegmentStatus. More...
 
enum  firebolt::rialto::MediaKeyErrorStatus {
  firebolt::rialto::MediaKeyErrorStatus::OK, firebolt::rialto::MediaKeyErrorStatus::FAIL, firebolt::rialto::MediaKeyErrorStatus::BAD_SESSION_ID, firebolt::rialto::MediaKeyErrorStatus::NOT_SUPPORTED,
  firebolt::rialto::MediaKeyErrorStatus::INVALID_STATE
}
 The error return status for session management methods.
 
enum  firebolt::rialto::KeySessionType { firebolt::rialto::KeySessionType::UNKNOWN, firebolt::rialto::KeySessionType::TEMPORARY, firebolt::rialto::KeySessionType::PERSISTENT_LICENCE, firebolt::rialto::KeySessionType::PERSISTENT_RELEASE_MESSAGE }
 The media key session type.
 
enum  firebolt::rialto::InitDataType {
  firebolt::rialto::InitDataType::UNKNOWN, firebolt::rialto::InitDataType::CENC, firebolt::rialto::InitDataType::KEY_IDS, firebolt::rialto::InitDataType::WEBM,
  firebolt::rialto::InitDataType::DRMHEADER
}
 The init data type.
 
enum  firebolt::rialto::KeyStatus {
  USABLE, EXPIRED, OUTPUT_RESTRICTED, PENDING,
  INTERNAL_ERROR, RELEASED
}
 The key status.
 
enum  firebolt::rialto::SegmentAlignment { UNDEFINED, NAL, AU }
 The alignment of media segment.
 
enum  firebolt::rialto::StreamFormat {
  UNDEFINED, RAW, AVC, BYTE_STREAM,
  HVC1, HEV1
}
 The Stream Format of media segment.
 
enum  firebolt::rialto::WebAudioPlayerState {
  firebolt::rialto::WebAudioPlayerState::UNKNOWN, firebolt::rialto::WebAudioPlayerState::IDLE, firebolt::rialto::WebAudioPlayerState::PLAYING, firebolt::rialto::WebAudioPlayerState::PAUSED,
  firebolt::rialto::WebAudioPlayerState::END_OF_STREAM, firebolt::rialto::WebAudioPlayerState::FAILURE
}
 The Web Audio Player State.
 
enum  firebolt::rialto::CipherMode {
  UNKNOWN, CENC, CBC1, CENS,
  CBCS
}
 Cipher mode for common encryption, see https://www.iso.org/obp/ui/#iso:std:iso-iec:23001:-7:ed-3:v1:en.
 
enum  firebolt::rialto::CodecDataType { BUFFER, STRING }
 Codec data type.
 
enum  firebolt::rialto::PlaybackError { UNKNOWN, DECRYPTION }
 None fatal asynchronous errors reported by the player.
 
enum  firebolt::rialto::EaseType { EASE_LINEAR, EASE_IN_CUBIC, EASE_OUT_CUBIC }
 Ease type for audio volume changes.
 

Variables

constexpr int32_t firebolt::rialto::kInvalidSessionId {-1}
 The value of an invalid key session.
 
constexpr uint32_t firebolt::rialto::kInvalidAudioChannels {0}
 The value of an invalid audio channels number.
 
constexpr uint32_t firebolt::rialto::kInvalidAudioSampleRate {0}
 The value of an invalid audio sampling rate.
 
constexpr int32_t firebolt::rialto::kUndefinedSize {0}
 The value of an undefined size.
 
constexpr uint32_t firebolt::rialto::kInvalidLimitBuffering {std::numeric_limits<uint32_t>::max()}
 The value of an invalid limitBuffering.
 
constexpr uint64_t firebolt::rialto::kUndefinedPosition {std::numeric_limits<uint64_t>::max()}
 The value of undefined position.
 

Detailed Description

The definition of the Rialto Common types

Enumeration Type Documentation

◆ AddSegmentStatus

AddSegmentStatus.

The add segment status. This is the status adding new segment to Rialto

◆ NetworkState

The Network State.

The network state reflects the state of the network. For backend streaming, say using MediaPipelineURLDelegate, this is important as the backend uses the network to obtain the media data directly.

For streaming that uses the browser to obtain data, say Media Source Extensions playback, only the states NetworkState::IDLE, NetworkState::BUFFERED and NetworkState::DECODE_ERROR should be indicated by the backend.

◆ PlaybackState

The Playback State.

The player will start IDLE. Once play() has been called the player will be PLAYING, or once pause() has been called the player will be PAUSED. A seek() request will result in SEEKING and once the seek is complete SEEK_DONE will be issued followed by PLAYING. The STOPPED state will be issued after a stop() request.