public class MediaPresentationDescriptionParser extends org.xml.sax.helpers.DefaultHandler implements UriLoadable.Parser<MediaPresentationDescription>
Modifier and Type | Class and Description |
---|---|
protected static class |
MediaPresentationDescriptionParser.ContentProtectionsBuilder
Builds a list of
ContentProtection elements for an AdaptationSet . |
Constructor and Description |
---|
MediaPresentationDescriptionParser()
Equivalent to calling
new MediaPresentationDescriptionParser(null) . |
MediaPresentationDescriptionParser(java.lang.String contentId) |
Modifier and Type | Method and Description |
---|---|
protected AdaptationSet |
buildAdaptationSet(int id,
int contentType,
java.util.List<Representation> representations,
java.util.List<ContentProtection> contentProtections) |
protected ContentProtection |
buildContentProtection(java.lang.String schemeIdUri,
java.util.UUID uuid,
DrmInitData.SchemeInitData data) |
protected Format |
buildFormat(java.lang.String id,
java.lang.String mimeType,
int width,
int height,
float frameRate,
int audioChannels,
int audioSamplingRate,
int bandwidth,
java.lang.String language,
java.lang.String codecs) |
protected MediaPresentationDescription |
buildMediaPresentationDescription(long availabilityStartTime,
long durationMs,
long minBufferTimeMs,
boolean dynamic,
long minUpdateTimeMs,
long timeShiftBufferDepthMs,
UtcTimingElement utcTiming,
java.lang.String location,
java.util.List<Period> periods) |
protected Period |
buildPeriod(java.lang.String id,
long startMs,
java.util.List<AdaptationSet> adaptationSets) |
protected RangedUri |
buildRangedUri(java.lang.String baseUrl,
java.lang.String urlText,
long rangeStart,
long rangeLength) |
protected Representation |
buildRepresentation(java.lang.String contentId,
int revisionId,
Format format,
SegmentBase segmentBase) |
protected SegmentBase.SegmentList |
buildSegmentList(RangedUri initialization,
long timescale,
long presentationTimeOffset,
int startNumber,
long duration,
java.util.List<SegmentBase.SegmentTimelineElement> timeline,
java.util.List<RangedUri> segments) |
protected SegmentBase.SegmentTemplate |
buildSegmentTemplate(RangedUri initialization,
long timescale,
long presentationTimeOffset,
int startNumber,
long duration,
java.util.List<SegmentBase.SegmentTimelineElement> timeline,
UrlTemplate initializationTemplate,
UrlTemplate mediaTemplate,
java.lang.String baseUrl) |
protected SegmentBase.SegmentTimelineElement |
buildSegmentTimelineElement(long elapsedTime,
long duration) |
protected SegmentBase.SingleSegmentBase |
buildSingleSegmentBase(RangedUri initialization,
long timescale,
long presentationTimeOffset,
java.lang.String baseUrl,
long indexStart,
long indexLength) |
protected UtcTimingElement |
buildUtcTimingElement(java.lang.String schemeIdUri,
java.lang.String value) |
protected int |
getContentType(Representation representation) |
MediaPresentationDescription |
parse(java.lang.String connectionUrl,
java.io.InputStream inputStream)
Parses an object from a response.
|
protected AdaptationSet |
parseAdaptationSet(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl,
SegmentBase segmentBase) |
protected void |
parseAdaptationSetChild(org.xmlpull.v1.XmlPullParser xpp)
Parses children of AdaptationSet elements not specifically parsed elsewhere.
|
protected int |
parseAudioChannelConfiguration(org.xmlpull.v1.XmlPullParser xpp) |
protected static java.lang.String |
parseBaseUrl(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String parentBaseUrl) |
protected ContentProtection |
parseContentProtection(org.xmlpull.v1.XmlPullParser xpp)
Parses a
ContentProtection element. |
protected int |
parseContentType(org.xmlpull.v1.XmlPullParser xpp) |
protected static long |
parseDateTime(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String name,
long defaultValue) |
protected static long |
parseDuration(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String name,
long defaultValue) |
protected static float |
parseFrameRate(org.xmlpull.v1.XmlPullParser xpp,
float defaultValue) |
protected RangedUri |
parseInitialization(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl) |
protected static int |
parseInt(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String name) |
protected static int |
parseInt(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String name,
int defaultValue) |
protected static long |
parseLong(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String name) |
protected static long |
parseLong(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String name,
long defaultValue) |
protected MediaPresentationDescription |
parseMediaPresentationDescription(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl) |
protected android.util.Pair<Period,java.lang.Long> |
parsePeriod(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl,
long defaultStartMs) |
protected RangedUri |
parseRangedUrl(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl,
java.lang.String urlAttribute,
java.lang.String rangeAttribute) |
protected Representation |
parseRepresentation(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl,
java.lang.String adaptationSetMimeType,
java.lang.String adaptationSetCodecs,
int adaptationSetWidth,
int adaptationSetHeight,
float adaptationSetFrameRate,
int adaptationSetAudioChannels,
int adaptationSetAudioSamplingRate,
java.lang.String adaptationSetLanguage,
SegmentBase segmentBase,
MediaPresentationDescriptionParser.ContentProtectionsBuilder contentProtectionsBuilder) |
protected SegmentBase.SingleSegmentBase |
parseSegmentBase(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl,
SegmentBase.SingleSegmentBase parent) |
protected SegmentBase.SegmentList |
parseSegmentList(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl,
SegmentBase.SegmentList parent) |
protected SegmentBase.SegmentTemplate |
parseSegmentTemplate(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl,
SegmentBase.SegmentTemplate parent) |
protected java.util.List<SegmentBase.SegmentTimelineElement> |
parseSegmentTimeline(org.xmlpull.v1.XmlPullParser xpp) |
protected RangedUri |
parseSegmentUrl(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String baseUrl) |
protected static java.lang.String |
parseString(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String name,
java.lang.String defaultValue) |
protected UrlTemplate |
parseUrlTemplate(org.xmlpull.v1.XmlPullParser xpp,
java.lang.String name,
UrlTemplate defaultValue) |
protected UtcTimingElement |
parseUtcTiming(org.xmlpull.v1.XmlPullParser xpp) |
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning
public MediaPresentationDescriptionParser()
new MediaPresentationDescriptionParser(null)
.public MediaPresentationDescriptionParser(java.lang.String contentId)
contentId
- An optional content identifier to include in the parsed manifest.public MediaPresentationDescription parse(java.lang.String connectionUrl, java.io.InputStream inputStream) throws java.io.IOException, ParserException
UriLoadable.Parser
parse
in interface UriLoadable.Parser<MediaPresentationDescription>
connectionUrl
- The source of the response, after any redirection.inputStream
- An InputStream
from which the response data can be read.ParserException
- If an error occurs parsing the data.java.io.IOException
- If an error occurs reading data from the stream.protected MediaPresentationDescription parseMediaPresentationDescription(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException, java.text.ParseException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
java.text.ParseException
protected MediaPresentationDescription buildMediaPresentationDescription(long availabilityStartTime, long durationMs, long minBufferTimeMs, boolean dynamic, long minUpdateTimeMs, long timeShiftBufferDepthMs, UtcTimingElement utcTiming, java.lang.String location, java.util.List<Period> periods)
protected UtcTimingElement parseUtcTiming(org.xmlpull.v1.XmlPullParser xpp)
protected UtcTimingElement buildUtcTimingElement(java.lang.String schemeIdUri, java.lang.String value)
protected android.util.Pair<Period,java.lang.Long> parsePeriod(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl, long defaultStartMs) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected Period buildPeriod(java.lang.String id, long startMs, java.util.List<AdaptationSet> adaptationSets)
protected AdaptationSet parseAdaptationSet(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl, SegmentBase segmentBase) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected AdaptationSet buildAdaptationSet(int id, int contentType, java.util.List<Representation> representations, java.util.List<ContentProtection> contentProtections)
protected int parseContentType(org.xmlpull.v1.XmlPullParser xpp)
protected int getContentType(Representation representation)
protected ContentProtection parseContentProtection(org.xmlpull.v1.XmlPullParser xpp) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
ContentProtection
element.ContentProtection
element, or null if the element is unsupported.org.xmlpull.v1.XmlPullParserException
- If an error occurs parsing the element.java.io.IOException
- If an error occurs reading the element.protected ContentProtection buildContentProtection(java.lang.String schemeIdUri, java.util.UUID uuid, DrmInitData.SchemeInitData data)
protected void parseAdaptationSetChild(org.xmlpull.v1.XmlPullParser xpp) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
xpp
- The XmpPullParser from which the AdaptationSet child should be parsed.org.xmlpull.v1.XmlPullParserException
- If an error occurs parsing the element.java.io.IOException
- If an error occurs reading the element.protected Representation parseRepresentation(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl, java.lang.String adaptationSetMimeType, java.lang.String adaptationSetCodecs, int adaptationSetWidth, int adaptationSetHeight, float adaptationSetFrameRate, int adaptationSetAudioChannels, int adaptationSetAudioSamplingRate, java.lang.String adaptationSetLanguage, SegmentBase segmentBase, MediaPresentationDescriptionParser.ContentProtectionsBuilder contentProtectionsBuilder) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected Format buildFormat(java.lang.String id, java.lang.String mimeType, int width, int height, float frameRate, int audioChannels, int audioSamplingRate, int bandwidth, java.lang.String language, java.lang.String codecs)
protected Representation buildRepresentation(java.lang.String contentId, int revisionId, Format format, SegmentBase segmentBase)
protected SegmentBase.SingleSegmentBase parseSegmentBase(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl, SegmentBase.SingleSegmentBase parent) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected SegmentBase.SingleSegmentBase buildSingleSegmentBase(RangedUri initialization, long timescale, long presentationTimeOffset, java.lang.String baseUrl, long indexStart, long indexLength)
protected SegmentBase.SegmentList parseSegmentList(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl, SegmentBase.SegmentList parent) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected SegmentBase.SegmentList buildSegmentList(RangedUri initialization, long timescale, long presentationTimeOffset, int startNumber, long duration, java.util.List<SegmentBase.SegmentTimelineElement> timeline, java.util.List<RangedUri> segments)
protected SegmentBase.SegmentTemplate parseSegmentTemplate(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl, SegmentBase.SegmentTemplate parent) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected SegmentBase.SegmentTemplate buildSegmentTemplate(RangedUri initialization, long timescale, long presentationTimeOffset, int startNumber, long duration, java.util.List<SegmentBase.SegmentTimelineElement> timeline, UrlTemplate initializationTemplate, UrlTemplate mediaTemplate, java.lang.String baseUrl)
protected java.util.List<SegmentBase.SegmentTimelineElement> parseSegmentTimeline(org.xmlpull.v1.XmlPullParser xpp) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected SegmentBase.SegmentTimelineElement buildSegmentTimelineElement(long elapsedTime, long duration)
protected UrlTemplate parseUrlTemplate(org.xmlpull.v1.XmlPullParser xpp, java.lang.String name, UrlTemplate defaultValue)
protected RangedUri parseInitialization(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl)
protected RangedUri parseSegmentUrl(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl)
protected RangedUri parseRangedUrl(org.xmlpull.v1.XmlPullParser xpp, java.lang.String baseUrl, java.lang.String urlAttribute, java.lang.String rangeAttribute)
protected RangedUri buildRangedUri(java.lang.String baseUrl, java.lang.String urlText, long rangeStart, long rangeLength)
protected int parseAudioChannelConfiguration(org.xmlpull.v1.XmlPullParser xpp) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected static float parseFrameRate(org.xmlpull.v1.XmlPullParser xpp, float defaultValue)
protected static long parseDuration(org.xmlpull.v1.XmlPullParser xpp, java.lang.String name, long defaultValue)
protected static long parseDateTime(org.xmlpull.v1.XmlPullParser xpp, java.lang.String name, long defaultValue) throws java.text.ParseException
java.text.ParseException
protected static java.lang.String parseBaseUrl(org.xmlpull.v1.XmlPullParser xpp, java.lang.String parentBaseUrl) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException
org.xmlpull.v1.XmlPullParserException
java.io.IOException
protected static int parseInt(org.xmlpull.v1.XmlPullParser xpp, java.lang.String name)
protected static int parseInt(org.xmlpull.v1.XmlPullParser xpp, java.lang.String name, int defaultValue)
protected static long parseLong(org.xmlpull.v1.XmlPullParser xpp, java.lang.String name)
protected static long parseLong(org.xmlpull.v1.XmlPullParser xpp, java.lang.String name, long defaultValue)
protected static java.lang.String parseString(org.xmlpull.v1.XmlPullParser xpp, java.lang.String name, java.lang.String defaultValue)