Class VorbisUtil
- java.lang.Object
-
- com.google.android.exoplayer2.extractor.VorbisUtil
-
@Deprecated public final class VorbisUtil 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.Utility methods for parsing Vorbis streams.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVorbisUtil.CommentHeaderDeprecated.Vorbis comment header.static classVorbisUtil.ModeDeprecated.Vorbis setup header modes.static classVorbisUtil.VorbisIdHeaderDeprecated.Vorbis identification header.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static intiLog(int x)Deprecated.Returns ilog(x), which is the index of the highest set bit inx.static MetadataparseVorbisComments(List<String> vorbisComments)Deprecated.Builds aMetadatainstance from a list of Vorbis Comments.static VorbisUtil.CommentHeaderreadVorbisCommentHeader(ParsableByteArray headerData)Deprecated.Reads a Vorbis comment header.static VorbisUtil.CommentHeaderreadVorbisCommentHeader(ParsableByteArray headerData, boolean hasMetadataHeader, boolean hasFramingBit)Deprecated.Reads a Vorbis comment header.static VorbisUtil.VorbisIdHeaderreadVorbisIdentificationHeader(ParsableByteArray headerData)Deprecated.Reads a Vorbis identification header fromheaderData.static VorbisUtil.Mode[]readVorbisModes(ParsableByteArray headerData, int channels)Deprecated.This method reads the modes which are located at the very end of the Vorbis setup header.static booleanverifyVorbisHeaderCapturePattern(int headerType, ParsableByteArray header, boolean quiet)Deprecated.Verifies whether the next bytes inheaderare a Vorbis header of the givenheaderType.
-
-
-
Method Detail
-
iLog
public static int iLog(int x)
Deprecated.Returns ilog(x), which is the index of the highest set bit inx.See the Vorbis spec
- Parameters:
x- the value of which the ilog should be calculated.- Returns:
- ilog(x)
-
readVorbisIdentificationHeader
public static VorbisUtil.VorbisIdHeader readVorbisIdentificationHeader(ParsableByteArray headerData) throws ParserException
Deprecated.Reads a Vorbis identification header fromheaderData.- Parameters:
headerData- aParsableByteArraywrapping the header data.- Returns:
- a
VorbisUtil.VorbisIdHeaderwith meta data. - Throws:
ParserException- thrown if invalid capture pattern is detected.
-
readVorbisCommentHeader
public static VorbisUtil.CommentHeader readVorbisCommentHeader(ParsableByteArray headerData) throws ParserException
Deprecated.Reads a Vorbis comment header.See the Vorbis spec/Comment header
- Parameters:
headerData- AParsableByteArraywrapping the header data.- Returns:
- A
VorbisUtil.CommentHeaderwith all the comments. - Throws:
ParserException- If an error occurs parsing the comment header.
-
readVorbisCommentHeader
public static VorbisUtil.CommentHeader readVorbisCommentHeader(ParsableByteArray headerData, boolean hasMetadataHeader, boolean hasFramingBit) throws ParserException
Deprecated.Reads a Vorbis comment header.The data provided may not contain the Vorbis metadata common header and the framing bit.
See the Vorbis spec/Comment header
- Parameters:
headerData- AParsableByteArraywrapping the header data.hasMetadataHeader- Whether theheaderDatacontains a Vorbis metadata common header preceding the comment header.hasFramingBit- Whether theheaderDatacontains a framing bit.- Returns:
- A
VorbisUtil.CommentHeaderwith all the comments. - Throws:
ParserException- If an error occurs parsing the comment header.
-
parseVorbisComments
@Nullable public static Metadata parseVorbisComments(List<String> vorbisComments)
Deprecated.Builds aMetadatainstance from a list of Vorbis Comments.METADATA_BLOCK_PICTURE comments will be transformed into
PictureFrameentries. All others will be transformed intoVorbisCommententries.- Parameters:
vorbisComments- The raw input of comments, as a key-value pair KEY=VAL.- Returns:
- The fully parsed Metadata instance. Null if no vorbis comments could be parsed.
-
verifyVorbisHeaderCapturePattern
public static boolean verifyVorbisHeaderCapturePattern(int headerType, ParsableByteArray header, boolean quiet) throws ParserExceptionDeprecated.Verifies whether the next bytes inheaderare a Vorbis header of the givenheaderType.- Parameters:
headerType- the type of the header expected.header- the alleged header bytes.quiet- iftrueno exceptions are thrown. Insteadfalseis returned.- Returns:
- the number of bytes read.
- Throws:
ParserException- thrown if header type or capture pattern is not as expected.
-
readVorbisModes
public static VorbisUtil.Mode[] readVorbisModes(ParsableByteArray headerData, int channels) throws ParserException
Deprecated.This method reads the modes which are located at the very end of the Vorbis setup header. That's why we need to partially decode or at least read the entire setup header to know where to start reading the modes.See the Vorbis spec/Setup header
- Parameters:
headerData- aParsableByteArraycontaining setup header data.channels- the number of channels.- Returns:
- an array of
VorbisUtil.Modes. - Throws:
ParserException- thrown if bit stream is invalid.
-
-