Class MediaSourceUtil

java.lang.Object
com.brightcove.player.util.MediaSourceUtil

public final class MediaSourceUtil extends Object
Provides utility method to work with DashManifest and HlsMultivariantPlaylist.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static android.net.Uri
    findInitializationUri(com.google.android.exoplayer2.source.dash.manifest.Representation representation)
    Finds the location of the representation's initialization data.
    static String
    findRenditionUrl(com.google.android.exoplayer2.source.dash.manifest.DashManifest dashManifest, int trackType, com.google.android.exoplayer2.Format format)
    Finds the rendition url from the DashManifest object for the specified track type and the format.
    static String
    findRenditionUrl(com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist hlsMasterPlaylist, int trackType, com.google.android.exoplayer2.Format format)
    static String
    findRenditionUrl(com.google.android.exoplayer2.source.hls.playlist.HlsMultivariantPlaylist hlsMasterPlaylist, int trackType, com.google.android.exoplayer2.Format format)
    Finds the rendition url from the HlsMultivariantPlaylist object for the specified track type and the format.
    static String
    findRenditionUrl(Object manifest, int trackType, com.google.android.exoplayer2.Format format)
    Finds the rendition url from the manifest object given the track type and the format.
    static String
    findRenditionUrl(Object manifest, com.google.android.exoplayer2.Format format)
    Finds the rendition url from the manifest object given the track type and the format.
    static int
    findTrackType(com.google.android.exoplayer2.Format format)
    Finds the track type of the specified format.
    static int
    Gets the Brightcove Role Flag matching the Role Value.
    static String
    Gets the Brightcove Role Value matching the Role Flag.
    static boolean
    isAudioOnly(com.google.android.exoplayer2.TracksInfo tracksInfo)
    Check if the TracksInfo has an audio track and no video track.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MediaSourceUtil

      public MediaSourceUtil()
  • Method Details

    • findTrackType

      public static int findTrackType(@NonNull com.google.android.exoplayer2.Format format)
      Finds the track type of the specified format.
      Parameters:
      format - the format.
      Returns:
      the track type.
    • findRenditionUrl

      @Nullable public static String findRenditionUrl(@Nullable Object manifest, int trackType, @NonNull com.google.android.exoplayer2.Format format)
      Finds the rendition url from the manifest object given the track type and the format. The Manifest object needs to be an instance of either DashManifest or HlsManifest.
      Parameters:
      manifest - the manifest
      trackType - the track type
      format - the format
      Returns:
      the rendition url if found, null otherwise.
    • findRenditionUrl

      @Nullable public static String findRenditionUrl(@Nullable Object manifest, @NonNull com.google.android.exoplayer2.Format format)
      Finds the rendition url from the manifest object given the track type and the format. The Manifest object needs to be an instance of either DashManifest or HlsManifest.
      Parameters:
      manifest - the manifest
      format - the format
      Returns:
      the rendition url if found, null otherwise.
    • findRenditionUrl

      @Nullable public static String findRenditionUrl(@NonNull com.google.android.exoplayer2.source.dash.manifest.DashManifest dashManifest, int trackType, @NonNull com.google.android.exoplayer2.Format format)
      Finds the rendition url from the DashManifest object for the specified track type and the format.
      Parameters:
      dashManifest - reference to the DASH manifest.
      trackType - the track type
      format - the format
      Returns:
      the rendition url if found, null otherwise.
    • findInitializationUri

      @NonNull public static android.net.Uri findInitializationUri(@NonNull com.google.android.exoplayer2.source.dash.manifest.Representation representation)
      Finds the location of the representation's initialization data. If the representation includes index data stored adjacent to the initialization uri, the returned URI can be used to request both in the same request.
      Parameters:
      representation - reference to the representation
      Returns:
      fully qualified URI to the representation's initialization data.
    • findRenditionUrl

      @Nullable @Deprecated public static String findRenditionUrl(@NonNull com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist hlsMasterPlaylist, int trackType, @NonNull com.google.android.exoplayer2.Format format)
    • findRenditionUrl

      @Nullable public static String findRenditionUrl(@NonNull com.google.android.exoplayer2.source.hls.playlist.HlsMultivariantPlaylist hlsMasterPlaylist, int trackType, @NonNull com.google.android.exoplayer2.Format format)
      Finds the rendition url from the HlsMultivariantPlaylist object for the specified track type and the format.
      Parameters:
      hlsMasterPlaylist - reference to the HLS master playlist.
      trackType - the track type
      format - the format
      Returns:
      the rendition url if found, null otherwise.
    • getBrightcoveRoleFlag

      public static int getBrightcoveRoleFlag(String roleValue)
      Gets the Brightcove Role Flag matching the Role Value. The BrightcoveDashManifestParser reads the AdaptationSet Role value and adds a Brightcove Flag to the Format.selectionFlags, depending on the Role value.
      Parameters:
      roleValue - the role string value
      Returns:
      the Brightcove Role flag
    • getBrightcoveRoleValue

      public static String getBrightcoveRoleValue(int flag)
      Gets the Brightcove Role Value matching the Role Flag. The BrightcoveDashManifestParser reads the AdaptationSet Role value and adds a Brightcove Flag to the Format.selectionFlags, depending on the Role value.
      Parameters:
      flag - the Brightcove Role Flag
      Returns:
      the Brightcove role value
    • isAudioOnly

      @RestrictTo(LIBRARY) public static boolean isAudioOnly(com.google.android.exoplayer2.TracksInfo tracksInfo)
      Check if the TracksInfo has an audio track and no video track.
      Parameters:
      tracksInfo - The available tracks information.
      Returns:
      True if the track is audio-only.