Man Linux: Main Page and Category List

NAME

       YSHMOpenSound - shared sound buffer opening

SYNTAX

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

       void *YSHMOpenSound(
               YConnection *connection,
               int *length,
               int *id
       )

ARGUMENTS

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

       length Returns the length of the sound buffer in bytes.

       id     Returns the shared memory id of the sound buffer.

DESCRIPTION

       The YSHMOpenSound obtains a direct pointer to the sound buffer on the Y
       server.  The  returned  buffer  must  be  deallocated  with  a  call to
       YSHMCloseSound.

       If you  receive  a  YSHMSound  event  with  the  minor_op_code  set  to
       YSHMSoundClose  then  the  pointer  to  the  sound buffer obtained from
       YSHMOpenSound is no longer referenced  by  the  Y  server  and  is  now
       useless.  You  need  to reopen the buffer by calling YSHMCloseSound and
       then YSHMOpenSound to reobtain the direct pointer to the  sound  buffer
       on the Y server.

       The  process  of  the client and the server must both be running on the
       same physical machine.

RETURN VALUE

       The YSHMSoundOpen returns a direct pointer to the sound buffer on the Y
       server or NULL on error.

EXAMPLE

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

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

               /* Obtain the pointer to the sound buffer. */
               buf = YSHMOpenSound(con, &length, &id);
               if(buf != NULL)
               {
                       /* Do something with the buffer here. */

                       /* Close the pointer to the sound buffer. */
                       YSHMCloseSound(con, buf);
               }

               YCloseConnection(con, False);

               return(0);
       }

SEE ALSO

       YSHMCloseSound(3) YEventYSHMSound(3)