Rialto
0.1
Rialto media pipeline API
|
A class that represents a media segment. More...
#include <IMediaPipeline.h>
Public Member Functions | |
MediaSegment (int32_t sourceId=0, MediaSourceType type=MediaSourceType::UNKNOWN, int64_t timeStamp=0, int64_t duration=0) | |
Default constructor. More... | |
virtual | ~MediaSegment () |
Virtual destructor. | |
virtual std::unique_ptr< MediaSegment > | copy () const |
Makes a shallow copy of the segment. More... | |
int32_t | getId () const |
Return the source id. More... | |
MediaSourceType | getType () const |
The source type for the data. More... | |
const uint8_t * | getData () const |
Returns a pointer to the data. More... | |
uint32_t | getDataLength () const |
Returns a the data length. More... | |
int64_t | getTimeStamp () const |
Returns the time stamp. More... | |
void | setTimeStamp (int64_t timeStamp) |
Sets the time stamp (value in nanoseconds). | |
int64_t | getDuration () const |
Returns the duration. More... | |
const std::vector< uint8_t > & | getExtraData () const |
Returns a pointer to the extra data. More... | |
bool | isEncrypted () const |
Indicates that the data is encrypted. More... | |
const int32_t | getMediaKeySessionId () const |
Returns the media key session id. Empty if unencrypted. More... | |
const std::vector< uint8_t > & | getKeyId () const |
Returns the key id. Empty if unencrypted. More... | |
const std::vector< uint8_t > & | getInitVector () const |
Returns the initialisation vector. Empty if unencrypted. More... | |
const std::vector< SubSamplePair > & | getSubSamples () const |
Returns the sub samples. Empty if unencrypted. More... | |
const uint32_t | getInitWithLast15 () const |
Returns the initWithLast15 value. More... | |
const SegmentAlignment | getSegmentAlignment () const |
Returns the segment alignment. More... | |
const std::shared_ptr< CodecData > & | getCodecData () const |
Gets the codec data. More... | |
const CipherMode & | getCipherMode () const |
Gets the cipher mode for common encryption. More... | |
const bool | getEncryptionPattern (uint32_t &crypt, uint32_t &skip) const |
Gets the crypt & skip byte block for pattern encryption. More... | |
bool | setData (uint32_t dataLength, const uint8_t *data) |
Sets the segment data. More... | |
bool | setExtraData (const std::vector< uint8_t > &extraData) |
Sets the extra data. More... | |
void | setSegmentAlignment (const SegmentAlignment &alignment) |
Sets the segment alignment. More... | |
void | setCodecData (const std::shared_ptr< CodecData > &codecData) |
Sets new codec_data for the segment. More... | |
void | setEncrypted (bool encrypted) |
Sets the encrypted flag. More... | |
void | setMediaKeySessionId (int32_t mksId) |
Sets the media key session id. More... | |
void | setKeyId (const std::vector< uint8_t > &keyId) |
Sets the key id. More... | |
void | setInitVector (const std::vector< uint8_t > &initVector) |
Sets the encryption initialisation vector. More... | |
void | addSubSample (size_t numClearBytes, size_t numEncryptedBytes) |
Adds a sub-sample pair to the sub samples. More... | |
void | setInitWithLast15 (uint32_t initWithLast15) |
Sets initWithLast15 value. More... | |
void | setCipherMode (CipherMode cipherMode) |
Sets the cipher mode for common encryption. More... | |
void | setEncryptionPattern (uint32_t crypt, uint32_t skip) |
Sets the crypt & skip byte block for pattern encryption. More... | |
void | copy (const MediaSegment &other) |
Copies the data from other to this. | |
Protected Attributes | |
int32_t | m_sourceId |
The source id. | |
MediaSourceType | m_type |
The source type. | |
const uint8_t * | m_data |
The data. | |
uint32_t | m_dataLength |
The data length. | |
int64_t | m_timeStamp |
The time stamp. | |
int64_t | m_duration |
The duration. | |
std::shared_ptr< CodecData > | m_codecData |
Additional data for decoder. | |
std::vector< uint8_t > | m_extraData |
The data. | |
bool | m_encrypted |
Indicates the data is encrypted. | |
int32_t | m_mediaKeySessionId |
Key session ID to use for decryption - only required for Netflix. | |
std::vector< uint8_t > | m_keyId |
The encryption key id. | |
std::vector< uint8_t > | m_initVector |
The encryption key initialisation vector. | |
std::vector< SubSamplePair > | m_subSamples |
The sub-sample pairs. | |
uint32_t | m_initWithLast15 |
Whether decryption context needs to be initialized with last 15 bytes. Currently this only applies to PlayReady DRM. | |
SegmentAlignment | m_alignment |
The alignment of media segment. | |
CipherMode | m_cipherMode |
Cipher mode of the sample. | |
uint32_t | m_crypt |
Crypt byte block value. | |
uint32_t | m_skip |
Skip byte block value. | |
bool | m_encryptionPatternSet |
Whether the encryption pattern has been set. | |
A class that represents a media segment.
|
inline |
Default constructor.
[in] | sourceId | : The source id. Value should be set to the MediaSource.id returned after attachSource() |
[in] | type | : The source type. |
[in] | timeStamp | : The timestamp in nanoseconds. |
[in] | duration | : The duration in nanoseconds. |
|
inline |
Adds a sub-sample pair to the sub samples.
[in] | numClearBytes | : The number of clear bytes. |
[in] | numEncryptedBytes | : The number of encrypted bytes. |
|
inlinevirtual |
Makes a shallow copy of the segment.
Shallow | copy of the segment |
Reimplemented in firebolt::rialto::IMediaPipeline::MediaSegmentVideo, and firebolt::rialto::IMediaPipeline::MediaSegmentAudio.
|
inline |
Gets the cipher mode for common encryption.
cipher | mode uses for this sample |
|
inline |
Gets the codec data.
the | codec data |
|
inline |
Returns a pointer to the data.
the | data. |
|
inline |
Returns a the data length.
the | data. |
|
inline |
Returns the duration.
the | duration in nanoseconds. |
|
inline |
Gets the crypt & skip byte block for pattern encryption.
[out] | crypt | : Crypt byte block value |
[out] | skip | : Skip byte block value |
if | the encryption pattern has been set |
|
inline |
Returns a pointer to the extra data.
the | data. |
|
inline |
Return the source id.
the | source id. |
|
inline |
Returns the initialisation vector. Empty if unencrypted.
the | initialisation vector. |
|
inline |
Returns the initWithLast15 value.
the | initWithLast15 value. |
|
inline |
Returns the key id. Empty if unencrypted.
the | key id. |
|
inline |
Returns the media key session id. Empty if unencrypted.
the | media key session id. |
|
inline |
Returns the segment alignment.
the | segment alignment |
|
inline |
Returns the sub samples. Empty if unencrypted.
the | sub samples. |
|
inline |
Returns the time stamp.
the | timestamp in nanoseconds. |
|
inline |
The source type for the data.
the | source type. |
|
inline |
Indicates that the data is encrypted.
true | if the data is encrypted. |
|
inline |
Sets the cipher mode for common encryption.
[in] | cipherMode | : Specifies cipher mode uses for this sample. |
|
inline |
Sets new codec_data for the segment.
[in] | codecData | The updated codec data for the source |
|
inline |
Sets the segment data.
true | on success. |
|
inline |
Sets the encrypted flag.
[in] | encrypted | : Set true to indicated encrypted data. |
|
inline |
Sets the crypt & skip byte block for pattern encryption.
[in] | crypt | : Crypt byte block value |
[in] | skip | : Skip byte block value |
|
inline |
Sets the extra data.
true | on success. |
|
inline |
Sets the encryption initialisation vector.
[in] | initVector | : The initialisation vector. |
|
inline |
Sets initWithLast15 value.
[in] | initWithLast15 | : initWithLast15 value |
|
inline |
Sets the key id.
[in] | keyId | : The key id. |
|
inline |
Sets the media key session id.
[in] | mksId | : the media key session id. |
|
inline |
Sets the segment alignment.
[in] | alignment | : The new segment alignment |