Interface ProgressiveMediaExtractor

    • Method Detail

      • init

        void init​(DataReader dataReader,
                  Uri uri,
                  Map<String,​List<String>> responseHeaders,
                  long position,
                  long length,
                  ExtractorOutput output)
           throws IOException
        Initializes the underlying infrastructure for reading from the input.
        Parameters:
        dataReader - The DataReader from which data should be read.
        uri - The Uri from which the media is obtained.
        responseHeaders - The response headers of the media, or an empty map if there are none.
        position - The initial position of the dataReader in the stream.
        length - The length of the stream, or C.LENGTH_UNSET if length is unknown.
        output - The ExtractorOutput that will be used to initialize the selected extractor.
        Throws:
        UnrecognizedInputFormatException - Thrown if the input format could not be detected.
        IOException - Thrown if the input could not be read.
      • release

        void release()
        Releases any held resources.
      • disableSeekingOnMp3Streams

        void disableSeekingOnMp3Streams()
        Disables seeking in MP3 streams.

        MP3 live streams commonly have seekable metadata, despite being unseekable.

      • getCurrentInputPosition

        long getCurrentInputPosition()
        Returns the current read position in the input stream, or C.POSITION_UNSET if no input is available.
      • seek

        void seek​(long position,
                  long seekTimeUs)
        Notifies the extracting infrastructure that a seek has occurred.
        Parameters:
        position - The byte offset in the stream from which data will be provided.
        seekTimeUs - The seek time in microseconds.
      • read

        int read​(PositionHolder positionHolder)
          throws IOException
        Extracts data starting at the current input stream position.
        Parameters:
        positionHolder - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the position of the required data.
        Returns:
        One of the Extractor.RESULT_* values.
        Throws:
        IOException - If an error occurred reading from the input.