Shaka Packager SDK
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
shaka::media::MediaSample Class Reference

Class to hold a media sample. More...

#include <media_sample.h>

Public Member Functions

std::shared_ptr< MediaSampleClone () const
 Clone the object and return a new MediaSample.
 
void TransferData (std::shared_ptr< uint8_t > data, size_t data_size)
 
void SetData (const uint8_t *data, size_t data_size)
 
std::string ToString () const
 
int64_t dts () const
 
void set_dts (int64_t dts)
 
int64_t pts () const
 
void set_pts (int64_t pts)
 
int64_t duration () const
 
void set_duration (int64_t duration)
 
bool is_key_frame () const
 
bool is_encrypted () const
 
const uint8_t * data () const
 
size_t data_size () const
 
const uint8_t * side_data () const
 
size_t side_data_size () const
 
const DecryptConfigdecrypt_config () const
 
void set_is_key_frame (bool value)
 
void set_is_encrypted (bool value)
 
void set_decrypt_config (std::unique_ptr< DecryptConfig > decrypt_config)
 
bool end_of_stream () const
 
const std::string & config_id () const
 
void set_config_id (const std::string &config_id)
 

Static Public Member Functions

static std::shared_ptr< MediaSampleCopyFrom (const uint8_t *data, size_t size, bool is_key_frame)
 
static std::shared_ptr< MediaSampleCopyFrom (const uint8_t *data, size_t size, const uint8_t *side_data, size_t side_data_size, bool is_key_frame)
 
static std::shared_ptr< MediaSampleFromMetadata (const uint8_t *metadata, size_t metadata_size)
 
static std::shared_ptr< MediaSampleCreateEmptyMediaSample ()
 Create a MediaSample object with default members.
 
static std::shared_ptr< MediaSampleCreateEOSBuffer ()
 

Protected Member Functions

 MediaSample (const uint8_t *data, size_t data_size, const uint8_t *side_data, size_t side_data_size, bool is_key_frame)
 

Detailed Description

Class to hold a media sample.

Definition at line 25 of file media_sample.h.

Constructor & Destructor Documentation

◆ ~MediaSample()

shaka::media::MediaSample::~MediaSample ( )
virtual

Definition at line 40 of file media_sample.cc.

◆ MediaSample() [1/2]

shaka::media::MediaSample::MediaSample ( const uint8_t *  data,
size_t  data_size,
const uint8_t *  side_data,
size_t  side_data_size,
bool  is_key_frame 
)
protected

Definition at line 18 of file media_sample.cc.

◆ MediaSample() [2/2]

shaka::media::MediaSample::MediaSample ( )
protected

Definition at line 38 of file media_sample.cc.

Member Function Documentation

◆ Clone()

std::shared_ptr< MediaSample > shaka::media::MediaSample::Clone ( ) const

Clone the object and return a new MediaSample.

Definition at line 82 of file media_sample.cc.

◆ config_id()

const std::string & shaka::media::MediaSample::config_id ( ) const
inline

Definition at line 151 of file media_sample.h.

◆ CopyFrom() [1/2]

std::shared_ptr< MediaSample > shaka::media::MediaSample::CopyFrom ( const uint8_t *  data,
size_t  size,
bool  is_key_frame 
)
static

Create a MediaSample object from input.

Parameters
datapoints to the buffer containing the sample data. Must not be NULL.
sizeindicates sample size in bytes. Must not be negative.
is_key_frameindicates whether the sample is a key frame.

Definition at line 43 of file media_sample.cc.

◆ CopyFrom() [2/2]

std::shared_ptr< MediaSample > shaka::media::MediaSample::CopyFrom ( const uint8_t *  data,
size_t  size,
const uint8_t *  side_data,
size_t  side_data_size,
bool  is_key_frame 
)
static

Create a MediaSample object from input.

Parameters
datapoints to the buffer containing the sample data. Must not be NULL.
side_datapoints to the buffer containing the additional data. Some containers allow additional data to be specified. Must not be NULL.
sizeindicates sample size in bytes. Must not be negative.
side_data_sizeindicates additional sample data size in bytes.
is_key_frameindicates whether the sample is a key frame.

Definition at line 53 of file media_sample.cc.

◆ CreateEmptyMediaSample()

std::shared_ptr< MediaSample > shaka::media::MediaSample::CreateEmptyMediaSample ( )
static

Create a MediaSample object with default members.

Definition at line 72 of file media_sample.cc.

◆ CreateEOSBuffer()

std::shared_ptr< MediaSample > shaka::media::MediaSample::CreateEOSBuffer ( )
static

Create a MediaSample indicating we've reached end of stream. Calling any method other than end_of_stream() on the resulting buffer is disallowed.

Definition at line 77 of file media_sample.cc.

◆ data()

const uint8_t * shaka::media::MediaSample::data ( ) const
inline

Definition at line 120 of file media_sample.h.

◆ data_size()

size_t shaka::media::MediaSample::data_size ( ) const
inline

Definition at line 125 of file media_sample.h.

◆ decrypt_config()

const DecryptConfig * shaka::media::MediaSample::decrypt_config ( ) const
inline

Definition at line 134 of file media_sample.h.

◆ dts()

int64_t shaka::media::MediaSample::dts ( ) const
inline

Definition at line 87 of file media_sample.h.

◆ duration()

int64_t shaka::media::MediaSample::duration ( ) const
inline

Definition at line 101 of file media_sample.h.

◆ end_of_stream()

bool shaka::media::MediaSample::end_of_stream ( ) const
inline

Definition at line 149 of file media_sample.h.

◆ FromMetadata()

std::shared_ptr< MediaSample > shaka::media::MediaSample::FromMetadata ( const uint8_t *  metadata,
size_t  metadata_size 
)
static

Create a MediaSample object from metadata. Unlike other factory methods, this cannot be a key frame. It must be only for metadata.

Parameters
metadatapoints to the buffer containing metadata. Must not be NULL.
metadata_sizeis the size of metadata in bytes.

Definition at line 65 of file media_sample.cc.

◆ is_encrypted()

bool shaka::media::MediaSample::is_encrypted ( ) const
inline

Definition at line 116 of file media_sample.h.

◆ is_key_frame()

bool shaka::media::MediaSample::is_key_frame ( ) const
inline

Definition at line 111 of file media_sample.h.

◆ pts()

int64_t shaka::media::MediaSample::pts ( ) const
inline

Definition at line 94 of file media_sample.h.

◆ set_config_id()

void shaka::media::MediaSample::set_config_id ( const std::string &  config_id)
inline

Definition at line 152 of file media_sample.h.

◆ set_decrypt_config()

void shaka::media::MediaSample::set_decrypt_config ( std::unique_ptr< DecryptConfig decrypt_config)
inline

Definition at line 144 of file media_sample.h.

◆ set_dts()

void shaka::media::MediaSample::set_dts ( int64_t  dts)
inline

Definition at line 92 of file media_sample.h.

◆ set_duration()

void shaka::media::MediaSample::set_duration ( int64_t  duration)
inline

Definition at line 106 of file media_sample.h.

◆ set_is_encrypted()

void shaka::media::MediaSample::set_is_encrypted ( bool  value)
inline

Definition at line 140 of file media_sample.h.

◆ set_is_key_frame()

void shaka::media::MediaSample::set_is_key_frame ( bool  value)
inline

Definition at line 136 of file media_sample.h.

◆ set_pts()

void shaka::media::MediaSample::set_pts ( int64_t  pts)
inline

Definition at line 99 of file media_sample.h.

◆ SetData()

void shaka::media::MediaSample::SetData ( const uint8_t *  data,
size_t  data_size 
)

Set the data in this media sample. Note that this method involves data copying.

Parameters
datapoints to the data to be copied.
data_sizeis the size of the data to be copied.

Definition at line 110 of file media_sample.cc.

◆ side_data()

const uint8_t * shaka::media::MediaSample::side_data ( ) const
inline

Definition at line 130 of file media_sample.h.

◆ side_data_size()

size_t shaka::media::MediaSample::side_data_size ( ) const
inline

Definition at line 132 of file media_sample.h.

◆ ToString()

std::string shaka::media::MediaSample::ToString ( ) const
Returns
a human-readable string describing |*this|.

Definition at line 117 of file media_sample.cc.

◆ TransferData()

void shaka::media::MediaSample::TransferData ( std::shared_ptr< uint8_t >  data,
size_t  data_size 
)

Transfer data to this media sample. No data copying is involved.

Parameters
datapoints to the data to be transferred.
data_sizeis the size of the data to be transferred.

Definition at line 104 of file media_sample.cc.


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