-
- 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 intgetOrientation()Metadata information. Array<double>getLocation()Metadata information. longgetDurationUs()Returns the video total duration in microseconds. MediaFormatgetTrackFormat(@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. voidselectTrack(@NonNull() TrackType type)Called before starting, but after getTrackFormat,to select the given track. longseekTo(long desiredPositionUs)Moves all selected tracks to the specified presentation time. booleancanReadTrack(@NonNull() TrackType type)Returns true if we can read the given track at this point. voidreadTrack(@NonNull() DataSource.Chunk chunk)Called to read contents for the current track type. longgetPositionUs()Returns the current read position, between 0 and duration. booleanisDrained()When this source has been totally read, it can return true here tonotify an end of input stream. voidreleaseTrack(@NonNull() TrackType type)Called to release resources for a given track. booleanisInitialized()voidinitialize()voiddeinitialize()-
-
Method Detail
-
getOrientation
int getOrientation()
Metadata information. Returns the video orientation, or 0.
-
getLocation
@Nullable() Array<double> getLocation()
Metadata information. Returns the video location, or null.
-
getDurationUs
long getDurationUs()
Returns the video total duration in microseconds.
-
getTrackFormat
@Nullable() 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.
- Parameters:
type- track type
-
selectTrack
void selectTrack(@NonNull() TrackType type)
Called before starting, but after getTrackFormat,to select the given track.
- Parameters:
type- track type
-
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.
-
releaseTrack
void releaseTrack(@NonNull() TrackType type)
Called to release resources for a given track.
- Parameters:
type- track type
-
isInitialized
boolean isInitialized()
-
initialize
void initialize()
-
deinitialize
void deinitialize()
-
-
-
-