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 class
FlacMetadataReader.FlacStreamMetadataHolder
Deprecated.Holds aFlacStreamMetadata
.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static boolean
checkAndPeekStreamMarker(ExtractorInput input)
Deprecated.Peeks the FLAC stream marker.static int
getFrameStartMarker(ExtractorInput input)
Deprecated.Returns the frame start marker, consisting of the 2 first bytes of the first frame.static Metadata
peekId3Metadata(ExtractorInput input, boolean parseData)
Deprecated.Peeks ID3 Data.static Metadata
readId3Metadata(ExtractorInput input, boolean parseData)
Deprecated.Reads ID3 Data.static boolean
readMetadataBlock(ExtractorInput input, FlacMetadataReader.FlacStreamMetadataHolder metadataHolder)
Deprecated.Reads one FLAC metadata block.static FlacStreamMetadata.SeekTable
readSeekTableMetadataBlock(ParsableByteArray data)
Deprecated.Reads a FLAC seek table metadata block.static void
readStreamMarker(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
null
if there is no such data or ifparseData
isfalse
. - 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
input
is 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
null
if there is no such data or ifparseData
isfalse
. - 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 ofinput
is advanced byFlacConstants.STREAM_MARKER_SIZE
bytes.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
input
is 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 inmetadataHolder
isnull
. 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
data
is 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
input
is 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.
-
-