Class PlayerEmsgHandler.PlayerTrackEmsgHandler

  • All Implemented Interfaces:
    TrackOutput
    Enclosing class:
    PlayerEmsgHandler

    public final class PlayerEmsgHandler.PlayerTrackEmsgHandler
    extends Object
    implements TrackOutput
    Handles emsg messages for a specific track for the player.
    • Method Detail

      • format

        public void format​(Format format)
        Description copied from interface: TrackOutput
        Called when the Format of the track has been extracted from the stream.
        Specified by:
        format in interface TrackOutput
        Parameters:
        format - The extracted Format.
      • sampleData

        public int sampleData​(DataReader input,
                              int length,
                              boolean allowEndOfInput,
                              @com.google.android.exoplayer2.extractor.TrackOutput.SampleDataPart int sampleDataPart)
                       throws IOException
        Description copied from interface: TrackOutput
        Called to write sample data to the output.
        Specified by:
        sampleData in interface TrackOutput
        Parameters:
        input - A DataReader from which to read the sample data.
        length - The maximum length to read from the input.
        allowEndOfInput - True if encountering the end of the input having read no data is allowed, and should result in C.RESULT_END_OF_INPUT being returned. False if it should be considered an error, causing an EOFException to be thrown.
        sampleDataPart - The part of the sample data to which this call corresponds.
        Returns:
        The number of bytes appended.
        Throws:
        IOException - If an error occurred reading from the input.
      • sampleData

        public void sampleData​(ParsableByteArray data,
                               int length,
                               @com.google.android.exoplayer2.extractor.TrackOutput.SampleDataPart int sampleDataPart)
        Description copied from interface: TrackOutput
        Called to write sample data to the output.
        Specified by:
        sampleData in interface TrackOutput
        Parameters:
        data - A ParsableByteArray from which to read the sample data.
        length - The number of bytes to read, starting from data.getPosition().
        sampleDataPart - The part of the sample data to which this call corresponds.
      • maybeRefreshManifestBeforeLoadingNextChunk

        public boolean maybeRefreshManifestBeforeLoadingNextChunk​(long presentationPositionUs)
        For live streaming, check if the DASH manifest is expired before the next segment start time. If it is, the DASH media source will be notified to refresh the manifest.
        Parameters:
        presentationPositionUs - The next load position in presentation time.
        Returns:
        True if manifest refresh has been requested, false otherwise.
      • onChunkLoadCompleted

        public void onChunkLoadCompleted​(Chunk chunk)
        Called when a chunk load has been completed.
        Parameters:
        chunk - The chunk whose load has been completed.
      • onChunkLoadError

        public boolean onChunkLoadError​(Chunk chunk)
        Called when a chunk load has encountered an error.
        Parameters:
        chunk - The chunk whose load encountered an error.
        Returns:
        Whether a manifest refresh has been requested.
      • release

        public void release()
        Release this track emsg handler. It should not be reused after this call.