com.brightcove.player.dash

## Class BrightcoveDashManifestParser

- java.lang.Object
- - org.xml.sax.helpers.DefaultHandler
  - - com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
    - - com.brightcove.player.dash.BrightcoveDashManifestParser

- All Implemented Interfaces:
    com.google.android.exoplayer2.upstream.ParsingLoadable.Parser<com.google.android.exoplayer2.source.dash.manifest.DashManifest>, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

      public class BrightcoveDashManifestParser
      extends com.google.android.exoplayer2.source.dash.manifest.DashManifestParser

  A Dash Manifest Parser used for Brightcove videos.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser

      `com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BrightcoveDashManifestParser()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected com.google.android.exoplayer2.Format` | `buildFormat(java.lang.String id, java.lang.String containerMimeType, int width, int height, float frameRate, int audioChannels, int audioSamplingRate, int bitrate, java.lang.String language, java.util.List<com.google.android.exoplayer2.source.dash.manifest.Descriptor> roleDescriptors, java.util.List<com.google.android.exoplayer2.source.dash.manifest.Descriptor> accessibilityDescriptors, java.lang.String codecs, java.util.List<com.google.android.exoplayer2.source.dash.manifest.Descriptor> supplementalProperties)`
    `protected com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTemplate` | `buildSegmentTemplate(com.google.android.exoplayer2.source.dash.manifest.RangedUri initialization, long timescale, long presentationTimeOffset, long startNumber, long endNumber, long duration, java.util.List<com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTimelineElement> timeline, long availabilityTimeOffsetUs, com.google.android.exoplayer2.source.dash.manifest.UrlTemplate initializationTemplate, com.google.android.exoplayer2.source.dash.manifest.UrlTemplate mediaTemplate, long timeShiftBufferDepthMs, long periodStartUnixTimeMs)`
    `protected com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTemplate` | `buildSegmentTemplate(com.google.android.exoplayer2.source.dash.manifest.RangedUri initialization, long timescale, long presentationTimeOffset, long startNumber, long endNumber, long duration, java.util.List<com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTimelineElement> timeline, com.google.android.exoplayer2.source.dash.manifest.UrlTemplate initializationTemplate, com.google.android.exoplayer2.source.dash.manifest.UrlTemplate mediaTemplate)`
    `protected android.util.Pair<java.lang.String,com.google.android.exoplayer2.drm.DrmInitData.SchemeData>` | `parseContentProtection(org.xmlpull.v1.XmlPullParser xpp)` Parses a ContentProtection element.
    `protected int` | `parseRoleFlagsFromRoleDescriptors(java.util.List<com.google.android.exoplayer2.source.dash.manifest.Descriptor> roleDescriptors)`

    - ### Methods inherited from class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser

      `buildAdaptationSet, buildEvent, buildEventStream, buildFormat, buildMediaPresentationDescription, buildPeriod, buildRangedUri, buildRepresentation, buildSegmentList, buildSegmentTimelineElement, buildSingleSegmentBase, buildUtcTimingElement, maybeSkipTag, parse, parseAdaptationSet, parseAdaptationSetChild, parseAudioChannelConfiguration, parseAvailabilityTimeOffsetUs, parseBaseUrl, parseCea608AccessibilityChannel, parseCea708AccessibilityChannel, parseContentType, parseDateTime, parseDescriptor, parseDolbyChannelConfiguration, parseDuration, parseEac3SupplementalProperties, parseEvent, parseEventObject, parseEventStream, parseFloat, parseFrameRate, parseInitialization, parseInt, parseLabel, parseLastSegmentNumberSupplementalProperty, parseLong, parseMediaPresentationDescription, parseMpegChannelConfiguration, parsePeriod, parseProgramInformation, parseRangedUrl, parseRepresentation, parseRoleFlagsFromAccessibilityDescriptors, parseRoleFlagsFromDashRoleScheme, parseRoleFlagsFromProperties, parseSegmentBase, parseSegmentList, parseSegmentTemplate, parseSegmentTimeline, parseSegmentUrl, parseSelectionFlagsFromDashRoleScheme, parseSelectionFlagsFromRoleDescriptors, parseServiceDescription, parseString, parseText, parseTvaAudioPurposeCsValue, parseUrlTemplate, parseUtcTiming`

    - ### Methods inherited from class org.xml.sax.helpers.DefaultHandler

      `characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BrightcoveDashManifestParser

          public BrightcoveDashManifestParser()

  - ### Method Detail

    - #### parseContentProtection

          protected android.util.Pair<java.lang.String,com.google.android.exoplayer2.drm.DrmInitData.SchemeData> parseContentProtection(org.xmlpull.v1.XmlPullParser xpp)
                                                                                                                                 throws org.xmlpull.v1.XmlPullParserException,
                                                                                                                                        java.io.IOException

      Parses a ContentProtection element.
      Overrides:
        `parseContentProtection` in class `com.google.android.exoplayer2.source.dash.manifest.DashManifestParser`
      Parameters:
        `xpp` - The parser from which to read.
      Returns:
        `DrmInitData.SchemeData` parsed from the ContentProtection element, or null if the element is unsupported.
      Throws:
        `org.xmlpull.v1.XmlPullParserException` - If an error occurs parsing the element.
        `java.io.IOException` - If an error occurs reading the element.

    - #### buildFormat

          protected com.google.android.exoplayer2.Format buildFormat(java.lang.String id,
                                                                     java.lang.String containerMimeType,
                                                                     int width,
                                                                     int height,
                                                                     float frameRate,
                                                                     int audioChannels,
                                                                     int audioSamplingRate,
                                                                     int bitrate,
                                                                     java.lang.String language,
                                                                     java.util.List<com.google.android.exoplayer2.source.dash.manifest.Descriptor> roleDescriptors,
                                                                     java.util.List<com.google.android.exoplayer2.source.dash.manifest.Descriptor> accessibilityDescriptors,
                                                                     java.lang.String codecs,
                                                                     java.util.List<com.google.android.exoplayer2.source.dash.manifest.Descriptor> supplementalProperties)

    - #### parseRoleFlagsFromRoleDescriptors

          protected int parseRoleFlagsFromRoleDescriptors(java.util.List<com.google.android.exoplayer2.source.dash.manifest.Descriptor> roleDescriptors)

      Overrides:
        `parseRoleFlagsFromRoleDescriptors` in class `com.google.android.exoplayer2.source.dash.manifest.DashManifestParser`

    - #### buildSegmentTemplate

          protected com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTemplate buildSegmentTemplate(com.google.android.exoplayer2.source.dash.manifest.RangedUri initialization,
                                                                                                                        long timescale,
                                                                                                                        long presentationTimeOffset,
                                                                                                                        long startNumber,
                                                                                                                        long endNumber,
                                                                                                                        long duration,
                                                                                                                        java.util.List<com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTimelineElement> timeline,
                                                                                                                        com.google.android.exoplayer2.source.dash.manifest.UrlTemplate initializationTemplate,
                                                                                                                        com.google.android.exoplayer2.source.dash.manifest.UrlTemplate mediaTemplate)

    - #### buildSegmentTemplate

          protected com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTemplate buildSegmentTemplate(com.google.android.exoplayer2.source.dash.manifest.RangedUri initialization,
                                                                                                                        long timescale,
                                                                                                                        long presentationTimeOffset,
                                                                                                                        long startNumber,
                                                                                                                        long endNumber,
                                                                                                                        long duration,
                                                                                                                        java.util.List<com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTimelineElement> timeline,
                                                                                                                        long availabilityTimeOffsetUs,
                                                                                                                        com.google.android.exoplayer2.source.dash.manifest.UrlTemplate initializationTemplate,
                                                                                                                        com.google.android.exoplayer2.source.dash.manifest.UrlTemplate mediaTemplate,
                                                                                                                        long timeShiftBufferDepthMs,
                                                                                                                        long periodStartUnixTimeMs)

      Overrides:
        `buildSegmentTemplate` in class `com.google.android.exoplayer2.source.dash.manifest.DashManifestParser`