Rialto  0.1
Rialto media pipeline API
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
firebolt::rialto::IMediaPipeline::MediaSegmentAudio Class Reference

A class that represents media source audio data. More...

#include <IMediaPipeline.h>

Inheritance diagram for firebolt::rialto::IMediaPipeline::MediaSegmentAudio:
Inheritance graph
[legend]
Collaboration diagram for firebolt::rialto::IMediaPipeline::MediaSegmentAudio:
Collaboration graph
[legend]

Public Member Functions

 MediaSegmentAudio (int32_t sourceId=0, int64_t timeStamp=0, int64_t duration=0, int32_t sampleRate=0, int32_t numberOfChannels=0, uint64_t clippingStart=0, uint64_t clippingEnd=0)
 Default constructor. More...
 
 MediaSegmentAudio (const MediaSegmentAudio &other)
 Copy constructor.
 
std::unique_ptr< MediaSegmentcopy () const override
 Makes a shallow copy of the segment. More...
 
int32_t getSampleRate () const
 Return the audio sample rate. More...
 
int32_t getNumberOfChannels () const
 Return the number of audio channels. More...
 
uint64_t getClippingStart () const
 Return the amount of audio to clip from start of buffer. More...
 
uint64_t getClippingEnd () const
 Return the amount of audio to clip from end of buffer. More...
 
MediaSegmentAudiooperator= (const MediaSegmentAudio &other)
 Copy assignment operator. More...
 
- Public Member Functions inherited from firebolt::rialto::IMediaPipeline::MediaSegment
 MediaSegment (int32_t sourceId=0, MediaSourceType type=MediaSourceType::UNKNOWN, int64_t timeStamp=0, int64_t duration=0)
 Default constructor. More...
 
virtual ~MediaSegment ()
 Virtual destructor.
 
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 CipherModegetCipherMode () 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 Member Functions

void copy (const MediaSegmentAudio &other)
 Copies the data from other to this.
 

Protected Attributes

int32_t m_sampleRate
 The audio sample rate.
 
int32_t m_numberOfChannels
 The number of audio channels.
 
uint64_t m_clippingStart
 The amount of audio to clip from start of buffer.
 
uint64_t m_clippingEnd
 The amount of audio to clip from end of buffer.
 
- Protected Attributes inherited from firebolt::rialto::IMediaPipeline::MediaSegment
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< CodecDatam_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< SubSamplePairm_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.
 

Detailed Description

A class that represents media source audio data.

Constructor & Destructor Documentation

◆ MediaSegmentAudio()

firebolt::rialto::IMediaPipeline::MediaSegmentAudio::MediaSegmentAudio ( int32_t  sourceId = 0,
int64_t  timeStamp = 0,
int64_t  duration = 0,
int32_t  sampleRate = 0,
int32_t  numberOfChannels = 0,
uint64_t  clippingStart = 0,
uint64_t  clippingEnd = 0 
)
inline

Default constructor.

Parameters
[in]sourceId: The source id. Value should be set to the MediaSource.id returned after attachSource()
[in]timeStamp: The timestamp in nanoseconds.
[in]duration: The duration in nanoseconds.
[in]sampleRate: The sample rate in samples per second.
[in]numberOfChannels: The number of audio channels.
[in]clippingStart: The amount of audio to clip from start of buffer
[in]clippingEnd: The amount of audio to clip from end of buffer

Member Function Documentation

◆ copy()

std::unique_ptr<MediaSegment> firebolt::rialto::IMediaPipeline::MediaSegmentAudio::copy ( ) const
inlineoverridevirtual

Makes a shallow copy of the segment.

Return values
Shallowcopy of the segment

Reimplemented from firebolt::rialto::IMediaPipeline::MediaSegment.

◆ getClippingEnd()

uint64_t firebolt::rialto::IMediaPipeline::MediaSegmentAudio::getClippingEnd ( ) const
inline

Return the amount of audio to clip from end of buffer.

Return values
theamount of audio to clip from end of buffer

◆ getClippingStart()

uint64_t firebolt::rialto::IMediaPipeline::MediaSegmentAudio::getClippingStart ( ) const
inline

Return the amount of audio to clip from start of buffer.

Return values
theamount of audio to clip from start of buffer

◆ getNumberOfChannels()

int32_t firebolt::rialto::IMediaPipeline::MediaSegmentAudio::getNumberOfChannels ( ) const
inline

Return the number of audio channels.

Return values
thenumber of channels.

◆ getSampleRate()

int32_t firebolt::rialto::IMediaPipeline::MediaSegmentAudio::getSampleRate ( ) const
inline

Return the audio sample rate.

Return values
thesample rate in samples per second.

◆ operator=()

MediaSegmentAudio& firebolt::rialto::IMediaPipeline::MediaSegmentAudio::operator= ( const MediaSegmentAudio other)
inline

Copy assignment operator.

Return values
thecopy.

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