Class MediaSourceUtil


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

      Constructors 
      Constructor Description
      MediaSourceUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      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 java.lang.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 java.lang.String findRenditionUrl​(com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist hlsMasterPlaylist, int trackType, com.google.android.exoplayer2.Format format)
      static java.lang.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 java.lang.String findRenditionUrl​(java.lang.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 java.lang.String findRenditionUrl​(java.lang.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 getBrightcoveRoleFlag​(java.lang.String roleValue)
      Gets the Brightcove Role Flag matching the Role Value.
      static java.lang.String getBrightcoveRoleValue​(int flag)
      Gets the Brightcove Role Value matching the Role Flag.
      • Methods inherited from class java.lang.Object

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

      • MediaSourceUtil

        public MediaSourceUtil()
    • Method Detail

      • 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 java.lang.String findRenditionUrl​(@Nullable
                                                        java.lang.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 java.lang.String findRenditionUrl​(@Nullable
                                                        java.lang.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 java.lang.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 java.lang.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 java.lang.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​(java.lang.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 java.lang.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