#include <mpd_builder.h>
Representation class contains references to a single media stream, as well as optional ContentProtection elements for that stream.
Definition at line 418 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 986 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 1038 of file mpd_builder.cc.
void edash_packager::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 1052 of file mpd_builder.cc.
uint32_t edash_packager::Representation::id |
( |
| ) |
const |
|
inline |
- Returns
- ID number for <Representation>.
Definition at line 477 of file mpd_builder.h.
bool edash_packager::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 1000 of file mpd_builder.cc.
void edash_packager::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 1077 of file mpd_builder.cc.
void edash_packager::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 1045 of file mpd_builder.cc.
The documentation for this class was generated from the following files: