Shaka Packager SDK
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 22 of file media_sample.h.

Member Function Documentation

◆ 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 42 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 52 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 76 of file media_sample.cc.

◆ 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 64 of file media_sample.cc.

◆ 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 109 of file media_sample.cc.

◆ ToString()

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

Definition at line 116 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 103 of file media_sample.cc.


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