Package 

Class DataSourceWrapper

  • All Implemented Interfaces:
    com.otaliastudios.transcoder.source.DataSource

    
    public class DataSourceWrapper
     implements DataSource
                        

    A DataSource wrapper that simply delegates all methods to the wrapped source. It is the implementor responsibility to care about the case where the wrapped source is already initialized, in case they are overriding initialize.

    • Method Summary

      Modifier and Type Method Description
      int getOrientation() Metadata information.
      Array<double> getLocation() Metadata information.
      long getDurationUs() Returns the video total duration in microseconds.
      MediaFormat getTrackFormat(@NonNull() TrackType type) Called before starting to inspect the input format for this track.Can return null if this media does not include this track type.
      void selectTrack(@NonNull() TrackType type) Called before starting, but after getTrackFormat,to select the given track.
      long seekTo(long desiredPositionUs) Moves all selected tracks to the specified presentation time.
      boolean canReadTrack(@NonNull() TrackType type) Returns true if we can read the given track at this point.
      void readTrack(@NonNull() DataSource.Chunk chunk) Called to read contents for the current track type.
      long getPositionUs() Returns the current read position, between 0 and duration.
      boolean isDrained() When this source has been totally read, it can return true here tonotify an end of input stream.
      void releaseTrack(@NonNull() TrackType type) Called to release resources for a given track.
      boolean isInitialized()
      void initialize()
      void deinitialize()
      • Methods inherited from class com.otaliastudios.transcoder.source.DataSource

        readTrack
      • Methods inherited from class java.lang.Object

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

      • getOrientation

         int getOrientation()

        Metadata information. Returns the video orientation, or 0.

      • getDurationUs

         long getDurationUs()

        Returns the video total duration in microseconds.

      • seekTo

         long seekTo(long desiredPositionUs)

        Moves all selected tracks to the specified presentation time.The timestamp should be between 0 and getDurationUs.The actual timestamp might differ from the desired one because ofseeking constraints (e.g. seek to sync frames). It will typically be smallerbecause we use SEEK_TO_PREVIOUS_SYNC inthe default source.

        Parameters:
        desiredPositionUs - requested timestamp
      • canReadTrack

         boolean canReadTrack(@NonNull() TrackType type)

        Returns true if we can read the given track at this point.If true if returned, source should expect a readTrack call.

        Parameters:
        type - track type
      • readTrack

         void readTrack(@NonNull() DataSource.Chunk chunk)

        Called to read contents for the current track type.Contents should be put inside buffer, and theother chunk flags should be filled.

        Parameters:
        chunk - output chunk
      • getPositionUs

         long getPositionUs()

        Returns the current read position, between 0 and duration.

      • isDrained

         boolean isDrained()

        When this source has been totally read, it can return true here tonotify an end of input stream.