org.tritonus.lowlevel.alsa
Class AlsaPcm

java.lang.Object
  extended byorg.tritonus.lowlevel.alsa.AlsaPcm

public class AlsaPcm
extends Object

TODO:


Field Summary
static int SND_PCM_ACCESS_MMAP_COMPLEX
          mmap access with complex placement
static int SND_PCM_ACCESS_MMAP_INTERLEAVED
          mmap access with simple interleaved channels
static int SND_PCM_ACCESS_MMAP_NONINTERLEAVED
          mmap access with simple non interleaved channels
static int SND_PCM_ACCESS_RW_INTERLEAVED
          snd_pcm_readi/snd_pcm_writei access
static int SND_PCM_ACCESS_RW_NONINTERLEAVED
          snd_pcm_readn/snd_pcm_writen access
static int SND_PCM_FORMAT_A_LAW
           
static int SND_PCM_FORMAT_FLOAT_BE
           
static int SND_PCM_FORMAT_FLOAT_LE
           
static int SND_PCM_FORMAT_FLOAT64_BE
           
static int SND_PCM_FORMAT_FLOAT64_LE
           
static int SND_PCM_FORMAT_GSM
           
static int SND_PCM_FORMAT_IEC958_SUBFRAME_BE
           
static int SND_PCM_FORMAT_IEC958_SUBFRAME_LE
           
static int SND_PCM_FORMAT_IMA_ADPCM
           
static int SND_PCM_FORMAT_MPEG
           
static int SND_PCM_FORMAT_MU_LAW
           
static int SND_PCM_FORMAT_S16_BE
           
static int SND_PCM_FORMAT_S16_LE
           
static int SND_PCM_FORMAT_S24_BE
           
static int SND_PCM_FORMAT_S24_LE
           
static int SND_PCM_FORMAT_S32_BE
           
static int SND_PCM_FORMAT_S32_LE
           
static int SND_PCM_FORMAT_S8
           
static int SND_PCM_FORMAT_SPECIAL
           
static int SND_PCM_FORMAT_U16_BE
           
static int SND_PCM_FORMAT_U16_LE
           
static int SND_PCM_FORMAT_U24_BE
           
static int SND_PCM_FORMAT_U24_LE
           
static int SND_PCM_FORMAT_U32_BE
           
static int SND_PCM_FORMAT_U32_LE
           
static int SND_PCM_FORMAT_U8
           
static int SND_PCM_FORMAT_UNKNOWN
           
static int SND_PCM_START_DATA
          Automatic start on data read/write
static int SND_PCM_START_EXPLICIT
          Explicit start
static int SND_PCM_STATE_DRAINING
          Draining: running (playback) or stopped (capture)
static int SND_PCM_STATE_OPEN
          Open
static int SND_PCM_STATE_PAUSED
          Paused
static int SND_PCM_STATE_PREPARED
          Ready to start
static int SND_PCM_STATE_RUNNING
          Running
static int SND_PCM_STATE_SETUP
          Setup installed
static int SND_PCM_STATE_XRUN
          Stopped: underrun (playback) or overrun (capture) detected
static int SND_PCM_STREAM_CAPTURE
          Capture stream
static int SND_PCM_STREAM_PLAYBACK
           
static int SND_PCM_TSTAMP_MMAP
          Update mmap'ed timestamp
static int SND_PCM_TSTAMP_NONE
          No timestamp
static int SND_PCM_XRUN_NONE
          Xrun detection disabled
static int SND_PCM_XRUN_STOP
          Stop on xrun detection
 
Constructor Summary
AlsaPcm(String strPcmName, int nDirection, int nMode)
          For parameter documentation, see open().
 
Method Summary
 int close()
          Calls snd_pcm_close().
 int getAnyHWParams(AlsaPcmHWParams hwParams)
          Calls snd_pcm_hw_params_any().
 int getSWParams(AlsaPcmSWParams swParams)
           
 long readi(byte[] abBuffer, long lOffset, long lFrameCount)
           
 int setHWParams(AlsaPcmHWParams hwParams)
          Calls snd_pcm_hw_params().
 int setHWParamsAccess(AlsaPcmHWParams hwParams, int nAccess)
          Calls snd_pcm_hw_params_set_access().
 int setHWParamsBufferTimeNear(AlsaPcmHWParams hwParams, int nBufferTime)
          Calls snd_pcm_hw_params_set_buffer_time_near().
 int setHWParamsChannels(AlsaPcmHWParams hwParams, int nChannels)
          Calls snd_pcm_hw_params_set_channels().
 int setHWParamsFormat(AlsaPcmHWParams hwParams, int nFormat)
          Calls snd_pcm_hw_params_set_format().
 int setHWParamsFormatMask(AlsaPcmHWParams hwParams, AlsaPcmHWParamsFormatMask mask)
          Calls snd_pcm_hw_params_set_format_mask().
 int setHWParamsPeriodTimeNear(AlsaPcmHWParams hwParams, int nPeriodTime)
          Calls snd_pcm_hw_params_set_period_time_near().
 int setHWParamsRateNear(AlsaPcmHWParams hwParams, int nRate)
          Calls snd_pcm_hw_params_set_rate_near().
 int setSWParams(AlsaPcmSWParams swParams)
           
 int setSWParamsAvailMin(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsSilenceSize(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsSilenceThreshold(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsSleepMin(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsStartMode(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsStartThreshold(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsStopThreshold(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsTStampMode(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsXferAlign(AlsaPcmSWParams swParams, int n)
           
 int setSWParamsXrunMode(AlsaPcmSWParams swParams, int n)
           
static void setTrace(boolean bTrace)
           
 long writei(byte[] abBuffer, long lOffset, long lFrameCount)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SND_PCM_STREAM_PLAYBACK

public static final int SND_PCM_STREAM_PLAYBACK
See Also:
Constant Field Values

SND_PCM_STREAM_CAPTURE

public static final int SND_PCM_STREAM_CAPTURE
Capture stream

See Also:
Constant Field Values

SND_PCM_ACCESS_MMAP_INTERLEAVED

public static final int SND_PCM_ACCESS_MMAP_INTERLEAVED
mmap access with simple interleaved channels

See Also:
Constant Field Values

SND_PCM_ACCESS_MMAP_NONINTERLEAVED

public static final int SND_PCM_ACCESS_MMAP_NONINTERLEAVED
mmap access with simple non interleaved channels

See Also:
Constant Field Values

SND_PCM_ACCESS_MMAP_COMPLEX

public static final int SND_PCM_ACCESS_MMAP_COMPLEX
mmap access with complex placement

See Also:
Constant Field Values

SND_PCM_ACCESS_RW_INTERLEAVED

public static final int SND_PCM_ACCESS_RW_INTERLEAVED
snd_pcm_readi/snd_pcm_writei access

See Also:
Constant Field Values

SND_PCM_ACCESS_RW_NONINTERLEAVED

public static final int SND_PCM_ACCESS_RW_NONINTERLEAVED
snd_pcm_readn/snd_pcm_writen access

See Also:
Constant Field Values

SND_PCM_FORMAT_UNKNOWN

public static final int SND_PCM_FORMAT_UNKNOWN
See Also:
Constant Field Values

SND_PCM_FORMAT_S8

public static final int SND_PCM_FORMAT_S8
See Also:
Constant Field Values

SND_PCM_FORMAT_U8

public static final int SND_PCM_FORMAT_U8
See Also:
Constant Field Values

SND_PCM_FORMAT_S16_LE

public static final int SND_PCM_FORMAT_S16_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_S16_BE

public static final int SND_PCM_FORMAT_S16_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_U16_LE

public static final int SND_PCM_FORMAT_U16_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_U16_BE

public static final int SND_PCM_FORMAT_U16_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_S24_LE

public static final int SND_PCM_FORMAT_S24_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_S24_BE

public static final int SND_PCM_FORMAT_S24_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_U24_LE

public static final int SND_PCM_FORMAT_U24_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_U24_BE

public static final int SND_PCM_FORMAT_U24_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_S32_LE

public static final int SND_PCM_FORMAT_S32_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_S32_BE

public static final int SND_PCM_FORMAT_S32_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_U32_LE

public static final int SND_PCM_FORMAT_U32_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_U32_BE

public static final int SND_PCM_FORMAT_U32_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_FLOAT_LE

public static final int SND_PCM_FORMAT_FLOAT_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_FLOAT_BE

public static final int SND_PCM_FORMAT_FLOAT_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_FLOAT64_LE

public static final int SND_PCM_FORMAT_FLOAT64_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_FLOAT64_BE

public static final int SND_PCM_FORMAT_FLOAT64_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_IEC958_SUBFRAME_LE

public static final int SND_PCM_FORMAT_IEC958_SUBFRAME_LE
See Also:
Constant Field Values

SND_PCM_FORMAT_IEC958_SUBFRAME_BE

public static final int SND_PCM_FORMAT_IEC958_SUBFRAME_BE
See Also:
Constant Field Values

SND_PCM_FORMAT_MU_LAW

public static final int SND_PCM_FORMAT_MU_LAW
See Also:
Constant Field Values

SND_PCM_FORMAT_A_LAW

public static final int SND_PCM_FORMAT_A_LAW
See Also:
Constant Field Values

SND_PCM_FORMAT_IMA_ADPCM

public static final int SND_PCM_FORMAT_IMA_ADPCM
See Also:
Constant Field Values

SND_PCM_FORMAT_MPEG

public static final int SND_PCM_FORMAT_MPEG
See Also:
Constant Field Values

SND_PCM_FORMAT_GSM

public static final int SND_PCM_FORMAT_GSM
See Also:
Constant Field Values

SND_PCM_FORMAT_SPECIAL

public static final int SND_PCM_FORMAT_SPECIAL
See Also:
Constant Field Values

SND_PCM_STATE_OPEN

public static final int SND_PCM_STATE_OPEN
Open

See Also:
Constant Field Values

SND_PCM_STATE_SETUP

public static final int SND_PCM_STATE_SETUP
Setup installed

See Also:
Constant Field Values

SND_PCM_STATE_PREPARED

public static final int SND_PCM_STATE_PREPARED
Ready to start

See Also:
Constant Field Values

SND_PCM_STATE_RUNNING

public static final int SND_PCM_STATE_RUNNING
Running

See Also:
Constant Field Values

SND_PCM_STATE_XRUN

public static final int SND_PCM_STATE_XRUN
Stopped: underrun (playback) or overrun (capture) detected

See Also:
Constant Field Values

SND_PCM_STATE_DRAINING

public static final int SND_PCM_STATE_DRAINING
Draining: running (playback) or stopped (capture)

See Also:
Constant Field Values

SND_PCM_STATE_PAUSED

public static final int SND_PCM_STATE_PAUSED
Paused

See Also:
Constant Field Values

SND_PCM_START_DATA

public static final int SND_PCM_START_DATA
Automatic start on data read/write

See Also:
Constant Field Values

SND_PCM_START_EXPLICIT

public static final int SND_PCM_START_EXPLICIT
Explicit start

See Also:
Constant Field Values

SND_PCM_XRUN_NONE

public static final int SND_PCM_XRUN_NONE
Xrun detection disabled

See Also:
Constant Field Values

SND_PCM_XRUN_STOP

public static final int SND_PCM_XRUN_STOP
Stop on xrun detection

See Also:
Constant Field Values

SND_PCM_TSTAMP_NONE

public static final int SND_PCM_TSTAMP_NONE
No timestamp

See Also:
Constant Field Values

SND_PCM_TSTAMP_MMAP

public static final int SND_PCM_TSTAMP_MMAP
Update mmap'ed timestamp

See Also:
Constant Field Values
Constructor Detail

AlsaPcm

public AlsaPcm(String strPcmName,
               int nDirection,
               int nMode)
        throws Exception
For parameter documentation, see open().

Throws:
Exception
Method Detail

close

public int close()
Calls snd_pcm_close().


getAnyHWParams

public int getAnyHWParams(AlsaPcmHWParams hwParams)
Calls snd_pcm_hw_params_any().


setHWParamsAccess

public int setHWParamsAccess(AlsaPcmHWParams hwParams,
                             int nAccess)
Calls snd_pcm_hw_params_set_access().


setHWParamsFormat

public int setHWParamsFormat(AlsaPcmHWParams hwParams,
                             int nFormat)
Calls snd_pcm_hw_params_set_format().


setHWParamsFormatMask

public int setHWParamsFormatMask(AlsaPcmHWParams hwParams,
                                 AlsaPcmHWParamsFormatMask mask)
Calls snd_pcm_hw_params_set_format_mask().


setHWParamsChannels

public int setHWParamsChannels(AlsaPcmHWParams hwParams,
                               int nChannels)
Calls snd_pcm_hw_params_set_channels().


setHWParamsRateNear

public int setHWParamsRateNear(AlsaPcmHWParams hwParams,
                               int nRate)
Calls snd_pcm_hw_params_set_rate_near().


setHWParamsBufferTimeNear

public int setHWParamsBufferTimeNear(AlsaPcmHWParams hwParams,
                                     int nBufferTime)
Calls snd_pcm_hw_params_set_buffer_time_near().


setHWParamsPeriodTimeNear

public int setHWParamsPeriodTimeNear(AlsaPcmHWParams hwParams,
                                     int nPeriodTime)
Calls snd_pcm_hw_params_set_period_time_near().


setHWParams

public int setHWParams(AlsaPcmHWParams hwParams)
Calls snd_pcm_hw_params().


getSWParams

public int getSWParams(AlsaPcmSWParams swParams)

setSWParamsStartMode

public int setSWParamsStartMode(AlsaPcmSWParams swParams,
                                int n)

setSWParamsXrunMode

public int setSWParamsXrunMode(AlsaPcmSWParams swParams,
                               int n)

setSWParamsTStampMode

public int setSWParamsTStampMode(AlsaPcmSWParams swParams,
                                 int n)

setSWParamsSleepMin

public int setSWParamsSleepMin(AlsaPcmSWParams swParams,
                               int n)

setSWParamsAvailMin

public int setSWParamsAvailMin(AlsaPcmSWParams swParams,
                               int n)

setSWParamsXferAlign

public int setSWParamsXferAlign(AlsaPcmSWParams swParams,
                                int n)

setSWParamsStartThreshold

public int setSWParamsStartThreshold(AlsaPcmSWParams swParams,
                                     int n)

setSWParamsStopThreshold

public int setSWParamsStopThreshold(AlsaPcmSWParams swParams,
                                    int n)

setSWParamsSilenceThreshold

public int setSWParamsSilenceThreshold(AlsaPcmSWParams swParams,
                                       int n)

setSWParamsSilenceSize

public int setSWParamsSilenceSize(AlsaPcmSWParams swParams,
                                  int n)

setSWParams

public int setSWParams(AlsaPcmSWParams swParams)

writei

public long writei(byte[] abBuffer,
                   long lOffset,
                   long lFrameCount)
Parameters:
lOffset - Offset where the data should be read from the buffer, in bytes.
lFrameCount - Length of the data to write, in number of PCM frames.

readi

public long readi(byte[] abBuffer,
                  long lOffset,
                  long lFrameCount)

setTrace

public static void setTrace(boolean bTrace)