Package 

Class DefaultDataSource

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

    
    public abstract class DefaultDataSource
     implements DataSource
                        

    A DataSource implementation that uses Android's Media APIs.

    • Method Summary

      Modifier and Type Method Description
      void initialize()
      void deinitialize()
      boolean isInitialized()
      void selectTrack(@NonNull() TrackType type) Called before starting, but after getTrackFormat,to select the given track.
      void releaseTrack(@NonNull() TrackType type) Called to release resources for a given track.
      long seekTo(long desiredPositionUs) Moves all selected tracks to the specified presentation time.
      boolean isDrained() When this source has been totally read, it can return true here tonotify an end of input stream.
      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.
      Array<double> getLocation() Metadata information.
      int getOrientation() 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.
      • 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

      • 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
      • isDrained

         boolean isDrained()

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

      • 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.

      • getOrientation

         int getOrientation()

        Metadata information. Returns the video orientation, or 0.

      • getDurationUs

         long getDurationUs()

        Returns the video total duration in microseconds.