#include <mpd_builder.h>
|
enum | SuppressFlag { kSuppressWidth = 1,
kSuppressHeight = 2,
kSuppressFrameRate = 4
} |
|
Representation class contains references to a single media stream, as well as optional ContentProtection elements for that stream.
Definition at line 425 of file mpd_builder.h.
- Parameters
-
media_info | is a MediaInfo containing information on the media. media_info.bandwidth is required for 'static' profile. If media_info.bandwidth is not present in 'dynamic' profile, this tries to estimate it using the info passed to AddNewSegment(). |
mpd_options | is options for the entire MPD. |
representation_id | is the numeric ID for the <Representation>. |
state_change_listener | is an event handler for state changes to the representation. If null, no event handler registered. |
Definition at line 1035 of file mpd_builder.cc.
Add a ContenProtection element to the representation. Representation does not add <ContentProtection> elements automatically to itself even if media_info passed to AdaptationSet::AddRepresentation() has media_info.protected_content populated. This is because some MPDs should have the elements at AdaptationSet level and some at Representation level.
- Parameters
-
element | contains the ContentProtection element contents. If element has {value, schemeIdUri} set and has {“value”, “schemeIdUri”} as key for additional_attributes, then the former is used. |
Definition at line 1092 of file mpd_builder.cc.
void shaka::Representation::AddNewSegment |
( |
uint64_t |
start_time, |
|
|
uint64_t |
duration, |
|
|
uint64_t |
size |
|
) |
| |
|
virtual |
Add a media (sub)segment to the representation. AdaptationSetsubsegmentAlignment,segmentAlignment} cannot be set if this is not called for all Representations.
- Parameters
-
start_time | is the start time for the (sub)segment, in units of the stream's time scale. |
duration | is the duration of the segment, in units of the stream's time scale. |
size | of the segment in bytes. |
Definition at line 1104 of file mpd_builder.cc.
xml::scoped_xml_ptr< xmlNode > shaka::Representation::GetXml |
( |
| ) |
|
uint32_t shaka::Representation::id |
( |
| ) |
const |
|
inline |
- Returns
- ID number for <Representation>.
Definition at line 500 of file mpd_builder.h.
bool shaka::Representation::Init |
( |
| ) |
|
Tries to initialize the instance. If this does not succeed, the instance should not be used.
- Returns
- true on success, false otherwise.
Definition at line 1050 of file mpd_builder.cc.
void shaka::Representation::SetSampleDuration |
( |
uint32_t |
sample_duration | ) |
|
|
virtual |
Set the sample duration of this Representation. Sample duration is not available right away especially for live. This allows setting the sample duration after the Representation has been initialized.
- Parameters
-
sample_duration | is the duration of a sample. |
Definition at line 1128 of file mpd_builder.cc.
void shaka::Representation::SuppressOnce |
( |
SuppressFlag |
flag | ) |
|
By calling this methods, the next time GetXml() is called, the corresponding attributes will not be set. For example, if SuppressOnce(kSuppressWidth) is called, then GetXml() will return a <Representation> element without a attribute. Note that it only applies to the next call to GetXml(), calling GetXml() again without calling this methods will return a <Representation> element with the attribute. This may be called multiple times to set different (or the same) flags.
Definition at line 1207 of file mpd_builder.cc.
void shaka::Representation::UpdateContentProtectionPssh |
( |
const std::string & |
drm_uuid, |
|
|
const std::string & |
pssh |
|
) |
| |
|
virtual |
Update the 'cenc:pssh' element for drm_uuid ContentProtection element. If the element does not exist, this will add one.
- Parameters
-
drm_uuid | is the UUID of the DRM for encryption. |
pssh | is the content of <cenc:pssh> element. Note that DASH IF IOP mentions that this should be base64 encoded string of the whole pssh box. |
- Attention
- This might get removed once DASH IF IOP specification makes a a clear guideline on how to handle key rotation. Also to get this working with shaka-player, this method DOES NOT update the PSSH element. Instead, it removes the element regardless of the content of pssh.
Definition at line 1098 of file mpd_builder.cc.
The documentation for this class was generated from the following files: