1
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
3
File: oct6100_playout_buf_priv.h
5
Copyright (c) 2001-2006 Octasic Inc.
9
File containing all private defines, macros, structures and prototypes
10
pertaining to the file oct6100_playout_buf.c. All elements defined in this
11
file are for private usage of the API. All public elements are defined
12
in the oct6100_playout_buf_pub.h file.
14
This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API is
15
free software; you can redistribute it and/or modify it under the terms of
16
the GNU General Public License as published by the Free Software Foundation;
17
either version 2 of the License, or (at your option) any later version.
19
The OCT6100 GPL API is distributed in the hope that it will be useful, but
20
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24
You should have received a copy of the GNU General Public License
25
along with the OCT6100 GPL API; if not, write to the Free Software
26
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
28
$Octasic_Release: OCT612xAPI-01.00-PR43 $
30
$Octasic_Revision: 22 $
32
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
34
#ifndef __OCT6100_PLAYOUT_BUF_PRIV_H__
35
#define __OCT6100_PLAYOUT_BUF_PRIV_H__
37
/***************************** INCLUDE FILES *******************************/
39
/***************************** DEFINES *************************************/
41
/* Playout buffer list pointer macros. */
42
#define mOCT6100_GET_BUFFER_LIST_PNT( pSharedInfo, pList ) \
43
pList = ( tPOCT6100_API_BUFFER )(( PUINT8 )pSharedInfo + pSharedInfo->ulPlayoutBufListOfst );
45
#define mOCT6100_GET_BUFFER_ENTRY_PNT( pSharedInfo, pEntry, ulIndex ) \
46
pEntry = (( tPOCT6100_API_BUFFER )(( PUINT8 )pSharedInfo + pSharedInfo->ulPlayoutBufListOfst)) + ulIndex;
48
#define mOCT6100_GET_BUFFER_ALLOC_PNT( pSharedInfo, pAlloc ) \
49
pAlloc = ( PVOID )(( PUINT8 )pSharedInfo + pSharedInfo->ulPlayoutBufAllocOfst);
51
/***************************** TYPES ***************************************/
54
/************************** FUNCTION PROTOTYPES *****************************/
56
UINT32 Oct6100ApiGetPlayoutBufferSwSizes(
57
IN tPOCT6100_CHIP_OPEN f_pOpenChip,
58
OUT tPOCT6100_API_INSTANCE_SIZES f_pInstSizes );
60
UINT32 Oct6100ApiPlayoutBufferSwInit(
61
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
63
UINT32 Oct6100BufferLoadSer(
64
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
65
IN OUT tPOCT6100_BUFFER_LOAD f_pBufferLoad,
66
IN BOOL f_fReserveListStruct,
67
IN UINT32 f_ulBufIndex );
69
UINT32 Oct6100BufferLoadBlockInitSer(
70
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
71
IN OUT tPOCT6100_BUFFER_LOAD_BLOCK_INIT f_pBufferLoadBlockInit );
73
UINT32 Oct6100BufferLoadBlockSer(
74
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
75
IN OUT tPOCT6100_BUFFER_LOAD_BLOCK f_pBufferLoadBlock );
77
UINT32 Oct6100ApiCheckBufferParams(
78
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
79
IN tPOCT6100_BUFFER_LOAD f_pBufferLoad,
80
IN BOOL f_fCheckBufferPtr );
82
UINT32 Oct6100ApiCheckBufferLoadBlockParams(
83
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
84
IN tPOCT6100_BUFFER_LOAD_BLOCK f_pBufferLoadBlock,
85
OUT PUINT32 f_pulBufferBase );
87
UINT32 Oct6100ApiReserveBufferResources(
88
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
89
IN tPOCT6100_BUFFER_LOAD f_pBufferLoad,
90
IN BOOL f_fReserveListStruct,
91
IN UINT32 f_ulBufIndex,
92
OUT PUINT32 f_pulBufIndex,
93
OUT PUINT32 f_pulBufBase );
95
UINT32 Oct6100ApiWriteBufferInMemory(
96
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
97
IN UINT32 f_ulBufferBase,
98
IN UINT32 f_ulBufferLength,
99
IN PUINT8 f_pbyBuffer );
101
UINT32 Oct6100ApiUpdateBufferEntry(
102
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
103
IN OUT tPOCT6100_BUFFER_LOAD f_pBufferLoad,
104
IN UINT32 f_ulBufIndex,
105
IN UINT32 f_ulBufBase );
107
UINT32 Oct6100BufferUnloadSer(
108
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
109
IN OUT tPOCT6100_BUFFER_UNLOAD f_pBufferUnload,
110
IN BOOL f_fReleaseListStruct );
112
UINT32 Oct6100ApiAssertBufferParams(
113
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
114
IN tPOCT6100_BUFFER_UNLOAD f_pBufferUnload,
115
OUT PUINT32 f_pulBufIndex,
116
OUT PUINT32 f_pulBufBase );
118
UINT32 Oct6100ApiReleaseBufferResources(
119
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
120
IN UINT32 f_ulBufIndex,
121
IN UINT32 f_ulBufBase,
122
IN BOOL f_fReleaseListStruct );
124
UINT32 Oct6100BufferPlayoutAddSer(
125
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
126
IN OUT tPOCT6100_BUFFER_PLAYOUT_ADD f_pBufferPlayoutAdd );
128
UINT32 Oct6100ApiCheckPlayoutAddParams(
129
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
130
IN tPOCT6100_BUFFER_PLAYOUT_ADD f_pBufferPlayoutAdd,
131
OUT PUINT32 f_pulChannelIndex,
132
OUT PUINT32 f_pulBufferIndex );
134
UINT32 Oct6100ApiWriteBufferAddStructs(
135
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
136
IN tPOCT6100_BUFFER_PLAYOUT_ADD f_pBufferPlayoutAdd,
137
IN UINT32 f_ulChannelIndex,
138
IN UINT32 f_ulBufferIndex );
140
UINT32 Oct6100BufferPlayoutStartSer(
141
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
142
IN OUT tPOCT6100_BUFFER_PLAYOUT_START f_pBufferPlayoutStart,
143
IN UINT32 f_ulPlayoutStopEventType );
145
UINT32 Oct6100ApiCheckPlayoutStartParams(
146
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
147
IN tPOCT6100_BUFFER_PLAYOUT_START f_pBufferPlayoutStart,
148
OUT PUINT32 f_pulChannelIndex,
149
OUT PUINT32 f_pulBufferIndex,
150
OUT PBOOL f_pfNotifyOnPlayoutStop,
151
OUT PUINT32 f_pulUserEventId,
152
OUT PBOOL f_pfAllowStartIfActive );
154
UINT32 Oct6100ApiWriteChanPlayoutStructs(
155
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
156
IN tPOCT6100_BUFFER_PLAYOUT_START f_pBufferPlayoutStart,
157
IN UINT32 f_ulChannelIndex,
158
IN UINT32 f_ulBufferIndex,
159
IN BOOL f_fNotifyOnPlayoutStop,
160
IN UINT32 f_ulUserEventId,
161
IN BOOL f_fAllowStartIfActive,
162
IN UINT32 f_ulPlayoutStopEventType );
164
UINT32 Oct6100ApiUpdateChanPlayoutEntry (
165
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
166
IN tPOCT6100_BUFFER_PLAYOUT_START f_pBufferPlayoutStart,
167
IN UINT32 f_ulChannelIndex,
168
IN UINT32 f_ulBufferIndex );
170
UINT32 Oct6100BufferPlayoutStopSer(
171
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
172
IN OUT tPOCT6100_BUFFER_PLAYOUT_STOP f_pBufferPlayoutStop );
174
UINT32 Oct6100ApiAssertPlayoutStopParams(
175
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
176
IN tPOCT6100_BUFFER_PLAYOUT_STOP f_pBufferPlayoutStop,
177
OUT PUINT32 f_pulChannelIndex,
178
OUT PUINT16 f_pusEchoMemIndex );
180
UINT32 Oct6100ApiInvalidateChanPlayoutStructs(
181
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
182
IN tPOCT6100_BUFFER_PLAYOUT_STOP f_pBufferPlayoutStop,
183
IN UINT32 f_ulChannelIndex,
184
IN UINT16 f_usEchoMemIndex
188
UINT32 Oct6100ApiReleaseChanPlayoutResources (
189
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
190
IN OUT tPOCT6100_BUFFER_PLAYOUT_STOP f_pBufferPlayoutStop,
191
IN UINT32 f_ulChannelIndex );
193
UINT32 Oct6100ApiReserveBufPlayoutListEntry(
194
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
195
OUT PUINT32 f_pulBufIndex );
197
UINT32 Oct6100ApiReleaseBufPlayoutListEntry(
198
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
199
IN UINT32 f_ulBufIndex );
201
#endif /* __OCT6100_PLAYOUT_BUF_PRIV_H__ */