Man Linux: Main Page and Category List

NAME

       YSetAudioModeValues - Audio values setting

SYNTAX

       #include <Y2/Y.h>
       #include <Y2/Ylib.h>

       int YSetAudioModeValues(
               YConnection *connection,
               int sample_size,
               int channels,
               int sample_rate,
               int direction,
               int allow_fragmenting,
               int num_fragments,
               int fragment_size
       )

ARGUMENTS

       connection
              Specifies  the connection to the Y server, obtained by a call to
              YOpenConnection.

       sample_size
              Specifies the sample size in bits, valid values are 8 or 16.

       channels
              Specifies the number of channels,  valid  values  are  1  or  2.
              (mono and stereo respectivly).

       sample_rate
              Specifies  the  same  rate  in Hz. Setting this value to 0 has a
              special meaning (see description farther below).

       direction
              Specifies to play or record, 0 for play and 1 for record.   Note
              that  record  has not been fully implmented yet as of Y2, most Y
              servers do not support it!

       allow_fragmenting
              Specifies whether to allow fragmenting of buffers  (this  is  an
              OSS compliancy option). This should always be set to 1 (true) to
              comply with OSS.

       num_fragments
              Specifies the number of buffer fragments, a value of  2  is  the
              default.

       fragment_size
              Specifies the size of each buffer fragment in bytes.

DESCRIPTION

       Audio to the values specified. Any sound objects currently being played
       will be killed and the owning Y clients will be notified.

       If sample_rate is set to 0, then the  recorder  will  be  shelled  out.
       Allowing  other  direct  programs  to  use  the recorder’s devices (DSP
       device, mixer, etc).  Y clients will not notice any differance,  the  Y
       server  will  emulate  (but  not  actually  perform)  normal operations
       (including the playing of sound objects).

       To  unshell  the   recorder,   simply   call   YSetAudioModeValues   or
       YChangeAudioModePreset with valid values.

RETURN VALUE

       The YSetAudioModeValues function returns -1 on error/invalid value or 0
       on success.

EXAMPLE

       #include <stdio.h>
       #include <Y2/Y.h>
       #include <Y2/Ylib.h>

       int main(int argc, char *argv[])
       {
               YConnection *con = YOpenConnection(
                       "/usr/sbin/starty",
                       "127.0.0.1:9433"
               );
               if(con == NULL)
                       return(1);

               if(YSetAudioModeValues(
                       con,     /* Connection. */
                       8,       /* Sample size. */
                       2,       /* Channels. */
                       11025,   /* Sample rate. */
                       0,       /* Play. */
                       True,    /* Allow fragmenting. */
                       2,       /* Number of buf frags. */
                       1024     /* Buffer frag size in bytes. */
               ))
                       printf("Failed.\n");
               else
                       printf("Success.\n");

               YCloseConnection(con, False);

               return(0);
       }

SEE ALSO

       YChangeAudioModePreset(3) YGetAudioStats(3)