YSHMOpenSound(3)
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) - /* 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);
- }