Class FlacDecoder
java.lang.Object
net.avadeaux.klipspringer.decoder.FlacDecoder
- All Implemented Interfaces:
Closeable,AutoCloseable,AudioDecoder
Class that interfaces to FLAC library for decoding.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.avadeaux.klipspringer.decoder.AudioDecoder
AudioDecoder.Target -
Constructor Summary
ConstructorsConstructorDescriptionFlacDecoder(String fileName, AudioDecoder.Target target) Initiates decoder, including opening the file. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes decoder, releasing resources.booleandecodeAll(long fromSampleNo) Sends audio data to the target, one block at the time, starting from the given sample frame number (zero to start at the beginning).voidDecodes metadata and sends it to the target, without writing any blocks.booleanreusable()Always returns true, indicating that decodeAll can be called more than once, each time resetting the underlying input.
-
Constructor Details
-
FlacDecoder
Initiates decoder, including opening the file.- Throws:
IOException
-
-
Method Details
-
reusable
public boolean reusable()Always returns true, indicating that decodeAll can be called more than once, each time resetting the underlying input.- Specified by:
reusablein interfaceAudioDecoder
-
close
Description copied from interface:AudioDecoderCloses decoder, releasing resources. The decoder is automatically closed if decoding throws an exception. Closing on an already closed or terminated decoder has no effect.- Specified by:
closein interfaceAudioDecoder- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
decodeMetadata
Description copied from interface:AudioDecoderDecodes metadata and sends it to the target, without writing any blocks. Should be called at most once, and never after decodeAll. If not called, metadata gets sent to the target by decodeAll.- Specified by:
decodeMetadatain interfaceAudioDecoder- Throws:
IOException
-
decodeAll
Description copied from interface:AudioDecoderSends audio data to the target, one block at the time, starting from the given sample frame number (zero to start at the beginning). If decodeMetadata has not been called, metadata is sent to the target before the first block. Returns when the input is exhausted (in which case it returns true) or the target aborts decoding by returning false from write (in which case this method returns false). In either case, if this decoder isAudioDecoder.reusable(), decodeAll may be called again to decode the same input once more. It must not be called again if decoding has thrown an exception.- Specified by:
decodeAllin interfaceAudioDecoder- Throws:
IOException
-