1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
<!--
$NCDId: @(#)AuElNEvt.man,v 1.1 1994/09/27 00:25:57 greg Exp $
copyright 1994 Steven King
portions are
* Copyright 1993 Network Computing Devices, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name Network Computing Devices, Inc. not be
* used in advertising or publicity pertaining to distribution of this
* software without specific, written prior permission.
*
* THIS SOFTWARE IS PROVIDED 'AS-IS'. NETWORK COMPUTING DEVICES, INC.,
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT
* LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL NETWORK
* COMPUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING
* SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE, DATA,
* OR PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND REGARDLESS OF
* WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
$Id: AuElementNotifyEvent.3.html 243 2007-04-07 23:13:43Z jon $
-->
<!-- manual page source format generated by PolyglotMan v3.0.8+X.Org, -->
<!-- available at http://polyglotman.sourceforge.net/ -->
<html>
<head>
<title>AuElementNotifyEvent(3) manual page</title>
</head>
<body bgcolor='#efefef' text='black' link='blue' vlink='#551A8B' alink='red'>
<a href='#toc'>Table of Contents</a><p>
<h2><a name='sect0' href='#toc0'><b>Name</b></a></h2>
<b>AuElementNotifyEvent</b> - element notify event
structure
<h2><a name='sect1' href='#toc1'><b>Structures</b></a></h2>
#include <audio/audiolib.h> <p>
typedef union _AuEvent <br>
{ <br>
. . .<br>
<br>
<b>AuElementNotifyEvent</b> <i>auelementnotify</i>;<br>
<br>
. . .<br>
<br>
}<b>AuEvent</b>; <p>
typedef struct _AuElementNotifyEvent <br>
{ <br>
int <i>type</i>;<br>
<br>
<b>AuUint32</b> <i>serial</i>;<br>
<br>
<b>AuBool</b> <i>send_event</i>;<br>
<br>
<b>AuServer</b> *<i>server</i>;<br>
<br>
<b>AuTime</b> <i>time</i>;<br>
<br>
<b>AuFlowID</b> <i>flow</i>;<br>
<br>
unsigned char <i>element_num</i>;<br>
<br>
unsigned char <i>kind</i>;<br>
<br>
unsigned char <i>prev_state</i>;<br>
<br>
unsigned char <i>cur_state</i>;<br>
<br>
unsigned char <i>reason</i>;<br>
<br>
<b>AuUint32</b> <i>num_bytes</i>;<br>
<br>
}<b>AuElementNotifyEvent</b>;
<h2><a name='sect2' href='#toc2'><b>Members</b></a></h2>
<dl>
<dt><i>type</i></dt>
<dd>The event type. ElementNotify events are
type <b>AuEventTypeElementNotify</b>. </dd>
<dt><i>serial</i></dt>
<dd>The serial ID of the event expanded
from the 16 bit value sent by the server. </dd>
<dt><i>send_event</i></dt>
<dd><b>AuTrue</b> if the event
came from a <b>SendEvent</b> protocol request. </dd>
<dt><i>server</i></dt>
<dd>The connection to the audio
server that the event was read from. </dd>
<dt><i>time</i></dt>
<dd>The server time in milliseconds
when the event was generated. </dd>
<dt><i>flow</i></dt>
<dd>The ID of the flow that caused the event.
</dd>
<dt><i>element_num</i></dt>
<dd>The index of the element that caused the event or <b>AuElementAll</b>
to indicate the flow. </dd>
<dt><i>kind</i></dt>
<dd>The kind of notify event. This will be one of these
constants: <b>AuElementNotifyKindLowWater</b>, <b>AuElementNotifyKindHighWater</b>, or
<b>AuElementNotifyKindState</b>. </dd>
<dt><i>prev_state</i></dt>
<dd>The previous state of the element indexed
by <i>element_num</i>. This will be one of these constants: <b>AuStateStop</b>, <b>AuStateStart</b>,
or <b>AuStatePause</b>. </dd>
<dt><i>cur_state</i></dt>
<dd>The current state of the element indexed by <i>element_num</i>.
This will be one of these constants: <b>AuStateStop</b>, <b>AuStateStart</b>, or <b>AuStatePause</b>.
</dd>
<dt><i>reason</i></dt>
<dd>The reason for the notify event. This will be one of these constants:
<b>AuReasonUser</b>, <b>AuReasonUnderrun</b>, <b>AuReasonOverrun</b>, <b>AuReasonEOF</b>, <b>AuReasonWatermark</b>,
or <b>AuReasonHardware</b>. </dd>
<dt><i>num_bytes</i></dt>
<dd>The number of bytes to send or receive. Only
valid if the the element indexed by <i>element_num</i> is an ImportClient or ExportClient.
</dd>
</dl>
<h2><a name='sect3' href='#toc3'><b>Description</b></a></h2>
ElementNotify events are sent to client applications to notify
them of a watermark condition or state change. If <i>kind</i> is <b>AuElementNotifyKindLowWater</b>,
the ImportClient element indexed by <i>element_num</i> in <i>flow</i> is ready to receive
<i>num_bytes</i> of audio data from the client application. If <i>kind</i> is <b>AuElementNotifyKindHighWater</b>,
the ExportClient element indexed by <i>element_num</i> in <i>flow</i> is ready to send
<i>num_bytes</i> of audio data to the client application. If <i>kind</i> is <b>AuElementNotifyKindState</b>,
the element indexed by <i>element_num</i> (or flow if <i>element_num</i> is <b>AuElementAll</b>)
has made a state transition from <i>prev_state</i> to <i>cur_state</i> triggering the
event. Reguardless of <i>kind</i>, <i>prev_state</i> and <i>cur_state</i> contain the old and
new states and <i>reason</i> contains the reason for the event.
<h2><a name='sect4' href='#toc4'><b>See Also</b></a></h2>
<b>AuAnyEvent</b>,
<b>AuErrorEvent</b>, <b>AuGrabNotifyEvent</b>, <b>AuMakeSendNotifyAction</b>, <b>AuMonitorNotifyEvent</b>.
<p>
audiolib - <b>Network Audio System</b> C Language Interface <p>
<hr><p>
<a name='toc'><b>Table of Contents</b></a><p>
<ul>
<li><a name='toc0' href='#sect0'>Name</a></li>
<li><a name='toc1' href='#sect1'>Structures</a></li>
<li><a name='toc2' href='#sect2'>Members</a></li>
<li><a name='toc3' href='#sect3'>Description</a></li>
<li><a name='toc4' href='#sect4'>See Also</a></li>
</ul>
</body>
</html>
|