#include <mpd_builder.h>
|
enum | Role {
kRoleCaption,
kRoleSubtitle,
kRoleMain,
kRoleAlternate,
kRoleSupplementary,
kRoleCommentary,
kRoleDub
} |
|
|
| AdaptationSet (uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, MpdBuilder::MpdType mpd_type, base::AtomicSequenceNumber *representation_counter) |
|
|
class | MpdBuilder |
|
template<MpdBuilder::MpdType type> |
class | MpdBuilderTest |
|
AdaptationSet class provides methods to add Representations and <ContentProtection> elements to the AdaptationSet element.
Definition at line 154 of file mpd_builder.h.
edash_packager::AdaptationSet::AdaptationSet |
( |
uint32_t |
adaptation_set_id, |
|
|
const std::string & |
lang, |
|
|
const MpdOptions & |
mpd_options, |
|
|
MpdBuilder::MpdType |
mpd_type, |
|
|
base::AtomicSequenceNumber * |
representation_counter |
|
) |
| |
|
protected |
- Parameters
-
adaptation_set_id | is an ID number for this AdaptationSet. |
lang | is the language of this AdaptationSet. Mainly relevant for audio. |
mpd_options | is the options for this MPD. |
mpd_type | is the type of this MPD. |
representation_counter | is a Counter for assigning ID numbers to Representation. It can not be NULL. |
Definition at line 654 of file mpd_builder.cc.
Add a ContenProtection element to the adaptation set. AdaptationSet does not add <ContentProtection> elements automatically to itself even if media_info.protected_content is 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 717 of file mpd_builder.cc.
Representation * edash_packager::AdaptationSet::AddRepresentation |
( |
const MediaInfo & |
media_info | ) |
|
|
virtual |
Create a Representation instance using media_info.
- Parameters
-
media_info | is a MediaInfo object used to initialize the returned Representation instance. It may contain only one of VideoInfo, AudioInfo, or TextInfo, i.e. VideoInfo XOR AudioInfo XOR TextInfo. |
- Returns
- On success, returns a pointer to Representation. Otherwise returns NULL. The returned pointer is owned by the AdaptationSet instance.
Definition at line 673 of file mpd_builder.cc.
void edash_packager::AdaptationSet::AddRole |
( |
Role |
role | ) |
|
|
virtual |
Set the Role element for this AdaptationSet. The Role element's is schemeIdUri='urn:mpeg:dash:role:2011'. See ISO/IEC 23009-1:2012 section 5.8.5.5.
- Parameters
-
Definition at line 729 of file mpd_builder.cc.
void edash_packager::AdaptationSet::ForceSetSegmentAlignment |
( |
bool |
segment_alignment | ) |
|
|
virtual |
Forces the (sub)segmentAlignment field to be set to segment_alignment. Use this if you are certain that the (sub)segments are alinged/unaligned for the AdaptationSet.
- Parameters
-
segment_alignment | is the value used for (sub)segmentAlignment attribute. |
Definition at line 816 of file mpd_builder.cc.
xml::scoped_xml_ptr< xmlNode > edash_packager::AdaptationSet::GetXml |
( |
| ) |
|
Makes a copy of AdaptationSet xml element with its child Representation and ContentProtection elements.
- Returns
- On success returns a non-NULL scoped_xml_ptr. Otherwise returns a NULL scoped_xml_ptr.
Definition at line 739 of file mpd_builder.cc.
int edash_packager::AdaptationSet::Group |
( |
| ) |
const |
|
virtual |
- Returns
- Returns the value for group. If not set, returns a negative value.
Definition at line 826 of file mpd_builder.cc.
void edash_packager::AdaptationSet::OnNewSegmentForRepresentation |
( |
uint32_t |
representation_id, |
|
|
uint64_t |
start_time, |
|
|
uint64_t |
duration |
|
) |
| |
void edash_packager::AdaptationSet::OnSetFrameRateForRepresentation |
( |
uint32_t |
representation_id, |
|
|
uint32_t |
frame_duration, |
|
|
uint32_t |
timescale |
|
) |
| |
void edash_packager::AdaptationSet::SetGroup |
( |
int |
group_number | ) |
|
|
virtual |
Sets the AdaptationSet attribute. Passing a negative value to this method will unset the attribute. Note that group=0 is a special group, as mentioned in the DASH MPD specification.
- Parameters
-
group_number | is the value of AdaptatoinSet. |
Definition at line 822 of file mpd_builder.cc.
void edash_packager::AdaptationSet::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 723 of file mpd_builder.cc.
The documentation for this class was generated from the following files: