javaFlacEncoder
Class Subframe_Verbatim

java.lang.Object
  extended by javaFlacEncoder.Subframe
      extended by javaFlacEncoder.Subframe_Verbatim

public class Subframe_Verbatim
extends Subframe

Implements the Subframe abstract class, providing encoding support for the FLAC Verbatim Subframe.

Author:
Preston Lacey

Field Summary
static int DEBUG_LEV
          For debugging: Higher value equals more output, typically by increments of 10
static EncodingConfiguration.SubframeType type
          Subframe type supported by this implementation.
 
Fields inherited from class javaFlacEncoder.Subframe
ec, lastEncodedSize, sc
 
Method Summary
 int encodeSamples(int[] samples, int count, int start, int skip, EncodedElement data, int offset, int bitsPerSample)
          Encodes samples into the appropriate compressed format, saving the result in the given “data” EncodedElement list.
 int estimateSize(int count, int bitsPerSample)
           
 boolean registerConfiguration(EncodingConfiguration ec)
          This method is used to set the encoding configuration.
 
Methods inherited from class javaFlacEncoder.Subframe
getEncodedSize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG_LEV

public static int DEBUG_LEV
For debugging: Higher value equals more output, typically by increments of 10


type

public static final EncodingConfiguration.SubframeType type
Subframe type supported by this implementation.

Method Detail

registerConfiguration

public boolean registerConfiguration(EncodingConfiguration ec)
This method is used to set the encoding configuration.

Overrides:
registerConfiguration in class Subframe
Parameters:
ec - encoding configuration to use.
Returns:
true if configuration was changed, false otherwise

estimateSize

public int estimateSize(int count,
                        int bitsPerSample)

encodeSamples

public int encodeSamples(int[] samples,
                         int count,
                         int start,
                         int skip,
                         EncodedElement data,
                         int offset,
                         int bitsPerSample)
Description copied from class: Subframe
Encodes samples into the appropriate compressed format, saving the result in the given “data” EncodedElement list. Encodes 'count' samples, from index 'start', to index 'start' times 'skip', where “skip” is the format that samples may be packed in an array. For example, 'samples' may include both left and right samples of a stereo stream, while this SubFrame is only encoding the 'right' channel(channel 2). Therefore, “skip” would equal 2, resulting in the valid indices being only those where “index mod 2 equals 1”.

Specified by:
encodeSamples in class Subframe
Parameters:
samples - the audio samples to encode. This array may contain samples for multiple channels, interleaved; only one of these channels is encoded by a subframe.
count - the number of samples to encode.
start - the index to start at in the array.
skip - the number of indices to skip between successive samples (for use when channels are interleaved in the given array).
data - the EncodedElement to attach encoded data to. Data in EncodedElement given is not altered. New data is attached starting with “data.getNext()”. If “data” already has a “next” set, it will be lost!
bitsPerSample - Number of bits per single-channel sample. This may differ from the StreamConfiguration's sample size, depending on the subframe used(i.e, the "side-channel" of a FLAC stream uses one extra bit compared to the input channels).
Returns:
number of encoded samples, or negative value indicating an error has occurred.