- AdaptationSet::OnNewSegmentForRepresentation() calculates whether the
Representations are aligned by looking at the start time and duration.
(Except that duration is not used in this implementation).
- Add RepresentationStateChangeListener to callback
AdaptationSet::OnNewSegmentForRepresentation() from Representation.
Change-Id: I3c30bd6652880dabb9d5c619d8a733ffc789eec9
- ContentProtection elements should be added explicitly by the
AddContentProtection() methods.
- This is because some MPDs should have ContentProtection at
AdaptationSet level instead of Representation.
- Change SimpleMpdNotifier, which uses MpdBuilder, to add
ContentProtectionElements. The logic is moved from MuxerListener.
- Add Element class for specifying subelements for
ContentProtectionElement.
Change-Id: I9bedfb3e5a5ac0b3d5c702f1e6e4a8608c978d1d
- Pass pixel_height and pixel_width from VideoStreamInfo to MediaInfo.
- par can only be set if all the Representations have the same
picture aspect ratio. That is the ratio of sar_x*width:sar_y*height
should all be the same.
- If there is a Representation that does not have the sar attribute set,
par is also not set.
Change-Id: Id34c95e4a99da9ce028a9f35737cfe5bca9e5697
- DASH IOP requires AdaptationSets with video Representations to have:
@maxWidth (or @width if all the Representations have the same width).
@maxHeight (or @height if all the Representations have the same width).
@maxFrameRate (or @frameRate if all the Representations have the same
frame rate).
Change-Id: I1247b7461237255aeb70b7fb40f78d4439f9c529
Additionally, for XML schema correctness, convert ISO-639-2 language
tags (three-letter codes) to ISO-639-1 tags (two-letter codes) when
possible. This follows BCP-47, which says to always use the shortest
language tag when there are multiple possibilities.
b/18613148
Change-Id: I120fb7b42ac4da5feb4ca046bba93d9e58acd7a9