Class FlacMetadataReader
- java.lang.Object
-
- com.google.android.exoplayer2.extractor.FlacMetadataReader
-
@Deprecated public final class FlacMetadataReader extends Object
Deprecated.com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.Reads and peeks FLAC stream metadata elements according to the FLAC format specification.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFlacMetadataReader.FlacStreamMetadataHolderDeprecated.Holds aFlacStreamMetadata.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static booleancheckAndPeekStreamMarker(ExtractorInput input)Deprecated.Peeks the FLAC stream marker.static intgetFrameStartMarker(ExtractorInput input)Deprecated.Returns the frame start marker, consisting of the 2 first bytes of the first frame.static MetadatapeekId3Metadata(ExtractorInput input, boolean parseData)Deprecated.Peeks ID3 Data.static MetadatareadId3Metadata(ExtractorInput input, boolean parseData)Deprecated.Reads ID3 Data.static booleanreadMetadataBlock(ExtractorInput input, FlacMetadataReader.FlacStreamMetadataHolder metadataHolder)Deprecated.Reads one FLAC metadata block.static FlacStreamMetadata.SeekTablereadSeekTableMetadataBlock(ParsableByteArray data)Deprecated.Reads a FLAC seek table metadata block.static voidreadStreamMarker(ExtractorInput input)Deprecated.Reads the FLAC stream marker.
-
-
-
Method Detail
-
peekId3Metadata
@Nullable public static Metadata peekId3Metadata(ExtractorInput input, boolean parseData) throws IOException
Deprecated.Peeks ID3 Data.- Parameters:
input- Input stream to peek the ID3 data from.parseData- Whether to parse the ID3 frames.- Returns:
- The parsed ID3 data, or
nullif there is no such data or ifparseDataisfalse. - Throws:
IOException- If peeking from the input fails. In this case, there is no guarantee on the peek position.
-
checkAndPeekStreamMarker
public static boolean checkAndPeekStreamMarker(ExtractorInput input) throws IOException
Deprecated.Peeks the FLAC stream marker.- Parameters:
input- Input stream to peek the stream marker from.- Returns:
- Whether the data peeked is the FLAC stream marker.
- Throws:
IOException- If peeking from the input fails. In this case, the peek position is left unchanged.
-
readId3Metadata
@Nullable public static Metadata readId3Metadata(ExtractorInput input, boolean parseData) throws IOException
Deprecated.Reads ID3 Data.If no exception is thrown, the peek position of
inputis aligned with the read position.- Parameters:
input- Input stream to read the ID3 data from.parseData- Whether to parse the ID3 frames.- Returns:
- The parsed ID3 data, or
nullif there is no such data or ifparseDataisfalse. - Throws:
IOException- If reading from the input fails. In this case, the read position is left unchanged and there is no guarantee on the peek position.
-
readStreamMarker
public static void readStreamMarker(ExtractorInput input) throws IOException
Deprecated.Reads the FLAC stream marker.- Parameters:
input- Input stream to read the stream marker from.- Throws:
ParserException- If an error occurs parsing the stream marker. In this case, the position ofinputis advanced byFlacConstants.STREAM_MARKER_SIZEbytes.IOException- If reading from the input fails. In this case, the position is left unchanged.
-
readMetadataBlock
public static boolean readMetadataBlock(ExtractorInput input, FlacMetadataReader.FlacStreamMetadataHolder metadataHolder) throws IOException
Deprecated.Reads one FLAC metadata block.If no exception is thrown, the peek position of
inputis aligned with the read position.- Parameters:
input- Input stream to read the metadata block from (header included).metadataHolder- A holder for the metadata read. If the stream info block (which must be the first metadata block) is read, the holder contains a new instance representing the stream info data. If the block read is a Vorbis comment block or a picture block, the holder contains a copy of the existing stream metadata with the corresponding metadata added. Otherwise, the metadata in the holder is unchanged.- Returns:
- Whether the block read is the last metadata block.
- Throws:
IllegalArgumentException- If the block read is not a stream info block and the metadata inmetadataHolderisnull. In this case, the read position will be at the start of a metadata block and there is no guarantee on the peek position.IOException- If reading from the input fails. In this case, the read position will be at the start of a metadata block and there is no guarantee on the peek position.
-
readSeekTableMetadataBlock
public static FlacStreamMetadata.SeekTable readSeekTableMetadataBlock(ParsableByteArray data)
Deprecated.Reads a FLAC seek table metadata block.The position of
datais moved to the byte following the seek table metadata block (placeholder points included).- Parameters:
data- The array to read the data from, whose position must correspond to the seek table metadata block (header included).- Returns:
- The seek table, without the placeholder points.
-
getFrameStartMarker
public static int getFrameStartMarker(ExtractorInput input) throws IOException
Deprecated.Returns the frame start marker, consisting of the 2 first bytes of the first frame.The read position of
inputis left unchanged and the peek position is aligned with the read position.- Parameters:
input- Input stream to get the start marker from (starting from the read position).- Returns:
- The frame start marker (which must be the same for all the frames in the stream).
- Throws:
ParserException- If an error occurs parsing the frame start marker.IOException- If peeking from the input fails.
-
-